22 #include "common/file.h" 24 #include "freescape/sound.h" 28 class EclipseAYMusicPlayer;
29 class EclipseC64MusicPlayer;
30 class EclipseC64SFXPlayer;
31 class EclipseOPLMusicPlayer;
33 enum EclipseReleaseFlags {
34 GF_ZX_DEMO_CRASH = (1 << 0),
35 GF_ZX_DEMO_MICROHOBBY = (1 << 1),
39 kVariableEclipse2SphinxParts = 1,
40 kVariableEclipseAnkhs = 32,
48 void gotoArea(uint16 areaID,
int entranceID)
override;
50 void borderScreen()
override;
51 void titleScreen()
override;
52 void drawInfoMenu()
override;
53 void drawIndicator(
Graphics::Surface *surface,
int xPosition,
int yPosition,
int separation);
55 void drawSensorShoot(
Sensor *sensor)
override;
57 void loadAssets()
override;
58 void loadAssetsDOSFullGame()
override;
59 void pressedKey(
const int keycode)
override;
60 void releasedKey(
const int keycode)
override;
62 uint32 _initialEnergy;
63 uint32 _initialShield;
65 int _soundIndexStartFalling;
66 int _soundIndexEndFalling;
71 int _lastThirtySeconds;
73 int _lastHeartbeatSoundTick;
74 int _lastHeartIndicatorFrame;
77 void updateTimeVariables()
override;
83 void initAmigaAtari();
85 void loadAssetsZXFullGame()
override;
86 void loadAssetsCPCFullGame()
override;
87 void loadAssetsC64FullGame()
override;
88 void loadAssetsAmigaFullGame()
override;
89 void loadAssetsAtariFullGame()
override;
90 void loadAssetsCPCDemo()
override;
91 void loadAssetsZXDemo()
override;
94 void initGameState()
override;
97 void drawBackground()
override;
103 void drawAnalogClock(
Graphics::Surface *surface,
int x,
int y, uint32 colorHand1, uint32 colorHand2, uint32 colorBack);
104 void drawAnalogClockHand(
Graphics::Surface *surface,
int x,
int y,
double degrees,
double magnitude, uint32 color);
105 void drawCompass(
Graphics::Surface *surface,
int x,
int y,
double degrees,
double magnitude, uint32 color);
106 int atariCompassPhaseFromRotationY(
float rotationY)
const;
107 int atariCompassTargetPhaseFromYaw(
float yaw,
int referencePhase)
const;
108 bool isAtariDarkArea(uint16 areaID)
const;
109 void onRotate(
float xoffset,
float yoffset,
float zoffset)
override;
110 void drawEclipseIndicator(
Graphics::Surface *surface,
int x,
int y, uint32 color1, uint32 color2, uint32 color3 = 0);
112 void drawScoreString(
int score,
int x,
int y, uint32 front, uint32 back,
Graphics::Surface *surface);
122 void updateHeartFramesCPC();
129 void playSoundC64(
int index)
override;
130 void toggleC64Sound();
134 void restartBackgroundMusic();
135 void stopBackgroundMusic();
149 byte _eclipseFadePalettes[6][16 * 3];
150 void applyEclipseFadePalette(uint16 areaID,
int brightnessLevel);
154 int8 _compassLookup[72];
155 int _atariCompassPhase;
156 int _atariCompassTargetPhase;
157 float _atariCompassTargetRemainder;
158 int _atariCompassLastUpdateTick;
159 bool _atariCompassPhaseInitialized;
160 int _atariLanternLightFrame;
161 int _atariLanternAnimationDirection;
162 int _atariLanternLastUpdateTick;
163 int _lanternBatteryLevel;
185 bool triggerWinCondition()
override;
186 bool checkIfGameEnded()
override;
187 void endGame()
override;
189 void playSoundFx(
int index,
bool sync)
override;
Definition: managed_surface.h:51
Definition: advancedDetector.h:164
Definition: c64.music.h:30
Definition: freescape.h:189
Definition: opl.music.h:38
Definition: ay.music.h:40
Definition: instruction.h:36