1 Commits
Author SHA1 Message Date
qloak e3e5c54847 fix: Xbox 360 fixes
Fixes black text and newer DLCs crashing
2026-08-14 14:04:49 -07:00
1556 changed files with 268035 additions and 264041 deletions
-114
View File
@@ -1,114 +0,0 @@
name: Build & Release Windows64
on:
workflow_dispatch:
inputs:
version:
description: 'Version tag for release (e.g. v1.0.0).'
required: true
default: ''
notes:
description: 'URL to notes for release.'
required: false
default: ''
jobs:
validate:
runs-on: windows-2022
steps:
- name: Validate version format
run: |
if (-not ("${{ inputs.version }}" -match '^v\d+\.\d+\.\d+[a-zA-Z0-9.-]*$')) {
Write-Error "Version '${{ inputs.version }}' doesn't match expected format (e.g. v1.0.0)"
exit 1
}
build:
needs: validate
strategy:
matrix:
configuration: [ContentPackage]
platform: [Windows64]
include:
- platform: Windows64
sdk_label: windows-2022 # str1k3r - can run on any runner
runs-on: [windows-2022, "${{ matrix.sdk_label }}"]
steps:
- name: Checkout Repository
uses: https://github.com/actions/checkout@v4
with:
fetch-depth: 1
clean: false
lfs: false
submodules: true
- name: Build Cafeberry
run: |
& "C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe" MinecraftConsoles.sln `
/p:Configuration=${{ matrix.configuration }} `
/p:Platform=${{ matrix.platform }} `
/m
- name: Zip Build
run: |
7z a -r "LCEWindows64.zip" "./x64/${{ matrix.configuration }}/*" "-x!*.pdb" "-x!*.pch" "-x!*.ilk" "-x!*.lib" "-x!*.exp"
- name: Stage artifacts
run: |
New-Item -ItemType Directory -Force -Path staging
Copy-Item "LCE${{ matrix.platform }}.zip" staging/
Copy-Item "./x64/${{ matrix.configuration }}/Minecraft.Client.exe" staging/
- name: Upload artifacts
uses: https://github.com/christopherHX/gitea-upload-artifact@v4
with:
name: build-${{ matrix.platform }}
path: staging/*
compression-level: 0
release:
needs: build
runs-on: windows-2022
steps:
- name: Download all build artifacts
uses: https://github.com/christopherHX/gitea-download-artifact@v4
with:
path: downloaded
- name: Fetch release notes
id: notes
run: |
$notesSource = "${{ inputs.notes }}"
$fallback = "## Cafeberry`n`n### Whoever made this release forgot to put notes, sorry!"
if ($notesSource -match '^https?://') {
try {
$body = (Invoke-WebRequest -Uri $notesSource -UseBasicParsing).Content
if ([string]::IsNullOrWhiteSpace($body)) { $body = $fallback }
} catch {
$body = $fallback
}
} else {
$body = $fallback
}
$delimiter = "EOF_$([System.Guid]::NewGuid().ToString('N'))"
$content = "description<<$delimiter`n$body`n$delimiter`n"
$utf8NoBom = New-Object System.Text.UTF8Encoding($false)
[System.IO.File]::AppendAllText($env:GITHUB_OUTPUT, $content, $utf8NoBom)
- name: Publish Release
uses: akkuman/gitea-release-action@v1
with:
name: ${{ inputs.version }}
server_url: ${{ gitea.server_url }}
repository: ${{ gitea.repository }}
token: ${{ gitea.token }}
tag_name: ${{ inputs.version }}
prerelease: false
verbose: true
files: downloaded/**/*
body: ${{ steps.notes.outputs.description }}
+3 -4
View File
@@ -18,7 +18,7 @@ jobs:
steps:
- name: Validate version format
run: |
if (-not ("${{ inputs.version }}" -match '^[vb]\d+\.\d+\.\d+[a-zA-Z0-9.-]*$')) {
if (-not ("${{ inputs.version }}" -match '^v\d+\.\d+\.\d+[a-zA-Z0-9.-]*$')) {
Write-Error "Version '${{ inputs.version }}' doesn't match expected format (e.g. v1.0.0)"
exit 1
}
@@ -27,7 +27,7 @@ jobs:
needs: validate
strategy:
matrix:
configuration: [ContentPackage]
configuration: [Release]
platform: [Windows64, Xbox360, Orbis, PSVita, PS3]
include:
- platform: Windows64
@@ -45,12 +45,11 @@ jobs:
steps:
- name: Checkout Repository
uses: actions/checkout@v6
uses: https://github.com/actions/checkout@v4
with:
fetch-depth: 1
clean: false
lfs: false
submodules: recursive
- name: Build Cafeberry
run: |
-4
View File
@@ -28,10 +28,6 @@
/Minecraft.Client/PS3/SPU_Tasks/*/Release
/Minecraft.Client/PS3/SPU_Tasks/*/ContentPackage
# Xbox 360 XZP & XURs
Minecraft.Client/XboxMedia/XZP
Minecraft.Client/Common/Media/XURs
# Misc
*.ppu.o
*.pkg
+1 -1
View File
@@ -1,5 +1,5 @@
[submodule "Minecraft.Client/Windows64/4JLibs"]
path = Minecraft.Client/Windows64/4JLibs
url = https://gitea.str1k3r.xyz/cafeberry/4JLibs.git
url = https://gitea.str1k3r.xyz/pieeebot/Cafeberry-4JLibs
ignore = untracked
branch = main
+1 -1
View File
@@ -248,7 +248,7 @@ void AbstractTexturePack::loadDefaultUI()
//CXuiSceneBase::GetInstance()->SetVisualPrefix(L"TexturePack");
CXuiSceneBase::GetInstance()->SkinChanged(CXuiSceneBase::GetInstance()->m_hObj);
#else
ui.ReloadSkins();
ui.ReloadSkin();
#endif
}
+13 -1
View File
@@ -93,13 +93,14 @@ BufferedImage::BufferedImage(const wstring& File, bool filenameHasExtension /*=f
if(bTitleUpdateTexture)
{
// Make the content package point to to the UPDATE: drive is needed
wDrive= wstr + L"\\Common\\res\\TitleUpdate\\";
}
else
{
wDrive= wstr + L"/Common/";
}
//#elif __PSVITA__
#elif __PSVITA__
/*char *pchUsrDir=getUsrDirPath();
@@ -114,9 +115,20 @@ BufferedImage::BufferedImage(const wstring& File, bool filenameHasExtension /*=f
{
wDrive= wstr + L"/Common/";
}*/
if(bTitleUpdateTexture)
{
// Make the content package point to to the UPDATE: drive is needed
wDrive= L"Common\\res\\TitleUpdate\\";
}
else
{
wDrive= L"Common/";
}
#else
if(bTitleUpdateTexture)
{
// Make the content package point to to the UPDATE: drive is needed
wDrive= L"Common\\res\\TitleUpdate\\";
}
else
+1 -4
View File
@@ -1365,7 +1365,7 @@ void ClientConnection::handleChat(shared_ptr<ChatPacket> packet)
break;
case ChatPacket::e_ChatCannotPlaceLava:
displayOnGui = false;
app.SetGlobalUIAction(eAppAction_DisplayLavaMessage);
app.SetGlobalXuiAction(eAppAction_DisplayLavaMessage);
break;
case ChatPacket::e_ChatDeathInFire:
message=app.GetString(IDS_DEATH_INFIRE);
@@ -1784,13 +1784,10 @@ void ClientConnection::handlePreLogin(shared_ptr<PreLoginPacket> packet)
app.SetGameHostOption(eGameHostOption_All,packet->m_serverSettings);
// 4J-PB - if we go straight in from the menus via an invite, we won't have the DLC info
//str1k3r - TMS only exists on Xbox 360 therefore, we only need this on Xbox 360.
#ifdef _XBOX
if(app.GetTMSGlobalFileListRead()==false)
{
app.SetTMSAction(ProfileManager.GetPrimaryPad(),eTMSAction_TMSPP_RetrieveFiles_RunPlayGame);
}
#endif
}
#ifdef _XBOX
+16 -17
View File
@@ -31,7 +31,7 @@ enum eFont
eFont_None, // to fallback to nothing
};
enum eUIAction
enum eXuiAction
{
eAppAction_Idle=0,
eAppAction_SaveGame,
@@ -112,21 +112,21 @@ enum eTMSAction
// The server runs on its own thread, so we need to call its actions there rather than where all other Xui actions are performed
// In general these are debugging options
enum eUIServerAction
enum eXuiServerAction
{
eUIServerAction_Idle=0,
eUIServerAction_DropItem, // Debug
eUIServerAction_SaveGame,
eUIServerAction_AutoSaveGame,
eUIServerAction_SpawnMob, // Debug
eUIServerAction_PauseServer,
eUIServerAction_ToggleRain, // Debug
eUIServerAction_ToggleThunder, // Debug
eUIServerAction_ServerSettingChanged_Gamertags,
eUIServerAction_ServerSettingChanged_Difficulty,
eUIServerAction_ExportSchematic, //Debug
eUIServerAction_ServerSettingChanged_BedrockFog,
eUIServerAction_SetCameraLocation, //Debug
eXuiServerAction_Idle=0,
eXuiServerAction_DropItem, // Debug
eXuiServerAction_SaveGame,
eXuiServerAction_AutoSaveGame,
eXuiServerAction_SpawnMob, // Debug
eXuiServerAction_PauseServer,
eXuiServerAction_ToggleRain, // Debug
eXuiServerAction_ToggleThunder, // Debug
eXuiServerAction_ServerSettingChanged_Gamertags,
eXuiServerAction_ServerSettingChanged_Difficulty,
eXuiServerAction_ExportSchematic, //Debug
eXuiServerAction_ServerSettingChanged_BedrockFog,
eXuiServerAction_SetCameraLocation, //Debug
};
enum eGameSetting
@@ -875,8 +875,7 @@ enum EControllerActions
MINECRAFT_ACTION_SPAWN_CREEPER,
MINECRAFT_ACTION_CHANGE_SKIN,
MINECRAFT_ACTION_FLY_TOGGLE,
MINECRAFT_ACTION_RENDER_DEBUG,
MINECRAFT_ACTION_RENDER_DEBUG_SCREEN
MINECRAFT_ACTION_RENDER_DEBUG
};
enum eMCLang
+2 -2
View File
@@ -138,9 +138,9 @@ typedef std::vector <PBANNEDLISTDATA> VBANNEDLIST;
typedef struct
{
int iPad;
eUIAction action;
eXuiAction action;
}
UIActionParam;
XuiActionParam;
// tips
typedef struct
+86 -21
View File
@@ -22,13 +22,44 @@
#ifdef __ORBIS__
#include <audioout.h>
//#define __DISABLE_MILES__ // MGH disabled for now as it crashes if we call sceNpMatching2Initialize
#endif
#endif
// take out Orbis until they are done
#if defined _XBOX
SoundEngine::SoundEngine() {}
void SoundEngine::init(Options *pOptions)
{
}
void SoundEngine::tick(shared_ptr<Mob> *players, float a)
{
}
void SoundEngine::destroy() {}
void SoundEngine::play(int iSound, float x, float y, float z, float volume, float pitch)
{
app.DebugPrintf("PlaySound - %d\n",iSound);
}
void SoundEngine::playStreaming(const wstring& name, float x, float y , float z, float volume, float pitch, bool bMusicDelay) {}
void SoundEngine::playUI(int iSound, float volume, float pitch) {}
void SoundEngine::updateMusicVolume(float fVal) {}
void SoundEngine::updateSoundEffectVolume(float fVal) {}
void SoundEngine::add(const wstring& name, File *file) {}
void SoundEngine::addMusic(const wstring& name, File *file) {}
void SoundEngine::addStreaming(const wstring& name, File *file) {}
char *SoundEngine::ConvertSoundPathToName(const wstring& name, bool bConvertSpaces) { return NULL; }
bool SoundEngine::isStreamingWavebankReady() { return true; }
void SoundEngine::playMusicTick() {};
#else
// str1k3r: previously ps4 needed the durango folder to load sound and so did windows this fixes that and makes them use there own folders.
#ifdef _WINDOWS64
char SoundEngine::m_szSoundPath[]={"Windows64Media\\Sound\\"};
char SoundEngine::m_szMusicPath[]={"music\\"};
char SoundEngine::m_szRedistName[]={"Windows64\\redist64"}; //str1k3r - moved this to the Windows64 dir so its out of plain view
char SoundEngine::m_szRedistName[]={"Windows64\\redist64"}; //str1k3r - moved this to a the Windows64 dir so its out of plain view
#elif defined _DURANGO
char SoundEngine::m_szSoundPath[]={"Sound\\"};
char SoundEngine::m_szMusicPath[]={"music\\"};
@@ -48,7 +79,7 @@ char SoundEngine::m_szMusicPath[]={"music/"};
char SoundEngine::m_szRedistName[]={"redist"};
#endif
/*#ifdef _CONTENT_PACKAGE // str1k3r - not needed use default paths instead.
/*#ifdef _CONTENT_PACKAGE // strk1k3r - not needed use default paths instead.
char SoundEngine::m_szSoundPath[]={"Sound/"};
#elif defined _ART_BUILD
char SoundEngine::m_szSoundPath[]={"Sound/"};
@@ -80,6 +111,7 @@ char *SoundEngine::m_szStreamFileA[eStream_Max]=
"hal4",
"nuance1",
"nuance2",
#ifndef _XBOX
// add the new music tracks
"creative1",
"creative2",
@@ -91,9 +123,11 @@ char *SoundEngine::m_szStreamFileA[eStream_Max]=
"menu2",
"menu3",
"menu4",
#endif
"piano1",
"piano2",
"piano3",
// Nether
"nether1",
"nether2",
@@ -274,7 +308,9 @@ void SoundEngine::init(Options *pOptions)
sprintf(szBankName,"%s/%s",getUsrDirPath(), m_szSoundPath );
}
#elif (defined __PSVITA__ || __ORBIS__)
#elif defined __PSVITA__
sprintf(szBankName,"%s/%s",getUsrDirPath(), m_szSoundPath );
#elif defined __ORBIS__
sprintf(szBankName,"%s/%s",getUsrDirPath(), m_szSoundPath );
#else
strcpy((char *)szBankName,m_szSoundPath);
@@ -1100,7 +1136,7 @@ int SoundEngine::OpenStreamThreadProc( void* lpParameter )
{
#ifdef __DISABLE_MILES__
return 0;
#else
#endif
SoundEngine *soundEngine = (SoundEngine *)lpParameter;
soundEngine->m_hStream = AIL_open_stream(soundEngine->m_hDriver,soundEngine->m_szStreamName,0);
@@ -1111,7 +1147,6 @@ int SoundEngine::OpenStreamThreadProc( void* lpParameter )
}
#endif
return 0;
#endif
}
/////////////////////////////////////////////
@@ -1121,7 +1156,8 @@ int SoundEngine::OpenStreamThreadProc( void* lpParameter )
/////////////////////////////////////////////
void SoundEngine::playMusicTick()
{
#ifndef __PSVITA__ // AP - vita will update the music during the mixer callback
// AP - vita will update the music during the mixer callback
#ifndef __PSVITA__
playMusicUpdate();
#endif
}
@@ -1130,17 +1166,13 @@ void SoundEngine::playMusicTick()
void SoundEngine::playMusicUpdate()
{
//return;
static float fMusicVol = 0.0f;
#ifndef _WINDOWS64 //str1k3r - if used on windows64 volume doesnt update
static bool firstCall = true;
static float fMusicVol = 0.0f;
if( firstCall )
{
fMusicVol = getMasterMusicVolume();
firstCall = false;
}
#else
fMusicVol = getMasterMusicVolume();
#endif
switch(m_StreamState)
{
@@ -1156,6 +1188,10 @@ void SoundEngine::playMusicUpdate()
if(m_musicID!=-1)
{
// start playing it
#if ( defined __PS3__ || defined __PSVITA__ || defined __ORBIS__ )
#ifdef __PS3__
// 4J-PB - Need to check if we are a patched BD build
if(app.GetBootedFromDiscPatch())
@@ -1167,12 +1203,13 @@ void SoundEngine::playMusicUpdate()
{
sprintf(m_szStreamName,"%s/%s",getUsrDirPath(), m_szMusicPath );
}
#elif (defined __PSVITA__ || __ORBIS__)
#else
sprintf(m_szStreamName,"%s/%s",getUsrDirPath(), m_szMusicPath );
#endif
#else
strcpy((char *)m_szStreamName,m_szMusicPath);
#endif
// are we using a mash-up pack?
//if(pMinecraft && !pMinecraft->skins->isUsingDefaultSkin() && pMinecraft->skins->getSelected()->hasAudio())
if(Minecraft::GetInstance()->skins->getSelected()->hasAudio())
@@ -1195,7 +1232,7 @@ void SoundEngine::playMusicUpdate()
m_MusicType=eMusicType_Game;
m_StreamingAudioInfo.bIs3D=false;
#if (defined _XBOX_ONE || _WINDOWS64)
#ifdef _XBOX_ONE
wstring &wstrSoundName=dlcAudioFile->GetSoundName(m_musicID);
wstring wstrFile=L"TPACK:\\Data\\" + wstrSoundName +L".binka";
std::wstring mountedPath = StorageManager.GetMountedPath(wstrFile);
@@ -1204,7 +1241,12 @@ void SoundEngine::playMusicUpdate()
wstring &wstrSoundName=dlcAudioFile->GetSoundName(m_musicID);
char szName[255];
wcstombs(szName,wstrSoundName.c_str(),255);
#if defined __PS3__ || defined __ORBIS__ || defined __PSVITA__
string strFile="TPACK:/Data/" + string(szName) + ".binka";
#else
string strFile="TPACK:\\Data\\" + string(szName) + ".binka";
#endif
std::string mountedPath = StorageManager.GetMountedPath(strFile);
strcpy(m_szStreamName,mountedPath.c_str());
#endif
@@ -1244,11 +1286,32 @@ void SoundEngine::playMusicUpdate()
SetIsPlayingStreamingCDMusic(false);
m_MusicType=eMusicType_Game;
m_StreamingAudioInfo.bIs3D=false;
}
}
else if(m_musicID<m_iStream_CD_1)
#else
{
SetIsPlayingStreamingGameMusic(true);
SetIsPlayingStreamingCDMusic(false);
m_MusicType=eMusicType_Game;
m_StreamingAudioInfo.bIs3D=false;
// build the name
strcat((char *)m_szStreamName,"music/");
strcat((char *)m_szStreamName,m_szStreamFileA[m_musicID]);
strcat((char *)m_szStreamName,".binka");
}
else
{
SetIsPlayingStreamingGameMusic(false);
SetIsPlayingStreamingCDMusic(true);
m_MusicType=eMusicType_CD;
m_StreamingAudioInfo.bIs3D=true;
// build the name
strcat((char *)m_szStreamName,"cds/");
strcat((char *)m_szStreamName,m_szStreamFileA[m_musicID]);
strcat((char *)m_szStreamName,".binka");
}
#else
if(m_musicID<m_iStream_CD_1)
#endif
{
SetIsPlayingStreamingGameMusic(true);
SetIsPlayingStreamingCDMusic(false);
@@ -1268,6 +1331,8 @@ void SoundEngine::playMusicUpdate()
}
strcat((char *)m_szStreamName,m_szStreamFileA[m_musicID]);
strcat((char *)m_szStreamName,".binka");
#endif
}
// wstring name = m_szStreamFileA[m_musicID];
@@ -1455,9 +1520,7 @@ void SoundEngine::playMusicUpdate()
}
// volume change required?
#ifndef _WINDOWS64
if(fMusicVol!=getMasterMusicVolume()) //str1k3r - if used on windows64 music doesnt update its volume
#endif
if(fMusicVol!=getMasterMusicVolume())
{
fMusicVol=getMasterMusicVolume();
HSAMPLE hSample = AIL_stream_sample_handle( m_hStream);
@@ -1599,6 +1662,8 @@ char *SoundEngine::ConvertSoundPathToName(const wstring& name, bool bConvertSpac
return buf;
}
#endif
F32 AILCALLBACK custom_falloff_function (HSAMPLE S,
F32 distance,
@@ -24,9 +24,9 @@ foreach ($dir in $directories) {
}
$folderCopies = @(
@{ Source = "Common\Media\Font"; Dest = "Common\Media\Font" },
@{ Source = "Common\Media"; Dest = "Common\Media" },
@{ Source = "Common\res"; Dest = "Common\res" },
@{ Source = "Durango\Sound"; Dest = "Sound" },
@{ Source = "DurangoMedia\Sound"; Dest = "Sound" },
@{ Source = "DurangoMedia\DLC"; Dest = "DLC" },
@{ Source = "DurangoMedia\Tutorial"; Dest = "Tutorial" },
@{ Source = "music"; Dest = "music" },
@@ -40,11 +40,12 @@ foreach ($copy in $folderCopies) {
if (Test-Path $src) {
xcopy /q /y /i /s /e /d "$src" "$dst" 2>$null
} else {
Write-Host "Durango Postbuild: Folder not found, skipping: $src"
}
}
$fileCopies = @(
@{ Source = "Common\Media\MediaDurango.arc"; Dest = "Common\Media\MediaDurango.arc" },
@{ Source = "Durango\DurangoExtras\xcompress.dll"; Dest = "xcompress.dll" },
@{ Source = "Durango\DLCXbox1.cmp"; Dest = "DLCXbox1.cmp" }
)
@@ -54,13 +55,23 @@ foreach ($copy in $fileCopies) {
$dst = Join-Path $OutDir $copy.Dest
if (Test-Path $src) {
Copy-Item -Path $src -Destination $dst -Force
}
} else {
Write-Host "Durango Postbuild: File not found, skipping: $src"
}
}
$deleteDirs = @(
"Common\Media\font\RU",
"Common\res\TitleUpdate\DLC",
"Common\res\TitleUpdate\Audio"
"Common\Media\Sound",
"Common\Media\Graphics",
"Common\Media\de-DE",
"Common\Media\es-ES",
"Common\Media\fr-FR",
"Common\Media\it-IT",
"Common\Media\ja-JP",
"Common\Media\ko-KR",
"Common\Media\pt-BR",
"Common\Media\pt-PT",
"Common\Media\zh-CHT"
)
foreach ($dir in $deleteDirs) {
@@ -71,15 +82,16 @@ foreach ($dir in $deleteDirs) {
}
$delDirs = @(
"Common\Media\font",
"Common\Media\font\*",
"Common\res\TitleUpdate\GameRules"
"Common\Media",
"Common\Media\font"
)
foreach ($dir in $delDirs) {
$path = Join-Path $OutDir $dir
if (Test-Path $path) {
Get-ChildItem -Path $path -Recurse -Include *.txt, *.abc, *.mcs, "Mojang Font_7.ttf", "Mojang Font_11.ttf", "DF-DotDotGothic16.ttf", "DFTT_R5.TTC", "candadite2.ttf" -File |
Remove-Item -Force -ErrorAction SilentlyContinue
if ($delDirs -contains $dir) {
$path = Join-Path $OutDir $dir
if (Test-Path $path) {
Get-ChildItem -Path $path -Recurse -Include *.swf, *.txt, *.resx, *.xml, *.loc, *.lang, *.col, *.xui, *.abc, *.h, "Mojang Font_7.ttf", "Mojang Font_11.ttf", MediaWindows64.arc, MediaOrbis.arc, MediaPS3.arc, MediaPSVita.arc -File |
Remove-Item -Force -ErrorAction SilentlyContinue
}
}
}
@@ -23,14 +23,14 @@ foreach ($dir in $directories) {
$folderCopies = @(
@{ Source = "music"; Dest = "PS4_GAME\music" },
@{ Source = "Common\Media\Font";Dest = "PS4_GAME\Common\Media\Font" },
@{ Source = "Common\Media"; Dest = "PS4_GAME\Common\Media" },
@{ Source = "Common\res"; Dest = "PS4_GAME\Common\res" },
@{ Source = "Orbis\Sound"; Dest = "PS4_GAME\Orbis\Sound" },
@{ Source = "OrbisMedia\Sound"; Dest = "PS4_GAME\Orbis\Sound" },
@{ Source = "OrbisMedia\DLC"; Dest = "PS4_GAME\Orbis\DLC" },
@{ Source = "Orbis\DLCImages"; Dest = "PS4_GAME\Orbis\DLCImages" },
@{ Source = "OrbisMedia\Tutorial"; Dest = "PS4_GAME\Orbis\Tutorial" },
@{ Source = "$env:SCE_ORBIS_SDK_DIR\target\sce_module"; Dest = "PS4_GAME\sce_module" },
@{ Source = Join-Path $PSScriptRoot "Contents\Orbis\sce_gls"; Dest = "PS4_GAME\sce_gls" },
@{ Source = "$env:SCE_ORBIS_SDK_DIR\target\sce_module"; Dest = "PS4_GAME\sce_module" },
@{ Source = Join-Path $PSScriptRoot "Contents\Orbis\sce_gls"; Dest = "PS4_GAME\sce_gls" },
@{ Source = Join-Path $PSScriptRoot "Contents\Orbis\sce_sys"; Dest = "PS4_GAME\sce_sys" }
)
@@ -44,11 +44,12 @@ foreach ($copy in $folderCopies) {
if (Test-Path $src) {
xcopy /q /y /i /s /e /d "$src" "$dst" 2>$null
}
} else {
Write-Host "Orbis Postbuild: Folder not found, skipping: $src"
}
}
$fileCopies = @(
@{ Source = "Common\Media\MediaOrbis.arc"; Dest = "PS4_GAME\Common\Media\MediaOrbis.arc" },
@{ Source = "Orbis\PS4ProductCodes.bin"; Dest = "PS4_GAME\Orbis\PS4ProductCodes.bin" },
@{ Source = "Orbis\session_image.jpg"; Dest = "PS4_GAME\Orbis\session_image.jpg" }
)
@@ -58,7 +59,9 @@ foreach ($copy in $fileCopies) {
$dst = Join-Path $OutDir $copy.Dest
if (Test-Path $src) {
Copy-Item -Path $src -Destination $dst -Force
}
} else {
Write-Host "Orbis Postbuild: File not found, skipping: $src"
}
}
$builtFile = Join-Path $OutDir "Minecraft.Client.elf"
@@ -72,9 +75,17 @@ if (Test-Path $builtFile) {
}
$deleteDirs = @(
"PS4_GAME\Common\Media\font\RU",
"PS4_GAME\Common\res\TitleUpdate\DLC",
"PS4_GAME\Common\res\TitleUpdate\Audio"
"PS4_GAME\Common\Media\Sound",
"PS4_GAME\Common\Media\Graphics",
"PS4_GAME\Common\Media\de-DE",
"PS4_GAME\Common\Media\es-ES",
"PS4_GAME\Common\Media\fr-FR",
"PS4_GAME\Common\Media\it-IT",
"PS4_GAME\Common\Media\ja-JP",
"PS4_GAME\Common\Media\ko-KR",
"PS4_GAME\Common\Media\pt-BR",
"PS4_GAME\Common\Media\pt-PT",
"PS4_GAME\Common\Media\zh-CHT"
)
foreach ($dir in $deleteDirs) {
@@ -85,16 +96,17 @@ foreach ($dir in $deleteDirs) {
}
$delDirs = @(
"PS4_GAME\Common\Media\font",
"PS4_GAME\Common\Media\font\*",
"PS4_GAME\Common\res\TitleUpdate\GameRules"
"PS4_GAME\Common\Media",
"PS4_GAME\Common\Media\font"
)
foreach ($dir in $delDirs) {
$path = Join-Path $OutDir $dir
if (Test-Path $path) {
Get-ChildItem -Path $path -Recurse -Include *.txt, *.abc, *.mcs, "Mojang Font_7.ttf", "Mojang Font_11.ttf", "MSYH.ttf" -File |
Remove-Item -Force -ErrorAction SilentlyContinue
if ($delDirs -contains $dir) {
$path = Join-Path $OutDir $dir
if (Test-Path $path) {
Get-ChildItem -Path $path -Recurse -Include *.swf, *.txt, *.resx, *.xml, *.loc, *.lang, *.col, *.xui, *.abc, *.h, "Mojang Font_7.ttf", "Mojang Font_11.ttf", MediaDurango.arc, MediaWindows64.arc, MediaPS3.arc, MediaPSVita.arc -File |
Remove-Item -Force -ErrorAction SilentlyContinue
}
}
}
@@ -21,27 +21,32 @@ foreach ($dir in $directories) {
$folderCopies = @(
@{ Source = "music"; Dest = "PS3_GAME\USRDIR\music" },
@{ Source = "Common\Media\Font";Dest = "PS3_GAME\USRDIR\Common\Media\Font" },
@{ Source = "Common\Media"; Dest = "PS3_GAME\USRDIR\Common\Media" },
@{ Source = "Common\res"; Dest = "PS3_GAME\USRDIR\Common\res" },
@{ Source = "PS3Media\DLC"; Dest = "PS3_GAME\USRDIR\DLC" },
@{ Source = "PS3\Sound"; Dest = "PS3_GAME\USRDIR\PS3\Sound" },
#@{ Source = "PSVita\Tutorial"; Dest = "PS3_GAME\USRDIR\PS3\Tutorial" }, # str1k3r - softlocks game
@{ Source = "PS3Media\Sound"; Dest = "PS3_GAME\USRDIR\PS3\Sound" },
#@{ Source = "PSVita\Tutorial"; Dest = "PS3_GAME\USRDIR\PS3\Tutorial" }, # str1k3r - softlocks game
@{ Source = Join-Path $PSScriptRoot "Contents\PS3\PS3_GAME\LICDIR"; Dest = "PS3_GAME\LICDIR" },
@{ Source = Join-Path $PSScriptRoot "Contents\PS3\PS3_GAME\TROPDIR"; Dest = "PS3_GAME\TROPDIR" }
)
foreach ($copy in $folderCopies) {
$src = Join-Path $ProjectDir $copy.Source
if ([System.IO.Path]::IsPathRooted($copy.Source)) {
$src = $copy.Source
} else {
$src = Join-Path $ProjectDir $copy.Source
}
$dst = Join-Path $OutDir $copy.Dest
if (Test-Path $src) {
xcopy /q /y /i /s /e /d "$src" "$dst" 2>$null
} else {
Write-Host "PS3 Postbuild: Folder not found, skipping: $src"
}
}
$fileCopies = @(
@{ Source = "PS3\PS3ProductCodes.bin"; Dest = "PS3_GAME\USRDIR\PS3\PS3ProductCodes.bin" },
@{ Source = "Common\Media\MediaPS3.arc"; Dest = "PS3_GAME\USRDIR\Common\Media\MediaPS3.arc" },
@{ Source = Join-Path $PSScriptRoot "Contents\PS3\PS3_DISC.SFB"; Dest = "PS3_DISC.SFB" },
@{ Source = Join-Path $PSScriptRoot "Contents\PS3\PS3_GAME\ICON0.PNG"; Dest = "PS3_GAME\ICON0.PNG" },
@{ Source = Join-Path $PSScriptRoot "Contents\PS3\PS3_GAME\PARAM.SFO"; Dest = "PS3_GAME\PARAM.SFO" },
@@ -54,11 +59,13 @@ $fileCopies = @(
)
foreach ($copy in $fileCopies) {
$src = $copy.Source
$src = Join-Path $ProjectDir $copy.Source
$dst = Join-Path $OutDir $copy.Dest
if (Test-Path $src) {
Copy-Item -Path $src -Destination $dst -Force
}
} else {
Write-Host "PS3 Postbuild: File not found, skipping: $src"
}
}
if ($Configuration -match "ContentPackage") {
@@ -77,9 +84,17 @@ if (Test-Path $builtFile) {
}
$deleteDirs = @(
"PS3_GAME\USRDIR\Common\Media\font\RU",
"PS3_GAME\USRDIR\Common\res\TitleUpdate\DLC",
"PS3_GAME\USRDIR\Common\res\TitleUpdate\Audio"
"PS3_GAME\USRDIR\Common\Media\Sound",
"PS3_GAME\USRDIR\Common\Media\Graphics",
"PS3_GAME\USRDIR\Common\Media\de-DE",
"PS3_GAME\USRDIR\Common\Media\es-ES",
"PS3_GAME\USRDIR\Common\Media\fr-FR",
"PS3_GAME\USRDIR\Common\Media\it-IT",
"PS3_GAME\USRDIR\Common\Media\ja-JP",
"PS3_GAME\USRDIR\Common\Media\ko-KR",
"PS3_GAME\USRDIR\Common\Media\pt-BR",
"PS3_GAME\USRDIR\Common\Media\pt-PT",
"PS3_GAME\USRDIR\Common\Media\zh-CHT"
)
foreach ($dir in $deleteDirs) {
@@ -90,15 +105,16 @@ foreach ($dir in $deleteDirs) {
}
$delDirs = @(
"PS3_GAME\USRDIR\Common\Media\font",
"PS3_GAME\USRDIR\Common\Media\font\*",
"PS3_GAME\USRDIR\Common\res\TitleUpdate\GameRules"
"PS3_GAME\USRDIR\Common\Media",
"PS3_GAME\USRDIR\Common\Media\font"
)
foreach ($dir in $delDirs) {
$path = Join-Path $OutDir $dir
if (Test-Path $path) {
Get-ChildItem -Path $path -Recurse -Include *.txt, *.abc, *.mcs, "Mojang Font_7.ttf", "Mojang Font_11.ttf", "MSYH.ttf" -File |
Remove-Item -Force -ErrorAction SilentlyContinue
if ($delDirs -contains $dir) {
$path = Join-Path $OutDir $dir
if (Test-Path $path) {
Get-ChildItem -Path $path -Recurse -Include *.swf, *.txt, *.resx, *.xml, *.loc, *.lang, *.col, *.xui, *.abc, *.h, "Mojang Font_7.ttf", "Mojang Font_11.ttf", MediaDurango.arc, MediaWindows64.arc, MediaOrbis.arc, MediaPSVita.arc -File |
Remove-Item -Force -ErrorAction SilentlyContinue
}
}
}
@@ -9,8 +9,8 @@ $directories = @(
"PSVITA_GAME\music",
"PSVITA_GAME\PSVita",
"PSVITA_GAME\Common",
"PSVITA_GAME\Common\res",
"PSVITA_GAME\Common\Media",
"PSVITA_GAME\Common\res",
"PSVITA_GAME\PSVita\Sound",
"PSVITA_GAME\PSVita\Tutorial"
)
@@ -20,14 +20,14 @@ foreach ($dir in $directories) {
}
$folderCopies = @(
@{ Source = "music"; Dest = "PSVITA_GAME\music" },
@{ Source = "Common\Media\Font"; Dest = "PSVITA_GAME\Common\Media\Font" },
@{ Source = "Common\res"; Dest = "PSVITA_GAME\Common\res" },
@{ Source = "PSVita\Sound"; Dest = "PSVITA_GAME\PSVita\Sound" },
@{ Source = "PSVitaMedia\DLC"; Dest = "PSVITA_GAME\PSVita\DLC" },
@{ Source = "PSVita\Tutorial"; Dest = "PSVITA_GAME\PSVita\Tutorial" },
@{ Source = "$env:SCE_PSP2_SDK_DIR\target\sce_module"; Dest = "PSVITA_GAME\sce_module" },
@{ Source = Join-Path $PSScriptRoot "Contents\PSVita\sce_sys"; Dest = "PSVITA_GAME\sce_sys" }
@{ Source = "music"; Dest = "PSVITA_GAME\music" },
@{ Source = "Common\Media"; Dest = "PSVITA_GAME\Common\Media" },
@{ Source = "Common\res"; Dest = "PSVITA_GAME\Common\res" },
@{ Source = "PSVitaMedia\Sound"; Dest = "PSVITA_GAME\PSVita\Sound" },
@{ Source = "PSVitaMedia\DLC"; Dest = "PSVITA_GAME\PSVita\DLC" },
@{ Source = "PSVita\Tutorial"; Dest = "PSVITA_GAME\PSVita\Tutorial" },
@{ Source = "$env:SCE_PSP2_SDK_DIR\target\sce_module"; Dest = "PSVITA_GAME\sce_module" },
@{ Source = Join-Path $PSScriptRoot "Contents\PSVita\sce_sys"; Dest = "PSVITA_GAME\sce_sys" }
)
foreach ($copy in $folderCopies) {
@@ -40,11 +40,12 @@ foreach ($copy in $folderCopies) {
if (Test-Path $src) {
xcopy /q /y /i /s /e /d "$src" "$dst" 2>$null
}
} else {
Write-Host "PSVita Postbuild: Folder not found, skipping: $src"
}
}
$fileCopies = @(
@{ Source = "Common\Media\MediaPSVita.arc"; Dest = "PSVITA_GAME\Common\Media\MediaPSVita.arc" },
@{ Source = "PSVita\PSVitaProductCodes.bin"; Dest = "PSVITA_GAME\PSVita\PSVitaProductCodes.bin" },
@{ Source = "PSVita\session_image.png"; Dest = "PSVITA_GAME\PSVita\session_image.png" }
)
@@ -55,7 +56,9 @@ foreach ($copy in $fileCopies) {
if (Test-Path $src) {
New-Item -ItemType Directory -Path (Split-Path $dst -Parent) -Force | Out-Null
Copy-Item -Path $src -Destination $dst -Force
}
} else {
Write-Host "PSVita Postbuild: File not found, skipping: $src"
}
}
$builtFile = Join-Path $OutDir "Minecraft.Client.self"
@@ -69,9 +72,17 @@ if (Test-Path $builtFile) {
}
$deleteDirs = @(
"PSVITA_GAME\Common\Media\font\RU",
"PSVITA_GAME\Common\res\TitleUpdate\DLC",
"PSVITA_GAME\Common\res\TitleUpdate\Audio"
"PSVITA_GAME\Common\Media\Sound",
"PSVITA_GAME\Common\Media\Graphics",
"PSVITA_GAME\Common\Media\de-DE",
"PSVITA_GAME\Common\Media\es-ES",
"PSVITA_GAME\Common\Media\fr-FR",
"PSVITA_GAME\Common\Media\it-IT",
"PSVITA_GAME\Common\Media\ja-JP",
"PSVITA_GAME\Common\Media\ko-KR",
"PSVITA_GAME\Common\Media\pt-BR",
"PSVITA_GAME\Common\Media\pt-PT",
"PSVITA_GAME\Common\Media\zh-CHT"
)
foreach ($dir in $deleteDirs) {
@@ -82,16 +93,17 @@ foreach ($dir in $deleteDirs) {
}
$delDirs = @(
"PSVITA_GAME\Common\Media\font",
"PSVITA_GAME\Common\Media\font\*",
"PSVITA_GAME\Common\res\TitleUpdate\GameRules"
"PSVITA_GAME\Common\Media",
"PSVITA_GAME\Common\Media\font"
)
foreach ($dir in $delDirs) {
$path = Join-Path $OutDir $dir
if (Test-Path $path) {
Get-ChildItem -Path $path -Recurse -Include *.txt, *.abc, *.mcs, "Mojang Font_7.ttf", "Mojang Font_11.ttf", "MSYH.ttf" -File |
Remove-Item -Force -ErrorAction SilentlyContinue
if ($delDirs -contains $dir) {
$path = Join-Path $OutDir $dir
if (Test-Path $path) {
Get-ChildItem -Path $path -Recurse -Include *.swf, *.txt, *.resx, *.xml, *.loc, *.lang, *.col, *.h, *.xui, *.abc, "Mojang Font_7.ttf", "Mojang Font_11.ttf", MediaDurango.arc, MediaWindows64.arc, MediaPS3.arc, MediaOrbis.arc -File |
Remove-Item -Force -ErrorAction SilentlyContinue
}
}
}
@@ -7,10 +7,11 @@ Write-Host "Windows64 Postbuild: script started. Output Directory: $OutDir, Proj
$directories = @(
"music",
"Common\Media",
"Windows64Media",
"Windows64\GameHDD",
"Windows64\redist64"
"Common\Media",
"Common\res",
"Windows64Media",
"redist64"
)
foreach ($dir in $directories) {
@@ -19,28 +20,34 @@ foreach ($dir in $directories) {
$folderCopies = @(
@{ Source = "music"; Dest = "music" },
@{ Source = "Common\Media"; Dest = "Common\Media" },
@{ Source = "Common\res"; Dest = "Common\res" },
@{ Source = "Windows64Media\DLC"; Dest = "Windows64Media\DLC" },
@{ Source = "Windows64\Sound"; Dest = "Windows64Media\Sound" },
#@{ Source = "PSVita\Tutorial"; Dest = "Windows64Media\Tutorial" }, # str1k3r - doesnt even work bru
@{ Source = "Common\Media"; Dest = "Common\Media" },
@{ Source = "DurangoMedia"; Dest = "Windows64Media" },
@{ Source = "Windows64Media"; Dest = "Windows64Media" },
@{ Source = "Windows64Media\Sound"; Dest = "Windows64Media\Sound" },
#@{ Source = "PSVita\Tutorial"; Dest = "Windows64Media\Tutorial" }, # str1k3r - doesnt even work bru
@{ Source = "Windows64\Miles\lib\redist64"; Dest = "Windows64\redist64" }
)
foreach ($copy in $folderCopies) {
$src = Join-Path $ProjectDir $copy.Source
if ([System.IO.Path]::IsPathRooted($copy.Source)) {
$src = $copy.Source
} else {
$src = Join-Path $ProjectDir $copy.Source
}
$dst = Join-Path $OutDir $copy.Dest
if (Test-Path $src) {
xcopy /q /y /i /s /e /d "$src" "$dst" 2>$null
} else {
Write-Host "Windows64 Postbuild: Folder not found, skipping: $src"
}
}
$fileCopies = @(
@{ Source = Join-Path $ProjectDir "Windows64\4JLibs\4J_Input\Windows64\vendor\SDL\lib\x64\SDL3.dll"; Dest = "SDL3.dll" },
@{ Source = "Common\Media\MediaWindows64.arc"; Dest = "Common\Media\MediaWindows64.arc" },
@{ Source = Join-Path $PSScriptRoot "Contents\Windows64\iggy_w64.dll"; Dest = "iggy_w64.dll" },
@{ Source = Join-Path $PSScriptRoot "Contents\Windows64\mss64.dll"; Dest = "mss64.dll" }
@{ Source = Join-Path $PSScriptRoot "Contents\Windows64\mss64.dll"; Dest = "mss64.dll" },
@{ Source = "Windows64\redist64\iggy_w64.dll"; Dest = "iggy_w64.dll" }
)
foreach ($copy in $fileCopies) {
@@ -49,14 +56,22 @@ foreach ($copy in $fileCopies) {
if (Test-Path $src) {
Copy-Item -Path $src -Destination $dst -Force
} else {
Write-Host "Windows64 Postbuild: source not found, skipping: $src"
Write-Host "Windows64 Postbuild: File not found, skipping: $src"
}
}
$deleteDirs = @(
"Common\Media\font\RU", #str1k3r - russian font?
"Common\res\TitleUpdate\DLC",
"Common\res\TitleUpdate\Audio"
"Common\Media\Sound",
"Common\Media\Graphics",
"Common\Media\de-DE",
"Common\Media\es-ES",
"Common\Media\fr-FR",
"Common\Media\it-IT",
"Common\Media\ja-JP",
"Common\Media\ko-KR",
"Common\Media\pt-BR",
"Common\Media\pt-PT",
"Common\Media\zh-CHT"
)
foreach ($dir in $deleteDirs) {
@@ -67,15 +82,16 @@ foreach ($dir in $deleteDirs) {
}
$delDirs = @(
"Common\Media\font",
"Common\Media\font\*",
"Common\res\TitleUpdate\GameRules"
"Common\Media",
"Common\Media\font"
)
foreach ($dir in $delDirs) {
$path = Join-Path $OutDir $dir
if (Test-Path $path) {
Get-ChildItem -Path $path -Recurse -Include *.txt, *.abc, *.mcs, "Mojang Font_7.ttf", "Mojang Font_11.ttf", "DF-DotDotGothic16.ttf", "DFTT_R5.TTC", "candadite2.ttf" -File |
Remove-Item -Force -ErrorAction SilentlyContinue
if ($delDirs -contains $dir) {
$path = Join-Path $OutDir $dir
if (Test-Path $path) {
Get-ChildItem -Path $path -Recurse -Include *.swf, *.txt, *.resx, *.xml, *.loc, *.lang, *.col, *.xui, *.abc, *.h, "Mojang Font_7.ttf", "Mojang Font_11.ttf", MediaDurango.arc, MediaOrbis.arc, MediaPS3.arc, MediaPSVita.arc -File |
Remove-Item -Force -ErrorAction SilentlyContinue
}
}
}
@@ -24,6 +24,8 @@ foreach ($copy in $copies) {
if (Test-Path $src) {
xcopy /q /y /i /s /e /d "$src" "$dst" 2>$null
} else {
Write-Host "Xbox Postbuild: Folder not found, skipping: $src"
}
}
@@ -43,22 +45,12 @@ $fileCopies = @(
@{ Source = "Common\Tutorial\Tutorial"; Dest = "Tutorial\Tutorial" }
)
$delDirs = @(
"Common\res\TitleUpdate\GameRules"
)
foreach ($dir in $delDirs) {
$path = Join-Path $OutDir $dir
if (Test-Path $path) {
Get-ChildItem -Path $path -Recurse -Include *.mcs -File |
Remove-Item -Force -ErrorAction SilentlyContinue
}
}
foreach ($copy in $fileCopies) {
$src = Join-Path $ProjectDir $copy.Source
$dst = Join-Path $OutDir $copy.Dest
if (Test-Path $src) {
Copy-Item -Path $src -Destination $dst -Force
}
} else {
Write-Host "Xbox Postbuild: File not found, skipping: $src"
}
}
+108 -93
View File
@@ -89,8 +89,8 @@ CMinecraftApp::CMinecraftApp()
for(int i=0;i<XUSER_MAX_COUNT;i++)
{
m_eTMSAction[i]=eTMSAction_Idle;
m_eUIAction[i]=eAppAction_Idle;
m_eUIActionParam[i] = NULL;
m_eXuiAction[i]=eAppAction_Idle;
m_eXuiActionParam[i] = NULL;
//m_dwAdditionalModelParts[i] = 0;
if(FAILED(XUserGetSigninInfo(i,XUSER_GET_SIGNIN_INFO_OFFLINE_XUID_ONLY ,&m_currentSigninInfo[i])))
@@ -106,8 +106,8 @@ CMinecraftApp::CMinecraftApp()
m_uiOpacityCountDown[i]=0;
}
m_eGlobalUIAction=eAppAction_Idle;
m_eGlobalUIServerAction=eUIServerAction_Idle;
m_eGlobalXuiAction=eAppAction_Idle;
m_eGlobalXuiServerAction=eXuiServerAction_Idle;
m_bResourcesLoaded=false;
m_bGameStarted=false;
@@ -199,13 +199,13 @@ CMinecraftApp::CMinecraftApp()
// m_uiTransferSlotC=5;
#endif
#if (defined _CONTENT_PACAKGE || _XBOX)
#if (defined _CONTENT_PACAKGE) || (defined _XBOX)
m_bUseDPadForDebug = false;
#else
m_bUseDPadForDebug = true;
#endif
#if !(defined _WINDOWS64 || _XBOX)
#if ( defined __PS3__ || defined __ORBIS__ || defined _DURANGO || defined __PSVITA__)
for(int i=0;i<XUSER_MAX_COUNT;i++)
{
m_eOptionsStatusA[i]=C4JStorage::eOptions_Callback_Idle;
@@ -301,25 +301,25 @@ LPCWSTR CMinecraftApp::GetString(int iID)
return app.m_stringTable->getString(iID);
}
void CMinecraftApp::SetAction(int iPad, eUIAction action, LPVOID param)
void CMinecraftApp::SetAction(int iPad, eXuiAction action, LPVOID param)
{
if( ( m_eUIAction[iPad] == eAppAction_ReloadTexturePack ) && ( action == eAppAction_EthernetDisconnected ) )
if( ( m_eXuiAction[iPad] == eAppAction_ReloadTexturePack ) && ( action == eAppAction_EthernetDisconnected ) )
{
app.DebugPrintf("Invalid change of App action for pad %d from %d to %d, ignoring\n", iPad, m_eUIAction[iPad], action);
app.DebugPrintf("Invalid change of App action for pad %d from %d to %d, ignoring\n", iPad, m_eXuiAction[iPad], action);
}
else if( ( m_eUIAction[iPad] == eAppAction_ReloadTexturePack ) && ( action == eAppAction_ExitWorld ) )
else if( ( m_eXuiAction[iPad] == eAppAction_ReloadTexturePack ) && ( action == eAppAction_ExitWorld ) )
{
app.DebugPrintf("Invalid change of App action for pad %d from %d to %d, ignoring\n", iPad, m_eUIAction[iPad], action);
app.DebugPrintf("Invalid change of App action for pad %d from %d to %d, ignoring\n", iPad, m_eXuiAction[iPad], action);
}
else if(m_eUIAction[iPad] == eAppAction_ExitWorldCapturedThumbnail && action != eAppAction_Idle)
else if(m_eXuiAction[iPad] == eAppAction_ExitWorldCapturedThumbnail && action != eAppAction_Idle)
{
app.DebugPrintf("Invalid change of App action for pad %d from %d to %d, ignoring\n", iPad, m_eUIAction[iPad], action);
app.DebugPrintf("Invalid change of App action for pad %d from %d to %d, ignoring\n", iPad, m_eXuiAction[iPad], action);
}
else
{
app.DebugPrintf("Changing App action for pad %d from %d to %d\n", iPad, m_eUIAction[iPad], action);
m_eUIAction[iPad]=action;
m_eUIActionParam[iPad] = param;
app.DebugPrintf("Changing App action for pad %d from %d to %d\n", iPad, m_eXuiAction[iPad], action);
m_eXuiAction[iPad]=action;
m_eXuiActionParam[iPad] = param;
}
}
@@ -344,6 +344,30 @@ void CMinecraftApp::SetAppPaused(bool val)
m_bIsAppPaused = val;
}
void CMinecraftApp::HandleButtonPresses()
{
for(int i=0;i<4;i++)
{
HandleButtonPresses(i);
}
}
void CMinecraftApp::HandleButtonPresses(int iPad)
{
// // test an update of the profile data
// void *pData=ProfileManager.GetGameDefinedProfileData(iPad);
//
// unsigned char *pchData= (unsigned char *)pData;
// int iCount=0;
// for(int i=0;i<GAME_DEFINED_PROFILE_DATA_BYTES;i++)
// {
// pchData[i]=0xBC;
// //if(iCount==255) iCount = 0;
// }
// ProfileManager.WriteToProfile(iPad,true);
}
bool CMinecraftApp::LoadInventoryMenu(int iPad,shared_ptr<LocalPlayer> player,bool bNavigateBack)
{
bool success = true;
@@ -729,7 +753,7 @@ void CMinecraftApp::InitGameSettings()
{
for(int i=0;i<XUSER_MAX_COUNT;i++)
{
#if !(defined _WINDOWS64 || _XBOX)
#if (defined __PS3__ || defined __ORBIS__ || defined _DURANGO || defined __PSVITA__)
GameSettingsA[i]=(GAME_SETTINGS *)StorageManager.GetGameDefinedProfileData(i);
#else
GameSettingsA[i]=(GAME_SETTINGS *)ProfileManager.GetGameDefinedProfileData(i);
@@ -740,20 +764,21 @@ void CMinecraftApp::InitGameSettings()
//SetDefaultGameSettings(i); - done on a callback from the profile manager
// 4J-PB - adding in for Windows & PS3 to set the defaults for the joypad
#ifdef _WINDOWS64
#if defined _WINDOWS64// || defined __PSVITA__
C_4JProfile::PROFILESETTINGS *pProfileSettings=ProfileManager.GetDashboardProfileSettings(i);
// clear this for now - it will come from reading the system values
memset(pProfileSettings,0,sizeof(C_4JProfile::PROFILESETTINGS));
SetDefaultOptions(pProfileSettings,i);
ProfileManager.LoadSettings(GameSettingsA[i], sizeof(GAME_SETTINGS));
ApplyGameSettingsChanged(i);
#elif !defined(_XBOX)
#elif defined __PS3__ || defined __ORBIS__ || defined _DURANGO || defined __PSVITA__
C4JStorage::PROFILESETTINGS *pProfileSettings=StorageManager.GetDashboardProfileSettings(i);
// 4J-PB - don't cause an options write to happen here
SetDefaultOptions(pProfileSettings,i,false);
#endif
}
}
#if !(defined _WINDOWS64 || _XBOX)
#if (defined __PS3__ || defined __ORBIS__ || defined _DURANGO || defined __PSVITA__)
int CMinecraftApp::SetDefaultOptions(C4JStorage::PROFILESETTINGS *pSettings,const int iPad,bool bWriteProfile)
#else
int CMinecraftApp::SetDefaultOptions(C_4JProfile::PROFILESETTINGS *pSettings,const int iPad)
@@ -846,7 +871,7 @@ int CMinecraftApp::SetDefaultOptions(C_4JProfile::PROFILESETTINGS *pSettings,con
//#endif
#if !(defined _WINDOWS64 || _XBOX)
#if (defined __PS3__ || defined __ORBIS__ || defined _DURANGO || defined __PSVITA__)
GameSettingsA[iPad]->bSettingsChanged=bWriteProfile;
#endif
@@ -874,7 +899,8 @@ int CMinecraftApp::DefaultOptionsCallback(LPVOID pParam,C_4JProfile::PROFILESETT
return 0;
}
#if !(defined _WINDOWS64 || _XBOX)
#if ( defined __PS3__ || defined __ORBIS__ || defined _DURANGO || defined __PSVITA__)
wstring CMinecraftApp::toStringOptionsStatus(const C4JStorage::eOptionsCallback &eStatus)
{
#ifndef _CONTENT_PACKAGE
@@ -1201,6 +1227,9 @@ int CMinecraftApp::OldProfileVersionCallback(LPVOID pParam,unsigned char *pucDat
{
// This might be from a version during testing of new profile updates
app.DebugPrintf("Don't know what to do with this profile version!\n");
#ifndef _CONTENT_PACKAGE
// __debugbreak();
#endif
GAME_SETTINGS *pGameSettings=(GAME_SETTINGS *)pucData;
pGameSettings->ucMenuSensitivity=100; //eGameSetting_Sensitivity_InMenu
@@ -1323,7 +1352,7 @@ void CMinecraftApp::ActionGameSettings(int iPad,eGameSetting eVal)
// Game Host only (and for now we can't change the diff while in game, so this shouldn't happen)
if(bInGame && g_NetworkManager.IsHost() && (iPad==ProfileManager.GetPrimaryPad()))
{
app.SetUIServerAction(iPad,eUIServerAction_ServerSettingChanged_Difficulty);
app.SetXuiServerAction(iPad,eXuiServerAction_ServerSettingChanged_Difficulty);
}
}
else
@@ -1389,7 +1418,7 @@ void CMinecraftApp::ActionGameSettings(int iPad,eGameSetting eVal)
{
// Update the Game Host setting if you are the host and you are in-game
app.SetGameHostOption(eGameHostOption_Gamertags,((GameSettingsA[iPad]->usBitmaskValues&0x0008)!=0)?1:0);
app.SetUIServerAction(iPad,eUIServerAction_ServerSettingChanged_Gamertags);
app.SetXuiServerAction(iPad,eXuiServerAction_ServerSettingChanged_Gamertags);
PlayerList *players = MinecraftServer::getInstance()->getPlayerList();
for(AUTO_VAR(it3, players->players.begin()); it3 != players->players.end(); ++it3)
@@ -1465,7 +1494,7 @@ void CMinecraftApp::ActionGameSettings(int iPad,eGameSetting eVal)
{
// Update the Game Host setting if you are the host and you are in-game
app.SetGameHostOption(eGameHostOption_BedrockFog,GetGameSettings(iPad,eGameSetting_BedrockFog)?1:0);
app.SetUIServerAction(iPad,eUIServerAction_ServerSettingChanged_BedrockFog);
app.SetXuiServerAction(iPad,eXuiServerAction_ServerSettingChanged_BedrockFog);
}
}
break;
@@ -2326,8 +2355,6 @@ void CMinecraftApp::CheckGameSettingsChanged(bool bOverride5MinuteTimer, int iPa
{
#if ( defined __PS3__ || defined __ORBIS__ || defined _DURANGO || defined __PSVITA__ )
StorageManager.WriteToProfile(i,true, bOverride5MinuteTimer);
#elif _WINDOWS64
ProfileManager.SaveSettings(GameSettingsA[i], sizeof(GAME_SETTINGS));
#else
ProfileManager.WriteToProfile(i,true, bOverride5MinuteTimer);
#endif
@@ -2341,8 +2368,6 @@ void CMinecraftApp::CheckGameSettingsChanged(bool bOverride5MinuteTimer, int iPa
{
#if ( defined __PS3__ || defined __ORBIS__ || defined _DURANGO || defined __PSVITA__)
StorageManager.WriteToProfile(iPad,true, bOverride5MinuteTimer);
#elif _WINDOWS64
ProfileManager.SaveSettings(GameSettingsA[iPad], sizeof(GAME_SETTINGS));
#else
ProfileManager.WriteToProfile(iPad,true, bOverride5MinuteTimer);
#endif
@@ -2361,7 +2386,7 @@ void CMinecraftApp::ClearGameSettingsChangedFlag(int iPad)
// Remove the debug settings in the content package build
//
////////////////////////////
#ifndef _DEBUG_MENUS_ENABLED
#ifdef _DEBUG_MENUS_ENABLED
unsigned int CMinecraftApp::GetGameSettingsDebugMask(int iPad,bool bOverridePlayer) //bOverridePlayer is to force the send for the server to get the read options
{
return 0;
@@ -2374,7 +2399,9 @@ void CMinecraftApp::SetGameSettingsDebugMask(int iPad, unsigned int uiVal)
void CMinecraftApp::ActionDebugMask(int iPad,bool bSetAllClear)
{
}
#else
unsigned int CMinecraftApp::GetGameSettingsDebugMask(int iPad,bool bOverridePlayer) //bOverridePlayer is to force the send for the server to get the read options
{
if(iPad==-1)
@@ -2559,21 +2586,21 @@ int CMinecraftApp::DisplaySavingMessage(void *pParam, C4JStorage::ESavingMessage
void CMinecraftApp::SetActionConfirmed(LPVOID param)
{
UIActionParam *actionInfo = (UIActionParam *)param;
XuiActionParam *actionInfo = (XuiActionParam *)param;
app.SetAction(actionInfo->iPad, actionInfo->action);
}
void CMinecraftApp::HandleUIActions(void)
void CMinecraftApp::HandleXuiActions(void)
{
eUIAction eAction;
eXuiAction eAction;
eTMSAction eTMS;
LPVOID param;
Minecraft *pMinecraft=Minecraft::GetInstance();
shared_ptr<MultiplayerLocalPlayer> player;
// are there any global actions to deal with?
eAction = app.GetGlobalUIAction();
eAction = app.GetGlobalXuiAction();
if(eAction!=eAppAction_Idle)
{
switch(eAction)
@@ -2584,7 +2611,7 @@ void CMinecraftApp::HandleUIActions(void)
UINT uiIDA[1];
uiIDA[0]=IDS_CONFIRM_OK;
C4JStorage::EMessageResult result = ui.RequestErrorMessage( IDS_CANT_PLACE_NEAR_SPAWN_TITLE, IDS_CANT_PLACE_NEAR_SPAWN_TEXT, uiIDA,1,XUSER_INDEX_ANY);
if(result != C4JStorage::EMessage_Busy) SetGlobalUIAction(eAppAction_Idle);
if(result != C4JStorage::EMessage_Busy) SetGlobalXuiAction(eAppAction_Idle);
}
break;
@@ -2596,8 +2623,8 @@ void CMinecraftApp::HandleUIActions(void)
// are there any app actions to deal with?
for(int i=0;i<XUSER_MAX_COUNT;i++)
{
eAction = app.GetUIAction(i);
param = m_eUIActionParam[i];
eAction = app.GetXuiAction(i);
param = m_eXuiActionParam[i];
if(eAction!=eAppAction_Idle)
{
@@ -2632,7 +2659,7 @@ void CMinecraftApp::HandleUIActions(void)
bool bKeepHiding = false;
for(int j=0; j < XUSER_MAX_COUNT;++j)
{
if(app.GetUIAction(j) == eAppAction_SocialPostScreenshot)
if(app.GetXuiAction(j) == eAppAction_SocialPostScreenshot)
{
bKeepHiding = true;
break;
@@ -2754,7 +2781,7 @@ void CMinecraftApp::HandleUIActions(void)
SetAction(i,eAppAction_Idle);
#if defined(_XBOX_ONE) || defined(__ORBIS__)
app.SetUIServerAction(ProfileManager.GetPrimaryPad(),eUIServerAction_AutoSaveGame);
app.SetXuiServerAction(ProfileManager.GetPrimaryPad(),eXuiServerAction_AutoSaveGame);
if(app.GetGameHostOption(eGameHostOption_DisableSaving)) StorageManager.SetSaveDisabled(true);
#else
@@ -3236,7 +3263,7 @@ void CMinecraftApp::HandleUIActions(void)
pMinecraft->localplayers[i]->respawn();
// If the respawn requires a dimension change then the action will have changed
//if(app.GetUIAction(i) == eAppAction_Respawn)
//if(app.GetXuiAction(i) == eAppAction_Respawn)
//{
// SetAction(i,eAppAction_Idle);
// CloseXuiScenes(i);
@@ -3645,7 +3672,7 @@ void CMinecraftApp::HandleUIActions(void)
pDLCTexPack->m_pSoundBank->Destroy();
}
#endif
#if (defined _DURANGO || _WINDOWS64)
#ifdef _DURANGO
DWORD result = StorageManager.UnmountInstalledDLC(L"TPACK");
#else
DWORD result = StorageManager.UnmountInstalledDLC("TPACK");
@@ -3817,9 +3844,9 @@ void CMinecraftApp::HandleUIActions(void)
case eAppAction_SetDefaultOptions:
SetAction(i,eAppAction_Idle);
#if ( defined __PS3__ || defined __ORBIS__ || defined _DURANGO || defined __PSVITA__)
SetDefaultOptions((C4JStorage::PROFILESETTINGS *)param,i);
SetDefaultOptions((C4JStorage::PROFILESETTINGS *)param,i);
#else
SetDefaultOptions((C_4JProfile::PROFILESETTINGS *)param,i);
SetDefaultOptions((C_4JProfile::PROFILESETTINGS *)param,i);
#endif
// if the profile data has been changed, then force a profile write
@@ -4010,8 +4037,8 @@ void CMinecraftApp::HandleUIActions(void)
ui.SetTooltips(i, -1);
ui.ReloadSkins();
ui.StartReloadSkinsThread();
ui.ReloadSkin();
ui.StartReloadSkinThread();
ui.setCleanupOnReload();
#endif
@@ -4390,7 +4417,9 @@ int CMinecraftApp::EthernetDisconnectReturned(void *pParam,int iPad,const C4JSto
else
{
// 4J-PB - turn off the PSN store icon just in case this happened when we were in one of the DLC menus
#if defined __PSVITA__ || defined __ORBIS__
#ifdef __ORBIS__
sceNpCommerceHidePsStoreIcon();
#elif defined __PSVITA__
app.GetCommerce()->HidePsStoreIcon();
#endif
app.SetAction(iPad,eAppAction_EthernetDisconnectedReturned_Menus);
@@ -5428,9 +5457,9 @@ void CMinecraftApp::HandleDLC(DLCPack *pack)
{
DWORD dwFilesProcessed = 0;
#ifndef _XBOX
#if defined(__PS3__) || defined(__ORBIS__) || defined (__PSVITA__)
#if defined(__PS3__) || defined(__ORBIS__) || defined(_WINDOWS64) || defined (__PSVITA__)
std::vector<std::string> dlcFilenames;
#elif (defined _DURANGO || _WINDOWS64)
#elif defined _DURANGO
std::vector<std::wstring> dlcFilenames;
#endif
StorageManager.GetMountedDLCFileList("DLCDrive", dlcFilenames);
@@ -6290,31 +6319,27 @@ void CMinecraftApp::InitialiseTips()
UINT CMinecraftApp::GetNextTip()
{
static bool bShowSkinDLCTip=true;
//str1k3r - if uiStringID is IDS_TIPS_GAMETIP_0 then dont do this, fixes a bug with IDS_TIPS_GAMETIP_0 not showing on Windows64 if not high def
if(m_GameTipA[0].uiStringID != IDS_TIPS_GAMETIP_0)
// don't display the DLC tip in the trial game
if(ProfileManager.IsFullVersion() && app.GetNewDLCAvailable() && app.DisplayNewDLCTip())
{
// don't display the DLC tip in the trial game
if(ProfileManager.IsFullVersion() && app.GetNewDLCAvailable() && app.DisplayNewDLCTip())
return IDS_TIPS_GAMETIP_NEWDLC;
}
else
{
if(bShowSkinDLCTip && ProfileManager.IsFullVersion())
{
return IDS_TIPS_GAMETIP_NEWDLC;
}
else
{
if(bShowSkinDLCTip && ProfileManager.IsFullVersion())
bShowSkinDLCTip=false;
if( app.DLCInstallProcessCompleted() )
{
bShowSkinDLCTip=false;
if( app.DLCInstallProcessCompleted() )
{
if(app.m_dlcManager.getPackCount(DLCManager::e_DLCType_Skin)==0)
{
return IDS_TIPS_GAMETIP_SKINPACKS;
}
}
else
if(app.m_dlcManager.getPackCount(DLCManager::e_DLCType_Skin)==0)
{
return IDS_TIPS_GAMETIP_SKINPACKS;
}
}
else
{
return IDS_TIPS_GAMETIP_SKINPACKS;
}
}
}
@@ -6430,7 +6455,7 @@ wstring CMinecraftApp::FormatHTMLString(int iPad, const wstring &desc, int shado
text = replaceAll(text, L"{*CONTROLLER_ACTION_DPAD_DOWN*}", GetActionReplacement(iPad,MINECRAFT_ACTION_DPAD_DOWN ) );
text = replaceAll(text, L"{*CONTROLLER_ACTION_DPAD_RIGHT*}", GetActionReplacement(iPad,MINECRAFT_ACTION_DPAD_RIGHT ) );
text = replaceAll(text, L"{*CONTROLLER_ACTION_DPAD_LEFT*}", GetActionReplacement(iPad,MINECRAFT_ACTION_DPAD_LEFT ) );
#if !(defined __ORBIS__ || __PS3__ || _XBOX)
#if defined _XBOX_ONE || defined __PSVITA__
text = replaceAll(text, L"{*CONTROLLER_VK_START*}", GetVKReplacement(VK_PAD_START ) );
text = replaceAll(text, L"{*CONTROLLER_VK_BACK*}", GetVKReplacement(VK_PAD_BACK ) );
#endif
@@ -6553,12 +6578,8 @@ wstring CMinecraftApp::GetActionReplacement(int iPad, unsigned char ucAction)
#ifdef __PS3__
int size = 30;
#elif defined _WIN64
int size = 30;
if(ui.getScreenWidth() >= 1920)
{
size = 45;
}
int size = 45;
if(ui.getScreenWidth() < 1920) size = 30;
#else
int size = 45;
#endif
@@ -6670,7 +6691,7 @@ wstring CMinecraftApp::GetVKReplacement(unsigned int uiVKey)
case VK_PAD_RTHUMB_DOWNLEFT :
replacement = L"ButtonRightStick";
break;
#if defined _XBOX_ONE || defined __PSVITA__ || defined _WINDOWS64
#if defined _XBOX_ONE || defined __PSVITA__
case VK_PAD_START:
replacement = L"ButtonStart";
break;
@@ -6686,12 +6707,8 @@ wstring CMinecraftApp::GetVKReplacement(unsigned int uiVKey)
#ifdef __PS3__
int size = 30;
#elif defined _WIN64
int size = 30;
if(ui.getScreenWidth() >= 1920)
{
size = 45;
}
int size = 45;
if(ui.getScreenWidth() < 1920) size = 30;
#else
int size = 45;
#endif
@@ -6721,12 +6738,8 @@ wstring CMinecraftApp::GetIconReplacement(unsigned int uiIcon)
#ifdef __PS3__
int size = 22;
#elif defined _WIN64
int size = 22;
if(ui.getScreenWidth() >= 1920)
{
size = 33;
}
int size = 33;
if(ui.getScreenWidth() < 1920) size = 22;
#else
int size = 33;
#endif
@@ -7336,7 +7349,7 @@ void CMinecraftApp::EnterSaveNotificationSection()
if( g_NetworkManager.IsLocalGame() && g_NetworkManager.GetPlayerCount() == 1 )
{
app.SetUIServerAction(ProfileManager.GetPrimaryPad(),eUIServerAction_PauseServer,(void *)TRUE);
app.SetXuiServerAction(ProfileManager.GetPrimaryPad(),eXuiServerAction_PauseServer,(void *)TRUE);
}
}
}
@@ -7354,7 +7367,7 @@ void CMinecraftApp::LeaveSaveNotificationSection()
if( g_NetworkManager.IsLocalGame() && g_NetworkManager.GetPlayerCount() == 1 )
{
app.SetUIServerAction(ProfileManager.GetPrimaryPad(),eUIServerAction_PauseServer,(void *)FALSE);
app.SetXuiServerAction(ProfileManager.GetPrimaryPad(),eXuiServerAction_PauseServer,(void *)FALSE);
}
}
}
@@ -7383,14 +7396,14 @@ int CMinecraftApp::RemoteSaveThreadProc( void* lpParameter )
pMinecraft->progressRenderer->progressStage( -1 );
pMinecraft->progressRenderer->progressStagePercentage(0);
while( !app.GetGameStarted() && app.GetUIAction( ProfileManager.GetPrimaryPad() ) == eAppAction_WaitRemoteServerSaveComplete )
while( !app.GetGameStarted() && app.GetXuiAction( ProfileManager.GetPrimaryPad() ) == eAppAction_WaitRemoteServerSaveComplete )
{
// Tick all the games connections
pMinecraft->tickAllConnections();
Sleep( 100 );
}
if( app.GetUIAction( ProfileManager.GetPrimaryPad() ) != eAppAction_WaitRemoteServerSaveComplete )
if( app.GetXuiAction( ProfileManager.GetPrimaryPad() ) != eAppAction_WaitRemoteServerSaveComplete )
{
// Something cancelled us?
return ERROR_CANCELLED;
@@ -9704,6 +9717,7 @@ void CMinecraftApp::getLocale(vector<wstring> &vecWstrLocales)
locales.push_back(eMCLang_zhCN);
break;
#if defined __PS3__ || defined __ORBIS__ || defined __PSVITA__ || defined _DURANGO
case XC_LANGUAGE_DANISH:
locales.push_back(eMCLang_daDA);
locales.push_back(eMCLang_daDK);
@@ -9729,6 +9743,7 @@ void CMinecraftApp::getLocale(vector<wstring> &vecWstrLocales)
locales.push_back(eMCLang_enGR);
locales.push_back(eMCLang_enGB);
break;
#endif
}
#endif
@@ -10017,7 +10032,7 @@ enum ETitleUpdateTexturePacks
};
#ifdef _WINDOWS64
wstring titleUpdateTexturePackRoot = L"Windows64Media\\DLC\\";
wstring titleUpdateTexturePackRoot = L"Windows64\\DLC\\";
#elif defined(__ORBIS__)
wstring titleUpdateTexturePackRoot = L"app0/Orbis/DLC/";
#elif defined(__PSVITA__)
+28 -16
View File
@@ -114,6 +114,7 @@ public:
static const int USER_SR = 6;
static const int USER_UI = 7; // 4J Stu - This also makes it appear on the UI console
void HandleButtonPresses();
bool IntroRunning() { return m_bIntroRunning;}
void SetIntroRunning(bool bSet) {m_bIntroRunning=bSet;}
#ifdef _CONTENT_PACKAGE
@@ -159,17 +160,17 @@ public:
eGameMode GetGameMode() { return m_eGameMode;}
void SetGameMode(eGameMode eMode) { m_eGameMode=eMode;}
eUIAction GetGlobalUIAction() {return m_eGlobalUIAction;}
void SetGlobalUIAction(eUIAction action) {m_eGlobalUIAction=action;}
eUIAction GetUIAction(int iPad) {return m_eUIAction[iPad];}
void SetAction(int iPad, eUIAction action, LPVOID param = NULL);
eXuiAction GetGlobalXuiAction() {return m_eGlobalXuiAction;}
void SetGlobalXuiAction(eXuiAction action) {m_eGlobalXuiAction=action;}
eXuiAction GetXuiAction(int iPad) {return m_eXuiAction[iPad];}
void SetAction(int iPad, eXuiAction action, LPVOID param = NULL);
void SetTMSAction(int iPad, eTMSAction action) {m_eTMSAction[iPad]=action; }
eTMSAction GetTMSAction(int iPad) {return m_eTMSAction[iPad];}
eUIServerAction GetUIServerAction(int iPad) {return m_eUIServerAction[iPad];}
LPVOID GetUIServerActionParam(int iPad) {return m_eUIServerActionParam[iPad];}
void SetUIServerAction(int iPad, eUIServerAction action, LPVOID param = NULL) {m_eUIServerAction[iPad]=action; m_eUIServerActionParam[iPad] = param;}
eUIServerAction GetGlobalUIServerAction() {return m_eGlobalUIServerAction;}
void SetGlobalUIServerAction(eUIServerAction action) {m_eGlobalUIServerAction=action;}
eXuiServerAction GetXuiServerAction(int iPad) {return m_eXuiServerAction[iPad];}
LPVOID GetXuiServerActionParam(int iPad) {return m_eXuiServerActionParam[iPad];}
void SetXuiServerAction(int iPad, eXuiServerAction action, LPVOID param = NULL) {m_eXuiServerAction[iPad]=action; m_eXuiServerActionParam[iPad] = param;}
eXuiServerAction GetGlobalXuiServerAction() {return m_eGlobalXuiServerAction;}
void SetGlobalXuiServerAction(eXuiServerAction action) {m_eGlobalXuiServerAction=action;}
DisconnectPacket::eDisconnectReason GetDisconnectReason() { return m_disconnectReason; }
void SetDisconnectReason(DisconnectPacket::eDisconnectReason bVal) { m_disconnectReason = bVal; }
@@ -183,7 +184,7 @@ public:
// 4J Stu - Added so that we can call this when a confirmation box is selected
static void SetActionConfirmed(LPVOID param);
void HandleUIActions(void);
void HandleXuiActions(void);
// 4J Stu - Functions used for Minecon and other promo work
bool GetLoadSavesFromFolderEnabled() { return m_bLoadSavesFromFolderEnabled; }
@@ -445,6 +446,8 @@ private:
VBANNEDLIST *m_vBannedListA[XUSER_MAX_COUNT];
void HandleButtonPresses(int iPad);
bool m_bResourcesLoaded;
// Global string table for this application.
@@ -511,13 +514,13 @@ private:
// To avoid problems with threads being kicked off from xuis that alter things that may be in progress within the run_middle,
// we'll action these at the end of the game loop
eUIAction m_eUIAction[XUSER_MAX_COUNT];
eXuiAction m_eXuiAction[XUSER_MAX_COUNT];
eTMSAction m_eTMSAction[XUSER_MAX_COUNT];
LPVOID m_eUIActionParam[XUSER_MAX_COUNT];
eUIAction m_eGlobalUIAction;
eUIServerAction m_eUIServerAction[XUSER_MAX_COUNT];
LPVOID m_eUIServerActionParam[XUSER_MAX_COUNT];
eUIServerAction m_eGlobalUIServerAction;
LPVOID m_eXuiActionParam[XUSER_MAX_COUNT];
eXuiAction m_eGlobalXuiAction;
eXuiServerAction m_eXuiServerAction[XUSER_MAX_COUNT];
LPVOID m_eXuiServerActionParam[XUSER_MAX_COUNT];
eXuiServerAction m_eGlobalXuiServerAction;
bool m_bLiveLinkRequired;
@@ -848,6 +851,15 @@ public:
static DWORD getSkinIdFromPath(const wstring &skin);
static wstring getSkinPathFromId(DWORD skinId);
virtual int LoadLocalTMSFile(WCHAR *wchTMSFile)=0;
virtual int LoadLocalTMSFile(WCHAR *wchTMSFile, eFileExtensionType eExt)=0;
virtual void FreeLocalTMSFiles(eTMSFileType eType)=0;
virtual int GetLocalTMSFileIndex(WCHAR *wchTMSFile,bool bFilenameIncludesExtension,eFileExtensionType eEXT)=0;
virtual bool GetTMSGlobalFileListRead() { return true;}
virtual bool GetTMSDLCInfoRead() { return true;}
virtual bool GetTMSXUIDsFileRead() { return true;}
bool GetBanListRead(int iPad) { return m_bRead_BannedListA[iPad];}
void SetBanListRead(int iPad,bool bVal) { m_bRead_BannedListA[iPad]=bVal;}
void ClearBanList(int iPad) { BannedListA[iPad].pBannedList=NULL;BannedListA[iPad].dwBytes=0;}
+10 -10
View File
@@ -344,14 +344,14 @@ bool DLCManager::readDLCDataFile(DWORD &dwFilesProcessed, const string &path, DL
}
else if (fromArchive) return false;
#if (defined _DURANGO || _WINDOWS64)
#ifdef _WINDOWS64
string finalPath = StorageManager.GetMountedPath(path.c_str());
if(finalPath.size() == 0) finalPath = path;
HANDLE file = CreateFile(finalPath.c_str(), GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
#elif defined(_DURANGO)
wstring finalPath = StorageManager.GetMountedPath(wPath.c_str());
if(finalPath.size() == 0) finalPath = wPath;
#ifdef _DURANGO
HANDLE file = CreateFile(finalPath.c_str(), GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
#else
HANDLE file = CreateFileW(finalPath.c_str(), GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
#endif
#else
HANDLE file = CreateFile(path.c_str(), GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
#endif
@@ -557,14 +557,14 @@ DWORD DLCManager::retrievePackIDFromDLCDataFile(const string &path, DLCPack *pac
DWORD packId = 0;
wstring wPath = convStringToWstring(path);
#if (defined _DURANGO || _WINDOWS64)
#ifdef _WINDOWS64
string finalPath = StorageManager.GetMountedPath(path.c_str());
if(finalPath.size() == 0) finalPath = path;
HANDLE file = CreateFile(finalPath.c_str(), GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
#elif defined(_DURANGO)
wstring finalPath = StorageManager.GetMountedPath(wPath.c_str());
if(finalPath.size() == 0) finalPath = wPath;
#ifdef _DURANGO
HANDLE file = CreateFile(finalPath.c_str(), GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
#else
HANDLE file = CreateFileW(finalPath.c_str(), GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
#endif
#else
HANDLE file = CreateFile(path.c_str(), GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
#endif
@@ -464,7 +464,7 @@ void LevelGenerationOptions::loadBaseSaveData()
if(mountIndex > -1)
{
#if (defined _DURANGO || _WINDOWS64)
#ifdef _DURANGO
if(StorageManager.MountInstalledDLC(ProfileManager.GetPrimaryPad(),mountIndex,&LevelGenerationOptions::packMounted,this,L"WPACK")!=ERROR_IO_PENDING)
#else
if(StorageManager.MountInstalledDLC(ProfileManager.GetPrimaryPad(),mountIndex,&LevelGenerationOptions::packMounted,this,"WPACK")!=ERROR_IO_PENDING)
@@ -604,7 +604,7 @@ int LevelGenerationOptions::packMounted(LPVOID pParam,int iPad,DWORD dwErr,DWORD
}
}
#if (defined _DURANGO || _WINDOWS64)
#ifdef _DURANGO
DWORD result = StorageManager.UnmountInstalledDLC(L"WPACK");
#else
DWORD result = StorageManager.UnmountInstalledDLC("WPACK");
@@ -1,171 +1,171 @@
<root>
<data name="IDS_NULL">
<value>Not Used</value>
</data>
<data name="IDS_OK">
<value>OK</value>
</data>
<data name="IDS_BACK">
<value>Back</value>
</data>
<data name="IDS_CANCEL">
<value>Cancel</value>
</data>
<data name="IDS_YES">
<value>Yes</value>
</data>
<data name="IDS_NO">
<value>No</value>
</data>
<data name="IDS_CORRUPTSAVE_TITLE">
<value>Corrupt Save</value>
</data>
<data name="IDS_CORRUPTSAVE_TEXT">
<value>Your save data appears to be corrupt. Create a new save and overwrite the corrupt one?</value>
</data>
<data name="IDS_NOFREESPACE_TITLE">
<value>No Free Space</value>
</data>
<data name="IDS_NOFREESPACE_TEXT">
<value>Your selected storage device doesn't have enough free space to create a game save.</value>
</data>
<data name="IDS_SELECTAGAIN">
<value>Select again</value>
</data>
<data name="IDS_PLAYWITHOUTSAVING">
<value>Play without saving</value>
</data>
<data name="IDS_CREATEANEWSAVE">
<value>Create a new save</value>
</data>
<data name="IDS_OVERWRITESAVE_TITLE">
<value>Overwrite save?</value>
</data>
<data name="IDS_OVERWRITESAVE_TEXT">
<value>Your selected storage device already contains this save. Is it OK to overwrite it?</value>
</data>
<data name="IDS_OVERWRITESAVE_NO">
<value>No - don't overwrite</value>
</data>
<data name="IDS_OVERWRITESAVE_YES">
<value>Overwrite and save</value>
</data>
<data name="IDS_FAILED_TO_SAVE_TITLE">
<value>Save failed</value>
</data>
<data name="IDS_STORAGEDEVICEPROBLEM_TITLE">
<value>Storage Device Problem</value>
</data>
<data name="IDS_FAILED_TO_SAVE_TEXT">
<value>Your storage device is unavailable or has an error</value>
</data>
<data name="IDS_FAILED_TO_LOADSAVE_TEXT">
<value>Your storage device is unavailable or has an error. Please select a new storage device.</value>
</data>
<data name="IDS_SELECTANEWDEVICE">
<value>Select a new storage device</value>
</data>
<data name="IDS_NODEVICE_TITLE">
<value>No storage device selected</value>
</data>
<data name="IDS_NODEVICE_TEXT">
<value>If you do not select a storage device, game saves will be disabled</value>
</data>
<data name="IDS_NODEVICE_ACCEPT">
<value>Select a storage device</value>
</data>
<data name="IDS_NODEVICE_DECLINE">
<value>Continue without saving</value>
</data>
<data name="IDS_DEVICEGONE_TEXT">
<value>Your storage device has been removed. Please select a new one.</value>
</data>
<data name="IDS_DEVICEGONE_TITLE">
<value>Loading failed</value>
</data>
<data name="IDS_KEYBOARDUI_SAVEGAME_TITLE">
<value>Name the save</value>
</data>
<data name="IDS_KEYBOARDUI_SAVEGAME_TEXT">
<value>Enter a name for your savegame</value>
</data>
<data name="IDS_WARNING_ARCADE_TITLE">
<value>Return to Xbox Dashboard</value>
</data>
<data name="IDS_WARNING_ARCADE_TEXT">
<value>Are you sure you want to exit the game?</value>
</data>
<data name="IDS_PRO_RETURNEDTOMENU_TITLE">
<value>Signed out</value>
</data>
<data name="IDS_PRO_RETURNEDTOTITLESCREEN_TEXT">
<value>You have been returned to the title screen because your gamer profile was signed out</value>
</data>
<data name="IDS_PRO_RETURNEDTOMENU_TEXT">
<value>The match has ended because a gamer profile was signed out</value>
</data>
<data name="IDS_PRO_RETURNEDTOMENU_ACCEPT">
<value>Continue playing</value>
</data>
<data name="IDS_PRO_NOTONLINE_TITLE">
<value>Gamer profile not online</value>
</data>
<data name="IDS_PRO_NOTONLINE_TEXT">
<value>This game has some features which require an Xbox Live enabled gamer profile, but you are currently offline.</value>
</data>
<data name="IDS_PRO_XBOXLIVE_NOTIFICATION">
<value>This feature requires a gamer profile which is signed into Xbox Live.</value>
</data>
<data name="IDS_PRO_NOTONLINE_ACCEPT">
<value>Connect to Xbox Live</value>
</data>
<data name="IDS_PRO_NOTONLINE_DECLINE">
<value>Continue playing offline</value>
</data>
<data name="IDS_PRO_ACHIEVEMENTPROBLEM_TITLE">
<value>Achievement Award Problem</value>
</data>
<data name="IDS_PRO_ACHIEVEMENTPROBLEM_TEXT">
<value> There was a problem accessing your gamer profile. Your achievement could not be awarded at this time.</value>
</data>
<data name="IDS_PRO_NOPROFILE_TITLE">
<value>Gamer profile problem</value>
</data>
<data name="IDS_PRO_NOPROFILEOPTIONS_TEXT">
<value>Saving of settings to gamer profile has failed.</value>
</data>
<data name="IDS_PRO_GUESTPROFILE_TITLE">
<value>Guest Gamer Profile</value>
</data>
<data name="IDS_PRO_GUESTPROFILE_TEXT">
<value>Guest gamer profile cannot access this feature. Please use a different gamer profile.</value>
</data>
<data name="IDS_STO_SAVING_SHORT">
<value>Saving…</value>
</data>
<data name="IDS_STO_SAVING_LONG">
<value>Saving content. Please don't turn off your console.</value>
</data>
<data name="IDS_PRO_UNLOCKGAME_TITLE">
<value>Unlock Full Game</value>
</data>
<data name="IDS_PRO_UNLOCKGAME_TEXT">
<value>This is the Minecraft trial game. If you had the full game, you would just have earned an achievement!
Unlock the full game to experience the joy of Minecraft and to play with your friends across the globe through Xbox Live.
Would you like to unlock the full game?</value>
</data>
<data name="IDS_PRO_PROFILEPROBLEM_TEXT">
<value>You are being returned to the main menu because of a problem reading your profile.</value>
</data>
</root>
<root>
<data name="IDS_NULL">
<value>Not Used</value>
</data>
<data name="IDS_OK">
<value>OK</value>
</data>
<data name="IDS_BACK">
<value>Back</value>
</data>
<data name="IDS_CANCEL">
<value>Cancel</value>
</data>
<data name="IDS_YES">
<value>Yes</value>
</data>
<data name="IDS_NO">
<value>No</value>
</data>
<data name="IDS_CORRUPTSAVE_TITLE">
<value>Corrupt Save</value>
</data>
<data name="IDS_CORRUPTSAVE_TEXT">
<value>Your save data appears to be corrupt. Create a new save and overwrite the corrupt one?</value>
</data>
<data name="IDS_NOFREESPACE_TITLE">
<value>No Free Space</value>
</data>
<data name="IDS_NOFREESPACE_TEXT">
<value>Your selected storage device doesn't have enough free space to create a game save.</value>
</data>
<data name="IDS_SELECTAGAIN">
<value>Select again</value>
</data>
<data name="IDS_PLAYWITHOUTSAVING">
<value>Play without saving</value>
</data>
<data name="IDS_CREATEANEWSAVE">
<value>Create a new save</value>
</data>
<data name="IDS_OVERWRITESAVE_TITLE">
<value>Overwrite save?</value>
</data>
<data name="IDS_OVERWRITESAVE_TEXT">
<value>Your selected storage device already contains this save. Is it OK to overwrite it?</value>
</data>
<data name="IDS_OVERWRITESAVE_NO">
<value>No - don't overwrite</value>
</data>
<data name="IDS_OVERWRITESAVE_YES">
<value>Overwrite and save</value>
</data>
<data name="IDS_FAILED_TO_SAVE_TITLE">
<value>Save failed</value>
</data>
<data name="IDS_STORAGEDEVICEPROBLEM_TITLE">
<value>Storage Device Problem</value>
</data>
<data name="IDS_FAILED_TO_SAVE_TEXT">
<value>Your storage device is unavailable or has an error</value>
</data>
<data name="IDS_FAILED_TO_LOADSAVE_TEXT">
<value>Your storage device is unavailable or has an error. Please select a new storage device.</value>
</data>
<data name="IDS_SELECTANEWDEVICE">
<value>Select a new storage device</value>
</data>
<data name="IDS_NODEVICE_TITLE">
<value>No storage device selected</value>
</data>
<data name="IDS_NODEVICE_TEXT">
<value>If you do not select a storage device, game saves will be disabled</value>
</data>
<data name="IDS_NODEVICE_ACCEPT">
<value>Select a storage device</value>
</data>
<data name="IDS_NODEVICE_DECLINE">
<value>Continue without saving</value>
</data>
<data name="IDS_DEVICEGONE_TEXT">
<value>Your storage device has been removed. Please select a new one.</value>
</data>
<data name="IDS_DEVICEGONE_TITLE">
<value>Loading failed</value>
</data>
<data name="IDS_KEYBOARDUI_SAVEGAME_TITLE">
<value>Name the save</value>
</data>
<data name="IDS_KEYBOARDUI_SAVEGAME_TEXT">
<value>Enter a name for your savegame</value>
</data>
<data name="IDS_WARNING_ARCADE_TITLE">
<value>Return to Xbox Dashboard</value>
</data>
<data name="IDS_WARNING_ARCADE_TEXT">
<value>Are you sure you want to exit the game?</value>
</data>
<data name="IDS_PRO_RETURNEDTOMENU_TITLE">
<value>Signed out</value>
</data>
<data name="IDS_PRO_RETURNEDTOTITLESCREEN_TEXT">
<value>You have been returned to the title screen because your gamer profile was signed out</value>
</data>
<data name="IDS_PRO_RETURNEDTOMENU_TEXT">
<value>The match has ended because a gamer profile was signed out</value>
</data>
<data name="IDS_PRO_RETURNEDTOMENU_ACCEPT">
<value>Continue playing</value>
</data>
<data name="IDS_PRO_NOTONLINE_TITLE">
<value>Gamer profile not online</value>
</data>
<data name="IDS_PRO_NOTONLINE_TEXT">
<value>This game has some features which require an Xbox Live enabled gamer profile, but you are currently offline.</value>
</data>
<data name="IDS_PRO_XBOXLIVE_NOTIFICATION">
<value>This feature requires a gamer profile which is signed into Xbox Live.</value>
</data>
<data name="IDS_PRO_NOTONLINE_ACCEPT">
<value>Connect to Xbox Live</value>
</data>
<data name="IDS_PRO_NOTONLINE_DECLINE">
<value>Continue playing offline</value>
</data>
<data name="IDS_PRO_ACHIEVEMENTPROBLEM_TITLE">
<value>Achievement Award Problem</value>
</data>
<data name="IDS_PRO_ACHIEVEMENTPROBLEM_TEXT">
<value> There was a problem accessing your gamer profile. Your achievement could not be awarded at this time.</value>
</data>
<data name="IDS_PRO_NOPROFILE_TITLE">
<value>Gamer profile problem</value>
</data>
<data name="IDS_PRO_NOPROFILEOPTIONS_TEXT">
<value>Saving of settings to gamer profile has failed.</value>
</data>
<data name="IDS_PRO_GUESTPROFILE_TITLE">
<value>Guest Gamer Profile</value>
</data>
<data name="IDS_PRO_GUESTPROFILE_TEXT">
<value>Guest gamer profile cannot access this feature. Please use a different gamer profile.</value>
</data>
<data name="IDS_STO_SAVING_SHORT">
<value>Saving…</value>
</data>
<data name="IDS_STO_SAVING_LONG">
<value>Saving content. Please don't turn off your console.</value>
</data>
<data name="IDS_PRO_UNLOCKGAME_TITLE">
<value>Unlock Full Game</value>
</data>
<data name="IDS_PRO_UNLOCKGAME_TEXT">
<value>This is the Minecraft trial game. If you had the full game, you would just have earned an achievement!
Unlock the full game to experience the joy of Minecraft and to play with your friends across the globe through Xbox Live.
Would you like to unlock the full game?</value>
</data>
<data name="IDS_PRO_PROFILEPROBLEM_TEXT">
<value>You are being returned to the main menu because of a problem reading your profile.</value>
</data>
</root>
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More