SpaceCadetPinballEmscripten/SpaceCadetPinball/TLight.h

57 lines
1.1 KiB
C++

#pragma once
#include "TPinballComponent.h"
struct gdrv_bitmap8;
struct flasher_type
{
render_sprite_type_struct* Sprite;
gdrv_bitmap8* BmpArr[2];
int Unknown3;
int Unknown4;
float TimerDelay[2];
int Timer;
int BmpIndex;
};
struct TLight_player_backup
{
int MessageField;
int BmpIndex1;
int FlasherActive;
int Unknown3;
int Unknown4;
int BmpIndex2;
};
class TLight :
public TPinballComponent
{
public:
TLight(TPinballTable* table, int groupIndex);
int Message(int code, float value) override;
void Reset();
void schedule_timeout(float time);
static void TimerExpired(int timerId, void* caller);
static void flasher_stop(flasher_type* flash, int bmpIndex);
static void flasher_start(struct flasher_type* flash, int bmpIndex);
static void flasher_callback(int timerId, void* caller);
flasher_type Flasher;
int BmpIndex1;
int FlasherActive;
int FlasherFlag1;
int FlasherFlag2;
int TurnOffAfterFlashingFg;
int BmpIndex2;
float FlasherDelay[2];
int Timer1;
int Timer2;
int Unknown19;
float Unknown20F;
TLight_player_backup PlayerData[4];
};