mirror of
https://github.com/k4zmu2a/SpaceCadetPinball.git
synced 2023-12-30 21:52:56 +00:00
101 lines
2.1 KiB
C++
101 lines
2.1 KiB
C++
#pragma once
|
|
|
|
#include "TPinballComponent.h"
|
|
|
|
class TBall;
|
|
struct scoreStruct;
|
|
class TFlipper;
|
|
class TPlunger;
|
|
class TDrain;
|
|
class TDemo;
|
|
class TLightGroup;
|
|
|
|
struct score_struct_super
|
|
{
|
|
scoreStruct* ScoreStruct;
|
|
int Score;
|
|
int ScoreE9Part;
|
|
int Unknown2;
|
|
int BallCount;
|
|
int ExtraBalls;
|
|
int BallLockedCounter;
|
|
};
|
|
|
|
|
|
class TPinballTable : public TPinballComponent
|
|
{
|
|
public:
|
|
TPinballTable();
|
|
~TPinballTable() override;
|
|
TPinballComponent* find_component(LPCSTR componentName);
|
|
TPinballComponent* find_component(int groupIndex);
|
|
int AddScore(int score);
|
|
void ChangeBallCount(int count);
|
|
void tilt(float time);
|
|
void port_draw() override;
|
|
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);
|
|
|
|
TFlipper* FlipperL;
|
|
TFlipper* FlipperR;
|
|
scoreStruct* CurScoreStruct;
|
|
scoreStruct* ScoreBallcount;
|
|
scoreStruct* ScorePlayerNumber1;
|
|
int CheatsUsed;
|
|
int SoundIndex1;
|
|
int SoundIndex2;
|
|
int SoundIndex3;
|
|
int BallInSink;
|
|
int CurScore;
|
|
int CurScoreE9;
|
|
int LightShowTimer;
|
|
int EndGameTimeoutTimer;
|
|
int TiltTimeoutTimer;
|
|
score_struct_super PlayerScores[4];
|
|
int PlayerCount;
|
|
int CurrentPlayer;
|
|
TPlunger* Plunger;
|
|
TDrain* Drain;
|
|
TDemo* Demo;
|
|
int XOffset;
|
|
int YOffset;
|
|
int Width;
|
|
int Height;
|
|
objlist_class<TPinballComponent>* ComponentList;
|
|
objlist_class<TBall>* BallList;
|
|
TLightGroup* LightGroup;
|
|
float GravityDirVectMult;
|
|
float GravityAngleX;
|
|
float GravityAnglY;
|
|
float CollisionCompOffset;
|
|
float PlungerPositionX;
|
|
float PlungerPositionY;
|
|
int ScoreMultiplier;
|
|
int ScoreAdded;
|
|
int ScoreSpecial1;
|
|
int ScoreSpecial2;
|
|
int ScoreSpecial2Flag;
|
|
int ScoreSpecial3;
|
|
int ScoreSpecial3Flag;
|
|
int UnknownP71;
|
|
int BallCount;
|
|
int MaxBallCount;
|
|
int ExtraBalls;
|
|
int UnknownP75;
|
|
int BallLockedCounter;
|
|
int MultiballFlag;
|
|
int UnknownP78;
|
|
int ReplayActiveFlag;
|
|
int ReplayTimer;
|
|
int UnknownP81;
|
|
int UnknownP82;
|
|
int TiltLockFlag;
|
|
|
|
private:
|
|
static int score_multipliers[5];
|
|
};
|