Project PLASMA FPS 2004: Thread 6

Blitz3D Forums/Blitz3D Programming/Project PLASMA FPS 2004: Thread 6

The forum is locked. These are the original blitzbasic.com forums, kept so they can still be read. No new topics, replies or edits can be made here. To join in, head over to the Blitz3D+ forums.

Game Objects

;--------------------------------------;
;Environment Game Objects
;--------------------------------------;
Type Map
	;Description: Creates a Map Level. The map is *.b3D Geometry that uses a Label Scheme to
	;locate geometry for both visual and virtual shapes.
	Field id% ;primary key unique for game
	Field file$ ;
	Field shape%
End Type

Type Interior
	;Description: Used to create a instance of a building Interior within a Map. The 
	;geometry for an interior is defined within the map file.
	Field id% ;primary key auto
	Field map%
	Field collision% ;collision flag
	Field transparent ;transparentflag
	Field LODs%
	Field shape[LOD_MAX%]% ;supports 8 levels of LOD
	Field zone% ;render/collision zone
	Field state%
End Type

Type SkyBox
	;Description: Used to create a Skybox. A Skybox geometry is defined
	;within a map. Only one skymap per map is supported. 
	Field map%
	Field shape%
	Field cloud1 ;Shape Layer handles for cloud textures
	Field cloud2
	Field cloud3
	Field background1 ;Shape Layer handles for background textures
	Field background2
	Field background3
	Field state%
End Type

Type WaterBlock
	;Description: Used to create a WaterBlock Game Object
	Field id%
	Field map%
	Field LODs%
	Field shape[LOD_MAX%]% ;supports 8 levels of LOD
	Field zone% ;render/collision zone	
	Field state%
End Type

Type Prop
	;Description: Used to create a Prop. Props are animated or moving objects that are used
	;strictly for scenery (ie rotating ceiling fans). There is usually no interactivity between them
	;and the player | bots. Prop geometry can be defined within a map or independently.
	Field id% ;primary key unique
	Field typeid%
	Field mapid% ; store map handle or mapid
	Field file$
	Field LODs%
	Field shape[LOD_MAX%]% ;supports 8 levels of LOD
	Field zone% ;render/collision zone
	Field state%
End Type

Type Platform
	;Description: Used to create moving platforms which can transport other game object standing
	;. atop of them. Platforms move along a  patterned path stored in the path object. Platforms can
	;move in at various speeds and can reverse direction by inverting the speed. Platform geometry is
	;defined in the map.
	Field id% ;uniqr
	Field typeid%
	Field LODs%
	Field shape[LOD_MAX%]% ;supports 8 levels of LOD
	Field zone% ;render/collision zone
	Field speed#
	Field path.path
	Field state%
End Type

Type Trigger
	;Description: Used to create Triggers. Triggers are virtual shapes that activate a action upon 
	; collision or timer. Triggers are used to create various forms of interactivity between the player 
	; and  the game world. Triggers can require a TriggerKey for activation.  If key is required the 
	;Player Or Bots Inventory is checked for its presents. Their geometry is define within a map.
	Field id% ; primary key unique per map
	Field typeid%
	Field mapid%
	Field shape%
	Field zone% ;render/collision zone
	Field activationtype%
	Field executiontype%
	Field duration%
	Field command$
	Field triggerkeyid%
	Field state%
	Field TBpoint#
End Type

Field TriggerKey
	;Description: Used to create a TriggerKey that is used to activate a Trigger.
	Field id% ;primary key unique per map
	Field triggerid ;foriegn key
	Field clientid% ;ownership
	Field inventoryid% ;a specified value stored in a Inventory List to represent the item.
	Field shape%
	Field zone% ;render/collision zone
	Field icon%
	Field state%
	Field TBpoint#
End Field

Type Warp
	;Description: Used to create Warp virtual shapes which influence gravity/force on Players, Bots, Props. 
	;Warps can be used to create vacuums, accelerators, ladders, anti-gravity fields.
	Field id%
	Field typeid%
	Field mapid%
	Field shape%
	Field zone% ;render/collision zone
	Field state%
End Field

Type Soundfield
	;Description: Creates 3D sound emitter. Soundfields are virtual shapes which emit 3D sound
	;
	Field id% ;
	Field mapid%
	Field typeid%
	Field sound%
	Field shape%
	Field zone% ;render/collision zone
	Field state%
End Function

Type Pow
	;Description
	;InventoryID = 	
	Field id%
	Field mapid%
	Field shape%
	Field zone% ;render/collision zone
	Field icon%
	Field state%
	Field TBpoint#
End Type

Type Terrain
	;Description: Used to create Terrain Geometry within a level. 
	;Terrains are independent from the map geometry however, they are 
	;are mounted to the maps 'terrain' pivot points.
	Field id%
	Field map%
	Field zone% ;render/collision zone
	Field file$	
	Field shape%
End Type

;--------------------------------------
;Player & AI Game Object
;--------------------------------------
Type Camera
	;Description: Defines Player Camera
	Field clientid% 
	Field typeid%
	Field camera% ;listener attached to camera
	Field position.vector[1]
	Field angle.vector[1]
	Field speed.vector
	Field hud%
	Field viewportx#
	Field viewporty#
	Field viewportwidth#
	Field viewportheight#
	Field near#
	Field far#
	Field fov#
	Field zoom#
	Field mount%
	Field zone% ;render/collision zone
	Field state%
End Type

Type Player 
	;Description: Creates a Player and Bot
	Field clientid%
	Field LODs%
	Field shape[LOD_MAX%]% ;supports 8 levels of LOD
	Field zone% ;render/collision zone
	Field state%
End Type

Type Inventory
	;Description: Player/Bot container for storing Weapons, Projectiles, Powerups
	Field id%
	Field clientid%
	Field count
	Field typeid%
	Field state%
End Type

Type Weapon
	;Description: 
	;InventoryID = 
	Field clientid%
	Field LODs%
	Field shape[LOD_MAX%]% ;supports 8 levels of LOD
	Field zone% ;render/collision zone
	Field projectileid%
	Field projectilemax%
	Field projectiles%
	Field animationload%
	Field animationfire%
	Field mount% 
	Field icon%
	Field state%
End Type

Type Projectile
	;Description: 
	;InventoryID = 
	Field LODs%
	Field shape[LOD_MAX%]% ;supports 8 levels of LOD ;single surface?
	Field zone% ;render/collision zone
	Field reactorflashid%
	Field reactorloadid%
	Field reactortravelid%
	Field reactorimpactid%
	Field reactorimpactdecalid%
	Field soundflashid%
	Field soundloadid%
	Field soundtravelid%
	Field soundimpactid%
	Field impactshape%
	Field impactsize.vector
	Field impacteffect%
	Field icon%
	Field TBpoint#
End Type

Type WayPoint
	;Description:
	Field id%
	Field typeid%
	Field parentid%
	Field position.vector
	Field e%	;properties used in pathfinding algorithms
	Field f%	;properties used in pathfinding algorithms
	Field g% 	;properties used in pathfinding algorithms
	Field h%	;properties used in pathfinding algorithms
	Field zone% ;render/collision zone
	Field state%
	Field TBpoint#
End Type

Type path
	;Description: Creates a path of waypoints used by Props, Platforms and Bots.
End Type

Type imagemap
End Type

;-------------------------------------
;Special FX Game Objects
;-------------------------------------
Type Reactor
	;Description: Creates a Reactor System. Reactors are used for Precipitation, fire/smoke/fog, decals, 
	Field texture%
	Field life%
	Field state%
End Type
 
Type ReactorEmitter
	;Description: 
	Field id%
	Field zone% ;render/collision zone
	Field typeid%
	Field fragments%
	Field life%
	Field state%
End Type

Type ReactorFragment
	;Description:
	Field reactorid%
	Field surface%
	Field vertex%
	Field life%
	Field state%
End Type

;LensFlare Effects - Single Surface Sprites
Type LensSource
	;Description: Lens Source
	Field id% ;primary key auto
	Field typeid%
	Field surface%
	Field vertex%
	Field lensflare1% ;texture
	Field lensflare2%
	Field lensflare3%
	Field zone% ;render/collision zone
End Type

Type LensFlare
	Field id%
	Field lenssourceid% ;foreign key
	Field typeid%
	Field surface%
	Field vertex%
	Field zone% ;render/collision zone
End Type 


I will modify this list as needed to preserve thread space.