Skip to content
Merged
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
2 changes: 1 addition & 1 deletion game/assets/lang/en_US.lang
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ options.guiScale.auto=Auto
options.guiScale.small=Small
options.guiScale.normal=Normal
options.guiScale.large=Large
options.advancedOpengl=Advanced OpenGL
options.gamma=Gamma

performance.max=Max FPS
performance.balanced=Balanced
Expand Down
8 changes: 4 additions & 4 deletions platforms/input/xinput/GameControllerHandler_xinput.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -109,10 +109,10 @@ void GameControllerHandler_xinput::refresh()

float GameControllerHandler_xinput::normalizeAxis(float raw, float deadzone) const
{
return Mth::Max(-1.0f, raw / 32767.0f); // -32768 to 32767
return Mth::Max(-1.0f, raw / INT16_MAX);

// Deadzone is currently handled in GameControllerManager
/*float v3 = Mth::Max(-1.0f, raw / 32767.0f);
/*float v3 = Mth::Max(-1.0f, raw / INT16_MAX);
float v4 = fabs(v3);
float v5;
if (v4 >= deadzone)
Expand All @@ -124,8 +124,8 @@ float GameControllerHandler_xinput::normalizeAxis(float raw, float deadzone) con

void GameControllerHandler_xinput::normalizeAxes(Vec2& io, float deadzone) const
{
io.x = Mth::Max(-1.0f, io.x / 32767.0f);
io.y = Mth::Max(-1.0f, io.y / 32767.0f);
io.x = Mth::Max(-1.0f, io.x / INT16_MAX);
io.y = Mth::Max(-1.0f, io.y / INT16_MAX);

// Deadzone is currently handled in GameControllerManager
/*float length = io.length();
Expand Down
2 changes: 1 addition & 1 deletion platforms/sdl/base/AppPlatform_sdl.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -317,7 +317,7 @@ void AppPlatform_sdl::handleControllerButtonEvent(SDL_JoystickID controllerIndex

void AppPlatform_sdl::handleControllerAxisEvent(SDL_JoystickID controllerIndex, uint8_t axis, int16_t value)
{
float val = value / 32767.0f; // -32768 to 32767
float val = value / (float)INT16_MAX; // -32768 to 32767

switch (axis)
{
Expand Down
4 changes: 2 additions & 2 deletions source/client/app/Minecraft.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -206,7 +206,7 @@ void Minecraft::_reloadInput()
m_pLocalPlayer->m_pMoveInput = m_pInputHolder->getMoveInput();
}

getOptions()->field_19 = !isTouchscreen();
getOptions()->m_bUseMouseForDigging = !isTouchscreen();
}

int Minecraft::getLicenseId()
Expand Down Expand Up @@ -608,7 +608,7 @@ void Minecraft::tickInput()
#endif
}

if (getOptions()->field_19)
if (getOptions()->m_bUseMouseForDigging)
continue;

// @TODO: Replace with KeyboardBuildInput
Expand Down
83 changes: 47 additions & 36 deletions source/client/options/Options.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -30,18 +30,18 @@
#include "client/gui/components/TickBox.hpp"
#include "client/renderer/LogoRenderer.hpp"

#include "renderer/RenderContextImmediate.hpp"


void Options::_initDefaultValues()
{
field_244 = 1.0f;
m_flySpeed = 1.0f;
field_248 = 1.0f;
field_23E = 0;
field_241 = false;
field_24C = 0;
field_16 = 0;
field_240 = 1;
field_1C = "Default";
field_19 = 1;
m_bFixedCamera = false;
m_bLimitFramerate = false;
field_240 = true;
m_skin = "Default";
m_bUseMouseForDigging = true;
#ifdef ORIGINAL_CODE
m_viewDistance.set(2);
m_thirdPerson.set(0);
Expand Down Expand Up @@ -78,6 +78,8 @@ Options::Options(Minecraft* mc, const std::string& folderPath) :
, m_hideGui("gfx_hidegui", "options.hideGui", false)
, m_thirdPerson("gfx_thirdperson", "options.thirdPerson", false)
, m_flightHax("misc_flycheat", "options.flightHax", false)
, m_guiScale("gfx_guiscale", "options.guiScale", 0, ValuesBuilder().add("options.guiScale.auto").add("options.guiScale.small").add("options.guiScale.normal").add(("options.guiScale.large")))
, m_gamma("gfx_gamma", "options.gamma", 0.50f)
, m_playerName("mp_username", "options.username", "Steve")
, m_serverVisibleDefault("mp_server_visible_default", "options.serverVisibleDefault", true)
, m_autoJump("ctrl_autojump", "options.autoJump", mc->platform()->isTouchscreen())
Expand All @@ -89,7 +91,6 @@ Options::Options(Minecraft* mc, const std::string& folderPath) :
, m_bUseController("ctrl_usecontroller", "options.useController", false)
, m_dynamicHand("gfx_dynamichand", "options.dynamicHand", false)
, m_menuPanorama("misc_menupano", "options.menuPanorama", true)
, m_guiScale("gfx_guiscale", "options.guiScale", 0, ValuesBuilder().add("options.guiScale.auto").add("options.guiScale.small").add("options.guiScale.normal").add(("options.guiScale.large")))
, m_lang("gfx_lang", "options.lang", "en_us")
, m_uiTheme("gfx_uitheme", "options.uiTheme", GetDefaultUiTheme(m_pMinecraft), ValuesBuilder().add("options.uiTheme.pocket").add("options.uiTheme.java").add("options.uiTheme.console"))
, m_logoType("gfx_logotype", "options.logoType", LOGO_AUTO, ValuesBuilder().add("options.logoType.auto").add("options.logoType.pocket").add("options.logoType.java").add("options.logoType.console").add("options.logoType.xbox360").add("options.logoType.logo3d"))
Expand All @@ -114,6 +115,7 @@ Options::Options(Minecraft* mc, const std::string& folderPath) :
add(m_biomeColors);
add(m_ambientOcclusion);
add(m_guiScale);
add(m_gamma);
//add(m_limitFramerate);
add(m_autoJump);
//add(m_bMipmaps);
Expand Down Expand Up @@ -275,16 +277,12 @@ std::string Options::saveBool(bool b)

std::string Options::saveInt(int i)
{
std::stringstream ss;
ss << i;
return ss.str();
return Util::toString(i);
}

std::string Options::saveFloat(float f)
{
std::stringstream ss;
ss << f;
return ss.str();
return Util::toString(f);
}

std::string Options::saveArray(const std::vector<std::string>& arr)
Expand Down Expand Up @@ -698,33 +696,26 @@ void OptionEntry::addGuiElement(std::vector<GuiElement*>& elements, UITheme uiTh
elements.push_back(new SmallButton(0, 0, this, getMessage()));
}

void AOOption::apply()
{
Minecraft::useAmbientOcclusion = get();
if (m_pMinecraft->m_pLevelRenderer)
m_pMinecraft->m_pLevelRenderer->allChanged();
}

void GuiScaleOption::apply()
{
m_pMinecraft->sizeUpdate(Minecraft::width, Minecraft::height);
}

void FloatOption::load(const std::string& value)
{
set(Options::readFloat(value));
}

std::string FloatOption::getDisplayValue() const
{
return get() == 0.0f ? Language::get("options.off") : Options::saveInt(get() * 100) + "%";
return get() == 0.0f ? Language::get("options.off") : Util::toString(get() * 100) + "%";
}

void FloatOption::addGuiElement(std::vector<GuiElement*>& elements, UITheme uiTheme)
{
elements.push_back(new SliderButton(0, 0, 200, uiTheme == UI_CONSOLE ? 32 : 20, this, getMessage(), toFloat()));
}

void IntOption::load(const std::string& value)
{
set(Options::readInt(value));
}

void BoolOption::load(const std::string& value)
{
set(Options::readBool(value));
Expand Down Expand Up @@ -761,25 +752,45 @@ void MinMaxOption::addGuiElement(std::vector<GuiElement*>& elements, UITheme uiT
elements.push_back(new SwitchValuesButton(0, 0, this, getDisplayName()));
}

void GraphicsOption::apply()
std::string SensitivityOption::getDisplayValue() const
{
return get() == 0.0f ? Language::get("options.sensitivity.min") : get() == 1.0f ? Language::get("options.sensitivity.max") : Util::toString(int(get() * 200)) + "%";
}

void AOOption::apply()
{
Minecraft::useAmbientOcclusion = get();
if (m_pMinecraft->m_pLevelRenderer)
m_pMinecraft->m_pLevelRenderer->allChanged();
}

std::string FancyGraphicsOption::getMessage() const
void GuiScaleOption::apply()
{
return Util::format(Language::get("options.value").c_str(), Language::get("options.graphics").c_str(), Language::get(get() ? "options.graphics.fancy" : "options.graphics.fast").c_str());
m_pMinecraft->sizeUpdate(Minecraft::width, Minecraft::height);
}

std::string SensitivityOption::getDisplayValue() const
void GammaOption::apply()
{
return get() == 0.0f ? Language::get("options.sensitivity.min") : get() == 1.0f ? Language::get("options.sensitivity.max") : Options::saveInt(get() * 200) + "%";
// Budget rounding since the 360 just doesn't have a round function
// @TODO: Then again, we don't need this level or precision to begin with
// I just don't wanna have to rework the SliderButton to support integers
m_pMinecraft->m_pGameRenderer->setGamma((float)Mth::floor(get() * 100) / 100);
}

void IntOption::load(const std::string& value)
std::string GammaOption::getDisplayValue() const
{
set(Options::readInt(value));
return Util::toString(int(get() * 100)) + "%";
}

void GraphicsOption::apply()
{
if (m_pMinecraft->m_pLevelRenderer)
m_pMinecraft->m_pLevelRenderer->allChanged();
}

std::string FancyGraphicsOption::getMessage() const
{
return Util::format(Language::get("options.value").c_str(), Language::get("options.graphics").c_str(), Language::get(get() ? "options.graphics.fancy" : "options.graphics.fast").c_str());
}

void LogoTypeOption::apply()
Expand All @@ -793,7 +804,7 @@ void LogoTypeOption::apply()

std::string HUDSizeOption::getDisplayValue() const
{
return Options::saveInt(get() - 1);
return Util::toString(get() - 1);
}

void UIThemeOption::apply()
Expand Down
Loading