feat: modernized splitscreen settings menus

This commit is contained in:
Fireblade 2026-06-02 22:14:37 -04:00
parent 1a2299730a
commit eddd4cc6fd
No known key found for this signature in database
14 changed files with 8 additions and 20 deletions

View file

@ -231,6 +231,7 @@ enum eMinecraftColour
eMinecraftColour_Foliage_ExtremeHillsEdge,
eMinecraftColour_Foliage_Jungle,
eMinecraftColour_Foliage_JungleHills,
eMinecraftColour_Foliage_JungleEdge,
eMinecraftColour_Foliage_Savanna,
eMinecraftColour_Foliage_RoofedForest,
eMinecraftColour_Foliage_Mesa,
@ -259,6 +260,7 @@ enum eMinecraftColour
eMinecraftColour_Grass_ExtremeHillsEdge,
eMinecraftColour_Grass_Jungle,
eMinecraftColour_Grass_JungleHills,
eMinecraftColour_Grass_JungleEdge,
eMinecraftColour_Grass_Savanna,
eMinecraftColour_Grass_RoofedForest,
eMinecraftColour_Grass_Mesa,
@ -286,6 +288,7 @@ enum eMinecraftColour
eMinecraftColour_Water_ExtremeHillsEdge,
eMinecraftColour_Water_Jungle,
eMinecraftColour_Water_JungleHills,
eMinecraftColour_Water_JungleEdge,
eMinecraftColour_Water_Mesa,
eMinecraftColour_Sky_Ocean,
@ -311,6 +314,7 @@ enum eMinecraftColour
eMinecraftColour_Sky_ExtremeHillsEdge,
eMinecraftColour_Sky_Jungle,
eMinecraftColour_Sky_JungleHills,
eMinecraftColour_Sky_JungleEdge,
eMinecraftColour_Tile_RedstoneDust,
eMinecraftColour_Tile_RedstoneDustUnlit,

View file

@ -89,24 +89,6 @@ UIScene_SettingsGraphicsMenu::UIScene_SettingsGraphicsMenu(int iPad, void *initD
// VSync and Exclusive Fullscreen are only available on PC
removeControl(&m_checkboxVSync, true);
removeControl(&m_checkboxExclusiveFullscreen, true);
#else
// The SWF's original focus chain skips VSync, Fullscreen, and RenderDistance
// (CustomSkinAnim -> Gamma). Rewire the navigation so all controls are reachable:
// CustomSkinAnim -> VSync -> Fullscreen -> RenderDistance -> Gamma
{
IggyName navDown = registerFastName(L"m_objNavDown");
IggyName navUp = registerFastName(L"m_objNavUp");
IggyValueSetStringUTF8RS(m_checkboxCustomSkinAnim.getIggyValuePath(), navDown, nullptr, "VSync", -1);
IggyValueSetStringUTF8RS(m_checkboxVSync.getIggyValuePath(), navUp, nullptr, "CustomSkinAnim", -1);
IggyValueSetStringUTF8RS(m_checkboxVSync.getIggyValuePath(), navDown, nullptr, "ExclusiveFullscreen", -1);
IggyValueSetStringUTF8RS(m_checkboxExclusiveFullscreen.getIggyValuePath(), navUp, nullptr, "VSync", -1);
IggyValueSetStringUTF8RS(m_checkboxExclusiveFullscreen.getIggyValuePath(), navDown, nullptr, "RenderDistance", -1);
IggyValueSetStringUTF8RS(m_sliderRenderDistance.getIggyValuePath(), navUp, nullptr, "ExclusiveFullscreen", -1);
}
#endif
const bool bInGame=(Minecraft::GetInstance()->level!=nullptr);

View file

@ -16,7 +16,7 @@ const double Double::MAX_VALUE = DBL_MAX;
const double Double::MIN_NORMAL = DBL_MIN;
int Integer::parseInt(wstring &str, int radix /* = 10*/)
int Integer::parseInt(const wstring &str, int radix /* = 10*/)
{
return wcstol( str.c_str(), nullptr, radix );
}

View file

@ -19,7 +19,7 @@ class Integer
{
public:
static const int MAX_VALUE = INT_MAX;
static int parseInt(wstring &str, int radix = 10);
static int parseInt(const wstring &str, int radix = 10);
};
class Float

View file

@ -150,6 +150,7 @@ void ChestTileEntity::load(CompoundTag *base)
Tag *idTag = tag->get(L"id");
int idType = idTag != nullptr ? idTag->getId() : -1;
/*
if (idType == Tag::TAG_String)
{
app.DebugPrintf("[ChestTileEntity] Missing chest item at %d,%d,%d slot=%u idType=%d idStr=%ls count=%d damage=%d\n", x, y, z, slot, idType, tag->getString(L"id").c_str(), tag->getByte(L"Count"), tag->getShort(L"Damage"));
@ -162,6 +163,7 @@ void ChestTileEntity::load(CompoundTag *base)
{
app.DebugPrintf("[ChestTileEntity] Missing chest item at %d,%d,%d slot=%u idType=%d id=%d count=%d damage=%d\n", x, y, z, slot, idType, tag->getShort(L"id"), tag->getByte(L"Count"), tag->getShort(L"Damage"));
}
*/
}
(*items)[slot] = loadedItem;
}