Added new checkboxes (and for now removed gitignore because it wont let me upload .arc

This commit is contained in:
MijaeLio 2026-03-07 21:02:46 -05:00
parent f87515f5e8
commit edbdc9c593
11 changed files with 84 additions and 4 deletions

View file

@ -104,6 +104,8 @@ enum EGameHostOptionWorldSize
#define GAMESETTING_ANIMATEDCHARACTER 0x00008000
#define GAMESETTING_PS3EULAREAD 0x00010000
#define GAMESETTING_PSVITANETWORKMODEADHOC 0x00020000
#define GAMESETTING_FANCYGRAPHICS 0x01000000
#define GAMESETTING_AMBIENTOCCLUSION 0x02000000
// defines for languages

View file

@ -145,6 +145,8 @@ enum eGameSetting
eGameSetting_ControlSouthPaw,
eGameSetting_SplitScreenVertical,
eGameSetting_GamertagsVisible,
eGameSetting_FancyGraphics,
eGameSetting_AmbientOcclusion,
// Interim TU 1.6.6
eGameSetting_Autosave,
eGameSetting_DisplaySplitscreenGamertags,

View file

@ -853,6 +853,9 @@ int CMinecraftApp::SetDefaultOptions(C_4JProfile::PROFILESETTINGS *pSettings,con
SetGameSettings(iPad,eGameSetting_SplitScreenVertical,0);
SetGameSettings(iPad,eGameSetting_GamertagsVisible,1);
SetGameSettings(iPad,eGameSetting_FancyGraphics,1);
SetGameSettings(iPad,eGameSetting_AmbientOcclusion,1);
// Interim TU 1.6.6
SetGameSettings(iPad,eGameSetting_Sensitivity_InMenu,100);
SetGameSettings(iPad,eGameSetting_DisplaySplitscreenGamertags,1);
@ -1291,7 +1294,9 @@ int CMinecraftApp::OldProfileVersionCallback(LPVOID pParam,unsigned char *pucDat
pGameSettings->usBitmaskValues|=0x8000; //eGameSetting_Tooltips - on
pGameSettings->uiBitmaskValues=0L; // reset
pGameSettings->uiBitmaskValues|=GAMESETTING_FANCYGRAPHICS; //eGameSetting_FancyGraphics - on
pGameSettings->uiBitmaskValues|=GAMESETTING_CLOUDS; //eGameSetting_Clouds - on
pGameSettings->uiBitmaskValues|=GAMESETTING_AMBIENTOCCLUSION; //eGameSetting_AmbientOcclusion - on
pGameSettings->uiBitmaskValues|=GAMESETTING_ONLINE; //eGameSetting_GameSetting_Online - on
//eGameSetting_GameSetting_Invite - off
pGameSettings->uiBitmaskValues|=GAMESETTING_FRIENDSOFFRIENDS; //eGameSetting_GameSetting_FriendsOfFriends - on
@ -1343,6 +1348,9 @@ void CMinecraftApp::ApplyGameSettingsChanged(int iPad)
ActionGameSettings(iPad,eGameSetting_SplitScreenVertical);
ActionGameSettings(iPad,eGameSetting_GamertagsVisible);
ActionGameSettings(iPad,eGameSetting_FancyGraphics);
ActionGameSettings(iPad,eGameSetting_AmbientOcclusion);
// Interim TU 1.6.6
ActionGameSettings(iPad,eGameSetting_Sensitivity_InMenu );
ActionGameSettings(iPad,eGameSetting_DisplaySplitscreenGamertags);
@ -1549,6 +1557,24 @@ void CMinecraftApp::ActionGameSettings(int iPad,eGameSetting eVal)
case eGameSetting_Clouds:
//nothing to do here
break;
case eGameSetting_FancyGraphics:
{
if (pMinecraft && pMinecraft->options)
pMinecraft->options->fancyGraphics = GetGameSettings(iPad, eGameSetting_FancyGraphics) != 0;
if (pMinecraft && pMinecraft->levelRenderer && pMinecraft->level)
pMinecraft->levelRenderer->allChanged();
}
break;
case eGameSetting_AmbientOcclusion:
{
if (pMinecraft && pMinecraft->options)
pMinecraft->options->ambientOcclusion = GetGameSettings(iPad, eGameSetting_AmbientOcclusion) != 0;
if (pMinecraft && pMinecraft->levelRenderer && pMinecraft->level)
pMinecraft->levelRenderer->allChanged();
}
break;
case eGameSetting_Online:
//nothing to do here
break;
@ -2095,6 +2121,40 @@ void CMinecraftApp::SetGameSettings(int iPad,eGameSetting eVal,unsigned char ucV
break;
case eGameSetting_FancyGraphics:
if(((GameSettingsA[iPad]->uiBitmaskValues & GAMESETTING_FANCYGRAPHICS) != 0) != ((ucVal & 0x01) != 0))
{
if(ucVal==1)
{
GameSettingsA[iPad]->uiBitmaskValues|=GAMESETTING_FANCYGRAPHICS;
}
else
{
GameSettingsA[iPad]->uiBitmaskValues&=~GAMESETTING_FANCYGRAPHICS;
}
ActionGameSettings(iPad,eVal);
GameSettingsA[iPad]->bSettingsChanged=true;
}
break;
case eGameSetting_AmbientOcclusion:
if(((GameSettingsA[iPad]->uiBitmaskValues & GAMESETTING_AMBIENTOCCLUSION) != 0) != ((ucVal & 0x01) != 0))
{
if(ucVal==1)
{
GameSettingsA[iPad]->uiBitmaskValues|=GAMESETTING_AMBIENTOCCLUSION;
}
else
{
GameSettingsA[iPad]->uiBitmaskValues&=~GAMESETTING_AMBIENTOCCLUSION;
}
ActionGameSettings(iPad,eVal);
GameSettingsA[iPad]->bSettingsChanged=true;
}
break;
case eGameSetting_Online:
if((GameSettingsA[iPad]->uiBitmaskValues&GAMESETTING_ONLINE)!=(ucVal&0x01)<<1)
{
@ -2395,6 +2455,12 @@ unsigned char CMinecraftApp::GetGameSettings(int iPad,eGameSetting eVal)
case eGameSetting_Clouds:
return (GameSettingsA[iPad]->uiBitmaskValues&GAMESETTING_CLOUDS);
break;
case eGameSetting_FancyGraphics:
return (GameSettingsA[iPad]->uiBitmaskValues & GAMESETTING_FANCYGRAPHICS) >> 24;
break;
case eGameSetting_AmbientOcclusion:
return (GameSettingsA[iPad]->uiBitmaskValues & GAMESETTING_AMBIENTOCCLUSION) >> 25;
break;
case eGameSetting_Online:
return (GameSettingsA[iPad]->uiBitmaskValues&GAMESETTING_ONLINE)>>1;
break;

View file

@ -58,7 +58,9 @@ UIScene_SettingsGraphicsMenu::UIScene_SettingsGraphicsMenu(int iPad, void *initD
m_bNotInGame=(Minecraft::GetInstance()->level==NULL);
m_checkboxFancyGraphics.init(L"Fancy Graphics " ,eControl_FancyGraphics,(app.GetGameSettings(m_iPad,eGameSetting_FancyGraphics)!=0));
m_checkboxClouds.init(app.GetString(IDS_CHECKBOX_RENDER_CLOUDS),eControl_Clouds,(app.GetGameSettings(m_iPad,eGameSetting_Clouds)!=0));
m_checkboxAmbientOcclusion.init(L"Ambient Occlusion " ,eControl_AmbientOcclusion,(app.GetGameSettings(m_iPad,eGameSetting_AmbientOcclusion)!=0));
m_checkboxBedrockFog.init(app.GetString(IDS_CHECKBOX_RENDER_BEDROCKFOG),eControl_BedrockFog,(app.GetGameSettings(m_iPad,eGameSetting_BedrockFog)!=0));
m_checkboxCustomSkinAnim.init(app.GetString(IDS_CHECKBOX_CUSTOM_SKIN_ANIM),eControl_CustomSkinAnim,(app.GetGameSettings(m_iPad,eGameSetting_CustomSkinAnim)!=0));
@ -161,7 +163,9 @@ void UIScene_SettingsGraphicsMenu::handleInput(int iPad, int key, bool repeat, b
if(pressed)
{
// check the checkboxes
app.SetGameSettings(m_iPad,eGameSetting_FancyGraphics,m_checkboxFancyGraphics.IsChecked()?1:0);
app.SetGameSettings(m_iPad,eGameSetting_Clouds,m_checkboxClouds.IsChecked()?1:0);
app.SetGameSettings(m_iPad,eGameSetting_AmbientOcclusion,m_checkboxAmbientOcclusion.IsChecked()?1:0);
app.SetGameSettings(m_iPad,eGameSetting_BedrockFog,m_checkboxBedrockFog.IsChecked()?1:0);
app.SetGameSettings(m_iPad,eGameSetting_CustomSkinAnim,m_checkboxCustomSkinAnim.IsChecked()?1:0);

View file

@ -9,7 +9,9 @@ class UIScene_SettingsGraphicsMenu : public UIScene
private:
enum EControls
{
eControl_FancyGraphics,
eControl_Clouds,
eControl_AmbientOcclusion,
eControl_BedrockFog,
eControl_CustomSkinAnim,
eControl_RenderDistance,
@ -18,10 +20,12 @@ private:
eControl_InterfaceOpacity
};
UIControl_CheckBox m_checkboxClouds, m_checkboxBedrockFog, m_checkboxCustomSkinAnim; // Checkboxes
UIControl_CheckBox m_checkboxFancyGraphics, m_checkboxClouds, m_checkboxAmbientOcclusion, m_checkboxBedrockFog, m_checkboxCustomSkinAnim; // Checkboxes
UIControl_Slider m_sliderRenderDistance, m_sliderGamma, m_sliderFOV, m_sliderInterfaceOpacity; // Sliders
UI_BEGIN_MAP_ELEMENTS_AND_NAMES(UIScene)
UI_MAP_ELEMENT( m_checkboxFancyGraphics, "FancyGraphics")
UI_MAP_ELEMENT( m_checkboxClouds, "Clouds")
UI_MAP_ELEMENT( m_checkboxAmbientOcclusion, "AmbientOcclusion")
UI_MAP_ELEMENT( m_checkboxBedrockFog, "BedrockFog")
UI_MAP_ELEMENT( m_checkboxCustomSkinAnim, "CustomSkinAnim")
UI_MAP_ELEMENT( m_sliderRenderDistance, "RenderDistance")

View file

@ -536,7 +536,9 @@ void C_4JProfile::Initialise(DWORD dwTitleID,
pGameSettings->usBitmaskValues |= 0x1000; //eGameSetting_Autosave - 2
pGameSettings->usBitmaskValues |= 0x8000; //eGameSetting_Tooltips - on
pGameSettings->uiBitmaskValues = 0L; // reset
pGameSettings->uiBitmaskValues |= GAMESETTING_FANCYGRAPHICS; //eGameSetting_FancyGraphics - on
pGameSettings->uiBitmaskValues |= GAMESETTING_CLOUDS; //eGameSetting_Clouds - on
pGameSettings->uiBitmaskValues |= GAMESETTING_AMBIENTOCCLUSION; //eGameSetting_AmbientOcclusion - on
pGameSettings->uiBitmaskValues |= GAMESETTING_ONLINE; //eGameSetting_GameSetting_Online - on
pGameSettings->uiBitmaskValues |= GAMESETTING_FRIENDSOFFRIENDS; //eGameSetting_GameSetting_FriendsOfFriends - on
pGameSettings->uiBitmaskValues |= GAMESETTING_DISPLAYUPDATEMSG; //eGameSetting_DisplayUpdateMessage (counter)

View file

@ -1533,7 +1533,7 @@ void GameRenderer::renderLevel(float a, int64_t until)
// 4J - have changed this fancy rendering option to work with our command buffers. The original used to use frame buffer flags to disable
// writing to colour when doing the z-only pass, but that value gets obliterated by our command buffers. Using alpha blend function instead
// to achieve the same effect.
if (true) // (mc->options->fancyGraphics)
if (mc->options->fancyGraphics)
{
if (mc->options->ambientOcclusion)
{

View file

@ -4896,7 +4896,7 @@ bool TileRenderer::tesselateBlockInWorld( Tile* tt, int x, int y, int z )
b = cb;
}
if ( Tile::lightEmission[tt->id] == 0 )//4J - TODO/remove (Minecraft::useAmbientOcclusion())
if (Tile::lightEmission[tt->id] == 0 && Minecraft::useAmbientOcclusion())
{
return tesselateBlockInWorldWithAmbienceOcclusionTexLighting(tt, x, y, z, r, g, b, 0, smoothShapeLighting);
}
@ -4925,7 +4925,7 @@ bool TileRenderer::tesselateBlockInWorld( Tile* tt, int x, int y, int z, int fac
b = cb;
}
if ( Tile::lightEmission[tt->id] == 0 )//4J - TODO/remove (Minecraft::useAmbientOcclusion())
if (Tile::lightEmission[tt->id] == 0 && Minecraft::useAmbientOcclusion())
{
return tesselateBlockInWorldWithAmbienceOcclusionTexLighting( tt, x, y, z, r, g, b, faceFlags, smoothShapeLighting );
}