aboutsummaryrefslogtreecommitdiff
path: root/sky/sky.h
diff options
context:
space:
mode:
authorRobert Göffringmann2003-05-14 22:33:39 +0000
committerRobert Göffringmann2003-05-14 22:33:39 +0000
commitd0e5d1f44c35bdcefaff60d3dd74d8256c3e3f5b (patch)
tree71bdd655f2be3a0d12f7eec96b223f1219a3e465 /sky/sky.h
parent5f7e8231ca0cadfb8da93dd75f7ac7665092dee7 (diff)
downloadscummvm-rg350-d0e5d1f44c35bdcefaff60d3dd74d8256c3e3f5b.tar.gz
scummvm-rg350-d0e5d1f44c35bdcefaff60d3dd74d8256c3e3f5b.tar.bz2
scummvm-rg350-d0e5d1f44c35bdcefaff60d3dd74d8256c3e3f5b.zip
restructured some things (mainly the screen routines), moved things out from SkyState. (not yet complete)
svn-id: r7516
Diffstat (limited to 'sky/sky.h')
-rw-r--r--sky/sky.h40
1 files changed, 7 insertions, 33 deletions
diff --git a/sky/sky.h b/sky/sky.h
index 78990ff3ab..8933dec726 100644
--- a/sky/sky.h
+++ b/sky/sky.h
@@ -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();