20 Commits
Author SHA1 Message Date
pieeebot c677cc0065 chore: update README.md to include discord server. 2026-07-17 20:17:07 +01:00
pieeebot eb3ae69d3f chore: add Wii U and Switch to README.md 2026-07-17 12:41:07 +01:00
pieeebot 1580fdced7 Update README.md 2026-07-16 13:50:36 +01:00
pieeebot 7200598afa chore: change readme to update project name and description 2026-07-16 13:46:41 +01:00
qloakandpieeebot b08d478d73 fix(TU20): Piston and StemTile fixes (#6)
- fixed "Two pistons stacked facing up and the top piston is powered with a repeater will cause the top piston to lock in place."
- fixed "Fix for issue where destroying planted pumpkin and melon seeds drops an incorrect number of seeds."

---------

Co-authored-by: pieeebot <10+pieeebot@noreply.neolegacy.dev>
Reviewed-on: https://git.neolegacy.dev/pieeebot/mc_pieLCE/pulls/6
Co-authored-by: qloak <realminecart@gmail.com>
Co-committed-by: qloak <realminecart@gmail.com>
2026-07-15 20:33:38 +01:00
pieeebot b1189eb6c9 chore: update development status on xbox 360
qloak found a discovery that let us grab the xur files from the tu update files, .xui is compiled into .xur and its easy to convert it back to .xui.
2026-07-15 16:45:48 +01:00
str1k3r 4e2369f194 fix(Orbis): Leaderboard manager
Make the Orbis Leaderboard manager work with the new Sony Leaderboard manager
2026-07-15 09:00:52 -04:00
qloakandpieeebot e1508731d0 fix(TU20): more TU20 bug fixes
TU20:

Fixed issue where name tags do not appear to work correctly on the wither, iron golems, and wither skeletons.
Fix for issue where creepers hover off the floor.

---------

Co-authored-by: pieeebot <10+pieeebot@noreply.neolegacy.dev>
Reviewed-on: https://git.neolegacy.dev/pieeebot/mc_pieLCE/pulls/5
Co-authored-by: qloak <realminecart@gmail.com>
Co-committed-by: qloak <realminecart@gmail.com>
2026-07-15 13:15:45 +01:00
pieeebot d236b70546 fix(TU20): Noteblock fall-off distance so they can be heard further away. 2026-07-15 14:57:35 +03:00
pieeebot 636bf0b692 fix(TU20): TNT minecart exploding despite 'TNT Explodes' option being turned off. 2026-07-15 00:13:08 +03:00
qloakandpieeebot 22bcbde6a3 fix(TU20): fixed name tag Y-position for tall mobs (wither, iron golem, wither skeleton) (#4)
title

Reviewed-on: https://git.neolegacy.dev/pieeebot/mc_pieLCE/pulls/4
Co-authored-by: qloak <realminecart@gmail.com>
Co-committed-by: qloak <realminecart@gmail.com>
2026-07-14 21:42:19 +01:00
pieeebot 8b20122798 fix: horse rendering (#3)
Reviewed-on: https://git.neolegacy.dev/pieeebot/mc_pieLCE/pulls/3
2026-07-14 21:05:11 +01:00
qloak 0672a56786 merge upstream 2026-07-14 20:59:48 +01:00
qloak 8e77eb70de fix horse layered texture rendering for platforms without multitexture support 2026-07-14 12:58:42 -07:00
pieeebot d0cc8ce080 fix(Windows64): windows build, uncap fps, double buffer, remove Sleep(0) #1
Reviewed-on: https://git.neolegacy.dev/pieeebot/mc_pieLCE/pulls/1
2026-07-14 18:32:04 +01:00
qloak a0e81976e6 fix: windows build, uncap fps, double buffer, remove Sleep(0) 2026-07-14 10:13:55 -07:00
qloak dd19188d93 fix: windows build, uncap fps, double buffer, remove Sleep(0), 2026-07-14 09:51:14 -07:00
str1k3r 976f55c46d chore: update postbuild paths 2026-07-13 18:24:03 -04:00
pieeebot 2d3fb87a1a chore(PSVita): restrict OldSdk to PSVita 2026-07-13 20:03:43 +03:00
pieeebot 3b78903179 fix(PSVita): fix compile errors from missing sceNp functions 2026-07-13 15:13:47 +03:00
26 changed files with 266 additions and 1230 deletions
+6
View File
@@ -2,6 +2,8 @@
/ORBIS_Release /ORBIS_Release
/PS3_Debug /PS3_Debug
/PS3_Release /PS3_Release
/PSVita_Debug
/PSVita_Release
/X360_Debug /X360_Debug
/X360_Release /X360_Release
/Release /Release
@@ -14,6 +16,8 @@
/Minecraft.Client/ORBIS_Release /Minecraft.Client/ORBIS_Release
/Minecraft.Client/PS3_Debug /Minecraft.Client/PS3_Debug
/Minecraft.Client/PS3_Release /Minecraft.Client/PS3_Release
/Minecraft.Client/PSVita_Debug
/Minecraft.Client/PSVita_Release
/Minecraft.Client/X360_Debug /Minecraft.Client/X360_Debug
/Minecraft.Client/X360_Release /Minecraft.Client/X360_Release
/Minecraft.Client/Debug /Minecraft.Client/Debug
@@ -25,6 +29,8 @@
/Minecraft.World/ORBIS_Release /Minecraft.World/ORBIS_Release
/Minecraft.World/PS3_Debug /Minecraft.World/PS3_Debug
/Minecraft.World/PS3_Release /Minecraft.World/PS3_Release
/Minecraft.World/PSVita_Debug
/Minecraft.World/PSVita_Release
/Minecraft.World/X360_Debug /Minecraft.World/X360_Debug
/Minecraft.World/X360_Release /Minecraft.World/X360_Release
/Minecraft.World/Debug /Minecraft.World/Debug
@@ -9,7 +9,9 @@ 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)
LeaderboardManager *LeaderboardManager::m_instance = NULL; LeaderboardManager *LeaderboardManager::m_instance = NULL;
#endif
void LeaderboardManager::DeleteInstance() void LeaderboardManager::DeleteInstance()
{ {
@@ -59,7 +59,7 @@ $destPath = Join-Path $destDir $newName
if (Test-Path $builtFile) { if (Test-Path $builtFile) {
New-Item -ItemType Directory -Path $destDir -Force | Out-Null New-Item -ItemType Directory -Path $destDir -Force | Out-Null
Move-Item -Path $builtFile -Destination $destPath -Force Copy-Item -Path $builtFile -Destination $destPath -Force
} }
$deleteDirs = @( $deleteDirs = @(
@@ -84,8 +84,8 @@ foreach ($dir in $deleteDirs) {
} }
$delDirs = @( $delDirs = @(
"Common\Media", "PS4_GAME\Common\Media",
"Common\Media\font" "PS4_GAME\Common\Media\font"
) )
foreach ($dir in $delDirs) { foreach ($dir in $delDirs) {
@@ -91,8 +91,8 @@ foreach ($dir in $deleteDirs) {
} }
$delDirs = @( $delDirs = @(
"Common\Media", "PS3_GAME\USRDIR\Common\Media",
"Common\Media\font" "PS3_GAME\USRDIR\Common\Media\font"
) )
foreach ($dir in $delDirs) { foreach ($dir in $delDirs) {
@@ -57,7 +57,7 @@ $destPath = Join-Path $destDir $newName
if (Test-Path $builtFile) { if (Test-Path $builtFile) {
New-Item -ItemType Directory -Path $destDir -Force | Out-Null New-Item -ItemType Directory -Path $destDir -Force | Out-Null
Move-Item -Path $builtFile -Destination $destPath -Force Copy-Item -Path $builtFile -Destination $destPath -Force
} }
$deleteDirs = @( $deleteDirs = @(
@@ -82,8 +82,8 @@ foreach ($dir in $deleteDirs) {
} }
$delDirs = @( $delDirs = @(
"Common\Media", "PSVITA_GAME\Common\Media",
"Common\Media\font" "PSVITA_GAME\Common\Media\font"
) )
foreach ($dir in $delDirs) { foreach ($dir in $delDirs) {
+1 -1
View File
@@ -6,7 +6,7 @@
// 4J - added // 4J - added
void CreeperModel::_init(float g) void CreeperModel::_init(float g)
{ {
int yo = 4; int yo = 6;
head = new ModelPart(this, 0, 0); head = new ModelPart(this, 0, 0);
head->addBox(-4, - 8, -4, 8, 8, 8, g); // Head head->addBox(-4, - 8, -4, 8, 8, 8, g); // Head
+29 -3
View File
@@ -46,9 +46,35 @@ void HorseRenderer::renderModel(shared_ptr<LivingEntity> mob, float wp, float ws
} }
else else
{ {
EntityRenderer::bindTexture(mob); shared_ptr<EntityHorse> horse = dynamic_pointer_cast<EntityHorse>(mob);
model->render(mob, wp, ws, bob, headRotMinusBodyRot, headRotx, scale, true); ResourceLocation *location = getTextureLocation(mob);
// Ensure that any extra layers of texturing are disabled after rendering this horse
// Pass 1: Bind only the coat texture (first valid layer) and render opaque
int coatTex = location->getTexture(0);
if( coatTex != -1 )
{
RenderManager.TextureBind(entityRenderDispatcher->textures->loadTexture(coatTex));
}
model->render(mob, wp, ws, bob, headRotMinusBodyRot, headRotx, scale, true);
// Pass 2: If horse has armor, find the armor texture in the layers and render with blending
int armorType = horse->getArmorType();
if( armorType > 0 )
{
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
for( int i = 1; i < location->getTextureCount(); i++ )
{
int texId = location->getTexture(i);
if( texId != -1 )
{
RenderManager.TextureBind(entityRenderDispatcher->textures->loadTexture(texId));
model->render(mob, wp, ws, bob, headRotMinusBodyRot, headRotx, scale, true);
}
}
glDisable(GL_BLEND);
}
RenderManager.TextureBind(-1); RenderManager.TextureBind(-1);
} }
} }
+1 -1
View File
@@ -491,7 +491,7 @@ void LivingEntityRenderer::renderNameTag(shared_ptr<LivingEntity> mob, const wst
float s = 1 / 60.0f * size; float s = 1 / 60.0f * size;
glPushMatrix(); glPushMatrix();
glTranslatef((float) x, (float) y + 2.3f, (float) z); glTranslatef((float) x, (float) y + mob->bbHeight + 0.5f, (float) z);
glNormal3f(0, 1, 0); glNormal3f(0, 1, 0);
glRotatef(-this->entityRenderDispatcher->playerRotY, 0, 1, 0); glRotatef(-this->entityRenderDispatcher->playerRotY, 0, 1, 0);
+6 -42
View File
@@ -1435,7 +1435,7 @@ if not exist "$(TargetDir)\savedata" mkdir "$(TargetDir)\savedata"</Command>
<ExceptionHandling>Sync</ExceptionHandling> <ExceptionHandling>Sync</ExceptionHandling>
<BufferSecurityCheck>false</BufferSecurityCheck> <BufferSecurityCheck>false</BufferSecurityCheck>
<PrecompiledHeaderOutputFile>$(OutDir)$(ProjectName).pch</PrecompiledHeaderOutputFile> <PrecompiledHeaderOutputFile>$(OutDir)$(ProjectName).pch</PrecompiledHeaderOutputFile>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PreprocessorDefinitions>_LARGE_WORLDS;_DEBUG_MENUS_ENABLED;_DEBUG;_CRT_NON_CONFORMING_SWPRINTFS;_CRT_SECURE_NO_WARNINGS;_WINDOWS64;%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>_LARGE_WORLDS;_DEBUG_MENUS_ENABLED;_DEBUG;_CRT_NON_CONFORMING_SWPRINTFS;_CRT_SECURE_NO_WARNINGS;_WINDOWS64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<CallAttributedProfiling>Disabled</CallAttributedProfiling> <CallAttributedProfiling>Disabled</CallAttributedProfiling>
<AdditionalIncludeDirectories>Windows64\Iggy\include;$(ProjectDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalIncludeDirectories>Windows64\Iggy\include;$(ProjectDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
@@ -1472,46 +1472,6 @@ if not exist "$(TargetDir)\savedata" mkdir "$(TargetDir)\savedata"</Command>
<Message>Run Windows64 postbuild script</Message> <Message>Run Windows64 postbuild script</Message>
</PostBuildEvent> </PostBuildEvent>
</ItemDefinitionGroup> </ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<Optimization>Disabled</Optimization>
<ExceptionHandling>Sync</ExceptionHandling>
<BufferSecurityCheck>false</BufferSecurityCheck>
<PrecompiledHeaderOutputFile>$(OutDir)$(ProjectName).pch</PrecompiledHeaderOutputFile>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PreprocessorDefinitions>_LARGE_WORLDS;_DEBUG_MENUS_ENABLED;_DEBUG;_CRT_NON_CONFORMING_SWPRINTFS;_CRT_SECURE_NO_WARNINGS;_WINDOWS64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<CallAttributedProfiling>Disabled</CallAttributedProfiling>
<AdditionalIncludeDirectories>Windows64\Iggy\include;$(ProjectDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
<ShowIncludes>false</ShowIncludes>
</ClCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile>
<AdditionalDependencies>d3d11.lib;..\Minecraft.World\x64_Debug\Minecraft.World.lib;%(AdditionalDependencies);XInput9_1_0.lib;..\Minecraft.Client\Windows64\Miles\Lib\mss64.lib;wsock32.lib</AdditionalDependencies>
<ShowProgress>NotSet</ShowProgress>
<SuppressStartupBanner>false</SuppressStartupBanner>
</Link>
<ImageXex>
<ConfigurationFile>$(ProjectDir)xbox\xex-dev.xml</ConfigurationFile>
</ImageXex>
<ImageXex>
<TitleID>1480659447</TitleID>
</ImageXex>
<ImageXex>
<AdditionalSections>584111F7=$(ProjectDir)xbox\GameConfig\Minecraft.spa,RO;media=$(ProjectDir)xbox\XZP\Minecraft.xzp,RO</AdditionalSections>
<Pal50Incompatible>true</Pal50Incompatible>
</ImageXex>
<Deploy>
<DeploymentType>CopyToHardDrive</DeploymentType>
<DeploymentFiles>$(RemoteRoot)=$(ImagePath);$(RemoteRoot)\res=Xbox\res;$(RemoteRoot)=Xbox\AvatarAwards;$(RemoteRoot)\Tutorial=Xbox\Tutorial\Tutorial;$(RemoteRoot)=Xbox\584111F70AAAAAAA;$(RemoteRoot)=Xbox\kinect\speech;$(RemoteRoot)=Xbox\XZP\TMSFiles.xzp</DeploymentFiles>
</Deploy>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Durango'"> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Durango'">
<ClCompile> <ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader> <PrecompiledHeader>Use</PrecompiledHeader>
@@ -17167,6 +17127,7 @@ xcopy /q /y /i /s /e $(ProjectDir)Durango\CU $(LayoutDir)Image\Loose\CU</Comman
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage_Vita|Xbox 360'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage_Vita|Xbox 360'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Xbox 360'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Xbox 360'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='CONTENTPACKAGE_SYMBOLS|Xbox 360'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='CONTENTPACKAGE_SYMBOLS|Xbox 360'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|PSVita'">true</ExcludedFromBuild>
</ClInclude> </ClInclude>
<ClInclude Include="PSVita\Network\PSVita_NPToolkit.h"> <ClInclude Include="PSVita\Network\PSVita_NPToolkit.h">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage|Durango'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage|Durango'">true</ExcludedFromBuild>
@@ -17485,6 +17446,7 @@ xcopy /q /y /i /s /e $(ProjectDir)Durango\CU $(LayoutDir)Image\Loose\CU</Comman
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Xbox 360'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Xbox 360'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='CONTENTPACKAGE_SYMBOLS|Xbox 360'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='CONTENTPACKAGE_SYMBOLS|Xbox 360'">true</ExcludedFromBuild>
</ClInclude> </ClInclude>
<ClInclude Include="PSVita\OldSdk.h" />
<ClInclude Include="PSVita\PSVitaExtras\Conf.h"> <ClInclude Include="PSVita\PSVitaExtras\Conf.h">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage|Durango'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage|Durango'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage_NO_TU|Durango'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage_NO_TU|Durango'">true</ExcludedFromBuild>
@@ -32817,6 +32779,7 @@ xcopy /q /y /i /s /e $(ProjectDir)Durango\CU $(LayoutDir)Image\Loose\CU</Comman
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage_Vita|Xbox 360'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage_Vita|Xbox 360'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Xbox 360'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Xbox 360'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='CONTENTPACKAGE_SYMBOLS|Xbox 360'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='CONTENTPACKAGE_SYMBOLS|Xbox 360'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|PSVita'">true</ExcludedFromBuild>
</ClCompile> </ClCompile>
<ClCompile Include="PSVita\Network\PSVita_NPToolkit.cpp"> <ClCompile Include="PSVita\Network\PSVita_NPToolkit.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage|Durango'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage|Durango'">true</ExcludedFromBuild>
@@ -33133,6 +33096,7 @@ xcopy /q /y /i /s /e $(ProjectDir)Durango\CU $(LayoutDir)Image\Loose\CU</Comman
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Xbox 360'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Xbox 360'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='CONTENTPACKAGE_SYMBOLS|Xbox 360'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='CONTENTPACKAGE_SYMBOLS|Xbox 360'">true</ExcludedFromBuild>
</ClCompile> </ClCompile>
<ClCompile Include="PSVita\OldSdk.cpp" />
<ClCompile Include="PSVita\PSVitaExtras\CustomMap.cpp"> <ClCompile Include="PSVita\PSVitaExtras\CustomMap.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage|Durango'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage|Durango'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage_Vita|Durango'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage_Vita|Durango'">true</ExcludedFromBuild>
@@ -34044,7 +34008,7 @@ xcopy /q /y /i /s /e $(ProjectDir)Durango\CU $(LayoutDir)Image\Loose\CU</Comman
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseForArt|Win32'">false</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseForArt|Win32'">false</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage_NO_TU|x64'">false</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage_NO_TU|x64'">false</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage_NO_TU|Win32'">false</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage_NO_TU|Win32'">false</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage_Vita|x64'">false</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage_Vita|x64'">false</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage_Vita|Win32'">false</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage_Vita|Win32'">false</ExcludedFromBuild>
@@ -3772,6 +3772,9 @@
<ClInclude Include="Common\Leaderboards\LeaderboardInterface.h"> <ClInclude Include="Common\Leaderboards\LeaderboardInterface.h">
<Filter>Common\Source Files\Leaderboards</Filter> <Filter>Common\Source Files\Leaderboards</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="PSVita\OldSdk.h">
<Filter>PSVita</Filter>
</ClInclude>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClCompile Include="stdafx.cpp"> <ClCompile Include="stdafx.cpp">
@@ -5913,6 +5916,9 @@
<ClCompile Include="Common\Leaderboards\LeaderboardInterface.cpp"> <ClCompile Include="Common\Leaderboards\LeaderboardInterface.cpp">
<Filter>Common\Source Files\Leaderboards</Filter> <Filter>Common\Source Files\Leaderboards</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="PSVita\OldSdk.cpp">
<Filter>PSVita</Filter>
</ClCompile>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Library Include="Xbox\4JLibs\libs\4J_Render_d.lib"> <Library Include="Xbox\4JLibs\libs\4J_Render_d.lib">
+1 -1
View File
@@ -1858,7 +1858,7 @@ void Minecraft::run_middle()
achievementPopup->render(); achievementPopup->render();
PIXBeginNamedEvent(0,"Sleeping"); PIXBeginNamedEvent(0,"Sleeping");
Sleep(0); // 4J - was Thread.yield() //Sleep(0); // 4J - was Thread.yield()
PIXEndNamedEvent(); PIXEndNamedEvent();
// if (Keyboard::isKeyDown(Keyboard::KEY_F7)) Display.update(); // 4J - removed condition // if (Keyboard::isKeyDown(Keyboard::KEY_F7)) Display.update(); // 4J - removed condition
+1 -1
View File
@@ -116,7 +116,7 @@ void Options::init()
bobView = true; bobView = true;
anaglyph3d = false; anaglyph3d = false;
advancedOpengl = false; advancedOpengl = false;
framerateLimit = 2; framerateLimit = 0;
fancyGraphics = true; fancyGraphics = true;
ambientOcclusion = true; ambientOcclusion = true;
renderClouds = true; renderClouds = true;
File diff suppressed because it is too large Load Diff
@@ -1,109 +1,32 @@
#pragma once #pragma once
#include "Common\Leaderboards\SonyLeaderboardManager.h"
#include "Common\Leaderboards\LeaderboardManager.h" #include "Common\Leaderboards\LeaderboardManager.h"
class OrbisLeaderboardManager : public LeaderboardManager #include <np.h>
{
protected:
enum EStatsState
{
eStatsState_Idle,
eStatsState_Getting,
eStatsState_Failed,
eStatsState_Ready,
eStatsState_Canceled,
//eStatsState_Writing,
eStatsState_Max
};
class OrbisLeaderboardManager : public SonyLeaderboardManager
{
public: public:
OrbisLeaderboardManager(); OrbisLeaderboardManager();
virtual ~OrbisLeaderboardManager();
private: protected:
unsigned short m_openSessions;
C4JThread *m_threadScoreboard; virtual HRESULT initialiseScoreUtility();
bool m_running;
int m_titleContext; virtual bool scoreUtilityAlreadyInitialised(HRESULT hr);
int32_t m_requestId;
//SceNpId m_myNpId; virtual HRESULT createTitleContext(const SceNpId &npId);
static int scoreboardThreadEntry(LPVOID lpParam); virtual HRESULT destroyTitleContext(int titleContext);
void scoreboardThreadInternal();
bool getScoreByIds(); virtual HRESULT createTransactionContext(int titleContext);
bool getScoreByRange();
bool setScore(); virtual HRESULT abortTransactionContext(int transactionContext);
queue<RegisterScore> m_views;
CRITICAL_SECTION m_csViewsLock; virtual HRESULT destroyTransactionContext(int transactionContext);
EStatsState m_eStatsState; //State of the stats read virtual HRESULT getFriendsList(sce::Toolkit::NP::Utilities::Future<sce::Toolkit::NP::FriendsList> &friendsList);
// EFilterMode m_eFilterMode;
ReadScore *m_scores; virtual char * getComment(SceNpScoreComment *comment);
unsigned int m_maxRank;
//SceNpScoreRankData *m_stats;
public:
virtual void Tick();// {}
//Open a session
virtual bool OpenSession();// { return true; }
//Close a session
virtual void CloseSession();// {}
//Delete a session
virtual void DeleteSession();// {}
//Write the given stats
//This is called synchronously and will not free any memory allocated for views when it is done
virtual bool WriteStats(unsigned int viewCount, ViewIn views);// { return false; }
virtual bool ReadStats_Friends(LeaderboardReadListener *callback, int difficulty, EStatsType type, PlayerUID myUID, unsigned int startIndex, unsigned int readCount);// { return false; }
virtual bool ReadStats_MyScore(LeaderboardReadListener *callback, int difficulty, EStatsType type, PlayerUID myUID, unsigned int readCount);// { return false; }
virtual bool ReadStats_TopRank(LeaderboardReadListener *callback, int difficulty, EStatsType type, unsigned int startIndex, unsigned int readCount);// { return false; }
//Perform a flush of the stats
virtual void FlushStats();// {}
//Cancel the current operation
virtual void CancelOperation();// {}
//Is the leaderboard manager idle.
virtual bool isIdle();// { return true; }
private:
int getBoardId(int difficulty, EStatsType);
//LeaderboardManager::ReadScore *filterJustScorers(unsigned int &num, LeaderboardManager::ReadScore *friendsData);
SceNpScorePlayerRankData *addPadding(unsigned int num, SceNpScoreRankData *rankData);
void convertToOutput(unsigned int &num, ReadScore *out, SceNpScorePlayerRankData *rankData, SceNpScoreComment *comm);
void toBinary(void *out, SceNpScoreComment *in);
void fromBinary(SceNpScoreComment **out, void *in);
void toBase32(SceNpScoreComment *out, void *in);
void fromBase32(void *out, SceNpScoreComment *in);
void toSymbols(char *);
void fromSymbols(char *);
bool test_string(string);
void initReadScoreStruct(ReadScore &out, SceNpScoreRankData &);
void fillReadScoreStruct(ReadScore &out, SceNpScoreComment &comment);
static bool SortByRank(const ReadScore &lhs, const ReadScore &rhs);
//void NotifyAsyncPlusFeature();
}; };
@@ -10,6 +10,8 @@
#include "..\..\Common\Network\Sony\SQRNetworkManager.h" #include "..\..\Common\Network\Sony\SQRNetworkManager.h"
#include "../OldSdk.h"
class SQRNetworkPlayer; class SQRNetworkPlayer;
class ISQRNetworkManagerListener; class ISQRNetworkManagerListener;
class SonyVoiceChat_Vita; class SonyVoiceChat_Vita;
+53
View File
@@ -0,0 +1,53 @@
#include "stdafx.h"
#include "OldSdk.h"
#ifdef __PSVITA__
int sceNpBasicGetFriendOnlineStatus(const SceNpId *friendId, SceNpBasicOnlineStatus *status) {
if (status) *status = SCE_NP_BASIC_ONLINE_STATUS_UNKNOWN;
return -1;
}
int sceNpBasicGetFriendContextState(const SceNpId *friendId, SceNpBasicFriendContextState *state) {
if (state) *state = SCE_NP_BASIC_FRIEND_CONTEXT_STATE_UNKNOWN;
return -1;
}
int sceNpBasicGetGamePresenceOfFriend(const SceNpId *friendId, SceNpBasicGamePresence *presence) {
if (presence) memset(presence, 0, sizeof(SceNpBasicGamePresence));
return -1;
}
int sceNpBasicGetFriendListEntryCount(SceSize *count) {
if (count) *count = 0;
return 0;
}
int sceNpBasicGetFriendListEntries(unsigned int startIndex, SceNpId *entries, SceSize numEntries, SceSize *retrieved) {
if (retrieved) *retrieved = 0;
return 0;
}
int sceNpBasicGetFriendRequestEntryCount(SceSize *count) {
if (count) *count = 0;
return 0;
}
int sceNpBasicGetFriendRequestEntries(unsigned int startIndex, SceNpId *entries, SceSize numEntries, SceSize *retrieved) {
if (retrieved) *retrieved = 0;
return 0;
}
int sceNpBasicGetRequestedFriendRequestEntryCount(SceSize *count) {
if (count) *count = 0;
return 0;
}
int sceNpBasicGetRequestedFriendRequestEntries(unsigned int startIndex, SceNpId *entries, SceSize numEntries, SceSize *retrieved) {
if (retrieved) *retrieved = 0;
return 0;
}
SceInt32 sceAppUtilAppEventParseNpBasicJoinablePresence(const SceAppUtilAppEventParam *eventParam, SceAppUtilNpBasicJoinablePresenceParam *param) {
return -1;
}
#endif
+55
View File
@@ -0,0 +1,55 @@
#pragma once
#ifdef __PSVITA__
#ifndef _OLD_SDK_H
#define _OLD_SDK_H 1
#include <np.h>
#include <np/np_basic.h>
#include <apputil.h>
#include <np_toolkit.h>
#include <np_toolkit\friends_interface.h>
typedef enum {
SCE_NP_BASIC_ONLINE_STATUS_UNKNOWN = 0,
SCE_NP_BASIC_ONLINE_STATUS_OFFLINE = 1,
SCE_NP_BASIC_ONLINE_STATUS_AFK = 2,
SCE_NP_BASIC_ONLINE_STATUS_ONLINE = 3
} SceNpBasicOnlineStatus;
typedef void(*SceNpBasicFriendOnlineStatusEventHandler)(
const SceNpId *friendId,
SceNpBasicOnlineStatus status,
void *userdata
);
typedef enum {
SCE_NP_BASIC_FRIEND_CONTEXT_STATE_UNKNOWN = 0,
SCE_NP_BASIC_FRIEND_CONTEXT_STATE_OUT_OF_CONTEXT = 1,
SCE_NP_BASIC_FRIEND_CONTEXT_STATE_IN_CONTEXT = 2
} SceNpBasicFriendContextState;
typedef void(*SceNpBasicFriendContextEventHandler)(
const SceNpId *friendId,
SceNpBasicFriendContextState state,
void *userdata
);
typedef struct SceAppUtilNpBasicJoinablePresenceParam {
SceNpCommunicationId commId;
SceNpId npId;
} SceAppUtilNpBasicJoinablePresenceParam;
int sceNpBasicGetFriendOnlineStatus(const SceNpId *friendId, SceNpBasicOnlineStatus *status);
int sceNpBasicGetFriendContextState(const SceNpId *friendId, SceNpBasicFriendContextState *state);
int sceNpBasicGetGamePresenceOfFriend(const SceNpId *friendId, SceNpBasicGamePresence *presence);
int sceNpBasicGetFriendListEntryCount(SceSize *count);
int sceNpBasicGetFriendListEntries(unsigned int startIndex, SceNpId *entries, SceSize numEntries, SceSize *retrieved);
int sceNpBasicGetFriendRequestEntryCount(SceSize *count);
int sceNpBasicGetFriendRequestEntries(unsigned int startIndex, SceNpId *entries, SceSize numEntries, SceSize *retrieved);
int sceNpBasicGetRequestedFriendRequestEntryCount(SceSize *count);
int sceNpBasicGetRequestedFriendRequestEntries(unsigned int startIndex, SceNpId *entries, SceSize numEntries, SceSize *retrieved);
SceInt32 sceAppUtilAppEventParseNpBasicJoinablePresence(const SceAppUtilAppEventParam *eventParam, SceAppUtilNpBasicJoinablePresenceParam *param);
#define SCE_APPUTIL_APPEVENT_TYPE_NP_BASIC_JOINABLE_PRESENCE (3)
#endif
#endif
+5 -1
View File
@@ -434,7 +434,11 @@ void Textures::bindTextureLayers(ResourceLocation *resource)
for( int i = 0; i < layers; i++ ) for( int i = 0; i < layers; i++ )
{ {
RenderManager.TextureBind(loadTexture(resource->getTexture(i))); int texId = resource->getTexture(i);
if( texId != -1 )
{
RenderManager.TextureBind(loadTexture(texId));
}
} }
} }
@@ -498,7 +498,7 @@ app.DebugPrintf("width: %d, height: %d\n", width, height);
DXGI_SWAP_CHAIN_DESC sd; DXGI_SWAP_CHAIN_DESC sd;
ZeroMemory( &sd, sizeof( sd ) ); ZeroMemory( &sd, sizeof( sd ) );
sd.BufferCount = 1; sd.BufferCount = 2;
sd.BufferDesc.Width = width; sd.BufferDesc.Width = width;
sd.BufferDesc.Height = height; sd.BufferDesc.Height = height;
sd.BufferDesc.Format = DXGI_FORMAT_R8G8B8A8_UNORM; sd.BufferDesc.Format = DXGI_FORMAT_R8G8B8A8_UNORM;
+2 -2
View File
@@ -77,7 +77,7 @@ void MinecartTNT::destroy(DamageSource *source)
void MinecartTNT::explode(double speedSqr) void MinecartTNT::explode(double speedSqr)
{ {
if (!level->isClientSide) if (!level->isClientSide && app.GetGameHostOption(eGameHostOption_TNT))
{ {
double speed = sqrt(speedSqr); double speed = sqrt(speedSqr);
if (speed > 5) speed = 5; if (speed > 5) speed = 5;
@@ -121,7 +121,7 @@ void MinecartTNT::primeFuse()
{ {
fuse = 80; fuse = 80;
if (!level->isClientSide) if (!level->isClientSide && app.GetGameHostOption(eGameHostOption_TNT))
{ {
level->broadcastEntityEvent(shared_from_this(), EVENT_PRIME); level->broadcastEntityEvent(shared_from_this(), EVENT_PRIME);
level->playEntitySound(shared_from_this(), eSoundType_RANDOM_FUSE, 1, 1.0f); level->playEntitySound(shared_from_this(), eSoundType_RANDOM_FUSE, 1, 1.0f);
+1 -1
View File
@@ -1124,7 +1124,7 @@
<ExceptionHandling>Sync</ExceptionHandling> <ExceptionHandling>Sync</ExceptionHandling>
<BufferSecurityCheck>false</BufferSecurityCheck> <BufferSecurityCheck>false</BufferSecurityCheck>
<PrecompiledHeaderOutputFile>$(OutDir)$(ProjectName).pch</PrecompiledHeaderOutputFile> <PrecompiledHeaderOutputFile>$(OutDir)$(ProjectName).pch</PrecompiledHeaderOutputFile>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PreprocessorDefinitions>_LARGE_WORLDS;_DEBUG_MENUS_ENABLED;_DEBUG;_LIB;_CRT_NON_CONFORMING_SWPRINTFS;_CRT_SECURE_NO_WARNINGS;_WINDOWS64;%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>_LARGE_WORLDS;_DEBUG_MENUS_ENABLED;_DEBUG;_LIB;_CRT_NON_CONFORMING_SWPRINTFS;_CRT_SECURE_NO_WARNINGS;_WINDOWS64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<CallAttributedProfiling>Disabled</CallAttributedProfiling> <CallAttributedProfiling>Disabled</CallAttributedProfiling>
<RuntimeTypeInfo>true</RuntimeTypeInfo> <RuntimeTypeInfo>true</RuntimeTypeInfo>
+1 -1
View File
@@ -79,7 +79,7 @@ bool NoteBlockTile::triggerEvent(Level *level, int x, int y, int z, int i, int n
break; break;
} }
app.DebugPrintf("NoteBlockTile::triggerEvent - playSound - pitch = %f\n",pitch); app.DebugPrintf("NoteBlockTile::triggerEvent - playSound - pitch = %f\n",pitch);
level->playSound(x + 0.5, y + 0.5, z + 0.5, iSound, 3, pitch); level->playSound(x + 0.5, y + 0.5, z + 0.5, iSound, 3, pitch, 64.0);
level->addParticle(eParticleType_note, x + 0.5, y + 1.2, z + 0.5, note / 24.0, 0, 0); level->addParticle(eParticleType_note, x + 0.5, y + 1.2, z + 0.5, note / 24.0, 0, 0);
return true; return true;
+9
View File
@@ -218,10 +218,12 @@ bool PistonBaseTile::triggerEvent(Level *level, int x, int y, int z, int param1,
if (extend && param1 == TRIGGER_CONTRACT) if (extend && param1 == TRIGGER_CONTRACT)
{ {
level->setData(x, y, z, facing | EXTENDED_BIT, UPDATE_CLIENTS); level->setData(x, y, z, facing | EXTENDED_BIT, UPDATE_CLIENTS);
ignoreUpdate(false);
return false; return false;
} }
else if (!extend && param1 == TRIGGER_EXTEND) else if (!extend && param1 == TRIGGER_EXTEND)
{ {
ignoreUpdate(false);
return false; return false;
} }
} }
@@ -247,6 +249,7 @@ bool PistonBaseTile::triggerEvent(Level *level, int x, int y, int z, int param1,
} }
else else
{ {
ignoreUpdate(false);
return false; return false;
} }
PIXEndNamedEvent(); PIXEndNamedEvent();
@@ -340,6 +343,12 @@ bool PistonBaseTile::triggerEvent(Level *level, int x, int y, int z, int param1,
ignoreUpdate(false); ignoreUpdate(false);
level->updateNeighborsAt(x, y, z, id);
int stepX = x + Facing::STEP_X[facing];
int stepY = y + Facing::STEP_Y[facing];
int stepZ = z + Facing::STEP_Z[facing];
level->updateNeighborsAt(stepX, stepY, stepZ, id);
return true; return true;
} }
+4 -1
View File
@@ -189,7 +189,10 @@ void StemTile::spawnResources(Level *level, int x, int y, int z, int data, float
if (fruit == Tile::melon) seed = Item::seeds_melon; if (fruit == Tile::melon) seed = Item::seeds_melon;
for (int i = 0; i < 3; i++) for (int i = 0; i < 3; i++)
{ {
popResource(level, x, y, z, shared_ptr<ItemInstance>(new ItemInstance(seed))); if (level->random->nextInt(15) <= data)
{
popResource(level, x, y, z, shared_ptr<ItemInstance>(new ItemInstance(seed)));
}
} }
} }
+12 -12
View File
@@ -1,19 +1,19 @@
# mc-pie-LCE # Project Cafeberry
This project is a modified version of the December 17th 2014 Codebase, aimed at backporting the newer title updates back to the codebase, with cross-play across all platfoms (including PC). Cafeberry is a project aiming to update the December 17th 2014 codebase (mostly) via decompilation, with a focus on consoles.
[![Discord](https://img.shields.io/badge/Discord-Join%20Server-5865F2?logo=discord&logoColor=white)](https://discord.gg/aPAF5WFaW)
# Status # Status
| Platform | Development Status | Known Issues | | Platform | Development Status | Known Issues |
| :------- | :-------------------- | :------------------------------------------------------------------------ | | :------------- | :-------------------- | :------------------------------------------------------------------------ |
| PS3 | Active | All TU19 blocks display as stone blocks when placed (missing SPU code). | | PS3 | Active | SPU variants for TU19 blocks are missing, needs to be further optimized. |
| Xbox 360 | Likely cancelled | Missing XUI files for GUIs added in TU25+. See notes. | | Xbox 360 | On hold | Havent tested, should work? |
| PS4 | Active | Only Buildable on Windows 7 With 1.70 SDK. See Notes | | PS4 | Active | Only Buildable on Windows 7 With 1.70 SDK. See Notes |
| Xbox One | On hold | Needs to be re-coded to run on Developer Mode UWP instead. | | Xbox One | On hold | Needs to be re-coded to run on Developer Mode UWP instead. |
| PS Vita | On hold | Fails during compilation due to missing network library dependencies. | | PS Vita | On hold | Fails during compilation due to missing network library dependencies. |
| Wii U & Switch | Work in progress | UI System (ImXui) is still in progress, need to decompile the rest. |
**Notes:** **Notes:**
- **Xbox 360:** TU25 and newer TUs include new GUIs, but we lack the XUI files for them, solutions:
1. Recreate the GUIs from scratch using the XUI designer (insanely difficult to get accurate to actual LCE)
- **PS4:** Can't be built on Windows 10+ because the 1.70 SDK only supports Windows 7, solutions: - **PS4:** Can't be built on Windows 10+ because the 1.70 SDK only supports Windows 7, solutions:
1. Attempt to add support for 4.50 SDK (difficult or unlikely to work) 1. Attempt to add support for 4.50 SDK (difficult or unlikely to work)
2. Getting the 1.70 SDK on Windows 10+ (annoying to do) 2. Getting the 1.70 SDK on Windows 10+ (annoying to do)