Skip to content

Commit 084f241

Browse files
committed
Add HardEnd build option
1 parent a1144e3 commit 084f241

30 files changed

Lines changed: 435 additions & 211 deletions

.github/actions/build/action.yml

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -32,14 +32,3 @@ runs:
3232
# See https://docs.microsoft.com/visualstudio/msbuild/msbuild-command-line-reference
3333
run: msbuild /m /p:Configuration=${{inputs.build-config}} /p:GitCommit=${{github.sha}} /p:GitBranch=${{github.ref}} ${{inputs.sln-path}}
3434
shell: cmd
35-
36-
- name: Upload Artifact
37-
if: ${{ success() }}
38-
uses: actions/upload-artifact@v4
39-
with:
40-
name: ${{ inputs.artifact-name }}
41-
path: |
42-
${{inputs.sln-path}}/${{inputs.build-config}}/cncnet5.dll
43-
${{inputs.sln-path}}/${{inputs.build-config}}/cncnet5.pdb
44-
./LICENSE.md
45-
./README.md

.github/workflows/nightly-build.yml

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,3 +24,32 @@ jobs:
2424
with:
2525
sln-path: ${{ env.SOLUTION_PATH }}
2626
build-config: ${{ env.BUILD_CONFIGURATION }}
27+
28+
- name: Build HardEnd
29+
uses: ./.github/actions/build
30+
with:
31+
sln-path: ${{ env.SOLUTION_PATH }}
32+
build-config: ${{ env.BUILD_CONFIGURATION }}-HardEnd
33+
34+
- name: Create Artifact
35+
run: |
36+
mkdir ./artifact
37+
mkdir ./artifact/Regular
38+
copy ./LICENSE.md ./artifact/Regular/LICENSE.md
39+
copy ./README.md ./artifact/Regular/README.md
40+
copy ./${{ env.BUILD_CONFIGURATION }}/cncnet5.pdb ./artifact/Regular/cncnet5.pdb
41+
copy ./${{ env.BUILD_CONFIGURATION }}/cncnet5.dll ./artifact/Regular/cncnet5.dll
42+
mkdir ./artifact/HardEnd
43+
copy ./LICENSE.md ./artifact/HardEnd/LICENSE.md
44+
copy ./README.md ./artifact/HardEnd/README.md
45+
copy "./${{ env.BUILD_CONFIGURATION }}-HardEnd/cncnet5.pdb" ./artifact/HardEnd/cncnet5.pdb
46+
copy "./${{ env.BUILD_CONFIGURATION }}-HardEnd/cncnet5.dll" ./artifact/HardEnd/cncnet5.dll
47+
7z a ${{ env.ARTIFACT_NAME }} ./artifact/*
48+
49+
- name: Upload Artifact
50+
if: ${{ success() }}
51+
uses: actions/upload-artifact@v4
52+
with:
53+
compression-level: 0
54+
name: ${{ inputs.artifact-name }}
55+
path: ${{ env.ARTIFACT_NAME }}

.github/workflows/pr-nightly-build.yml

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,3 +21,32 @@ jobs:
2121
with:
2222
sln-path: ${{ env.SOLUTION_PATH }}
2323
build-config: ${{ env.BUILD_CONFIGURATION }}
24+
25+
- name: Build HardEnd
26+
uses: ./.github/actions/build
27+
with:
28+
sln-path: ${{ env.SOLUTION_PATH }}
29+
build-config: ${{ env.BUILD_CONFIGURATION }}-HardEnd
30+
31+
- name: Create Artifact
32+
run: |
33+
mkdir ./artifact
34+
mkdir ./artifact/Regular
35+
copy ./LICENSE.md ./artifact/Regular/LICENSE.md
36+
copy ./README.md ./artifact/Regular/README.md
37+
copy ./${{ env.BUILD_CONFIGURATION }}/cncnet5.pdb ./artifact/Regular/cncnet5.pdb
38+
copy ./${{ env.BUILD_CONFIGURATION }}/cncnet5.dll ./artifact/Regular/cncnet5.dll
39+
mkdir ./artifact/HardEnd
40+
copy ./LICENSE.md ./artifact/HardEnd/LICENSE.md
41+
copy ./README.md ./artifact/HardEnd/README.md
42+
copy "./${{ env.BUILD_CONFIGURATION }}-HardEnd/cncnet5.pdb" ./artifact/HardEnd/cncnet5.pdb
43+
copy "./${{ env.BUILD_CONFIGURATION }}-HardEnd/cncnet5.dll" ./artifact/HardEnd/cncnet5.dll
44+
7z a ${{ env.ARTIFACT_NAME }} ./artifact/*
45+
46+
- name: Upload Artifact
47+
if: ${{ success() }}
48+
uses: actions/upload-artifact@v4
49+
with:
50+
compression-level: 0
51+
name: ${{ inputs.artifact-name }}
52+
path: ${{ env.ARTIFACT_NAME }}

.github/workflows/release-build.yml

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,25 @@ jobs:
2727
sln-path: ${{ env.SOLUTION_PATH }}
2828
build-config: ${{ env.BUILD_CONFIGURATION }}
2929

30+
- name: Build HardEnd
31+
uses: ./.github/actions/build
32+
with:
33+
sln-path: ${{ env.SOLUTION_PATH }}
34+
build-config: ${{ env.BUILD_CONFIGURATION }}-HardEnd
35+
3036
- name: Create Archive For Release
3137
run: |
3238
mkdir ./artifact
33-
copy ./LICENSE.md ./artifact/LICENSE.md
34-
copy ./README.md ./artifact/README.md
35-
copy ./${{ env.BUILD_CONFIGURATION }}/cncnet5.pdb ./artifact/cncnet5.pdb
36-
copy ./${{ env.BUILD_CONFIGURATION }}/cncnet5.dll ./artifact/cncnet5.dll
39+
mkdir ./artifact/Regular
40+
copy ./LICENSE.md ./artifact/Regular/LICENSE.md
41+
copy ./README.md ./artifact/Regular/README.md
42+
copy ./${{ env.BUILD_CONFIGURATION }}/cncnet5.pdb ./artifact/Regular/cncnet5.pdb
43+
copy ./${{ env.BUILD_CONFIGURATION }}/cncnet5.dll ./artifact/Regular/cncnet5.dll
44+
mkdir ./artifact/HardEnd
45+
copy ./LICENSE.md ./artifact/HardEnd/LICENSE.md
46+
copy ./README.md ./artifact/HardEnd/README.md
47+
copy "./${{ env.BUILD_CONFIGURATION }}-HardEnd/cncnet5.pdb" ./artifact/HardEnd/cncnet5.pdb
48+
copy "./${{ env.BUILD_CONFIGURATION }}-HardEnd/cncnet5.dll" ./artifact/HardEnd/cncnet5.dll
3749
7z a ${{ env.ARTIFACT_NAME }} ./artifact/*
3850
3951
- name: Upload New Release

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@ yrpp-spawner-private/
22
Release/**
33
DevBuild/**
44
Debug/**
5+
Release-HardEnd/**
6+
DevBuild-HardEnd/**
7+
Debug-HardEnd/**
58

69
.vs/**
710
.vscode/**

.vscode/c_cpp_properties.example.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@
3030
],
3131
"defines": [
3232
"SYR_VER=2",
33+
"IS_RELEASE_VER",
34+
"IS_HARDEND_VER",
3335
"HAS_EXCEPTIONS=0",
3436
"NOMINMAX",
3537
"_CRT_SECURE_NO_WARNINGS",

Spawner.props

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,18 @@
1313
<Configuration>Debug</Configuration>
1414
<Platform>Win32</Platform>
1515
</ProjectConfiguration>
16+
<ProjectConfiguration Include="Release-HardEnd|Win32">
17+
<Configuration>Release-HardEnd</Configuration>
18+
<Platform>Win32</Platform>
19+
</ProjectConfiguration>
20+
<ProjectConfiguration Include="DevBuild-HardEnd|Win32">
21+
<Configuration>DevBuild-HardEnd</Configuration>
22+
<Platform>Win32</Platform>
23+
</ProjectConfiguration>
24+
<ProjectConfiguration Include="Debug-HardEnd|Win32">
25+
<Configuration>Debug-HardEnd</Configuration>
26+
<Platform>Win32</Platform>
27+
</ProjectConfiguration>
1628
</ItemGroup>
1729
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
1830
<PropertyGroup>
@@ -67,23 +79,31 @@
6779
<ImportLibrary>$(IntDir)$(TargetName).lib</ImportLibrary>
6880
</Link>
6981
</ItemDefinitionGroup>
70-
<ItemDefinitionGroup Condition="'$(Configuration)'=='Release'">
82+
<ItemDefinitionGroup Condition="'$(Configuration)'=='Release-HardEnd' Or '$(Configuration)'=='DevBuild-HardEnd' Or '$(Configuration)'=='Debug-HardEnd'">
83+
<ClCompile>
84+
<PreprocessorDefinitions>IS_HARDEND_VER;%(PreprocessorDefinitions)</PreprocessorDefinitions>
85+
</ClCompile>
86+
<ResourceCompile>
87+
<PreprocessorDefinitions>IS_HARDEND_VER;%(PreprocessorDefinitions)</PreprocessorDefinitions>
88+
</ResourceCompile>
89+
</ItemDefinitionGroup>
90+
<ItemDefinitionGroup Condition="'$(Configuration)'=='Release' Or '$(Configuration)'=='Release-HardEnd'">
7191
<ClCompile>
7292
<PreprocessorDefinitions>IS_RELEASE_VER;%(PreprocessorDefinitions)</PreprocessorDefinitions>
7393
</ClCompile>
7494
<ResourceCompile>
7595
<PreprocessorDefinitions>IS_RELEASE_VER;%(PreprocessorDefinitions)</PreprocessorDefinitions>
7696
</ResourceCompile>
7797
</ItemDefinitionGroup>
78-
<ItemDefinitionGroup Condition="'$(Configuration)'=='DevBuild'">
98+
<ItemDefinitionGroup Condition="'$(Configuration)'=='DevBuild' Or '$(Configuration)'=='DevBuild-HardEnd'">
7999
<ClCompile>
80100
<PreprocessorDefinitions>DevBuild;%(PreprocessorDefinitions)</PreprocessorDefinitions>
81101
</ClCompile>
82102
<ResourceCompile>
83103
<PreprocessorDefinitions>DevBuild;%(PreprocessorDefinitions)</PreprocessorDefinitions>
84104
</ResourceCompile>
85105
</ItemDefinitionGroup>
86-
<ItemDefinitionGroup Condition="'$(Configuration)'=='Debug'">
106+
<ItemDefinitionGroup Condition="'$(Configuration)'=='Debug' Or '$(Configuration)'=='Debug-HardEnd'">
87107
<ClCompile>
88108
<PreprocessorDefinitions>DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
89109
<Optimization>Disabled</Optimization>

Spawner.sln

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,21 +3,30 @@ Microsoft Visual Studio Solution File, Format Version 12.00
33
# Visual Studio Version 16
44
VisualStudioVersion = 16.0.32929.386
55
MinimumVisualStudioVersion = 10.0.40219.1
6-
Project("{4A3F0CD1-23BA-4A2A-A6A2-72D7B87E0468}") = "YRpp-Spawner", "Spawner.vcxproj", "{264BD0D2-4BF7-4CFF-B33E-95A018BEA951}"
6+
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "YRpp-Spawner", "Spawner.vcxproj", "{264BD0D2-4BF7-4CFF-B33E-95A018BEA951}"
77
EndProject
88
Global
99
GlobalSection(SolutionConfigurationPlatforms) = preSolution
1010
Debug|x86 = Debug|x86
11+
Debug-HardEnd|x86 = Debug-HardEnd|x86
1112
DevBuild|x86 = DevBuild|x86
13+
DevBuild-HardEnd|x86 = DevBuild-HardEnd|x86
1214
Release|x86 = Release|x86
15+
Release-HardEnd|x86 = Release-HardEnd|x86
1316
EndGlobalSection
1417
GlobalSection(ProjectConfigurationPlatforms) = postSolution
1518
{264BD0D2-4BF7-4CFF-B33E-95A018BEA951}.Debug|x86.ActiveCfg = Debug|Win32
1619
{264BD0D2-4BF7-4CFF-B33E-95A018BEA951}.Debug|x86.Build.0 = Debug|Win32
20+
{264BD0D2-4BF7-4CFF-B33E-95A018BEA951}.Debug-HardEnd|x86.ActiveCfg = Debug-HardEnd|Win32
21+
{264BD0D2-4BF7-4CFF-B33E-95A018BEA951}.Debug-HardEnd|x86.Build.0 = Debug-HardEnd|Win32
1722
{264BD0D2-4BF7-4CFF-B33E-95A018BEA951}.DevBuild|x86.ActiveCfg = DevBuild|Win32
1823
{264BD0D2-4BF7-4CFF-B33E-95A018BEA951}.DevBuild|x86.Build.0 = DevBuild|Win32
24+
{264BD0D2-4BF7-4CFF-B33E-95A018BEA951}.DevBuild-HardEnd|x86.ActiveCfg = DevBuild-HardEnd|Win32
25+
{264BD0D2-4BF7-4CFF-B33E-95A018BEA951}.DevBuild-HardEnd|x86.Build.0 = DevBuild-HardEnd|Win32
1926
{264BD0D2-4BF7-4CFF-B33E-95A018BEA951}.Release|x86.ActiveCfg = Release|Win32
2027
{264BD0D2-4BF7-4CFF-B33E-95A018BEA951}.Release|x86.Build.0 = Release|Win32
28+
{264BD0D2-4BF7-4CFF-B33E-95A018BEA951}.Release-HardEnd|x86.ActiveCfg = Release-HardEnd|Win32
29+
{264BD0D2-4BF7-4CFF-B33E-95A018BEA951}.Release-HardEnd|x86.Build.0 = Release-HardEnd|Win32
2130
EndGlobalSection
2231
GlobalSection(SolutionProperties) = preSolution
2332
HideSolutionNode = FALSE

Spawner.vcxproj

Lines changed: 21 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -18,41 +18,44 @@
1818
<!-- Root -->
1919
<ResourceCompile Include="$(ThisDir)\src\version.rc" />
2020
<ClCompile Include="$(ThisDir)\src\Main.cpp" />
21+
<ClCompile Include="$(ThisDir)\src\Main.Config.cpp" />
2122
<ClCompile Include="$(ThisDir)\src\Main.Ext.cpp" />
2223
<ClCompile Include="$(ThisDir)\src\Main.Hook.cpp" />
23-
<ClCompile Include="$(ThisDir)\src\Main.Config.cpp" />
2424
<!-- Ext -->
2525
<ClCompile Include="$(ThisDir)\src\Ext\Event\Body.cpp" />
26+
<!-- HardEndStuff -->
27+
<ClCompile Include="$(ThisDir)\src\HardEndStuff\AppIcon.cpp" />
28+
<ClCompile Include="$(ThisDir)\src\HardEndStuff\Misc.cpp" />
29+
<ClCompile Include="$(ThisDir)\src\HardEndStuff\Ra2Mode.cpp" />
2630
<!-- Misc -->
2731
<ClCompile Include="$(ThisDir)\src\Misc\Bugfixes.cpp" />
28-
<ClCompile Include="$(ThisDir)\src\Misc\Bugfixes.Perf.cpp" />
2932
<ClCompile Include="$(ThisDir)\src\Misc\Bugfixes.Blowfish.cpp" />
3033
<ClCompile Include="$(ThisDir)\src\Misc\Bugfixes.CommonCrashes.cpp" />
3134
<ClCompile Include="$(ThisDir)\src\Misc\Bugfixes.ExceptionCatch.cpp" />
3235
<ClCompile Include="$(ThisDir)\src\Misc\Bugfixes.IsoMapPack5Limit.cpp" />
36+
<ClCompile Include="$(ThisDir)\src\Misc\Bugfixes.Perf.cpp" />
3337
<ClCompile Include="$(ThisDir)\src\Misc\Bugfixes.SpawnManager.cpp" />
38+
<ClCompile Include="$(ThisDir)\src\Misc\CopyProtection.cpp" />
39+
<ClCompile Include="$(ThisDir)\src\Misc\DisableEdgeScrolling.cpp" />
40+
<ClCompile Include="$(ThisDir)\src\Misc\InGameChat.cpp" />
3441
<ClCompile Include="$(ThisDir)\src\Misc\NoCD.cpp" />
3542
<ClCompile Include="$(ThisDir)\src\Misc\Observers.cpp" />
3643
<ClCompile Include="$(ThisDir)\src\Misc\Observers.Visibility.cpp" />
3744
<ClCompile Include="$(ThisDir)\src\Misc\QuickExit.cpp" />
38-
<ClCompile Include="$(ThisDir)\src\Misc\VideoMode.cpp" />
39-
<ClCompile Include="$(ThisDir)\src\Misc\CopyProtection.cpp" />
40-
<ClCompile Include="$(ThisDir)\src\Misc\SkipScoreScreen.cpp" />
4145
<ClCompile Include="$(ThisDir)\src\Misc\SavedGamesInSubdir.cpp" />
42-
<ClCompile Include="$(ThisDir)\src\Misc\DisableEdgeScrolling.cpp" />
43-
<ClCompile Include="$(ThisDir)\src\Misc\InGameChat.cpp" />
46+
<ClCompile Include="$(ThisDir)\src\Misc\SkipScoreScreen.cpp" />
47+
<ClCompile Include="$(ThisDir)\src\Misc\VideoMode.cpp" />
4448
<!-- Spawner -->
45-
<ClCompile Include="$(ThisDir)\src\Spawner\Spawner.cpp" />
46-
<ClCompile Include="$(ThisDir)\src\Spawner\Spawner.Hook.cpp" />
47-
<ClCompile Include="$(ThisDir)\src\Spawner\Spawner.Config.cpp" />
49+
<ClCompile Include="$(ThisDir)\src\Spawner\CustomMixes.cpp" />
4850
<ClCompile Include="$(ThisDir)\src\Spawner\NetHack.cpp" />
4951
<ClCompile Include="$(ThisDir)\src\Spawner\ProtocolZero.cpp" />
5052
<ClCompile Include="$(ThisDir)\src\Spawner\ProtocolZero.Hook.cpp" />
5153
<ClCompile Include="$(ThisDir)\src\Spawner\ProtocolZero.LatencyLevel.cpp" />
5254
<ClCompile Include="$(ThisDir)\src\Spawner\QuickMatch.cpp" />
53-
<ClCompile Include="$(ThisDir)\src\Spawner\Ra2Mode.cpp" />
54-
<ClCompile Include="$(ThisDir)\src\Spawner\CustomMixes.cpp" />
5555
<ClCompile Include="$(ThisDir)\src\Spawner\RandomMap.cpp" />
56+
<ClCompile Include="$(ThisDir)\src\Spawner\Spawner.Config.cpp" />
57+
<ClCompile Include="$(ThisDir)\src\Spawner\Spawner.cpp" />
58+
<ClCompile Include="$(ThisDir)\src\Spawner\Spawner.Hook.cpp" />
5659
<ClCompile Include="$(ThisDir)\src\Spawner\Statistics.cpp" />
5760
<!-- Utilities -->
5861
<ClCompile Include="$(ThisDir)\src\Utilities\Debug.cpp" />
@@ -61,24 +64,24 @@
6164
<!-- Header files -->
6265
<ItemGroup>
6366
<!-- Root -->
64-
<ClInclude Include="$(ThisDir)\src\Main.h" />
6567
<ClInclude Include="$(ThisDir)\src\version.h" />
68+
<ClInclude Include="$(ThisDir)\src\Main.h" />
6669
<ClInclude Include="$(ThisDir)\src\Main.Config.h" />
6770
<!-- Ext -->
6871
<ClInclude Include="$(ThisDir)\src\Ext\Event\Body.h" />
72+
<!-- HardEndStuff -->
73+
<ClInclude Include="$(ThisDir)\src\HardEndStuff\Ra2Mode.h" />
6974
<!-- Misc -->
70-
<ClInclude Include="$(ThisDir)\src\Misc\NoCD.h" />
7175
<!-- Spawner -->
72-
<ClInclude Include="$(ThisDir)\src\Spawner\Spawner.h" />
73-
<ClInclude Include="$(ThisDir)\src\Spawner\Spawner.Config.h" />
7476
<ClInclude Include="$(ThisDir)\src\Spawner\NetHack.h" />
7577
<ClInclude Include="$(ThisDir)\src\Spawner\ProtocolZero.h" />
7678
<ClInclude Include="$(ThisDir)\src\Spawner\ProtocolZero.LatencyLevel.h" />
77-
<ClInclude Include="$(ThisDir)\src\Spawner\Ra2Mode.h" />
79+
<ClInclude Include="$(ThisDir)\src\Spawner\Spawner.Config.h" />
80+
<ClInclude Include="$(ThisDir)\src\Spawner\Spawner.h" />
7881
<!-- Utilities -->
7982
<ClInclude Include="$(ThisDir)\src\Utilities\Debug.h" />
80-
<ClInclude Include="$(ThisDir)\src\Utilities\Patch.h" />
8183
<ClInclude Include="$(ThisDir)\src\Utilities\DumperTypes.h" />
8284
<ClInclude Include="$(ThisDir)\src\Utilities\Macro.h" />
85+
<ClInclude Include="$(ThisDir)\src\Utilities\Patch.h" />
8386
</ItemGroup>
8487
</Project>

scripts/build_debug-hardend.bat

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
@if not defined _echo echo off
2+
3+
rem Builds YRpp-Spawner Debug-HardEnd.
4+
5+
rem Ensure we're in correct directory.
6+
cd /D "%~dp0"
7+
8+
call run_msbuild /maxCpuCount /consoleloggerparameters:NoSummary /property:Configuration=Debug-HardEnd

0 commit comments

Comments
 (0)