diff --git a/4J.Input/4J_Input.cpp b/4J.Input/4J_Input.cpp index 7fee695c2..b0946a810 100644 --- a/4J.Input/4J_Input.cpp +++ b/4J.Input/4J_Input.cpp @@ -484,7 +484,7 @@ float C_4JInput::GetJoypadStick_RX(int /*iPad*/, bool /*bCheckMenuDisplay*/) { float C_4JInput::GetJoypadStick_RY(int /*iPad*/, bool /*bCheckMenuDisplay*/) { if (!s_mouseLocked) return 0.0f; - float raw = s_frameRelY * MOUSE_SCALE; + float raw = -s_frameRelY * MOUSE_SCALE; float absRaw = fabsf(raw); if (absRaw > 1.0f) absRaw = 1.0f; if (absRaw < 0.0001f) return 0.0f; diff --git a/Minecraft.Client/Platform/Common/Consoles_App.cpp b/Minecraft.Client/Platform/Common/Consoles_App.cpp index ccdc1f254..5268792f2 100644 --- a/Minecraft.Client/Platform/Common/Consoles_App.cpp +++ b/Minecraft.Client/Platform/Common/Consoles_App.cpp @@ -630,7 +630,11 @@ void CMinecraftApp::InitGameSettings() C4JStorage::PROFILESETTINGS *pProfileSettings=StorageManager.GetDashboardProfileSettings(i); // 4J-PB - don't cause an options write to happen here SetDefaultOptions(pProfileSettings,i,false); - +#else + // Linux (and any other platform): profile data is zero-initialised, so explicitly apply defaults + C_4JProfile::PROFILESETTINGS *pProfileSettings=ProfileManager.GetDashboardProfileSettings(i); + memset(pProfileSettings,0,sizeof(C_4JProfile::PROFILESETTINGS)); + SetDefaultOptions(pProfileSettings,i); #endif } } diff --git a/Minecraft.Client/Rendering/EntityRenderers/ItemInHandRenderer.cpp b/Minecraft.Client/Rendering/EntityRenderers/ItemInHandRenderer.cpp index f1fdd1222..d630d139a 100644 --- a/Minecraft.Client/Rendering/EntityRenderers/ItemInHandRenderer.cpp +++ b/Minecraft.Client/Rendering/EntityRenderers/ItemInHandRenderer.cpp @@ -311,6 +311,8 @@ void ItemInHandRenderer::renderItem3D(Tesselator *t, float u0, float v0, float u void ItemInHandRenderer::render(float a) { + if (!mc->player || !mc->level) return; + float h = oHeight + (height - oHeight) * a; std::shared_ptr player = mc->player;