aboutsummaryrefslogtreecommitdiff
path: root/queen
diff options
context:
space:
mode:
Diffstat (limited to 'queen')
-rw-r--r--queen/logic.cpp12
-rw-r--r--queen/structs.h71
2 files changed, 69 insertions, 14 deletions
diff --git a/queen/logic.cpp b/queen/logic.cpp
index 2310f31dfd..a018880772 100644
--- a/queen/logic.cpp
+++ b/queen/logic.cpp
@@ -107,10 +107,10 @@ void Logic::initialise() {
_numItems = READ_BE_UINT16(ptr);
ptr += 2;
- _itemData = new ItemData[_numItems + 1];
+ _itemData = new ItemData[_numItems + 1];
for (i = 1; i <= _numItems; i++) {
- _itemData[i].name = (int16)READ_BE_UINT16(ptr);
+ _itemData[i].item = (int16)READ_BE_UINT16(ptr);
ptr += 2;
_itemData[i].description = (int16)READ_BE_UINT16(ptr);
ptr += 2;
@@ -194,13 +194,13 @@ void Logic::initialise() {
_objectDescription = new ObjectDescription[_numObjDesc + 1];
for (i = 1; i <= _numObjDesc; i++) {
- _objectDescription[i].field1 = READ_BE_UINT16(ptr);
+ _objectDescription[i].object = READ_BE_UINT16(ptr);
ptr += 2;
- _objectDescription[i].field2 = READ_BE_UINT16(ptr);
+ _objectDescription[i].type = READ_BE_UINT16(ptr);
ptr += 2;
- _objectDescription[i].field3 = READ_BE_UINT16(ptr);
+ _objectDescription[i].lastDescription = READ_BE_UINT16(ptr);
ptr += 2;
- _objectDescription[i].field4 = READ_BE_UINT16(ptr);
+ _objectDescription[i].seenCount = READ_BE_UINT16(ptr);
ptr += 2;
}
diff --git a/queen/structs.h b/queen/structs.h
index 4a2ab25989..6add058d03 100644
--- a/queen/structs.h
+++ b/queen/structs.h
@@ -58,7 +58,7 @@ struct GraphicData {
struct ObjectData {
- int16 name;
+ int16 name; // FIXME: rename to 'object'
uint16 x;
uint16 y;
uint16 description;
@@ -70,15 +70,15 @@ struct ObjectData {
struct ObjectDescription {
- uint16 field1;
- uint16 field2;
- uint16 field3;
- uint16 field4;
+ uint16 object;
+ uint16 type; // see select.c l.75-101
+ uint16 lastDescription;
+ uint16 seenCount;
};
struct ItemData {
- int16 name;
+ int16 item;
int16 description;
int16 state;
uint16 bobFrame;
@@ -90,8 +90,8 @@ struct ActorData {
int16 room;
int16 bobNum;
uint16 name;
- uint16 gameStateSlot;
- uint16 gameStateValue;
+ int16 gameStateSlot;
+ int16 gameStateValue;
uint16 color;
uint16 bobFrameStanding;
uint16 x;
@@ -102,6 +102,61 @@ struct ActorData {
};
+struct CmdListData {
+ int16 verb;
+ int16 nounObj1;
+ int16 nounObj2;
+ bool setAreas;
+ bool setObjects;
+ bool setItems;
+ bool setConditions;
+ int16 image;
+ int16 specialSection; // see execute.c l.423-451
+};
+
+
+struct CmdArea {
+ int16 id;
+ int16 area; // <0: turn off, >0: turn on
+ int16 room;
+};
+
+
+struct CmdObject {
+ int16 id;
+ int16 dstObj; // >0: show, <0: hide
+ int16 srcObj; // >0: copy from srcObj, -1: delete dstObj
+};
+
+
+struct CmdInventory {
+ int16 id;
+ int16 dstItem; // <0 : delete, >0 : add
+ int16 srcItem; // >0 : valid
+};
+
+
+struct CmdGameState {
+ int16 id;
+ int16 gameStateSlot;
+ int16 gameStateValue;
+ int16 speakValue;
+};
+
+
+struct FurnitureData {
+ int16 room;
+ int16 gameStateValue;
+};
+
+
+struct GraphicAnim {
+ int16 frame1;
+ int16 frame2;
+ int16 frame3;
+};
+
+
} // End of namespace Queen
#endif