fs2port/port/include/chunk3.h

42 lines
1.6 KiB
C

// C translation of chunk3 ($D300-$F3FF): the 64K-only features -- the
// disk loader entries, ADF, reality mode, slew readouts, panel lights,
// crash/splash, day phase, view overlays, the magneto engine model, the
// COM radio ATIS text, instrument hide/show and the rotated scenery
// template.
#ifndef CHUNK3_H
#define CHUNK3_H
#include <stdbool.h>
#include <stdint.h>
void chunk3ADFKeyboardHook(void);
void chunk3ComputeDayPhase(void);
// Delay: the busy-wait loop, X iterations of 255 inner steps.
void chunk3Delay(uint8_t count);
void chunk3DrawATISMessage(void);
// DrawMagnetoStateHook: the lights message, then the magneto letter.
void chunk3DrawMagnetoStateHook(uint16_t lightsMsg);
void chunk3DrawSlewOverlays(void);
void chunk3DrawViewOverlays(void);
// HandleCrashOrSplash: takes and returns the main loop's X register.
uint8_t chunk3HandleCrashOrSplash(uint8_t x);
void chunk3HideOrShowInstruments(void);
uint8_t chunk3KeyDecreasePatch(void);
uint8_t chunk3KeyIncreasePatch(void);
void chunk3LookupADFStation(void);
void chunk3RealityModeHook(void);
void chunk3RequestADFStationLookup(void);
// SceneryLoaderEntry1..7: returns the carry (true = failure).
bool chunk3SceneryLoaderEntry(int index);
void chunk3SceneryRotatedTransform(void);
void chunk3Select3DViewPatch(void);
void chunk3SelectRadarViewPatch(void);
void chunk3ShowWarReport(void);
void chunk3SetMagnetoFromA(uint8_t state, uint8_t bits);
void chunk3UpdateADFIndicator(void);
void chunk3UpdateCOMMessageChunks(void);
void chunk3UpdateEngineWithMagneto(void);
void chunk3UpdateInstrumentLights(void);
#endif