Subversion Repositories plumbers

Compare Revisions

Regard whitespace Rev 1 → Rev 2

/trunk/FileFormat/C/plumbers.h
0,0 → 1,48
#ifndef PLUMBERS_GAMESTRUCT_HEADER
#define PLUMBERS_GAMESTRUCT_HEADER
 
#include <stdint.h>
 
#define SCENEID_PREVDECISION 32767
#define SCENEID_ENDGAME -1
 
struct _coord {
int16_t x;
int16_t y;
};
 
struct _actionDef {
int32_t scoreDelta;
int16_t nextSceneID; // will jump to the scene with the name "SC<nextSceneID>"
// 7FFF (32767) = end game
// FFFF ( -1) = go back to the last decision
int16_t sceneSegment; // 0 = scene from beginning, 1 = decision page
_coord cHotspotTopLeft;
_coord cHotspotBottomRigh;
};
 
struct _sceneDef {
int16_t numPics;
int16_t pictureIndex;
int16_t numActions;
char szSceneFolder[14]; // Foldername *must* be "SCxx" (case sensitive) where xx stands for a 2 digit ID
char szDialogWav[14];
char szDecisionBmp[14];
_actionDef actions[3];
};
 
struct _pictureDef {
int16_t duration; // deciseconds
char szBitmapFile[14];
};
 
struct _gameBinFile {
int16_t unknown1[7];
int16_t numScenes;
int16_t numPics;
int16_t unknown2[2];
_sceneDef scenes[100]; // Scenes start at file position 0x0016
_pictureDef pictures[2000]; // Pictures start at file position 0x2596
};
 
#endif // PLUMBERS_GAMESTRUCT_HEADER