22#ifndef FREESCAPE_CASTLE_H
23#define FREESCAPE_CASTLE_H
29 int messages, riddles, colorCycling, fonts, palettes, soundTable, areaDB;
30 int area255, border, mountains, menu, menuButtons, spiritMeterBg, spiritMeter;
31 int indicators, thunder, weights, bar, eyeIcons, flag, riddleMask, riddleTop;
32 int gatePixels, gateMask, mod, keys;
39 int messages, messageCount, riddles, colorCycling, fonts, palettes, areaDB;
40 int extraAreas, area255, border, mountains, spiritMeterBg, spiritMeter;
41 int thunder, weights, bar, gatePixels, gateMask, eyeIcons, flag;
42 int riddleMask, riddleTop, mod, soundTable, soundBank, keys;
78 void setAmigaCursor(
bool crosshair);
80 void beforeStarting()
override;
82 void initGameState()
override;
83 bool triggerWinCondition()
override;
84 void endGame()
override;
85 void executeEscapeCameraSequence();
87 void drawInfoMenu()
override;
88 void loadAssets()
override;
89 void loadAssetsDOSFullGame()
override;
90 void loadAssetsDOSDemo()
override;
91 void loadAssetsDOSDemoCGA();
92 void loadAssetsAmigaDemo()
override;
93 void loadAssetsAmigaFullGame()
override;
94 void loadAssetsAtariFullGame()
override;
95 void loadAssetsZXFullGame()
override;
96 void loadAssetsCPCFullGame()
override;
98 void borderScreen()
override;
99 void selectCharacterScreen();
100 bool playAmigaIntro();
101 bool playAtariIntro();
109 void loadAssetsC64FullGame()
override;
112 void toggleC64AudioMode();
113 void updateC64SpiritPalette();
114 void updateC64BackgroundPalette();
115 void resetC64Lightning();
116 void updateC64Lightning();
117 void drawC64Background();
128 int _c64LiftingGateStartTicks;
129 bool _c64MusicEnabled;
130 byte _c64SpiritAttackColors[2];
131 int _c64SpiritAttackStartTicks;
132 int _c64NextLightningTicks;
133 int _c64LightningPhase;
134 int _c64LightningPhaseTicks;
145 void pressedKey(
const int keycode)
override;
146 void releasedKey(
const int keycode)
override;
147 void checkSensors()
override;
148 void updateTimeVariables()
override;
149 void drawBackground()
override;
151 bool checkIfGameEnded()
override;
152 void drawSensorShoot(
Sensor *sensor)
override;
157 void gotoArea(uint16 areaID,
int entranceID)
override;
193 void updateThunderFramesPalette();
228 uint32 _cpcUIPalette[4];
232 void updateCPCSpritesPalette();
233 void updateCGASpritesPalette();
234 void updateCGAPalette(
const byte *palette);
235 void updateFourColorSpritesPalette(
const byte *palette);
249 int _spiritsMeterPosition;
250 int _spiritsMeterMax;
254 int _soundIndexStartFalling;
255 bool _selectedPrincess;
260 void loadAtariLoadingScreen();
265 void drawFullscreenRiddleAndWait(uint16 riddle);
266 void drawFullscreenEndGameAndWait();
267 void drawFullscreenAmigaEndGameAndWait();
268 void drawFullscreenGameOverAndWait();
269 void drawRiddle(uint16 riddle, uint32 front, uint32 back,
Graphics::Surface *surface);
270 void tryToCollectKey();
274 void updateThunder();
279 int _droppingGateStartTicks;
281 int _thunderFrameDuration;
282 int _thunderFrameIndex;
283 Math::Vector3d _thunderOffset;
Definition: bitarray.h:29
Definition: instruction.h:49
Definition: freescape.h:191
Definition: managed_surface.h:51
Definition: advancedDetector.h:164