feat: 8th gen autosave on windows64

This commit is contained in:
2026-08-15 17:13:03 -04:00
parent 1a903c65dc
commit f30aa4fcf1
13 changed files with 883 additions and 862 deletions
@@ -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