Reverse-engineered reimplementation of 3D Pinball for Windows - Space Cadet from k4zmu2a/SpaceCadetPinball (MIT), upstream cb9b7b8, vendored rather than submoduled so local patches are just edits. - CMakeLists: stop hard-setting CMAKE_OSX_ARCHITECTURES so the documented -D override works; brew's SDL2 is arm64-only and universal linking failed. - gitignore original .DAT/.MID assets, which are not ours to redistribute. - CLAUDE.md: build line, upstream deviation, and where game data goes. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
41 lines
834 B
C++
41 lines
834 B
C++
#pragma once
|
|
#include "TPinballComponent.h"
|
|
|
|
|
|
class TLight;
|
|
|
|
struct TLightGroup_player_backup
|
|
{
|
|
int MessageField;
|
|
MessageCode MessageField2;
|
|
float Timer1Time;
|
|
int Unknown3;
|
|
};
|
|
|
|
|
|
class TLightGroup :
|
|
public TPinballComponent
|
|
{
|
|
public:
|
|
TLightGroup(TPinballTable* table, int groupIndex);
|
|
~TLightGroup() override = default;
|
|
int Message(MessageCode code, float value) override;
|
|
virtual void Reset();
|
|
void reschedule_animation(float time);
|
|
void start_animation();
|
|
int next_light_up();
|
|
int next_light_down();
|
|
|
|
static void TimerExpired(int timerId, void* caller);
|
|
static void NotifyTimerExpired(int timerId, void* caller);
|
|
|
|
std::vector<TLight*> List;
|
|
float Timer1Time{};
|
|
float Timer1TimeDefault;
|
|
MessageCode MessageField2{};
|
|
int AnimationFlag{};
|
|
int NotifyTimer;
|
|
int Timer;
|
|
TLightGroup_player_backup PlayerData[4]{};
|
|
};
|