aboutsummaryrefslogtreecommitdiff
path: root/engines/hopkins/graphics.h
diff options
context:
space:
mode:
authorPaul Gilbert2012-09-09 19:55:05 +1000
committerPaul Gilbert2012-09-09 19:55:05 +1000
commit97e84b2169e8f3084e568776b1a9561a2df6878e (patch)
treee70cab3661314615ab0b123ef6654f18e7cc954f /engines/hopkins/graphics.h
parent42a09f00b336ce3405ff7558719f07e6f15326aa (diff)
downloadscummvm-rg350-97e84b2169e8f3084e568776b1a9561a2df6878e.tar.gz
scummvm-rg350-97e84b2169e8f3084e568776b1a9561a2df6878e.tar.bz2
scummvm-rg350-97e84b2169e8f3084e568776b1a9561a2df6878e.zip
HOPKINS: Implemented image loading code
Diffstat (limited to 'engines/hopkins/graphics.h')
-rw-r--r--engines/hopkins/graphics.h64
1 files changed, 49 insertions, 15 deletions
diff --git a/engines/hopkins/graphics.h b/engines/hopkins/graphics.h
index 18cb44254e..e6d56575f5 100644
--- a/engines/hopkins/graphics.h
+++ b/engines/hopkins/graphics.h
@@ -30,28 +30,17 @@
namespace Hopkins {
+#define PALETTE_SIZE 256
+
struct RGB8 {
byte r;
byte g;
byte b;
};
-class ObjectManager {
-public:
- static byte *CHANGE_OBJET(int objIndex);
- static byte *CAPTURE_OBJET(int objIndex, int mode);
-
- static int Get_Largeur(const byte *objectData, int objIndex);
- static int Get_Hauteur(const byte *objectData, int objIndex);
- static int sprite_alone(const byte *objectData, byte *sprite, int objIndex);
- static byte *DEL_FICHIER_OBJ();
-
- static byte *CHARGE_SPRITE(const Common::String &file);
- static int capture_mem_sprite(const byte *objectData, byte *sprite, int objIndex);
- static int AJOUTE_OBJET(int objIndex);
-};
-
class GraphicsManager {
+private:
+ void CHARGE_ECRAN(const Common::String &file);
public:
bool SDL_MODEYES;
int SDL_ECHELLE;
@@ -62,9 +51,26 @@ public:
byte SD_PIXELS[514];
byte *PAL_PIXELS;
int nbrligne;
+ byte TABLE_COUL[256];
RGB8 cmap[256];
+ byte Palette[PALETTE_SIZE * 3];
bool Linear;
Graphics::Surface *VideoPtr;
+ Graphics::Surface VESA_SCREEN;
+ Graphics::Surface VESA_BUFFER;
+ int start_x;
+ int ofscroll;
+ int SCROLL;
+ byte HEADER_PCX[128];
+ int PCX_L, PCX_H;
+ bool DOUBLE_ECRAN;
+ int OLD_SCROLL;
+ int MANU_SCROLL;
+ int SPEED_SCROLL;
+ int nbrligne2;
+ int Agr_x, Agr_y;
+ int Agr_Flag_x, Agr_Flag_y;
+
public:
GraphicsManager();
~GraphicsManager();
@@ -73,6 +79,34 @@ public:
void DD_Lock();
void DD_Unlock();
void Cls_Video();
+ void LOAD_IMAGE(const Common::String &file);
+ void INIT_TABLE(int a1, int a2, byte *a3);
+ int SCROLL_ECRAN(int amount);
+ void Trans_bloc(byte *destP, byte *srcP, int count, int param1, int param2);
+ void A_PCXSCREEN_WIDTH_SCREEN_HEIGHT(byte *surface, const Common::String &file, byte *palette, bool typeFlag);
+ void Cls_Pal();
+ void souris_max();
+ void SCANLINE(int width);
+ void m_scroll(const byte *surface, int xs, int ys, int width, int height, int destX, int destY);
+ void m_scroll2(const byte *surface, int xs, int ys, int width, int height, int destX, int destY);
+ void m_scroll2A(const byte *surface, int xs, int ys, int width, int height, int destX, int destY);
+ void m_scroll16(const byte *surface, int xs, int ys, int width, int height, int destX, int destY);
+ void m_scroll16A(const byte *surface, int xs, int ys, int width, int height, int destX, int destY);
+};
+
+class ObjectManager {
+public:
+ static byte *CHANGE_OBJET(int objIndex);
+ static byte *CAPTURE_OBJET(int objIndex, int mode);
+
+ static int Get_Largeur(const byte *objectData, int objIndex);
+ static int Get_Hauteur(const byte *objectData, int objIndex);
+ static int sprite_alone(const byte *objectData, byte *sprite, int objIndex);
+ static byte *DEL_FICHIER_OBJ();
+
+ static byte *CHARGE_SPRITE(const Common::String &file);
+ static int capture_mem_sprite(const byte *objectData, byte *sprite, int objIndex);
+ static int AJOUTE_OBJET(int objIndex);
};
} // End of namespace Hopkins