SpaceCadetPinball/SpaceCadetPinball/TPinballTable.h

101 lines
2.0 KiB
C
Raw Normal View History

#pragma once
2020-12-25 13:46:06 +00:00
#include "TPinballComponent.h"
2020-12-25 13:46:06 +00:00
struct scoreStruct;
class TFlipper;
class TPlunger;
class TDrain;
class TDemo;
class objlist_class;
class TLightGroup;
struct score_struct_super
{
scoreStruct* ScoreStruct;
int Score;
int ScoreE9Part;
int Unknown2;
int BallCount;
int ExtraBalls;
int BallLockedCounter;
};
2020-11-06 13:56:32 +00:00
class TPinballTable : public TPinballComponent
{
public:
TPinballTable();
2020-11-04 13:22:52 +00:00
~TPinballTable();
TPinballComponent* find_component(LPCSTR componentName);
TPinballComponent* find_component(int groupIndex);
2020-12-25 13:46:06 +00:00
int AddScore(int score);
void ChangeBallCount(int count);
void tilt(float time);
void port_draw() override;
2020-12-25 13:46:06 +00:00
int Message(int code, float value) override;
static void EndGame_timeout(int timerId, void* caller);
static void LightShow_timeout(int timerId, void* caller);
static void replay_timer_callback(int timerId, void* caller);
static void tilt_timeout(int timerId, void* caller);
2020-11-06 13:56:32 +00:00
TFlipper* FlipperL;
TFlipper* FlipperR;
2020-12-25 13:46:06 +00:00
scoreStruct* CurScoreStruct;
scoreStruct* ScoreBallcount;
scoreStruct* ScorePlayerNumber1;
int UnknownP6;
2020-12-20 11:13:12 +00:00
int SoundIndex1;
int SoundIndex2;
int SoundIndex3;
int UnknownP10;
2020-12-25 13:46:06 +00:00
int CurScore;
int CurScoreE9;
int LightShowTimer;
int EndGameTimeoutTimer;
int TiltTimeoutTimer;
score_struct_super PlayerScores[4];
2020-12-20 11:13:12 +00:00
int PlayerCount;
int CurrentPlayer;
TPlunger* Plunger;
TDrain* Drain;
2020-12-25 13:46:06 +00:00
TDemo* Demo;
2020-11-08 15:37:59 +00:00
int XOffset;
int YOffset;
2020-12-20 11:13:12 +00:00
int Width;
int Height;
objlist_class* ComponentList;
objlist_class* BallList;
TLightGroup* LightGroup;
2020-12-20 11:13:12 +00:00
float TableAngleMult;
float TableAngle1;
float TableAngle2;
float CollisionCompOffset;
int UnknownP62;
int UnknownP63;
2020-12-25 13:46:06 +00:00
int ScoreMultiplier;
int ScoreAdded;
int ScoreSpecial1;
int ScoreSpecial2;
int ScoreSpecial2Flag;
int ScoreSpecial3;
int ScoreSpecial3Flag;
int UnknownP71;
2020-12-25 13:46:06 +00:00
int BallCount;
int MaxBallCount;
int ExtraBalls;
int UnknownP75;
2020-12-25 13:46:06 +00:00
int BallLockedCounter;
int MultiballFlag;
int UnknownP78;
2020-12-25 13:46:06 +00:00
int ReplayActiveFlag;
int ReplayTimer;
int UnknownP81;
int UnknownP82;
2020-12-25 13:46:06 +00:00
int TiltLockFlag;
private:
static int score_multipliers[5];
};