mirror of
https://github.com/GabsPuNs/Project-Zenith-Main.git
synced 2026-07-07 03:58:08 +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,9 +101,13 @@ enum EGameHostOptionWorldSize
|
||||
#define GAMESETTING_ANIMATEDCHARACTER 0x00008000
|
||||
#define GAMESETTING_PS3EULAREAD 0x00010000
|
||||
#define GAMESETTING_PSVITANETWORKMODEADHOC 0x00020000
|
||||
//TU25
|
||||
#define GAMESETTING_CAVESOUNDS 0x00100000
|
||||
#define GAMESETTING_CLASSICCRAFTING 0x00200000
|
||||
#define GAMESETTING_OLDSWINGANIMATION 0x04000000
|
||||
//New
|
||||
#define GAMESETTING_OLDSWINGANIMATION 0x00400000 //Bit 22
|
||||
#define GAMESETTING_FULLSCREEN 0x00800000 //Bit 23
|
||||
#define GAMESETTING_VSYNC 0x01000000 //Bit 24
|
||||
|
||||
|
||||
// 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,
|
||||
@@ -183,6 +179,14 @@ enum eGameSetting
|
||||
// TU25
|
||||
eGameSetting_CaveSounds,
|
||||
eGameSetting_ClassicCrafting,
|
||||
|
||||
// New
|
||||
eGameSetting_OldSwingAnimation,
|
||||
eGameSetting_RenderDistance,
|
||||
eGameSetting_GraphicsMode,
|
||||
eGameSetting_Fullscreen,
|
||||
eGameSetting_Vsync,
|
||||
eGameSetting_FOV,
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -844,9 +844,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)
|
||||
@@ -918,8 +916,12 @@ int CMinecraftApp::SetDefaultOptions(C_4JProfile::PROFILESETTINGS *pSettings,con
|
||||
SetGameSettings(iPad,eGameSetting_ClassicCrafting, 0);
|
||||
|
||||
// New
|
||||
SetGameSettings(iPad,eGameSetting_GraphicsMode, 2);
|
||||
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
|
||||
@@ -1071,7 +1073,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++)
|
||||
@@ -1082,10 +1083,6 @@ int CMinecraftApp::OldProfileVersionCallback(LPVOID pParam,unsigned char *pucDat
|
||||
// Added a bitmask in TU13 to enable/disable display of the Mash-up pack worlds in the saves list
|
||||
pGameSettings->uiMashUpPackWorldsDisplay = 0xFFFFFFFF;
|
||||
|
||||
// TU25
|
||||
pGameSettings->uiBitmaskValues|=GAMESETTING_CAVESOUNDS; //eGameSetting_CaveSounds - on
|
||||
pGameSettings->uiBitmaskValues|=GAMESETTING_CLASSICCRAFTING; //eGameSetting_ClassicCrafting - off
|
||||
|
||||
// PS3 1.05 - added Greek
|
||||
pGameSettings->ucLanguage = MINECRAFT_LANGUAGE_DEFAULT; // use the system language
|
||||
}
|
||||
@@ -1353,9 +1350,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);
|
||||
@@ -1388,8 +1383,13 @@ void CMinecraftApp::ApplyGameSettingsChanged(int iPad)
|
||||
ActionGameSettings(iPad,eGameSetting_CaveSounds);
|
||||
ActionGameSettings(iPad,eGameSetting_ClassicCrafting);
|
||||
|
||||
// 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)
|
||||
@@ -1409,15 +1409,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())
|
||||
{
|
||||
@@ -1430,14 +1421,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())
|
||||
@@ -1633,6 +1616,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 >> 25) & 0x3F;
|
||||
|
||||
int level = UIScene_SettingsGraphicsMenu::DistanceToLevel(dist);
|
||||
pMinecraft->options->set(Options::Option::RENDER_DISTANCE, 3 - level);
|
||||
};
|
||||
break;
|
||||
case eGameSetting_GraphicsMode:
|
||||
if(iPad == ProfileManager.GetPrimaryPad())
|
||||
{
|
||||
@@ -1657,7 +1649,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();
|
||||
}
|
||||
@@ -1666,7 +1657,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();
|
||||
}
|
||||
@@ -1678,6 +1668,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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1939,17 +1948,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)
|
||||
{
|
||||
@@ -1961,17 +1959,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))
|
||||
{
|
||||
@@ -2421,7 +2408,7 @@ void CMinecraftApp::SetGameSettings(int iPad,eGameSetting eVal,unsigned char ucV
|
||||
break;
|
||||
|
||||
case eGameSetting_OldSwingAnimation:
|
||||
if((GameSettingsA[iPad]->uiBitmaskValues & GAMESETTING_OLDSWINGANIMATION)!=(ucVal & 0x01)<<26)
|
||||
if((GameSettingsA[iPad]->uiBitmaskValues & GAMESETTING_OLDSWINGANIMATION)!=(ucVal & 0x01)<<22)
|
||||
{
|
||||
if(ucVal==1)
|
||||
{
|
||||
@@ -2435,6 +2422,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 << 25);
|
||||
GameSettingsA[iPad]->uiBitmaskValues |= val << 25;
|
||||
if(iPad == ProfileManager.GetPrimaryPad())
|
||||
ActionGameSettings(iPad,eVal);
|
||||
GameSettingsA[iPad]->bSettingsChanged = true;
|
||||
}
|
||||
break;
|
||||
case eGameSetting_GraphicsMode:
|
||||
if(GameSettingsA[iPad]->ucGraphicsMode != ucVal)
|
||||
{
|
||||
@@ -2446,6 +2444,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)<<23)
|
||||
{
|
||||
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)<<24)
|
||||
{
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2466,19 +2505,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;
|
||||
@@ -2589,11 +2618,26 @@ unsigned char CMinecraftApp::GetGameSettings(int iPad,eGameSetting eVal)
|
||||
|
||||
// New
|
||||
case eGameSetting_OldSwingAnimation:
|
||||
return (GameSettingsA[iPad]->uiBitmaskValues&GAMESETTING_OLDSWINGANIMATION)>>26;
|
||||
return (GameSettingsA[iPad]->uiBitmaskValues&GAMESETTING_OLDSWINGANIMATION)>>22;
|
||||
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)>>23;
|
||||
break;
|
||||
case eGameSetting_Vsync:
|
||||
return (GameSettingsA[iPad]->uiBitmaskValues&GAMESETTING_VSYNC)>>24;
|
||||
break;
|
||||
case eGameSetting_FOV:
|
||||
return GameSettingsA[iPad]->ucFov;
|
||||
break;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -668,6 +668,8 @@ void C_4JProfile::Initialise(DWORD dwTitleID,
|
||||
|
||||
// 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