fix: 4JLibs building, windows64 files not copying & add buildsteps to solution filter

This commit is contained in:
str1k3r committed 2026-08-08 20:56:23 -04:00
1 parent 9cba342973
commit af2040a849
7 files changed
+70 -89

No files matched your search

+18 -7
View File
@@ -4,20 +4,31 @@ param(
[string]$Configuration [string]$Configuration
) )
if ($ProjectDir -match "Minecraft.World") {
$BaseDir = "$ProjectDir..\Minecraft.Client\"
} elseif ($ProjectDir -match "Minecraft.Client") {
$BaseDir = $ProjectDir
} else {
Write-Host "4JLibs: Unknown project directory: '$ProjectDir'"
exit 1
}
switch ($Platform) { switch ($Platform) {
"x64" { $LibsDir = Join-Path $ProjectDir "Windows64\4JLibs\"; $ExpectedCount = 4; $PlatformName = "Windows64" } "x64" { $LibsDir = Join-Path $BaseDir "Windows64\4JLibs\"; $ExpectedCount = 4; $PlatformName = "Windows64" }
"Durango" { $LibsDir = Join-Path $ProjectDir "Durango\4JLibs\"; $ExpectedCount = 4; $PlatformName = "Durango" } "Durango" { $LibsDir = Join-Path $BaseDir "Durango\4JLibs\"; $ExpectedCount = 4; $PlatformName = "Durango" }
"Xbox 360" { $LibsDir = Join-Path $ProjectDir "Xbox\4JLibs\"; $ExpectedCount = 5; $PlatformName = "Xbox" } "Xbox 360" { $LibsDir = Join-Path $BaseDir "Xbox\4JLibs\"; $ExpectedCount = 5; $PlatformName = "Xbox" }
"PS3" { $LibsDir = Join-Path $ProjectDir "PS3\4JLibs\"; $ExpectedCount = 4; $PlatformName = "PS3" } "PS3" { $LibsDir = Join-Path $BaseDir "PS3\4JLibs\"; $ExpectedCount = 4; $PlatformName = "PS3" }
"Orbis" { $LibsDir = Join-Path $ProjectDir "Orbis\4JLibs\"; $ExpectedCount = 4; $PlatformName = "Orbis" } "Orbis" { $LibsDir = Join-Path $BaseDir "Orbis\4JLibs\"; $ExpectedCount = 4; $PlatformName = "Orbis" }
"PSVita" { $LibsDir = Join-Path $ProjectDir "PSVita\4JLibs\"; $ExpectedCount = 4; $PlatformName = "PSVita" } "PSVita" { $LibsDir = Join-Path $BaseDir "PSVita\4JLibs\"; $ExpectedCount = 4; $PlatformName = "PSVita" }
default { Write-Host "4JLibs: Unknown platform: '$Platform'"; exit 1 } default { Write-Host "4JLibs: Unknown platform: '$Platform'"; exit 1 }
} }
if ($Configuration -match "ContentPackage" -or $Configuration -match "Release") { if ($Configuration -match "ContentPackage" -or $Configuration -match "Release") {
$BuildConfig = "Release" $BuildConfig = "Release"
} elseif ($Configuration -match "Debug") {
$BuildConfig = "Debug"
} else { } else {
Write-Host "4JLibs: Configuration did not match Release or ContentPackage, defaulting to Debug" Write-Host "4JLibs: Configuration did not match any known patterns, defaulting to Debug"
$BuildConfig = "Debug" $BuildConfig = "Debug"
} }
@@ -26,7 +26,7 @@ $folderCopies = @(
@{ Source = "Windows64Media"; Dest = "Windows64Media" }, @{ Source = "Windows64Media"; Dest = "Windows64Media" },
#@{ Source = "PSVita\Tutorial"; Dest = "Windows64Media\Tutorial" }, # str1k3r - doesnt even work bru #@{ Source = "PSVita\Tutorial"; Dest = "Windows64Media\Tutorial" }, # str1k3r - doesnt even work bru
@{ Source = "Windows64\Sound"; Dest = "Windows64Media\Sound" }, @{ Source = "Windows64\Sound"; Dest = "Windows64Media\Sound" },
@{ Source = "Common\Postbuilds\Contents\Windows64\redist64"; Dest = "redist64" } @{ Source = Join-Path $PSScriptRoot "Contents\Windows64\redist64"; Dest = "redist64" }
) )
foreach ($copy in $folderCopies) { foreach ($copy in $folderCopies) {
@@ -39,17 +39,18 @@ foreach ($copy in $folderCopies) {
} }
$fileCopies = @( $fileCopies = @(
@{ Source = "Common\Postbuilds\Contents\Windows64\Effects.msscmp"; Dest = "Effects.msscmp" }, @{ Source = Join-Path $PSScriptRoot "Contents\Windows64\iggy_w64.dll"; Dest = "iggy_w64.dll" },
@{ Source = "Common\Postbuilds\Contents\Windows64\iggy_w64.dll"; Dest = "iggy_w64.dll" }, @{ Source = Join-Path $PSScriptRoot "Contents\Windows64\mss64.dll"; Dest = "mss64.dll" }
@{ Source = "Common\Postbuilds\Contents\Windows64\mss64.dll"; Dest = "mss64.dll" }
) )
foreach ($copy in $fileCopies) { foreach ($copy in $fileCopies) {
$src = Join-Path $ProjectDir $copy.Source $src = $copy.Source
$dst = Join-Path $OutDir $copy.Dest $dst = Join-Path $OutDir $copy.Dest
if (Test-Path $src) { if (Test-Path $src) {
Copy-Item -Path $src -Destination $dst -Force Copy-Item -Path $src -Destination $dst -Force
} } else {
Write-Host "Windows64 Postbuild: source not found, skipping: $src"
}
} }
$deleteDirs = @( $deleteDirs = @(
+2 -2
View File
@@ -501,7 +501,7 @@
</CustomBuildBeforeTargets> </CustomBuildBeforeTargets>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>true</LinkIncremental> <LinkIncremental>false</LinkIncremental>
<IncludePath>$(ProjectDir)\..\Minecraft.World\x64headers;$(ProjectDir)\Windows64\Sentient\Include;$(IncludePath)</IncludePath> <IncludePath>$(ProjectDir)\..\Minecraft.World\x64headers;$(ProjectDir)\Windows64\Sentient\Include;$(IncludePath)</IncludePath>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Durango'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Durango'">
@@ -2315,7 +2315,7 @@ xcopy /q /y /i /s /e $(ProjectDir)Durango\CU $(LayoutDir)Image\Loose\CU</Comman
<FileType>XML</FileType> <FileType>XML</FileType>
<SubType>Designer</SubType> <SubType>Designer</SubType>
</Xml> </Xml>
<None Include="Common\Buildsteps\Check4JLibs.ps1" /> <None Include="Common\Buildsteps\4JLibs.ps1" />
<None Include="Common\Buildsteps\Durango-postbuild.ps1" /> <None Include="Common\Buildsteps\Durango-postbuild.ps1" />
<None Include="Common\Buildsteps\Orbis-postbuild.ps1" /> <None Include="Common\Buildsteps\Orbis-postbuild.ps1" />
<None Include="Common\Buildsteps\PS3-postbuild.ps1" /> <None Include="Common\Buildsteps\PS3-postbuild.ps1" />
@@ -726,6 +726,9 @@
<Filter Include="net\minecraft\client\resources"> <Filter Include="net\minecraft\client\resources">
<UniqueIdentifier>{889a84db-3009-4a7c-8234-4bf93d412690}</UniqueIdentifier> <UniqueIdentifier>{889a84db-3009-4a7c-8234-4bf93d412690}</UniqueIdentifier>
</Filter> </Filter>
<Filter Include="Buildsteps">
<UniqueIdentifier>{e5d64ee9-2601-46fd-9b18-254dae9cd85e}</UniqueIdentifier>
</Filter>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<None Include="ReadMe.txt" /> <None Include="ReadMe.txt" />
@@ -884,13 +887,27 @@
<None Include="PSVita\Iggy\gdraw\gdraw_shared.inl"> <None Include="PSVita\Iggy\gdraw\gdraw_shared.inl">
<Filter>PSVita\Iggy\gdraw</Filter> <Filter>PSVita\Iggy\gdraw</Filter>
</None> </None>
<None Include="Common\Buildsteps\Durango-postbuild.ps1" /> <None Include="Common\Buildsteps\Xbox-postbuild.ps1">
<None Include="Common\Buildsteps\Orbis-postbuild.ps1" /> <Filter>Buildsteps</Filter>
<None Include="Common\Buildsteps\PS3-postbuild.ps1" /> </None>
<None Include="Common\Buildsteps\PSVita-postbuild.ps1" /> <None Include="Common\Buildsteps\Windows64-postbuild.ps1">
<None Include="Common\Buildsteps\Windows64-postbuild.ps1" /> <Filter>Buildsteps</Filter>
<None Include="Common\Buildsteps\Xbox-postbuild.ps1" /> </None>
<None Include="Common\Buildsteps\Check4JLibs.ps1" /> <None Include="Common\Buildsteps\PSVita-postbuild.ps1">
<Filter>Buildsteps</Filter>
</None>
<None Include="Common\Buildsteps\PS3-postbuild.ps1">
<Filter>Buildsteps</Filter>
</None>
<None Include="Common\Buildsteps\Orbis-postbuild.ps1">
<Filter>Buildsteps</Filter>
</None>
<None Include="Common\Buildsteps\Durango-postbuild.ps1">
<Filter>Buildsteps</Filter>
</None>
<None Include="Common\Buildsteps\4JLibs.ps1">
<Filter>Buildsteps</Filter>
</None>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClInclude Include="stdafx.h"> <ClInclude Include="stdafx.h">
+18 -66
View File
@@ -819,17 +819,9 @@
<GenerateDebugInformation>true</GenerateDebugInformation> <GenerateDebugInformation>true</GenerateDebugInformation>
</Link> </Link>
<PreBuildEvent> <PreBuildEvent>
<Command>if not exist "$(SolutionDir)Minecraft.Client\Windows64\4JLibs\libs" ( <Command>powershell -ExecutionPolicy Bypass -File "$(SolutionDir)Minecraft.Client/Common/Buildsteps/4JLibs.ps1" -Platform "$(Platform)" -Configuration "$(Configuration)" -ProjectDir "$(ProjectDir)/"</Command>
for %%C in (Debug Release) do ( <Message>
"C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe" "$(SolutionDir)Minecraft.Client\Windows64\4JLibs\4JLibs.sln" /p:Platform=Windows64 /p:Configuration=%%C /v:minimal </Message>
if errorlevel 1 (
echo 4JLibs build failed for %%C
exit /b 1
)
)
xcopy "$(SolutionDir)Minecraft.Client\Windows64\4JLibs\Headers\Windows64" "$(SolutionDir)Minecraft.Client\Windows64\4JLibs\inc" /E /I /Y
)</Command>
<Message>Build 4JLibs</Message>
</PreBuildEvent> </PreBuildEvent>
</ItemDefinitionGroup> </ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Durango'"> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Durango'">
@@ -883,19 +875,11 @@
<GenerateDebugInformation>true</GenerateDebugInformation> <GenerateDebugInformation>true</GenerateDebugInformation>
</Link> </Link>
<PreBuildEvent> <PreBuildEvent>
<Command>if not exist "$(SolutionDir)Minecraft.Client\Windows64\4JLibs\libs" ( <Command>powershell -ExecutionPolicy Bypass -File "$(SolutionDir)Minecraft.Client/Common/Buildsteps/4JLibs.ps1" -Platform "$(Platform)" -Configuration "$(Configuration)" -ProjectDir "$(ProjectDir)/"</Command>
for %%C in (Debug Release) do (
"C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe" "$(SolutionDir)Minecraft.Client\Windows64\4JLibs\4JLibs.sln" /p:Platform=Windows64 /p:Configuration=%%C /v:minimal
if errorlevel 1 (
echo 4JLibs build failed for %%C
exit /b 1
)
)
xcopy "$(SolutionDir)Minecraft.Client\Windows64\4JLibs\Headers\Windows64" "$(SolutionDir)Minecraft.Client\Windows64\4JLibs\inc" /E /I /Y
)</Command>
</PreBuildEvent> </PreBuildEvent>
<PreBuildEvent> <PreBuildEvent>
<Message>Build 4JLibs</Message> <Message>
</Message>
</PreBuildEvent> </PreBuildEvent>
</ItemDefinitionGroup> </ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Durango'"> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Durango'">
@@ -1276,17 +1260,9 @@
<OptimizeReferences>true</OptimizeReferences> <OptimizeReferences>true</OptimizeReferences>
</Link> </Link>
<PreBuildEvent> <PreBuildEvent>
<Command>if not exist "$(SolutionDir)Minecraft.Client\Windows64\4JLibs\libs" ( <Command>powershell -ExecutionPolicy Bypass -File "$(SolutionDir)Minecraft.Client/Common/Buildsteps/4JLibs.ps1" -Platform "$(Platform)" -Configuration "$(Configuration)" -ProjectDir "$(ProjectDir)/"</Command>
for %%C in (Debug Release) do ( <Message>
"C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe" "$(SolutionDir)Minecraft.Client\Windows64\4JLibs\4JLibs.sln" /p:Platform=Windows64 /p:Configuration=%%C /v:minimal </Message>
if errorlevel 1 (
echo 4JLibs build failed for %%C
exit /b 1
)
)
xcopy "$(SolutionDir)Minecraft.Client\Windows64\4JLibs\Headers\Windows64" "$(SolutionDir)Minecraft.Client\Windows64\4JLibs\inc" /E /I /Y
)</Command>
<Message>Build 4JLibs</Message>
</PreBuildEvent> </PreBuildEvent>
</ItemDefinitionGroup> </ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='CONTENTPACKAGE_SYMBOLS|x64'"> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='CONTENTPACKAGE_SYMBOLS|x64'">
@@ -1312,17 +1288,9 @@
<OptimizeReferences>true</OptimizeReferences> <OptimizeReferences>true</OptimizeReferences>
</Link> </Link>
<PreBuildEvent> <PreBuildEvent>
<Command>if not exist "$(SolutionDir)Minecraft.Client\Windows64\4JLibs\libs" ( <Command>powershell -ExecutionPolicy Bypass -File "$(SolutionDir)Minecraft.Client/Common/Buildsteps/4JLibs.ps1" -Platform "$(Platform)" -Configuration "$(Configuration)" -ProjectDir "$(ProjectDir)/"</Command>
for %%C in (Debug Release) do ( <Message>
"C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe" "$(SolutionDir)Minecraft.Client\Windows64\4JLibs\4JLibs.sln" /p:Platform=Windows64 /p:Configuration=%%C /v:minimal </Message>
if errorlevel 1 (
echo 4JLibs build failed for %%C
exit /b 1
)
)
xcopy "$(SolutionDir)Minecraft.Client\Windows64\4JLibs\Headers\Windows64" "$(SolutionDir)Minecraft.Client\Windows64\4JLibs\inc" /E /I /Y
)</Command>
<Message>Build 4JLibs</Message>
</PreBuildEvent> </PreBuildEvent>
</ItemDefinitionGroup> </ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseForArt|x64'"> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseForArt|x64'">
@@ -1348,17 +1316,9 @@
<OptimizeReferences>true</OptimizeReferences> <OptimizeReferences>true</OptimizeReferences>
</Link> </Link>
<PreBuildEvent> <PreBuildEvent>
<Command>if not exist "$(SolutionDir)Minecraft.Client\Windows64\4JLibs\libs" ( <Command>powershell -ExecutionPolicy Bypass -File "$(SolutionDir)Minecraft.Client/Common/Buildsteps/4JLibs.ps1" -Platform "$(Platform)" -Configuration "$(Configuration)" -ProjectDir "$(ProjectDir)/"</Command>
for %%C in (Debug Release) do ( <Message>
"C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe" "$(SolutionDir)Minecraft.Client\Windows64\4JLibs\4JLibs.sln" /p:Platform=Windows64 /p:Configuration=%%C /v:minimal </Message>
if errorlevel 1 (
echo 4JLibs build failed for %%C
exit /b 1
)
)
xcopy "$(SolutionDir)Minecraft.Client\Windows64\4JLibs\Headers\Windows64" "$(SolutionDir)Minecraft.Client\Windows64\4JLibs\inc" /E /I /Y
)</Command>
<Message>Build 4JLibs</Message>
</PreBuildEvent> </PreBuildEvent>
</ItemDefinitionGroup> </ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ContentPackage_NO_TU|x64'"> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ContentPackage_NO_TU|x64'">
@@ -1384,17 +1344,9 @@
<OptimizeReferences>true</OptimizeReferences> <OptimizeReferences>true</OptimizeReferences>
</Link> </Link>
<PreBuildEvent> <PreBuildEvent>
<Command>if not exist "$(SolutionDir)Minecraft.Client\Windows64\4JLibs\libs" ( <Command>powershell -ExecutionPolicy Bypass -File "$(SolutionDir)Minecraft.Client/Common/Buildsteps/4JLibs.ps1" -Platform "$(Platform)" -Configuration "$(Configuration)" -ProjectDir "$(ProjectDir)/"</Command>
for %%C in (Debug Release) do ( <Message>
"C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe" "$(SolutionDir)Minecraft.Client\Windows64\4JLibs\4JLibs.sln" /p:Platform=Windows64 /p:Configuration=%%C /v:minimal </Message>
if errorlevel 1 (
echo 4JLibs build failed for %%C
exit /b 1
)
)
xcopy "$(SolutionDir)Minecraft.Client\Windows64\4JLibs\Headers\Windows64" "$(SolutionDir)Minecraft.Client\Windows64\4JLibs\inc" /E /I /Y
)</Command>
<Message>Build 4JLibs</Message>
</PreBuildEvent> </PreBuildEvent>
</ItemDefinitionGroup> </ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ContentPackage|Durango'"> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ContentPackage|Durango'">