64 Commits
Author SHA1 Message Date
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
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
qloakandstr1k3r 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
str1k3r 82e802873f fix: duplicates for windows64 & update postbuild copies 2026-08-14 16:50:56 -04:00
str1k3r ecb1a93444 fix: Miles Sound System on Windows64 & Move all msscmp's to media folders 2026-08-14 16:37:58 -04:00
6a49df36cc revert perf + fix: windows performance optimizations + x360 fixes + ps3 hdd corruption fix (#27)
revert perf + fix: windows performance optimizations + x360 fixes + ps3 hdd corruption fix (#27)

windows optimizations include:

- adding WPO/LTCG
- fixing potential memory leaks
- reducing unneeded busy waits

xbox 360 fixes include:

- all item names displaying as black
- adding newer dlcs crashing game

ps3 fix was that, when holding the ps button, it'd corrupt the hdd. NEEDS TESTING! just a guess fix since I don't have a PS3.

---------

Co-authored-by: pieeebot <piebot00@gmail.com>
Co-authored-by: piebot <piebot00@gmail.com>
Co-authored-by: str1k3r <115313679+S1l3ntStr1ke87@users.noreply.github.com>
Co-authored-by: str1k3r <1+str1k3r@noreply.localhost>
Co-authored-by: pieeebot <10+pieeebot@noreply.neolegacy.dev>
Co-authored-by: qloak <53+qloak@noreply.neolegacy.dev>
Reviewed-on: cafeberry/cafeberry#27
Co-authored-by: qloak <realminecart@gmail.com>
2026-08-14 10:48:38 +00:00
bad3a41225 perf + fix: windows performance optimizations + x360 fixes + ps3 hdd corruption fix (#27)
title

windows optimizations include:

- adding WPO/LTCG
- fixing potential memory leaks
- reducing unneeded busy waits

xbox 360 fixes include:

- all item names displaying as black
- adding newer dlcs crashing game

ps3 fix was that, when holding the ps button, it'd corrupt the hdd. NEEDS TESTING! just a guess fix since I don't have a PS3.

---------

Co-authored-by: pieeebot <piebot00@gmail.com>
Co-authored-by: piebot <piebot00@gmail.com>
Co-authored-by: str1k3r <115313679+S1l3ntStr1ke87@users.noreply.github.com>
Co-authored-by: str1k3r <1+str1k3r@noreply.localhost>
Co-authored-by: pieeebot <10+pieeebot@noreply.neolegacy.dev>
Co-authored-by: qloak <53+qloak@noreply.neolegacy.dev>
Reviewed-on: cafeberry/cafeberry#27
Co-authored-by: qloak <realminecart@gmail.com>
2026-08-14 05:09:20 +00:00
str1k3r 46caf4727c fix: g_bResolutionSetByCMD causing windows64 to not compile sometimes 2026-08-13 19:09:39 -04:00
str1k3r 47ea98fc86 fix: widescreen check only working if res was not cmd set 2026-08-13 00:21:01 -04:00
str1k3r d0362d2458 fix: res set over cmd not applying 2026-08-12 21:36:08 -04:00
str1k3r 82783c0812 feat(Windows64): safely exit game & get monitors size that has the game window instead of primary 2026-08-12 18:18:41 -04:00
str1k3r bd0cc59a54 chore: update .gitignore 2026-08-11 21:25:56 -04:00
str1k3r 81d41a6a04 feat(Windows64): use screen size instead of window size, fix exit game, fix oprhaned saves on exit without saving 2026-08-11 20:27:34 -04:00
str1k3r 0031cae3e3 fix: m_fScreen Width & Height missing .0f for 8th gen consoles 2026-08-11 18:45:04 -04:00
str1k3r 251cd8e304 feat(Windows64): fetch screen size instead of hardcoding & cleanup project filter 2026-08-11 18:36:29 -04:00
str1k3r df2a4d85ef fix: save space indicator & windows64 image scaling 2026-08-11 15:29:53 -04:00
str1k3r b737c3eccb feat(Windows64): ReloadSkin on another thread & improved screen height to swf 2026-08-10 00:28:30 -04:00
str1k3r 77a4ee39b5 fix: postbuilds 2026-08-09 23:43:30 -04:00
str1k3r 7fb2db5ed7 fix: SD3 lib being copied & update paths 2026-08-09 22:45:13 -04:00
str1k3r 90a2391e92 fix: SDL3 dll not being copied 2026-08-09 10:58:07 -04:00
str1k3r 36afa4a59f feat: SDL3 4JLibs 2026-08-09 00:34:21 -04:00
str1k3r eb317d8fbd chore: Bump 4JLibs 2026-08-08 21:08:50 -04:00
str1k3r af2040a849 fix: 4JLibs building, windows64 files not copying & add buildsteps to solution filter 2026-08-08 20:56:23 -04:00
str1k3r 9cba342973 feat: update submodule, more proper 4JLibs checks 2026-08-08 19:58:37 -04:00
str1k3r 8055f4dfc7 fix: world thumbnails 2026-08-08 15:09:57 -04:00
str1k3r 3ea3c08372 update submodule
SDL was being a bitch
2026-08-08 15:00:18 -04:00
str1k3r 9a729de7c3 fix: submodule tracking unneeded files 2026-08-08 14:19:49 -04:00
str1k3r 274f2ddc61 fix: submodule 2026-08-08 14:11:30 -04:00
str1k3r 831ec7292d fix: save space indicator
Credits to smartcmd for the base of this
2026-08-08 14:08:00 -04:00
str1k3r 13285fbffa feat: 4JLibs submodule 2026-08-08 14:06:08 -04:00
str1k3r 3866e525f1 fix(Windows64): 720p crash, Update README & .gitignore 2026-08-03 21:55:05 -04:00
str1k3r 9254fbcdb3 fix: ps3 zip not ignoring .self, stop tracking .vcxproj.user 2026-08-03 18:28:00 -04:00
str1k3r e8d19516e6 fix: windows64 release build
Release is actually a "Debug without extra shit" so we dont use _FINAL_BUILD
2026-08-03 16:32:30 -04:00
str1k3r 8bae3cfbc1 fix: ps3 zip 2026-08-03 15:27:43 -04:00
str1k3r 7f4227d902 fix: my mistake on workflow 2026-08-03 15:14:31 -04:00
str1k3r d9327ff1f5 fix: dangling build on workflow 2026-08-03 15:11:57 -04:00
str1k3r d770e58992 fix: workflows throwing GHES error 2026-08-03 15:03:16 -04:00
str1k3r 0889edf3bd chore: make the SPU Tasks SLN use $(Configuration) & $(Platform) 2026-08-03 14:40:28 -04:00
str1k3r 6e13d5d4c0 fix: PS3 & Windows64 ContentPackage, Exclude PSVita libs & OldSDK from other plats 2026-08-03 14:27:03 -04:00
str1k3r cffdcb1971 fix: release workflow notes 2026-08-03 10:31:04 +00:00
str1k3r eb80f3e52b fix(PS3): SPU Tasks not being built 2026-08-02 20:47:50 -04:00
284 changed files with 7768 additions and 13479 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: |
+6 -1
View File
@@ -28,6 +28,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
@@ -38,4 +42,5 @@
*.sdf
*.opensdf
*.v11.suo
*.vcxproj.user
*.vcxproj.user
*.aps
+5
View File
@@ -0,0 +1,5 @@
[submodule "Minecraft.Client/Windows64/4JLibs"]
path = Minecraft.Client/Windows64/4JLibs
url = https://gitea.str1k3r.xyz/cafeberry/4JLibs.git
ignore = untracked
branch = main
+8 -73
View File
@@ -1,5 +1,4 @@
#include "stdafx.h"
#include "Common\LivePrivileges.h"
#include "ClientConnection.h"
#include "MultiPlayerLevel.h"
#include "MultiPlayerLocalPlayer.h"
@@ -51,16 +50,11 @@
#else
#include "Common\UI\UI.h"
#endif
#if defined __PS3__ && !defined DISABLE_PSN
#ifdef __PS3__
#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"
@@ -787,32 +781,6 @@ void ClientConnection::handleAddPlayer(shared_ptr<AddPlayerPacket> packet)
player->m_displayName = player->name;
#endif
#if defined _WINDOWS64 || defined DISABLE_PSN || defined _DISABLE_XBLIVE
{
PlayerUID pktXuid = player->getXuid();
const PlayerUID WIN64_XUID_BASE = (PlayerUID)0xe000d45248242f2e;
if (pktXuid >= WIN64_XUID_BASE && pktXuid < WIN64_XUID_BASE + MINECRAFT_NET_MAX_PLAYERS)
{
BYTE smallId = (BYTE)(pktXuid - 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;
@@ -955,39 +923,6 @@ void ClientConnection::handleMoveEntitySmall(shared_ptr<MoveEntityPacketSmall> p
void ClientConnection::handleRemoveEntity(shared_ptr<RemoveEntitiesPacket> packet)
{
#if defined _WINDOWS64 || defined DISABLE_PSN || defined _DISABLE_XBLIVE
if (!g_NetworkManager.IsHost())
{
for (int i = 0; i < packet->ids.length; i++)
{
shared_ptr<Entity> entity = getEntity(packet->ids[i]);
if (entity != NULL && entity->GetType() == eTYPE_PLAYER)
{
shared_ptr<Player> player = dynamic_pointer_cast<Player>(entity);
if (player != NULL)
{
PlayerUID xuid = player->getXuid();
INetworkPlayer *np = g_NetworkManager.GetPlayerByXuid(xuid);
if (np != NULL)
{
NetworkPlayerXbox *npx = (NetworkPlayerXbox *)np;
IQNetPlayer *qp = npx->GetQNetPlayer();
if (qp != NULL)
{
extern CPlatformNetworkManagerStub *g_pPlatformNetworkManager;
g_pPlatformNetworkManager->NotifyPlayerLeaving(qp);
qp->m_smallId = 0;
qp->m_isRemote = false;
qp->m_isHostPlayer = false;
qp->m_gamertag[0] = 0;
qp->SetCustomDataValue(0);
}
}
}
}
}
}
#endif
for (int i = 0; i < packet->ids.length; i++)
{
level->removeEntity(packet->ids[i]);
@@ -1834,7 +1769,6 @@ 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
@@ -1850,14 +1784,16 @@ 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
}
// A LAN build has no Live friends list or UGC entitlements
#if defined _XBOX && !defined _DISABLE_XBLIVE
#ifdef _XBOX
if(!g_NetworkManager.IsHost() && !app.GetGameHostOption(eGameHostOption_FriendsOfFriends))
{
if(m_userIndex == ProfileManager.GetPrimaryPad() )
@@ -2008,7 +1944,7 @@ void ClientConnection::handlePreLogin(shared_ptr<PreLoginPacket> packet)
isAtLeastOneFriend = TRUE;
cantPlayContentRestricted= FALSE;
#if !defined DISABLE_PSN && ( defined __PS3__ || defined __ORBIS__ || defined __PSVITA__)
#if ( defined __PS3__ || defined __ORBIS__ || defined __PSVITA__)
if(!g_NetworkManager.IsHost() && !app.GetGameHostOption(eGameHostOption_FriendsOfFriends))
{
@@ -2289,9 +2225,8 @@ void ClientConnection::handlePreLogin(shared_ptr<PreLoginPacket> packet)
ProfileManager.GetXUID(m_userIndex,&offlineXUID,false);
}
BOOL allAllowed, friendsAllowed;
Live_AllowedPlayerCreatedContent(m_userIndex,true,&allAllowed,&friendsAllowed);
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),
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),
packet->m_ugcPlayersVersion, app.GetPlayerSkinId(m_userIndex), app.GetPlayerCapeId(m_userIndex), ProfileManager.IsGuest( m_userIndex ))));
if(!g_NetworkManager.IsHost() )
+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(DISABLE_PSN) && (defined( __PS3__) || defined(__ORBIS__) || defined (__PSVITA__))
#if defined( __PS3__) || defined(__ORBIS__) || defined (__PSVITA__)
char chImageURL[256];//SCE_NP_COMMERCE2_URL_LEN
#else
+18 -6
View File
@@ -59,7 +59,7 @@ void SoundEngine::playMusicTick() {};
#ifdef _WINDOWS64
char SoundEngine::m_szSoundPath[]={"Windows64Media\\Sound\\"};
char SoundEngine::m_szMusicPath[]={"music\\"};
char SoundEngine::m_szRedistName[]={"redist64"};
char SoundEngine::m_szRedistName[]={"Windows64\\redist64"}; //str1k3r - moved this to a the Windows64 dir so its out of plain view
#elif defined _DURANGO
char SoundEngine::m_szSoundPath[]={"Sound\\"};
char SoundEngine::m_szMusicPath[]={"music\\"};
@@ -791,7 +791,9 @@ void SoundEngine::play(int iSound, float x, float y, float z, float volume, floa
char *SoundName = (char *)ConvertSoundPathToName(name);
strcat((char *)szSoundName,SoundName);
// app.DebugPrintf(6,"PlaySound - %d - %s - %s (%f %f %f, vol %f, pitch %f)\n",iSound, SoundName, szSoundName,x,y,z,volume,pitch);
#ifdef _DEBUG
app.DebugPrintf(6,"PlaySound - %d - %s - %s (%f %f %f, vol %f, pitch %f)\n",iSound, SoundName, szSoundName,x,y,z,volume,pitch);
#endif
AUDIO_INFO AudioInfo;
AudioInfo.x=x;
@@ -846,9 +848,11 @@ void SoundEngine::playUI(int iSound, float volume, float pitch)
char *SoundName = (char *)ConvertSoundPathToName(name);
strcat((char *)szSoundName,SoundName);
// app.DebugPrintf("UI: Playing %s, volume %f, pitch %f\n",SoundName,volume,pitch);
//app.DebugPrintf("PlaySound - %d - %s\n",iSound, SoundName);
#ifdef _DEBUG
app.DebugPrintf("UI: Playing %s, volume %f, pitch %f\n",SoundName,volume,pitch);
app.DebugPrintf("PlaySound - %d - %s\n",iSound, SoundName);
#endif
AUDIO_INFO AudioInfo;
memset(&AudioInfo,0,sizeof(AUDIO_INFO));
@@ -1136,10 +1140,12 @@ int SoundEngine::OpenStreamThreadProc( void* lpParameter )
SoundEngine *soundEngine = (SoundEngine *)lpParameter;
soundEngine->m_hStream = AIL_open_stream(soundEngine->m_hDriver,soundEngine->m_szStreamName,0);
#ifdef _DEBUG
if(soundEngine->m_hStream==0)
{
app.DebugPrintf("SoundEngine::OpenStreamThreadProc - Could not open - %s\n",soundEngine->m_szStreamName);
}
#endif
return 0;
}
@@ -1160,13 +1166,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)
{
@@ -1514,7 +1524,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);
@@ -0,0 +1,80 @@
param(
[string]$ProjectDir,
[string]$Platform,
[string]$Configuration
)
if ($ProjectDir -match "Minecraft.World") {
$BaseDir = "$ProjectDir..\Minecraft.Client\"
} elseif ($ProjectDir -match "Minecraft.Client") {
$BaseDir = $ProjectDir
} else {
Write-Host "4JLibs: Unknown project directory: '$ProjectDir'"
exit 1
}
switch ($Platform) {
"x64" { $LibsDir = Join-Path $BaseDir "Windows64\4JLibs\"; $ExpectedCount = 4; $PlatformName = "Windows64" }
"Durango" { $LibsDir = Join-Path $BaseDir "Durango\4JLibs\"; $ExpectedCount = 4; $PlatformName = "Durango" }
"Xbox 360" { $LibsDir = Join-Path $BaseDir "Xbox\4JLibs\"; $ExpectedCount = 5; $PlatformName = "Xbox" }
"PS3" { $LibsDir = Join-Path $BaseDir "PS3\4JLibs\"; $ExpectedCount = 4; $PlatformName = "PS3" }
"Orbis" { $LibsDir = Join-Path $BaseDir "Orbis\4JLibs\"; $ExpectedCount = 4; $PlatformName = "Orbis" }
"PSVita" { $LibsDir = Join-Path $BaseDir "PSVita\4JLibs\"; $ExpectedCount = 4; $PlatformName = "PSVita" }
default { Write-Host "4JLibs: Unknown platform: '$Platform'"; exit 1 }
}
if ($Configuration -match "ContentPackage" -or $Configuration -match "Release") {
$BuildConfig = "Release"
} elseif ($Configuration -match "Debug") {
$BuildConfig = "Debug"
} else {
Write-Host "4JLibs: Configuration did not match any known patterns, defaulting to Debug"
$BuildConfig = "Debug"
}
if (-not (Test-Path $LibsDir)) {
Write-Host "4JLibs: $PlatformName 4JLibs directory not found"
exit 1
} elseif (-not (Test-Path "$LibsDir\Headers\$PlatformName")) {
Write-Host "4JLibs: $PlatformName 4JLibs Headers directory not found"
exit 1
} elseif (-not (Test-Path "$LibsDir\Headers")) {
Write-Host "4JLibs: Headers directory not found"
exit 1
}
$incPath = Join-Path $LibsDir "inc"
$libsPath = Join-Path $LibsDir "libs"
$incCount = (Get-ChildItem -Path $incPath -Filter "*.h" -ErrorAction SilentlyContinue).Count
if ($BuildConfig -eq "Release") {
$libCount = (Get-ChildItem -Path $libsPath -Filter "*_r.lib" -ErrorAction SilentlyContinue).Count
} else {
$libCount = (Get-ChildItem -Path $libsPath -Filter "*_d.lib" -ErrorAction SilentlyContinue).Count
}
if ($incCount -lt $ExpectedCount) {
Write-Host "4JLibs: Copying header files for $PlatformName"
xcopy "$LibsDir\Headers\$PlatformName\*" "$incPath" /E /I /Y
} else {
Write-Host "4JLibs: inc files already present, skipping copy."
}
if ($libCount -lt $ExpectedCount) {
Write-Host "4JLibs: Building 4JLibs for $PlatformName in $BuildConfig"
& "C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe" `
(Join-Path $LibsDir "4JLibs.sln") `
/p:Configuration=$BuildConfig `
/p:Platform=$PlatformName `
/v:minimal `
/m
if ($LASTEXITCODE -ne 0) {
Write-Host "4JLibs: Build failed with exit code: $LASTEXITCODE"
exit $LASTEXITCODE
}
} else {
Write-Host "4JLibs: libs already present, skipping build."
}

Before

Width:  |  Height:  |  Size: 196 KiB

After

Width:  |  Height:  |  Size: 196 KiB

Before

Width:  |  Height:  |  Size: 308 KiB

After

Width:  |  Height:  |  Size: 308 KiB

Before

Width:  |  Height:  |  Size: 252 KiB

After

Width:  |  Height:  |  Size: 252 KiB

Before

Width:  |  Height:  |  Size: 1.9 MiB

After

Width:  |  Height:  |  Size: 1.9 MiB

Before

Width:  |  Height:  |  Size: 2.0 MiB

After

Width:  |  Height:  |  Size: 2.0 MiB

Before

Width:  |  Height:  |  Size: 62 KiB

After

Width:  |  Height:  |  Size: 62 KiB

Before

Width:  |  Height:  |  Size: 1.1 MiB

After

Width:  |  Height:  |  Size: 1.1 MiB

Before

Width:  |  Height:  |  Size: 5.0 KiB

After

Width:  |  Height:  |  Size: 5.0 KiB

Before

Width:  |  Height:  |  Size: 8.4 KiB

After

Width:  |  Height:  |  Size: 8.4 KiB

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Before

Width:  |  Height:  |  Size: 68 KiB

After

Width:  |  Height:  |  Size: 68 KiB

Before

Width:  |  Height:  |  Size: 95 KiB

After

Width:  |  Height:  |  Size: 95 KiB

Before

Width:  |  Height:  |  Size: 103 KiB

After

Width:  |  Height:  |  Size: 103 KiB

Before

Width:  |  Height:  |  Size: 74 KiB

After

Width:  |  Height:  |  Size: 74 KiB

Before

Width:  |  Height:  |  Size: 91 KiB

After

Width:  |  Height:  |  Size: 91 KiB

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 38 KiB

Before

Width:  |  Height:  |  Size: 37 KiB

After

Width:  |  Height:  |  Size: 37 KiB

Before

Width:  |  Height:  |  Size: 103 KiB

After

Width:  |  Height:  |  Size: 103 KiB

Before

Width:  |  Height:  |  Size: 123 KiB

After

Width:  |  Height:  |  Size: 123 KiB

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