aboutsummaryrefslogtreecommitdiff
path: root/sky/struc.h
diff options
context:
space:
mode:
Diffstat (limited to 'sky/struc.h')
-rw-r--r--sky/struc.h184
1 files changed, 89 insertions, 95 deletions
diff --git a/sky/struc.h b/sky/struc.h
index fb8eddd540..29e57e802f 100644
--- a/sky/struc.h
+++ b/sky/struc.h
@@ -54,125 +54,119 @@ struct dataFileHeader {
uint16 s_compressed_size;
} GCC_PACK;
-#if !defined(__GNUC__)
-#pragma END_PACK_STRUCTS
-#endif
-
-struct GrafixPtr { // replacement for old grafixProg pointer. More savegame compatible.
- uint8 ptrType; // ptr to autoroute / to compact / to turntable
- uint16 ptrTarget; // compact / turntable number
- uint16 pos; // position
-};
-
struct TurnTable {
- uint16 *turnTableUp[5];
- uint16 *turnTableDown[5];
- uint16 *turnTableLeft[5];
- uint16 *turnTableRight[5];
- uint16 *turnTableTalk[5];
-};
+ uint16 turnTableUp[5];
+ uint16 turnTableDown[5];
+ uint16 turnTableLeft[5];
+ uint16 turnTableRight[5];
+ uint16 turnTableTalk[5];
+} GCC_PACK;
struct MegaSet {
- uint16 gridWidth;
- uint16 colOffset;
- uint16 colWidth;
- uint16 lastChr;
-
- uint16 *animUp;
- uint16 *animDown;
- uint16 *animLeft;
- uint16 *animRight;
-
- uint16 *standUp;
- uint16 *standDown;
- uint16 *standLeft;
- uint16 *standRight;
- uint16 *standTalk;
- TurnTable *turnTable;
-};
+ uint16 gridWidth; // 0
+ uint16 colOffset; // 1
+ uint16 colWidth; // 2
+ uint16 lastChr; // 3
+
+ uint16 animUpId; // 4
+ uint16 animDownId; // 5
+ uint16 animLeftId; // 6
+ uint16 animRightId; // 7
+
+ uint16 standUpId; // 8
+ uint16 standDownId; // 9
+ uint16 standLeftId; // 10
+ uint16 standRightId; // 11
+ uint16 standTalkId; // 12
+ uint16 turnTableId; // 13
+} GCC_PACK;
-struct ExtCompact {
- uint16 actionSub;
- uint16 actionSub_off;
- uint16 getToSub;
- uint16 getToSub_off;
- uint16 extraSub;
- uint16 extraSub_off;
+struct Compact {
+ uint16 logic; // 0: Entry in logic table to run (byte as <256entries in logic table
+ uint16 status; // 1
+ uint16 sync; // 2: flag sent to compacts by other things
- uint16 dir;
+ uint16 screen; // 3: current screen
+ uint16 place; // 4: so's this one
+ uint16 getToTableId; // 5: Address of how to get to things table
- uint16 stopScript;
- uint16 miniBump;
- uint16 leaving;
- uint16 atWatch; // pointer to script variable
- uint16 atWas; // pointer to script variable
- uint16 alt; // alternate script
- uint16 request;
+ uint16 xcood; // 6
+ uint16 ycood; // 7
- uint16 spWidth_xx;
- uint16 spColour;
- uint16 spTextId;
- uint16 spTime;
+ uint16 frame; // 8
- uint16 arAnimIndex;
- uint16 *turnProg;
+ uint16 cursorText; // 9
+ uint16 mouseOn; // 10
+ uint16 mouseOff; // 11
+ uint16 mouseClick; // 12
- uint16 waitingFor;
+ int16 mouseRelX; // 13
+ int16 mouseRelY; // 14
+ uint16 mouseSizeX; // 15
+ uint16 mouseSizeY; // 16
- uint16 arTargetX;
- uint16 arTargetY;
+ uint16 actionScript; // 17
- uint16 *animScratch; // data area for AR
+ uint16 upFlag; // 18: usually holds the Action Mode
+ uint16 downFlag; // 19: used for passing back
+ uint16 getToFlag; // 20: used by action script for get to attempts, also frame store (hence word)
+ uint16 flag; // 21: a use any time flag
- uint16 megaSet;
- MegaSet *megaSet0;
- MegaSet *megaSet1;
- MegaSet *megaSet2;
- MegaSet *megaSet3;
-};
+ uint16 mood; // 22: high level - stood or not
+
+ uint16 grafixProgId; // 23
+ uint16 grafixProgPos;// 24
-struct Compact {
- uint16 logic; // Entry in logic table to run (byte as <256entries in logic table
- uint16 status;
- uint16 sync; // flag sent to compacts by other things
+ uint16 offset; // 25
- uint16 screen; // current screen
- uint16 place; // so's this one
- uint16 *getToTable; // Address of how to get to things table
+ uint16 mode; // 26: which mcode block
- uint16 xcood;
- uint16 ycood;
+ uint16 baseSub; // 27: 1st mcode block relative to start of compact
+ uint16 baseSub_off; // 28
+ uint16 actionSub; // 29
+ uint16 actionSub_off;// 30
+ uint16 getToSub; // 31
+ uint16 getToSub_off; // 32
+ uint16 extraSub; // 33
+ uint16 extraSub_off; // 34
- uint16 frame;
+ uint16 dir; // 35
- uint16 cursorText;
- uint16 mouseOn;
- uint16 mouseOff;
- uint16 mouseClick; // dword script
+ uint16 stopScript; // 36
+ uint16 miniBump; // 37
+ uint16 leaving; // 38
+ uint16 atWatch; // 39: pointer to script variable
+ uint16 atWas; // 40: pointer to script variable
+ uint16 alt; // 41: alternate script
+ uint16 request; // 42
- int16 mouseRelX;
- int16 mouseRelY;
- uint16 mouseSizeX;
- uint16 mouseSizeY;
+ uint16 spWidth_xx; // 43
+ uint16 spColour; // 44
+ uint16 spTextId; // 45
+ uint16 spTime; // 46
- uint16 actionScript;
+ uint16 arAnimIndex; // 47
+ uint16 turnProgId; // 48
+ uint16 turnProgPos; // 49
- uint16 upFlag; // usually holds the Action Mode
- uint16 downFlag; // used for passing back
- uint16 getToFlag; // used by action script for get to attempts, also frame store (hence word)
- uint16 flag; // a use any time flag
+ uint16 waitingFor; // 50
- uint16 mood; // high level - stood or not
- GrafixPtr grafixProg;
- uint16 offset;
+ uint16 arTargetX; // 51
+ uint16 arTargetY; // 52
- uint16 mode; // which mcode block
+ uint16 animScratchId;// 53: data area for AR
- uint16 baseSub; // 1st mcode block relative to start of compact
- uint16 baseSub_off;
+ uint16 megaSet; // 54
- ExtCompact *extCompact;
-};
+ MegaSet megaSet0; // 55
+ MegaSet megaSet1; //
+ MegaSet megaSet2; //
+ MegaSet megaSet3; //
+} GCC_PACK;
+
+#if !defined(__GNUC__)
+#pragma END_PACK_STRUCTS
+#endif
} // End of namespace Sky