X-Forge Core 1.4.0 Guide
Next
Table of Contents
I.
Introduction
1.
Introduction
About X-Forge
About This Book
How to Read This Guide
Notation
Where to Get Help
X-Forge Marketing Material
Thanks
II.
Getting Started
2.
Platforms
Desktop Windows
Overview
Installing Visual C++ 6.0
Creating the First Project
Desktop windows differences
Where to go from Here?
Symbian
Overview
Installation
Working with the Symbian tools
X-Forge Examples
Troubleshooting
PocketPC
Overview
Installation
First Program
Tapwave Zodiac
Overview
Installation
Using Tapwave Tools
Tapwave Zodiac differences
Palmsim Notes
Troubleshooting
Linux
3.
Platform Independent
Introduction
The First Program
On Coding Conventions
Controls
More on XFcCore
2D Graphics
Audio
Compressed File Libraries
Variable Types
Printing
Profiling
More on File I/O
Alternate Ways of Using CFLs
String Functions
4.
Artists
Introduction
III.
Core (xfcore)
5.
Overview
Introduction
Application Framework
Graphics
Audio
File I/O
Controls
Memory and Resource Management
Network
Development Platform Requirements
Symbian Platforms
Microsoft PocketPC and Smartphone Platforms
Tapwave codename Helix
6.
Application Framework
Overview
Program Flow
xfcAppPref()
xfcAppInit()
The Uses-Interface
Application Class
Renderer Class
Controller Input Class
7.
File I/O
Overview
Standard File Access Calls
Opening Files
Closing Files
Seeking Inside a File
Reading Data
Writing Data
Renaming Files
Deleting Files
File Information
Checking If File Exists
Finding Files
Getting File Size
Getting Opened File Name
Data Serialization Extensions
Compressed File Library (CFL) Files
Understanding CFL
Getting a File at Once
Accessing Data Directly Inside a CFL File
Creating CFL Files at Runtime
8.
2D Graphics
Overview
Creating Surfaces
XFcGLSurface
XFcGLTexture
XFcGLResourceSurface
Getting Surface Information
Locking Surfaces
Blitting Surfaces
Color Keys
Basic Blitting
Blending
Transforms
2D Graphics Primitives
Filled Rectangles
Lines
RLE compressed sprites
XFcRLESprite
Using RLE compressed sprites
XFcGLSurfaceToolkit
Surface resampling
9.
3D Graphics
Overview
GL Device
Acquiring a GL Device
Setting the Viewport
Setting the Rendering Target
Clearing the Framebuffer
Matrices and Space Transforms
beginRender() and endRender()
States
Lights and Materials
Billboards
Custom Render Callback
Render to surface
Vertex Formats
Vertex Buffers
XFcGLVertexBuffer
Rendering Vertex Buffers
Custom Primitive
Triangle Info Buffers
XFcGLTriangleInfoBuffer
GL Device Info
XFcGLDeviceInfo
Changing Devices
Default Devices
GL Enumerations
10.
Audio
Overview
Initializing the Audio System
Audio Buffers
XFcAudioBuffer::create()
xfuLoadWav()
Generating Audio Data into an Audio Buffer
Audio Streams
XFcAudioStream
Audio Library
Playing Audio Buffers and Streams
Stopping and Pausing Audio Buffers and Streams
Changing Parameters on Audio Buffers and Streams
Explanation of Parameters
IV.
Utility Library (xfutil)
11.
X-Forge Utils
Introduction
XFuConfiguration
XFuConfigurationData
XFuFastRandom
XFuRandom
XFuParticleSystem
XFuPrinter
XFuRLESpritePrinter
XFuTokenizer
XFuXMPlayer
XFuFPSCount
XFuWavLoad
XFuVideoRecorder
12.
Multiplayer Games
Overview
Core Networking Concepts
The Network Interfaces
Multiplayer Logic The Bluetooth Way
The Two-player XFuBluetoothNetwork
The XFuBluetoothMultiNetwork
More On Bluetooth
The XFuInetNetwork
V.
Marketing Aids
13.
Marketing Aids
Introduction
Taking Screenshots
Double-Size Presentation Versions
Recording Videos
Frame-Rate Counters
VI.
Tools
14.
ThinGamaJig - Particle System Editor
Introduction
ThinGamaJig Features
File Menu
Util Menu
Running Particle System Information
Particle System Retrig
Scene Animation Play Controls
Multiple Particle System Controls
Edit Parameter Tab Area
Status Bar
Creating Particle Systems
Launch
Emitter
Emitter 2
Weight
Damping
Sprite
Texture
Blend
Scaling
Ticking
15.
CFL Creation Utility
Overview
Creating a CFL file
Using a CFL file from an X-Forge application
16.
Profile Analyzer
17.
GL Profile Analyzer
Overview
Binary log format
GLProfileAnalyzer output
18.
XFF Dependency Tool
Overview
Using XFFDepTool
19.
XFFExp - 3D Studio MAX exporter
Introduction
Installation
Configuration screen
Group
Particle System
Material Settings
Node attributes
X-Forge engine reserved words
Common Problems
VII.
Core Examples
20.
Core Examples
Overview
File Listing
21.
StuntPlane
Overview
Implementation
The main application class
MenuScreen and GameScreen
Levels
The Plane Model
Sprites
Gameplay
22.
XFF Player
Introduction
Principal classes
XFFPlayer
Gamegraph
Node
Group
Mesh
Material
PRSAnimation
23.
Multiplayer Example
Introduction
About XFuBluetoothMultiNetwork
Game Flow
Session Initialization
The Gameplay
Ending a Game
Class Overview
VIII.
Appendices
A.
API Reference
B.
XFF File Format
Overview
Type Definitions
Common Header
Chunk Types
Chunk Format Definitions
Group
Geometry
Mesh
Camera
Light
Helper
Particle System
Sprite
Sound Source
Microphone
Collider
Vertex Buffer
Face List
Triangle Info Buffer
Material
Texture
PRS Animation Group
Loader
Spring
Node attribute
C.
ARM Assembler Tutorial
Register Overview
Register Explanations
Link Register
Subroutine Calls
Syntax
In Practice
Immediate Values
Instruction Timings
Compares with Branches
D.
Fathammer Code Conventions & Guidelines
Next
Part I. Introduction
X-Forge Documentation
Confidential
Copyright © 2003 Fathammer