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>
32 lines
766 B
C++
32 lines
766 B
C++
#pragma once
|
|
#include "maths.h"
|
|
#include "TPinballComponent.h"
|
|
|
|
struct ChannelInfo
|
|
{
|
|
int TimeStamp;
|
|
vector2 Position;
|
|
};
|
|
|
|
class Sound
|
|
{
|
|
public:
|
|
static std::vector<ChannelInfo> Channels;
|
|
|
|
static void Init(bool mixOpen, int channels, bool enableFlag, int volume);
|
|
static void Enable(bool enableFlag);
|
|
static void Activate();
|
|
static void Deactivate();
|
|
static void Close();
|
|
static void PlaySound(Mix_Chunk* wavePtr, int time, TPinballComponent *soundSource, const char* info);
|
|
static Mix_Chunk* LoadWaveFile(const std::string& lpName);
|
|
static void FreeSound(Mix_Chunk* wave);
|
|
static void SetChannels(int channels);
|
|
static void SetVolume(int volume);
|
|
private:
|
|
static int num_channels;
|
|
static bool enabled_flag;
|
|
static int Volume;
|
|
static bool MixOpen;
|
|
};
|