Options Logic Cleanup (#71)

* Output/Logging Overhaul
* Added StandardOut class
* Renamed LOGX macros to LOG_X
* Removed LogMsg macros in favor of LOG_X
* Added console window for debug Windows builds

* Options Refactor
* Moved options loading code from AppPlatform classes to Options class
* Added AppPlatform::singleton()
* Minecraft::m_options is now only accessible via Minecraft::getOptions() (as it should be)
* Making this work with SDL2 next

* Options Cleanup for SDL2

* Added AppPlatform::hasFileSystemAccess()
* Options won't try to load if hasFileSystemAccess returns false. Emscripten build will be happy.

---------

Co-authored-by: Brent Da Mage <BrentDaMage@users.noreply.github.com>
This commit is contained in:
Brent
2023-09-04 04:11:36 -05:00
committed by GitHub
parent cd4c469571
commit 2e55f99a54
25 changed files with 355 additions and 275 deletions

View File

@@ -65,7 +65,7 @@ static std::string ViewDistanceStr(int dist)
void OptionsScreen::UpdateTexts()
{
Options& o = m_pMinecraft->m_options;
Options& o = *(m_pMinecraft->getOptions());
m_AOButton.m_text = "Smooth lighting: " + BoolOptionStr(o.m_bAmbientOcclusion);
m_invertYButton.m_text = "Invert Y-axis: " + BoolOptionStr(o.m_bInvertMouse);
@@ -159,16 +159,13 @@ void OptionsScreen::render(int a, int b, float c)
void OptionsScreen::removed()
{
#ifdef ORIGINAL_CODE // Reloading options will reload the options.txt we introduced. Don't do this
m_pMinecraft->reloadOptions();
#endif
}
#ifndef ORIGINAL_CODE
void OptionsScreen::buttonClicked(Button* pButton)
{
Options& o = m_pMinecraft->m_options;
Options& o = *(m_pMinecraft->getOptions());
bool* pOption = nullptr;
switch (pButton->m_buttonId)