aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGregory Montoir2003-10-04 11:39:53 +0000
committerGregory Montoir2003-10-04 11:39:53 +0000
commit91da08e1f3f836442c9c2ff39a9d1570f49df24d (patch)
tree3d8b31ae3be787394cef7a2a26c671eb371a4252
parent3c627375b8e6ad237e2d787618802652510f655c (diff)
downloadscummvm-rg350-91da08e1f3f836442c9c2ff39a9d1570f49df24d.tar.gz
scummvm-rg350-91da08e1f3f836442c9c2ff39a9d1570f49df24d.tar.bz2
scummvm-rg350-91da08e1f3f836442c9c2ff39a9d1570f49df24d.zip
new header for common structs definitions
svn-id: r10591
-rw-r--r--queen/graphics.h10
-rw-r--r--queen/logic.h27
-rw-r--r--queen/structs.h99
3 files changed, 106 insertions, 30 deletions
diff --git a/queen/graphics.h b/queen/graphics.h
index 2b2d8a1a79..7cb84659e4 100644
--- a/queen/graphics.h
+++ b/queen/graphics.h
@@ -23,6 +23,7 @@
#define QUEENGRAPHICS_H
#include "queen/queen.h"
+#include "queen/structs.h"
namespace Queen {
@@ -40,15 +41,6 @@ struct BobFrame {
uint8 *data;
};
-// FIXME: share that with logic.h (ObjectData) ?
-struct Box {
- uint16 x1, y1, x2, y2;
-
- bool intersects(uint16 x, uint16 y, uint16 w, uint16 h) const {
- return (x + w > x1) && (y + h > y1) && (x <= x2) && (y <= y2);
- }
-};
-
struct BobSlot {
bool active;
diff --git a/queen/logic.h b/queen/logic.h
index 1ce226ad2b..cda7413507 100644
--- a/queen/logic.h
+++ b/queen/logic.h
@@ -23,25 +23,10 @@
#define QUEENLOGIC_H
#include "queen/queen.h"
+#include "queen/structs.h"
namespace Queen {
-struct GraphicData {
- uint16 x, y;
- int16 firstFrame, lastFrame;
- uint16 speed;
-};
-
-struct ObjectData {
- int16 name;
- uint16 x;
- uint16 y;
- uint16 description;
- int16 entryObj;
- uint16 room;
- int16 state;
- int16 image;
-};
enum {
FRAME_XTRA = 2
@@ -90,13 +75,13 @@ protected:
uint16 *_sfxName;
uint16 *_objMax;
uint16 *_areaMax;
- uint16 (*_objectBox)[4];
- uint16 (*_itemData)[5];
+ uint16 (*_objectBox)[4]; // FIXME: Box *_objectBox;
+ uint16 (*_itemData)[5]; // FIXME: ItemData *_itemData;
GraphicData *_graphicData;
ObjectData *_objectData;
- uint16 (*_actorData)[12];
- int16 (*_area)[11][8];
- uint16 (*_walkOffData)[3];
+ uint16 (*_actorData)[12]; // FIXME: ActorData *_actorData;
+ int16 (*_area)[11][8]; // FIXME: Area *_area[11];
+ uint16 (*_walkOffData)[3]; // FIXME: WalkOffData *_walkOffData;
enum {
GAME_STATE_COUNT = 211
diff --git a/queen/structs.h b/queen/structs.h
new file mode 100644
index 0000000000..5c39a5b726
--- /dev/null
+++ b/queen/structs.h
@@ -0,0 +1,99 @@
+/* ScummVM - Scumm Interpreter
+ * Copyright (C) 2003 The ScummVM project
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *
+ * $Header$
+ *
+ */
+
+#ifndef QUEENSTRUCTS_H
+#define QUEENSTRUCTS_H
+
+namespace Queen {
+
+
+struct Box {
+ uint16 x1, y1, x2, y2;
+
+ bool intersects(uint16 x, uint16 y, uint16 w, uint16 h) const {
+ return (x + w > x1) && (y + h > y1) && (x <= x2) && (y <= y2);
+ }
+};
+
+
+struct Area {
+ int16 mapNeighbours;
+ Box box;
+ uint16 bottomScaleFactor;
+ uint16 topScaleFactor;
+ uint16 object;
+};
+
+
+struct WalkOffData {
+ int16 entryobj;
+ uint16 x;
+ uint16 y;
+};
+
+
+struct GraphicData {
+ uint16 x, y;
+ int16 firstFrame, lastFrame;
+ uint16 speed;
+};
+
+
+struct ObjectData {
+ int16 name;
+ uint16 x;
+ uint16 y;
+ uint16 description;
+ int16 entryObj;
+ uint16 room;
+ int16 state;
+ int16 image;
+};
+
+
+struct ItemData {
+ int16 name;
+ int16 description;
+ int16 state;
+ uint16 bobFrame;
+ uint16 sfxDescription;
+};
+
+
+struct ActorData {
+ int16 room;
+ int16 bobNum;
+ uint16 name;
+ uint16 gameStateSlot;
+ uint16 gameStateValue;
+ uint16 color;
+ uint16 bobFrameStanding;
+ uint16 x;
+ uint16 y;
+ uint16 anim;
+ uint16 bankNum;
+ uint16 actorFile;
+};
+
+
+} // End of namespace Queen
+
+#endif