Make Grave (the key under Esc) exiting the console optional
Also fix perfectCirclePressure copypasta.
This commit is contained in:
parent
d296cf5d77
commit
958ab1df96
@ -277,6 +277,7 @@ int main(int argc, char * argv[])
|
|||||||
|
|
||||||
auto &prefs = GlobalPrefs::Ref();
|
auto &prefs = GlobalPrefs::Ref();
|
||||||
scale = prefs.Get("Scale", 1);
|
scale = prefs.Get("Scale", 1);
|
||||||
|
auto graveExitsConsole = prefs.Get("GraveExitsConsole", true);
|
||||||
resizable = prefs.Get("Resizable", false);
|
resizable = prefs.Get("Resizable", false);
|
||||||
fullscreen = prefs.Get("Fullscreen", false);
|
fullscreen = prefs.Get("Fullscreen", false);
|
||||||
altFullscreen = prefs.Get("AltFullscreen", false);
|
altFullscreen = prefs.Get("AltFullscreen", false);
|
||||||
@ -381,6 +382,7 @@ int main(int argc, char * argv[])
|
|||||||
auto &engine = ui::Engine::Ref();
|
auto &engine = ui::Engine::Ref();
|
||||||
engine.g = new Graphics();
|
engine.g = new Graphics();
|
||||||
engine.Scale = scale;
|
engine.Scale = scale;
|
||||||
|
engine.GraveExitsConsole = graveExitsConsole;
|
||||||
engine.SetResizable(resizable);
|
engine.SetResizable(resizable);
|
||||||
engine.Fullscreen = fullscreen;
|
engine.Fullscreen = fullscreen;
|
||||||
engine.SetAltFullscreen(altFullscreen);
|
engine.SetAltFullscreen(altFullscreen);
|
||||||
|
@ -5,6 +5,7 @@
|
|||||||
#include "ConsoleCommand.h"
|
#include "ConsoleCommand.h"
|
||||||
#include "gui/interface/Label.h"
|
#include "gui/interface/Label.h"
|
||||||
#include "gui/interface/Textbox.h"
|
#include "gui/interface/Textbox.h"
|
||||||
|
#include "gui/interface/Engine.h"
|
||||||
#include "SimulationConfig.h"
|
#include "SimulationConfig.h"
|
||||||
#include <deque>
|
#include <deque>
|
||||||
#include <SDL.h>
|
#include <SDL.h>
|
||||||
@ -24,7 +25,7 @@ ConsoleView::ConsoleView():
|
|||||||
|
|
||||||
void ConsoleView::DoKeyPress(int key, int scan, bool repeat, bool shift, bool ctrl, bool alt)
|
void ConsoleView::DoKeyPress(int key, int scan, bool repeat, bool shift, bool ctrl, bool alt)
|
||||||
{
|
{
|
||||||
if ((scan == SDL_SCANCODE_GRAVE && key != '~') || key == SDLK_ESCAPE)
|
if ((ui::Engine::Ref().GraveExitsConsole && scan == SDL_SCANCODE_GRAVE && key != '~') || key == SDLK_ESCAPE)
|
||||||
{
|
{
|
||||||
if (!repeat)
|
if (!repeat)
|
||||||
doClose = true;
|
doClose = true;
|
||||||
|
@ -82,6 +82,7 @@ namespace ui
|
|||||||
int drawingFrequencyLimit;
|
int drawingFrequencyLimit;
|
||||||
Graphics * g;
|
Graphics * g;
|
||||||
int Scale;
|
int Scale;
|
||||||
|
bool GraveExitsConsole;
|
||||||
bool Fullscreen;
|
bool Fullscreen;
|
||||||
|
|
||||||
unsigned int FrameIndex;
|
unsigned int FrameIndex;
|
||||||
|
@ -97,6 +97,11 @@ void OptionsController::SetScale(int scale)
|
|||||||
model->SetScale(scale);
|
model->SetScale(scale);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void OptionsController::SetGraveExitsConsole(bool graveExitsConsole)
|
||||||
|
{
|
||||||
|
model->SetGraveExitsConsole(graveExitsConsole);
|
||||||
|
}
|
||||||
|
|
||||||
void OptionsController::SetResizable(bool resizable)
|
void OptionsController::SetResizable(bool resizable)
|
||||||
{
|
{
|
||||||
model->SetResizable(resizable);
|
model->SetResizable(resizable);
|
||||||
|
@ -28,6 +28,7 @@ public:
|
|||||||
void SetAltFullscreen(bool altFullscreen);
|
void SetAltFullscreen(bool altFullscreen);
|
||||||
void SetForceIntegerScaling(bool forceIntegerScaling);
|
void SetForceIntegerScaling(bool forceIntegerScaling);
|
||||||
void SetScale(int scale);
|
void SetScale(int scale);
|
||||||
|
void SetGraveExitsConsole(bool graveExitsConsole);
|
||||||
void SetResizable(bool resizable);
|
void SetResizable(bool resizable);
|
||||||
void SetFastQuit(bool fastquit);
|
void SetFastQuit(bool fastquit);
|
||||||
void SetDecoSpace(int decoSpace);
|
void SetDecoSpace(int decoSpace);
|
||||||
|
@ -156,6 +156,18 @@ void OptionsModel::SetScale(int scale)
|
|||||||
notifySettingsChanged();
|
notifySettingsChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool OptionsModel::GetGraveExitsConsole()
|
||||||
|
{
|
||||||
|
return ui::Engine::Ref().GraveExitsConsole;
|
||||||
|
}
|
||||||
|
|
||||||
|
void OptionsModel::SetGraveExitsConsole(bool graveExitsConsole)
|
||||||
|
{
|
||||||
|
ui::Engine::Ref().GraveExitsConsole = graveExitsConsole;
|
||||||
|
GlobalPrefs::Ref().Set("GraveExitsConsole", graveExitsConsole);
|
||||||
|
notifySettingsChanged();
|
||||||
|
}
|
||||||
|
|
||||||
bool OptionsModel::GetResizable()
|
bool OptionsModel::GetResizable()
|
||||||
{
|
{
|
||||||
return ui::Engine::Ref().GetResizable();
|
return ui::Engine::Ref().GetResizable();
|
||||||
|
@ -39,6 +39,8 @@ public:
|
|||||||
void SetCustomGravityY(float y);
|
void SetCustomGravityY(float y);
|
||||||
int GetScale();
|
int GetScale();
|
||||||
void SetScale(int scale);
|
void SetScale(int scale);
|
||||||
|
bool GetGraveExitsConsole();
|
||||||
|
void SetGraveExitsConsole(bool graveExitsConsole);
|
||||||
bool GetResizable();
|
bool GetResizable();
|
||||||
void SetResizable(bool resizable);
|
void SetResizable(bool resizable);
|
||||||
bool GetFullscreen();
|
bool GetFullscreen();
|
||||||
|
@ -377,15 +377,26 @@ OptionsView::OptionsView():
|
|||||||
scrollPanel->AddChild(includePressure);
|
scrollPanel->AddChild(includePressure);
|
||||||
|
|
||||||
currentY+=20;
|
currentY+=20;
|
||||||
perfectCirclePressure = new ui::Checkbox(ui::Point(8, currentY), ui::Point(1, 16), "Perfect Circle", "");
|
perfectCircle = new ui::Checkbox(ui::Point(8, currentY), ui::Point(1, 16), "Perfect Circle", "");
|
||||||
autowidth(perfectCirclePressure);
|
autowidth(perfectCircle);
|
||||||
perfectCirclePressure->SetActionCallback({ [this] { c->SetPerfectCircle(perfectCirclePressure->GetChecked()); } });
|
perfectCircle->SetActionCallback({ [this] { c->SetPerfectCircle(perfectCircle->GetChecked()); } });
|
||||||
tempLabel = new ui::Label(ui::Point(perfectCirclePressure->Position.X+Graphics::TextSize(perfectCirclePressure->GetText()).X+19, currentY), ui::Point(1, 16), "\bg- Better circle brush, without incorrect points on edges");
|
tempLabel = new ui::Label(ui::Point(perfectCircle->Position.X+Graphics::TextSize(perfectCircle->GetText()).X+19, currentY), ui::Point(1, 16), "\bg- Better circle brush, without incorrect points on edges");
|
||||||
autowidth(tempLabel);
|
autowidth(tempLabel);
|
||||||
tempLabel->Appearance.HorizontalAlign = ui::Appearance::AlignLeft;
|
tempLabel->Appearance.HorizontalAlign = ui::Appearance::AlignLeft;
|
||||||
tempLabel->Appearance.VerticalAlign = ui::Appearance::AlignMiddle;
|
tempLabel->Appearance.VerticalAlign = ui::Appearance::AlignMiddle;
|
||||||
scrollPanel->AddChild(tempLabel);
|
scrollPanel->AddChild(tempLabel);
|
||||||
scrollPanel->AddChild(perfectCirclePressure);
|
scrollPanel->AddChild(perfectCircle);
|
||||||
|
|
||||||
|
currentY+=20;
|
||||||
|
graveExitsConsole = new ui::Checkbox(ui::Point(8, currentY), ui::Point(1, 16), "Key Under Esc Exits Console", "");
|
||||||
|
autowidth(graveExitsConsole);
|
||||||
|
graveExitsConsole->SetActionCallback({ [this] { c->SetGraveExitsConsole(graveExitsConsole->GetChecked()); } });
|
||||||
|
tempLabel = new ui::Label(ui::Point(graveExitsConsole->Position.X+Graphics::TextSize(graveExitsConsole->GetText()).X+19, currentY), ui::Point(1, 16), "\bg- Uncheck this if that key is 0 on your keyboard");
|
||||||
|
autowidth(tempLabel);
|
||||||
|
tempLabel->Appearance.HorizontalAlign = ui::Appearance::AlignLeft;
|
||||||
|
tempLabel->Appearance.VerticalAlign = ui::Appearance::AlignMiddle;
|
||||||
|
scrollPanel->AddChild(tempLabel);
|
||||||
|
scrollPanel->AddChild(graveExitsConsole);
|
||||||
|
|
||||||
currentY+=20;
|
currentY+=20;
|
||||||
decoSpace = new ui::DropDown(ui::Point(8, currentY), ui::Point(60, 16));
|
decoSpace = new ui::DropDown(ui::Point(8, currentY), ui::Point(60, 16));
|
||||||
@ -528,7 +539,8 @@ void OptionsView::NotifySettingsChanged(OptionsModel * sender)
|
|||||||
showAvatars->SetChecked(sender->GetShowAvatars());
|
showAvatars->SetChecked(sender->GetShowAvatars());
|
||||||
mouseClickRequired->SetChecked(sender->GetMouseClickRequired());
|
mouseClickRequired->SetChecked(sender->GetMouseClickRequired());
|
||||||
includePressure->SetChecked(sender->GetIncludePressure());
|
includePressure->SetChecked(sender->GetIncludePressure());
|
||||||
perfectCirclePressure->SetChecked(sender->GetPerfectCircle());
|
perfectCircle->SetChecked(sender->GetPerfectCircle());
|
||||||
|
graveExitsConsole->SetChecked(sender->GetGraveExitsConsole());
|
||||||
momentumScroll->SetChecked(sender->GetMomentumScroll());
|
momentumScroll->SetChecked(sender->GetMomentumScroll());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -37,7 +37,8 @@ class OptionsView: public ui::Window
|
|||||||
ui::Checkbox * momentumScroll;
|
ui::Checkbox * momentumScroll;
|
||||||
ui::Checkbox * mouseClickRequired;
|
ui::Checkbox * mouseClickRequired;
|
||||||
ui::Checkbox * includePressure;
|
ui::Checkbox * includePressure;
|
||||||
ui::Checkbox * perfectCirclePressure;
|
ui::Checkbox * perfectCircle;
|
||||||
|
ui::Checkbox * graveExitsConsole;
|
||||||
ui::ScrollPanel * scrollPanel;
|
ui::ScrollPanel * scrollPanel;
|
||||||
float customGravityX, customGravityY;
|
float customGravityX, customGravityY;
|
||||||
void UpdateAmbientAirTempPreview(float airTemp, bool isValid);
|
void UpdateAmbientAirTempPreview(float airTemp, bool isValid);
|
||||||
|
Reference in New Issue
Block a user