diff options
author | Paul Gilbert | 2012-09-09 19:55:05 +1000 |
---|---|---|
committer | Paul Gilbert | 2012-09-09 19:55:05 +1000 |
commit | 97e84b2169e8f3084e568776b1a9561a2df6878e (patch) | |
tree | e70cab3661314615ab0b123ef6654f18e7cc954f /engines/hopkins/graphics.h | |
parent | 42a09f00b336ce3405ff7558719f07e6f15326aa (diff) | |
download | scummvm-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.h | 64 |
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 |