mirror of
https://github.com/k4zmu2a/SpaceCadetPinball.git
synced 2024-11-24 09:50:19 +01:00
Compare commits
3 commits
0076f8947c
...
5cd01807b2
Author | SHA1 | Date | |
---|---|---|---|
|
5cd01807b2 | ||
|
57af3af800 | ||
|
8e07b7fc3f |
16 changed files with 60 additions and 62 deletions
|
@ -39,23 +39,16 @@ TBall::TBall(TPinballTable* table) : TPinballComponent(table, -1, false)
|
||||||
auto groupIndex = loader::query_handle(ballGroupName);
|
auto groupIndex = loader::query_handle(ballGroupName);
|
||||||
|
|
||||||
Offset = *loader::query_float_attribute(groupIndex, 0, 500);
|
Offset = *loader::query_float_attribute(groupIndex, 0, 500);
|
||||||
|
|
||||||
auto visualCount = loader::query_visual_states(groupIndex);
|
auto visualCount = loader::query_visual_states(groupIndex);
|
||||||
auto index = 0;
|
for (auto index = 0; index < visualCount; ++index)
|
||||||
if (visualCount > 0)
|
|
||||||
{
|
|
||||||
auto visualZPtr = VisualZArray;
|
|
||||||
do
|
|
||||||
{
|
{
|
||||||
loader::query_visual(groupIndex, index, &visual);
|
loader::query_visual(groupIndex, index, &visual);
|
||||||
if (ListBitmap)
|
if (ListBitmap)
|
||||||
ListBitmap->push_back(visual.Bitmap);
|
ListBitmap->push_back(visual.Bitmap);
|
||||||
auto visVec = reinterpret_cast<vector_type*>(loader::query_float_attribute(groupIndex, index, 501));
|
auto visVec = reinterpret_cast<vector_type*>(loader::query_float_attribute(groupIndex, index, 501));
|
||||||
auto zDepth = proj::z_distance(visVec);
|
auto zDepth = proj::z_distance(visVec);
|
||||||
++index;
|
VisualZArray[index] = zDepth;
|
||||||
*visualZPtr = zDepth;
|
|
||||||
++visualZPtr;
|
|
||||||
}
|
|
||||||
while (index < visualCount);
|
|
||||||
}
|
}
|
||||||
RenderSprite = render::create_sprite(VisualTypes::Ball, nullptr, nullptr, 0, 0, nullptr);
|
RenderSprite = render::create_sprite(VisualTypes::Ball, nullptr, nullptr, 0, 0, nullptr);
|
||||||
PinballTable->CollisionCompOffset = Offset;
|
PinballTable->CollisionCompOffset = Offset;
|
||||||
|
|
|
@ -65,7 +65,7 @@ TFlipper::~TFlipper()
|
||||||
|
|
||||||
int TFlipper::Message(int code, float value)
|
int TFlipper::Message(int code, float value)
|
||||||
{
|
{
|
||||||
if (code == 1 || code == 2 || code > 1008 && code <= 1011 || code == 1022)
|
if (code == 1 || code == 2 || (code > 1008 && code <= 1011) || code == 1022)
|
||||||
{
|
{
|
||||||
float timerTime;
|
float timerTime;
|
||||||
int command = code;
|
int command = code;
|
||||||
|
|
|
@ -109,7 +109,6 @@ float TFlipperEdge::FindCollisionDistance(ray_type* ray)
|
||||||
{
|
{
|
||||||
if (FlipperFlag == 0)
|
if (FlipperFlag == 0)
|
||||||
{
|
{
|
||||||
EdgeCollisionFlag = 0;
|
|
||||||
CollisionFlag1 = 0;
|
CollisionFlag1 = 0;
|
||||||
CollisionFlag2 = 0;
|
CollisionFlag2 = 0;
|
||||||
set_control_points(ogRay->TimeNow);
|
set_control_points(ogRay->TimeNow);
|
||||||
|
|
|
@ -81,7 +81,11 @@ void THole::Collision(TBall* ball, vector_type* nextPosition, vector_type* direc
|
||||||
ball->Position.X = Circle.Center.X;
|
ball->Position.X = Circle.Center.X;
|
||||||
ball->Position.Y = Circle.Center.Y;
|
ball->Position.Y = Circle.Center.Y;
|
||||||
ball->Acceleration.Z = 0.0;
|
ball->Acceleration.Z = 0.0;
|
||||||
Timer = timer::set(0.5f, this, TimerExpired);
|
|
||||||
|
// Ramp hole has no delay in FT.
|
||||||
|
auto captureTime = pb::FullTiltMode ? 0 : 0.5f;
|
||||||
|
Timer = timer::set(captureTime, this, TimerExpired);
|
||||||
|
|
||||||
if (!PinballTable->TiltLockFlag)
|
if (!PinballTable->TiltLockFlag)
|
||||||
{
|
{
|
||||||
loader::play_sound(HardHitSoundId);
|
loader::play_sound(HardHitSoundId);
|
||||||
|
|
|
@ -432,7 +432,7 @@ int TLightGroup::next_light_up()
|
||||||
{
|
{
|
||||||
for (auto index = 0u; index < List.size(); ++index)
|
for (auto index = 0u; index < List.size(); ++index)
|
||||||
{
|
{
|
||||||
if (!List.at(index)->BmpIndex1)
|
if (!List[index]->BmpIndex1)
|
||||||
return static_cast<int>(index);
|
return static_cast<int>(index);
|
||||||
}
|
}
|
||||||
return -1;
|
return -1;
|
||||||
|
|
|
@ -368,7 +368,7 @@ int TPinballTable::Message(int code, float value)
|
||||||
LightGroup->Message(34, 0.0);
|
LightGroup->Message(34, 0.0);
|
||||||
LightGroup->Message(20, 0.0);
|
LightGroup->Message(20, 0.0);
|
||||||
Plunger->Message(1016, 0.0);
|
Plunger->Message(1016, 0.0);
|
||||||
if (Demo->ActiveFlag)
|
if (Demo && Demo->ActiveFlag)
|
||||||
rc_text = pinball::get_rc_string(30, 0);
|
rc_text = pinball::get_rc_string(30, 0);
|
||||||
else
|
else
|
||||||
rc_text = pinball::get_rc_string(26, 0);
|
rc_text = pinball::get_rc_string(26, 0);
|
||||||
|
|
|
@ -37,7 +37,7 @@ void TPlunger::Collision(TBall* ball, vector_type* nextPosition, vector_type* di
|
||||||
{
|
{
|
||||||
if (PinballTable->TiltLockFlag)
|
if (PinballTable->TiltLockFlag)
|
||||||
Message(1017, 0.0);
|
Message(1017, 0.0);
|
||||||
coef = RandFloat() * Boost * 0.1f + Boost;
|
coef = RandFloat() * Boost * 0.1f + Boost; // it is intended that the passed in coef is never used!
|
||||||
maths::basic_collision(ball, nextPosition, direction, Elasticity, Smoothness, Threshold, coef);
|
maths::basic_collision(ball, nextPosition, direction, Elasticity, Smoothness, Threshold, coef);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
#include "TBall.h"
|
#include "TBall.h"
|
||||||
#include "TPinballTable.h"
|
#include "TPinballTable.h"
|
||||||
|
|
||||||
TTripwire::TTripwire(TPinballTable* table, int groupIndex) : TRollover(table, groupIndex, 1)
|
TTripwire::TTripwire(TPinballTable* table, int groupIndex) : TRollover(table, groupIndex, true)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -3923,10 +3923,8 @@ void control::SelectMissionController(int code, TPinballComponent* caller)
|
||||||
if (light_on(&control_lite319_tag))
|
if (light_on(&control_lite319_tag))
|
||||||
control_lite319_tag.Component->Message(20, 0.0);
|
control_lite319_tag.Component->Message(20, 0.0);
|
||||||
if (!light_on(&control_lite317_tag))
|
if (!light_on(&control_lite317_tag))
|
||||||
{
|
|
||||||
control_lite317_tag.Component->Message(7, 0.0);
|
control_lite317_tag.Component->Message(7, 0.0);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
control_mission_text_box_tag.Component->Display(pinball::get_rc_string(104, 0), -1.0);
|
control_mission_text_box_tag.Component->Display(pinball::get_rc_string(104, 0), -1.0);
|
||||||
|
@ -4158,6 +4156,7 @@ void control::TimeWarpPartTwoController(int code, TPinballComponent* caller)
|
||||||
control_lite317_tag.Component->Message(20, 0.0);
|
control_lite317_tag.Component->Message(20, 0.0);
|
||||||
control_lite198_tag.Component->MessageField = 1;
|
control_lite198_tag.Component->MessageField = 1;
|
||||||
MissionControl(66, nullptr);
|
MissionControl(66, nullptr);
|
||||||
|
// SpecialAddScore sets the score dirty flag. So next tick it will be redrawn.
|
||||||
}
|
}
|
||||||
|
|
||||||
void control::UnselectMissionController(int code, TPinballComponent* caller)
|
void control::UnselectMissionController(int code, TPinballComponent* caller)
|
||||||
|
|
|
@ -299,7 +299,7 @@ float maths::basic_collision(TBall* ball, vector_type* nextPosition, vector_type
|
||||||
return projSpeed;
|
return projSpeed;
|
||||||
}
|
}
|
||||||
|
|
||||||
float maths::Distance_Squared(vector_type vec1, vector_type vec2)
|
float maths::Distance_Squared(vector_type& vec1, vector_type& vec2)
|
||||||
{
|
{
|
||||||
return (vec1.Y - vec2.Y) * (vec1.Y - vec2.Y) + (vec1.X - vec2.X) * (vec1.X - vec2.X);
|
return (vec1.Y - vec2.Y) * (vec1.Y - vec2.Y) + (vec1.X - vec2.X) * (vec1.X - vec2.X);
|
||||||
}
|
}
|
||||||
|
|
|
@ -87,7 +87,7 @@ public:
|
||||||
static float basic_collision(TBall* ball, vector_type* nextPosition, vector_type* direction, float elasticity,
|
static float basic_collision(TBall* ball, vector_type* nextPosition, vector_type* direction, float elasticity,
|
||||||
float smoothness,
|
float smoothness,
|
||||||
float threshold, float boost);
|
float threshold, float boost);
|
||||||
static float Distance_Squared(vector_type vec1, vector_type vec2);
|
static float Distance_Squared(vector_type& vec1, vector_type& vec2);
|
||||||
static float DotProduct(vector_type* vec1, vector_type* vec2);
|
static float DotProduct(vector_type* vec1, vector_type* vec2);
|
||||||
static void vswap(vector_type* vec1, vector_type* vec2);
|
static void vswap(vector_type* vec1, vector_type* vec2);
|
||||||
static float Distance(vector_type* vec1, vector_type* vec2);
|
static float Distance(vector_type* vec1, vector_type* vec2);
|
||||||
|
|
|
@ -29,8 +29,8 @@
|
||||||
|
|
||||||
TPinballTable* pb::MainTable = nullptr;
|
TPinballTable* pb::MainTable = nullptr;
|
||||||
DatFile* pb::record_table = nullptr;
|
DatFile* pb::record_table = nullptr;
|
||||||
int pb::time_ticks = 0, pb::demo_mode = 0, pb::game_mode = 2, pb::mode_countdown_;
|
int pb::time_ticks = 0, pb::demo_mode = 0, pb::game_mode = 2;
|
||||||
float pb::time_now = 0, pb::time_next = 0, pb::ball_speed_limit, pb::time_ticks_remainder = 0;
|
float pb::mode_countdown_, pb::time_now = 0, pb::time_next = 0, pb::ball_speed_limit, pb::time_ticks_remainder = 0;
|
||||||
high_score_struct pb::highscore_table[5];
|
high_score_struct pb::highscore_table[5];
|
||||||
bool pb::FullTiltMode = false, pb::cheat_mode = false;
|
bool pb::FullTiltMode = false, pb::cheat_mode = false;
|
||||||
|
|
||||||
|
@ -169,7 +169,7 @@ void pb::mode_change(int mode)
|
||||||
case 4:
|
case 4:
|
||||||
winmain::LaunchBallEnabled = false;
|
winmain::LaunchBallEnabled = false;
|
||||||
winmain::HighScoresEnabled = false;
|
winmain::HighScoresEnabled = false;
|
||||||
mode_countdown_ = 5000;
|
mode_countdown_ = 5000.f;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
game_mode = mode;
|
game_mode = mode;
|
||||||
|
@ -215,7 +215,7 @@ void pb::frame(float dtMilliSec)
|
||||||
{
|
{
|
||||||
if (dtMilliSec > 100)
|
if (dtMilliSec > 100)
|
||||||
dtMilliSec = 100;
|
dtMilliSec = 100;
|
||||||
if (dtMilliSec < 0)
|
if (dtMilliSec <= 0)
|
||||||
return;
|
return;
|
||||||
float dtSec = dtMilliSec * 0.001f;
|
float dtSec = dtMilliSec * 0.001f;
|
||||||
if (!mode_countdown(dtMilliSec))
|
if (!mode_countdown(dtMilliSec))
|
||||||
|
@ -317,7 +317,7 @@ void pb::window_size(int* width, int* height)
|
||||||
|
|
||||||
void pb::pause_continue()
|
void pb::pause_continue()
|
||||||
{
|
{
|
||||||
winmain::single_step = winmain::single_step == 0;
|
winmain::single_step ^= true;
|
||||||
pinball::InfoTextBox->Clear();
|
pinball::InfoTextBox->Clear();
|
||||||
pinball::MissTextBox->Clear();
|
pinball::MissTextBox->Clear();
|
||||||
if (winmain::single_step)
|
if (winmain::single_step)
|
||||||
|
@ -399,7 +399,7 @@ void pb::InputDown(GameInput input)
|
||||||
|
|
||||||
if (game_mode != 1)
|
if (game_mode != 1)
|
||||||
{
|
{
|
||||||
mode_countdown(-1);
|
mode_countdown(-1.f);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -485,7 +485,7 @@ void pb::InputDown(GameInput input)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int pb::mode_countdown(int time)
|
int pb::mode_countdown(float time)
|
||||||
{
|
{
|
||||||
if (!game_mode || game_mode <= 0)
|
if (!game_mode || game_mode <= 0)
|
||||||
return 1;
|
return 1;
|
||||||
|
@ -494,13 +494,13 @@ int pb::mode_countdown(int time)
|
||||||
if (game_mode == 3)
|
if (game_mode == 3)
|
||||||
{
|
{
|
||||||
mode_countdown_ -= time;
|
mode_countdown_ -= time;
|
||||||
if (mode_countdown_ < 0 || time < 0)
|
if (mode_countdown_ < 0.f || time < 0.f)
|
||||||
mode_change(4);
|
mode_change(4);
|
||||||
}
|
}
|
||||||
else if (game_mode == 4)
|
else if (game_mode == 4)
|
||||||
{
|
{
|
||||||
mode_countdown_ -= time;
|
mode_countdown_ -= time;
|
||||||
if (mode_countdown_ < 0 || time < 0)
|
if (mode_countdown_ < 0.f || time < 0.f)
|
||||||
mode_change(1);
|
mode_change(1);
|
||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
|
@ -532,7 +532,7 @@ void pb::end_game()
|
||||||
|
|
||||||
for (auto i = 0; i < playerCount; ++i)
|
for (auto i = 0; i < playerCount; ++i)
|
||||||
{
|
{
|
||||||
for (auto j = i; j < playerCount; ++j)
|
for (auto j = i + 1; j < playerCount; ++j)
|
||||||
{
|
{
|
||||||
if (scores[j] > scores[i])
|
if (scores[j] > scores[i])
|
||||||
{
|
{
|
||||||
|
|
|
@ -57,7 +57,7 @@ public:
|
||||||
static void loose_focus();
|
static void loose_focus();
|
||||||
static void InputUp(GameInput input);
|
static void InputUp(GameInput input);
|
||||||
static void InputDown(GameInput input);
|
static void InputDown(GameInput input);
|
||||||
static int mode_countdown(int time);
|
static int mode_countdown(float time);
|
||||||
static void launch_ball();
|
static void launch_ball();
|
||||||
static void end_game();
|
static void end_game();
|
||||||
static void high_scores();
|
static void high_scores();
|
||||||
|
@ -66,7 +66,8 @@ public:
|
||||||
static float collide(float timeNow, float timeDelta, TBall* ball);
|
static float collide(float timeNow, float timeDelta, TBall* ball);
|
||||||
static void PushCheat(const std::string& cheat);
|
static void PushCheat(const std::string& cheat);
|
||||||
private:
|
private:
|
||||||
static int demo_mode, mode_countdown_;
|
static int demo_mode;
|
||||||
|
static float mode_countdown_;
|
||||||
|
|
||||||
static bool AnyBindingMatchesInput(GameInput (&options)[3], GameInput key);
|
static bool AnyBindingMatchesInput(GameInput (&options)[3], GameInput key);
|
||||||
};
|
};
|
||||||
|
|
|
@ -420,7 +420,7 @@ void render::build_occlude_list()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!mainSprite->UnknownFlag && mainSprite->Bmp && spriteArr->size() < 2)
|
if (mainSprite->Bmp && spriteArr->size() < 2)
|
||||||
spriteArr->clear();
|
spriteArr->clear();
|
||||||
if (!spriteArr->empty())
|
if (!spriteArr->empty())
|
||||||
{
|
{
|
||||||
|
|
|
@ -15,16 +15,16 @@ SDL_Renderer* winmain::Renderer = nullptr;
|
||||||
ImGuiIO* winmain::ImIO = nullptr;
|
ImGuiIO* winmain::ImIO = nullptr;
|
||||||
|
|
||||||
int winmain::return_value = 0;
|
int winmain::return_value = 0;
|
||||||
int winmain::bQuit = 0;
|
bool winmain::bQuit = false;
|
||||||
int winmain::activated;
|
bool winmain::activated = false;
|
||||||
int winmain::DispFrameRate = 0;
|
int winmain::DispFrameRate = 0;
|
||||||
int winmain::DispGRhistory = 0;
|
int winmain::DispGRhistory = 0;
|
||||||
int winmain::single_step = 0;
|
bool winmain::single_step = false;
|
||||||
int winmain::has_focus = 1;
|
bool winmain::has_focus = true;
|
||||||
int winmain::last_mouse_x;
|
int winmain::last_mouse_x;
|
||||||
int winmain::last_mouse_y;
|
int winmain::last_mouse_y;
|
||||||
int winmain::mouse_down;
|
int winmain::mouse_down;
|
||||||
int winmain::no_time_loss;
|
bool winmain::no_time_loss = false;
|
||||||
|
|
||||||
bool winmain::restart = false;
|
bool winmain::restart = false;
|
||||||
|
|
||||||
|
@ -180,7 +180,7 @@ int winmain::WinMain(LPCSTR lpCmdLine)
|
||||||
if (!gfr_display)
|
if (!gfr_display)
|
||||||
{
|
{
|
||||||
auto plt = static_cast<ColorRgba*>(malloc(1024u));
|
auto plt = static_cast<ColorRgba*>(malloc(1024u));
|
||||||
auto pltPtr = &plt[10];
|
auto pltPtr = &plt[10]; // first 10 entries are system colors hardcoded in display_palette()
|
||||||
for (int i1 = 0, i2 = 0; i1 < 256 - 10; ++i1, i2 += 8)
|
for (int i1 = 0, i2 = 0; i1 < 256 - 10; ++i1, i2 += 8)
|
||||||
{
|
{
|
||||||
unsigned char blue = i2, redGreen = i2;
|
unsigned char blue = i2, redGreen = i2;
|
||||||
|
@ -215,8 +215,8 @@ int winmain::WinMain(LPCSTR lpCmdLine)
|
||||||
int x, y, w, h;
|
int x, y, w, h;
|
||||||
SDL_GetMouseState(&x, &y);
|
SDL_GetMouseState(&x, &y);
|
||||||
SDL_GetWindowSize(window, &w, &h);
|
SDL_GetWindowSize(window, &w, &h);
|
||||||
float dx = (last_mouse_x - x) / static_cast<float>(w);
|
float dx = static_cast<float>(last_mouse_x - x) / static_cast<float>(w);
|
||||||
float dy = (y - last_mouse_y) / static_cast<float>(h);
|
float dy = static_cast<float>(y - last_mouse_y) / static_cast<float>(h);
|
||||||
pb::ballset(dx, dy);
|
pb::ballset(dx, dy);
|
||||||
|
|
||||||
SDL_WarpMouseInWindow(window, last_mouse_x, last_mouse_y);
|
SDL_WarpMouseInWindow(window, last_mouse_x, last_mouse_y);
|
||||||
|
@ -225,7 +225,7 @@ int winmain::WinMain(LPCSTR lpCmdLine)
|
||||||
//last_mouse_x = x;
|
//last_mouse_x = x;
|
||||||
//last_mouse_y = y;
|
//last_mouse_y = y;
|
||||||
}
|
}
|
||||||
if (!single_step)
|
if (!single_step && !no_time_loss)
|
||||||
{
|
{
|
||||||
auto dt = static_cast<float>(frameDuration.count());
|
auto dt = static_cast<float>(frameDuration.count());
|
||||||
auto dtWhole = static_cast<int>(std::round(dt));
|
auto dtWhole = static_cast<int>(std::round(dt));
|
||||||
|
@ -243,6 +243,7 @@ int winmain::WinMain(LPCSTR lpCmdLine)
|
||||||
}
|
}
|
||||||
updateCounter++;
|
updateCounter++;
|
||||||
}
|
}
|
||||||
|
no_time_loss = false;
|
||||||
|
|
||||||
if (UpdateToFrameCounter >= UpdateToFrameRatio)
|
if (UpdateToFrameCounter >= UpdateToFrameRatio)
|
||||||
{
|
{
|
||||||
|
@ -595,7 +596,7 @@ int winmain::event_handler(const SDL_Event* event)
|
||||||
{
|
{
|
||||||
case SDL_QUIT:
|
case SDL_QUIT:
|
||||||
end_pause();
|
end_pause();
|
||||||
bQuit = 1;
|
bQuit = true;
|
||||||
fullscrn::shutdown();
|
fullscrn::shutdown();
|
||||||
return_value = 0;
|
return_value = 0;
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -655,9 +656,9 @@ int winmain::event_handler(const SDL_Event* event)
|
||||||
pb::frame(10);
|
pb::frame(10);
|
||||||
break;
|
break;
|
||||||
case SDLK_F10:
|
case SDLK_F10:
|
||||||
single_step = single_step == 0;
|
single_step ^= true;
|
||||||
if (single_step == 0)
|
if (!single_step)
|
||||||
no_time_loss = 1;
|
no_time_loss = true;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
@ -713,21 +714,21 @@ int winmain::event_handler(const SDL_Event* event)
|
||||||
case SDL_WINDOWEVENT_FOCUS_GAINED:
|
case SDL_WINDOWEVENT_FOCUS_GAINED:
|
||||||
case SDL_WINDOWEVENT_TAKE_FOCUS:
|
case SDL_WINDOWEVENT_TAKE_FOCUS:
|
||||||
case SDL_WINDOWEVENT_SHOWN:
|
case SDL_WINDOWEVENT_SHOWN:
|
||||||
activated = 1;
|
activated = true;
|
||||||
Sound::Activate();
|
Sound::Activate();
|
||||||
if (Options.Music && !single_step)
|
if (Options.Music && !single_step)
|
||||||
midi::play_pb_theme();
|
midi::play_pb_theme();
|
||||||
no_time_loss = 1;
|
no_time_loss = true;
|
||||||
has_focus = 1;
|
has_focus = true;
|
||||||
break;
|
break;
|
||||||
case SDL_WINDOWEVENT_FOCUS_LOST:
|
case SDL_WINDOWEVENT_FOCUS_LOST:
|
||||||
case SDL_WINDOWEVENT_HIDDEN:
|
case SDL_WINDOWEVENT_HIDDEN:
|
||||||
activated = 0;
|
activated = false;
|
||||||
fullscrn::activate(0);
|
fullscrn::activate(0);
|
||||||
Options.FullScreen = false;
|
Options.FullScreen = false;
|
||||||
Sound::Deactivate();
|
Sound::Deactivate();
|
||||||
midi::music_stop();
|
midi::music_stop();
|
||||||
has_focus = 0;
|
has_focus = false;
|
||||||
pb::loose_focus();
|
pb::loose_focus();
|
||||||
break;
|
break;
|
||||||
case SDL_WINDOWEVENT_SIZE_CHANGED:
|
case SDL_WINDOWEVENT_SIZE_CHANGED:
|
||||||
|
@ -846,7 +847,7 @@ void winmain::end_pause()
|
||||||
if (single_step)
|
if (single_step)
|
||||||
{
|
{
|
||||||
pb::pause_continue();
|
pb::pause_continue();
|
||||||
no_time_loss = 1;
|
no_time_loss = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -859,7 +860,7 @@ void winmain::new_game()
|
||||||
void winmain::pause()
|
void winmain::pause()
|
||||||
{
|
{
|
||||||
pb::pause_continue();
|
pb::pause_continue();
|
||||||
no_time_loss = 1;
|
no_time_loss = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void winmain::Restart()
|
void winmain::Restart()
|
||||||
|
|
|
@ -41,7 +41,7 @@ class winmain
|
||||||
|
|
||||||
public:
|
public:
|
||||||
static std::string DatFileName;
|
static std::string DatFileName;
|
||||||
static int single_step;
|
static bool single_step;
|
||||||
static SDL_Window* MainWindow;
|
static SDL_Window* MainWindow;
|
||||||
static SDL_Renderer* Renderer;
|
static SDL_Renderer* Renderer;
|
||||||
static ImGuiIO* ImIO;
|
static ImGuiIO* ImIO;
|
||||||
|
@ -62,8 +62,9 @@ public:
|
||||||
static bool RestartRequested() { return restart; }
|
static bool RestartRequested() { return restart; }
|
||||||
static void UpdateFrameRate();
|
static void UpdateFrameRate();
|
||||||
private:
|
private:
|
||||||
static int return_value, bQuit, DispFrameRate, DispGRhistory, activated;
|
static int return_value, DispFrameRate, DispGRhistory;
|
||||||
static int has_focus, mouse_down, last_mouse_x, last_mouse_y, no_time_loss;
|
static int mouse_down, last_mouse_x, last_mouse_y;
|
||||||
|
static bool no_time_loss, activated, bQuit, has_focus;
|
||||||
static gdrv_bitmap8* gfr_display;
|
static gdrv_bitmap8* gfr_display;
|
||||||
static std::string FpsDetails;
|
static std::string FpsDetails;
|
||||||
static bool restart;
|
static bool restart;
|
||||||
|
|
Loading…
Reference in a new issue