diff options
author | Gregory Montoir | 2003-10-04 11:39:53 +0000 |
---|---|---|
committer | Gregory Montoir | 2003-10-04 11:39:53 +0000 |
commit | 91da08e1f3f836442c9c2ff39a9d1570f49df24d (patch) | |
tree | 3d8b31ae3be787394cef7a2a26c671eb371a4252 | |
parent | 3c627375b8e6ad237e2d787618802652510f655c (diff) | |
download | scummvm-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.h | 10 | ||||
-rw-r--r-- | queen/logic.h | 27 | ||||
-rw-r--r-- | queen/structs.h | 99 |
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 |