95 Commits
Author SHA1 Message Date
pieeebot d24c73d4c7 fix: networking fixes + add server 2026-09-25 13:43:05 +01:00
pieeebot faf3a3edea fix: INP_OnScreenKeyboard softlock 2026-09-22 13:37:25 +01:00
pieeebot 1e747b70e7 fix: missing LeaveCriticalSection(&s_sendLock); 2026-09-14 19:50:32 +01:00
pieeebot e16d566853 chore: update 4JLibs 2026-09-13 16:05:14 +01:00
pieeebot fc988df2cc fix: compile error 2026-09-13 15:20:09 +01:00
pieeebot ca4a561d07 fix: compile error 2026-09-13 15:05:02 +01:00
pieeebot 1e47ff84a9 fix: compile errors 2026-09-13 14:48:48 +01:00
pieeebot a2dad85bb1 chore/fix: clean up NetworkSocketLayer, fix console compile errors 2026-09-13 14:10:24 +01:00
str1k3r 0405a47bd1 fix: project filter 2026-09-06 09:47:05 -04:00
str1k3r 0e7da09615 fix: submodule 2026-09-06 09:41:11 -04:00
str1k3r ad7dd528f7 chore: no we use submodule 2026-09-06 09:33:58 -04:00
str1k3r 83e11bdf9b Merge remote-tracking branch 'origin/main' into networking 2026-09-06 09:33:19 -04:00
str1k3r 7b4821d329 fix: being able to fly while riding entity 2026-09-05 12:43:40 -04:00
str1k3r a8a2c5393a chore: cleanup media folder & update platform swfs 2026-09-05 11:45:05 -04:00
str1k3r e21c637b3c fix: 4Jlibs out of date 2026-09-05 09:22:19 -04:00
str1k3r b22decd65c fix: case being commented out 2026-09-05 09:18:10 -04:00
str1k3r 9b7d5a0c25 refactor: use enum controller types 2026-09-05 09:17:13 -04:00
str1k3r e71fe15126 fix: signin ui showing with multiple controllers 2026-09-05 09:14:31 -04:00
str1k3r 8e471b7e9c feat: auto switching tooltips
Currently doesnt work with PS4 & PS3 tooltips, only works with Xbox one & Xbox 360 tooltips
2026-09-05 02:18:20 -04:00
str1k3r 6800455166 chore: cleanup function names & update gdraw resolution 2026-09-05 01:17:52 -04:00
pieeebot 1e37e0207c chore: update README.md 2026-09-03 11:18:38 +00:00
pieeebot 195672f73c chore: base disclaimer warning 2026-09-03 11:17:41 +00:00
str1k3r 4020b16864 feat: auto switching tooltips (not fully done) 2026-09-02 22:45:39 -04:00
pieeebot 5065c28b5c update 4JLibs 2026-09-02 17:30:36 +03:00
pieeebot 39c22195fb fix: remove windows64 ifdef for circlecrossed buttons 2026-08-31 17:35:53 +03:00
str1k3r 41b976ed9e fix: the cheeky fix for orbis 2026-08-30 20:05:33 -04:00
str1k3r fc1a6a80e3 feat: update 4JLibs & add win64 to splitsave case 2026-08-30 18:08:18 -04:00
str1k3r 902a6ca641 fix: miles not shutting down, copying extra stuff to output folder, typo, durango output paths & stray pixel on logos 2026-08-29 13:04:39 -04:00
pieeebot 4e368283e1 fix: include server 4JLibs 2026-08-29 15:26:05 +03:00
pieeebot 4b962fcb21 feat: add smartcmd dedicated server
major bug: when connecting to the server a second time, it gets softlocked and keeps repeating ticking connection A\n in debug logs until it times out.
2026-08-29 14:01:24 +03:00
str1k3r 81e4a789b6 fix: non High Def resolutions not showing splitscreen hint & fix missing string 2026-08-26 21:59:06 -04:00
str1k3r 78f192ed76 fix: windows64 only falling back to 720 & update 4JLibs 2026-08-25 21:52:46 -04:00
str1k3r 344fd63488 feat: new logo 2026-08-24 21:45:05 -04:00
str1k3r 1f3664da94 fix: vita skin on windows64 & make cursor the lce pointer 2026-08-23 23:23:02 -04:00
str1k3r a43edb9faa chore: update discord link 2026-08-23 18:52:43 -04:00
str1k3r b62b7eb04d fix: sign over char limit crash 2026-08-23 18:42:22 -04:00
str1k3r 5531c673cd fix: typo 2026-08-23 18:01:19 -04:00
str1k3r 91ed8dceb6 chore: update 4jlibs 2026-08-23 17:56:55 -04:00
str1k3r 9cabad158a feat: ability to turn off vsync 2026-08-23 17:56:01 -04:00
str1k3r 6878c47f24 feat: durango ui parity & setting name 2026-08-22 18:37:33 -04:00
str1k3r a26fa24890 fix: string spacing 2026-08-22 18:09:51 -04:00
str1k3r 3f8321240f refactor: remove X360 specific stuff from non X360 platforms
and abit of PS3 only stuff from PSVita
2026-08-21 21:50:18 -04:00
str1k3r e52fce044a fix: D3D debug flag on non debug builds 2026-08-21 21:10:44 -04:00
str1k3r 327da2f843 fix(Windows64): SoundEngine starting abit late 2026-08-21 19:28:33 -04:00
str1k3r 5845c6ce26 fix: game always closing with exitcode 0 2026-08-21 17:58:41 -04:00
str1k3r f615927e0e feat: settings saving 2026-08-19 23:10:58 -04:00
str1k3r 5a3c528ed0 fix: durango being included in TMS ifdef
Durango lit doesnt support this idk why i even added it
2026-08-19 16:08:22 -04:00
str1k3r fe90a6c640 feat: better FatalLoadError, clean up build outputs & fix some def's 2026-08-19 01:03:39 -04:00
str1k3r 6512a32798 feat: FatalLoadError on Windows64
also readded TemporaryCreateGameStart
2026-08-18 18:31:50 -04:00
str1k3r 8fffd28dda fix: 4J 2026-08-16 19:33:45 -04:00
str1k3r e5b6a63d4c chore: fix Minecraft.xzp 2026-08-16 16:37:53 -04:00
str1k3r 12a601d478 chore: update Minecraft.xzp 2026-08-16 16:24:51 -04:00
str1k3r de526b7bd9 chore: update windows64 & durango strings & update x360 panorama 2026-08-16 16:08:58 -04:00
str1k3r ad62c603da fix(X360): Contentpackage not booting 2026-08-16 01:31:58 -04:00
str1k3r 90f771e038 fix: X360 build configs 2026-08-15 22:26:57 -04:00
str1k3r c8ffa527c8 fix: Files being included on wrong plats & ps3 postbuild 2026-08-15 22:09:43 -04:00
str1k3r b1d583721f fix: console compiling 2026-08-15 21:15:39 -04:00
str1k3r 8ee10c3a68 fix: release workflow not pulling submodules & bump checkout ver 2026-08-16 00:34:33 +00:00
str1k3r c988bd564d update submodule 2026-08-15 19:00:49 -04:00
str1k3r 71a972a033 fix: windows64 release workflow 2026-08-15 18:17:06 -04:00
str1k3r a047df6dc4 feat: release workflow for windows64 only 2026-08-15 22:08:57 +00:00
str1k3r 1763155fc6 fix: missing stuff from last commit 2026-08-15 17:17:27 -04:00
str1k3r 1a903c65dc fix: down DPAD opening 2 menus. small UI Parity, fix debug ifdefs, add -resolution arg, remove random debugbreak 2026-08-15 14:46:34 -04:00
pieeebot a1541c590d Revert LCEMP dedicated server changes
Apparently smartcmd used their own dedicated server and not LCEMP's, starting from scratch!
2026-08-15 03:28:51 +03:00
str1k3r 9d19fdc5f5 feat: Fullscreen, fix sending input when window not focused, fix iggy lib not being copied & request dedicated GPU 2026-08-14 19:44:30 -04:00
qloak 14cd85e7ed fix: Xbox 360 fixes (#31)
Fixes black text and newer DLCs crashingReviewed-on: cafeberry/cafeberry#31

Co-authored-by: qloak <realminecart@gmail.com>
2026-08-14 21:32:25 +00:00
pieeebot 9e3077c3bc LCEMP commit: world/server linux support, a ton of fixes, initial ded server support 2026-08-14 15:06:42 +03:00
pieeebot 494235878e LCEMP commit: multiple savefile fixes 2026-08-14 14:39:13 +03:00
pieeebot feeff55924 LCEMP Commit: add dedicated server check to sessioninfo 2026-08-14 13:42:38 +03:00
pieeebot f404e4b4e4 LCEMP commit: prepare code for dedicated server support 2026-08-14 13:32:11 +03:00
pieeebot 67a8111974 LCEMP commit: support more max players 2026-08-14 11:46:19 +03:00
pieeebot 6853eab85f update lcemp networking 2026-08-14 07:02:50 +03:00
qloak 125819419f Xbox 360 fixes (again...) (#29)
Merging main repo undid a lot of my changes so this PR reimplements them. Fixes build and playthrough. Has been tested.Reviewed-on: pieeebot/cafeberry#29

Co-authored-by: qloak <realminecart@gmail.com>
2026-08-08 12:23:28 +00:00
qloak ebbd54288b Fix X360 Crossplay (#26)
^Reviewed-on: pieeebot/cafeberry#26

Co-authored-by: qloak <realminecart@gmail.com>
2026-08-07 17:14:12 +00:00
ubergamer-pieand552eden 92891de261 Fix: PS3 SPU build task (#25)
Fixed PS3 SPU build task

---------

Co-authored-by: 552eden <552eden@gmail.com>
Reviewed-on: pieeebot/cafeberry#25
Co-authored-by: ubergamer-pie <16+ubergamer-pie@noreply.localhost>
2026-08-06 04:04:50 +00:00
ubergamer-pieand552eden 6167e04f82 Disable _LARGE_WORLDS for PS4 (#24)
Temporarily disabled _LARGE_WORLDS to get all platforms communicating with eachother.

---------

Co-authored-by: 552eden <552eden@gmail.com>
Reviewed-on: pieeebot/cafeberry#24
Co-authored-by: ubergamer-pie <16+ubergamer-pie@noreply.localhost>
2026-08-05 20:02:49 +00:00
ubergamer-pieand552eden 0443166b6a fix: vita networking(#23)
VITA Networking is now working. but it can only connect to non LARGE_WORLDS.

---------

Co-authored-by: 552eden <552eden@gmail.com>
Reviewed-on: pieeebot/cafeberry#23
Co-authored-by: ubergamer-pie <16+ubergamer-pie@noreply.localhost>
2026-08-05 16:59:22 +00:00
NaN 4b0520c938 fix PS4 networking support (#20)
gonna mark this a WIP till i test more with large worlds and achievements issues i dont wanna break the PS3 and other builds by enabling it freely,

ideally i can get it to work without it

also i wanna remove the GetLocalIPv4Interfaces auto discovery feature i just did that cause i had so many local networks it got confusing, will remove on Final PR editReviewed-on: pieeebot/cafeberry#20

Co-authored-by: NaN <nan@str1k3r.xyz>
2026-08-04 22:49:46 +00:00
ubergamer-pieand552eden 2840b7620b fix psvita being in trial mode + play game button freezing the entire game (#22)
fixed lock crash and enabled full mode for vita

---------

Co-authored-by: 552eden <552eden@gmail.com>
Reviewed-on: pieeebot/cafeberry#22
Co-authored-by: ubergamer-pie <16+ubergamer-pie@noreply.localhost>
2026-08-04 22:19:29 +00:00
ubergamer-pieand552eden 5451249347 fixed vita startup crash by guarding commerce calls (#21)
Commerce calls are now guarded with `#elif defined(__PSVITA__) && !defined(DISABLE_PSN)`

---------

Co-authored-by: 552eden <552eden@gmail.com>
Reviewed-on: pieeebot/cafeberry#21
Co-authored-by: ubergamer-pie <16+ubergamer-pie@noreply.localhost>
2026-08-04 21:41:13 +00:00
str1k3r de8bf25fbe Merge branch 'main' into networking 2026-08-04 09:39:41 -04:00
pieeebot 64e95393c8 fix ps3 compile errors 2026-08-04 07:40:52 +03:00
pieeebot ea3621971f psvita networking (Experimental) 2026-08-04 07:04:38 +03:00
pieeebot ce3e83039d rename network scripts 2026-08-03 04:18:33 +03:00
pieeebot 42f09f93e5 Fix Windows64 720p crash 2026-08-03 04:11:11 +03:00
pieeebot 9f8dab8ebb Merge branch 'main' into networking 2026-08-03 02:03:23 +03:00
pieeebot 5ebaab0ac9 Fix Shadps4 crash 2026-08-02 23:05:25 +03:00
pieeebot 92209cf909 add ps4 support 2026-08-02 22:06:27 +03:00
pieeebot 94f1cefcf9 Merge branch 'main' into networking 2026-08-02 18:58:23 +03:00
pieeebot e254228cf5 update lcemp networking 2026-08-02 03:33:11 +03:00
pieeebot b87d044cf0 fix crash when opening loadorjoin a second time 2026-08-01 22:56:12 +03:00
pieeebot 01abe05b18 attempt at trying to get XB360 to work 2026-08-01 06:15:37 +03:00
pieeebot 2170209e26 Merge branch 'main' into networking 2026-08-01 02:04:05 +03:00
pieeebot 991369547a fix compile error 2026-07-31 22:35:05 +03:00
pieeebot dbd90a75c9 add lcemp networking + ps3 support
YES I KNOW ITS GARBAGE, THATS WHY ITS NOT ON MAIN

ILL FIX IT UP IN FUTURE COMMITS THEN MERGE TO MAIN
2026-07-31 22:08:30 +03:00
1596 changed files with 299489 additions and 269493 deletions
+114
View File
@@ -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 }}
+2 -1
View File
@@ -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
View File
@@ -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
View File
@@ -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
+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.ReloadSkin();
ui.ReloadSkins();
#endif
}
+4 -2
View File
@@ -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)
+64 -5
View File
@@ -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);
}
+2 -1
View File
@@ -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
+1 -1
View File
@@ -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
+13 -50
View File
@@ -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
}
}
+13 -1
View File
@@ -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
+120 -59
View File
@@ -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__)
+9 -12
View File
@@ -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;}
+21 -10
View File
@@ -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