11 Commits
Author SHA1 Message Date
pieeebot 51ee0d8e57 fix(Windows64): audio crashes, lighting issues and music not being copied correctly 2026-07-23 18:00:55 +03:00
pieeebot 9ef66ed71b fix(TU22): Boat, Baby zombie and Texture changes.
TU22:
- Corrected baby zombie hit boxes size.
- Fix for players sometimes taking fall damage while in a boat.
- Updated Lapis Lazuli's block texture
2026-07-22 19:59:49 +03:00
str1k3r b6e2886476 fix: excess step from being in release 2026-07-21 19:21:43 -04:00
str1k3r 69541f1abf fix: ps3 compiling & only uncap fps on windows 2026-07-21 17:11:11 -04:00
str1k3r 09cedad533 fix: workflow stage exe path 2026-07-21 16:02:55 -04:00
str1k3r 59b9fec5c2 fix: workflow 2026-07-21 14:54:07 -04:00
str1k3r 6625df6c3e feat: release workflow 2026-07-21 14:52:11 -04:00
str1k3r e0ed220c69 fix: workflow 2026-07-21 17:51:21 +00:00
str1k3r cba1f9ea3b fix: workflow 2026-07-21 17:49:29 +00:00
str1k3r 79bfa4eb56 fix: using wrong msbuild ver 2026-07-21 17:43:12 +00:00
str1k3r 12f7125335 feat: test ps3 workflow 2026-07-21 17:25:18 +00:00
12 changed files with 145 additions and 3 deletions
+106
View File
@@ -0,0 +1,106 @@
name: Build & Release
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:
runs-on: windows-2022
strategy:
matrix:
configuration: [Release]
platform: [PS3, Windows64] #[PS3, PSVita, Xbox 360, ORBIS, Windows64]
steps:
- name: Checkout Repository
uses: https://github.com/actions/checkout@v4
- 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 (Consoles)
if: matrix.platform != 'Windows64'
run: 7z a -r LCE${{ matrix.platform }}.zip ./${{ matrix.platform }}_${{ matrix.configuration }}/* "-x!*.ipdb" "-x!*.iobj"
- name: Zip Build (Windows64)
if: matrix.platform == 'Windows64'
run: 7z a -r LCE${{ matrix.platform }}.zip ./x64/${{ matrix.configuration }}/* "-x!*.ipdb" "-x!*.iobj"
- name: Stage artifacts
run: |
New-Item -ItemType Directory -Force -Path staging
Copy-Item LCE${{ matrix.platform }}.zip staging/
- name: Stage exe
if: matrix.platform == 'Windows64'
run: |
Copy-Item ./x64/${{ matrix.configuration }}/Minecraft.Client.exe staging/
- name: Upload artifacts
uses: https://github.com/actions/upload-artifact@v3
with:
name: build-${{ matrix.platform }}
path: staging/*
release:
needs: build
runs-on: windows-2022
steps:
- name: Download all build artifacts
uses: https://github.com/actions/download-artifact@v3
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
}
}
"description<<EOF`n$body`nEOF" | Out-File -Append -Encoding utf8 -NoNewline:$false $env:GITHUB_OUTPUT
- 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 }}
@@ -9,7 +9,7 @@ const wstring LeaderboardManager::filterNames[eNumFilterModes] =
L"Friends", L"MyScore", L"TopRank" L"Friends", L"MyScore", L"TopRank"
}; };
#if !defined(_WINDOWS64) && !defined(_DURANGO) && !defined(__ORBIS__) && !defined(__PS3__) && !defined(__PSVITA__) && !defined(_XBOX) #if !defined(_DURANGO) && !defined(_WINDOWS64) && !defined(_XBOX) && !defined(__ORBIS__) // str1k3r - some platforms complain about this, also this wasnt in the leak?
LeaderboardManager *LeaderboardManager::m_instance = NULL; LeaderboardManager *LeaderboardManager::m_instance = NULL;
#endif #endif
@@ -24,7 +24,7 @@ $folderCopies = @(
@{ Source = "DurangoMedia"; Dest = "Windows64Media" }, @{ Source = "DurangoMedia"; Dest = "Windows64Media" },
@{ Source = "Windows64Media"; Dest = "Windows64Media" }, @{ Source = "Windows64Media"; Dest = "Windows64Media" },
@{ Source = "PSVita\Tutorial"; Dest = "Windows64Media\Tutorial" }, @{ Source = "PSVita\Tutorial"; Dest = "Windows64Media\Tutorial" },
@{ Source = "Windows64Media\music"; Dest = "Windows64Media\music" }, @{ Source = "music"; Dest = "Windows64Media\music" },
@{ Source = "Windows64Media\Sound"; Dest = "Windows64Media\Sound" }, @{ Source = "Windows64Media\Sound"; Dest = "Windows64Media\Sound" },
@{ Source = "Common\Postbuilds\Contents\Windows64\redist64"; Dest = "redist64" } @{ Source = "Common\Postbuilds\Contents\Windows64\redist64"; Dest = "redist64" }
) )
Binary file not shown.

Before

Width:  |  Height:  |  Size: 139 KiB

After

Width:  |  Height:  |  Size: 154 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 27 KiB

+4
View File
@@ -116,7 +116,11 @@ void Options::init()
bobView = true; bobView = true;
anaglyph3d = false; anaglyph3d = false;
advancedOpengl = false; advancedOpengl = false;
#ifdef _WINDOWS64
framerateLimit = 0; framerateLimit = 0;
#else
framerateLimit = 2;
#endif
fancyGraphics = true; fancyGraphics = true;
ambientOcclusion = true; ambientOcclusion = true;
renderClouds = true; renderClouds = true;
+1 -1
View File
@@ -832,7 +832,7 @@ void Tesselator::vertex(float x, float y, float z)
pShortData[5] = (((int)(v * 8192.0f))&0xffff); pShortData[5] = (((int)(v * 8192.0f))&0xffff);
int16_t u2 = ((int16_t*)&_tex2)[0]; int16_t u2 = ((int16_t*)&_tex2)[0];
int16_t v2 = ((int16_t*)&_tex2)[1]; int16_t v2 = ((int16_t*)&_tex2)[1];
#if defined _XBOX_ONE || defined __ORBIS__ || defined _WINDOWS64 #if defined _XBOX_ONE || defined __ORBIS__
// Optimisation - pack the second UVs into a single short (they could actually go in a byte), which frees up a short to store the x offset for this chunk in the vertex itself. // Optimisation - pack the second UVs into a single short (they could actually go in a byte), which frees up a short to store the x offset for this chunk in the vertex itself.
// This means that when rendering chunks, we don't need to update the vertex constants that specify the location for a chunk, when only the x offset has changed. // This means that when rendering chunks, we don't need to update the vertex constants that specify the location for a chunk, when only the x offset has changed.
pShortData[6] = ( u2 << 8 ) | v2; pShortData[6] = ( u2 << 8 ) | v2;
Binary file not shown.
+29
View File
@@ -48,6 +48,35 @@ bool Boat::makeStepSound()
return false; return false;
} }
void Boat::checkFallDamage(int result, int onGround, double ya)
{
if (fallDistance <= 3.0) return;
if ( !onGround )
{
int t = level->getTile(x, (floor(y) - 1.0), z);
if ((!t || Tile::tiles[t]->material != Material::water) && ya < 0.0 )
fallDistance -= ya;
return;
}
causeFallDamage(fallDistance);
if (!level->isClientSide && !removed)
{
remove();
for (int i = 0; i < 3; i++)
{
spawnAtLocation(Tile::wood_Id, 1, 0);
}
for (int i = 0; i < 2; i++)
{
spawnAtLocation(Item::stick->id, 1, 0);
}
}
fallDistance = 0.0;
}
void Boat::defineSynchedData() void Boat::defineSynchedData()
{ {
entityData->define(DATA_ID_HURT, 0); entityData->define(DATA_ID_HURT, 0);
+1
View File
@@ -36,6 +36,7 @@ public:
Boat(Level *level); Boat(Level *level);
protected: protected:
virtual void checkFallDamage(int result, int onGround, double ya);
virtual bool makeStepSound(); virtual bool makeStepSound();
virtual void defineSynchedData(); virtual void defineSynchedData();
+2
View File
@@ -147,6 +147,8 @@ void Zombie::aiStep()
} }
} }
Monster::aiStep(); Monster::aiStep();
if (isBaby())
setSize(0.3f, 0.9f);
} }
bool Zombie::hurt(DamageSource *source, float dmg) bool Zombie::hurt(DamageSource *source, float dmg)