1 #ifndef BZ_GAME_SCENE_INTERNAL_H
2 #define BZ_GAME_SCENE_INTERNAL_H
4 #include <bz/game/scene.h>
6 #include <bz/collision/collision.h>
7 //#include <bz/fx/agent_simulation.h>
8 #include <bz/fx/particle_simulation.h>
9 #include <bz/game/tilemap.h>
10 #include <bz/gfx/draw_queue.h>
11 #include <bz/math/matrix.h>
12 #include <bz/types/identifier.h>
13 #include <sun/vm/vm.h>
19 struct BZScriptBindingMetadata
{
22 BZIdentifierHash layer
;
24 BZDrawQueueID drawQueue
;
32 typedef struct BZScriptBindingMetadata BZScriptBindingMetadata
;
34 typedef struct BZSceneLayer BZSceneLayer
;
35 typedef BZSceneLayer
* BZSceneLayerID
;
37 extern size_t bzGameGetSceneLayerCount(BZSceneID scene
);
38 extern BZSceneLayerID
bzGameGetSceneLayerAtIndex(BZSceneID scene
, size_t idx
);
40 extern BZParticleSimulationID
bzGameGetSceneLayerParticleSimulation2(BZSceneLayerID layer
); // FIXME, what do we want to do...
41 extern BZCollisionSpaceID
bzGameGetSceneLayerCollisionSpace2(BZSceneLayerID layer
);
43 extern BZTilemapID
bzGameGetSceneLayerTilemap(BZSceneID scene
, BZIdentifierHash layerIdentifierHash
);
44 extern BZDrawQueueID
bzGameGetSceneLayerDrawQueue(BZSceneID scene
, BZIdentifierHash layerIdentifierHash
);
45 extern BZParticleSimulationID
bzGameGetSceneLayerParticleSimulation(BZSceneID scene
, BZIdentifierHash layerIdentifierHash
);
46 extern BZCollisionSpaceID
bzGameGetSceneLayerCollisionSpace(BZSceneID scene
, BZIdentifierHash layerIdentifierHash
);
48 //extern BZAgentSimulationID bzGameGetAgentSimulation(BZSceneID scene);
50 extern BZAudioPlaybackEngineID
bzGameGetAudioPlaybackEngine(BZSceneID scene
);
52 extern void bzGameSceneSetTargetSceneIdentifier(BZSceneID scene
, const char *identifier
);
54 extern bool bzScriptingGetEnvironmentPublic(SVMOperand
*out
, BZSceneID scene
, BZIdentifierHash identifierHash
);
55 extern void bzScriptingSetEnvironmentPublic(BZSceneID scene
, BZIdentifierHash identifierHash
, SVMOperand value
);
57 extern void bzScriptingInitialiseMetadata(BZScriptBindingMetadata
*metadata
, BZActorID actor
, BZSceneID scene
, uint32_t uuid
);
59 extern uint8_t gSystemTicksPerSecond
;