fix: misc bugs

fixes:
- f3 menu outside world border
- control type being affected by seemingly random oddities
- bedrock glitch in low y levels (thanks tranq)
This commit is contained in:
Fireblade
2026-07-17 19:20:05 -04:00
parent 43b3a70d4d
commit 338b1b2dd9
7 changed files with 20 additions and 16 deletions
+2 -2
View File
@@ -65,7 +65,7 @@ typedef struct
// In-Menu sensitivity
unsigned char ucMenuSensitivity;
unsigned char ucInterfaceOpacity;
unsigned char ucPad02; // 1 byte padding
unsigned char ucControlType;
unsigned char ucFov;
// Adding another bitmask flag for more settings for 1.8.2
@@ -85,7 +85,7 @@ typedef struct
// 0x00000200 - eGameSetting_CustomSkinAnim - on
// TU9 // 0x00000400 - eGameSetting_DeathMessages - on
// 0x00070000 - eGameSetting_ControlType - 0..6
// ucControlType stores eGameSetting_ControlType (0..6)
// Adding another bitmask to store "special" completion tasks for the tutorial
unsigned int uiSpecialTutorialBitmask;
+3 -4
View File
@@ -2175,10 +2175,9 @@ void CMinecraftApp::SetGameSettings(int iPad,eGameSetting eVal,unsigned char ucV
}
break;
case eGameSetting_ControlType:
if((GameSettingsA[iPad]->uiBitmaskValues & 0x00070000) != ((ucVal & 0x07) << 16))
if(GameSettingsA[iPad]->ucControlType != (ucVal & 0x07))
{
GameSettingsA[iPad]->uiBitmaskValues &= ~0x00070000;
GameSettingsA[iPad]->uiBitmaskValues |= (ucVal & 0x07) << 16;
GameSettingsA[iPad]->ucControlType = static_cast<unsigned char>(ucVal & 0x07);
GameSettingsA[iPad]->bSettingsChanged = true;
}
break;
@@ -2799,7 +2798,7 @@ unsigned char CMinecraftApp::GetGameSettings(int iPad,eGameSetting eVal)
case eGameSetting_ExclusiveFullscreen:
return (GameSettingsA[iPad]->uiBitmaskValues&GAMESETTING_EXCLUSIVEFULLSCREEN)>>25;
case eGameSetting_ControlType:
return (GameSettingsA[iPad]->uiBitmaskValues & 0x00070000) >> 16;
return GameSettingsA[iPad]->ucControlType;
case eGameSetting_SafeCam:
return (GameSettingsA[iPad]->uiBitmaskValues & GAMESETTING_SAFECAM) >> 30;
+2 -4
View File
@@ -318,17 +318,15 @@ public:
#if defined __PS3__ || defined __PSVITA__ || defined __ORBIS__
static int NowDisplayFullVersionPurchase(void *pParam, bool bContinue, int iPad);
static int MustSignInFullVersionPurchaseReturned(void *pParam,int iPad,C4JStorage::EMessageResult result);
#endif
#if defined __PS3__ || defined __PSVITA__ || defined __ORBIS__
static int MustSignInFullVersionPurchaseReturnedExitTrial(void *pParam,int iPad,C4JStorage::EMessageResult result);
#endif
#ifdef _DEBUG_MENUS_ENABLED
#if defined _DEBUG && defined _DEBUG_MENUS_ENABLED // fireblade: gate against this just in case cause debug settings should NOT be on no matter what in release mode
bool DebugSettingsOn() { return m_bDebugOptions;}
bool DebugArtToolsOn();
#else
bool DebugSettingsOn() { return false;}
bool DebugArtToolsOn() { return false;}
bool DebugArtToolsOn();
#endif
void SetDebugSequence(const char *pchSeq);
static int DebugInputCallback(LPVOID pParam);
@@ -755,7 +755,7 @@ UIScene_LoadCreateJoinMenu::UIScene_LoadCreateJoinMenu(int iPad, void *initData,
m_labelSavesListTitle.init( L"Load" );
m_labelSavesListTitle.init( IDS_LOAD );
m_labelCreateListTitle.init( IDS_TOOLTIPS_CREATE );
+5 -2
View File
@@ -1291,8 +1291,11 @@ void Gui::render(float a, bool mouseFree, int xMouse, int yMouse)
lines.push_back(L"CH S: " + std::to_wstring(chunkAt->getHeightmap(xChunkOffset, zChunkOffset)));
Biome *biome = chunkAt->getBiome(xChunkOffset, zChunkOffset, minecraft->level->getBiomeSource());
lines.push_back(L"Biome: " + biome->m_name + L" (" + std::to_wstring(biome->id) + L")");
if (biome != nullptr && biome->id >= 0)
lines.push_back(L"Biome: " + biome->m_name + L" (" + std::to_wstring(biome->id) + L")");
else
lines.push_back(L"Biome: Unknown");
lines.push_back(L"Difficulty: " + std::to_wstring(minecraft->level->difficulty) + L" (Day " + std::to_wstring(minecraft->level->getGameTime() / Level::TICKS_PER_DAY) + L")");
}
}