aboutsummaryrefslogtreecommitdiff
path: root/sword2/build_display.h
diff options
context:
space:
mode:
authorTorbjörn Andersson2005-02-27 16:11:19 +0000
committerTorbjörn Andersson2005-02-27 16:11:19 +0000
commita5356edb369de3dad0966b6308bb693e4f857069 (patch)
tree27c347a1390cfea4530e6e5876eda3f9c1131ab5 /sword2/build_display.h
parent0d8a49de37f62eb1906896e0f6d761ef18a8b342 (diff)
downloadscummvm-rg350-a5356edb369de3dad0966b6308bb693e4f857069.tar.gz
scummvm-rg350-a5356edb369de3dad0966b6308bb693e4f857069.tar.bz2
scummvm-rg350-a5356edb369de3dad0966b6308bb693e4f857069.zip
Got rid of all the .h files but one in the 'driver' directory. They were
either very small or, in the case of driver96.h, a disorganized jumbles. svn-id: r16952
Diffstat (limited to 'sword2/build_display.h')
-rw-r--r--sword2/build_display.h73
1 files changed, 65 insertions, 8 deletions
diff --git a/sword2/build_display.h b/sword2/build_display.h
index 2b3bc0c6d6..4259b4360e 100644
--- a/sword2/build_display.h
+++ b/sword2/build_display.h
@@ -37,6 +37,10 @@
#define BLOCKHEIGHT 64
#define MAXLAYERS 5
+#define MENUDEEP 40
+#define RENDERWIDE 640
+#define RENDERDEEP (480 - (MENUDEEP * 2))
+
// Maximum scaled size of a sprite
#define SCALE_MAXWIDTH 512
#define SCALE_MAXHEIGHT 512
@@ -47,10 +51,57 @@
namespace Sword2 {
+class Sword2Engine;
+
struct ObjectMouse;
struct ObjectGraphic;
struct ObjectMega;
+// Sprite defines
+
+enum {
+ // This is the low byte part of the sprite type.
+
+ RDSPR_TRANS = 0x0001,
+ RDSPR_BLEND = 0x0004,
+ RDSPR_FLIP = 0x0008,
+ RDSPR_SHADOW = 0x0010,
+ RDSPR_DISPLAYALIGN = 0x0020,
+ RDSPR_NOCOMPRESSION = 0x0040,
+ RDSPR_EDGEBLEND = 0x0080, // Unused
+
+ // This is the high byte part of the sprite type, which defines what
+ // type of compression is used. Unless RDSPR_NOCOMPRESSION is set.
+
+ RDSPR_RLE16 = 0x0000,
+ RDSPR_RLE256 = 0x0100,
+ RDSPR_RLE256FAST = 0x0200
+};
+
+// Fading defines
+
+enum {
+ RDFADE_NONE,
+ RDFADE_UP,
+ RDFADE_DOWN,
+ RDFADE_BLACK
+};
+
+// Palette defines
+
+enum {
+ RDPAL_FADE,
+ RDPAL_INSTANT
+};
+
+// Blitting FX defines
+
+enum {
+ RDBLTFX_SPRITEBLEND = 0x01,
+ RDBLTFX_SHADOWBLEND = 0x02,
+ RDBLTFX_EDGEBLEND = 0x04
+};
+
// Structure filled out by each object to register its graphic printing
// requrements
@@ -78,14 +129,6 @@ struct BuildUnit {
bool shadingFlag;
};
-enum {
- MOUSE_normal = 0, // normal in game
- MOUSE_menu = 1, // menu chooser
- MOUSE_drag = 2, // dragging luggage
- MOUSE_system_menu = 3, // system menu chooser
- MOUSE_holding = 4 // special
-};
-
struct ScreenInfo {
uint16 scroll_offset_x; // Position x
uint16 scroll_offset_y; // Position y
@@ -133,6 +176,20 @@ struct BlockSurface {
bool transparent;
};
+#if !defined(__GNUC__)
+ #pragma START_PACK_STRUCTS
+#endif
+
+struct Parallax {
+ uint16 w;
+ uint16 h;
+ uint32 offset[2]; // 2 is arbitrary
+} GCC_PACK;
+
+#if !defined(__GNUC__)
+ #pragma END_PACK_STRUCTS
+#endif
+
class Screen {
private:
Sword2Engine *_vm;