feat: 8th gen autosave on windows64

This commit is contained in:
str1k3r committed 2026-08-15 17:13:03 -04:00
1 parent 1a903c65dc
commit f30aa4fcf1
13 files changed
+883 -862

No files matched your search

+7 -5
View File
@@ -766,6 +766,8 @@ void CMinecraftApp::InitGameSettings()
// 4J-PB - adding in for Windows & PS3 to set the defaults for the joypad
#if defined _WINDOWS64// || defined __PSVITA__
C_4JProfile::PROFILESETTINGS *pProfileSettings=ProfileManager.GetDashboardProfileSettings(i);
//str1k3r - Temporary
app.SetGameHostOption(eGameHostOption_DisableSaving, 0);
// clear this for now - it will come from reading the system values
memset(pProfileSettings,0,sizeof(C_4JProfile::PROFILESETTINGS));
SetDefaultOptions(pProfileSettings,i);
@@ -2780,7 +2782,7 @@ void CMinecraftApp::HandleXuiActions(void)
app.SetAutosaveTimerTime();
SetAction(i,eAppAction_Idle);
#if defined(_XBOX_ONE) || defined(__ORBIS__)
#if defined(_XBOX_ONE) || defined(__ORBIS__) || defined(_WINDOWS64)
app.SetXuiServerAction(ProfileManager.GetPrimaryPad(),eXuiServerAction_AutoSaveGame);
if(app.GetGameHostOption(eGameHostOption_DisableSaving)) StorageManager.SetSaveDisabled(true);
@@ -3567,7 +3569,7 @@ void CMinecraftApp::HandleXuiActions(void)
SetAction(i,eAppAction_Idle);
// Check the player really wants to do this
#if defined(_XBOX_ONE) || defined(__ORBIS__)
#if defined(_XBOX_ONE) || defined(__ORBIS__) || defined(_WINDOWS64)
// Show save option is saves ARE disabled
if(ProfileManager.IsFullVersion() && StorageManager.GetSaveDisabled() && i==ProfileManager.GetPrimaryPad() && g_NetworkManager.IsHost() && GetGameStarted() )
{
@@ -5936,7 +5938,7 @@ int CMinecraftApp::ExitAndJoinFromInviteSaveDialogReturned(void *pParam,int iPad
else
#endif
{
#if defined(_XBOX_ONE) || defined(__ORBIS__)
#if defined(_XBOX_ONE) || defined(__ORBIS__) || defined(_WINDOWS64)
StorageManager.SetSaveDisabled(false);
#endif
MinecraftServer::getInstance()->setSaveOnExit( true );
@@ -6139,7 +6141,7 @@ int CMinecraftApp::ExitAndJoinFromInviteDeclineSaveReturned(void *pParam,int iPa
// results switched for this dialog
if(result==C4JStorage::EMessage_ResultDecline)
{
#if defined(_XBOX_ONE) || defined(__ORBIS__)
#if defined(_XBOX_ONE) || defined(__ORBIS__) || defined(_WINDOWS64)
StorageManager.SetSaveDisabled(false);
#endif
MinecraftServer::getInstance()->setSaveOnExit( false );
@@ -9460,7 +9462,7 @@ int CMinecraftApp::GetDLCInfoTexturesOffersCount()
// AUTOSAVE
void CMinecraftApp::SetAutosaveTimerTime(void)
{
#if defined(_XBOX_ONE) || defined(__ORBIS__)
#if defined(_XBOX_ONE) || defined(__ORBIS__) || defined(_WINDOWS64)
m_uiAutosaveTimer= GetTickCount()+1000*60;
#else
m_uiAutosaveTimer= GetTickCount()+GetGameSettings(ProfileManager.GetPrimaryPad(),eGameSetting_Autosave)*1000*60*15;
@@ -94,7 +94,7 @@ int IUIScene_PauseMenu::ExitGameSaveDialogReturned(void *pParam,int iPad,C4JStor
}
else
{
#if defined(_XBOX_ONE) || defined(__ORBIS__)
#if defined(_XBOX_ONE) || defined(__ORBIS__) || defined(_WINDOWS64)
StorageManager.SetSaveDisabled(false);
#endif
MinecraftServer::getInstance()->setSaveOnExit( true );
@@ -133,7 +133,7 @@ int IUIScene_PauseMenu::ExitGameAndSaveReturned(void *pParam,int iPad,C4JStorage
//INT saveOrCheckpointId = 0;
//bool validSave = StorageManager.GetSaveUniqueNumber(&saveOrCheckpointId);
//SentientManager.RecordLevelSaveOrCheckpoint(ProfileManager.GetPrimaryPad(), saveOrCheckpointId);
#if defined(_XBOX_ONE) || defined(__ORBIS__)
#if defined(_XBOX_ONE) || defined(__ORBIS__) || defined(_WINDOWS64)
StorageManager.SetSaveDisabled(false);
#endif
if(pScene) pScene->SetIgnoreInput(true);
@@ -178,7 +178,7 @@ int IUIScene_PauseMenu::ExitGameDeclineSaveReturned(void *pParam,int iPad,C4JSto
// results switched for this dialog
if(result==C4JStorage::EMessage_ResultDecline)
{
#if defined(_XBOX_ONE) || defined(__ORBIS__)
#if defined(_XBOX_ONE) || defined(__ORBIS__) || defined(_WINDOWS64)
// Don't do this here, as it will still try and save some things even though it shouldn't!
//StorageManager.SetSaveDisabled(false);
#endif
@@ -381,7 +381,7 @@ int IUIScene_PauseMenu::SaveWorldThreadProc( LPVOID lpParameter )
if(!MinecraftServer::serverHalted() && !app.GetChangingSessionType() ) app.SetGameStarted(true);
#if defined(_XBOX_ONE) || defined(__ORBIS__)
#if defined(_XBOX_ONE) || defined(__ORBIS__) || defined(_WINDOWS64)
if(app.GetGameHostOption(eGameHostOption_DisableSaving)) StorageManager.SetSaveDisabled(true);
#endif
}
@@ -647,7 +647,7 @@ void IUIScene_PauseMenu::_ExitWorld(LPVOID lpParameter)
app.SetChangingSessionType(false);
app.SetReallyChangingSessionType(false);
#if defined(_XBOX_ONE) || defined(__ORBIS__)
#if defined(_XBOX_ONE) || defined(__ORBIS__) || defined(_WINDOWS64)
// Make sure we don't think saving is disabled in the menus
StorageManager.SetSaveDisabled(false);
#endif
@@ -659,7 +659,7 @@ int IUIScene_PauseMenu::SaveGameDialogReturned(void *pParam,int iPad,C4JStorage:
// results switched for this dialog
if(result==C4JStorage::EMessage_ResultDecline)
{
#if defined(_XBOX_ONE) || defined(__ORBIS__)
#if defined(_XBOX_ONE) || defined(__ORBIS__) || defined(_WINDOWS64)
UINT uiIDA[2];
uiIDA[0]=IDS_CONFIRM_CANCEL;
uiIDA[1]=IDS_CONFIRM_OK;
@@ -597,7 +597,7 @@ void UIScene_CreateWorldMenu::StartSharedLaunchFlow()
}
}
}
#if defined _XBOX_ONE || defined __ORBIS__
#if defined _XBOX_ONE || defined __ORBIS__ || defined(_WINDOWS64)
app.SetGameHostOption(eGameHostOption_DisableSaving, m_MoreOptionsParams.bDisableSaving?1:0);
StorageManager.SetSaveDisabled(m_MoreOptionsParams.bDisableSaving);
#endif
@@ -110,7 +110,7 @@ void UIScene_DeathMenu::handlePress(F64 controlId, F64 childId)
}
TelemetryManager->RecordLevelExit(m_iPad, eSen_LevelExitStatus_Failed);
#if defined (_XBOX_ONE) || defined(__ORBIS__)
#if defined (_XBOX_ONE) || defined(__ORBIS__) || defined(_WINDOWS64)
if(g_NetworkManager.IsHost() && StorageManager.GetSaveDisabled())
{
uiIDA[0]=IDS_CONFIRM_CANCEL;
@@ -866,7 +866,7 @@ void UIScene_LoadMenu::StartSharedLaunchFlow()
ui.RequestAlertMessage(IDS_WARNING_DLC_TRIALTEXTUREPACK_TITLE, IDS_USING_TRIAL_TEXUREPACK_WARNING, uiIDA, 2, m_iPad,&TrialTexturePackWarningReturned,this);
#endif
#if defined _XBOX_ONE || defined __ORBIS__
#if defined _XBOX_ONE || defined __ORBIS__ || defined(_WINDOWS64)
StorageManager.SetSaveDisabled(true);
#endif
return;
@@ -875,7 +875,7 @@ void UIScene_LoadMenu::StartSharedLaunchFlow()
}
app.SetGameHostOption(eGameHostOption_WasntSaveOwner, (!m_bIsSaveOwner));
#if defined _XBOX_ONE || defined __ORBIS__
#if defined _XBOX_ONE || defined __ORBIS__ || defined(_WINDOWS64)
app.SetGameHostOption(eGameHostOption_DisableSaving, m_MoreOptionsParams.bDisableSaving?1:0);
StorageManager.SetSaveDisabled(m_MoreOptionsParams.bDisableSaving);
@@ -38,7 +38,7 @@ UIScene_PauseMenu::UIScene_PauseMenu(int iPad, void *initData, UILayer *parentLa
#else
m_buttons[BUTTON_PAUSE_ACHIEVEMENTS].init(app.GetString(IDS_ACHIEVEMENTS),BUTTON_PAUSE_ACHIEVEMENTS);
#endif
#if defined(_XBOX_ONE) || defined(__ORBIS__)
#if defined(_XBOX_ONE) || defined(__ORBIS__) || defined(_WINDOWS64)
m_bTrialTexturePack = false;
if(!Minecraft::GetInstance()->skins->isUsingDefaultSkin())
{
@@ -149,7 +149,7 @@ void UIScene_PauseMenu::tick()
#endif
#if defined _XBOX_ONE || defined __ORBIS__
#if defined _XBOX_ONE || defined __ORBIS__ || defined _WINDOWS64
if(!m_bTrialTexturePack && m_savesDisabled != (app.GetGameHostOption(eGameHostOption_DisableSaving) != 0) && ProfileManager.GetPrimaryPad() == m_iPad )
{
// We show the save button if saves are disabled as this lets us show a prompt to enable them (via purchasing a texture pack)
@@ -239,7 +239,7 @@ void UIScene_PauseMenu::updateComponents()
void UIScene_PauseMenu::handlePreReload()
{
#if defined _XBOX_ONE || defined __ORBIS__
#if defined _XBOX_ONE || defined __ORBIS__ || defined _WINDOWS64
if(ProfileManager.GetPrimaryPad() == m_iPad)
{
// 4J-TomK - check for all possible labels being fed into BUTTON_PAUSE_SAVEGAME (Bug 163775)
@@ -257,7 +257,7 @@ void UIScene_PauseMenu::handleReload()
updateTooltips();
updateControlsVisibility();
#if defined _XBOX_ONE || defined __ORBIS__
#if defined _XBOX_ONE || defined __ORBIS__ || defined _WINDOWS64
if(ProfileManager.GetPrimaryPad() == m_iPad)
{
// We show the save button if saves are disabled as this lets us show a prompt to enable them (via purchasing a texture pack)
@@ -659,7 +659,7 @@ void UIScene_PauseMenu::handlePress(F64 controlId, F64 childId)
playTime = (int)pMinecraft->localplayers[m_iPad]->getSessionTimer();
}
#if defined(_XBOX_ONE) || defined(__ORBIS__)
#if defined(_XBOX_ONE) || defined(__ORBIS__) || defined(_WINDOWS64)
uiIDA[0]=IDS_CONFIRM_CANCEL;
uiIDA[1]=IDS_CONFIRM_OK;
@@ -893,7 +893,7 @@ void UIScene_PauseMenu::PerformActionSaveGame()
else
#endif
{
#if defined(_XBOX_ONE) || defined(__ORBIS__)
#if defined(_XBOX_ONE) || defined(__ORBIS__) || defined(_WINDOWS64)
if(!m_savesDisabled)
{
UINT uiIDA[2];
@@ -913,7 +913,7 @@ void UIScene_PauseMenu::PerformActionSaveGame()
}
else
{
#if defined(_XBOX_ONE) || defined(__ORBIS__)
#if defined(_XBOX_ONE) || defined(__ORBIS__) || defined(_WINDOWS64)
UINT uiIDA[2];
uiIDA[0]=IDS_CONFIRM_CANCEL;
uiIDA[1]=IDS_CONFIRM_OK;
@@ -1402,7 +1402,7 @@ int UIScene_PauseMenu::ExitGameSaveDialogReturned(void *pParam,int iPad,C4JStora
}
else
{
#if defined(_XBOX_ONE) || defined(__ORBIS__)
#if defined(_XBOX_ONE) || defined(__ORBIS__) || defined(_WINDOWS64)
StorageManager.SetSaveDisabled(false);
#endif
MinecraftServer::getInstance()->setSaveOnExit( true );
@@ -68,7 +68,7 @@ UIScene_SettingsOptionsMenu::UIScene_SettingsOptionsMenu(int iPad, void *initDat
m_sliderAutosave.setAllPossibleLabels(9,autosaveLabels);
m_sliderAutosave.init(autosaveLabels[ucValue],eControl_Autosave,0,8,ucValue);
#if defined(_XBOX_ONE) || defined(__ORBIS__)
#if defined(_XBOX_ONE) || defined(__ORBIS__) || defined(_WINDOWS64)
removeControl(&m_sliderAutosave,true);
#endif
@@ -291,7 +291,7 @@ void UIScene_SettingsOptionsMenu::handleReload()
m_sliderAutosave.setAllPossibleLabels(9,autosaveLabels);
m_sliderAutosave.init(autosaveLabels[ucValue],eControl_Autosave,0,8,ucValue);
#if defined(_XBOX_ONE) || defined(__ORBIS__)
#if defined(_XBOX_ONE) || defined(__ORBIS__) || defined(_WINDOWS64)
removeControl(&m_sliderAutosave,true);
#endif