mirror of
https://github.com/celisej567/mcpe.git
synced 2026-09-23 20:09:46 +03:00
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:
@@ -382,12 +382,12 @@ void Gui::handleClick(int clickID, int mouseX, int mouseY)
|
||||
|
||||
void Gui::handleKeyPressed(int keyCode)
|
||||
{
|
||||
if (m_pMinecraft->m_options.isKey(KM_INVENTORY, keyCode))
|
||||
if (m_pMinecraft->getOptions()->isKey(KM_INVENTORY, keyCode))
|
||||
{
|
||||
m_pMinecraft->setScreen(new IngameBlockSelectionScreen);
|
||||
return;
|
||||
}
|
||||
if (m_pMinecraft->m_options.isKey(KM_SLOT_R, keyCode))
|
||||
if (m_pMinecraft->getOptions()->isKey(KM_SLOT_R, keyCode))
|
||||
{
|
||||
int* slot = &m_pMinecraft->m_pLocalPlayer->m_pInventory->m_SelectedHotbarSlot;
|
||||
|
||||
@@ -402,7 +402,7 @@ void Gui::handleKeyPressed(int keyCode)
|
||||
|
||||
return;
|
||||
}
|
||||
if (m_pMinecraft->m_options.isKey(KM_SLOT_L, keyCode))
|
||||
if (m_pMinecraft->getOptions()->isKey(KM_SLOT_L, keyCode))
|
||||
{
|
||||
int* slot = &m_pMinecraft->m_pLocalPlayer->m_pInventory->m_SelectedHotbarSlot;
|
||||
|
||||
@@ -412,12 +412,12 @@ void Gui::handleKeyPressed(int keyCode)
|
||||
return;
|
||||
}
|
||||
|
||||
if (m_pMinecraft->m_options.isKey(KM_CHAT_CMD, keyCode) || m_pMinecraft->m_options.isKey(KM_CHAT, keyCode))
|
||||
if (m_pMinecraft->getOptions()->isKey(KM_CHAT_CMD, keyCode) || m_pMinecraft->getOptions()->isKey(KM_CHAT, keyCode))
|
||||
{
|
||||
if (m_pMinecraft->m_pScreen)
|
||||
return;
|
||||
|
||||
m_pMinecraft->setScreen(new ChatScreen(m_pMinecraft->m_options.isKey(KM_CHAT_CMD, keyCode)));
|
||||
m_pMinecraft->setScreen(new ChatScreen(m_pMinecraft->getOptions()->isKey(KM_CHAT_CMD, keyCode)));
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -70,7 +70,7 @@ bool Screen::isInGameScreen()
|
||||
|
||||
void Screen::keyPressed(int key)
|
||||
{
|
||||
if (m_pMinecraft->m_options.isKey(KM_MENU_CANCEL, key))
|
||||
if (m_pMinecraft->getOptions()->isKey(KM_MENU_CANCEL, key))
|
||||
{
|
||||
m_pMinecraft->setScreen(nullptr);
|
||||
}
|
||||
@@ -78,19 +78,19 @@ void Screen::keyPressed(int key)
|
||||
if (m_buttonTabList.size())
|
||||
{
|
||||
#ifndef ENH_HIGHLIGHT_BY_HOVER
|
||||
if (m_pMinecraft->m_options.isKey(MENU_NEXT, key))
|
||||
if (m_pMinecraft->getOptions()->isKey(MENU_NEXT, key))
|
||||
{
|
||||
m_tabButtonIndex++;
|
||||
if (m_tabButtonIndex == int(m_buttonTabList.size()))
|
||||
m_tabButtonIndex = 0;
|
||||
}
|
||||
if (m_pMinecraft->m_options.isKey(MENU_PREVIOUS, key))
|
||||
if (m_pMinecraft->getOptions()->isKey(MENU_PREVIOUS, key))
|
||||
{
|
||||
m_tabButtonIndex--;
|
||||
if (m_tabButtonIndex == -1)
|
||||
m_tabButtonIndex = int(m_buttonTabList.size() - 1);
|
||||
}
|
||||
if (m_pMinecraft->m_options.isKey(MENU_OK, key))
|
||||
if (m_pMinecraft->getOptions()->isKey(MENU_OK, key))
|
||||
{
|
||||
if (m_buttonTabList[m_tabButtonIndex]->m_bEnabled)
|
||||
{
|
||||
|
||||
@@ -60,7 +60,7 @@ void ChatScreen::render(int mouseX, int mouseY, float f)
|
||||
|
||||
void ChatScreen::keyPressed(int keyCode)
|
||||
{
|
||||
if (m_pMinecraft->m_options.isKey(KM_MENU_OK, keyCode))
|
||||
if (m_pMinecraft->getOptions()->isKey(KM_MENU_OK, keyCode))
|
||||
sendMessageAndExit();
|
||||
|
||||
Screen::keyPressed(keyCode);
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -59,7 +59,7 @@ bool SelectWorldScreen::isInGameScreen()
|
||||
void SelectWorldScreen::keyPressed(int code)
|
||||
{
|
||||
#ifndef ORIGINAL_CODE
|
||||
if (m_pMinecraft->m_options.getKey(KM_MENU_OK) == code)
|
||||
if (m_pMinecraft->getOptions()->getKey(KM_MENU_OK) == code)
|
||||
m_pWorldSelectionList->selectItem(m_pWorldSelectionList->getItemAtPosition(m_width / 2, m_height / 2), false);
|
||||
|
||||
m_btnUnknown.field_36 = true;
|
||||
@@ -67,10 +67,10 @@ void SelectWorldScreen::keyPressed(int code)
|
||||
|
||||
if (m_btnUnknown.field_36)
|
||||
{
|
||||
if (m_pMinecraft->m_options.getKey(KM_LEFT) == code)
|
||||
if (m_pMinecraft->getOptions()->getKey(KM_LEFT) == code)
|
||||
m_pWorldSelectionList->stepLeft();
|
||||
|
||||
if (m_pMinecraft->m_options.getKey(KM_RIGHT) == code)
|
||||
if (m_pMinecraft->getOptions()->getKey(KM_RIGHT) == code)
|
||||
m_pWorldSelectionList->stepRight();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user