26 #include "common/scummsys.h" 27 #include "sky/skydefs.h" 28 #include "sky/struc.h" 30 #include "graphics/surface.h" 44 struct DataFileHeader;
47 #define SCROLL_JUMP 16 48 #define VGA_COLORS 256 49 #define GAME_COLORS 240 53 #define NUM_INV_ANIMS 44 // unique textures 54 #define NUM_INV_ICONS 20 // (max) number of on-screen items 55 #define NUM_PROXIMITY_ICONS 16 // (max) number of proximity icons 78 extern const int invIconId[];
84 void setPalette(uint8 *pal);
85 void setPaletteEndian(uint8 *pal);
86 void setPalette(uint16 fileNum);
87 void paletteFadeUp(uint8 *pal);
88 void paletteFadeUp(uint16 fileNr);
90 void showScreen(uint16 fileNum,
bool fullscreen =
false);
91 void showScreen(uint8 *pScreen,
bool fullscreen =
false);
94 void startSequence(uint16 fileNum);
95 void startSequenceItem(uint16 itemNum);
97 bool sequenceRunning() {
return _seqInfo.running; }
98 void processSequence();
99 void waitForSequence();
100 uint32 seqFramesLeft() {
return _seqInfo.framesLeft; }
101 uint8 *giveCurrent() {
return _currentScreen; }
105 void forceRefresh() { memset(_gameGrid, 0x80, GRID_X * GRID_Y); }
106 void fnFadeUp(uint32 palNum, uint32 scroll);
107 void fnFadeDown(uint32 scroll);
108 void fnDrawScreen(uint32 palette, uint32 scroll);
109 void clearScreen(
bool fullscreen =
false);
113 void flip(
bool doUpdate =
true);
117 void paintBox(uint16 x, uint16 y);
118 void showGrid(uint8 *gridBuf);
121 void renderFinalFrame();
122 void renderControlPanel(uint8 *buffer);
123 void update32BitScreen(uint8 *overrideBuffer);
124 Icon _uiIcon[NUM_UI_ICONS];
125 Icon _proximityIcon[NUM_PROXIMITY_ICONS];
126 Icon _invIcon[NUM_INV_ICONS];
129 void setIcon(
int idx,
int x,
int y);
130 void drawIbassIcon();
131 void drawIbassInventory();
132 void initIbassIcon(
int idx,
const char *filename);
133 void clearIbassIcon(
int idx,
bool fade);
134 void clearAllIbassIcons(
bool fade);
138 void addInvIcon(
int frame,
int x,
int y,
bool highlighted =
false);
139 void showInventory(
int x1,
int y1,
int x2,
int y2);
140 void hideInventory(
void);
141 void clearAllInvIcons();
142 int getInventoryAnimIdx(
int frame);
144 void setProximityIcon(
int idx,
int x,
int y,
float alpha,
int frame);
145 void clearAllProximityIcons(
bool fade =
true);
146 void clearProximityIcon(
int idx,
bool fade =
true);
147 void setProximityNotAnimate(
int idx);
149 void setDragIcon(
int frame,
bool highlighted =
false);
150 void clearDragIcon();
151 void setDragIconHighlight(
bool highlighted);
169 static uint8 _top16Colors[16 * 3];
170 uint8 _palette[VGA_COLORS * 3];
171 uint32 _currentPalette;
172 uint8 _seqGrid[20 * 12];
177 uint8 *_currentScreen;
178 uint8 *_scrollScreen;
184 volatile bool running;
189 void convertPalette(uint8 *inPal, uint8* outPal);
190 void palette_fadedown_helper(uint8 *pal, uint num);
194 uint32 _sprWidth, _sprHeight, _sprX, _sprY, _maskX1, _maskX2;
195 void doSprites(uint8 layer);
197 void drawSprite(uint8 *spriteData,
Compact *sprCompact);
199 void vertMaskSub(uint16 *grid, uint32 gridOfs, uint8 *screenPtr, uint32 layerId);
200 void vectorToGame(uint8 gridVal);
Definition: algorithm.h:29
Definition: autoroute.h:28