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>
39 lines
843 B
C++
39 lines
843 B
C++
#pragma once
|
|
|
|
struct resolution_info
|
|
{
|
|
int16_t ScreenWidth;
|
|
int16_t ScreenHeight;
|
|
int16_t TableWidth;
|
|
int16_t TableHeight;
|
|
int16_t ResolutionMenuId;
|
|
};
|
|
|
|
class fullscrn
|
|
{
|
|
public:
|
|
static int screen_mode;
|
|
static int display_changed;
|
|
static const resolution_info resolution_array[3];
|
|
static float ScaleX;
|
|
static float ScaleY;
|
|
static int OffsetX;
|
|
static int OffsetY;
|
|
|
|
static void init();
|
|
static void shutdown();
|
|
static int set_screen_mode(int isFullscreen);
|
|
static void activate(int flag);
|
|
static int GetResolution();
|
|
static void SetResolution(int value);
|
|
static int GetMaxResolution();
|
|
static void window_size_changed();
|
|
static SDL_Rect GetScreenRectFromPinballRect(SDL_Rect rect);
|
|
static float GetScreenToPinballRatio();
|
|
private :
|
|
static int resolution;
|
|
|
|
static int enableFullscreen();
|
|
static int disableFullscreen();
|
|
};
|