forked from cafeberry/cafeberry
Compare commits
95
Commits
main
...
networking
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d24c73d4c7 | ||
|
|
faf3a3edea | ||
|
|
1e747b70e7 | ||
|
|
e16d566853 | ||
|
|
fc988df2cc | ||
|
|
ca4a561d07 | ||
|
|
1e47ff84a9 | ||
|
|
a2dad85bb1 | ||
|
|
0405a47bd1 | ||
|
|
0e7da09615 | ||
|
|
ad7dd528f7 | ||
|
|
83e11bdf9b | ||
|
|
7b4821d329 | ||
|
|
a8a2c5393a | ||
|
|
e21c637b3c | ||
|
|
b22decd65c | ||
|
|
9b7d5a0c25 | ||
|
|
e71fe15126 | ||
|
|
8e471b7e9c | ||
|
|
6800455166 | ||
|
|
1e37e0207c | ||
|
|
195672f73c | ||
|
|
4020b16864 | ||
|
|
5065c28b5c | ||
|
|
39c22195fb | ||
|
|
41b976ed9e | ||
|
|
fc1a6a80e3 | ||
|
|
902a6ca641 | ||
|
|
4e368283e1 | ||
|
|
4b962fcb21 | ||
|
|
81e4a789b6 | ||
|
|
78f192ed76 | ||
|
|
344fd63488 | ||
|
|
1f3664da94 | ||
|
|
a43edb9faa | ||
|
|
b62b7eb04d | ||
|
|
5531c673cd | ||
|
|
91ed8dceb6 | ||
|
|
9cabad158a | ||
|
|
6878c47f24 | ||
|
|
a26fa24890 | ||
|
|
3f8321240f | ||
|
|
e52fce044a | ||
|
|
327da2f843 | ||
|
|
5845c6ce26 | ||
|
|
f615927e0e | ||
|
|
5a3c528ed0 | ||
|
|
fe90a6c640 | ||
|
|
6512a32798 | ||
|
|
8fffd28dda | ||
|
|
e5b6a63d4c | ||
|
|
12a601d478 | ||
|
|
de526b7bd9 | ||
|
|
ad62c603da | ||
|
|
90f771e038 | ||
|
|
c8ffa527c8 | ||
|
|
b1d583721f | ||
|
|
8ee10c3a68 | ||
|
|
c988bd564d | ||
|
|
71a972a033 | ||
|
|
a047df6dc4 | ||
|
|
1763155fc6 | ||
|
|
1a903c65dc | ||
|
|
a1541c590d | ||
|
|
9d19fdc5f5 | ||
|
|
14cd85e7ed | ||
|
|
9e3077c3bc | ||
|
|
494235878e | ||
|
|
feeff55924 | ||
|
|
f404e4b4e4 | ||
|
|
67a8111974 | ||
|
|
6853eab85f | ||
|
|
125819419f | ||
|
|
ebbd54288b | ||
|
|
92891de261 | ||
|
|
6167e04f82 | ||
|
|
0443166b6a | ||
|
|
4b0520c938 | ||
|
|
2840b7620b | ||
|
|
5451249347 | ||
|
|
de8bf25fbe | ||
|
|
64e95393c8 | ||
|
|
ea3621971f | ||
|
|
ce3e83039d | ||
|
|
42f09f93e5 | ||
|
|
9f8dab8ebb | ||
|
|
5ebaab0ac9 | ||
|
|
92209cf909 | ||
|
|
94f1cefcf9 | ||
|
|
e254228cf5 | ||
|
|
b87d044cf0 | ||
|
|
01abe05b18 | ||
|
|
2170209e26 | ||
|
|
991369547a | ||
|
|
dbd90a75c9 |
@@ -0,0 +1,114 @@
|
||||
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 }}
|
||||
@@ -45,11 +45,12 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout Repository
|
||||
uses: https://github.com/actions/checkout@v4
|
||||
uses: actions/checkout@v6
|
||||
with:
|
||||
fetch-depth: 1
|
||||
clean: false
|
||||
lfs: false
|
||||
submodules: recursive
|
||||
|
||||
- name: Build Cafeberry
|
||||
run: |
|
||||
|
||||
+15
-2
@@ -6,15 +6,24 @@
|
||||
/*Release*
|
||||
/*ContentPackage*
|
||||
|
||||
# Minecraft.Server
|
||||
/Minecraft.Server/x64
|
||||
/Minecraft.Server/x64_*
|
||||
/Minecraft.Server/*Debug
|
||||
/Minecraft.Server/*Release*
|
||||
/Minecraft.Server/*Server*
|
||||
/Minecraft.Server/*ContentPackage*
|
||||
|
||||
# Minecraft.Client
|
||||
/Minecraft.Client/x64
|
||||
/Minecraft.Client/x64_*
|
||||
/Minecraft.Client/*Debug
|
||||
/Minecraft.Client/*Release*
|
||||
/Minecraft.Client/*Server*
|
||||
/Minecraft.Client/*ContentPackage*
|
||||
/Minecraft.Client/Windows64/GameHDD
|
||||
|
||||
# Minecraft.world
|
||||
# Minecraft.World
|
||||
/Minecraft.World/x64
|
||||
/Minecraft.World/x64_*
|
||||
/Minecraft.World/*Debug
|
||||
@@ -28,6 +37,10 @@
|
||||
/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
|
||||
@@ -39,4 +52,4 @@
|
||||
*.opensdf
|
||||
*.v11.suo
|
||||
*.vcxproj.user
|
||||
*.aps
|
||||
*.aps
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
[submodule "Minecraft.Client/Windows64/4JLibs"]
|
||||
path = Minecraft.Client/Windows64/4JLibs
|
||||
url = https://gitea.str1k3r.xyz/pieeebot/Cafeberry-4JLibs
|
||||
url = https://gitea.str1k3r.xyz/cafeberry/4JLibs.git
|
||||
ignore = untracked
|
||||
branch = main
|
||||
|
||||
@@ -248,7 +248,7 @@ void AbstractTexturePack::loadDefaultUI()
|
||||
//CXuiSceneBase::GetInstance()->SetVisualPrefix(L"TexturePack");
|
||||
CXuiSceneBase::GetInstance()->SkinChanged(CXuiSceneBase::GetInstance()->m_hObj);
|
||||
#else
|
||||
ui.ReloadSkin();
|
||||
ui.ReloadSkins();
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
@@ -402,6 +402,7 @@ void Chunk::rebuild()
|
||||
}
|
||||
|
||||
Tile *tile = Tile::tiles[tileId];
|
||||
if (!tile) continue;
|
||||
if (currentLayer == 0 && tile->isEntityTile())
|
||||
{
|
||||
shared_ptr<TileEntity> et = region->getTileEntity(x, y, z);
|
||||
@@ -739,9 +740,9 @@ void Chunk::rebuild_SPU()
|
||||
{
|
||||
// 4J - get tile from those copied into our local array in earlier optimisation
|
||||
unsigned char tileId = pOutData->getTile(x,y,z);
|
||||
if (tileId > 0)
|
||||
if (tileId > 0 && tileId != 0xff)
|
||||
{
|
||||
if (currentLayer == 0 && Tile::tiles[tileId]->isEntityTile())
|
||||
if (currentLayer == 0 && Tile::tiles[tileId] && Tile::tiles[tileId]->isEntityTile())
|
||||
{
|
||||
shared_ptr<TileEntity> et = region.getTileEntity(x, y, z);
|
||||
if (TileEntityRenderDispatcher::instance->hasRenderer(et))
|
||||
@@ -754,6 +755,7 @@ void Chunk::rebuild_SPU()
|
||||
{
|
||||
|
||||
Tile *tile = Tile::tiles[tileId];
|
||||
if (!tile) continue;
|
||||
int renderLayer = tile->getRenderLayer();
|
||||
|
||||
if (renderLayer != currentLayer)
|
||||
|
||||
@@ -50,11 +50,16 @@
|
||||
#else
|
||||
#include "Common\UI\UI.h"
|
||||
#endif
|
||||
#ifdef __PS3__
|
||||
#if defined __PS3__ && !defined DISABLE_PSN
|
||||
#include "PS3/Network/SonyVoiceChat.h"
|
||||
#endif
|
||||
#include "DLCTexturePack.h"
|
||||
|
||||
#if defined _WINDOWS64 || defined DISABLE_PSN || defined _DISABLE_XBLIVE
|
||||
#include "Xbox\Network\NetworkPlayerXbox.h"
|
||||
#include "Common\Network\PlatformNetworkManager.h"
|
||||
#endif
|
||||
|
||||
#ifdef _DURANGO
|
||||
#include "..\Minecraft.World\DurangoStats.h"
|
||||
#include "..\Minecraft.World\GenericStats.h"
|
||||
@@ -298,6 +303,10 @@ void ClientConnection::handleLogin(shared_ptr<LoginPacket> packet)
|
||||
level->isClientSide = true;
|
||||
minecraft->setLevel(level);
|
||||
}
|
||||
else
|
||||
{
|
||||
level = (MultiPlayerLevel *)dimensionLevel;
|
||||
}
|
||||
|
||||
minecraft->player->setPlayerIndex( packet->m_playerIndex );
|
||||
minecraft->player->setCustomSkin( app.GetPlayerSkinId(m_userIndex) );
|
||||
@@ -771,6 +780,7 @@ void ClientConnection::handleAddPlayer(shared_ptr<AddPlayerPacket> packet)
|
||||
player->yRotp = packet->yRot;
|
||||
player->yHeadRot = packet->yHeadRot * 360 / 256.0f;
|
||||
player->setXuid(packet->xuid);
|
||||
player->setOnlineXuid(packet->OnlineXuid);
|
||||
|
||||
#ifdef _DURANGO
|
||||
// On Durango request player display name from network manager
|
||||
@@ -781,6 +791,32 @@ void ClientConnection::handleAddPlayer(shared_ptr<AddPlayerPacket> packet)
|
||||
player->m_displayName = player->name;
|
||||
#endif
|
||||
|
||||
#if defined _WINDOWS64 || defined DISABLE_PSN || defined _DISABLE_XBLIVE
|
||||
{
|
||||
PlayerUID netXuid = packet->OnlineXuid;
|
||||
const PlayerUID WIN64_XUID_BASE = (PlayerUID)0xe000d45248242f2e;
|
||||
if (netXuid >= WIN64_XUID_BASE && netXuid < WIN64_XUID_BASE + MINECRAFT_NET_MAX_PLAYERS)
|
||||
{
|
||||
BYTE smallId = (BYTE)(netXuid - WIN64_XUID_BASE);
|
||||
INetworkPlayer *np = g_NetworkManager.GetPlayerBySmallId(smallId);
|
||||
if (np != NULL)
|
||||
{
|
||||
NetworkPlayerXbox *npx = (NetworkPlayerXbox *)np;
|
||||
IQNetPlayer *qp = npx->GetQNetPlayer();
|
||||
if (qp != NULL)
|
||||
{
|
||||
wcsncpy(qp->m_gamertag, packet->name.c_str(), 31);
|
||||
qp->m_gamertag[31] = L'\0';
|
||||
if (g_NetworkManager.IsHost())
|
||||
{
|
||||
g_NetworkManager.UpdateAndSetGameSessionData();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
// printf("\t\t\t\t%d: Add player\n",packet->id,packet->yRot);
|
||||
|
||||
int item = packet->carriedItem;
|
||||
@@ -1004,6 +1040,7 @@ void ClientConnection::handleChunkVisibility(shared_ptr<ChunkVisibilityPacket> p
|
||||
void ClientConnection::handleChunkTilesUpdate(shared_ptr<ChunkTilesUpdatePacket> packet)
|
||||
{
|
||||
// 4J - changed to encode level in packet
|
||||
if (packet->levelIdx >= minecraft->levels.length) return;
|
||||
MultiPlayerLevel *dimensionLevel = (MultiPlayerLevel *)minecraft->levels[packet->levelIdx];
|
||||
if( dimensionLevel )
|
||||
{
|
||||
@@ -1073,6 +1110,7 @@ void ClientConnection::handleChunkTilesUpdate(shared_ptr<ChunkTilesUpdatePacket>
|
||||
void ClientConnection::handleBlockRegionUpdate(shared_ptr<BlockRegionUpdatePacket> packet)
|
||||
{
|
||||
// 4J - changed to encode level in packet
|
||||
if (packet->levelIdx >= minecraft->levels.length) return;
|
||||
MultiPlayerLevel *dimensionLevel = (MultiPlayerLevel *)minecraft->levels[packet->levelIdx];
|
||||
if( dimensionLevel )
|
||||
{
|
||||
@@ -1130,6 +1168,8 @@ void ClientConnection::handleTileUpdate(shared_ptr<TileUpdatePacket> packet)
|
||||
destroyTilePacket = true;
|
||||
}
|
||||
// 4J - changed to encode level in packet
|
||||
if (packet->levelIdx >= minecraft->levels.length) return;
|
||||
|
||||
MultiPlayerLevel *dimensionLevel = (MultiPlayerLevel *)minecraft->levels[packet->levelIdx];
|
||||
if( dimensionLevel )
|
||||
{
|
||||
@@ -1769,6 +1809,7 @@ void ClientConnection::handleEntityActionAtPosition(shared_ptr<EntityActionAtPos
|
||||
|
||||
void ClientConnection::handlePreLogin(shared_ptr<PreLoginPacket> packet)
|
||||
{
|
||||
app.DebugPrintf("ClientConnection::handlePreLogin ENTER (user %d)\n", m_userIndex);
|
||||
// printf("Client: handlePreLogin\n");
|
||||
#if 1
|
||||
// 4J - Check that we can play with all the players already in the game who have Friends-Only UGC set
|
||||
@@ -1784,13 +1825,17 @@ 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
|
||||
#if !defined(_DISABLE_XBLIVE)
|
||||
if(!g_NetworkManager.IsHost() && !app.GetGameHostOption(eGameHostOption_FriendsOfFriends))
|
||||
{
|
||||
if(m_userIndex == ProfileManager.GetPrimaryPad() )
|
||||
@@ -1934,6 +1979,16 @@ void ClientConnection::handlePreLogin(shared_ptr<PreLoginPacket> packet)
|
||||
}
|
||||
}
|
||||
}
|
||||
#else
|
||||
// Offline/system-link games have no Xbox Live friend list, so grant all
|
||||
// pre-login permissions (the Xbox Live-only checks above would otherwise
|
||||
// fail and reject the client's own pre-login before Login is ever sent).
|
||||
canPlay = TRUE;
|
||||
canPlayLocal = TRUE;
|
||||
isAtLeastOneFriend = TRUE;
|
||||
isFriendsWithHost = TRUE;
|
||||
cantPlayContentRestricted = FALSE;
|
||||
#endif // _DISABLE_XBLIVE
|
||||
#else
|
||||
// TODO - handle this kind of things for non-360 platforms
|
||||
canPlay = TRUE;
|
||||
@@ -1941,7 +1996,7 @@ void ClientConnection::handlePreLogin(shared_ptr<PreLoginPacket> packet)
|
||||
isAtLeastOneFriend = TRUE;
|
||||
cantPlayContentRestricted= FALSE;
|
||||
|
||||
#if ( defined __PS3__ || defined __ORBIS__ || defined __PSVITA__)
|
||||
#if !defined DISABLE_PSN && ( defined __PS3__ || defined __ORBIS__ || defined __PSVITA__)
|
||||
|
||||
if(!g_NetworkManager.IsHost() && !app.GetGameHostOption(eGameHostOption_FriendsOfFriends))
|
||||
{
|
||||
@@ -2223,7 +2278,8 @@ void ClientConnection::handlePreLogin(shared_ptr<PreLoginPacket> packet)
|
||||
}
|
||||
BOOL allAllowed, friendsAllowed;
|
||||
ProfileManager.AllowedPlayerCreatedContent(m_userIndex,true,&allAllowed,&friendsAllowed);
|
||||
send( shared_ptr<LoginPacket>( new LoginPacket(minecraft->user->name, SharedConstants::NETWORK_PROTOCOL_VERSION, offlineXUID, onlineXUID, (allAllowed!=TRUE && friendsAllowed==TRUE),
|
||||
app.DebugPrintf("ClientConnection::handlePreLogin SENDING LoginPacket (user %d)\n", m_userIndex);
|
||||
send( shared_ptr<LoginPacket>( new LoginPacket(minecraft->user->name, SharedConstants::NETWORK_PROTOCOL_VERSION, offlineXUID, onlineXUID, (allAllowed!=TRUE && friendsAllowed==TRUE),
|
||||
packet->m_ugcPlayersVersion, app.GetPlayerSkinId(m_userIndex), app.GetPlayerCapeId(m_userIndex), ProfileManager.IsGuest( m_userIndex ))));
|
||||
|
||||
if(!g_NetworkManager.IsHost() )
|
||||
@@ -2273,6 +2329,7 @@ void ClientConnection::handleAddMob(shared_ptr<AddMobPacket> packet)
|
||||
float xRot = packet->xRot * 360 / 256.0f;
|
||||
|
||||
shared_ptr<LivingEntity> mob = dynamic_pointer_cast<LivingEntity>(EntityIO::newById(packet->type, level));
|
||||
if (mob == NULL) return;
|
||||
mob->xp = packet->x;
|
||||
mob->yp = packet->y;
|
||||
mob->zp = packet->z;
|
||||
@@ -3516,10 +3573,12 @@ void ClientConnection::handleCustomPayload(shared_ptr<CustomPayloadPacket> custo
|
||||
}
|
||||
#else
|
||||
UIScene *scene = ui.GetTopScene(m_userIndex, eUILayer_Scene);
|
||||
UIScene_TradingMenu *screen = (UIScene_TradingMenu *)scene;
|
||||
trader = screen->getMerchant();
|
||||
UIScene_TradingMenu *screen = dynamic_cast<UIScene_TradingMenu *>(scene);
|
||||
if (screen != NULL)
|
||||
trader = screen->getMerchant();
|
||||
#endif
|
||||
|
||||
if (trader == NULL) return;
|
||||
MerchantRecipeList *recipeList = MerchantRecipeList::createFromStream(&input);
|
||||
trader->overrideOffers(recipeList);
|
||||
}
|
||||
|
||||
@@ -875,7 +875,8 @@ enum EControllerActions
|
||||
MINECRAFT_ACTION_SPAWN_CREEPER,
|
||||
MINECRAFT_ACTION_CHANGE_SKIN,
|
||||
MINECRAFT_ACTION_FLY_TOGGLE,
|
||||
MINECRAFT_ACTION_RENDER_DEBUG
|
||||
MINECRAFT_ACTION_RENDER_DEBUG,
|
||||
MINECRAFT_ACTION_RENDER_DEBUG_SCREEN
|
||||
};
|
||||
|
||||
enum eMCLang
|
||||
|
||||
@@ -162,7 +162,7 @@ MOJANG_DATA;
|
||||
typedef struct
|
||||
{
|
||||
eDLCContentType eDLCType;
|
||||
#if defined( __PS3__) || defined(__ORBIS__) || defined (__PSVITA__)
|
||||
#if !defined(DISABLE_PSN) && (defined( __PS3__) || defined(__ORBIS__) || defined (__PSVITA__))
|
||||
char chImageURL[256];//SCE_NP_COMMERCE2_URL_LEN
|
||||
#else
|
||||
|
||||
|
||||
@@ -22,44 +22,13 @@
|
||||
#ifdef __ORBIS__
|
||||
#include <audioout.h>
|
||||
//#define __DISABLE_MILES__ // MGH disabled for now as it crashes if we call sceNpMatching2Initialize
|
||||
#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
|
||||
#endif
|
||||
|
||||
// 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 a the Windows64 dir so its out of plain view
|
||||
char SoundEngine::m_szRedistName[]={"Windows64\\redist64"}; //str1k3r - moved this to the Windows64 dir so its out of plain view
|
||||
#elif defined _DURANGO
|
||||
char SoundEngine::m_szSoundPath[]={"Sound\\"};
|
||||
char SoundEngine::m_szMusicPath[]={"music\\"};
|
||||
@@ -79,7 +48,7 @@ char SoundEngine::m_szMusicPath[]={"music/"};
|
||||
char SoundEngine::m_szRedistName[]={"redist"};
|
||||
#endif
|
||||
|
||||
/*#ifdef _CONTENT_PACKAGE // strk1k3r - not needed use default paths instead.
|
||||
/*#ifdef _CONTENT_PACKAGE // str1k3r - not needed use default paths instead.
|
||||
char SoundEngine::m_szSoundPath[]={"Sound/"};
|
||||
#elif defined _ART_BUILD
|
||||
char SoundEngine::m_szSoundPath[]={"Sound/"};
|
||||
@@ -111,7 +80,6 @@ char *SoundEngine::m_szStreamFileA[eStream_Max]=
|
||||
"hal4",
|
||||
"nuance1",
|
||||
"nuance2",
|
||||
#ifndef _XBOX
|
||||
// add the new music tracks
|
||||
"creative1",
|
||||
"creative2",
|
||||
@@ -123,11 +91,9 @@ char *SoundEngine::m_szStreamFileA[eStream_Max]=
|
||||
"menu2",
|
||||
"menu3",
|
||||
"menu4",
|
||||
#endif
|
||||
"piano1",
|
||||
"piano2",
|
||||
"piano3",
|
||||
|
||||
// Nether
|
||||
"nether1",
|
||||
"nether2",
|
||||
@@ -308,9 +274,7 @@ void SoundEngine::init(Options *pOptions)
|
||||
sprintf(szBankName,"%s/%s",getUsrDirPath(), m_szSoundPath );
|
||||
}
|
||||
|
||||
#elif defined __PSVITA__
|
||||
sprintf(szBankName,"%s/%s",getUsrDirPath(), m_szSoundPath );
|
||||
#elif defined __ORBIS__
|
||||
#elif (defined __PSVITA__ || __ORBIS__)
|
||||
sprintf(szBankName,"%s/%s",getUsrDirPath(), m_szSoundPath );
|
||||
#else
|
||||
strcpy((char *)szBankName,m_szSoundPath);
|
||||
@@ -1166,13 +1130,17 @@ void SoundEngine::playMusicTick()
|
||||
void SoundEngine::playMusicUpdate()
|
||||
{
|
||||
//return;
|
||||
static bool firstCall = true;
|
||||
static float fMusicVol = 0.0f;
|
||||
#ifndef _WINDOWS64 //str1k3r - if used on windows64 volume doesnt update
|
||||
static bool firstCall = true;
|
||||
if( firstCall )
|
||||
{
|
||||
fMusicVol = getMasterMusicVolume();
|
||||
firstCall = false;
|
||||
}
|
||||
#else
|
||||
fMusicVol = getMasterMusicVolume();
|
||||
#endif
|
||||
|
||||
switch(m_StreamState)
|
||||
{
|
||||
@@ -1232,7 +1200,7 @@ void SoundEngine::playMusicUpdate()
|
||||
m_MusicType=eMusicType_Game;
|
||||
m_StreamingAudioInfo.bIs3D=false;
|
||||
|
||||
#ifdef _XBOX_ONE
|
||||
#if (defined _XBOX_ONE || _WINDOWS64)
|
||||
wstring &wstrSoundName=dlcAudioFile->GetSoundName(m_musicID);
|
||||
wstring wstrFile=L"TPACK:\\Data\\" + wstrSoundName +L".binka";
|
||||
std::wstring mountedPath = StorageManager.GetMountedPath(wstrFile);
|
||||
@@ -1241,12 +1209,7 @@ 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
|
||||
@@ -1520,7 +1483,9 @@ void SoundEngine::playMusicUpdate()
|
||||
}
|
||||
|
||||
// volume change required?
|
||||
if(fMusicVol!=getMasterMusicVolume())
|
||||
#ifndef _WINDOWS64
|
||||
if(fMusicVol!=getMasterMusicVolume()) //str1k3r - if used on windows64 music doesnt update its volume
|
||||
#endif
|
||||
{
|
||||
fMusicVol=getMasterMusicVolume();
|
||||
HSAMPLE hSample = AIL_stream_sample_handle( m_hStream);
|
||||
@@ -1662,8 +1627,6 @@ char *SoundEngine::ConvertSoundPathToName(const wstring& name, bool bConvertSpac
|
||||
return buf;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
F32 AILCALLBACK custom_falloff_function (HSAMPLE S,
|
||||
F32 distance,
|
||||
|
||||
@@ -24,7 +24,7 @@ foreach ($dir in $directories) {
|
||||
}
|
||||
|
||||
$folderCopies = @(
|
||||
@{ Source = "Common\Media"; Dest = "Common\Media" },
|
||||
@{ Source = "Common\Media\Font"; Dest = "Common\Media\Font" },
|
||||
@{ Source = "Common\res"; Dest = "Common\res" },
|
||||
@{ Source = "DurangoMedia\Sound"; Dest = "Sound" },
|
||||
@{ Source = "DurangoMedia\DLC"; Dest = "DLC" },
|
||||
@@ -46,6 +46,7 @@ foreach ($copy in $folderCopies) {
|
||||
}
|
||||
|
||||
$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" }
|
||||
)
|
||||
@@ -61,17 +62,7 @@ foreach ($copy in $fileCopies) {
|
||||
}
|
||||
|
||||
$deleteDirs = @(
|
||||
"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"
|
||||
"Common\Media\font\RU"
|
||||
)
|
||||
|
||||
foreach ($dir in $deleteDirs) {
|
||||
@@ -82,16 +73,14 @@ foreach ($dir in $deleteDirs) {
|
||||
}
|
||||
|
||||
$delDirs = @(
|
||||
"Common\Media",
|
||||
"Common\Media\font"
|
||||
"Common\Media\font",
|
||||
"Common\Media\font\*"
|
||||
)
|
||||
|
||||
foreach ($dir in $delDirs) {
|
||||
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
|
||||
}
|
||||
$path = Join-Path $OutDir $dir
|
||||
if (Test-Path $path) {
|
||||
Get-ChildItem -Path $path -Recurse -Include *.txt, *.abc, "Mojang Font_7.ttf", "Mojang Font_11.ttf", "DF-DotDotGothic16.ttf", "DFTT_R5.TTC", "candadite2.ttf" -File |
|
||||
Remove-Item -Force -ErrorAction SilentlyContinue
|
||||
}
|
||||
}
|
||||
@@ -23,7 +23,7 @@ foreach ($dir in $directories) {
|
||||
|
||||
$folderCopies = @(
|
||||
@{ Source = "music"; Dest = "PS4_GAME\music" },
|
||||
@{ Source = "Common\Media"; Dest = "PS4_GAME\Common\Media" },
|
||||
@{ Source = "Common\Media\Font";Dest = "PS4_GAME\Common\Media\Font" },
|
||||
@{ Source = "Common\res"; Dest = "PS4_GAME\Common\res" },
|
||||
@{ Source = "OrbisMedia\Sound"; Dest = "PS4_GAME\Orbis\Sound" },
|
||||
@{ Source = "OrbisMedia\DLC"; Dest = "PS4_GAME\Orbis\DLC" },
|
||||
@@ -50,6 +50,7 @@ foreach ($copy in $folderCopies) {
|
||||
}
|
||||
|
||||
$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" }
|
||||
)
|
||||
@@ -75,17 +76,7 @@ if (Test-Path $builtFile) {
|
||||
}
|
||||
|
||||
$deleteDirs = @(
|
||||
"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"
|
||||
"PS4_GAME\Common\Media\font\RU"
|
||||
)
|
||||
|
||||
foreach ($dir in $deleteDirs) {
|
||||
@@ -96,17 +87,15 @@ foreach ($dir in $deleteDirs) {
|
||||
}
|
||||
|
||||
$delDirs = @(
|
||||
"PS4_GAME\Common\Media",
|
||||
"PS4_GAME\Common\Media\font"
|
||||
"PS4_GAME\Common\Media\font",
|
||||
"PS4_GAME\Common\Media\font\*"
|
||||
)
|
||||
|
||||
foreach ($dir in $delDirs) {
|
||||
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
|
||||
}
|
||||
$path = Join-Path $OutDir $dir
|
||||
if (Test-Path $path) {
|
||||
Get-ChildItem -Path $path -Recurse -Include *.txt, *.abc, "Mojang Font_7.ttf", "Mojang Font_11.ttf", "MSYH.ttf" -File |
|
||||
Remove-Item -Force -ErrorAction SilentlyContinue
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -21,11 +21,11 @@ foreach ($dir in $directories) {
|
||||
|
||||
$folderCopies = @(
|
||||
@{ Source = "music"; Dest = "PS3_GAME\USRDIR\music" },
|
||||
@{ Source = "Common\Media"; Dest = "PS3_GAME\USRDIR\Common\Media" },
|
||||
@{ Source = "Common\Media\Font";Dest = "PS3_GAME\USRDIR\Common\Media\Font" },
|
||||
@{ Source = "Common\res"; Dest = "PS3_GAME\USRDIR\Common\res" },
|
||||
@{ Source = "PS3Media\DLC"; Dest = "PS3_GAME\USRDIR\DLC" },
|
||||
@{ Source = "PS3Media\Sound"; Dest = "PS3_GAME\USRDIR\PS3\Sound" },
|
||||
#@{ Source = "PSVita\Tutorial"; Dest = "PS3_GAME\USRDIR\PS3\Tutorial" }, # str1k3r - softlocks game
|
||||
#@{ 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" }
|
||||
)
|
||||
@@ -47,6 +47,7 @@ foreach ($copy in $folderCopies) {
|
||||
|
||||
$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" },
|
||||
@@ -59,7 +60,7 @@ $fileCopies = @(
|
||||
)
|
||||
|
||||
foreach ($copy in $fileCopies) {
|
||||
$src = Join-Path $ProjectDir $copy.Source
|
||||
$src = $copy.Source
|
||||
$dst = Join-Path $OutDir $copy.Dest
|
||||
if (Test-Path $src) {
|
||||
Copy-Item -Path $src -Destination $dst -Force
|
||||
@@ -84,17 +85,7 @@ if (Test-Path $builtFile) {
|
||||
}
|
||||
|
||||
$deleteDirs = @(
|
||||
"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"
|
||||
"PS3_GAME\USRDIR\Common\Media\font\RU"
|
||||
)
|
||||
|
||||
foreach ($dir in $deleteDirs) {
|
||||
@@ -105,16 +96,14 @@ foreach ($dir in $deleteDirs) {
|
||||
}
|
||||
|
||||
$delDirs = @(
|
||||
"PS3_GAME\USRDIR\Common\Media",
|
||||
"PS3_GAME\USRDIR\Common\Media\font"
|
||||
"PS3_GAME\USRDIR\Common\Media\font",
|
||||
"PS3_GAME\USRDIR\Common\Media\font\*"
|
||||
)
|
||||
|
||||
foreach ($dir in $delDirs) {
|
||||
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
|
||||
}
|
||||
$path = Join-Path $OutDir $dir
|
||||
if (Test-Path $path) {
|
||||
Get-ChildItem -Path $path -Recurse -Include *.txt, *.abc, "Mojang Font_7.ttf", "Mojang Font_11.ttf", "MSYH.ttf" -File |
|
||||
Remove-Item -Force -ErrorAction SilentlyContinue
|
||||
}
|
||||
}
|
||||
@@ -9,10 +9,11 @@ $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"
|
||||
"PSVITA_GAME\PSVita\Tutorial",
|
||||
"PSVITA_GAME\savedata"
|
||||
)
|
||||
|
||||
foreach ($dir in $directories) {
|
||||
@@ -21,7 +22,7 @@ foreach ($dir in $directories) {
|
||||
|
||||
$folderCopies = @(
|
||||
@{ Source = "music"; Dest = "PSVITA_GAME\music" },
|
||||
@{ Source = "Common\Media"; Dest = "PSVITA_GAME\Common\Media" },
|
||||
@{ Source = "Common\Media\Font"; Dest = "PSVITA_GAME\Common\Media\Font" },
|
||||
@{ Source = "Common\res"; Dest = "PSVITA_GAME\Common\res" },
|
||||
@{ Source = "PSVitaMedia\Sound"; Dest = "PSVITA_GAME\PSVita\Sound" },
|
||||
@{ Source = "PSVitaMedia\DLC"; Dest = "PSVITA_GAME\PSVita\DLC" },
|
||||
@@ -46,6 +47,7 @@ foreach ($copy in $folderCopies) {
|
||||
}
|
||||
|
||||
$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" }
|
||||
)
|
||||
@@ -72,17 +74,7 @@ if (Test-Path $builtFile) {
|
||||
}
|
||||
|
||||
$deleteDirs = @(
|
||||
"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"
|
||||
"PSVITA_GAME\Common\Media\font\RU"
|
||||
)
|
||||
|
||||
foreach ($dir in $deleteDirs) {
|
||||
@@ -93,17 +85,15 @@ foreach ($dir in $deleteDirs) {
|
||||
}
|
||||
|
||||
$delDirs = @(
|
||||
"PSVITA_GAME\Common\Media",
|
||||
"PSVITA_GAME\Common\Media\font"
|
||||
"PSVITA_GAME\Common\Media\font",
|
||||
"PSVITA_GAME\Common\Media\font\*"
|
||||
)
|
||||
|
||||
foreach ($dir in $delDirs) {
|
||||
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
|
||||
}
|
||||
$path = Join-Path $OutDir $dir
|
||||
if (Test-Path $path) {
|
||||
Get-ChildItem -Path $path -Recurse -Include *.txt, *.abc, "Mojang Font_7.ttf", "Mojang Font_11.ttf", "MSYH.ttf" -File |
|
||||
Remove-Item -Force -ErrorAction SilentlyContinue
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,85 @@
|
||||
param(
|
||||
[string]$OutDir,
|
||||
[string]$ProjectDir
|
||||
)
|
||||
|
||||
Write-Host "Server Postbuild: script started. Output Directory: $OutDir, Project Directory: $ProjectDir"
|
||||
|
||||
$directories = @(
|
||||
"Windows64\GameHDD",
|
||||
"Common\Media",
|
||||
"Common\res",
|
||||
"redist64"
|
||||
)
|
||||
|
||||
foreach ($dir in $directories) {
|
||||
New-Item -ItemType Directory -Path (Join-Path $OutDir $dir) -Force | Out-Null
|
||||
}
|
||||
|
||||
$folderCopies = @(
|
||||
@{ Source = "Common\Media"; Dest = "Common\Media" },
|
||||
@{ Source = "Common\res"; Dest = "Common\res" },
|
||||
@{ Source = "Common\Postbuilds\Contents\Windows64\redist64"; Dest = "redist64" }
|
||||
)
|
||||
|
||||
foreach ($copy in $folderCopies) {
|
||||
$src = Join-Path "$ProjectDir\..\Minecraft.Client" $copy.Source
|
||||
$dst = Join-Path $OutDir $copy.Dest
|
||||
|
||||
if (Test-Path $src) {
|
||||
xcopy /q /y /i /s /e /d "$src" "$dst" 2>$null
|
||||
}
|
||||
}
|
||||
|
||||
$fileCopies = @(
|
||||
@{ Source = Join-Path "$ProjectDir\..\Minecraft.Client" "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\mss64.dll"; Dest = "mss64.dll" },
|
||||
@{ Source = "Windows64\Iggy\lib\redist64\iggy_w64.dll"; Dest = "iggy_w64.dll" }
|
||||
)
|
||||
|
||||
foreach ($copy in $fileCopies) {
|
||||
$src = $copy.Source
|
||||
$dst = Join-Path $OutDir $copy.Dest
|
||||
if (Test-Path $src) {
|
||||
Copy-Item -Path $src -Destination $dst -Force
|
||||
} else {
|
||||
Write-Host "Server Postbuild: File not found, skipping: $src"
|
||||
}
|
||||
}
|
||||
|
||||
$deleteDirs = @(
|
||||
"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) {
|
||||
$path = Join-Path $OutDir $dir
|
||||
if (Test-Path $path) {
|
||||
Remove-Item $path -Recurse -Force -ErrorAction SilentlyContinue
|
||||
}
|
||||
}
|
||||
|
||||
$delDirs = @(
|
||||
"Common\Media",
|
||||
"Common\Media\font"
|
||||
)
|
||||
|
||||
foreach ($dir in $delDirs) {
|
||||
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, MediaOrbis.arc, MediaPS3.arc, MediaPSVita.arc -File |
|
||||
Remove-Item -Force -ErrorAction SilentlyContinue
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -7,11 +7,10 @@ Write-Host "Windows64 Postbuild: script started. Output Directory: $OutDir, Proj
|
||||
|
||||
$directories = @(
|
||||
"music",
|
||||
"Windows64\GameHDD",
|
||||
"Common\Media",
|
||||
"Common\res",
|
||||
"Windows64Media",
|
||||
"redist64"
|
||||
"Windows64\GameHDD",
|
||||
"Windows64\redist64"
|
||||
)
|
||||
|
||||
foreach ($dir in $directories) {
|
||||
@@ -21,9 +20,8 @@ foreach ($dir in $directories) {
|
||||
$folderCopies = @(
|
||||
@{ Source = "music"; Dest = "music" },
|
||||
@{ Source = "Common\res"; Dest = "Common\res" },
|
||||
@{ Source = "Common\Media"; Dest = "Common\Media" },
|
||||
@{ Source = "DurangoMedia"; Dest = "Windows64Media" },
|
||||
@{ Source = "Windows64Media"; Dest = "Windows64Media" },
|
||||
@{ Source = "Common\Media\Font"; Dest = "Common\Media\Font" },
|
||||
@{ Source = "Windows64Media\DLC"; Dest = "Windows64Media\DLC" },
|
||||
@{ 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" }
|
||||
@@ -46,8 +44,9 @@ foreach ($copy in $folderCopies) {
|
||||
|
||||
$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\mss64.dll"; Dest = "mss64.dll" },
|
||||
@{ Source = "Windows64\redist64\iggy_w64.dll"; Dest = "iggy_w64.dll" }
|
||||
@{ Source = "Windows64\Iggy\lib\redist64\iggy_w64.dll"; Dest = "iggy_w64.dll" }
|
||||
)
|
||||
|
||||
foreach ($copy in $fileCopies) {
|
||||
@@ -61,17 +60,7 @@ foreach ($copy in $fileCopies) {
|
||||
}
|
||||
|
||||
$deleteDirs = @(
|
||||
"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"
|
||||
"Common\Media\font\RU" #str1k3r - russian font?
|
||||
)
|
||||
|
||||
foreach ($dir in $deleteDirs) {
|
||||
@@ -82,16 +71,14 @@ foreach ($dir in $deleteDirs) {
|
||||
}
|
||||
|
||||
$delDirs = @(
|
||||
"Common\Media",
|
||||
"Common\Media\font"
|
||||
"Common\Media\font",
|
||||
"Common\Media\font\*"
|
||||
)
|
||||
|
||||
foreach ($dir in $delDirs) {
|
||||
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
|
||||
}
|
||||
$path = Join-Path $OutDir $dir
|
||||
if (Test-Path $path) {
|
||||
Get-ChildItem -Path $path -Recurse -Include *.txt, *.abc, "Mojang Font_7.ttf", "Mojang Font_11.ttf", "DF-DotDotGothic16.ttf", "DFTT_R5.TTC", "candadite2.ttf" -File |
|
||||
Remove-Item -Force -ErrorAction SilentlyContinue
|
||||
}
|
||||
}
|
||||
@@ -1,15 +1,27 @@
|
||||
#include "stdafx.h"
|
||||
#if defined(_WINDOWS64) && defined(MINECRAFT_SERVER_BUILD)
|
||||
#include "../../Minecraft.Server/ServerLogManager.h"
|
||||
#endif
|
||||
|
||||
|
||||
//--------------------------------------------------------------------------------------
|
||||
// Name: DebugSpewV()
|
||||
// Desc: Internal helper function
|
||||
//--------------------------------------------------------------------------------------
|
||||
#ifndef _CONTENT_PACKAGE
|
||||
static VOID DebugSpewV( const CHAR* strFormat, const va_list pArgList )
|
||||
static VOID DebugSpewV( const CHAR* strFormat, va_list pArgList )
|
||||
{
|
||||
#if defined __PS3__ || defined __ORBIS__ || defined __PSVITA__
|
||||
assert(0);
|
||||
#else
|
||||
#if defined(_WINDOWS64) && defined(MINECRAFT_SERVER_BUILD)
|
||||
// Dedicated server routes legacy debug spew through ServerLogger to preserve CLI prompt handling.
|
||||
if (ServerRuntime::ServerLogManager::ShouldForwardClientDebugLogs())
|
||||
{
|
||||
ServerRuntime::ServerLogManager::ForwardClientDebugSpewLogV(strFormat, pArgList);
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
CHAR str[2048];
|
||||
// Use the secure CRT to avoid buffer overruns. Specify a count of
|
||||
// _TRUNCATE so that too long strings will be silently truncated
|
||||
|
||||
@@ -30,6 +30,9 @@
|
||||
#include "GameRules\ConsoleGameRules.h"
|
||||
#include "GameRules\ConsoleSchematicFile.h"
|
||||
#include "..\User.h"
|
||||
#if defined(_WINDOWS64) && defined(MINECRAFT_SERVER_BUILD)
|
||||
#include "..\..\Minecraft.Server\ServerLogManager.h"
|
||||
#endif
|
||||
#include "..\\EntityRenderDispatcher.h"
|
||||
#include "..\TexturePackRepository.h"
|
||||
#include "..\DLCTexturePack.h"
|
||||
@@ -230,12 +233,21 @@ void CMinecraftApp::DebugPrintf(const char *szFormat, ...)
|
||||
{
|
||||
|
||||
#ifndef _FINAL_BUILD
|
||||
char buf[1024];
|
||||
va_list ap;
|
||||
va_start(ap, szFormat);
|
||||
vsnprintf(buf, sizeof(buf), szFormat, ap);
|
||||
va_end(ap);
|
||||
OutputDebugStringA(buf);
|
||||
va_list ap;
|
||||
va_start(ap, szFormat);
|
||||
#if defined(_WINDOWS64) && defined(MINECRAFT_SERVER_BUILD)
|
||||
// Dedicated server routes client debug spew through ServerLogger so CLI output stays prompt-safe.
|
||||
if (ServerRuntime::ServerLogManager::ShouldForwardClientDebugLogs())
|
||||
{
|
||||
ServerRuntime::ServerLogManager::ForwardClientAppDebugLogV(szFormat, ap);
|
||||
va_end(ap);
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
char buf[1024];
|
||||
vsnprintf(buf, sizeof(buf), szFormat, ap);
|
||||
va_end(ap);
|
||||
OutputDebugStringA(buf);
|
||||
#endif
|
||||
|
||||
}
|
||||
@@ -243,13 +255,22 @@ void CMinecraftApp::DebugPrintf(const char *szFormat, ...)
|
||||
void CMinecraftApp::DebugPrintf(int user, const char *szFormat, ...)
|
||||
{
|
||||
#ifndef _FINAL_BUILD
|
||||
if(user == USER_NONE)
|
||||
return;
|
||||
char buf[1024];
|
||||
va_list ap;
|
||||
va_start(ap, szFormat);
|
||||
vsnprintf(buf, sizeof(buf), szFormat, ap);
|
||||
va_end(ap);
|
||||
if(user == USER_NONE)
|
||||
return;
|
||||
va_list ap;
|
||||
va_start(ap, szFormat);
|
||||
#if defined(_WINDOWS64) && defined(MINECRAFT_SERVER_BUILD)
|
||||
// Dedicated server routes client debug spew through ServerLogger so CLI output stays prompt-safe.
|
||||
if (ServerRuntime::ServerLogManager::ShouldForwardClientDebugLogs())
|
||||
{
|
||||
ServerRuntime::ServerLogManager::ForwardClientUserDebugLogV(user, szFormat, ap);
|
||||
va_end(ap);
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
char buf[1024];
|
||||
vsnprintf(buf, sizeof(buf), szFormat, ap);
|
||||
va_end(ap);
|
||||
#ifdef __PS3__
|
||||
unsigned int writelen;
|
||||
sys_tty_write(SYS_TTYP_USER1 + ( user - 1 ), buf, strlen(buf), &writelen );
|
||||
@@ -764,11 +785,11 @@ 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
|
||||
#if defined _WINDOWS64// || defined __PSVITA__
|
||||
#if defined _WINDOWS64
|
||||
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 __PS3__ || defined __ORBIS__ || defined _DURANGO || defined __PSVITA__
|
||||
C4JStorage::PROFILESETTINGS *pProfileSettings=StorageManager.GetDashboardProfileSettings(i);
|
||||
// 4J-PB - don't cause an options write to happen here
|
||||
@@ -2355,6 +2376,8 @@ 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
|
||||
@@ -2368,6 +2391,8 @@ 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
|
||||
@@ -2386,7 +2411,7 @@ void CMinecraftApp::ClearGameSettingsChangedFlag(int iPad)
|
||||
// Remove the debug settings in the content package build
|
||||
//
|
||||
////////////////////////////
|
||||
#ifdef _DEBUG_MENUS_ENABLED
|
||||
#ifndef _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;
|
||||
@@ -2399,9 +2424,7 @@ 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)
|
||||
@@ -3672,7 +3695,7 @@ void CMinecraftApp::HandleXuiActions(void)
|
||||
pDLCTexPack->m_pSoundBank->Destroy();
|
||||
}
|
||||
#endif
|
||||
#ifdef _DURANGO
|
||||
#if (defined _DURANGO || _WINDOWS64)
|
||||
DWORD result = StorageManager.UnmountInstalledDLC(L"TPACK");
|
||||
#else
|
||||
DWORD result = StorageManager.UnmountInstalledDLC("TPACK");
|
||||
@@ -3844,9 +3867,9 @@ void CMinecraftApp::HandleXuiActions(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
|
||||
@@ -4037,8 +4060,8 @@ void CMinecraftApp::HandleXuiActions(void)
|
||||
|
||||
ui.SetTooltips(i, -1);
|
||||
|
||||
ui.ReloadSkin();
|
||||
ui.StartReloadSkinThread();
|
||||
ui.ReloadSkins();
|
||||
ui.StartReloadSkinsThread();
|
||||
|
||||
ui.setCleanupOnReload();
|
||||
#endif
|
||||
@@ -4417,9 +4440,7 @@ 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
|
||||
#ifdef __ORBIS__
|
||||
sceNpCommerceHidePsStoreIcon();
|
||||
#elif defined __PSVITA__
|
||||
#if defined __PSVITA__ || defined __ORBIS__
|
||||
app.GetCommerce()->HidePsStoreIcon();
|
||||
#endif
|
||||
app.SetAction(iPad,eAppAction_EthernetDisconnectedReturned_Menus);
|
||||
@@ -4889,11 +4910,13 @@ void CMinecraftApp::SignInChangeCallback(LPVOID pParam,bool bPrimaryPlayerChange
|
||||
// 4J Stu - On PS4 we can also cause to exit players if they are signed out here, but we shouldn't do that if
|
||||
// we are going to switch to an offline game as it will likely crash due to incompatible parallel processes
|
||||
bool switchToOffline = false;
|
||||
#ifndef _DISABLE_XBLIVE
|
||||
// If it's an online game, and the primary profile is no longer signed into LIVE then we act as if disconnected
|
||||
if( !ProfileManager.IsSignedInLive( ProfileManager.GetLockedProfile() ) && !g_NetworkManager.IsLocalGame() )
|
||||
{
|
||||
switchToOffline = true;
|
||||
}
|
||||
#endif
|
||||
|
||||
//printf("Old: %x, New: %x, Changed: %x\n", m_ulLastSignInData, ulSignInData, changedPlayers);
|
||||
for(unsigned int i = 0; i < XUSER_MAX_COUNT; ++i)
|
||||
@@ -4958,6 +4981,7 @@ void CMinecraftApp::SignInChangeCallback(LPVOID pParam,bool bPrimaryPlayerChange
|
||||
|
||||
g_NetworkManager.HandleSignInChange();
|
||||
}
|
||||
#ifndef _DISABLE_XBLIVE
|
||||
// Some menus require the player to be signed in to live, so if this callback happens and the primary player is
|
||||
// no longer signed in then nav back
|
||||
else if ( pApp->GetLiveLinkRequired() && !ProfileManager.IsSignedInLive( ProfileManager.GetLockedProfile() ) )
|
||||
@@ -4969,6 +4993,7 @@ void CMinecraftApp::SignInChangeCallback(LPVOID pParam,bool bPrimaryPlayerChange
|
||||
pApp->SetAction(iPrimaryPlayer,eAppAction_EthernetDisconnected);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
#if ( defined __PS3__ || defined __ORBIS__ || defined _DURANGO || defined __PSVITA__ )
|
||||
// 4J-JEV: Need to kick of loading of profile data for sub-sign in players.
|
||||
@@ -5094,6 +5119,9 @@ void CMinecraftApp::NotificationsCallback(LPVOID pParam,DWORD dwNotification, un
|
||||
#if defined __PS3__ || defined __PSVITA__ || defined __ORBIS__
|
||||
int CMinecraftApp::MustSignInFullVersionPurchaseReturned(void *pParam,int iPad,C4JStorage::EMessageResult result)
|
||||
{
|
||||
#ifdef DISABLE_PSN
|
||||
return 0;
|
||||
#else
|
||||
if(result==C4JStorage::EMessage_ResultAccept)
|
||||
{
|
||||
#ifdef __PS3__
|
||||
@@ -5106,11 +5134,15 @@ int CMinecraftApp::MustSignInFullVersionPurchaseReturned(void *pParam,int iPad,C
|
||||
}
|
||||
|
||||
return 0;
|
||||
#endif
|
||||
}
|
||||
|
||||
#if defined __PS3__ || defined __PSVITA__ || defined __ORBIS__
|
||||
int CMinecraftApp::MustSignInFullVersionPurchaseReturnedExitTrial(void *pParam,int iPad,C4JStorage::EMessageResult result)
|
||||
{
|
||||
#ifdef DISABLE_PSN
|
||||
return 0;
|
||||
#else
|
||||
if(result==C4JStorage::EMessage_ResultAccept)
|
||||
{
|
||||
#ifdef __PS3__
|
||||
@@ -5126,6 +5158,7 @@ int CMinecraftApp::MustSignInFullVersionPurchaseReturnedExitTrial(void *pParam,i
|
||||
app.SetAction(iPad,eAppAction_ExitWorldTrial);
|
||||
|
||||
return 0;
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -5457,9 +5490,9 @@ void CMinecraftApp::HandleDLC(DLCPack *pack)
|
||||
{
|
||||
DWORD dwFilesProcessed = 0;
|
||||
#ifndef _XBOX
|
||||
#if defined(__PS3__) || defined(__ORBIS__) || defined(_WINDOWS64) || defined (__PSVITA__)
|
||||
#if defined(__PS3__) || defined(__ORBIS__) || defined (__PSVITA__)
|
||||
std::vector<std::string> dlcFilenames;
|
||||
#elif defined _DURANGO
|
||||
#elif (defined _DURANGO || _WINDOWS64)
|
||||
std::vector<std::wstring> dlcFilenames;
|
||||
#endif
|
||||
StorageManager.GetMountedDLCFileList("DLCDrive", dlcFilenames);
|
||||
@@ -6319,27 +6352,31 @@ void CMinecraftApp::InitialiseTips()
|
||||
UINT CMinecraftApp::GetNextTip()
|
||||
{
|
||||
static bool bShowSkinDLCTip=true;
|
||||
// don't display the DLC tip in the trial game
|
||||
if(ProfileManager.IsFullVersion() && app.GetNewDLCAvailable() && app.DisplayNewDLCTip())
|
||||
//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)
|
||||
{
|
||||
return IDS_TIPS_GAMETIP_NEWDLC;
|
||||
}
|
||||
else
|
||||
{
|
||||
if(bShowSkinDLCTip && ProfileManager.IsFullVersion())
|
||||
// don't display the DLC tip in the trial game
|
||||
if(ProfileManager.IsFullVersion() && app.GetNewDLCAvailable() && app.DisplayNewDLCTip())
|
||||
{
|
||||
bShowSkinDLCTip=false;
|
||||
if( app.DLCInstallProcessCompleted() )
|
||||
return IDS_TIPS_GAMETIP_NEWDLC;
|
||||
}
|
||||
else
|
||||
{
|
||||
if(bShowSkinDLCTip && ProfileManager.IsFullVersion())
|
||||
{
|
||||
if(app.m_dlcManager.getPackCount(DLCManager::e_DLCType_Skin)==0)
|
||||
bShowSkinDLCTip=false;
|
||||
if( app.DLCInstallProcessCompleted() )
|
||||
{
|
||||
if(app.m_dlcManager.getPackCount(DLCManager::e_DLCType_Skin)==0)
|
||||
{
|
||||
return IDS_TIPS_GAMETIP_SKINPACKS;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return IDS_TIPS_GAMETIP_SKINPACKS;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return IDS_TIPS_GAMETIP_SKINPACKS;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6455,7 +6492,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 _XBOX_ONE || defined __PSVITA__
|
||||
#if !(defined __ORBIS__ || __PS3__)
|
||||
text = replaceAll(text, L"{*CONTROLLER_VK_START*}", GetVKReplacement(VK_PAD_START ) );
|
||||
text = replaceAll(text, L"{*CONTROLLER_VK_BACK*}", GetVKReplacement(VK_PAD_BACK ) );
|
||||
#endif
|
||||
@@ -6578,8 +6615,12 @@ wstring CMinecraftApp::GetActionReplacement(int iPad, unsigned char ucAction)
|
||||
#ifdef __PS3__
|
||||
int size = 30;
|
||||
#elif defined _WIN64
|
||||
int size = 45;
|
||||
if(ui.getScreenWidth() < 1920) size = 30;
|
||||
int size = 30;
|
||||
|
||||
if(ui.getScreenWidth() >= 1920)
|
||||
{
|
||||
size = 45;
|
||||
}
|
||||
#else
|
||||
int size = 45;
|
||||
#endif
|
||||
@@ -6691,7 +6732,7 @@ wstring CMinecraftApp::GetVKReplacement(unsigned int uiVKey)
|
||||
case VK_PAD_RTHUMB_DOWNLEFT :
|
||||
replacement = L"ButtonRightStick";
|
||||
break;
|
||||
#if defined _XBOX_ONE || defined __PSVITA__
|
||||
#if defined _XBOX_ONE || defined __PSVITA__ || defined _WINDOWS64
|
||||
case VK_PAD_START:
|
||||
replacement = L"ButtonStart";
|
||||
break;
|
||||
@@ -6707,8 +6748,12 @@ wstring CMinecraftApp::GetVKReplacement(unsigned int uiVKey)
|
||||
#ifdef __PS3__
|
||||
int size = 30;
|
||||
#elif defined _WIN64
|
||||
int size = 45;
|
||||
if(ui.getScreenWidth() < 1920) size = 30;
|
||||
int size = 30;
|
||||
|
||||
if(ui.getScreenWidth() >= 1920)
|
||||
{
|
||||
size = 45;
|
||||
}
|
||||
#else
|
||||
int size = 45;
|
||||
#endif
|
||||
@@ -6738,8 +6783,12 @@ wstring CMinecraftApp::GetIconReplacement(unsigned int uiIcon)
|
||||
#ifdef __PS3__
|
||||
int size = 22;
|
||||
#elif defined _WIN64
|
||||
int size = 33;
|
||||
if(ui.getScreenWidth() < 1920) size = 22;
|
||||
int size = 22;
|
||||
|
||||
if(ui.getScreenWidth() >= 1920)
|
||||
{
|
||||
size = 33;
|
||||
}
|
||||
#else
|
||||
int size = 33;
|
||||
#endif
|
||||
@@ -6761,7 +6810,7 @@ wstring CMinecraftApp::GetIconReplacement(unsigned int uiIcon)
|
||||
#endif
|
||||
}
|
||||
|
||||
#if defined(__PS3__) || defined(__ORBIS__) || defined (__PSVITA__)
|
||||
#if !defined(DISABLE_PSN) && (defined(__PS3__) || defined(__ORBIS__) || defined (__PSVITA__))
|
||||
unordered_map<PlayerUID, MOJANG_DATA *, PlayerUID::Hash> CMinecraftApp::MojangData;
|
||||
unordered_map<int, char * > CMinecraftApp::DLCTextures_PackID;
|
||||
unordered_map<string, DLC_INFO * > CMinecraftApp::DLCInfo;
|
||||
@@ -6772,6 +6821,12 @@ unordered_map<int, wstring > CMinecraftApp::DLCTextures_PackID; // for mash-up
|
||||
//unordered_map<ULONGLONG,DLC_INFO * > CMinecraftApp::DLCInfo_Trial; // full offerid, dlc_info
|
||||
unordered_map<wstring,DLC_INFO * > CMinecraftApp::DLCInfo_Full; // full offerid, dlc_info
|
||||
unordered_map<wstring, wstring > CMinecraftApp::DLCInfo_SkinName; // skin name, full offer id
|
||||
#elif defined(DISABLE_PSN)
|
||||
unordered_map<PlayerUID, MOJANG_DATA *, PlayerUID::Hash> CMinecraftApp::MojangData;
|
||||
unordered_map<int, ULONGLONG > CMinecraftApp::DLCTextures_PackID;
|
||||
unordered_map<ULONGLONG, DLC_INFO * > CMinecraftApp::DLCInfo_Trial;
|
||||
unordered_map<ULONGLONG, DLC_INFO * > CMinecraftApp::DLCInfo_Full;
|
||||
unordered_map<wstring, ULONGLONG > CMinecraftApp::DLCInfo_SkinName;
|
||||
#else
|
||||
unordered_map<PlayerUID, MOJANG_DATA *> CMinecraftApp::MojangData;
|
||||
unordered_map<int, ULONGLONG > CMinecraftApp::DLCTextures_PackID;
|
||||
@@ -6854,7 +6909,7 @@ HRESULT CMinecraftApp::RegisterConfigValues(WCHAR *pType, int iValue)
|
||||
return hr;
|
||||
}
|
||||
|
||||
#if (defined _XBOX || defined _WINDOWS64)
|
||||
#if (defined _XBOX || defined _WINDOWS64 || defined DISABLE_PSN)
|
||||
HRESULT CMinecraftApp::RegisterDLCData(WCHAR *pType, WCHAR *pBannerName, int iGender, __uint64 ullOfferID_Full, __uint64 ullOfferID_Trial, WCHAR *pFirstSkin, unsigned int uiSortIndex, int iConfig, WCHAR *pDataFile)
|
||||
{
|
||||
HRESULT hr=S_OK;
|
||||
@@ -6871,12 +6926,20 @@ HRESULT CMinecraftApp::RegisterDLCData(WCHAR *pType, WCHAR *pBannerName, int iGe
|
||||
// ignore the names if we don't recognize them
|
||||
if(pBannerName!=L"")
|
||||
{
|
||||
#ifdef __PSVITA__
|
||||
wcsncpy_s( pDLCData->wchBanner, MAX_BANNERNAME_SIZE, pBannerName, MAX_BANNERNAME_SIZE);
|
||||
#else
|
||||
wcsncpy_s( pDLCData->wchBanner, pBannerName, MAX_BANNERNAME_SIZE);
|
||||
#endif
|
||||
}
|
||||
|
||||
if(pDataFile[0]!=0)
|
||||
{
|
||||
#ifdef __PSVITA__
|
||||
wcsncpy_s( pDLCData->wchDataFile, MAX_BANNERNAME_SIZE, pDataFile, MAX_BANNERNAME_SIZE);
|
||||
#else
|
||||
wcsncpy_s( pDLCData->wchDataFile, pDataFile, MAX_BANNERNAME_SIZE);
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -7046,7 +7109,7 @@ HRESULT CMinecraftApp::RegisterDLCData(char *pchDLCName, unsigned int uiSortInde
|
||||
|
||||
|
||||
|
||||
#if defined( __PS3__) || defined(__ORBIS__) || defined(__PSVITA__)
|
||||
#if !defined(DISABLE_PSN) && (defined( __PS3__) || defined(__ORBIS__) || defined(__PSVITA__))
|
||||
bool CMinecraftApp::GetDLCFullOfferIDForSkinID(const wstring &FirstSkin,ULONGLONG *pullVal)
|
||||
{
|
||||
AUTO_VAR(it, DLCInfo_SkinName.find(FirstSkin));
|
||||
@@ -7314,7 +7377,7 @@ DLC_INFO *CMinecraftApp::GetDLCInfoForProductName(WCHAR *pwchProductName)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
#elif defined(__PS3__) || defined(__ORBIS__) || defined (__PSVITA__)
|
||||
#elif !defined(DISABLE_PSN) && (defined(__PS3__) || defined(__ORBIS__) || defined (__PSVITA__))
|
||||
#else
|
||||
|
||||
DLC_INFO *CMinecraftApp::GetDLCInfoForFullOfferID(ULONGLONG ullOfferID_Full)
|
||||
@@ -9425,7 +9488,7 @@ byteArray CMinecraftApp::getArchiveFile(const wstring &filename)
|
||||
|
||||
// DLC
|
||||
|
||||
#if defined(__PS3__) || defined(__ORBIS__) || defined (__PSVITA__)
|
||||
#if !defined(DISABLE_PSN) && (defined(__PS3__) || defined(__ORBIS__) || defined (__PSVITA__))
|
||||
int CMinecraftApp::GetDLCInfoCount()
|
||||
{
|
||||
return (int)DLCInfo.size();
|
||||
@@ -9717,7 +9780,6 @@ 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);
|
||||
@@ -9743,7 +9805,6 @@ void CMinecraftApp::getLocale(vector<wstring> &vecWstrLocales)
|
||||
locales.push_back(eMCLang_enGR);
|
||||
locales.push_back(eMCLang_enGB);
|
||||
break;
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -10032,7 +10093,7 @@ enum ETitleUpdateTexturePacks
|
||||
};
|
||||
|
||||
#ifdef _WINDOWS64
|
||||
wstring titleUpdateTexturePackRoot = L"Windows64\\DLC\\";
|
||||
wstring titleUpdateTexturePackRoot = L"Windows64Media\\DLC\\";
|
||||
#elif defined(__ORBIS__)
|
||||
wstring titleUpdateTexturePackRoot = L"app0/Orbis/DLC/";
|
||||
#elif defined(__PSVITA__)
|
||||
|
||||
@@ -594,7 +594,7 @@ public:
|
||||
MOJANG_DATA *GetMojangDataForXuid(PlayerUID xuid);
|
||||
static HRESULT RegisterConfigValues(WCHAR *pType, int iValue);
|
||||
|
||||
#if defined(__PS3__) || defined(__ORBIS__) || defined(__PSVITA__)
|
||||
#if !defined(DISABLE_PSN) && (defined(__PS3__) || defined(__ORBIS__) || defined(__PSVITA__))
|
||||
HRESULT RegisterDLCData(char *pchDLCName, unsigned int uiSortIndex, char *pchImageURL);
|
||||
bool GetDLCFullOfferIDForSkinID(const wstring &FirstSkin,ULONGLONG *pullVal);
|
||||
DLC_INFO *GetDLCInfoForTrialOfferID(ULONGLONG ullOfferID_Trial);
|
||||
@@ -631,7 +631,7 @@ private:
|
||||
|
||||
std::vector <SCreditTextItemDef *> vDLCCredits;
|
||||
|
||||
#if defined(__PS3__) || defined(__ORBIS__) || defined (__PSVITA__)
|
||||
#if !defined(DISABLE_PSN) && (defined(__PS3__) || defined(__ORBIS__) || defined (__PSVITA__))
|
||||
static unordered_map<PlayerUID,MOJANG_DATA *, PlayerUID::Hash > MojangData;
|
||||
static unordered_map<int, char * > DLCTextures_PackID; // for mash-up packs & texture packs
|
||||
static unordered_map<string,DLC_INFO * > DLCInfo;
|
||||
@@ -642,6 +642,12 @@ private:
|
||||
//static unordered_map<wstring,DLC_INFO * > DLCInfo_Trial; // full offerid, dlc_info
|
||||
static unordered_map<wstring,DLC_INFO * > DLCInfo_Full; // full offerid, dlc_info
|
||||
static unordered_map<wstring, wstring > DLCInfo_SkinName; // skin name, full offer id
|
||||
#elif defined(DISABLE_PSN)
|
||||
static unordered_map<PlayerUID,MOJANG_DATA *, PlayerUID::Hash > MojangData;
|
||||
static unordered_map<int, ULONGLONG > DLCTextures_PackID; // for mash-up packs & texture packs
|
||||
static unordered_map<ULONGLONG,DLC_INFO * > DLCInfo_Trial; // full offerid, dlc_info
|
||||
static unordered_map<ULONGLONG,DLC_INFO * > DLCInfo_Full; // full offerid, dlc_info
|
||||
static unordered_map<wstring, ULONGLONG > DLCInfo_SkinName; // skin name, full offer id
|
||||
#else
|
||||
static unordered_map<PlayerUID,MOJANG_DATA * > MojangData;
|
||||
static unordered_map<int, ULONGLONG > DLCTextures_PackID; // for mash-up packs & texture packs
|
||||
@@ -772,7 +778,7 @@ public:
|
||||
void ClearTMSPPFilesRetrieved();
|
||||
unsigned int AddTMSPPFileTypeRequest(eDLCContentType eType, bool bPromote=false);
|
||||
int GetDLCInfoTexturesOffersCount();
|
||||
#if defined( __PS3__) || defined(__ORBIS__) || defined(__PSVITA__)
|
||||
#if !defined(DISABLE_PSN) && (defined( __PS3__) || defined(__ORBIS__) || defined(__PSVITA__))
|
||||
DLC_INFO *GetDLCInfo(int iIndex);
|
||||
DLC_INFO *GetDLCInfo(char *);
|
||||
DLC_INFO *GetDLCInfoFromTPackID(int iTPID);
|
||||
@@ -851,15 +857,6 @@ 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;}
|
||||
|
||||
@@ -344,14 +344,14 @@ bool DLCManager::readDLCDataFile(DWORD &dwFilesProcessed, const string &path, DL
|
||||
}
|
||||
else if (fromArchive) return false;
|
||||
|
||||
#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)
|
||||
#if (defined _DURANGO || _WINDOWS64)
|
||||
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
|
||||
@@ -406,6 +406,12 @@ bool DLCManager::processDLCDataFile(DWORD &dwFilesProcessed, PBYTE pbData, DWORD
|
||||
unsigned int uiVersion=*(unsigned int *)pbData;
|
||||
uiCurrentByte+=sizeof(int);
|
||||
|
||||
if(uiVersion > CURRENT_DLC_VERSION_NUM)
|
||||
{
|
||||
if(pbData!=NULL) delete [] pbData;
|
||||
app.DebugPrintf("DLC version of %d is newer than this build can read (%d)\n", uiVersion, CURRENT_DLC_VERSION_NUM);
|
||||
return false;
|
||||
}
|
||||
if(uiVersion < CURRENT_DLC_VERSION_NUM)
|
||||
{
|
||||
if(pbData!=NULL) delete [] pbData;
|
||||
@@ -551,14 +557,14 @@ DWORD DLCManager::retrievePackIDFromDLCDataFile(const string &path, DLCPack *pac
|
||||
DWORD packId = 0;
|
||||
wstring wPath = convStringToWstring(path);
|
||||
|
||||
#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)
|
||||
#if (defined _DURANGO || _WINDOWS64)
|
||||
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
|
||||
@@ -613,6 +619,11 @@ DWORD DLCManager::retrievePackID(PBYTE pbData, DWORD dwLength, DLCPack *pack)
|
||||
unsigned int uiVersion=*(unsigned int *)pbData;
|
||||
uiCurrentByte+=sizeof(int);
|
||||
|
||||
if(uiVersion > CURRENT_DLC_VERSION_NUM)
|
||||
{
|
||||
app.DebugPrintf("DLC version of %d is newer than this build can read (%d)\n", uiVersion, CURRENT_DLC_VERSION_NUM);
|
||||
return 0;
|
||||
}
|
||||
if(uiVersion < CURRENT_DLC_VERSION_NUM)
|
||||
{
|
||||
app.DebugPrintf("DLC version of %d is too old to be read\n", uiVersion);
|
||||
|
||||
@@ -464,7 +464,7 @@ void LevelGenerationOptions::loadBaseSaveData()
|
||||
|
||||
if(mountIndex > -1)
|
||||
{
|
||||
#ifdef _DURANGO
|
||||
#if (defined _DURANGO || _WINDOWS64)
|
||||
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
|
||||
}
|
||||
|
||||
}
|
||||
#ifdef _DURANGO
|
||||
#if (defined _DURANGO || _WINDOWS64)
|
||||
DWORD result = StorageManager.UnmountInstalledDLC(L"WPACK");
|
||||
#else
|
||||
DWORD result = StorageManager.UnmountInstalledDLC("WPACK");
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
base64.cpp and base64.h
|
||||
|
||||
Copyright (C) 2004-2008 René Nyffenegger
|
||||
Copyright (C) 2004-2008 René Nyffenegger
|
||||
|
||||
This source code is provided 'as-is', without any express or implied
|
||||
warranty. In no event will the author be held liable for any damages
|
||||
@@ -21,7 +21,7 @@
|
||||
|
||||
3. This notice may not be removed or altered from any source distribution.
|
||||
|
||||
René Nyffenegger rene.nyffenegger@adp-gmbh.ch
|
||||
René Nyffenegger rene.nyffenegger@adp-gmbh.ch
|
||||
|
||||
*/
|
||||
|
||||
@@ -41,7 +41,7 @@ static inline bool is_base64(unsigned char c) {
|
||||
}
|
||||
|
||||
// 4J ADDED,
|
||||
std::string base64_encode(std::string str)
|
||||
std::string base64_encode(const std::string& str)
|
||||
{
|
||||
return base64_encode( reinterpret_cast<const unsigned char*>(str.c_str()), str.length() );
|
||||
}
|
||||
|
||||
@@ -2,6 +2,6 @@
|
||||
|
||||
#include <string>
|
||||
|
||||
std::string base64_encode(std::string str);
|
||||
std::string base64_encode(const std::string& str);
|
||||
std::string base64_encode(unsigned char const* , unsigned int len);
|
||||
std::string base64_decode(std::string const& s);
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 83 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 115 KiB |
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user