forked from cafeberry/cafeberry
Compare commits
46
Commits
main
...
8thgenautosave
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
23144a07bd | ||
|
|
8fffd28dda | ||
|
|
e5b6a63d4c | ||
|
|
12a601d478 | ||
|
|
de526b7bd9 | ||
|
|
ad62c603da | ||
|
|
90f771e038 | ||
|
|
c8ffa527c8 | ||
|
|
b1d583721f | ||
|
|
8ee10c3a68 | ||
|
|
c988bd564d | ||
|
|
71a972a033 | ||
|
|
a047df6dc4 | ||
|
|
76160a3bc2 | ||
|
|
1763155fc6 | ||
|
|
f30aa4fcf1 | ||
|
|
1a903c65dc | ||
|
|
9d19fdc5f5 | ||
|
|
14cd85e7ed | ||
|
|
82e802873f | ||
|
|
ecb1a93444 | ||
|
|
6a49df36cc | ||
|
|
bad3a41225 | ||
|
|
46caf4727c | ||
|
|
47ea98fc86 | ||
|
|
d0362d2458 | ||
|
|
82783c0812 | ||
|
|
bd0cc59a54 | ||
|
|
81d41a6a04 | ||
|
|
0031cae3e3 | ||
|
|
251cd8e304 | ||
|
|
df2a4d85ef | ||
|
|
b737c3eccb | ||
|
|
77a4ee39b5 | ||
|
|
7fb2db5ed7 | ||
|
|
90a2391e92 | ||
|
|
36afa4a59f | ||
|
|
eb317d8fbd | ||
|
|
af2040a849 | ||
|
|
9cba342973 | ||
|
|
8055f4dfc7 | ||
|
|
3ea3c08372 | ||
|
|
9a729de7c3 | ||
|
|
274f2ddc61 | ||
|
|
831ec7292d | ||
|
|
13285fbffa |
No files matched your search
@@ -0,0 +1,114 @@
|
||||
name: Build & Release Windows64
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
version:
|
||||
description: 'Version tag for release (e.g. v1.0.0).'
|
||||
required: true
|
||||
default: ''
|
||||
notes:
|
||||
description: 'URL to notes for release.'
|
||||
required: false
|
||||
default: ''
|
||||
|
||||
jobs:
|
||||
validate:
|
||||
runs-on: windows-2022
|
||||
steps:
|
||||
- name: Validate version format
|
||||
run: |
|
||||
if (-not ("${{ inputs.version }}" -match '^v\d+\.\d+\.\d+[a-zA-Z0-9.-]*$')) {
|
||||
Write-Error "Version '${{ inputs.version }}' doesn't match expected format (e.g. v1.0.0)"
|
||||
exit 1
|
||||
}
|
||||
|
||||
build:
|
||||
needs: validate
|
||||
strategy:
|
||||
matrix:
|
||||
configuration: [ContentPackage]
|
||||
platform: [Windows64]
|
||||
include:
|
||||
- platform: Windows64
|
||||
sdk_label: windows-2022 # str1k3r - can run on any runner
|
||||
|
||||
runs-on: [windows-2022, "${{ matrix.sdk_label }}"]
|
||||
|
||||
steps:
|
||||
- name: Checkout Repository
|
||||
uses: https://github.com/actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 1
|
||||
clean: false
|
||||
lfs: false
|
||||
submodules: true
|
||||
|
||||
- name: Build Cafeberry
|
||||
run: |
|
||||
& "C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe" MinecraftConsoles.sln `
|
||||
/p:Configuration=${{ matrix.configuration }} `
|
||||
/p:Platform=${{ matrix.platform }} `
|
||||
/m
|
||||
|
||||
- name: Zip Build
|
||||
run: |
|
||||
7z a -r "LCEWindows64.zip" "./x64/${{ matrix.configuration }}/*" "-x!*.pdb" "-x!*.pch" "-x!*.ilk" "-x!*.lib" "-x!*.exp"
|
||||
|
||||
- name: Stage artifacts
|
||||
run: |
|
||||
New-Item -ItemType Directory -Force -Path staging
|
||||
Copy-Item "LCE${{ matrix.platform }}.zip" staging/
|
||||
Copy-Item "./x64/${{ matrix.configuration }}/Minecraft.Client.exe" staging/
|
||||
|
||||
- name: Upload artifacts
|
||||
uses: https://github.com/christopherHX/gitea-upload-artifact@v4
|
||||
with:
|
||||
name: build-${{ matrix.platform }}
|
||||
path: staging/*
|
||||
compression-level: 0
|
||||
|
||||
release:
|
||||
needs: build
|
||||
runs-on: windows-2022
|
||||
steps:
|
||||
- name: Download all build artifacts
|
||||
uses: https://github.com/christopherHX/gitea-download-artifact@v4
|
||||
with:
|
||||
path: downloaded
|
||||
|
||||
- name: Fetch release notes
|
||||
id: notes
|
||||
run: |
|
||||
$notesSource = "${{ inputs.notes }}"
|
||||
$fallback = "## Cafeberry`n`n### Whoever made this release forgot to put notes, sorry!"
|
||||
|
||||
if ($notesSource -match '^https?://') {
|
||||
try {
|
||||
$body = (Invoke-WebRequest -Uri $notesSource -UseBasicParsing).Content
|
||||
if ([string]::IsNullOrWhiteSpace($body)) { $body = $fallback }
|
||||
} catch {
|
||||
$body = $fallback
|
||||
}
|
||||
} else {
|
||||
$body = $fallback
|
||||
}
|
||||
|
||||
$delimiter = "EOF_$([System.Guid]::NewGuid().ToString('N'))"
|
||||
$content = "description<<$delimiter`n$body`n$delimiter`n"
|
||||
|
||||
$utf8NoBom = New-Object System.Text.UTF8Encoding($false)
|
||||
[System.IO.File]::AppendAllText($env:GITHUB_OUTPUT, $content, $utf8NoBom)
|
||||
|
||||
- name: Publish Release
|
||||
uses: akkuman/gitea-release-action@v1
|
||||
with:
|
||||
name: ${{ inputs.version }}
|
||||
server_url: ${{ gitea.server_url }}
|
||||
repository: ${{ gitea.repository }}
|
||||
token: ${{ gitea.token }}
|
||||
tag_name: ${{ inputs.version }}
|
||||
prerelease: false
|
||||
verbose: true
|
||||
files: downloaded/**/*
|
||||
body: ${{ steps.notes.outputs.description }}
|
||||
@@ -45,11 +45,12 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout Repository
|
||||
uses: https://github.com/actions/checkout@v4
|
||||
uses: actions/checkout@v6
|
||||
with:
|
||||
fetch-depth: 1
|
||||
clean: false
|
||||
lfs: false
|
||||
submodules: recursive
|
||||
|
||||
- name: Build Cafeberry
|
||||
run: |
|
||||
|
||||
+6
-1
@@ -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
|
||||
@@ -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
|
||||
@@ -1784,10 +1784,13 @@ 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 platforms therefore, we only need this on Xbox platforms.
|
||||
#if defined(_DURANGO) || defined(_XBOX)
|
||||
if(app.GetTMSGlobalFileListRead()==false)
|
||||
{
|
||||
app.SetTMSAction(ProfileManager.GetPrimaryPad(),eTMSAction_TMSPP_RetrieveFiles_RunPlayGame);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifdef _XBOX
|
||||
@@ -3614,7 +3617,7 @@ int ClientConnection::HostDisconnectReturned(void *pParam,int iPad,C4JStorage::E
|
||||
}
|
||||
}
|
||||
|
||||
#if defined(_XBOX_ONE) || defined(__ORBIS__)
|
||||
#if defined(_XBOX_ONE) || defined(__ORBIS__) || defined(_WINDOWS64)
|
||||
// Give the player the option to save their game
|
||||
// does the save exist?
|
||||
bool bSaveExists;
|
||||
@@ -3646,7 +3649,7 @@ int ClientConnection::HostDisconnectReturned(void *pParam,int iPad,C4JStorage::E
|
||||
else
|
||||
#endif
|
||||
{
|
||||
#if defined(_XBOX_ONE) || defined(__ORBIS__)
|
||||
#if defined(_XBOX_ONE) || defined(__ORBIS__) || defined(_WINDOWS64)
|
||||
StorageManager.SetSaveDisabled(false);
|
||||
#endif
|
||||
MinecraftServer::getInstance()->setSaveOnExit( true );
|
||||
@@ -3665,7 +3668,7 @@ int ClientConnection::ExitGameAndSaveReturned(void *pParam,int iPad,C4JStorage::
|
||||
//INT saveOrCheckpointId = 0;
|
||||
//bool validSave = StorageManager.GetSaveUniqueNumber(&saveOrCheckpointId);
|
||||
//SentientManager.RecordLevelSaveOrCheckpoint(ProfileManager.GetPrimaryPad(), saveOrCheckpointId);
|
||||
#if defined(_XBOX_ONE) || defined(__ORBIS__)
|
||||
#if defined(_XBOX_ONE) || defined(__ORBIS__) || defined(_WINDOWS64)
|
||||
StorageManager.SetSaveDisabled(false);
|
||||
#endif
|
||||
MinecraftServer::getInstance()->setSaveOnExit( true );
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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."
|
||||
}
|
||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Loaded 100 of 208 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user