22 #include "common/file.h" 24 #include "freescape/music.h" 25 #include "freescape/sound.h" 29 class EclipseC64SFXPlayer;
31 enum EclipseReleaseFlags {
32 GF_ZX_DEMO_CRASH = (1 << 0),
33 GF_ZX_DEMO_MICROHOBBY = (1 << 1),
37 kVariableEclipse2SphinxParts = 1,
38 kVariableEclipseAnkhs = 32,
46 void gotoArea(uint16 areaID,
int entranceID)
override;
48 void borderScreen()
override;
49 void titleScreen()
override;
50 void drawInfoMenu()
override;
51 void drawIndicator(
Graphics::Surface *surface,
int xPosition,
int yPosition,
int separation);
53 void drawSensorShoot(
Sensor *sensor)
override;
55 void loadAssets()
override;
56 void loadAssetsDOSFullGame()
override;
57 void pressedKey(
const int keycode)
override;
58 void releasedKey(
const int keycode)
override;
60 uint32 _initialEnergy;
61 uint32 _initialShield;
63 int _soundIndexStartFalling;
64 int _soundIndexEndFalling;
69 int _lastThirtySeconds;
71 int _lastHeartbeatSoundTick;
72 int _lastHeartIndicatorFrame;
75 void updateTimeVariables()
override;
81 void initAmigaAtari();
83 void loadAssetsZXFullGame()
override;
84 void loadAssetsCPCFullGame()
override;
85 void loadAssetsC64FullGame()
override;
86 void loadAssetsAmigaFullGame()
override;
87 void loadAssetsAtariFullGame()
override;
88 void loadAssetsCPCDemo()
override;
89 void loadAssetsZXDemo()
override;
92 void initGameState()
override;
95 void drawBackground()
override;
101 void drawAnalogClock(
Graphics::Surface *surface,
int x,
int y, uint32 colorHand1, uint32 colorHand2, uint32 colorBack);
102 void drawAnalogClockHand(
Graphics::Surface *surface,
int x,
int y,
double degrees,
double magnitude, uint32 color);
103 void drawCompass(
Graphics::Surface *surface,
int x,
int y,
double degrees,
double magnitude, uint32 color);
104 int atariCompassPhaseFromRotationY(
float rotationY)
const;
105 int atariCompassTargetPhaseFromYaw(
float yaw,
int referencePhase)
const;
106 bool isAtariDarkArea(uint16 areaID)
const;
107 void onRotate(
float xoffset,
float yoffset,
float zoffset)
override;
108 void drawEclipseIndicator(
Graphics::Surface *surface,
int x,
int y, uint32 color1, uint32 color2, uint32 color3 = 0);
110 void drawScoreString(
int score,
int x,
int y, uint32 front, uint32 back,
Graphics::Surface *surface);
120 void updateHeartFramesCPC();
126 void playSoundC64(
int index)
override;
127 void toggleC64Sound();
130 void restartBackgroundMusic();
131 void stopBackgroundMusic();
145 byte _eclipseFadePalettes[6][16 * 3];
146 void applyEclipseFadePalette(uint16 areaID,
int brightnessLevel);
150 int8 _compassLookup[72];
151 int _atariCompassPhase;
152 int _atariCompassTargetPhase;
153 float _atariCompassTargetRemainder;
154 int _atariCompassLastUpdateTick;
155 bool _atariCompassPhaseInitialized;
156 int _atariLanternLightFrame;
157 int _atariLanternAnimationDirection;
158 int _atariLanternLastUpdateTick;
159 int _lanternBatteryLevel;
181 bool triggerWinCondition()
override;
182 bool checkIfGameEnded()
override;
183 void endGame()
override;
185 void playSoundFx(
int index,
bool sync)
override;
Definition: managed_surface.h:51
Definition: advancedDetector.h:164
Definition: freescape.h:191
Definition: instruction.h:36