aboutsummaryrefslogtreecommitdiff
path: root/engines/kyra/screen_lol.h
diff options
context:
space:
mode:
authorFlorian Kagerer2009-04-25 13:15:05 +0000
committerFlorian Kagerer2009-04-25 13:15:05 +0000
commitccb64ad81e6c56eaa2350197f964d470d8610ed9 (patch)
tree308379b40196a5a934c2161bdaa28673a007940f /engines/kyra/screen_lol.h
parentf1893d8f25b8f4fc5f6ed48e61dec0c2050bd567 (diff)
downloadscummvm-rg350-ccb64ad81e6c56eaa2350197f964d470d8610ed9.tar.gz
scummvm-rg350-ccb64ad81e6c56eaa2350197f964d470d8610ed9.tar.bz2
scummvm-rg350-ccb64ad81e6c56eaa2350197f964d470d8610ed9.zip
LOL: - Started implementing the fighting system. The damage inflicted is wrong, however (at least the damage inflicted by the monsters). I'm sowewhat clueless about that bug atm.
- added support for monsters with distance attacks (like those orcs in front of roland's house) - lots of small bug fixes - Some startup support for the pc-98 16 color version. The intro will run, but the font drawing/coloring is still wrong. svn-id: r40144
Diffstat (limited to 'engines/kyra/screen_lol.h')
-rw-r--r--engines/kyra/screen_lol.h39
1 files changed, 21 insertions, 18 deletions
diff --git a/engines/kyra/screen_lol.h b/engines/kyra/screen_lol.h
index 30567ee808..d7580e1ff8 100644
--- a/engines/kyra/screen_lol.h
+++ b/engines/kyra/screen_lol.h
@@ -39,6 +39,8 @@ public:
Screen_LoL(LoLEngine *vm, OSystem *system);
~Screen_LoL();
+ bool init();
+
void setScreenDim(int dim);
const ScreenDim *getScreenDim(int dim);
int curDimIndex() { return _curDimIndex; }
@@ -60,11 +62,6 @@ public:
void smoothScrollTurnStep2(int srcPage1Num, int srcPage2Num, int dstPageNum);
void smoothScrollTurnStep3(int srcPage1Num, int srcPage2Num, int dstPageNum);
- // magic atlas
- // This method basically works like copyRegion, but the pixels
- // copied also have a palette overlay applied to them.
- void copyBlockSpecial(int page1, int x1, int y1, int page2, int x2, int y2, int w, int h, int dim, uint8 *ovl);
-
// palette stuff
void fadeToBlack(int delay=0x54, const UpdateFunctor *upFunc = 0);
void loadSpecialColours(uint8 *destPalette);
@@ -75,6 +72,9 @@ public:
uint8 *generateLevelOverlay(const uint8 *srcPal, uint8 *ovl, int opColor, int weight);
uint8 *getLevelOverlay(int index) { return _levelOverlays[index]; }
+ void copyBlockSpecial(int page1, int x1, int y1, int page2, int x2, int y2, int w, int h, int dim, uint8 *ovl);
+ void applyOverlaySpecial(int page1, int x1, int y1, int page2, int x2, int y2, int w, int h, int dim, int flag, uint8 *ovl);
+
uint8 getShapePaletteSize(const uint8 *shp);
uint8 *_paletteOverlay1;
@@ -85,9 +85,12 @@ public:
private:
LoLEngine *_vm;
- static const ScreenDim _screenDimTable[];
+ const ScreenDim *_screenDimTable;
static const int _screenDimTableCount;
+ static const ScreenDim _screenDimTable256C[];
+ static const ScreenDim _screenDimTable16C[];
+
ScreenDim **_customDimTable;
int _curDimIndex;
@@ -96,18 +99,18 @@ private:
// magic atlas
void calcMapBoundaries(int dstX, int dstY, int c, int d);
- int _mapDimX;
- int _mapDimY;
- int _mapDimW;
- int _mapDimH;
- int _mapDimDstX;
- int _mapBlockWidth;
- int _mapDimDstY;
- int _mapBlockHeight;
- int _mapDimU5;
- int _mapDimU6;
- int _mapBlockWidth2;
- int _mapDimU8;
+ int _internDimX;
+ int _internDimY;
+ int _internDimW;
+ int _internDimH;
+ int _internDimDstX;
+ int _internBlockWidth;
+ int _internDimDstY;
+ int _internBlockHeight;
+ int _internDimU5;
+ int _internDimU6;
+ int _internBlockWidth2;
+ int _internDimU8;
};
} // end of namespace Kyra