SpaceCadetPinball/SpaceCadetPinball/TPinballTable.h

101 lines
2.1 KiB
C
Raw Normal View History

#pragma once
2020-12-25 14:46:06 +01:00
#include "TPinballComponent.h"
2020-12-25 14:46:06 +01:00
2021-01-30 12:19:25 +01:00
class TBall;
2020-12-25 14:46:06 +01:00
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;
};
2020-11-06 14:56:32 +01:00
class TPinballTable : public TPinballComponent
{
public:
TPinballTable();
~TPinballTable() override;
2020-11-04 14:22:52 +01:00
TPinballComponent* find_component(LPCSTR componentName);
TPinballComponent* find_component(int groupIndex);
2020-12-25 14:46:06 +01:00
int AddScore(int score);
void ChangeBallCount(int count);
void tilt(float time);
void port_draw() override;
2020-12-25 14:46:06 +01: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 14:56:32 +01:00
TFlipper* FlipperL;
TFlipper* FlipperR;
2020-12-25 14:46:06 +01:00
scoreStruct* CurScoreStruct;
scoreStruct* ScoreBallcount;
scoreStruct* ScorePlayerNumber1;
int CheatsUsed;
2020-12-20 12:13:12 +01:00
int SoundIndex1;
int SoundIndex2;
int SoundIndex3;
int BallInSink;
2020-12-25 14:46:06 +01:00
int CurScore;
int CurScoreE9;
int LightShowTimer;
int EndGameTimeoutTimer;
int TiltTimeoutTimer;
score_struct_super PlayerScores[4];
2020-12-20 12:13:12 +01:00
int PlayerCount;
int CurrentPlayer;
TPlunger* Plunger;
TDrain* Drain;
2020-12-25 14:46:06 +01:00
TDemo* Demo;
2020-11-08 16:37:59 +01:00
int XOffset;
int YOffset;
2020-12-20 12:13:12 +01:00
int Width;
int Height;
2021-01-30 12:19:25 +01:00
objlist_class<TPinballComponent>* ComponentList;
objlist_class<TBall>* BallList;
TLightGroup* LightGroup;
2021-01-07 17:00:38 +01:00
float GravityDirVectMult;
float GravityAngleX;
float GravityAnglY;
float CollisionCompOffset;
2021-01-07 17:00:38 +01:00
float PlungerPositionX;
float PlungerPositionY;
2020-12-25 14:46:06 +01:00
int ScoreMultiplier;
int ScoreAdded;
int ScoreSpecial1;
int ScoreSpecial2;
int ScoreSpecial2Flag;
int ScoreSpecial3;
int ScoreSpecial3Flag;
int UnknownP71;
2020-12-25 14:46:06 +01:00
int BallCount;
int MaxBallCount;
int ExtraBalls;
int UnknownP75;
2020-12-25 14:46:06 +01:00
int BallLockedCounter;
int MultiballFlag;
int UnknownP78;
2020-12-25 14:46:06 +01:00
int ReplayActiveFlag;
int ReplayTimer;
int UnknownP81;
int UnknownP82;
2020-12-25 14:46:06 +01:00
int TiltLockFlag;
private:
static int score_multipliers[5];
};