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

@@ -9,6 +9,23 @@
#include "AppPlatform.hpp"
#include "common/Utils.hpp"
AppPlatform* AppPlatform::m_singleton = nullptr;
AppPlatform* const AppPlatform::singleton()
{
return m_singleton;
}
AppPlatform::AppPlatform()
{
m_singleton = this;
}
AppPlatform::~AppPlatform()
{
}
void AppPlatform::_tick()
{
@@ -89,11 +106,6 @@ Texture AppPlatform::loadTexture(const std::string&, bool)
return Texture(0, 0, nullptr, 1, 0);
}
std::vector<std::string> AppPlatform::getOptionStrings()
{
return std::vector<std::string>();
}
void AppPlatform::recenterMouse()
{
@@ -123,8 +135,9 @@ bool AppPlatform::shiftPressed()
return false;
}
void AppPlatform::setOptionStrings(const std::vector<std::string>& vec)
bool AppPlatform::hasFileSystemAccess()
{
return false;
}
std::string AppPlatform::getPatchData()