00001 00026 #ifndef SCENE_H 00027 #define SCENE_H 00028 00029 #include "actor.h" 00030 00031 #define NUM_SCENES_ENTRIES 120 00032 #define NUM_SCENES NUM_SCENES_ENTRIES-1 00033 00034 #define NUM_MAX_ACTORS 100 00035 #define NUM_MAX_ZONES 100 00036 #define NUM_MAX_TRACKS 100 00037 00038 int needChangeScene; 00039 int currentSceneIdx; 00040 00041 unsigned char *spriteBoundingBoxPtr; 00042 00043 int currentGameOverScene; 00044 int alphaLight; 00045 int betaLight; 00046 00047 typedef struct SceneSamplesStruct 00048 { 00049 short int info0; 00050 short int info1; 00051 short int info2; 00052 short int info3; 00053 } SceneSamplesStruct; 00054 00055 SceneSamplesStruct sampleAmbience; 00056 SceneSamplesStruct sampleRepeat; 00057 SceneSamplesStruct sampleRound; 00058 00059 short int sampleMinDelay; 00060 short int sampleMinDelayRnd; 00061 short int sceneMusic; 00062 00063 short int sceneHeroX; 00064 short int sceneHeroY; 00065 short int sceneHeroZ; 00066 00067 // ACTORS 00068 int sceneNumActors; 00069 ActorStruct sceneActors[NUM_MAX_ACTORS]; 00070 ActorStruct *sceneHero; 00071 00072 // ZONES 00073 00074 typedef struct ScenePoint 00075 { 00076 short int X; 00077 short int Y; 00078 short int Z; 00079 } ScenePoint; 00080 00081 typedef struct ZoneBox 00082 { 00083 ScenePoint bottomLeft; 00084 ScenePoint topRight; 00085 short int type; 00086 short int info0; 00087 short int info1; 00088 short int info2; 00089 short int info3; 00090 short int snap; 00091 union 00092 { 00093 struct 00094 { 00095 short int newRoomNumber; 00096 short int positionX; 00097 short int positionY; 00098 short int positionZ; 00099 } ChangeRoom; 00100 struct 00101 { 00102 short int dummy; 00103 short int newCameraX; 00104 short int newCameraY; 00105 short int newCameraZ; 00106 } ForceCamera; 00107 struct 00108 { 00109 short int zoneNumber; 00110 } SetActorZone; 00111 struct 00112 { 00113 short int newGrid; 00114 } PatchGrid; 00115 struct 00116 { 00117 short int textIndex; 00118 short int textColor; 00119 } DisplayText; 00120 } infoData; 00121 } ZoneBox; 00122 00123 int sceneNumZones; 00124 ZoneBox sceneZones[NUM_MAX_ZONES]; 00125 00126 00127 // TRACKS 00128 00129 int sceneNumTracks; 00130 ScenePoint sceneTracks[NUM_MAX_TRACKS]; 00131 00132 00133 // TODO: check what is this 00134 short int changeRoomVar10; 00135 00136 void change_scene(); 00137 00138 #endif
1.5.5