diff options
Diffstat (limited to 'sky/sky.h')
-rw-r--r-- | sky/sky.h | 40 |
1 files changed, 7 insertions, 33 deletions
@@ -32,6 +32,7 @@ #include "sky/disk.h" #include "sky/struc.h" #include "sky/grid.h" +#include "sky/screen.h" #include "sky/musicbase.h" #include "sky/adlibmusic.h" #include "sky/gmmusic.h" @@ -41,6 +42,7 @@ class SkyLogic; class SkyGrid; class SkyAutoRoute; +class SkyScreen; class SkyState : public Engine { void errorString(const char *buf_input, char *buf_output); @@ -49,19 +51,8 @@ protected: uint32 _gameVersion; byte _key_pressed; - uint32 _tseqFrames; - byte *_tseqData; - uint32 _tseqCounter; - //intro related - uint8 *_vgaData; - uint8 *_diffData; - uint8 *_workBase; - uint8 *_workScreenEnd; - uint8 *_vgaPointer; - uint8 *_diffPointer; - uint32 _noFrames; //number of frames in scrolling intro - uint32 _frameCounter; + byte *_introTextSpace; byte *_introTextSave; @@ -73,8 +64,6 @@ protected: bool _mouse_pos_changed; uint _left_button_down; - uint8 _palette[1024]; - int _numScreenUpdates; Timer *_timer; @@ -92,17 +81,11 @@ protected: SkyGrid *_skyGrid; SkyLogic *_skyLogic; SkyMouse *_skyMouse; + SkyScreen *_skyScreen; SkyMusicBase *_skyMusic; GameDetector *_detector; // necessary for music - byte *_workScreen; - byte *_backScreen; - byte *_tempPal; - byte *_workPalette; - byte *_halfPalette; - byte *_scrollAddr; - public: SkyState(GameDetector *detector, OSystem *syst); virtual ~SkyState(); @@ -127,30 +110,21 @@ protected: void delay(uint amount); void pollMouseXY(); void go(); - void convertPalette(uint8 *inpal, uint8* outpal); //intro related void checkCommands(uint32 *&cmdPtr); - void introFrame(); + void introFrame(uint8 **diffPtr, uint8 **vgaPtr, uint8 *screenData); SkyText *getSkyText(); void initialise(); - void initTimer(); - void initialiseScreen(); - void initialiseGrids(); void initItemList(); - void setPalette(uint8 *pal); - void fnFadeDown(uint8 action); - void palette_fadedown_helper(uint32 *pal, uint num); - void paletteFadeUp(uint8 *pal); - void palette_fadeup_helper(uint32 *realPal, uint32 *desiredPal, int num); + void initVirgin(); void intro(); void doCDIntro(); - void showScreen(); void startTimerSequence(byte *sequence); static void timerHandler(void *ptr); - void doTimerSequence(); + void gotTimerTick(); void loadFixedItems(); void loadBase0(); |