mirror of
https://github.com/GabsPuNs/Project-Zenith-Main.git
synced 2026-06-05 09:34:37 +00:00
Add Fullscreen and Vsync settings bits
This commit is contained in:
@@ -84,9 +84,6 @@ enum EGameHostOptionWorldSize
|
||||
#define MAX_FAVORITE_SKINS 10 // these are stored in the profile data so keep it small
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// defines for game settings - uiBitmaskValues
|
||||
|
||||
#define GAMESETTING_CLOUDS 0x00000001
|
||||
@@ -104,7 +101,10 @@ enum EGameHostOptionWorldSize
|
||||
#define GAMESETTING_ANIMATEDCHARACTER 0x00008000
|
||||
#define GAMESETTING_PS3EULAREAD 0x00010000
|
||||
#define GAMESETTING_PSVITANETWORKMODEADHOC 0x00020000
|
||||
#define GAMESETTING_OLDSWINGANIMATION 0x04000000
|
||||
//New
|
||||
#define GAMESETTING_OLDSWINGANIMATION 0x00100000 //Bit 20
|
||||
#define GAMESETTING_FULLSCREEN 0x00200000 //Bit 21
|
||||
#define GAMESETTING_VSYNC 0x00400000 //Bit 22
|
||||
|
||||
|
||||
// defines for languages
|
||||
|
||||
@@ -133,9 +133,7 @@ enum eGameSetting
|
||||
{
|
||||
eGameSetting_MusicVolume=0,
|
||||
eGameSetting_SoundFXVolume,
|
||||
eGameSetting_RenderDistance,
|
||||
eGameSetting_Gamma,
|
||||
eGameSetting_FOV,
|
||||
eGameSetting_Difficulty,
|
||||
eGameSetting_Sensitivity_InGame,
|
||||
eGameSetting_Sensitivity_InMenu,
|
||||
@@ -145,8 +143,6 @@ enum eGameSetting
|
||||
eGameSetting_ControlSouthPaw,
|
||||
eGameSetting_SplitScreenVertical,
|
||||
eGameSetting_GamertagsVisible,
|
||||
eGameSetting_OldSwingAnimation,
|
||||
eGameSetting_GraphicsMode,
|
||||
// Interim TU 1.6.6
|
||||
eGameSetting_Autosave,
|
||||
eGameSetting_DisplaySplitscreenGamertags,
|
||||
@@ -180,7 +176,13 @@ enum eGameSetting
|
||||
// PSVita
|
||||
eGameSetting_PSVita_NetworkModeAdhoc,
|
||||
|
||||
|
||||
// New
|
||||
eGameSetting_OldSwingAnimation,
|
||||
eGameSetting_RenderDistance,
|
||||
eGameSetting_GraphicsMode,
|
||||
eGameSetting_Fullscreen,
|
||||
eGameSetting_Vsync,
|
||||
eGameSetting_FOV,
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -841,9 +841,7 @@ int CMinecraftApp::SetDefaultOptions(C_4JProfile::PROFILESETTINGS *pSettings,con
|
||||
{
|
||||
SetGameSettings(iPad,eGameSetting_MusicVolume,DEFAULT_VOLUME_LEVEL);
|
||||
SetGameSettings(iPad,eGameSetting_SoundFXVolume,DEFAULT_VOLUME_LEVEL);
|
||||
SetGameSettings(iPad,eGameSetting_RenderDistance,16);
|
||||
SetGameSettings(iPad,eGameSetting_Gamma,50);
|
||||
SetGameSettings(iPad,eGameSetting_FOV,0);
|
||||
|
||||
// 4J-PB - Don't reset the difficult level if we're in-game
|
||||
if(Minecraft::GetInstance()->level==nullptr)
|
||||
@@ -910,16 +908,20 @@ int CMinecraftApp::SetDefaultOptions(C_4JProfile::PROFILESETTINGS *pSettings,con
|
||||
app.SetGameHostOption(eGameHostOption_NaturalRegeneration, 1 );
|
||||
app.SetGameHostOption(eGameHostOption_DoDaylightCycle, 1 );
|
||||
|
||||
// New
|
||||
SetGameSettings(iPad,eGameSetting_OldSwingAnimation, 0);
|
||||
SetGameSettings(iPad,eGameSetting_RenderDistance,16);
|
||||
SetGameSettings(iPad,eGameSetting_GraphicsMode, 2);
|
||||
SetGameSettings(iPad,eGameSetting_Fullscreen, 0);
|
||||
SetGameSettings(iPad,eGameSetting_Vsync, 1);
|
||||
SetGameSettings(iPad,eGameSetting_FOV,0);
|
||||
|
||||
// 4J-PB - leave these in, or remove from everywhere they are referenced!
|
||||
// Although probably best to leave in unless we split the profile settings into platform specific classes - having different meaning per platform for the same bitmask could get confusing
|
||||
//#ifdef __PS3__
|
||||
// PS3DEC13
|
||||
SetGameSettings(iPad,eGameSetting_PS3_EULA_Read,0); // EULA not read
|
||||
|
||||
// New
|
||||
SetGameSettings(iPad,eGameSetting_GraphicsMode,2);
|
||||
SetGameSettings(iPad,eGameSetting_OldSwingAnimation,0);
|
||||
|
||||
// PS3 1.05 - added Greek
|
||||
|
||||
// 4J-JEV: We cannot change these in-game, as they could affect localised strings and font.
|
||||
@@ -1064,7 +1066,6 @@ int CMinecraftApp::OldProfileVersionCallback(LPVOID pParam,unsigned char *pucDat
|
||||
pGameSettings->uiBitmaskValues|=(GAMESETTING_UISIZE&0x00000800); // uisize 2
|
||||
pGameSettings->uiBitmaskValues|=(GAMESETTING_UISIZE_SPLITSCREEN&0x00004000); // splitscreen ui size 3
|
||||
pGameSettings->uiBitmaskValues|=GAMESETTING_ANIMATEDCHARACTER; //eGameSetting_AnimatedCharacter - on
|
||||
pGameSettings->uiBitmaskValues|=GAMESETTING_OLDSWINGANIMATION; //eGameSetting_OldSwingAnimation - off
|
||||
// TU12
|
||||
// favorite skins added, but only set in TU12 - set to FFs
|
||||
for(int i=0;i<MAX_FAVORITE_SKINS;i++)
|
||||
@@ -1342,9 +1343,7 @@ void CMinecraftApp::ApplyGameSettingsChanged(int iPad)
|
||||
{
|
||||
ActionGameSettings(iPad,eGameSetting_MusicVolume);
|
||||
ActionGameSettings(iPad,eGameSetting_SoundFXVolume);
|
||||
ActionGameSettings(iPad,eGameSetting_RenderDistance);
|
||||
ActionGameSettings(iPad,eGameSetting_Gamma);
|
||||
ActionGameSettings(iPad,eGameSetting_FOV);
|
||||
ActionGameSettings(iPad,eGameSetting_Difficulty);
|
||||
ActionGameSettings(iPad,eGameSetting_Sensitivity_InGame);
|
||||
ActionGameSettings(iPad,eGameSetting_ViewBob);
|
||||
@@ -1373,8 +1372,13 @@ void CMinecraftApp::ApplyGameSettingsChanged(int iPad)
|
||||
|
||||
ActionGameSettings(iPad,eGameSetting_PS3_EULA_Read);
|
||||
|
||||
// New
|
||||
ActionGameSettings(iPad,eGameSetting_OldSwingAnimation);
|
||||
ActionGameSettings(iPad,eGameSetting_RenderDistance);
|
||||
ActionGameSettings(iPad,eGameSetting_GraphicsMode);
|
||||
ActionGameSettings(iPad,eGameSetting_Fullscreen);
|
||||
ActionGameSettings(iPad,eGameSetting_Vsync);
|
||||
ActionGameSettings(iPad,eGameSetting_FOV);
|
||||
}
|
||||
|
||||
void CMinecraftApp::ActionGameSettings(int iPad,eGameSetting eVal)
|
||||
@@ -1394,15 +1398,6 @@ void CMinecraftApp::ActionGameSettings(int iPad,eGameSetting eVal)
|
||||
pMinecraft->options->set(Options::Option::SOUND, static_cast<float>(GameSettingsA[iPad]->ucSoundFXVolume) / 100.0f);
|
||||
}
|
||||
break;
|
||||
case eGameSetting_RenderDistance:
|
||||
if (iPad == ProfileManager.GetPrimaryPad())
|
||||
{
|
||||
int dist = (GameSettingsA[iPad]->uiBitmaskValues >> 16) & 0xFF;
|
||||
|
||||
int level = UIScene_SettingsGraphicsMenu::DistanceToLevel(dist);
|
||||
pMinecraft->options->set(Options::Option::RENDER_DISTANCE, 3 - level);
|
||||
};
|
||||
break;
|
||||
case eGameSetting_Gamma:
|
||||
if(iPad==ProfileManager.GetPrimaryPad())
|
||||
{
|
||||
@@ -1415,14 +1410,6 @@ void CMinecraftApp::ActionGameSettings(int iPad,eGameSetting eVal)
|
||||
#endif
|
||||
}
|
||||
|
||||
break;
|
||||
case eGameSetting_FOV:
|
||||
if(iPad==ProfileManager.GetPrimaryPad())
|
||||
{
|
||||
float fovDeg = 70.0f + (float)GameSettingsA[iPad]->ucFov * 40.0f / 100.0f;
|
||||
pMinecraft->gameRenderer->SetFovVal(fovDeg);
|
||||
pMinecraft->options->set(Options::Option::FOV, (float)GameSettingsA[iPad]->ucFov / 100.0f);
|
||||
}
|
||||
break;
|
||||
case eGameSetting_Difficulty:
|
||||
if(iPad==ProfileManager.GetPrimaryPad())
|
||||
@@ -1612,6 +1599,15 @@ void CMinecraftApp::ActionGameSettings(int iPad,eGameSetting eVal)
|
||||
case eGameSetting_OldSwingAnimation:
|
||||
//nothing to do here
|
||||
break;
|
||||
case eGameSetting_RenderDistance:
|
||||
if (iPad == ProfileManager.GetPrimaryPad())
|
||||
{
|
||||
int dist = (GameSettingsA[iPad]->uiBitmaskValues >> 23) & 0x3F;
|
||||
|
||||
int level = UIScene_SettingsGraphicsMenu::DistanceToLevel(dist);
|
||||
pMinecraft->options->set(Options::Option::RENDER_DISTANCE, 3 - level);
|
||||
};
|
||||
break;
|
||||
case eGameSetting_GraphicsMode:
|
||||
if(iPad == ProfileManager.GetPrimaryPad())
|
||||
{
|
||||
@@ -1636,7 +1632,6 @@ void CMinecraftApp::ActionGameSettings(int iPad,eGameSetting eVal)
|
||||
pMinecraft->options->set(Options::Option::GRAPHICS, true);
|
||||
pMinecraft->options->set(Options::Option::MIPMAPS_BLEND, false);
|
||||
pMinecraft->options->set(Options::Option::AMBIENT_OCCLUSION, true);
|
||||
RenderManager.DisableVsync();
|
||||
pMinecraft->options->set(Options::Option::PARTICLES, 0);
|
||||
pMinecraft->textures->reloadAll();
|
||||
}
|
||||
@@ -1645,7 +1640,6 @@ void CMinecraftApp::ActionGameSettings(int iPad,eGameSetting eVal)
|
||||
pMinecraft->options->set(Options::Option::GRAPHICS, true);
|
||||
pMinecraft->options->set(Options::Option::MIPMAPS_BLEND, true);
|
||||
pMinecraft->options->set(Options::Option::AMBIENT_OCCLUSION, true);
|
||||
RenderManager.EnableVsync();
|
||||
pMinecraft->options->set(Options::Option::PARTICLES, 0);
|
||||
pMinecraft->textures->reloadAll();
|
||||
}
|
||||
@@ -1657,6 +1651,25 @@ void CMinecraftApp::ActionGameSettings(int iPad,eGameSetting eVal)
|
||||
}
|
||||
}
|
||||
break;
|
||||
case eGameSetting_Fullscreen:
|
||||
//nothing to do here
|
||||
break;
|
||||
case eGameSetting_Vsync:
|
||||
{
|
||||
if ((GameSettingsA[iPad]->uiBitmaskValues & GAMESETTING_VSYNC) == 1)
|
||||
RenderManager.EnableVsync();
|
||||
else
|
||||
RenderManager.DisableVsync();
|
||||
}
|
||||
break;
|
||||
case eGameSetting_FOV:
|
||||
if(iPad==ProfileManager.GetPrimaryPad())
|
||||
{
|
||||
float fovDeg = 70.0f + (float)GameSettingsA[iPad]->ucFov * 40.0f / 100.0f;
|
||||
pMinecraft->gameRenderer->SetFovVal(fovDeg);
|
||||
pMinecraft->options->set(Options::Option::FOV, (float)GameSettingsA[iPad]->ucFov / 100.0f);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1918,17 +1931,6 @@ void CMinecraftApp::SetGameSettings(int iPad,eGameSetting eVal,unsigned char ucV
|
||||
GameSettingsA[iPad]->bSettingsChanged=true;
|
||||
}
|
||||
break;
|
||||
case eGameSetting_RenderDistance:
|
||||
{
|
||||
unsigned int val = ucVal & 0xFF;
|
||||
|
||||
GameSettingsA[iPad]->uiBitmaskValues &= ~(0xFF << 16);
|
||||
GameSettingsA[iPad]->uiBitmaskValues |= val << 16;
|
||||
if(iPad == ProfileManager.GetPrimaryPad())
|
||||
ActionGameSettings(iPad,eVal);
|
||||
GameSettingsA[iPad]->bSettingsChanged = true;
|
||||
}
|
||||
break;
|
||||
case eGameSetting_Gamma:
|
||||
if(GameSettingsA[iPad]->ucGamma!=ucVal)
|
||||
{
|
||||
@@ -1940,17 +1942,6 @@ void CMinecraftApp::SetGameSettings(int iPad,eGameSetting eVal,unsigned char ucV
|
||||
GameSettingsA[iPad]->bSettingsChanged=true;
|
||||
}
|
||||
break;
|
||||
case eGameSetting_FOV:
|
||||
if(GameSettingsA[iPad]->ucFov!=ucVal)
|
||||
{
|
||||
GameSettingsA[iPad]->ucFov=ucVal;
|
||||
if(iPad==ProfileManager.GetPrimaryPad())
|
||||
{
|
||||
ActionGameSettings(iPad,eVal);
|
||||
}
|
||||
GameSettingsA[iPad]->bSettingsChanged=true;
|
||||
}
|
||||
break;
|
||||
case eGameSetting_Difficulty:
|
||||
if((GameSettingsA[iPad]->usBitmaskValues&0x03)!=(ucVal&0x03))
|
||||
{
|
||||
@@ -2368,7 +2359,7 @@ void CMinecraftApp::SetGameSettings(int iPad,eGameSetting eVal,unsigned char ucV
|
||||
break;
|
||||
|
||||
case eGameSetting_OldSwingAnimation:
|
||||
if(((GameSettingsA[iPad]->uiBitmaskValues & GAMESETTING_OLDSWINGANIMATION) != 0) != ((ucVal & 0x01) != 0))
|
||||
if((GameSettingsA[iPad]->uiBitmaskValues & GAMESETTING_OLDSWINGANIMATION)!=(ucVal & 0x01)<<20)
|
||||
{
|
||||
if(ucVal==1)
|
||||
{
|
||||
@@ -2382,6 +2373,17 @@ void CMinecraftApp::SetGameSettings(int iPad,eGameSetting eVal,unsigned char ucV
|
||||
GameSettingsA[iPad]->bSettingsChanged=true;
|
||||
}
|
||||
|
||||
break;
|
||||
case eGameSetting_RenderDistance:
|
||||
{
|
||||
unsigned int val = ucVal & 0x3F;
|
||||
|
||||
GameSettingsA[iPad]->uiBitmaskValues &= ~(0x3F << 23);
|
||||
GameSettingsA[iPad]->uiBitmaskValues |= val << 23;
|
||||
if(iPad == ProfileManager.GetPrimaryPad())
|
||||
ActionGameSettings(iPad,eVal);
|
||||
GameSettingsA[iPad]->bSettingsChanged = true;
|
||||
}
|
||||
break;
|
||||
case eGameSetting_GraphicsMode:
|
||||
if(GameSettingsA[iPad]->ucGraphicsMode != ucVal)
|
||||
@@ -2394,6 +2396,47 @@ void CMinecraftApp::SetGameSettings(int iPad,eGameSetting eVal,unsigned char ucV
|
||||
GameSettingsA[iPad]->bSettingsChanged = true;
|
||||
}
|
||||
break;
|
||||
case eGameSetting_Fullscreen:
|
||||
if((GameSettingsA[iPad]->uiBitmaskValues & GAMESETTING_FULLSCREEN)!=(ucVal & 0x01)<<21)
|
||||
{
|
||||
if(ucVal==1)
|
||||
{
|
||||
GameSettingsA[iPad]->uiBitmaskValues|=GAMESETTING_FULLSCREEN;
|
||||
}
|
||||
else
|
||||
{
|
||||
GameSettingsA[iPad]->uiBitmaskValues&=~GAMESETTING_FULLSCREEN;
|
||||
}
|
||||
ActionGameSettings(iPad,eVal);
|
||||
GameSettingsA[iPad]->bSettingsChanged=true;
|
||||
}
|
||||
break;
|
||||
case eGameSetting_Vsync:
|
||||
if((GameSettingsA[iPad]->uiBitmaskValues & GAMESETTING_VSYNC)!=(ucVal & 0x01)<<22)
|
||||
{
|
||||
if(ucVal==1)
|
||||
{
|
||||
GameSettingsA[iPad]->uiBitmaskValues|=GAMESETTING_VSYNC;
|
||||
}
|
||||
else
|
||||
{
|
||||
GameSettingsA[iPad]->uiBitmaskValues&=~GAMESETTING_VSYNC;
|
||||
}
|
||||
ActionGameSettings(iPad,eVal);
|
||||
GameSettingsA[iPad]->bSettingsChanged=true;
|
||||
}
|
||||
break;
|
||||
case eGameSetting_FOV:
|
||||
if(GameSettingsA[iPad]->ucFov!=ucVal)
|
||||
{
|
||||
GameSettingsA[iPad]->ucFov=ucVal;
|
||||
if(iPad==ProfileManager.GetPrimaryPad())
|
||||
{
|
||||
ActionGameSettings(iPad,eVal);
|
||||
}
|
||||
GameSettingsA[iPad]->bSettingsChanged=true;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2414,19 +2457,9 @@ unsigned char CMinecraftApp::GetGameSettings(int iPad,eGameSetting eVal)
|
||||
case eGameSetting_SoundFXVolume:
|
||||
return GameSettingsA[iPad]->ucSoundFXVolume;
|
||||
break;
|
||||
case eGameSetting_RenderDistance:
|
||||
{
|
||||
int val = (GameSettingsA[iPad]->uiBitmaskValues >> 16) & 0xFF;
|
||||
if(val == 0) return val = 16; //brain
|
||||
return val;
|
||||
break;
|
||||
}
|
||||
case eGameSetting_Gamma:
|
||||
return GameSettingsA[iPad]->ucGamma;
|
||||
break;
|
||||
case eGameSetting_FOV:
|
||||
return GameSettingsA[iPad]->ucFov;
|
||||
break;
|
||||
case eGameSetting_Difficulty:
|
||||
return GameSettingsA[iPad]->usBitmaskValues&0x0003;
|
||||
break;
|
||||
@@ -2529,11 +2562,26 @@ unsigned char CMinecraftApp::GetGameSettings(int iPad,eGameSetting eVal)
|
||||
case eGameSetting_PSVita_NetworkModeAdhoc:
|
||||
return (GameSettingsA[iPad]->uiBitmaskValues&GAMESETTING_PSVITANETWORKMODEADHOC)>>17;
|
||||
case eGameSetting_OldSwingAnimation:
|
||||
return (GameSettingsA[iPad]->uiBitmaskValues & GAMESETTING_OLDSWINGANIMATION) >> 26;
|
||||
return (GameSettingsA[iPad]->uiBitmaskValues&GAMESETTING_OLDSWINGANIMATION)>>20;
|
||||
break;
|
||||
case eGameSetting_RenderDistance:
|
||||
{
|
||||
unsigned char ucVal=(GameSettingsA[iPad]->uiBitmaskValues >> 25) & 0x3F;
|
||||
return ucVal;
|
||||
}
|
||||
break;
|
||||
case eGameSetting_GraphicsMode:
|
||||
return GameSettingsA[iPad]->ucGraphicsMode;
|
||||
break;
|
||||
case eGameSetting_Fullscreen:
|
||||
return (GameSettingsA[iPad]->uiBitmaskValues&GAMESETTING_FULLSCREEN)>>21;
|
||||
break;
|
||||
case eGameSetting_Vsync:
|
||||
return (GameSettingsA[iPad]->uiBitmaskValues&GAMESETTING_VSYNC)>>22;
|
||||
break;
|
||||
case eGameSetting_FOV:
|
||||
return GameSettingsA[iPad]->ucFov;
|
||||
break;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -642,7 +642,6 @@ void C_4JProfile::Initialise(DWORD dwTitleID,
|
||||
pGameSettings->uiBitmaskValues |= (GAMESETTING_UISIZE & 0x00000800); // uisize 2
|
||||
pGameSettings->uiBitmaskValues |= (GAMESETTING_UISIZE_SPLITSCREEN & 0x00004000); // splitscreen ui size 3
|
||||
pGameSettings->uiBitmaskValues |= GAMESETTING_ANIMATEDCHARACTER; //eGameSetting_AnimatedCharacter - on
|
||||
pGameSettings->uiBitmaskValues |= GAMESETTING_OLDSWINGANIMATION; //eGameSetting_OldSwingAnimation - off
|
||||
|
||||
// TU12
|
||||
// favorite skins added, but only set in TU12 - set to FFs
|
||||
@@ -663,6 +662,10 @@ void C_4JProfile::Initialise(DWORD dwTitleID,
|
||||
// PS Vita - network mode added
|
||||
pGameSettings->uiBitmaskValues &= ~GAMESETTING_PSVITANETWORKMODEADHOC; //eGameSetting_PSVita_NetworkModeAdhoc - off
|
||||
|
||||
// New
|
||||
pGameSettings->uiBitmaskValues |= GAMESETTING_OLDSWINGANIMATION; //eGameSetting_OldSwingAnimation - off
|
||||
pGameSettings->uiBitmaskValues |= GAMESETTING_FULLSCREEN; //eGameSetting_Fullscreen - off
|
||||
pGameSettings->uiBitmaskValues |= GAMESETTING_VSYNC; //eGameSetting_Vsync - on
|
||||
|
||||
// Tutorials for most menus, and a few other things
|
||||
pGameSettings->ucTutorialCompletion[0] = 0xFF;
|
||||
|
||||
Reference in New Issue
Block a user