26 Commits
Author SHA1 Message Date
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
qloakandpieeebot 22bcbde6a3 fix(TU20): fixed name tag Y-position for tall mobs (wither, iron golem, wither skeleton) (#4)
title

Reviewed-on: https://git.neolegacy.dev/pieeebot/mc_pieLCE/pulls/4
Co-authored-by: qloak <realminecart@gmail.com>
Co-committed-by: qloak <realminecart@gmail.com>
2026-07-14 21:42:19 +01:00
pieeebot 8b20122798 fix: horse rendering (#3)
Reviewed-on: https://git.neolegacy.dev/pieeebot/mc_pieLCE/pulls/3
2026-07-14 21:05:11 +01:00
qloak 0672a56786 merge upstream 2026-07-14 20:59:48 +01:00
qloak 8e77eb70de fix horse layered texture rendering for platforms without multitexture support 2026-07-14 12:58:42 -07:00
pieeebot d0cc8ce080 fix(Windows64): windows build, uncap fps, double buffer, remove Sleep(0) #1
Reviewed-on: https://git.neolegacy.dev/pieeebot/mc_pieLCE/pulls/1
2026-07-14 18:32:04 +01:00
qloak a0e81976e6 fix: windows build, uncap fps, double buffer, remove Sleep(0) 2026-07-14 10:13:55 -07:00
qloak dd19188d93 fix: windows build, uncap fps, double buffer, remove Sleep(0), 2026-07-14 09:51:14 -07:00
60 changed files with 555 additions and 1800 deletions
+106
View File
@@ -0,0 +1,106 @@
name: Build & Release
on:
workflow_dispatch:
inputs:
version:
description: 'Version tag for release (e.g. v1.0.0).'
required: true
default: ''
notes:
description: 'URL to notes for release.'
required: false
default: ''
jobs:
validate:
runs-on: windows-2022
steps:
- name: Validate version format
run: |
if (-not ("${{ inputs.version }}" -match '^v\d+\.\d+\.\d+[a-zA-Z0-9.-]*$')) {
Write-Error "Version '${{ inputs.version }}' doesn't match expected format (e.g. v1.0.0)"
exit 1
}
build:
runs-on: windows-2022
strategy:
matrix:
configuration: [Release]
platform: [PS3, Windows64] #[PS3, PSVita, Xbox 360, ORBIS, Windows64]
steps:
- name: Checkout Repository
uses: https://github.com/actions/checkout@v4
- name: Build Cafeberry
run: |
& "C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe" MinecraftConsoles.sln `
/p:Configuration=${{ matrix.configuration }} `
/p:Platform=${{ matrix.platform }} `
/m
- name: Zip Build (Consoles)
if: matrix.platform != 'Windows64'
run: 7z a -r LCE${{ matrix.platform }}.zip ./${{ matrix.platform }}_${{ matrix.configuration }}/* "-x!*.ipdb" "-x!*.iobj"
- name: Zip Build (Windows64)
if: matrix.platform == 'Windows64'
run: 7z a -r LCE${{ matrix.platform }}.zip ./x64/${{ matrix.configuration }}/* "-x!*.ipdb" "-x!*.iobj"
- name: Stage artifacts
run: |
New-Item -ItemType Directory -Force -Path staging
Copy-Item LCE${{ matrix.platform }}.zip staging/
- name: Stage exe
if: matrix.platform == 'Windows64'
run: |
Copy-Item ./x64/${{ matrix.configuration }}/Minecraft.Client.exe staging/
- name: Upload artifacts
uses: https://github.com/actions/upload-artifact@v3
with:
name: build-${{ matrix.platform }}
path: staging/*
release:
needs: build
runs-on: windows-2022
steps:
- name: Download all build artifacts
uses: https://github.com/actions/download-artifact@v3
with:
path: downloaded
- name: Fetch release notes
id: notes
run: |
$notesSource = "${{ inputs.notes }}"
$fallback = "## Cafeberry`n`n### Whoever made this release forgot to put notes, sorry!"
if ($notesSource -match '^https?://') {
try {
$body = (Invoke-WebRequest -Uri $notesSource -UseBasicParsing).Content
if ([string]::IsNullOrWhiteSpace($body)) { $body = $fallback }
} catch {
$body = $fallback
}
}
"description<<EOF`n$body`nEOF" | Out-File -Append -Encoding utf8 -NoNewline:$false $env:GITHUB_OUTPUT
- name: Publish Release
uses: akkuman/gitea-release-action@v1
with:
name: ${{ inputs.version }}
server_url: ${{ gitea.server_url }}
repository: ${{ gitea.repository }}
token: ${{ gitea.token }}
tag_name: ${{ inputs.version }}
prerelease: false
verbose: true
files: downloaded/**/*
body: ${{ steps.notes.outputs.description }}
@@ -9,7 +9,9 @@ const wstring LeaderboardManager::filterNames[eNumFilterModes] =
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;
#endif
void LeaderboardManager::DeleteInstance()
{
@@ -402,7 +402,7 @@ wstring CScene_TutorialPopup::_SetIcon(int icon, int iAuxVal, bool isFoil, LPCWS
}
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
{
+1 -1
View File
@@ -6,7 +6,7 @@
// 4J - added
void CreeperModel::_init(float g)
{
int yo = 4;
int yo = 6;
head = new ModelPart(this, 0, 0);
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(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::wool_Id, 1);
sp->addArgs(DsItemEvent::eAcquisitionMethod_Pickedup, Tile::wool_Id, 2);
sp->addArgs(DsItemEvent::eAcquisitionMethod_Pickedup, Tile::wool_Id, 3);
sp->addArgs(DsItemEvent::eAcquisitionMethod_Pickedup, Tile::wool_Id, 4);
sp->addArgs(DsItemEvent::eAcquisitionMethod_Pickedup, Tile::wool_Id, 5);
sp->addArgs(DsItemEvent::eAcquisitionMethod_Pickedup, Tile::wool_Id, 6);
sp->addArgs(DsItemEvent::eAcquisitionMethod_Pickedup, Tile::wool_Id, 7);
sp->addArgs(DsItemEvent::eAcquisitionMethod_Pickedup, Tile::wool_Id, 8);
sp->addArgs(DsItemEvent::eAcquisitionMethod_Pickedup, Tile::wool_Id, 9);
sp->addArgs(DsItemEvent::eAcquisitionMethod_Pickedup, Tile::wool_Id, 10);
sp->addArgs(DsItemEvent::eAcquisitionMethod_Pickedup, Tile::wool_Id, 11);
sp->addArgs(DsItemEvent::eAcquisitionMethod_Pickedup, Tile::wool_Id, 12);
sp->addArgs(DsItemEvent::eAcquisitionMethod_Pickedup, Tile::wool_Id, 13);
sp->addArgs(DsItemEvent::eAcquisitionMethod_Pickedup, Tile::wool_Id, 14);
sp->addArgs(DsItemEvent::eAcquisitionMethod_Pickedup, Tile::wool_Id, 15);
sp->addArgs(DsItemEvent::eAcquisitionMethod_Pickedup, Tile::cloth_Id, 0); // fixed (+ach 'Rainbow Collection')
sp->addArgs(DsItemEvent::eAcquisitionMethod_Pickedup, Tile::cloth_Id, 1);
sp->addArgs(DsItemEvent::eAcquisitionMethod_Pickedup, Tile::cloth_Id, 2);
sp->addArgs(DsItemEvent::eAcquisitionMethod_Pickedup, Tile::cloth_Id, 3);
sp->addArgs(DsItemEvent::eAcquisitionMethod_Pickedup, Tile::cloth_Id, 4);
sp->addArgs(DsItemEvent::eAcquisitionMethod_Pickedup, Tile::cloth_Id, 5);
sp->addArgs(DsItemEvent::eAcquisitionMethod_Pickedup, Tile::cloth_Id, 6);
sp->addArgs(DsItemEvent::eAcquisitionMethod_Pickedup, Tile::cloth_Id, 7);
sp->addArgs(DsItemEvent::eAcquisitionMethod_Pickedup, Tile::cloth_Id, 8);
sp->addArgs(DsItemEvent::eAcquisitionMethod_Pickedup, Tile::cloth_Id, 9);
sp->addArgs(DsItemEvent::eAcquisitionMethod_Pickedup, Tile::cloth_Id, 10);
sp->addArgs(DsItemEvent::eAcquisitionMethod_Pickedup, Tile::cloth_Id, 11);
sp->addArgs(DsItemEvent::eAcquisitionMethod_Pickedup, Tile::cloth_Id, 12);
sp->addArgs(DsItemEvent::eAcquisitionMethod_Pickedup, Tile::cloth_Id, 13);
sp->addArgs(DsItemEvent::eAcquisitionMethod_Pickedup, Tile::cloth_Id, 14);
sp->addArgs(DsItemEvent::eAcquisitionMethod_Pickedup, Tile::cloth_Id, 15);
out->m_stats.push_back(sp);
@@ -166,20 +166,20 @@ DurangoStatsDebugger *DurangoStatsDebugger::Initialize()
sp = new StatParam(L"BlockBroken.BlockId.*");
sp->addArgs( Tile::dirt_Id );
sp->addArgs( Tile::stone_Id );
sp->addArgs( Tile::rock_Id );
sp->addArgs( Tile::emeraldOre_Id );
out->m_stats.push_back(sp);
sp = new StatParam(L"BlockBroken.BlockId.*.BlockAux.*");
sp->addArgs( Tile::dirt_Id, 0 );
sp->addArgs( Tile::stone_Id, 0 );
sp->addArgs( Tile::rock_Id, 0 );
out->m_stats.push_back(sp);
sp = new StatParam(L"BlockBroken.DifficultyLevelId.*.BlockId.*");
sp->addArgs( 1, Tile::dirt_Id );
sp->addArgs( 2, Tile::dirt_Id );
sp->addArgs( 1, Tile::stone_Id );
sp->addArgs( 2, Tile::stone_Id );
sp->addArgs( 1, Tile::rock_Id );
sp->addArgs( 2, Tile::rock_Id );
out->m_stats.push_back(sp);
sp = new StatParam(L"BlockBroken");
@@ -188,7 +188,7 @@ DurangoStatsDebugger *DurangoStatsDebugger::Initialize()
sp = new StatParam(L"BlockPlaced.BlockId.*");
sp->addArgs( Tile::dirt_Id );
sp->addArgs( Tile::cobblestone_Id );
sp->addArgs( Tile::stoneBrick_Id );
sp->addArgs( Tile::sand_Id ); // works
sp->addArgs( Tile::sign_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
{
EntityRenderer::bindTexture(mob);
model->render(mob, wp, ws, bob, headRotMinusBodyRot, headRotx, scale, true);
// Ensure that any extra layers of texturing are disabled after rendering this horse
shared_ptr<EntityHorse> horse = dynamic_pointer_cast<EntityHorse>(mob);
ResourceLocation *location = getTextureLocation(mob);
// 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);
}
}
+1 -1
View File
@@ -491,7 +491,7 @@ void LivingEntityRenderer::renderNameTag(shared_ptr<LivingEntity> mob, const wst
float s = 1 / 60.0f * size;
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);
glRotatef(-this->entityRenderDispatcher->playerRotY, 0, 1, 0);
+49 -55
View File
@@ -630,7 +630,6 @@
<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>
<PreBuildEventUseInBuild>false</PreBuildEventUseInBuild>
<PostBuildEventUseInBuild>true</PostBuildEventUseInBuild>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|PSVita'">
<LinkIncremental>true</LinkIncremental>
@@ -642,7 +641,6 @@
<LinkIncremental>true</LinkIncremental>
<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>
<PostBuildEventUseInBuild>true</PostBuildEventUseInBuild>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ContentPackage_Vita|PS3'">
<LinkIncremental>true</LinkIncremental>
@@ -1437,7 +1435,7 @@ if not exist "$(TargetDir)\savedata" mkdir "$(TargetDir)\savedata"</Command>
<ExceptionHandling>Sync</ExceptionHandling>
<BufferSecurityCheck>false</BufferSecurityCheck>
<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>
<CallAttributedProfiling>Disabled</CallAttributedProfiling>
<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>
</PostBuildEvent>
</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'">
<ClCompile>
<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)'=='CONTENTPACKAGE_SYMBOLS|PSVita'">true</ExcludedFromBuild>
</ClInclude>
<ClInclude Include="PS3\SPU_Tasks\ChunkUpdate\BaseRailTile_SPU.h" />
<ClInclude Include="PS3\SPU_Tasks\ChunkUpdate\BedTile_SPU.h">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage|x64'">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)'=='CONTENTPACKAGE_SYMBOLS|PSVita'">true</ExcludedFromBuild>
</ClInclude>
<ClInclude Include="PS3\SPU_Tasks\ChunkUpdate\DaylightDetectorTile_SPU.h" />
<ClInclude Include="PS3\SPU_Tasks\ChunkUpdate\DetectorRailTile_SPU.h">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage|x64'">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)'=='CONTENTPACKAGE_SYMBOLS|PSVita'">true</ExcludedFromBuild>
</ClInclude>
<ClInclude Include="PS3\SPU_Tasks\ChunkUpdate\DropperTile_SPU.h" />
<ClInclude Include="PS3\SPU_Tasks\ChunkUpdate\EggTile_SPU.h">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage|x64'">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)'=='CONTENTPACKAGE_SYMBOLS|PSVita'">true</ExcludedFromBuild>
</ClInclude>
<ClInclude Include="PS3\SPU_Tasks\ChunkUpdate\HayBlockTile_SPU.h" />
<ClInclude Include="PS3\SPU_Tasks\ChunkUpdate\HugeMushroomTile_SPU.h">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage|x64'">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)'=='CONTENTPACKAGE_SYMBOLS|PSVita'">true</ExcludedFromBuild>
</ClInclude>
<ClInclude Include="PS3\SPU_Tasks\ChunkUpdate\PoweredRailTile_SPU.h" />
<ClInclude Include="PS3\SPU_Tasks\ChunkUpdate\BasePressurePlateTile_SPU.h">
<ClInclude Include="PS3\SPU_Tasks\ChunkUpdate\PressurePlateTile_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>
@@ -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)'=='CONTENTPACKAGE_SYMBOLS|PSVita'">true</ExcludedFromBuild>
</ClInclude>
<ClInclude Include="PS3\SPU_Tasks\ChunkUpdate\PressurePlateTile_SPU.h" />
<ClInclude Include="PS3\SPU_Tasks\ChunkUpdate\PumpkinTile_SPU.h">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage|x64'">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)'=='CONTENTPACKAGE_SYMBOLS|PSVita'">true</ExcludedFromBuild>
</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">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage|x64'">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)'=='CONTENTPACKAGE_SYMBOLS|PSVita'">true</ExcludedFromBuild>
</ClInclude>
<ClInclude Include="PS3\SPU_Tasks\ChunkUpdate\RotatedPillarTile_SPU.h" />
<ClInclude Include="PS3\SPU_Tasks\ChunkUpdate\SandStoneTile_SPU.h">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage|x64'">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)'=='CONTENTPACKAGE_SYMBOLS|PSVita'">true</ExcludedFromBuild>
</ClInclude>
<ClInclude Include="PS3\SPU_Tasks\ChunkUpdate\WeightedPressurePlateTile_SPU.h" />
<ClInclude Include="PS3\SPU_Tasks\ChunkUpdate\WoodTile_SPU.h">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage|x64'">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)'=='CONTENTPACKAGE_SYMBOLS|PSVita'">true</ExcludedFromBuild>
</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|Win32'">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)'=='ContentPackage_NO_TU|x64'">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)'=='ContentPackage_Vita|x64'">false</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ContentPackage_Vita|Win32'">false</ExcludedFromBuild>
@@ -2665,9 +2665,15 @@
<ClInclude Include="PS3\SPU_Tasks\ChunkUpdate\PortalTile_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\PumpkinTile_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\RecordPlayerTile_SPU.h">
<Filter>PS3\ChunkRebuild_SPU</Filter>
</ClInclude>
@@ -3769,36 +3775,6 @@
<ClInclude Include="PSVita\OldSdk.h">
<Filter>PSVita</Filter>
</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>
<ClCompile Include="stdafx.cpp">
@@ -5025,6 +5001,9 @@
<ClCompile Include="PS3\SPU_Tasks\ChunkUpdate\LiquidTile_SPU.cpp">
<Filter>PS3\ChunkRebuild_SPU</Filter>
</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">
<Filter>PS3\ChunkRebuild_SPU</Filter>
</ClCompile>
@@ -5940,9 +5919,6 @@
<ClCompile Include="PSVita\OldSdk.cpp">
<Filter>PSVita</Filter>
</ClCompile>
<ClCompile Include="PS3\SPU_Tasks\ChunkUpdate\BasePressurePlateTile_SPU.cpp">
<Filter>PS3\ChunkRebuild_SPU</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<Library Include="Xbox\4JLibs\libs\4J_Render_d.lib">
+1 -1
View File
@@ -1858,7 +1858,7 @@ void Minecraft::run_middle()
achievementPopup->render();
PIXBeginNamedEvent(0,"Sleeping");
Sleep(0); // 4J - was Thread.yield()
//Sleep(0); // 4J - was Thread.yield()
PIXEndNamedEvent();
// if (Keyboard::isKeyDown(Keyboard::KEY_F7)) Display.update(); // 4J - removed condition
+5 -1
View File
@@ -116,7 +116,11 @@ void Options::init()
bobView = true;
anaglyph3d = false;
advancedOpengl = false;
framerateLimit = 2;
#ifdef _WINDOWS64
framerateLimit = 0;
#else
framerateLimit = 2;
#endif
fancyGraphics = true;
ambientOcclusion = true;
renderClouds = true;
File diff suppressed because it is too large Load Diff
@@ -1,109 +1,32 @@
#pragma once
#include "Common\Leaderboards\SonyLeaderboardManager.h"
#include "Common\Leaderboards\LeaderboardManager.h"
class OrbisLeaderboardManager : public LeaderboardManager
{
protected:
enum EStatsState
{
eStatsState_Idle,
eStatsState_Getting,
eStatsState_Failed,
eStatsState_Ready,
eStatsState_Canceled,
//eStatsState_Writing,
eStatsState_Max
};
#include <np.h>
class OrbisLeaderboardManager : public SonyLeaderboardManager
{
public:
OrbisLeaderboardManager();
virtual ~OrbisLeaderboardManager();
private:
unsigned short m_openSessions;
protected:
C4JThread *m_threadScoreboard;
bool m_running;
virtual HRESULT initialiseScoreUtility();
int m_titleContext;
int32_t m_requestId;
virtual bool scoreUtilityAlreadyInitialised(HRESULT hr);
//SceNpId m_myNpId;
virtual HRESULT createTitleContext(const SceNpId &npId);
static int scoreboardThreadEntry(LPVOID lpParam);
void scoreboardThreadInternal();
virtual HRESULT destroyTitleContext(int titleContext);
bool getScoreByIds();
bool getScoreByRange();
virtual HRESULT createTransactionContext(int titleContext);
bool setScore();
queue<RegisterScore> m_views;
virtual HRESULT abortTransactionContext(int transactionContext);
CRITICAL_SECTION m_csViewsLock;
virtual HRESULT destroyTransactionContext(int transactionContext);
EStatsState m_eStatsState; //State of the stats read
// EFilterMode m_eFilterMode;
virtual HRESULT getFriendsList(sce::Toolkit::NP::Utilities::Future<sce::Toolkit::NP::FriendsList> &friendsList);
ReadScore *m_scores;
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();
virtual char * getComment(SceNpScoreComment *comment);
};
@@ -242,10 +242,11 @@ C4JSpursJob_ChunkUpdate::C4JSpursJob_ChunkUpdate(ChunkRebuildData* pDataIn, Chun
extern const CellSpursJobHeader JOBHEADER_SYMBOL(ChunkUpdate);
//E create job
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[1] = (uintptr_t)pDataOut;
assert(cellSpursJobQueueCheckJob(&m_job256, 256, 256) == CELL_OK);
}
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)
return TileRef_SPU(wood_Id)->getTexture(Facing::UP);
else
return TileRef_SPU(stone_Id)->getTexture(Facing::UP);
return TileRef_SPU(rock_Id)->getTexture(Facing::UP);
}
virtual bool blocksLight() { 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 "Tile_SPU.h"
#include "ChunkRebuildData.h"
//TileData_SPU g_tileSPUData;
TileData_SPU g_tileSPUData;
static const int MAX_LEVEL_SIZE = 30000000;
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
// 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);
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);
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);
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);
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
// if they are surrounded on sides other than the bottom
if( iY > 0 )
{
tileID = getTile(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);
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.
setFlag(iX, iY, iZ, e_flag_NoRender);
@@ -157,7 +157,7 @@ void ChunkRebuildData::buildMaterials()
buildMaterial(Material_SPU::plant_Id, Material::plant);
buildMaterial(Material_SPU::replaceable_plant_Id, Material::replaceable_plant);
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::sand_Id, Material::sand);
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::replaceable_plant)return Material_SPU::replaceable_plant_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::sand) return Material_SPU::sand_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_iconFrontVertical, ((DispenserTile*)Tile::dispenser)->iconFrontVertical);
setIconSPUFromIcon(&m_tileData.dropperTile_iconFront, ((DropperTile*)Tile::dropper)->iconFront);
setIconSPUFromIcon(&m_tileData.dropperTile_iconFrontVertical, ((DropperTile*)Tile::dropper)->iconFrontVertical);
// RailTile
setIconSPUFromIcon(&m_tileData.railTile_iconTurn, ((RailTile*)Tile::rail)->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);
setIconSPUFromIcon(&m_tileData.railTile_iconTurnGolden, ((RailTile*)Tile::goldenRail)->iconTurn);
for(int i=0;i<2;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);
//ColoredTile
for(int i=0;i<16;i++)
setIconSPUFromIcon(&m_tileData.woolTile_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]);
setIconSPUFromIcon(&m_tileData.clothTile_icons[i], ((ColoredTile*)Tile::wool)->icons[i]);
// CarrotTile
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_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;
@@ -59,7 +59,7 @@ public:
int m_lastHitBlockX;
int m_lastHitBlockY;
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 ); }
@@ -115,7 +115,6 @@
<ClInclude Include="WorkbenchTile_SPU.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="BasePressurePlateTile_SPU.cpp" />
<ClCompile Include="ChunkRebuildData.cpp" />
<ClCompile Include="DiodeTile_SPU.cpp" />
<ClCompile Include="Direction_SPU.cpp" />
@@ -127,6 +126,7 @@
<ClCompile Include="Icon_SPU.cpp" />
<ClCompile Include="LeafTile_SPU.cpp" />
<ClCompile Include="LiquidTile_SPU.cpp" />
<ClCompile Include="PressurePlateTile_SPU.cpp" />
<ClCompile Include="StairTile_SPU.cpp" />
<ClCompile Include="TallGrass_SPU.cpp" />
<ClCompile Include="task.cpp" />
@@ -142,6 +142,9 @@
<ClCompile Include="LiquidTile_SPU.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="PressurePlateTile_SPU.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="StairTile_SPU.cpp">
<Filter>Source Files</Filter>
</ClCompile>
@@ -163,8 +166,5 @@
<ClCompile Include="TileRenderer_SPU.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="BasePressurePlateTile_SPU.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
</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"
class DetectorRailTile_SPU : public BaseRailTile_SPU
class DetectorRailTile_SPU : public RailTile_SPU
{
public:
DetectorRailTile_SPU(int id) : BaseRailTile_SPU(id) {}
DetectorRailTile_SPU(int id) : RailTile_SPU(id) {}
Icon_SPU *getTexture(int face, int data)
{
if ((data & RAIL_DATA_BIT) != 0)
@@ -21,9 +21,9 @@ public:
{
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)
{
@@ -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::tnt_Id:
case Tile_SPU::tallgrass_Id:
case Tile_SPU::wool_Id:
case Tile_SPU::cloth_Id:
case Tile_SPU::vine_Id:
return true;
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* icons = ms_pTileData->hugeMushroom_icons;
int type = 0; // hugemushroom_brown_Id
if(id == hugeMushroom_red_Id)
int type = 0; // hugeMushroom1_Id
if(id == hugeMushroom2_Id)
type = 1;
// 123
// 456 10
@@ -19,7 +19,7 @@ public:
static const int plant_Id = 9;
static const int replaceable_plant_Id = 10;
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 sand_Id = 14;
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
#include "BasePressurePlateTile_SPU.h"
#include "Tile_SPU.h"
class PressurePlateTile_SPU : public BasePressurePlateTile_SPU
class PressurePlateTile_SPU : public Tile_SPU
{
public:
enum Sensitivity
enum Sensitivity
{
everything, mobs, players
};
everything,
mobs,
players
};
private:
Sensitivity sensitivity;
PressurePlateTile_SPU(int id) : Tile_SPU(id) {}
virtual bool isSolidRender(bool isServerLevel = false);
virtual bool blocksLight();
public:
PressurePlateTile_SPU(int id) : BasePressurePlateTile_SPU(id) {}
protected:
virtual int getSignalForData(int data) {
// 15 is Redstone::SIGNAL_MAX
return data == 1 ? 15 : 0;
};
};
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();
};
@@ -1,21 +1,58 @@
#pragma once
#include "Tile_SPU.h"
#include "BaseRailTile_SPU.h"
class RailTile_SPU : public BaseRailTile_SPU
class RailTile_SPU : public Tile_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;
}
else
setShape(0, 0, 0, 1, 2 / 16.0f + 0.5f, 1);
} 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_stone_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_sandstone_Id:
case Tile_SPU::stairs_sprucewood_Id:
@@ -21,12 +21,12 @@ public:
{
if (data == HOST_COBBLE)
{
return TileRef_SPU(cobblestone_Id)->getTexture(face);
return TileRef_SPU(stoneBrick_Id)->getTexture(face);
}
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:
return TileRef_SPU(wood_Id)->getTexture(face); //Tile::wood->getTexture(face);
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:
return TileRef_SPU(redBrick_Id)->getTexture(face); //Tile::redBrick->getTexture(face);
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:
return TileRef_SPU(netherBrick_Id)->getTexture(Facing::UP); //Tile::netherBrick->getTexture(Facing::UP);
case QUARTZ_SLAB:
@@ -12,7 +12,6 @@
#include "DirtTile_SPU.h"
#include "DoorTile_SPU.h"
#include "PressurePlateTile_SPU.h"
#include "WeightedPressurePlateTile_SPU.h"
#include "FarmTile_SPU.h"
#include "Bush_SPU.h"
#include "TallGrass_SPU.h"
@@ -33,10 +32,7 @@
#include "IceTile_SPU.h"
#include "PortalTile_SPU.h"
#include "DispenserTile_SPU.h"
#include "DropperTile_SPU.h"
#include "RailTile_SPU.h"
#include "PoweredRailTile_SPU.h"
#include "ActivatorRailTile_SPU.h"
#include "DetectorRailTile_SPU.h"
#include "TntTile_SPU.h"
#include "BookshelfTile_SPU.h"
@@ -75,7 +71,7 @@
#include "EggTile_SPU.h"
#include "CocoaTile_SPU.h"
#include "RedlightTile_SPU.h"
#include "WoolTile_SPU.h"
#include "ClothTile_SPU.h"
#include "SkullTile_SPU.h"
#include "MobSpawnerTile_SPU.h"
#include "EnderChestTile_SPU.h"
@@ -87,9 +83,6 @@
#include "PotatoTile_SPU.h"
#include "QuartzBlockTile_SPU.h"
#include "WoolCarpetTile_SPU.h"
#include "ColoredClay_SPU.h"
#include "HayBlockTile_SPU.h"
#include "DaylightDetectorTile_SPU.h"
#ifdef SN_TARGET_PS3_SPU
#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)
// {
// // 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 )
// player->awardStat(Stats::blocksMined[id], 1);
@@ -688,7 +681,6 @@ void Tile_SPU::initTilePointers()
CREATE_TILE_TYPE(woodSlabHalf_Id, WoodSlabTile_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(thinGlass_Id, ThinFenceTile_SPU);
@@ -699,7 +691,7 @@ void Tile_SPU::initTilePointers()
CREATE_TILE_TYPE(stairs_wood_Id, StairTile_SPU);
CREATE_TILE_TYPE(stairs_stone_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_sandstone_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_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(flower_Id, Bush_SPU);
@@ -733,19 +722,19 @@ void Tile_SPU::initTilePointers()
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(torch_Id, TorchTile_SPU);
CREATE_TILE_TYPE(redstoneTorch_off_Id, TorchTile_SPU); // TorchTile->NotGateTile
CREATE_TILE_TYPE(redstoneTorch_on_Id, TorchTile_SPU); // TorchTile->NotGateTile
CREATE_TILE_TYPE(notGate_off_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(mushroom_red_Id, Mushroom_SPU);
CREATE_TILE_TYPE(mushroom1_Id, Mushroom_SPU);
CREATE_TILE_TYPE(mushroom2_Id, Mushroom_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_lit_Id, FurnaceTile_SPU);
@@ -768,12 +757,9 @@ void Tile_SPU::initTilePointers()
CREATE_TILE_TYPE(portalTile_Id, PortalTile_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(goldenRail_Id, PoweredRailTile_SPU);
CREATE_TILE_TYPE(activatorRail_Id, ActivatorRailTile_SPU);
CREATE_TILE_TYPE(goldenRail_Id, RailTile_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(jukebox_Id, RecordPlayerTile_SPU);
CREATE_TILE_TYPE(recordPlayer_Id, RecordPlayerTile_SPU);
CREATE_TILE_TYPE(pumpkin_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(stoneBrick_Id, SmoothStoneBrickTile_SPU);
CREATE_TILE_TYPE(stoneBrickSmooth_Id, SmoothStoneBrickTile_SPU);
CREATE_TILE_TYPE(hugeMushroom_brown_Id, HugeMushroomTile_SPU);
CREATE_TILE_TYPE(hugeMushroom_red_Id, HugeMushroomTile_SPU);
CREATE_TILE_TYPE(hugeMushroom1_Id, HugeMushroomTile_SPU);
CREATE_TILE_TYPE(hugeMushroom2_Id, HugeMushroomTile_SPU);
CREATE_TILE_TYPE(melon_Id, MelonTile_SPU);
@@ -861,18 +847,16 @@ void Tile_SPU::initTilePointers()
CREATE_TILE_TYPE(skull_Id, SkullTile_SPU);
// these tile types don't have any additional code that we need.
CREATE_TILE_TYPE(cobblestone_Id, Tile_SPU); // Tile
// these tile types don't have any additional code that we need.
CREATE_TILE_TYPE(stoneBrick_Id, Tile_SPU); // Tile
CREATE_TILE_TYPE(lapisBlock_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(endStone_Id, Tile_SPU);
CREATE_TILE_TYPE(whiteStone_Id, Tile_SPU);
CREATE_TILE_TYPE(unbreakable_Id, Tile_SPU);
CREATE_TILE_TYPE(sponge_Id, Tile_SPU);
CREATE_TILE_TYPE(coalBlock_Id, Tile_SPU);
CREATE_TILE_TYPE(redstoneBlock_Id, Tile_SPU);
CREATE_TILE_TYPE(stone_Id, Tile_SPU); // StoneTile
CREATE_TILE_TYPE(rock_Id, Tile_SPU); // StoneTile
CREATE_TILE_TYPE(obsidian_Id, Tile_SPU); // StoneTile->ObsidianTile
CREATE_TILE_TYPE(sand_Id, Tile_SPU); // HeavyTile
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(diamondBlock_Id, Tile_SPU); // MetalTile
CREATE_TILE_TYPE(snow_Id, Tile_SPU); // SnowTile
CREATE_TILE_TYPE(netherRack_Id, Tile_SPU); // NetherrackTile
CREATE_TILE_TYPE(soulsand_Id, Tile_SPU); // SoulSandTile
CREATE_TILE_TYPE(glowstone_Id, Tile_SPU); // Glowstonetile
// got replaced by stained_glass_Id, rest in peace locked chest
//CREATE_TILE_TYPE(aprilFoolsJoke_Id , Tile_SPU); // LockedChestTile
CREATE_TILE_TYPE(clayHardened_Id, Tile_SPU); // ColoredTile
CREATE_TILE_TYPE(hellRock_Id, Tile_SPU); // HellStoneTile
CREATE_TILE_TYPE(hellSand_Id, Tile_SPU); // HellSandTile
CREATE_TILE_TYPE(lightGem_Id, Tile_SPU); // LightGemTile
CREATE_TILE_TYPE(aprilFoolsJoke_Id, Tile_SPU); // LockedChestTile
CREATE_TILE_TYPE(wool_Id, WoolTile_SPU); // wool
CREATE_TILE_TYPE(clayHardened_colored_Id, ColoredClay_SPU); // wool
CREATE_TILE_TYPE(cloth_Id, ClothTile_SPU); // wool
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(stairs_quartz_Id, StairTile_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_iconFrontVertical;
Icon_SPU dropperTile_iconFront;
Icon_SPU dropperTile_iconFrontVertical;
Icon_SPU railTile_iconTurn;
Icon_SPU poweredRailTile_icon;
Icon_SPU poweredRailTile_iconPowered;
Icon_SPU activatorRailTile_icon;
Icon_SPU activatorRailTile_iconPowered;
Icon_SPU railTile_iconTurnGolden;
Icon_SPU detectorRailTile_icons[2];
@@ -184,7 +178,7 @@ public:
Icon_SPU redStoneDust_iconCrossOver;
Icon_SPU redStoneDust_iconLineOver;
Icon_SPU woolTile_icons[16];
Icon_SPU clothTile_icons[16];
Icon_SPU stoneSlab_iconSide;
@@ -199,12 +193,6 @@ public:
Icon_SPU quartzBlock_iconTop;
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
@@ -308,24 +296,19 @@ public:
static const int SHAPE_FLOWER_POT = 33;
static const int SHAPE_BEACON = 34;
static const int SHAPE_ANVIL = 35;
static const int SHAPE_HOPPER = 38;
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
static const int stone_Id = 1;
static const int rock_Id = 1;
static const int grass_Id = 2;
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 sapling_Id = 6;
static const int unbreakable_Id = 7;
static const int water_Id = 8;
static const int calmWater_Id = 9;
static const int lava_Id = 10;
static const int calmLava_Id = 11;
static const int sand_Id = 12;
static const int gravel_Id = 13;
@@ -336,29 +319,26 @@ public:
static const int leaves_Id = 18;
static const int sponge_Id = 19;
static const int glass_Id = 20;
static const int lapisOre_Id = 21;
static const int lapisBlock_Id = 22;
static const int dispenser_Id = 23;
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 goldenRail_Id = 27;
static const int detectorRail_Id = 28;
static const int pistonStickyBase_Id = 29;
static const int web_Id = 30;
static const int tallgrass_Id = 31;
static const int deadBush_Id = 32;
static const int pistonBase_Id = 33;
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 flower_Id = 37;
static const int rose_Id = 38;
static const int mushroom_brown_Id = 39;
static const int mushroom_red_Id = 40;
static const int mushroom1_Id = 39;
static const int mushroom2_Id = 40;
static const int goldBlock_Id = 41;
static const int ironBlock_Id = 42;
static const int stoneSlab_Id = 43;
@@ -366,10 +346,9 @@ public:
static const int redBrick_Id = 45;
static const int tnt_Id = 46;
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 torch_Id = 50;
static const int fire_Id = 51;
static const int mobSpawner_Id = 52;
static const int stairs_wood_Id = 53;
@@ -378,9 +357,8 @@ public:
static const int diamondOre_Id = 56;
static const int diamondBlock_Id = 57;
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 furnace_Id = 61;
static const int furnace_lit_Id = 62;
static const int sign_Id = 63;
@@ -391,40 +369,37 @@ public:
static const int wallSign_Id = 68;
static const int lever_Id = 69;
static const int pressurePlate_stone_Id = 70;
static const int door_iron_Id = 71;
static const int pressurePlate_wood_Id = 72;
static const int redStoneOre_Id = 73;
static const int redStoneOre_lit_Id = 74;
static const int redstoneTorch_off_Id = 75;
static const int redstoneTorch_on_Id = 76;
static const int notGate_off_Id = 75;
static const int notGate_on_Id = 76;
static const int button_stone_Id = 77;
static const int topSnow_Id = 78;
static const int ice_Id = 79;
static const int snow_Id = 80;
static const int cactus_Id = 81;
static const int clay_Id = 82;
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 pumpkin_Id = 86;
static const int netherRack_Id = 87;
static const int soulsand_Id = 88;
static const int glowstone_Id = 89;
static const int hellRock_Id = 87;
static const int hellSand_Id = 88;
static const int lightGem_Id = 89;
static const int portalTile_Id = 90;
static const int litPumpkin_Id = 91;
static const int cake_Id = 92;
static const int diode_off_Id = 93;
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 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 thinGlass_Id = 102;
static const int melon_Id = 103;
@@ -433,9 +408,9 @@ public:
static const int vine_Id = 106;
static const int fenceGate_Id = 107;
static const int stairs_bricks_Id = 108;
static const int stairs_stoneBrick_Id = 109;
static const int mycel_Id = 110;
static const int stairs_stoneBrickSmooth_Id = 109;
static const int mycel_Id = 110;
static const int waterLily_Id = 111;
static const int netherBrick_Id = 112;
static const int netherFence_Id = 113;
@@ -446,55 +421,36 @@ public:
static const int cauldron_Id = 118;
static const int endPortalTile_Id = 119;
static const int endPortalFrameTile_Id = 120;
static const int endStone_Id = 121;
static const int whiteStone_Id = 121;
static const int dragonEgg_Id = 122;
static const int redstoneLight_Id = 123;
static const int redstoneLight_lit_Id = 124;
static const int woodSlab_Id = 125;
static const int woodSlabHalf_Id = 126;
static const int cocoa_Id = 127;
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_birchwood_Id = 135;
static const int stairs_junglewood_Id = 136;
static const int commandBlock_Id = 137;
static const int beacon_Id = 138;
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 cobbleWall_Id = 139;
static const int flowerPot_Id = 140;
static const int carrots_Id = 141;
static const int potatoes_Id = 142;
static const int anvil_Id = 145;
static const int button_wood_Id = 143;
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 hopper_Id = 154;
static const int quartzBlock_Id = 155;
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 clayHardened_Id = 172;
static const int coalBlock_Id = 173;
static Tile_SPU m_tiles[256];
@@ -1,10 +1,10 @@
#pragma once
#include "RotatedPillarTile_SPU.h"
#include "Tile_SPU.h"
class Player;
class TreeTile_SPU : public RotatedPillarTile_SPU
class TreeTile_SPU : public Tile_SPU
{
public:
static const int DARK_TRUNK = 1;
@@ -19,14 +19,29 @@ public:
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:
Icon_SPU *getTypeTexture(int type) {
return &ms_pTileData->treeTile_icons_side[type];
};
Icon_SPU *getTexture(int face, int data)
{
int dir = data & MASK_FACING;
int type = data & MASK_TYPE;
Icon_SPU *getTopTexture(int type) {
return &ms_pTileData->treeTile_icons_top[type];
};
if (dir == FACING_Y && (face == Facing::UP || face == Facing::DOWN))
{
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)
{
return TileRef_SPU(mossyCobblestone_Id)->getTexture(face);
return TileRef_SPU(mossStone_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:
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; }
void updateDefaultShape() { updateShape(0); }
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"
#ifdef __PSVITA__
+5 -1
View File
@@ -434,7 +434,11 @@ void Textures::bindTextureLayers(ResourceLocation *resource)
for( int i = 0; i < layers; i++ )
{
RenderManager.TextureBind(loadTexture(resource->getTexture(i)));
int texId = resource->getTexture(i);
if( texId != -1 )
{
RenderManager.TextureBind(loadTexture(texId));
}
}
}
@@ -498,7 +498,7 @@ app.DebugPrintf("width: %d, height: %d\n", width, height);
DXGI_SWAP_CHAIN_DESC sd;
ZeroMemory( &sd, sizeof( sd ) );
sd.BufferCount = 1;
sd.BufferCount = 2;
sd.BufferDesc.Width = width;
sd.BufferDesc.Height = height;
sd.BufferDesc.Format = DXGI_FORMAT_R8G8B8A8_UNORM;
+18 -18
View File
@@ -1,19 +1,19 @@
#include "stdafx.h"
#include "AttackDamageMobEffect.h"
AttackDamageMobEffect::AttackDamageMobEffect(int id, bool isHarmful, eMinecraftColour color) : MobEffect(id, isHarmful, color)
{
}
double AttackDamageMobEffect::getAttributeModifierValue(int amplifier, AttributeModifier *original)
{
if (id == MobEffect::weakness->id)
{
return -0.5f * (amplifier + 1);
}
else
{
return 1.3 * (amplifier + 1);
}
#include "stdafx.h"
#include "AttackDamageMobEffect.h"
AttackDamageMobEffect::AttackDamageMobEffect(int id, bool isHarmful, eMinecraftColour color) : MobEffect(id, isHarmful, color)
{
}
double AttackDamageMobEffect::getAttributeModifierValue(int amplifier, AttributeModifier *original)
{
if (id == MobEffect::weakness->id)
{
return -0.5f * (amplifier + 1);
}
else
{
return 1.3 * (amplifier + 1);
}
}
+2 -2
View File
@@ -77,7 +77,7 @@ void MinecartTNT::destroy(DamageSource *source)
void MinecartTNT::explode(double speedSqr)
{
if (!level->isClientSide)
if (!level->isClientSide && app.GetGameHostOption(eGameHostOption_TNT))
{
double speed = sqrt(speedSqr);
if (speed > 5) speed = 5;
@@ -121,7 +121,7 @@ void MinecartTNT::primeFuse()
{
fuse = 80;
if (!level->isClientSide)
if (!level->isClientSide && app.GetGameHostOption(eGameHostOption_TNT))
{
level->broadcastEntityEvent(shared_from_this(), EVENT_PRIME);
level->playEntitySound(shared_from_this(), eSoundType_RANDOM_FUSE, 1, 1.0f);
+1 -1
View File
@@ -1124,7 +1124,7 @@
<ExceptionHandling>Sync</ExceptionHandling>
<BufferSecurityCheck>false</BufferSecurityCheck>
<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>
<CallAttributedProfiling>Disabled</CallAttributedProfiling>
<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;
}
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);
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)
{
level->setData(x, y, z, facing | EXTENDED_BIT, UPDATE_CLIENTS);
ignoreUpdate(false);
return false;
}
else if (!extend && param1 == TRIGGER_EXTEND)
{
ignoreUpdate(false);
return false;
}
}
@@ -247,6 +249,7 @@ bool PistonBaseTile::triggerEvent(Level *level, int x, int y, int z, int param1,
}
else
{
ignoreUpdate(false);
return false;
}
PIXEndNamedEvent();
@@ -340,6 +343,12 @@ bool PistonBaseTile::triggerEvent(Level *level, int x, int y, int z, int param1,
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;
}
+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;
for (int i = 0; i < 3; i++)
{
popResource(level, x, y, z, shared_ptr<ItemInstance>(new ItemInstance(seed)));
if (level->random->nextInt(15) <= data)
{
popResource(level, x, y, z, shared_ptr<ItemInstance>(new ItemInstance(seed)));
}
}
}
+12 -12
View File
@@ -1,19 +1,19 @@
# Acacia Log
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).
# Project Cafeberry
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
| Platform | Development Status | Known Issues |
| :------- | :-------------------- | :------------------------------------------------------------------------ |
| PS3 | Active | All TU19 blocks display as stone blocks when placed (missing SPU code). |
| Xbox 360 | Likely cancelled | Missing XUI files for GUIs added in TU25+. 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. |
| PS Vita | On hold | Fails during compilation due to missing network library dependencies. |
| Platform | Development Status | Known Issues |
| :------------- | :-------------------- | :------------------------------------------------------------------------ |
| PS3 | Active | SPU variants for TU19 blocks are missing, needs to be further optimized. |
| Xbox 360 | On hold | Havent tested, should work? |
| 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. |
| 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:**
- **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:
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)