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
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
qloak 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
68 changed files with 564 additions and 1777 deletions

No files matched your search

+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,9 @@ const wstring LeaderboardManager::filterNames[eNumFilterModes] =
L"Friends", L"MyScore", L"TopRank" L"Friends", L"MyScore", L"TopRank"
}; };
#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
void LeaderboardManager::DeleteInstance() void LeaderboardManager::DeleteInstance()
{ {
@@ -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" }
) )
@@ -402,7 +402,7 @@ wstring CScene_TutorialPopup::_SetIcon(int icon, int iAuxVal, bool isFoil, LPCWS
} }
else if(temp.find(L"{*StoneIcon*}")!=wstring::npos) else if(temp.find(L"{*StoneIcon*}")!=wstring::npos)
{ {
m_pCraftingPic->SetIcon(m_iPad, Tile::stone_Id,0,1,10,31,false); m_pCraftingPic->SetIcon(m_iPad, Tile::rock_Id,0,1,10,31,false);
} }
else else
{ {
Binary file not shown.

Before

Width:  |  Height:  |  Size: 139 KiB

After

Width:  |  Height:  |  Size: 153 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

+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
@@ -112,22 +112,22 @@ DurangoStatsDebugger *DurangoStatsDebugger::Initialize()
sp->addArgs(1, Tile::dirt_Id, 0); // works sp->addArgs(1, Tile::dirt_Id, 0); // works
sp->addArgs(2, Tile::dirt_Id, 0); // works sp->addArgs(2, Tile::dirt_Id, 0); // works
sp->addArgs(DsItemEvent::eAcquisitionMethod_Pickedup, Tile::wool_Id, 0); // fixed (+ach 'Rainbow Collection') sp->addArgs(DsItemEvent::eAcquisitionMethod_Pickedup, Tile::cloth_Id, 0); // fixed (+ach 'Rainbow Collection')
sp->addArgs(DsItemEvent::eAcquisitionMethod_Pickedup, Tile::wool_Id, 1); sp->addArgs(DsItemEvent::eAcquisitionMethod_Pickedup, Tile::cloth_Id, 1);
sp->addArgs(DsItemEvent::eAcquisitionMethod_Pickedup, Tile::wool_Id, 2); sp->addArgs(DsItemEvent::eAcquisitionMethod_Pickedup, Tile::cloth_Id, 2);
sp->addArgs(DsItemEvent::eAcquisitionMethod_Pickedup, Tile::wool_Id, 3); sp->addArgs(DsItemEvent::eAcquisitionMethod_Pickedup, Tile::cloth_Id, 3);
sp->addArgs(DsItemEvent::eAcquisitionMethod_Pickedup, Tile::wool_Id, 4); sp->addArgs(DsItemEvent::eAcquisitionMethod_Pickedup, Tile::cloth_Id, 4);
sp->addArgs(DsItemEvent::eAcquisitionMethod_Pickedup, Tile::wool_Id, 5); sp->addArgs(DsItemEvent::eAcquisitionMethod_Pickedup, Tile::cloth_Id, 5);
sp->addArgs(DsItemEvent::eAcquisitionMethod_Pickedup, Tile::wool_Id, 6); sp->addArgs(DsItemEvent::eAcquisitionMethod_Pickedup, Tile::cloth_Id, 6);
sp->addArgs(DsItemEvent::eAcquisitionMethod_Pickedup, Tile::wool_Id, 7); sp->addArgs(DsItemEvent::eAcquisitionMethod_Pickedup, Tile::cloth_Id, 7);
sp->addArgs(DsItemEvent::eAcquisitionMethod_Pickedup, Tile::wool_Id, 8); sp->addArgs(DsItemEvent::eAcquisitionMethod_Pickedup, Tile::cloth_Id, 8);
sp->addArgs(DsItemEvent::eAcquisitionMethod_Pickedup, Tile::wool_Id, 9); sp->addArgs(DsItemEvent::eAcquisitionMethod_Pickedup, Tile::cloth_Id, 9);
sp->addArgs(DsItemEvent::eAcquisitionMethod_Pickedup, Tile::wool_Id, 10); sp->addArgs(DsItemEvent::eAcquisitionMethod_Pickedup, Tile::cloth_Id, 10);
sp->addArgs(DsItemEvent::eAcquisitionMethod_Pickedup, Tile::wool_Id, 11); sp->addArgs(DsItemEvent::eAcquisitionMethod_Pickedup, Tile::cloth_Id, 11);
sp->addArgs(DsItemEvent::eAcquisitionMethod_Pickedup, Tile::wool_Id, 12); sp->addArgs(DsItemEvent::eAcquisitionMethod_Pickedup, Tile::cloth_Id, 12);
sp->addArgs(DsItemEvent::eAcquisitionMethod_Pickedup, Tile::wool_Id, 13); sp->addArgs(DsItemEvent::eAcquisitionMethod_Pickedup, Tile::cloth_Id, 13);
sp->addArgs(DsItemEvent::eAcquisitionMethod_Pickedup, Tile::wool_Id, 14); sp->addArgs(DsItemEvent::eAcquisitionMethod_Pickedup, Tile::cloth_Id, 14);
sp->addArgs(DsItemEvent::eAcquisitionMethod_Pickedup, Tile::wool_Id, 15); sp->addArgs(DsItemEvent::eAcquisitionMethod_Pickedup, Tile::cloth_Id, 15);
out->m_stats.push_back(sp); out->m_stats.push_back(sp);
@@ -166,20 +166,20 @@ DurangoStatsDebugger *DurangoStatsDebugger::Initialize()
sp = new StatParam(L"BlockBroken.BlockId.*"); sp = new StatParam(L"BlockBroken.BlockId.*");
sp->addArgs( Tile::dirt_Id ); sp->addArgs( Tile::dirt_Id );
sp->addArgs( Tile::stone_Id ); sp->addArgs( Tile::rock_Id );
sp->addArgs( Tile::emeraldOre_Id ); sp->addArgs( Tile::emeraldOre_Id );
out->m_stats.push_back(sp); out->m_stats.push_back(sp);
sp = new StatParam(L"BlockBroken.BlockId.*.BlockAux.*"); sp = new StatParam(L"BlockBroken.BlockId.*.BlockAux.*");
sp->addArgs( Tile::dirt_Id, 0 ); sp->addArgs( Tile::dirt_Id, 0 );
sp->addArgs( Tile::stone_Id, 0 ); sp->addArgs( Tile::rock_Id, 0 );
out->m_stats.push_back(sp); out->m_stats.push_back(sp);
sp = new StatParam(L"BlockBroken.DifficultyLevelId.*.BlockId.*"); sp = new StatParam(L"BlockBroken.DifficultyLevelId.*.BlockId.*");
sp->addArgs( 1, Tile::dirt_Id ); sp->addArgs( 1, Tile::dirt_Id );
sp->addArgs( 2, Tile::dirt_Id ); sp->addArgs( 2, Tile::dirt_Id );
sp->addArgs( 1, Tile::stone_Id ); sp->addArgs( 1, Tile::rock_Id );
sp->addArgs( 2, Tile::stone_Id ); sp->addArgs( 2, Tile::rock_Id );
out->m_stats.push_back(sp); out->m_stats.push_back(sp);
sp = new StatParam(L"BlockBroken"); sp = new StatParam(L"BlockBroken");
@@ -188,7 +188,7 @@ DurangoStatsDebugger *DurangoStatsDebugger::Initialize()
sp = new StatParam(L"BlockPlaced.BlockId.*"); sp = new StatParam(L"BlockPlaced.BlockId.*");
sp->addArgs( Tile::dirt_Id ); sp->addArgs( Tile::dirt_Id );
sp->addArgs( Tile::cobblestone_Id ); sp->addArgs( Tile::stoneBrick_Id );
sp->addArgs( Tile::sand_Id ); // works sp->addArgs( Tile::sand_Id ); // works
sp->addArgs( Tile::sign_Id ); // fixed sp->addArgs( Tile::sign_Id ); // fixed
sp->addArgs( Tile::wallSign_Id ); // fixed sp->addArgs( Tile::wallSign_Id ); // fixed
+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);
+49 -55
View File
@@ -630,7 +630,6 @@
<ImageXexOutput>$(OutDir)$(ProjectName)_D.xex</ImageXexOutput> <ImageXexOutput>$(OutDir)$(ProjectName)_D.xex</ImageXexOutput>
<IncludePath>$(ProjectDir)\..\Minecraft.Client\PS3\Assert;$(SCE_PS3_ROOT)\target\ppu\include;$(SCE_PS3_ROOT)\target\common\include;$(SCE_PS3_ROOT)\host-win32\sn\ppu\include;$(ProjectDir)\..\Minecraft.Client\PS3\PS3Extras;$(ProjectDir)\..\Minecraft.Client\PS3\PS3Extras\boost_1_53_0\boost\tr1\tr1;$(ProjectDir)\..\Minecraft.Client\PS3\PS3Extras\boost_1_53_0;$(ProjectDir)..\Minecraft.World\x64headers</IncludePath> <IncludePath>$(ProjectDir)\..\Minecraft.Client\PS3\Assert;$(SCE_PS3_ROOT)\target\ppu\include;$(SCE_PS3_ROOT)\target\common\include;$(SCE_PS3_ROOT)\host-win32\sn\ppu\include;$(ProjectDir)\..\Minecraft.Client\PS3\PS3Extras;$(ProjectDir)\..\Minecraft.Client\PS3\PS3Extras\boost_1_53_0\boost\tr1\tr1;$(ProjectDir)\..\Minecraft.Client\PS3\PS3Extras\boost_1_53_0;$(ProjectDir)..\Minecraft.World\x64headers</IncludePath>
<PreBuildEventUseInBuild>false</PreBuildEventUseInBuild> <PreBuildEventUseInBuild>false</PreBuildEventUseInBuild>
<PostBuildEventUseInBuild>true</PostBuildEventUseInBuild>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|PSVita'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|PSVita'">
<LinkIncremental>true</LinkIncremental> <LinkIncremental>true</LinkIncremental>
@@ -642,7 +641,6 @@
<LinkIncremental>true</LinkIncremental> <LinkIncremental>true</LinkIncremental>
<ImageXexOutput>$(OutDir)$(ProjectName)_D.xex</ImageXexOutput> <ImageXexOutput>$(OutDir)$(ProjectName)_D.xex</ImageXexOutput>
<IncludePath>$(ProjectDir)\..\Minecraft.Client\PS3\Assert;$(SCE_PS3_ROOT)\target\ppu\include;$(SCE_PS3_ROOT)\target\common\include;$(SCE_PS3_ROOT)\host-win32\sn\ppu\include;$(ProjectDir)\..\Minecraft.Client\PS3\PS3Extras;$(ProjectDir)\..\Minecraft.Client\PS3\PS3Extras\boost_1_53_0\boost\tr1\tr1;$(ProjectDir)\..\Minecraft.Client\PS3\PS3Extras\boost_1_53_0;$(ProjectDir)..\Minecraft.World\x64headers</IncludePath> <IncludePath>$(ProjectDir)\..\Minecraft.Client\PS3\Assert;$(SCE_PS3_ROOT)\target\ppu\include;$(SCE_PS3_ROOT)\target\common\include;$(SCE_PS3_ROOT)\host-win32\sn\ppu\include;$(ProjectDir)\..\Minecraft.Client\PS3\PS3Extras;$(ProjectDir)\..\Minecraft.Client\PS3\PS3Extras\boost_1_53_0\boost\tr1\tr1;$(ProjectDir)\..\Minecraft.Client\PS3\PS3Extras\boost_1_53_0;$(ProjectDir)..\Minecraft.World\x64headers</IncludePath>
<PostBuildEventUseInBuild>true</PostBuildEventUseInBuild>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ContentPackage_Vita|PS3'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ContentPackage_Vita|PS3'">
<LinkIncremental>true</LinkIncremental> <LinkIncremental>true</LinkIncremental>
@@ -1437,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>
@@ -1474,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>
@@ -12956,7 +12914,6 @@ xcopy /q /y /i /s /e $(ProjectDir)Durango\CU $(LayoutDir)Image\Loose\CU</Comman
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PSVita'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PSVita'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='CONTENTPACKAGE_SYMBOLS|PSVita'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='CONTENTPACKAGE_SYMBOLS|PSVita'">true</ExcludedFromBuild>
</ClInclude> </ClInclude>
<ClInclude Include="PS3\SPU_Tasks\ChunkUpdate\BaseRailTile_SPU.h" />
<ClInclude Include="PS3\SPU_Tasks\ChunkUpdate\BedTile_SPU.h"> <ClInclude Include="PS3\SPU_Tasks\ChunkUpdate\BedTile_SPU.h">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage|Win32'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage|Win32'">true</ExcludedFromBuild>
@@ -13497,7 +13454,6 @@ xcopy /q /y /i /s /e $(ProjectDir)Durango\CU $(LayoutDir)Image\Loose\CU</Comman
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PSVita'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PSVita'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='CONTENTPACKAGE_SYMBOLS|PSVita'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='CONTENTPACKAGE_SYMBOLS|PSVita'">true</ExcludedFromBuild>
</ClInclude> </ClInclude>
<ClInclude Include="PS3\SPU_Tasks\ChunkUpdate\DaylightDetectorTile_SPU.h" />
<ClInclude Include="PS3\SPU_Tasks\ChunkUpdate\DetectorRailTile_SPU.h"> <ClInclude Include="PS3\SPU_Tasks\ChunkUpdate\DetectorRailTile_SPU.h">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage|Win32'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage|Win32'">true</ExcludedFromBuild>
@@ -13813,7 +13769,6 @@ xcopy /q /y /i /s /e $(ProjectDir)Durango\CU $(LayoutDir)Image\Loose\CU</Comman
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PSVita'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PSVita'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='CONTENTPACKAGE_SYMBOLS|PSVita'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='CONTENTPACKAGE_SYMBOLS|PSVita'">true</ExcludedFromBuild>
</ClInclude> </ClInclude>
<ClInclude Include="PS3\SPU_Tasks\ChunkUpdate\DropperTile_SPU.h" />
<ClInclude Include="PS3\SPU_Tasks\ChunkUpdate\EggTile_SPU.h"> <ClInclude Include="PS3\SPU_Tasks\ChunkUpdate\EggTile_SPU.h">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage|Win32'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage|Win32'">true</ExcludedFromBuild>
@@ -14399,7 +14354,6 @@ xcopy /q /y /i /s /e $(ProjectDir)Durango\CU $(LayoutDir)Image\Loose\CU</Comman
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PSVita'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PSVita'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='CONTENTPACKAGE_SYMBOLS|PSVita'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='CONTENTPACKAGE_SYMBOLS|PSVita'">true</ExcludedFromBuild>
</ClInclude> </ClInclude>
<ClInclude Include="PS3\SPU_Tasks\ChunkUpdate\HayBlockTile_SPU.h" />
<ClInclude Include="PS3\SPU_Tasks\ChunkUpdate\HugeMushroomTile_SPU.h"> <ClInclude Include="PS3\SPU_Tasks\ChunkUpdate\HugeMushroomTile_SPU.h">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage|Win32'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage|Win32'">true</ExcludedFromBuild>
@@ -15120,8 +15074,7 @@ xcopy /q /y /i /s /e $(ProjectDir)Durango\CU $(LayoutDir)Image\Loose\CU</Comman
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PSVita'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PSVita'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='CONTENTPACKAGE_SYMBOLS|PSVita'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='CONTENTPACKAGE_SYMBOLS|PSVita'">true</ExcludedFromBuild>
</ClInclude> </ClInclude>
<ClInclude Include="PS3\SPU_Tasks\ChunkUpdate\PoweredRailTile_SPU.h" /> <ClInclude Include="PS3\SPU_Tasks\ChunkUpdate\PressurePlateTile_SPU.h">
<ClInclude Include="PS3\SPU_Tasks\ChunkUpdate\BasePressurePlateTile_SPU.h">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage|Win32'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='CONTENTPACKAGE_SYMBOLS|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='CONTENTPACKAGE_SYMBOLS|x64'">true</ExcludedFromBuild>
@@ -15166,7 +15119,6 @@ xcopy /q /y /i /s /e $(ProjectDir)Durango\CU $(LayoutDir)Image\Loose\CU</Comman
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PSVita'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PSVita'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='CONTENTPACKAGE_SYMBOLS|PSVita'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='CONTENTPACKAGE_SYMBOLS|PSVita'">true</ExcludedFromBuild>
</ClInclude> </ClInclude>
<ClInclude Include="PS3\SPU_Tasks\ChunkUpdate\PressurePlateTile_SPU.h" />
<ClInclude Include="PS3\SPU_Tasks\ChunkUpdate\PumpkinTile_SPU.h"> <ClInclude Include="PS3\SPU_Tasks\ChunkUpdate\PumpkinTile_SPU.h">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage|Win32'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage|Win32'">true</ExcludedFromBuild>
@@ -15212,7 +15164,51 @@ xcopy /q /y /i /s /e $(ProjectDir)Durango\CU $(LayoutDir)Image\Loose\CU</Comman
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PSVita'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PSVita'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='CONTENTPACKAGE_SYMBOLS|PSVita'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='CONTENTPACKAGE_SYMBOLS|PSVita'">true</ExcludedFromBuild>
</ClInclude> </ClInclude>
<ClInclude Include="PS3\SPU_Tasks\ChunkUpdate\RailTile_SPU.h" /> <ClInclude Include="PS3\SPU_Tasks\ChunkUpdate\RailTile_SPU.h">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='CONTENTPACKAGE_SYMBOLS|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='CONTENTPACKAGE_SYMBOLS|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseForArt|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseForArt|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage_NO_TU|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage_NO_TU|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage_Vita|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage_Vita|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage|Xbox 360'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='CONTENTPACKAGE_SYMBOLS|Xbox 360'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseForArt|Xbox 360'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage_NO_TU|Xbox 360'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Xbox 360'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Xbox 360'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage_Vita|Xbox 360'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage|ORBIS'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='CONTENTPACKAGE_SYMBOLS|ORBIS'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseForArt|ORBIS'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage_NO_TU|ORBIS'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage_Vita|ORBIS'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage|Durango'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='CONTENTPACKAGE_SYMBOLS|Durango'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseForArt|Durango'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage_NO_TU|Durango'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugContentPackage|Durango'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Durango'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Durango'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage_Vita|Durango'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage|PSVita'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage_NO_TU|PSVita'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseForArt|PSVita'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|PSVita'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage_Vita|PSVita'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PSVita'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='CONTENTPACKAGE_SYMBOLS|PSVita'">true</ExcludedFromBuild>
</ClInclude>
<ClInclude Include="PS3\SPU_Tasks\ChunkUpdate\RecordPlayerTile_SPU.h"> <ClInclude Include="PS3\SPU_Tasks\ChunkUpdate\RecordPlayerTile_SPU.h">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage|Win32'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage|Win32'">true</ExcludedFromBuild>
@@ -15393,7 +15389,6 @@ xcopy /q /y /i /s /e $(ProjectDir)Durango\CU $(LayoutDir)Image\Loose\CU</Comman
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PSVita'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PSVita'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='CONTENTPACKAGE_SYMBOLS|PSVita'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='CONTENTPACKAGE_SYMBOLS|PSVita'">true</ExcludedFromBuild>
</ClInclude> </ClInclude>
<ClInclude Include="PS3\SPU_Tasks\ChunkUpdate\RotatedPillarTile_SPU.h" />
<ClInclude Include="PS3\SPU_Tasks\ChunkUpdate\SandStoneTile_SPU.h"> <ClInclude Include="PS3\SPU_Tasks\ChunkUpdate\SandStoneTile_SPU.h">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage|Win32'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage|Win32'">true</ExcludedFromBuild>
@@ -16474,7 +16469,6 @@ xcopy /q /y /i /s /e $(ProjectDir)Durango\CU $(LayoutDir)Image\Loose\CU</Comman
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PSVita'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PSVita'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='CONTENTPACKAGE_SYMBOLS|PSVita'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='CONTENTPACKAGE_SYMBOLS|PSVita'">true</ExcludedFromBuild>
</ClInclude> </ClInclude>
<ClInclude Include="PS3\SPU_Tasks\ChunkUpdate\WeightedPressurePlateTile_SPU.h" />
<ClInclude Include="PS3\SPU_Tasks\ChunkUpdate\WoodTile_SPU.h"> <ClInclude Include="PS3\SPU_Tasks\ChunkUpdate\WoodTile_SPU.h">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage|Win32'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage|Win32'">true</ExcludedFromBuild>
@@ -32343,7 +32337,7 @@ xcopy /q /y /i /s /e $(ProjectDir)Durango\CU $(LayoutDir)Image\Loose\CU</Comman
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PSVita'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|PSVita'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='CONTENTPACKAGE_SYMBOLS|PSVita'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='CONTENTPACKAGE_SYMBOLS|PSVita'">true</ExcludedFromBuild>
</ClCompile> </ClCompile>
<ClCompile Include="PS3\SPU_Tasks\ChunkUpdate\BasePressurePlateTile_SPU.cpp"> <ClCompile Include="PS3\SPU_Tasks\ChunkUpdate\PressurePlateTile_SPU.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage|Win32'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='CONTENTPACKAGE_SYMBOLS|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='CONTENTPACKAGE_SYMBOLS|x64'">true</ExcludedFromBuild>
@@ -34014,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>
@@ -2665,9 +2665,15 @@
<ClInclude Include="PS3\SPU_Tasks\ChunkUpdate\PortalTile_SPU.h"> <ClInclude Include="PS3\SPU_Tasks\ChunkUpdate\PortalTile_SPU.h">
<Filter>PS3\ChunkRebuild_SPU</Filter> <Filter>PS3\ChunkRebuild_SPU</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="PS3\SPU_Tasks\ChunkUpdate\PressurePlateTile_SPU.h">
<Filter>PS3\ChunkRebuild_SPU</Filter>
</ClInclude>
<ClInclude Include="PS3\SPU_Tasks\ChunkUpdate\PumpkinTile_SPU.h"> <ClInclude Include="PS3\SPU_Tasks\ChunkUpdate\PumpkinTile_SPU.h">
<Filter>PS3\ChunkRebuild_SPU</Filter> <Filter>PS3\ChunkRebuild_SPU</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="PS3\SPU_Tasks\ChunkUpdate\RailTile_SPU.h">
<Filter>PS3\ChunkRebuild_SPU</Filter>
</ClInclude>
<ClInclude Include="PS3\SPU_Tasks\ChunkUpdate\RecordPlayerTile_SPU.h"> <ClInclude Include="PS3\SPU_Tasks\ChunkUpdate\RecordPlayerTile_SPU.h">
<Filter>PS3\ChunkRebuild_SPU</Filter> <Filter>PS3\ChunkRebuild_SPU</Filter>
</ClInclude> </ClInclude>
@@ -3769,36 +3775,6 @@
<ClInclude Include="PSVita\OldSdk.h"> <ClInclude Include="PSVita\OldSdk.h">
<Filter>PSVita</Filter> <Filter>PSVita</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="PS3\SPU_Tasks\ChunkUpdate\BaseRailTile_SPU.h">
<Filter>PS3\ChunkRebuild_SPU</Filter>
</ClInclude>
<ClInclude Include="PS3\SPU_Tasks\ChunkUpdate\RailTile_SPU.h">
<Filter>PS3\ChunkRebuild_SPU</Filter>
</ClInclude>
<ClInclude Include="PS3\SPU_Tasks\ChunkUpdate\PoweredRailTile_SPU.h">
<Filter>PS3\ChunkRebuild_SPU</Filter>
</ClInclude>
<ClInclude Include="PS3\SPU_Tasks\ChunkUpdate\DropperTile_SPU.h">
<Filter>PS3\ChunkRebuild_SPU</Filter>
</ClInclude>
<ClInclude Include="PS3\SPU_Tasks\ChunkUpdate\HayBlockTile_SPU.h">
<Filter>PS3\ChunkRebuild_SPU</Filter>
</ClInclude>
<ClInclude Include="PS3\SPU_Tasks\ChunkUpdate\RotatedPillarTile_SPU.h">
<Filter>PS3\ChunkRebuild_SPU</Filter>
</ClInclude>
<ClInclude Include="PS3\SPU_Tasks\ChunkUpdate\BasePressurePlateTile_SPU.h">
<Filter>PS3\ChunkRebuild_SPU</Filter>
</ClInclude>
<ClInclude Include="PS3\SPU_Tasks\ChunkUpdate\PressurePlateTile_SPU.h">
<Filter>PS3\ChunkRebuild_SPU</Filter>
</ClInclude>
<ClInclude Include="PS3\SPU_Tasks\ChunkUpdate\WeightedPressurePlateTile_SPU.h">
<Filter>PS3\ChunkRebuild_SPU</Filter>
</ClInclude>
<ClInclude Include="PS3\SPU_Tasks\ChunkUpdate\DaylightDetectorTile_SPU.h">
<Filter>PS3\ChunkRebuild_SPU</Filter>
</ClInclude>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClCompile Include="stdafx.cpp"> <ClCompile Include="stdafx.cpp">
@@ -5025,6 +5001,9 @@
<ClCompile Include="PS3\SPU_Tasks\ChunkUpdate\LiquidTile_SPU.cpp"> <ClCompile Include="PS3\SPU_Tasks\ChunkUpdate\LiquidTile_SPU.cpp">
<Filter>PS3\ChunkRebuild_SPU</Filter> <Filter>PS3\ChunkRebuild_SPU</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="PS3\SPU_Tasks\ChunkUpdate\PressurePlateTile_SPU.cpp">
<Filter>PS3\ChunkRebuild_SPU</Filter>
</ClCompile>
<ClCompile Include="PS3\SPU_Tasks\ChunkUpdate\StairTile_SPU.cpp"> <ClCompile Include="PS3\SPU_Tasks\ChunkUpdate\StairTile_SPU.cpp">
<Filter>PS3\ChunkRebuild_SPU</Filter> <Filter>PS3\ChunkRebuild_SPU</Filter>
</ClCompile> </ClCompile>
@@ -5940,9 +5919,6 @@
<ClCompile Include="PSVita\OldSdk.cpp"> <ClCompile Include="PSVita\OldSdk.cpp">
<Filter>PSVita</Filter> <Filter>PSVita</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="PS3\SPU_Tasks\ChunkUpdate\BasePressurePlateTile_SPU.cpp">
<Filter>PS3\ChunkRebuild_SPU</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
+5 -1
View File
@@ -116,7 +116,11 @@ void Options::init()
bobView = true; bobView = true;
anaglyph3d = false; anaglyph3d = false;
advancedOpengl = false; advancedOpengl = false;
framerateLimit = 2; #ifdef _WINDOWS64
framerateLimit = 0;
#else
framerateLimit = 2;
#endif
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();
}; };
@@ -242,10 +242,11 @@ C4JSpursJob_ChunkUpdate::C4JSpursJob_ChunkUpdate(ChunkRebuildData* pDataIn, Chun
extern const CellSpursJobHeader JOBHEADER_SYMBOL(ChunkUpdate); extern const CellSpursJobHeader JOBHEADER_SYMBOL(ChunkUpdate);
//E create job //E create job
m_job256.header = JOBHEADER_SYMBOL(ChunkUpdate); m_job256.header = JOBHEADER_SYMBOL(ChunkUpdate);
m_job256.header.sizeStack = (58*1024)>>4; m_job256.header.sizeStack = (60*1024)>>4;
m_job256.workArea.userData[0] = (uintptr_t)pDataIn; m_job256.workArea.userData[0] = (uintptr_t)pDataIn;
m_job256.workArea.userData[1] = (uintptr_t)pDataOut; m_job256.workArea.userData[1] = (uintptr_t)pDataOut;
assert(cellSpursJobQueueCheckJob(&m_job256, 256, 256) == CELL_OK); assert(cellSpursJobQueueCheckJob(&m_job256, 256, 256) == CELL_OK);
} }
C4JSpursJob_LevelRenderer_cull::C4JSpursJob_LevelRenderer_cull(LevelRenderer_cull_DataIn* pDataIn) C4JSpursJob_LevelRenderer_cull::C4JSpursJob_LevelRenderer_cull(LevelRenderer_cull_DataIn* pDataIn)
@@ -1,21 +0,0 @@
#pragma once
#include "BaseRailTile_SPU.h"
class ActivatorRailTile_SPU : public BaseRailTile_SPU
{
public:
ActivatorRailTile_SPU(int id) : BaseRailTile_SPU(id) {}
Icon_SPU *getTexture(int face, int data)
{
if ((data & RAIL_DATA_BIT) == 0)
{
return &ms_pTileData->activatorRailTile_icon;
}
else
{
return &ms_pTileData->activatorRailTile_iconPowered;
}
};
};
@@ -1,41 +0,0 @@
#include "stdafx.h"
#include "BasePressurePlateTile_SPU.h"
#include "ChunkRebuildData.h"
bool BasePressurePlateTile_SPU::isSolidRender(bool isServerLevel)
{
return false;
}
bool BasePressurePlateTile_SPU::blocksLight()
{
return false;
}
void BasePressurePlateTile_SPU::updateShape(ChunkRebuildData *level, int x, int y, int z, int forceData, TileEntity* forceEntity) // 4J added forceData, forceEntity param
{
int data = level->getData(x, y, z);
bool pressed = getSignalForData(data) > 0; // 0 is Redstone::SIGNAL_NONE
float o = 1 / 16.0f;
if (pressed)
{
setShape(o, 0, o, 1 - o, 0.5f / 16.0f, 1 - o);
}
else
{
setShape(o, 0, o, 1 - o, 1 / 16.0f, 1 - o);
}
}
void BasePressurePlateTile_SPU::updateDefaultShape()
{
float x = 8 / 16.0f;
float y = 2 / 16.0f;
float z = 8 / 16.0f;
setShape(0.5f - x, 0.5f - y, 0.5f - z, 0.5f + x, 0.5f + y, 0.5f + z);
}
@@ -1,16 +0,0 @@
#pragma once
#include "Tile_SPU.h"
class BasePressurePlateTile_SPU : public Tile_SPU
{
public:
BasePressurePlateTile_SPU(int id) : Tile_SPU(id) {}
virtual bool isSolidRender(bool isServerLevel = false);
virtual bool blocksLight();
virtual void updateShape(ChunkRebuildData *level, int x, int y, int z, int forceData = -1, TileEntity* forceEntity = NULL); // 4J added forceData, forceEntity param
virtual void updateDefaultShape();
protected:
virtual int getSignalForData(int data) = 0;
};
@@ -1,31 +0,0 @@
#pragma once
#include "Tile_SPU.h"
class BaseRailTile_SPU : public Tile_SPU
{
public:
static const int RAIL_DATA_BIT = 8;
static const int RAIL_DIRECTION_MASK = 7;
BaseRailTile_SPU(int id) : Tile_SPU(id) {}
virtual bool isSolidRender(bool isServerLevel = false) { return false; }
virtual void updateShape(ChunkRebuildData *level, int x, int y, int z, int forceData = -1, TileEntity* forceEntity = NULL) // 4J added forceData, forceEntity param
{
int data = level->getData(x, y, z);
if (data >= 2 && data <= 5)
{
setShape(0, 0, 0, 1, 2 / 16.0f + 0.5f, 1);
} else
{
setShape(0, 0, 0, 1, 2 / 16.0f, 1);
}
}
virtual int getRenderShape() { return Tile_SPU::SHAPE_RAIL; }
bool isUsesDataBit()
{
if(id == goldenRail_Id || id == detectorRail_Id || id == activatorRail_Id)
return true;
return false;
}
};
@@ -13,7 +13,7 @@ public:
if(id == Tile_SPU::button_wood_Id) if(id == Tile_SPU::button_wood_Id)
return TileRef_SPU(wood_Id)->getTexture(Facing::UP); return TileRef_SPU(wood_Id)->getTexture(Facing::UP);
else else
return TileRef_SPU(stone_Id)->getTexture(Facing::UP); return TileRef_SPU(rock_Id)->getTexture(Facing::UP);
} }
virtual bool blocksLight() { return false; } virtual bool blocksLight() { return false; }
virtual bool isSolidRender(bool isServerLevel = false) { return false; } virtual bool isSolidRender(bool isServerLevel = false) { return false; }
@@ -39,7 +39,7 @@ static const int Level_MAX_BRIGHTNESS = 15;
#include "TileRenderer_SPU.h" #include "TileRenderer_SPU.h"
#include "Tile_SPU.h" #include "Tile_SPU.h"
#include "ChunkRebuildData.h" #include "ChunkRebuildData.h"
//TileData_SPU g_tileSPUData; TileData_SPU g_tileSPUData;
static const int MAX_LEVEL_SIZE = 30000000; static const int MAX_LEVEL_SIZE = 30000000;
static const int MAX_BRIGHTNESS = 15; static const int MAX_BRIGHTNESS = 15;
@@ -89,30 +89,30 @@ void ChunkRebuildData::disableUnseenTiles()
// Establish whether this tile and its neighbours are all made of rock, dirt, unbreakable tiles, or have already // Establish whether this tile and its neighbours are all made of rock, dirt, unbreakable tiles, or have already
// been determined to meet this criteria themselves and have a tile of 255 set. // been determined to meet this criteria themselves and have a tile of 255 set.
if( !( ( tileID == Tile_SPU::stone_Id ) || ( tileID == Tile_SPU::dirt_Id ) || ( tileID == Tile_SPU::unbreakable_Id ) || ( flags & e_flag_NoRender) ) ) continue; if( !( ( tileID == Tile_SPU::rock_Id ) || ( tileID == Tile_SPU::dirt_Id ) || ( tileID == Tile_SPU::unbreakable_Id ) || ( flags & e_flag_NoRender) ) ) continue;
tileID = getTile(iX-1, iY, iZ); tileID = getTile(iX-1, iY, iZ);
flags = getFlags(iX-1, iY, iZ); flags = getFlags(iX-1, iY, iZ);
if( !( ( tileID == Tile_SPU::stone_Id ) || ( tileID == Tile_SPU::dirt_Id ) || ( tileID == Tile_SPU::unbreakable_Id ) || ( flags & e_flag_NoRender) ) ) continue; if( !( ( tileID == Tile_SPU::rock_Id ) || ( tileID == Tile_SPU::dirt_Id ) || ( tileID == Tile_SPU::unbreakable_Id ) || ( flags & e_flag_NoRender) ) ) continue;
tileID = getTile(iX+1, iY, iZ); tileID = getTile(iX+1, iY, iZ);
flags = getFlags(iX+1, iY, iZ); flags = getFlags(iX+1, iY, iZ);
if( !( ( tileID == Tile_SPU::stone_Id ) || ( tileID == Tile_SPU::dirt_Id ) || ( tileID == Tile_SPU::unbreakable_Id ) || ( flags & e_flag_NoRender) ) ) continue; if( !( ( tileID == Tile_SPU::rock_Id ) || ( tileID == Tile_SPU::dirt_Id ) || ( tileID == Tile_SPU::unbreakable_Id ) || ( flags & e_flag_NoRender) ) ) continue;
tileID = getTile(iX, iY, iZ-1); tileID = getTile(iX, iY, iZ-1);
flags = getFlags(iX, iY, iZ-1); flags = getFlags(iX, iY, iZ-1);
if( !( ( tileID == Tile_SPU::stone_Id ) || ( tileID == Tile_SPU::dirt_Id ) || ( tileID == Tile_SPU::unbreakable_Id ) || ( flags & e_flag_NoRender) ) ) continue; if( !( ( tileID == Tile_SPU::rock_Id ) || ( tileID == Tile_SPU::dirt_Id ) || ( tileID == Tile_SPU::unbreakable_Id ) || ( flags & e_flag_NoRender) ) ) continue;
tileID = getTile(iX, iY, iZ+1); tileID = getTile(iX, iY, iZ+1);
flags = getFlags(iX, iY, iZ+1); flags = getFlags(iX, iY, iZ+1);
if( !( ( tileID == Tile_SPU::stone_Id ) || ( tileID == Tile_SPU::dirt_Id ) || ( tileID == Tile_SPU::unbreakable_Id ) || ( flags & e_flag_NoRender) ) ) continue; if( !( ( tileID == Tile_SPU::rock_Id ) || ( tileID == Tile_SPU::dirt_Id ) || ( tileID == Tile_SPU::unbreakable_Id ) || ( flags & e_flag_NoRender) ) ) continue;
// Treat the bottom of the world differently - we shouldn't ever be able to look up at this, so consider tiles as invisible // Treat the bottom of the world differently - we shouldn't ever be able to look up at this, so consider tiles as invisible
// if they are surrounded on sides other than the bottom // if they are surrounded on sides other than the bottom
if( iY > 0 ) if( iY > 0 )
{ {
tileID = getTile(iX, iY-1, iZ); tileID = getTile(iX, iY-1, iZ);
flags = getFlags(iX, iY-1, iZ); flags = getFlags(iX, iY-1, iZ);
if( !( ( tileID == Tile_SPU::stone_Id ) || ( tileID == Tile_SPU::dirt_Id ) || ( tileID == Tile_SPU::unbreakable_Id ) || ( flags & e_flag_NoRender) ) ) continue; if( !( ( tileID == Tile_SPU::rock_Id ) || ( tileID == Tile_SPU::dirt_Id ) || ( tileID == Tile_SPU::unbreakable_Id ) || ( flags & e_flag_NoRender) ) ) continue;
} }
tileID = getTile(iX, iY+1, iZ); tileID = getTile(iX, iY+1, iZ);
flags = getFlags(iX, iY+1, iZ); flags = getFlags(iX, iY+1, iZ);
if( !( ( tileID == Tile_SPU::stone_Id ) || ( tileID == Tile_SPU::dirt_Id ) || ( tileID == Tile_SPU::unbreakable_Id ) || ( flags & e_flag_NoRender) ) ) continue; if( !( ( tileID == Tile_SPU::rock_Id ) || ( tileID == Tile_SPU::dirt_Id ) || ( tileID == Tile_SPU::unbreakable_Id ) || ( flags & e_flag_NoRender) ) ) continue;
// This tile is surrounded. Flag it as not requiring to be rendered by setting its id to 255. // This tile is surrounded. Flag it as not requiring to be rendered by setting its id to 255.
setFlag(iX, iY, iZ, e_flag_NoRender); setFlag(iX, iY, iZ, e_flag_NoRender);
@@ -157,7 +157,7 @@ void ChunkRebuildData::buildMaterials()
buildMaterial(Material_SPU::plant_Id, Material::plant); buildMaterial(Material_SPU::plant_Id, Material::plant);
buildMaterial(Material_SPU::replaceable_plant_Id, Material::replaceable_plant); buildMaterial(Material_SPU::replaceable_plant_Id, Material::replaceable_plant);
buildMaterial(Material_SPU::sponge_Id, Material::sponge); buildMaterial(Material_SPU::sponge_Id, Material::sponge);
buildMaterial(Material_SPU::wool_Id, Material::cloth); buildMaterial(Material_SPU::cloth_Id, Material::cloth);
buildMaterial(Material_SPU::fire_Id, Material::fire); buildMaterial(Material_SPU::fire_Id, Material::fire);
buildMaterial(Material_SPU::sand_Id, Material::sand); buildMaterial(Material_SPU::sand_Id, Material::sand);
buildMaterial(Material_SPU::decoration_Id, Material::decoration); buildMaterial(Material_SPU::decoration_Id, Material::decoration);
@@ -195,7 +195,7 @@ int ChunkRebuildData::getMaterialID(Tile* pTile)
if(m == Material::plant) return Material_SPU::plant_Id; if(m == Material::plant) return Material_SPU::plant_Id;
if(m == Material::replaceable_plant)return Material_SPU::replaceable_plant_Id; if(m == Material::replaceable_plant)return Material_SPU::replaceable_plant_Id;
if(m == Material::sponge) return Material_SPU::sponge_Id; if(m == Material::sponge) return Material_SPU::sponge_Id;
if(m == Material::cloth) return Material_SPU::wool_Id; if(m == Material::cloth) return Material_SPU::cloth_Id;
if(m == Material::fire) return Material_SPU::fire_Id; if(m == Material::fire) return Material_SPU::fire_Id;
if(m == Material::sand) return Material_SPU::sand_Id; if(m == Material::sand) return Material_SPU::sand_Id;
if(m == Material::decoration) return Material_SPU::decoration_Id; if(m == Material::decoration) return Material_SPU::decoration_Id;
@@ -341,17 +341,9 @@ void ChunkRebuildData::createTileData()
setIconSPUFromIcon(&m_tileData.dispenserTile_iconFront, ((DispenserTile*)Tile::dispenser)->iconFront); setIconSPUFromIcon(&m_tileData.dispenserTile_iconFront, ((DispenserTile*)Tile::dispenser)->iconFront);
setIconSPUFromIcon(&m_tileData.dispenserTile_iconFrontVertical, ((DispenserTile*)Tile::dispenser)->iconFrontVertical); setIconSPUFromIcon(&m_tileData.dispenserTile_iconFrontVertical, ((DispenserTile*)Tile::dispenser)->iconFrontVertical);
setIconSPUFromIcon(&m_tileData.dropperTile_iconFront, ((DropperTile*)Tile::dropper)->iconFront);
setIconSPUFromIcon(&m_tileData.dropperTile_iconFrontVertical, ((DropperTile*)Tile::dropper)->iconFrontVertical);
// RailTile // RailTile
setIconSPUFromIcon(&m_tileData.railTile_iconTurn, ((RailTile*)Tile::rail)->iconTurn); setIconSPUFromIcon(&m_tileData.railTile_iconTurn, ((RailTile*)Tile::rail)->iconTurn);
setIconSPUFromIcon(&m_tileData.railTile_iconTurnGolden, ((RailTile*)Tile::goldenRail)->iconTurn);
setIconSPUFromIcon(&m_tileData.poweredRailTile_icon, ((PoweredRailTile*)Tile::goldenRail)->icon);
setIconSPUFromIcon(&m_tileData.poweredRailTile_iconPowered, ((PoweredRailTile*)Tile::goldenRail)->iconPowered);
setIconSPUFromIcon(&m_tileData.activatorRailTile_icon, ((PoweredRailTile*)Tile::activatorRail)->icon);
setIconSPUFromIcon(&m_tileData.activatorRailTile_iconPowered, ((PoweredRailTile*)Tile::activatorRail)->iconPowered);
for(int i=0;i<2;i++) for(int i=0;i<2;i++)
setIconSPUFromIcon(&m_tileData.detectorRailTile_icons[i], ((DetectorRailTile*)Tile::detectorRail)->icons[i]); setIconSPUFromIcon(&m_tileData.detectorRailTile_icons[i], ((DetectorRailTile*)Tile::detectorRail)->icons[i]);
@@ -421,12 +413,8 @@ void ChunkRebuildData::createTileData()
setIconSPUFromIcon(&m_tileData.stoneSlab_iconSide, ((StoneSlabTile*)(Tile::stoneSlab))->iconSide); setIconSPUFromIcon(&m_tileData.stoneSlab_iconSide, ((StoneSlabTile*)(Tile::stoneSlab))->iconSide);
//ColoredTile
for(int i=0;i<16;i++) for(int i=0;i<16;i++)
setIconSPUFromIcon(&m_tileData.woolTile_icons[i], ((ColoredTile*)Tile::wool)->icons[i]); setIconSPUFromIcon(&m_tileData.clothTile_icons[i], ((ColoredTile*)Tile::wool)->icons[i]);
for(int i=0;i<16;i++)
setIconSPUFromIcon(&m_tileData.clayHardened_colored_icons[i], ((ColoredTile*)Tile::clayHardened_colored)->icons[i]);
// CarrotTile // CarrotTile
for(int i=0;i<4;i++) for(int i=0;i<4;i++)
@@ -450,13 +438,6 @@ void ChunkRebuildData::createTileData()
setIconSPUFromIcon(&m_tileData.quartzBlock_iconTop, ((QuartzBlockTile*)Tile::quartzBlock)->iconTop); setIconSPUFromIcon(&m_tileData.quartzBlock_iconTop, ((QuartzBlockTile*)Tile::quartzBlock)->iconTop);
setIconSPUFromIcon(&m_tileData.quartzBlock_iconBottom, ((QuartzBlockTile*)Tile::quartzBlock)->iconBottom); setIconSPUFromIcon(&m_tileData.quartzBlock_iconBottom, ((QuartzBlockTile*)Tile::quartzBlock)->iconBottom);
// HayBlockTile
setIconSPUFromIcon(&m_tileData.hayBlockTile_iconTop, ((HayBlockTile*)Tile::hayBlock)->iconTop);
setIconSPUFromIcon(&m_tileData.hayBlockTile_icon, ((HayBlockTile*)Tile::hayBlock)->icon);
// DaylightDetectorTile
for(int i=0;i<1;i++)
setIconSPUFromIcon(&m_tileData.daylightDetector_icons[i], ((DaylightDetectorTile*)Tile::daylightDetector)->icons[i]);
} }
// extern int g_lastHitBlockX; // extern int g_lastHitBlockX;
@@ -59,7 +59,7 @@ public:
int m_lastHitBlockX; int m_lastHitBlockX;
int m_lastHitBlockY; int m_lastHitBlockY;
int m_lastHitBlockZ; int m_lastHitBlockZ;
unsigned int m_pad[3];// padding to 16 byte alignment unsigned int m_pad[5];// padding to 16 byte alignment
int getTileIdx(int x, int y, int z) { return (( x - m_x0 )*sc_size*sc_size) + (( y - m_y0 )*sc_size) + ( z - m_z0 ); } int getTileIdx(int x, int y, int z) { return (( x - m_x0 )*sc_size*sc_size) + (( y - m_y0 )*sc_size) + ( z - m_z0 ); }
@@ -115,7 +115,6 @@
<ClInclude Include="WorkbenchTile_SPU.h" /> <ClInclude Include="WorkbenchTile_SPU.h" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClCompile Include="BasePressurePlateTile_SPU.cpp" />
<ClCompile Include="ChunkRebuildData.cpp" /> <ClCompile Include="ChunkRebuildData.cpp" />
<ClCompile Include="DiodeTile_SPU.cpp" /> <ClCompile Include="DiodeTile_SPU.cpp" />
<ClCompile Include="Direction_SPU.cpp" /> <ClCompile Include="Direction_SPU.cpp" />
@@ -127,6 +126,7 @@
<ClCompile Include="Icon_SPU.cpp" /> <ClCompile Include="Icon_SPU.cpp" />
<ClCompile Include="LeafTile_SPU.cpp" /> <ClCompile Include="LeafTile_SPU.cpp" />
<ClCompile Include="LiquidTile_SPU.cpp" /> <ClCompile Include="LiquidTile_SPU.cpp" />
<ClCompile Include="PressurePlateTile_SPU.cpp" />
<ClCompile Include="StairTile_SPU.cpp" /> <ClCompile Include="StairTile_SPU.cpp" />
<ClCompile Include="TallGrass_SPU.cpp" /> <ClCompile Include="TallGrass_SPU.cpp" />
<ClCompile Include="task.cpp" /> <ClCompile Include="task.cpp" />
@@ -142,6 +142,9 @@
<ClCompile Include="LiquidTile_SPU.cpp"> <ClCompile Include="LiquidTile_SPU.cpp">
<Filter>Source Files</Filter> <Filter>Source Files</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="PressurePlateTile_SPU.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="StairTile_SPU.cpp"> <ClCompile Include="StairTile_SPU.cpp">
<Filter>Source Files</Filter> <Filter>Source Files</Filter>
</ClCompile> </ClCompile>
@@ -163,8 +166,5 @@
<ClCompile Include="TileRenderer_SPU.cpp"> <ClCompile Include="TileRenderer_SPU.cpp">
<Filter>Source Files</Filter> <Filter>Source Files</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="BasePressurePlateTile_SPU.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup> </ItemGroup>
</Project> </Project>
@@ -0,0 +1,11 @@
#pragma once
#include "Tile_SPU.h"
class ClothTile_SPU : public Tile_SPU
{
public:
ClothTile_SPU(int id) : Tile_SPU(id) {}
virtual Icon_SPU *getTexture(int face, int data) { return &ms_pTileData->clothTile_icons[data]; }
};
@@ -1,11 +0,0 @@
#pragma once
#include "Tile_SPU.h"
class ColoredClay_SPU : public Tile_SPU
{
public:
ColoredClay_SPU(int id) : Tile_SPU(id) {}
virtual Icon_SPU *getTexture(int face, int data) { return &ms_pTileData->clayHardened_colored_icons[data]; }
};
@@ -1,21 +0,0 @@
#pragma once
#include "EntityTile_SPU.h"
class DaylightDetectorTile_SPU : public EntityTile_SPU
{
public:
DaylightDetectorTile_SPU(int id) : EntityTile_SPU(id) {}
Icon_SPU *getTexture(int face, int data) {
if (face == Facing::UP)
{
return &ms_pTileData->daylightDetector_icons[0];
}
return &ms_pTileData->daylightDetector_icons[1];
};
virtual bool isSolidRender(bool isServerLevel = false) { return false; }
virtual void updateDefaultShape() { setShape(0, 0, 0, 1, 6.0f / 16.0f, 1); };
virtual void updateShape() { setShape(0, 0, 0, 1, 6.0f / 16.0f, 1); };
};
@@ -2,10 +2,10 @@
#include "RailTile_SPU.h" #include "RailTile_SPU.h"
class DetectorRailTile_SPU : public BaseRailTile_SPU class DetectorRailTile_SPU : public RailTile_SPU
{ {
public: public:
DetectorRailTile_SPU(int id) : BaseRailTile_SPU(id) {} DetectorRailTile_SPU(int id) : RailTile_SPU(id) {}
Icon_SPU *getTexture(int face, int data) Icon_SPU *getTexture(int face, int data)
{ {
if ((data & RAIL_DATA_BIT) != 0) if ((data & RAIL_DATA_BIT) != 0)
@@ -21,9 +21,9 @@ public:
{ {
if (id==diode_on_Id) if (id==diode_on_Id)
{ {
return TileRef_SPU(redstoneTorch_on_Id)->getTexture(face); return TileRef_SPU(notGate_on_Id)->getTexture(face);
} }
return TileRef_SPU(redstoneTorch_off_Id)->getTexture(face); return TileRef_SPU(notGate_off_Id)->getTexture(face);
} }
if (face == Facing::UP) if (face == Facing::UP)
{ {
@@ -1,37 +0,0 @@
#pragma once
#include "DispenserTile_SPU.h"
#include "Facing_SPU.h"
class DropperTile_SPU : public DispenserTile_SPU
{
public:
DropperTile_SPU(int id) : DispenserTile_SPU(id) {}
public:
virtual Icon_SPU *getTexture(int face, int data)
{
int dir = data & FACING_MASK;
if (face == dir)
{
if (dir == Facing::UP || dir == Facing::DOWN)
{
return &ms_pTileData->dropperTile_iconFrontVertical;
}
else
{
return &ms_pTileData->dropperTile_iconFront;
}
}
if (dir == Facing::UP || dir == Facing::DOWN)
{
return &ms_pTileData->dispenserTile_iconTop;
}
else if (face == Facing::UP || face == Facing::DOWN)
{
return &ms_pTileData->dispenserTile_iconTop;
}
return icon();
}
};
@@ -33,7 +33,7 @@ public:
case Tile_SPU::bookshelf_Id: case Tile_SPU::bookshelf_Id:
case Tile_SPU::tnt_Id: case Tile_SPU::tnt_Id:
case Tile_SPU::tallgrass_Id: case Tile_SPU::tallgrass_Id:
case Tile_SPU::wool_Id: case Tile_SPU::cloth_Id:
case Tile_SPU::vine_Id: case Tile_SPU::vine_Id:
return true; return true;
default: default:
@@ -1,19 +0,0 @@
#pragma once
#include "RotatedPillarTile_SPU.h"
class HayBlockTile_SPU : public RotatedPillarTile_SPU
{
friend class ChunkRebuildData;
public:
HayBlockTile_SPU(int id) : RotatedPillarTile_SPU(id) {}
protected:
Icon_SPU *getTopTexture(int type) {
return &ms_pTileData->hayBlockTile_iconTop;
};
Icon_SPU *getTypeTexture(int type) {
return &ms_pTileData->hayBlockTile_icon;
};
};
@@ -14,8 +14,8 @@ public:
Icon_SPU *getTexture(int face, int data) Icon_SPU *getTexture(int face, int data)
{ {
Icon_SPU* icons = ms_pTileData->hugeMushroom_icons; Icon_SPU* icons = ms_pTileData->hugeMushroom_icons;
int type = 0; // hugemushroom_brown_Id int type = 0; // hugeMushroom1_Id
if(id == hugeMushroom_red_Id) if(id == hugeMushroom2_Id)
type = 1; type = 1;
// 123 // 123
// 456 10 // 456 10
@@ -19,7 +19,7 @@ public:
static const int plant_Id = 9; static const int plant_Id = 9;
static const int replaceable_plant_Id = 10; static const int replaceable_plant_Id = 10;
static const int sponge_Id = 11; static const int sponge_Id = 11;
static const int wool_Id = 12; static const int cloth_Id = 12;
static const int fire_Id = 13; static const int fire_Id = 13;
static const int sand_Id = 14; static const int sand_Id = 14;
static const int decoration_Id = 15; static const int decoration_Id = 15;
@@ -1,21 +0,0 @@
#pragma once
#include "BaseRailTile_SPU.h"
class PoweredRailTile_SPU : public BaseRailTile_SPU
{
public:
PoweredRailTile_SPU(int id) : BaseRailTile_SPU(id) {}
Icon_SPU *getTexture(int face, int data)
{
if ((data & RAIL_DATA_BIT) == 0)
{
return &ms_pTileData->poweredRailTile_icon;
}
else
{
return &ms_pTileData->poweredRailTile_iconPowered;
}
};
};
@@ -0,0 +1,41 @@
#include "stdafx.h"
#include "PressurePlateTile_SPU.h"
#include "ChunkRebuildData.h"
bool PressurePlateTile_SPU::isSolidRender(bool isServerLevel)
{
return false;
}
bool PressurePlateTile_SPU::blocksLight()
{
return false;
}
void PressurePlateTile_SPU::updateShape(ChunkRebuildData *level, int x, int y, int z, int forceData, TileEntity* forceEntity) // 4J added forceData, forceEntity param
{
bool pressed = level->getData(x, y, z) == 1;
float o = 1 / 16.0f;
if (pressed)
{
this->setShape(o, 0, o, 1 - o, 0.5f / 16.0f, 1 - o);
}
else
{
setShape(o, 0, o, 1 - o, 1 / 16.0f, 1 - o);
}
}
void PressurePlateTile_SPU::updateDefaultShape()
{
float x = 8 / 16.0f;
float y = 2 / 16.0f;
float z = 8 / 16.0f;
setShape(0.5f - x, 0.5f - y, 0.5f - z, 0.5f + x, 0.5f + y, 0.5f + z);
}
@@ -1,23 +1,21 @@
#pragma once #pragma once
#include "BasePressurePlateTile_SPU.h" #include "Tile_SPU.h"
class PressurePlateTile_SPU : public BasePressurePlateTile_SPU
class PressurePlateTile_SPU : public Tile_SPU
{ {
public: public:
enum Sensitivity enum Sensitivity
{ {
everything, mobs, players everything,
}; mobs,
players
};
private: PressurePlateTile_SPU(int id) : Tile_SPU(id) {}
Sensitivity sensitivity; virtual bool isSolidRender(bool isServerLevel = false);
virtual bool blocksLight();
public: virtual void updateShape(ChunkRebuildData *level, int x, int y, int z, int forceData = -1, TileEntity* forceEntity = NULL); // 4J added forceData, forceEntity param
PressurePlateTile_SPU(int id) : BasePressurePlateTile_SPU(id) {} virtual void updateDefaultShape();
protected:
virtual int getSignalForData(int data) {
// 15 is Redstone::SIGNAL_MAX
return data == 1 ? 15 : 0;
};
}; };
@@ -1,21 +1,58 @@
#pragma once #pragma once
#include "Tile_SPU.h"
#include "BaseRailTile_SPU.h" class RailTile_SPU : public Tile_SPU
class RailTile_SPU : public BaseRailTile_SPU
{ {
public:
RailTile_SPU(int id) : BaseRailTile_SPU(id) {}
Icon_SPU *getTexture(int face, int data) public:
static const int RAIL_DATA_BIT = 8;
static const int RAIL_DIRECTION_MASK = 7;
RailTile_SPU(int id) : Tile_SPU(id) {}
virtual bool isSolidRender(bool isServerLevel = false) { return false; }
virtual void updateShape(ChunkRebuildData *level, int x, int y, int z, int forceData = -1, TileEntity* forceEntity = NULL) // 4J added forceData, forceEntity param
{ {
if (data >= 6) int data = level->getData(x, y, z);
if (data >= 2 && data <= 5)
{ {
return &ms_pTileData->railTile_iconTurn; setShape(0, 0, 0, 1, 2 / 16.0f + 0.5f, 1);
} } else
else
{ {
return icon(); setShape(0, 0, 0, 1, 2 / 16.0f, 1);
} }
}; }
virtual Icon_SPU *getTexture(int face, int data)
{
bool usesDataBit = false;
Icon_SPU* iconTurn = &ms_pTileData->railTile_iconTurn;
if(id == goldenRail_Id)
{
usesDataBit = true;
iconTurn = &ms_pTileData->railTile_iconTurnGolden;
}
if (usesDataBit)
{
// if (id == Tile::goldenRail_Id)
// {
if ((data & RAIL_DATA_BIT) == 0)
{
return icon();
}
else
{
return iconTurn; // Actually the powered rail on version
}
// }
} else if (data >= 6) return iconTurn;
return icon();
}
virtual int getRenderShape() { return Tile_SPU::SHAPE_RAIL; }
bool isUsesDataBit()
{
if(id == goldenRail_Id || id == detectorRail_Id)
return true;
return false;
}
}; };
@@ -1,45 +0,0 @@
#pragma once
#include "Tile_SPU.h"
#include "Facing_SPU.h"
class RotatedPillarTile_SPU : public Tile_SPU
{
public:
static const int MASK_TYPE = 0x3;
static const int MASK_FACING = 0xC;
static const int FACING_Y = 0 << 2;
static const int FACING_X = 1 << 2;
static const int FACING_Z = 2 << 2;
protected:
RotatedPillarTile_SPU(int id) : Tile_SPU(id) {}
public:
virtual int getRenderShape() { return Tile_SPU::SHAPE_TREE; };
virtual Icon_SPU *getTexture(int face, int data) {
int dir = data & MASK_FACING;
int type = data & MASK_TYPE;
if (dir == FACING_Y && (face == Facing::UP || face == Facing::DOWN))
{
return getTopTexture(type);
}
else if (dir == FACING_X && (face == Facing::EAST || face == Facing::WEST))
{
return getTopTexture(type);
}
else if (dir == FACING_Z && (face == Facing::NORTH || face == Facing::SOUTH))
{
return getTopTexture(type);
}
return getTypeTexture(type);
};
protected:
virtual Icon_SPU *getTypeTexture(int type) = 0;
virtual Icon_SPU *getTopTexture(int type) = 0;
};
@@ -43,5 +43,5 @@ public:
} }
} }
Icon_SPU *getTexture(int face, int data) { return TileRef_SPU(netherRack_Id)->getTexture(face); } Icon_SPU *getTexture(int face, int data) { return TileRef_SPU(hellSand_Id)->getTexture(face); }
}; };
@@ -39,7 +39,7 @@ bool StairTile_SPU::isStairs(int id)
case Tile_SPU::stairs_wood_Id: case Tile_SPU::stairs_wood_Id:
case Tile_SPU::stairs_stone_Id: case Tile_SPU::stairs_stone_Id:
case Tile_SPU::stairs_bricks_Id: case Tile_SPU::stairs_bricks_Id:
case Tile_SPU::stairs_stoneBrick_Id: case Tile_SPU::stairs_stoneBrickSmooth_Id:
case Tile_SPU::stairs_netherBricks_Id: case Tile_SPU::stairs_netherBricks_Id:
case Tile_SPU::stairs_sandstone_Id: case Tile_SPU::stairs_sandstone_Id:
case Tile_SPU::stairs_sprucewood_Id: case Tile_SPU::stairs_sprucewood_Id:
@@ -21,12 +21,12 @@ public:
{ {
if (data == HOST_COBBLE) if (data == HOST_COBBLE)
{ {
return TileRef_SPU(cobblestone_Id)->getTexture(face); return TileRef_SPU(stoneBrick_Id)->getTexture(face);
} }
if (data == HOST_STONEBRICK) if (data == HOST_STONEBRICK)
{ {
return TileRef_SPU(stoneBrick_Id)->getTexture(face); return TileRef_SPU(stoneBrickSmooth_Id)->getTexture(face);
} }
return TileRef_SPU(stone_Id)->getTexture(face); return TileRef_SPU(rock_Id)->getTexture(face);
} }
}; };
@@ -41,11 +41,11 @@ public:
case WOOD_SLAB: case WOOD_SLAB:
return TileRef_SPU(wood_Id)->getTexture(face); //Tile::wood->getTexture(face); return TileRef_SPU(wood_Id)->getTexture(face); //Tile::wood->getTexture(face);
case COBBLESTONE_SLAB: case COBBLESTONE_SLAB:
return TileRef_SPU(cobblestone_Id)->getTexture(face); //Tile::stoneBrick->getTexture(face); return TileRef_SPU(stoneBrick_Id)->getTexture(face); //Tile::stoneBrick->getTexture(face);
case BRICK_SLAB: case BRICK_SLAB:
return TileRef_SPU(redBrick_Id)->getTexture(face); //Tile::redBrick->getTexture(face); return TileRef_SPU(redBrick_Id)->getTexture(face); //Tile::redBrick->getTexture(face);
case SMOOTHBRICK_SLAB: case SMOOTHBRICK_SLAB:
return TileRef_SPU(stoneBrick_Id)->getTexture(face); //Tile::stoneBrickSmooth->getTexture(face, SmoothStoneBrickTile::TYPE_DEFAULT); return TileRef_SPU(stoneBrickSmooth_Id)->getTexture(face); //Tile::stoneBrickSmooth->getTexture(face, SmoothStoneBrickTile::TYPE_DEFAULT);
case NETHERBRICK_SLAB: case NETHERBRICK_SLAB:
return TileRef_SPU(netherBrick_Id)->getTexture(Facing::UP); //Tile::netherBrick->getTexture(Facing::UP); return TileRef_SPU(netherBrick_Id)->getTexture(Facing::UP); //Tile::netherBrick->getTexture(Facing::UP);
case QUARTZ_SLAB: case QUARTZ_SLAB:
@@ -12,7 +12,6 @@
#include "DirtTile_SPU.h" #include "DirtTile_SPU.h"
#include "DoorTile_SPU.h" #include "DoorTile_SPU.h"
#include "PressurePlateTile_SPU.h" #include "PressurePlateTile_SPU.h"
#include "WeightedPressurePlateTile_SPU.h"
#include "FarmTile_SPU.h" #include "FarmTile_SPU.h"
#include "Bush_SPU.h" #include "Bush_SPU.h"
#include "TallGrass_SPU.h" #include "TallGrass_SPU.h"
@@ -33,10 +32,7 @@
#include "IceTile_SPU.h" #include "IceTile_SPU.h"
#include "PortalTile_SPU.h" #include "PortalTile_SPU.h"
#include "DispenserTile_SPU.h" #include "DispenserTile_SPU.h"
#include "DropperTile_SPU.h"
#include "RailTile_SPU.h" #include "RailTile_SPU.h"
#include "PoweredRailTile_SPU.h"
#include "ActivatorRailTile_SPU.h"
#include "DetectorRailTile_SPU.h" #include "DetectorRailTile_SPU.h"
#include "TntTile_SPU.h" #include "TntTile_SPU.h"
#include "BookshelfTile_SPU.h" #include "BookshelfTile_SPU.h"
@@ -75,7 +71,7 @@
#include "EggTile_SPU.h" #include "EggTile_SPU.h"
#include "CocoaTile_SPU.h" #include "CocoaTile_SPU.h"
#include "RedlightTile_SPU.h" #include "RedlightTile_SPU.h"
#include "WoolTile_SPU.h" #include "ClothTile_SPU.h"
#include "SkullTile_SPU.h" #include "SkullTile_SPU.h"
#include "MobSpawnerTile_SPU.h" #include "MobSpawnerTile_SPU.h"
#include "EnderChestTile_SPU.h" #include "EnderChestTile_SPU.h"
@@ -87,9 +83,6 @@
#include "PotatoTile_SPU.h" #include "PotatoTile_SPU.h"
#include "QuartzBlockTile_SPU.h" #include "QuartzBlockTile_SPU.h"
#include "WoolCarpetTile_SPU.h" #include "WoolCarpetTile_SPU.h"
#include "ColoredClay_SPU.h"
#include "HayBlockTile_SPU.h"
#include "DaylightDetectorTile_SPU.h"
#ifdef SN_TARGET_PS3_SPU #ifdef SN_TARGET_PS3_SPU
#include "..\Common\spu_assert.h" #include "..\Common\spu_assert.h"
@@ -521,7 +514,7 @@ void Tile_SPU::updateDefaultShape()
// void Tile_SPU::playerDestroy(Level *level, shared_ptr<Player> player, int x, int y, int z, int data) // void Tile_SPU::playerDestroy(Level *level, shared_ptr<Player> player, int x, int y, int z, int data)
// { // {
// // 4J Stu - Special case - only record a crop destroy if is fully grown // // 4J Stu - Special case - only record a crop destroy if is fully grown
// if(id==Tile_SPU::wheat_Id) // if(id==Tile_SPU::crops_Id)
// { // {
// if( Tile_SPU::crops->getResource(data, NULL, 0) > 0 ) // if( Tile_SPU::crops->getResource(data, NULL, 0) > 0 )
// player->awardStat(Stats::blocksMined[id], 1); // player->awardStat(Stats::blocksMined[id], 1);
@@ -688,7 +681,6 @@ void Tile_SPU::initTilePointers()
CREATE_TILE_TYPE(woodSlabHalf_Id, WoodSlabTile_SPU); CREATE_TILE_TYPE(woodSlabHalf_Id, WoodSlabTile_SPU);
CREATE_TILE_TYPE(chest_Id, ChestTile_SPU); CREATE_TILE_TYPE(chest_Id, ChestTile_SPU);
CREATE_TILE_TYPE(chest_trap_Id, ChestTile_SPU);
CREATE_TILE_TYPE(ironFence_Id, ThinFenceTile_SPU); CREATE_TILE_TYPE(ironFence_Id, ThinFenceTile_SPU);
CREATE_TILE_TYPE(thinGlass_Id, ThinFenceTile_SPU); CREATE_TILE_TYPE(thinGlass_Id, ThinFenceTile_SPU);
@@ -699,7 +691,7 @@ void Tile_SPU::initTilePointers()
CREATE_TILE_TYPE(stairs_wood_Id, StairTile_SPU); CREATE_TILE_TYPE(stairs_wood_Id, StairTile_SPU);
CREATE_TILE_TYPE(stairs_stone_Id, StairTile_SPU); CREATE_TILE_TYPE(stairs_stone_Id, StairTile_SPU);
CREATE_TILE_TYPE(stairs_bricks_Id, StairTile_SPU); CREATE_TILE_TYPE(stairs_bricks_Id, StairTile_SPU);
CREATE_TILE_TYPE(stairs_stoneBrick_Id, StairTile_SPU); CREATE_TILE_TYPE(stairs_stoneBrickSmooth_Id, StairTile_SPU);
CREATE_TILE_TYPE(stairs_netherBricks_Id, StairTile_SPU); CREATE_TILE_TYPE(stairs_netherBricks_Id, StairTile_SPU);
CREATE_TILE_TYPE(stairs_sandstone_Id, StairTile_SPU); CREATE_TILE_TYPE(stairs_sandstone_Id, StairTile_SPU);
CREATE_TILE_TYPE(stairs_sprucewood_Id, StairTile_SPU); CREATE_TILE_TYPE(stairs_sprucewood_Id, StairTile_SPU);
@@ -714,9 +706,6 @@ void Tile_SPU::initTilePointers()
CREATE_TILE_TYPE(pressurePlate_stone_Id, PressurePlateTile_SPU); CREATE_TILE_TYPE(pressurePlate_stone_Id, PressurePlateTile_SPU);
CREATE_TILE_TYPE(pressurePlate_wood_Id, PressurePlateTile_SPU); CREATE_TILE_TYPE(pressurePlate_wood_Id, PressurePlateTile_SPU);
CREATE_TILE_TYPE(weightedPlate_light_Id, WeightedPressurePlateTile_SPU);
CREATE_TILE_TYPE(weightedPlate_heavy_Id, WeightedPressurePlateTile_SPU);
CREATE_TILE_TYPE(farmland_Id, FarmTile_SPU); CREATE_TILE_TYPE(farmland_Id, FarmTile_SPU);
CREATE_TILE_TYPE(flower_Id, Bush_SPU); CREATE_TILE_TYPE(flower_Id, Bush_SPU);
@@ -733,19 +722,19 @@ void Tile_SPU::initTilePointers()
CREATE_TILE_TYPE(leaves_Id, LeafTile_SPU); CREATE_TILE_TYPE(leaves_Id, LeafTile_SPU);
CREATE_TILE_TYPE(wheat_Id, CropTile_SPU); CREATE_TILE_TYPE(crops_Id, CropTile_SPU);
CREATE_TILE_TYPE(reeds_Id, ReedTile_SPU); CREATE_TILE_TYPE(reeds_Id, ReedTile_SPU);
CREATE_TILE_TYPE(torch_Id, TorchTile_SPU); CREATE_TILE_TYPE(torch_Id, TorchTile_SPU);
CREATE_TILE_TYPE(redstoneTorch_off_Id, TorchTile_SPU); // TorchTile->NotGateTile CREATE_TILE_TYPE(notGate_off_Id, TorchTile_SPU); // TorchTile->NotGateTile
CREATE_TILE_TYPE(redstoneTorch_on_Id, TorchTile_SPU); // TorchTile->NotGateTile CREATE_TILE_TYPE(notGate_on_Id, TorchTile_SPU); // TorchTile->NotGateTile
CREATE_TILE_TYPE(mushroom_brown_Id, Mushroom_SPU); CREATE_TILE_TYPE(mushroom1_Id, Mushroom_SPU);
CREATE_TILE_TYPE(mushroom_red_Id, Mushroom_SPU); CREATE_TILE_TYPE(mushroom2_Id, Mushroom_SPU);
CREATE_TILE_TYPE(mobSpawner_Id, MobSpawnerTile_SPU); CREATE_TILE_TYPE(mobSpawner_Id, MobSpawnerTile_SPU);
CREATE_TILE_TYPE(noteblock_Id, EntityTile_SPU); // MusicTile->EntityTile CREATE_TILE_TYPE(musicBlock_Id, EntityTile_SPU); // MusicTile->EntityTile
CREATE_TILE_TYPE(furnace_Id, FurnaceTile_SPU); CREATE_TILE_TYPE(furnace_Id, FurnaceTile_SPU);
CREATE_TILE_TYPE(furnace_lit_Id, FurnaceTile_SPU); CREATE_TILE_TYPE(furnace_lit_Id, FurnaceTile_SPU);
@@ -768,12 +757,9 @@ void Tile_SPU::initTilePointers()
CREATE_TILE_TYPE(portalTile_Id, PortalTile_SPU); CREATE_TILE_TYPE(portalTile_Id, PortalTile_SPU);
CREATE_TILE_TYPE(dispenser_Id, DispenserTile_SPU); CREATE_TILE_TYPE(dispenser_Id, DispenserTile_SPU);
CREATE_TILE_TYPE(dropper_Id, DropperTile_SPU);
CREATE_TILE_TYPE(rail_Id, RailTile_SPU); CREATE_TILE_TYPE(rail_Id, RailTile_SPU);
CREATE_TILE_TYPE(goldenRail_Id, RailTile_SPU);
CREATE_TILE_TYPE(goldenRail_Id, PoweredRailTile_SPU);
CREATE_TILE_TYPE(activatorRail_Id, ActivatorRailTile_SPU);
CREATE_TILE_TYPE(detectorRail_Id, DetectorRailTile_SPU); CREATE_TILE_TYPE(detectorRail_Id, DetectorRailTile_SPU);
@@ -795,7 +781,7 @@ void Tile_SPU::initTilePointers()
CREATE_TILE_TYPE(cactus_Id, CactusTile_SPU); CREATE_TILE_TYPE(cactus_Id, CactusTile_SPU);
CREATE_TILE_TYPE(jukebox_Id, RecordPlayerTile_SPU); CREATE_TILE_TYPE(recordPlayer_Id, RecordPlayerTile_SPU);
CREATE_TILE_TYPE(pumpkin_Id, PumpkinTile_SPU); CREATE_TILE_TYPE(pumpkin_Id, PumpkinTile_SPU);
CREATE_TILE_TYPE(litPumpkin_Id, PumpkinTile_SPU); CREATE_TILE_TYPE(litPumpkin_Id, PumpkinTile_SPU);
@@ -806,10 +792,10 @@ void Tile_SPU::initTilePointers()
CREATE_TILE_TYPE(monsterStoneEgg_Id, StoneMonsterTile_SPU); CREATE_TILE_TYPE(monsterStoneEgg_Id, StoneMonsterTile_SPU);
CREATE_TILE_TYPE(stoneBrick_Id, SmoothStoneBrickTile_SPU); CREATE_TILE_TYPE(stoneBrickSmooth_Id, SmoothStoneBrickTile_SPU);
CREATE_TILE_TYPE(hugeMushroom_brown_Id, HugeMushroomTile_SPU); CREATE_TILE_TYPE(hugeMushroom1_Id, HugeMushroomTile_SPU);
CREATE_TILE_TYPE(hugeMushroom_red_Id, HugeMushroomTile_SPU); CREATE_TILE_TYPE(hugeMushroom2_Id, HugeMushroomTile_SPU);
CREATE_TILE_TYPE(melon_Id, MelonTile_SPU); CREATE_TILE_TYPE(melon_Id, MelonTile_SPU);
@@ -861,18 +847,16 @@ void Tile_SPU::initTilePointers()
CREATE_TILE_TYPE(skull_Id, SkullTile_SPU); CREATE_TILE_TYPE(skull_Id, SkullTile_SPU);
// these tile types don't have any additional code that we need. // these tile types don't have any additional code that we need.
CREATE_TILE_TYPE(cobblestone_Id, Tile_SPU); // Tile CREATE_TILE_TYPE(stoneBrick_Id, Tile_SPU); // Tile
CREATE_TILE_TYPE(lapisBlock_Id, Tile_SPU); CREATE_TILE_TYPE(lapisBlock_Id, Tile_SPU);
CREATE_TILE_TYPE(redBrick_Id, Tile_SPU); CREATE_TILE_TYPE(redBrick_Id, Tile_SPU);
CREATE_TILE_TYPE(mossyCobblestone_Id, Tile_SPU); CREATE_TILE_TYPE(mossStone_Id, Tile_SPU);
CREATE_TILE_TYPE(netherBrick_Id, Tile_SPU); CREATE_TILE_TYPE(netherBrick_Id, Tile_SPU);
CREATE_TILE_TYPE(endStone_Id, Tile_SPU); CREATE_TILE_TYPE(whiteStone_Id, Tile_SPU);
CREATE_TILE_TYPE(unbreakable_Id, Tile_SPU); CREATE_TILE_TYPE(unbreakable_Id, Tile_SPU);
CREATE_TILE_TYPE(sponge_Id, Tile_SPU); CREATE_TILE_TYPE(sponge_Id, Tile_SPU);
CREATE_TILE_TYPE(coalBlock_Id, Tile_SPU); CREATE_TILE_TYPE(rock_Id, Tile_SPU); // StoneTile
CREATE_TILE_TYPE(redstoneBlock_Id, Tile_SPU);
CREATE_TILE_TYPE(stone_Id, Tile_SPU); // StoneTile
CREATE_TILE_TYPE(obsidian_Id, Tile_SPU); // StoneTile->ObsidianTile CREATE_TILE_TYPE(obsidian_Id, Tile_SPU); // StoneTile->ObsidianTile
CREATE_TILE_TYPE(sand_Id, Tile_SPU); // HeavyTile CREATE_TILE_TYPE(sand_Id, Tile_SPU); // HeavyTile
CREATE_TILE_TYPE(gravel_Id, Tile_SPU); // GravelTile CREATE_TILE_TYPE(gravel_Id, Tile_SPU); // GravelTile
@@ -888,15 +872,12 @@ void Tile_SPU::initTilePointers()
CREATE_TILE_TYPE(ironBlock_Id, Tile_SPU); // MetalTile CREATE_TILE_TYPE(ironBlock_Id, Tile_SPU); // MetalTile
CREATE_TILE_TYPE(diamondBlock_Id, Tile_SPU); // MetalTile CREATE_TILE_TYPE(diamondBlock_Id, Tile_SPU); // MetalTile
CREATE_TILE_TYPE(snow_Id, Tile_SPU); // SnowTile CREATE_TILE_TYPE(snow_Id, Tile_SPU); // SnowTile
CREATE_TILE_TYPE(netherRack_Id, Tile_SPU); // NetherrackTile CREATE_TILE_TYPE(hellRock_Id, Tile_SPU); // HellStoneTile
CREATE_TILE_TYPE(soulsand_Id, Tile_SPU); // SoulSandTile CREATE_TILE_TYPE(hellSand_Id, Tile_SPU); // HellSandTile
CREATE_TILE_TYPE(glowstone_Id, Tile_SPU); // Glowstonetile CREATE_TILE_TYPE(lightGem_Id, Tile_SPU); // LightGemTile
// got replaced by stained_glass_Id, rest in peace locked chest CREATE_TILE_TYPE(aprilFoolsJoke_Id, Tile_SPU); // LockedChestTile
//CREATE_TILE_TYPE(aprilFoolsJoke_Id , Tile_SPU); // LockedChestTile
CREATE_TILE_TYPE(clayHardened_Id, Tile_SPU); // ColoredTile
CREATE_TILE_TYPE(wool_Id, WoolTile_SPU); // wool CREATE_TILE_TYPE(cloth_Id, ClothTile_SPU); // wool
CREATE_TILE_TYPE(clayHardened_colored_Id, ColoredClay_SPU); // wool
CREATE_TILE_TYPE(emeraldOre_Id, Tile_SPU); // OreTile CREATE_TILE_TYPE(emeraldOre_Id, Tile_SPU); // OreTile
@@ -914,6 +895,5 @@ void Tile_SPU::initTilePointers()
CREATE_TILE_TYPE(quartzBlock_Id, QuartzBlockTile_SPU); CREATE_TILE_TYPE(quartzBlock_Id, QuartzBlockTile_SPU);
CREATE_TILE_TYPE(stairs_quartz_Id, StairTile_SPU); CREATE_TILE_TYPE(stairs_quartz_Id, StairTile_SPU);
CREATE_TILE_TYPE(woolCarpet_Id, WoolCarpetTile_SPU); CREATE_TILE_TYPE(woolCarpet_Id, WoolCarpetTile_SPU);
CREATE_TILE_TYPE(hayBlock_Id, HayBlockTile_SPU);
CREATE_TILE_TYPE(daylightDetector_Id, DaylightDetectorTile_SPU);
}; };
@@ -129,14 +129,8 @@ public:
Icon_SPU dispenserTile_iconFront; Icon_SPU dispenserTile_iconFront;
Icon_SPU dispenserTile_iconFrontVertical; Icon_SPU dispenserTile_iconFrontVertical;
Icon_SPU dropperTile_iconFront;
Icon_SPU dropperTile_iconFrontVertical;
Icon_SPU railTile_iconTurn; Icon_SPU railTile_iconTurn;
Icon_SPU poweredRailTile_icon; Icon_SPU railTile_iconTurnGolden;
Icon_SPU poweredRailTile_iconPowered;
Icon_SPU activatorRailTile_icon;
Icon_SPU activatorRailTile_iconPowered;
Icon_SPU detectorRailTile_icons[2]; Icon_SPU detectorRailTile_icons[2];
@@ -184,7 +178,7 @@ public:
Icon_SPU redStoneDust_iconCrossOver; Icon_SPU redStoneDust_iconCrossOver;
Icon_SPU redStoneDust_iconLineOver; Icon_SPU redStoneDust_iconLineOver;
Icon_SPU woolTile_icons[16]; Icon_SPU clothTile_icons[16];
Icon_SPU stoneSlab_iconSide; Icon_SPU stoneSlab_iconSide;
@@ -199,12 +193,6 @@ public:
Icon_SPU quartzBlock_iconTop; Icon_SPU quartzBlock_iconTop;
Icon_SPU quartzBlock_iconBottom; Icon_SPU quartzBlock_iconBottom;
Icon_SPU clayHardened_colored_icons[16];
Icon_SPU hayBlockTile_icon;
Icon_SPU hayBlockTile_iconTop;
Icon_SPU daylightDetector_icons[2];
int anvilPart; // normally part of the AnvilTile class int anvilPart; // normally part of the AnvilTile class
@@ -308,24 +296,19 @@ public:
static const int SHAPE_FLOWER_POT = 33; static const int SHAPE_FLOWER_POT = 33;
static const int SHAPE_BEACON = 34; static const int SHAPE_BEACON = 34;
static const int SHAPE_ANVIL = 35; static const int SHAPE_ANVIL = 35;
static const int SHAPE_HOPPER = 38;
static const int SHAPE_QUARTZ = 39; static const int SHAPE_QUARTZ = 39;
static const int SHAPE_THIN_PANE = 40;
static const int SHAPE_COUNT = 41;
// 4J - this array of simple constants made so the compiler can optimise references to Ids that were previous of the form Tile_SPU::<whatever>->id, and are now simply Tile_SPU::whatever_Id // 4J - this array of simple constants made so the compiler can optimise references to Ids that were previous of the form Tile_SPU::<whatever>->id, and are now simply Tile_SPU::whatever_Id
static const int stone_Id = 1; static const int rock_Id = 1;
static const int grass_Id = 2; static const int grass_Id = 2;
static const int dirt_Id = 3; static const int dirt_Id = 3;
static const int cobblestone_Id = 4; static const int stoneBrick_Id = 4;
static const int wood_Id = 5; static const int wood_Id = 5;
static const int sapling_Id = 6; static const int sapling_Id = 6;
static const int unbreakable_Id = 7; static const int unbreakable_Id = 7;
static const int water_Id = 8; static const int water_Id = 8;
static const int calmWater_Id = 9; static const int calmWater_Id = 9;
static const int lava_Id = 10; static const int lava_Id = 10;
static const int calmLava_Id = 11; static const int calmLava_Id = 11;
static const int sand_Id = 12; static const int sand_Id = 12;
static const int gravel_Id = 13; static const int gravel_Id = 13;
@@ -336,29 +319,26 @@ public:
static const int leaves_Id = 18; static const int leaves_Id = 18;
static const int sponge_Id = 19; static const int sponge_Id = 19;
static const int glass_Id = 20; static const int glass_Id = 20;
static const int lapisOre_Id = 21; static const int lapisOre_Id = 21;
static const int lapisBlock_Id = 22; static const int lapisBlock_Id = 22;
static const int dispenser_Id = 23; static const int dispenser_Id = 23;
static const int sandStone_Id = 24; static const int sandStone_Id = 24;
static const int noteblock_Id = 25; static const int musicBlock_Id = 25;
static const int bed_Id = 26; static const int bed_Id = 26;
static const int goldenRail_Id = 27; static const int goldenRail_Id = 27;
static const int detectorRail_Id = 28; static const int detectorRail_Id = 28;
static const int pistonStickyBase_Id = 29; static const int pistonStickyBase_Id = 29;
static const int web_Id = 30; static const int web_Id = 30;
static const int tallgrass_Id = 31; static const int tallgrass_Id = 31;
static const int deadBush_Id = 32; static const int deadBush_Id = 32;
static const int pistonBase_Id = 33; static const int pistonBase_Id = 33;
static const int pistonExtensionPiece_Id = 34; static const int pistonExtensionPiece_Id = 34;
static const int wool_Id = 35; static const int cloth_Id = 35;
static const int pistonMovingPiece_Id = 36; static const int pistonMovingPiece_Id = 36;
static const int flower_Id = 37; static const int flower_Id = 37;
static const int rose_Id = 38; static const int rose_Id = 38;
static const int mushroom_brown_Id = 39; static const int mushroom1_Id = 39;
static const int mushroom_red_Id = 40; static const int mushroom2_Id = 40;
static const int goldBlock_Id = 41; static const int goldBlock_Id = 41;
static const int ironBlock_Id = 42; static const int ironBlock_Id = 42;
static const int stoneSlab_Id = 43; static const int stoneSlab_Id = 43;
@@ -366,10 +346,9 @@ public:
static const int redBrick_Id = 45; static const int redBrick_Id = 45;
static const int tnt_Id = 46; static const int tnt_Id = 46;
static const int bookshelf_Id = 47; static const int bookshelf_Id = 47;
static const int mossyCobblestone_Id = 48; static const int mossStone_Id = 48;
static const int obsidian_Id = 49; static const int obsidian_Id = 49;
static const int torch_Id = 50; static const int torch_Id = 50;
static const int fire_Id = 51; static const int fire_Id = 51;
static const int mobSpawner_Id = 52; static const int mobSpawner_Id = 52;
static const int stairs_wood_Id = 53; static const int stairs_wood_Id = 53;
@@ -378,9 +357,8 @@ public:
static const int diamondOre_Id = 56; static const int diamondOre_Id = 56;
static const int diamondBlock_Id = 57; static const int diamondBlock_Id = 57;
static const int workBench_Id = 58; static const int workBench_Id = 58;
static const int wheat_Id = 59; static const int crops_Id = 59;
static const int farmland_Id = 60; static const int farmland_Id = 60;
static const int furnace_Id = 61; static const int furnace_Id = 61;
static const int furnace_lit_Id = 62; static const int furnace_lit_Id = 62;
static const int sign_Id = 63; static const int sign_Id = 63;
@@ -391,40 +369,37 @@ public:
static const int wallSign_Id = 68; static const int wallSign_Id = 68;
static const int lever_Id = 69; static const int lever_Id = 69;
static const int pressurePlate_stone_Id = 70; static const int pressurePlate_stone_Id = 70;
static const int door_iron_Id = 71; static const int door_iron_Id = 71;
static const int pressurePlate_wood_Id = 72; static const int pressurePlate_wood_Id = 72;
static const int redStoneOre_Id = 73; static const int redStoneOre_Id = 73;
static const int redStoneOre_lit_Id = 74; static const int redStoneOre_lit_Id = 74;
static const int redstoneTorch_off_Id = 75; static const int notGate_off_Id = 75;
static const int redstoneTorch_on_Id = 76; static const int notGate_on_Id = 76;
static const int button_stone_Id = 77; static const int button_stone_Id = 77;
static const int topSnow_Id = 78; static const int topSnow_Id = 78;
static const int ice_Id = 79; static const int ice_Id = 79;
static const int snow_Id = 80; static const int snow_Id = 80;
static const int cactus_Id = 81; static const int cactus_Id = 81;
static const int clay_Id = 82; static const int clay_Id = 82;
static const int reeds_Id = 83; static const int reeds_Id = 83;
static const int jukebox_Id = 84; static const int recordPlayer_Id = 84;
static const int fence_Id = 85; static const int fence_Id = 85;
static const int pumpkin_Id = 86; static const int pumpkin_Id = 86;
static const int netherRack_Id = 87; static const int hellRock_Id = 87;
static const int soulsand_Id = 88; static const int hellSand_Id = 88;
static const int glowstone_Id = 89; static const int lightGem_Id = 89;
static const int portalTile_Id = 90; static const int portalTile_Id = 90;
static const int litPumpkin_Id = 91; static const int litPumpkin_Id = 91;
static const int cake_Id = 92; static const int cake_Id = 92;
static const int diode_off_Id = 93; static const int diode_off_Id = 93;
static const int diode_on_Id = 94; static const int diode_on_Id = 94;
static const int stained_glass_Id = 95; static const int aprilFoolsJoke_Id = 95;
static const int trapdoor_Id = 96; static const int trapdoor_Id = 96;
static const int monsterStoneEgg_Id = 97;
static const int stoneBrick_Id = 98;
static const int hugeMushroom_brown_Id = 99;
static const int hugeMushroom_red_Id = 100;
static const int monsterStoneEgg_Id = 97;
static const int stoneBrickSmooth_Id = 98;
static const int hugeMushroom1_Id = 99;
static const int hugeMushroom2_Id = 100;
static const int ironFence_Id = 101; static const int ironFence_Id = 101;
static const int thinGlass_Id = 102; static const int thinGlass_Id = 102;
static const int melon_Id = 103; static const int melon_Id = 103;
@@ -433,9 +408,9 @@ public:
static const int vine_Id = 106; static const int vine_Id = 106;
static const int fenceGate_Id = 107; static const int fenceGate_Id = 107;
static const int stairs_bricks_Id = 108; static const int stairs_bricks_Id = 108;
static const int stairs_stoneBrick_Id = 109; static const int stairs_stoneBrickSmooth_Id = 109;
static const int mycel_Id = 110;
static const int mycel_Id = 110;
static const int waterLily_Id = 111; static const int waterLily_Id = 111;
static const int netherBrick_Id = 112; static const int netherBrick_Id = 112;
static const int netherFence_Id = 113; static const int netherFence_Id = 113;
@@ -446,55 +421,36 @@ public:
static const int cauldron_Id = 118; static const int cauldron_Id = 118;
static const int endPortalTile_Id = 119; static const int endPortalTile_Id = 119;
static const int endPortalFrameTile_Id = 120; static const int endPortalFrameTile_Id = 120;
static const int whiteStone_Id = 121;
static const int endStone_Id = 121;
static const int dragonEgg_Id = 122; static const int dragonEgg_Id = 122;
static const int redstoneLight_Id = 123; static const int redstoneLight_Id = 123;
static const int redstoneLight_lit_Id = 124; static const int redstoneLight_lit_Id = 124;
static const int woodSlab_Id = 125; static const int woodSlab_Id = 125;
static const int woodSlabHalf_Id = 126; static const int woodSlabHalf_Id = 126;
static const int cocoa_Id = 127; static const int cocoa_Id = 127;
static const int stairs_sandstone_Id = 128; static const int stairs_sandstone_Id = 128;
static const int emeraldOre_Id = 129;
static const int enderChest_Id = 130;
static const int tripWireSource_Id = 131;
static const int tripWire_Id = 132;
static const int emeraldBlock_Id = 133;
static const int stairs_sprucewood_Id = 134; static const int stairs_sprucewood_Id = 134;
static const int stairs_birchwood_Id = 135; static const int stairs_birchwood_Id = 135;
static const int stairs_junglewood_Id = 136; static const int stairs_junglewood_Id = 136;
static const int commandBlock_Id = 137; static const int emeraldOre_Id = 129;
static const int beacon_Id = 138; static const int enderChest_Id = 130;
static const int tripWireSource_Id = 131;
static const int tripWire_Id = 132;
static const int emeraldBlock_Id = 133;
static const int cobbleWall_Id = 139; static const int cobbleWall_Id = 139;
static const int flowerPot_Id = 140; static const int flowerPot_Id = 140;
static const int carrots_Id = 141; static const int carrots_Id = 141;
static const int potatoes_Id = 142; static const int potatoes_Id = 142;
static const int anvil_Id = 145;
static const int button_wood_Id = 143; static const int button_wood_Id = 143;
static const int skull_Id = 144; static const int skull_Id = 144;
static const int anvil_Id = 145;
static const int chest_trap_Id = 146;
static const int weightedPlate_light_Id = 147;
static const int weightedPlate_heavy_Id = 148;
static const int comparator_off_Id = 149;
static const int comparator_on_Id = 150;
static const int daylightDetector_Id = 151;
static const int redstoneBlock_Id = 152;
static const int netherQuartz_Id = 153; static const int netherQuartz_Id = 153;
static const int hopper_Id = 154;
static const int quartzBlock_Id = 155; static const int quartzBlock_Id = 155;
static const int stairs_quartz_Id = 156; static const int stairs_quartz_Id = 156;
static const int activatorRail_Id = 157;
static const int dropper_Id = 158;
static const int clayHardened_colored_Id = 159;
static const int stained_glass_pane_Id = 160;
static const int hayBlock_Id = 170;
static const int woolCarpet_Id = 171; static const int woolCarpet_Id = 171;
static const int clayHardened_Id = 172;
static const int coalBlock_Id = 173;
static Tile_SPU m_tiles[256]; static Tile_SPU m_tiles[256];
@@ -1,10 +1,10 @@
#pragma once #pragma once
#include "RotatedPillarTile_SPU.h" #include "Tile_SPU.h"
class Player; class Player;
class TreeTile_SPU : public RotatedPillarTile_SPU class TreeTile_SPU : public Tile_SPU
{ {
public: public:
static const int DARK_TRUNK = 1; static const int DARK_TRUNK = 1;
@@ -19,14 +19,29 @@ public:
static const int TREE_NAMES_LENGTH = 4; static const int TREE_NAMES_LENGTH = 4;
TreeTile_SPU(int id) : RotatedPillarTile_SPU(id) {} TreeTile_SPU(int id) : Tile_SPU(id) {}
int getRenderShape() { return Tile_SPU::SHAPE_TREE; }
public: public:
Icon_SPU *getTypeTexture(int type) { Icon_SPU *getTexture(int face, int data)
return &ms_pTileData->treeTile_icons_side[type]; {
}; int dir = data & MASK_FACING;
int type = data & MASK_TYPE;
Icon_SPU *getTopTexture(int type) { if (dir == FACING_Y && (face == Facing::UP || face == Facing::DOWN))
return &ms_pTileData->treeTile_icons_top[type]; {
}; return &ms_pTileData->treeTile_icons_top[type];
}
else if (dir == FACING_X && (face == Facing::EAST || face == Facing::WEST))
{
return &ms_pTileData->treeTile_icons_top[type];
}
else if (dir == FACING_Z && (face == Facing::NORTH || face == Facing::SOUTH))
{
return &ms_pTileData->treeTile_icons_top[type];
}
return &ms_pTileData->treeTile_icons_side[type];
}
}; };
@@ -22,7 +22,7 @@ public:
{ {
if (data == TYPE_MOSSY) if (data == TYPE_MOSSY)
{ {
return TileRef_SPU(mossyCobblestone_Id)->getTexture(face); return TileRef_SPU(mossStone_Id)->getTexture(face);
} }
return TileRef_SPU(stoneBrick_Id)->getTexture(face); return TileRef_SPU(stoneBrick_Id)->getTexture(face);
@@ -1,22 +0,0 @@
#pragma once
#include "BasePressurePlateTile_SPU.h"
class WeightedPressurePlateTile_SPU : public BasePressurePlateTile_SPU
{
public:
enum Sensitivity
{
everything, mobs, players
};
private:
Sensitivity sensitivity;
public:
WeightedPressurePlateTile_SPU(int id) : BasePressurePlateTile_SPU(id) {}
protected:
virtual int getSignalForData(int data) {
return data;
};
};
@@ -7,7 +7,7 @@ class WoolCarpetTile_SPU : public Tile_SPU
public: public:
WoolCarpetTile_SPU(int id) : Tile_SPU(id) {} WoolCarpetTile_SPU(int id) : Tile_SPU(id) {}
Icon_SPU *getTexture(int face, int data) { return TileRef_SPU(wool_Id)->getTexture(face, data); } Icon_SPU *getTexture(int face, int data) { return TileRef_SPU(cloth_Id)->getTexture(face, data); }
bool isSolidRender(bool isServerLevel = false) { return false; } bool isSolidRender(bool isServerLevel = false) { return false; }
void updateDefaultShape() { updateShape(0); } void updateDefaultShape() { updateShape(0); }
void updateShape(ChunkRebuildData *level, int x, int y, int z) { updateShape(level->getData(x, y, z)); } void updateShape(ChunkRebuildData *level, int x, int y, int z) { updateShape(level->getData(x, y, z)); }
@@ -1,11 +0,0 @@
#pragma once
#include "Tile_SPU.h"
class WoolTile_SPU : public Tile_SPU
{
public:
WoolTile_SPU(int id) : Tile_SPU(id) {}
virtual Icon_SPU *getTexture(int face, int data) { return &ms_pTileData->woolTile_icons[data]; }
};
+1
View File
@@ -1,3 +1,4 @@
#include "stdafx.h"
#include "OldSdk.h" #include "OldSdk.h"
#ifdef __PSVITA__ #ifdef __PSVITA__
+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;
+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));
}
} }
} }
Binary file not shown.
@@ -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;
+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 -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)));
}
} }
} }
+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)
+12 -12
View File
@@ -1,19 +1,19 @@
# Acacia Log # 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)