Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion Minecraft.Client/Common/App_enums.h
Original file line number Diff line number Diff line change
Expand Up @@ -136,6 +136,7 @@ enum eGameSetting
eGameSetting_RenderDistance,
eGameSetting_Gamma,
eGameSetting_FOV,
eGameSetting_GraphicsMode,
eGameSetting_Difficulty,
eGameSetting_Sensitivity_InGame,
eGameSetting_Sensitivity_InMenu,
Expand Down Expand Up @@ -948,4 +949,4 @@ enum eMCLang

eMCLang_hans,
eMCLang_hant,
};
};
2 changes: 1 addition & 1 deletion Minecraft.Client/Common/App_structs.h
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ typedef struct
unsigned char ucSoundFXVolume;
unsigned char ucSensitivity;
unsigned char ucGamma;
unsigned char ucPad01; // 1 byte of padding inserted here
unsigned char ucGraphicsMode;
unsigned short usBitmaskValues; // bit 0,1 - difficulty
// bit 2 - view bob
// bit 3 - player visible in a map
Expand Down
40 changes: 40 additions & 0 deletions Minecraft.Client/Common/Consoles_App.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -838,6 +838,7 @@ int CMinecraftApp::SetDefaultOptions(C_4JProfile::PROFILESETTINGS *pSettings,con
SetGameSettings(iPad,eGameSetting_RenderDistance,16);
SetGameSettings(iPad,eGameSetting_Gamma,50);
SetGameSettings(iPad,eGameSetting_FOV,0);
SetGameSettings(iPad,eGameSetting_GraphicsMode,1);

// 4J-PB - Don't reset the difficult level if we're in-game
if(Minecraft::GetInstance()->level==nullptr)
Expand Down Expand Up @@ -1334,6 +1335,7 @@ void CMinecraftApp::ApplyGameSettingsChanged(int iPad)
ActionGameSettings(iPad,eGameSetting_RenderDistance );
ActionGameSettings(iPad,eGameSetting_Gamma );
ActionGameSettings(iPad,eGameSetting_FOV );
ActionGameSettings(iPad,eGameSetting_GraphicsMode );
ActionGameSettings(iPad,eGameSetting_Difficulty );
ActionGameSettings(iPad,eGameSetting_Sensitivity_InGame );
ActionGameSettings(iPad,eGameSetting_ViewBob );
Expand Down Expand Up @@ -1390,6 +1392,30 @@ void CMinecraftApp::ActionGameSettings(int iPad,eGameSetting eVal)
pMinecraft->options->set(Options::Option::RENDER_DISTANCE, 3 - level);
};
break;
case eGameSetting_GraphicsMode:
if(iPad == ProfileManager.GetPrimaryPad())
{
int graphicsLevel = GameSettingsA[iPad]->ucGraphicsMode;

if (graphicsLevel == 0) {
pMinecraft->options->set(Options::Option::GRAPHICS, false);
pMinecraft->options->set(Options::Option::AMBIENT_OCCLUSION, false);
pMinecraft->options->set(Options::Option::PARTICLES, 2);
}
else if (graphicsLevel == 1) {
pMinecraft->options->set(Options::Option::GRAPHICS, false);
pMinecraft->options->set(Options::Option::AMBIENT_OCCLUSION, true);
if (graphicsLevel == 0) pMinecraft->options->set(Options::Option::PARTICLES, 1);
}
else {
pMinecraft->options->set(Options::Option::GRAPHICS, true);
pMinecraft->options->set(Options::Option::AMBIENT_OCCLUSION, true);
if (graphicsLevel == 0) pMinecraft->options->set(Options::Option::PARTICLES, 0);
}
if (pMinecraft && pMinecraft->levelRenderer && pMinecraft->level)
pMinecraft->levelRenderer->allChanged();
}
break;
case eGameSetting_Gamma:
if(iPad==ProfileManager.GetPrimaryPad())
{
Expand Down Expand Up @@ -1868,6 +1894,17 @@ void CMinecraftApp::SetGameSettings(int iPad,eGameSetting eVal,unsigned char ucV
GameSettingsA[iPad]->bSettingsChanged = true;
}
break;
case eGameSetting_GraphicsMode:
if(GameSettingsA[iPad]->ucGraphicsMode != ucVal)
{
GameSettingsA[iPad]->ucGraphicsMode = ucVal;
if(iPad == ProfileManager.GetPrimaryPad())
{
ActionGameSettings(iPad, eVal);
}
GameSettingsA[iPad]->bSettingsChanged = true;
}
break;
case eGameSetting_Gamma:
if(GameSettingsA[iPad]->ucGamma!=ucVal)
{
Expand Down Expand Up @@ -2334,6 +2371,9 @@ unsigned char CMinecraftApp::GetGameSettings(int iPad,eGameSetting eVal)
return val;
break;
}
case eGameSetting_GraphicsMode:
return GameSettingsA[iPad]->ucGraphicsMode;
break;
case eGameSetting_Gamma:
return GameSettingsA[iPad]->ucGamma;
break;
Expand Down
Binary file modified Minecraft.Client/Common/Media/MediaWindows64.arc
Binary file not shown.
Binary file modified Minecraft.Client/Common/Media/SettingsGraphicsMenu1080.swf
Binary file not shown.
Binary file modified Minecraft.Client/Common/Media/SettingsGraphicsMenu480.swf
Binary file not shown.
Binary file modified Minecraft.Client/Common/Media/SettingsGraphicsMenu720.swf
Binary file not shown.
30 changes: 28 additions & 2 deletions Minecraft.Client/Common/UI/UIScene_SettingsGraphicsMenu.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -68,8 +68,20 @@ UIScene_SettingsGraphicsMenu::UIScene_SettingsGraphicsMenu(int iPad, void *initD

swprintf(TempString, 256, L"Render Distance: %d",app.GetGameSettings(m_iPad,eGameSetting_RenderDistance));
m_sliderRenderDistance.init(TempString,eControl_RenderDistance,0,5,DistanceToLevel(app.GetGameSettings(m_iPad,eGameSetting_RenderDistance)));

swprintf( TempString, 256, L"%ls: %d%%", app.GetString( IDS_SLIDER_GAMMA ),app.GetGameSettings(m_iPad,eGameSetting_Gamma));

int currentGraphics = app.GetGameSettings(m_iPad, eGameSetting_GraphicsMode);

const wchar_t* graphicsText = L"";
if (currentGraphics == 0) graphicsText = L"Graphics: Potato";
else if (currentGraphics == 1) graphicsText = L"Graphics: Fast";
else graphicsText = L"Graphics: Fancy";

swprintf((WCHAR*)TempString, 256, L"%ls", graphicsText);

m_sliderGraphicsMode.init(TempString, eControl_GraphicsMode, 0, 2, currentGraphics);

swprintf( (WCHAR *)TempString, 256, L"%ls: %d%%", app.GetString( IDS_SLIDER_GAMMA ),app.GetGameSettings(m_iPad,eGameSetting_Gamma));

m_sliderGamma.init(TempString,eControl_Gamma,0,100,app.GetGameSettings(m_iPad,eGameSetting_Gamma));

const int initialFovSlider = app.GetGameSettings(m_iPad, eGameSetting_FOV);
Expand Down Expand Up @@ -205,7 +217,21 @@ void UIScene_SettingsGraphicsMenu::handleSliderMove(F64 sliderId, F64 currentVal
m_sliderRenderDistance.setLabel(TempString);
}
break;
case eControl_GraphicsMode:
{
m_sliderGraphicsMode.handleSliderMove(value);

app.SetGameSettings(m_iPad, eGameSetting_GraphicsMode, value);

const wchar_t* modeName = L"Potato";
if (value == 1) modeName = L"Fast";
else if (value == 2) modeName = L"Fancy";

swprintf(TempString, 256, L"Graphics: %ls", modeName);

m_sliderGraphicsMode.setLabel(TempString);
}
break;
case eControl_Gamma:
m_sliderGamma.handleSliderMove(value);

Expand Down
8 changes: 5 additions & 3 deletions Minecraft.Client/Common/UI/UIScene_SettingsGraphicsMenu.h
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,12 @@ class UIScene_SettingsGraphicsMenu : public UIScene
eControl_RenderDistance,
eControl_Gamma,
eControl_FOV,
eControl_InterfaceOpacity
eControl_InterfaceOpacity,
eControl_GraphicsMode
};

UIControl_CheckBox m_checkboxClouds, m_checkboxBedrockFog, m_checkboxCustomSkinAnim; // Checkboxes
UIControl_Slider m_sliderRenderDistance, m_sliderGamma, m_sliderFOV, m_sliderInterfaceOpacity; // Sliders
UIControl_Slider m_sliderRenderDistance, m_sliderGamma, m_sliderFOV, m_sliderInterfaceOpacity, m_sliderGraphicsMode; // Sliders
UI_BEGIN_MAP_ELEMENTS_AND_NAMES(UIScene)
UI_MAP_ELEMENT( m_checkboxClouds, "Clouds")
UI_MAP_ELEMENT( m_checkboxBedrockFog, "BedrockFog")
Expand All @@ -28,6 +29,7 @@ class UIScene_SettingsGraphicsMenu : public UIScene
UI_MAP_ELEMENT( m_sliderGamma, "Gamma")
UI_MAP_ELEMENT(m_sliderFOV, "FOV")
UI_MAP_ELEMENT( m_sliderInterfaceOpacity, "InterfaceOpacity")
UI_MAP_ELEMENT( m_sliderGraphicsMode, "GraphicsMode")
UI_END_MAP_ELEMENTS_AND_NAMES()

bool m_bNotInGame;
Expand All @@ -53,4 +55,4 @@ class UIScene_SettingsGraphicsMenu : public UIScene
static int LevelToDistance(int dist);

static int DistanceToLevel(int dist);
};
};
2 changes: 1 addition & 1 deletion Minecraft.Client/GameRenderer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1524,7 +1524,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)
{
Expand Down
12 changes: 11 additions & 1 deletion Minecraft.Client/Options.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@ void Options::init()
anaglyph3d = false;
advancedOpengl = false;
framerateLimit = 0;
fancyGraphics = true;
fancyGraphics = false;
ambientOcclusion = true;
renderClouds = true;
skin = L"Default";
Expand Down Expand Up @@ -242,6 +242,14 @@ void Options::set(const Options::Option *item, float fVal)
{
viewDistance = fVal;
}
if (item == Option::GRAPHICS)
{
fancyGraphics = fVal;
}
if (item == Option::AMBIENT_OCCLUSION)
{
ambientOcclusion = fVal;
}
}

void Options::toggle(const Options::Option *option, int dir)
Expand Down Expand Up @@ -297,6 +305,8 @@ float Options::getProgressValue(const Options::Option *item)
if (item == Option::SOUND) return sound;
if (item == Option::SENSITIVITY) return sensitivity;
if (item == Option::RENDER_DISTANCE) return viewDistance;
if (item == Option::GRAPHICS) return fancyGraphics;
if (item == Option::AMBIENT_OCCLUSION) return ambientOcclusion;
return 0;
}

Expand Down
2 changes: 1 addition & 1 deletion Minecraft.Client/TileRenderer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
#include "EntityTileRenderer.h"
#include "Options.h"

bool TileRenderer::fancy = true;
bool TileRenderer::fancy = false;

const float smallUV = ( 1.0f / 16.0f );

Expand Down
Loading