NETWORKED, BOUNDS_CHECKER and UBMODSHADYJOB are not defined in any source file,
in CMakeLists.txt, or on any command line, so all 26 guarded sites were dead.
NETWORKED is the most thoroughly dead of the three: its blocks include
Networking.h, NetworkEvent.h, Communication.h and Application Msg.h, none of
which exist in this repository, so that code could not have compiled since long
before the CMake build. Multiplayer went through Multiplayer/ and RakNet
instead. UBMODSHADYJOB was referenced by a stale comment pointing at
builddefines.h, which is how it turned up.
Removed with unifdef, so the surviving branch of each conditional is kept: the
#ifndef BOUNDS_CHECKER bodies stay, and so does the #else of UBMODSHADYJOB.
The compiler never saw any of this, so nothing shrinks: no object file's
section sizes change, and the only difference in the executables is 24 to 64
assert line numbers shifting by the number of lines removed above them.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Nothing was left in it but the include of profiler.h, and 132 translation units
were including it for that alone. Fifteen files were leaning on profiler.h to
drag in <set>, <vector> and <ostream> for them; those now include what they use.
This is the commit that moves line numbers. Removing an include line shifts
__LINE__ by one for everything below it, and __LINE__ is an immediate operand in
every Assert() and DebugMsg() call, so the four game executables differ from
their predecessors by roughly a thousand 32-bit constants each. Every one of
those is accounted for: each is a single immediate that moved by -1 where the
builddefines.h include went away, or +1 where a <set>/<vector> include was
added. Nothing else in .text, .rdata or .data moves, no object file's section
sizes change, and symbolize_crash and Ja2Export stay bit-identical.
The one non-immediate difference is that the 24 Editor translation units of the
non-editor apps stop emitting __Avx2WmemEnabledWeakValue, a 4-byte weak COMDAT
they only ever instantiated through profiler.h's <vector>. It is a UCRT weak
default that other translation units still provide.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Fix case of WinFont.h include in WinFont.cpp
Fix case of "Strategic Status.h" include in Queen Command.cpp
Fix case of "mapscreen.h" include in Strategic Merc Handler.cpp
Fix case of "Handle Items.h" include across Tactical/TileEngine/Utils
Mechanical: normalized every #include of handle items.h (any case) to
match the actual filename "Handle Items.h". Verify with:
grep -rn "handle items.h" -i --include=*.cpp --include=*.h . | grep -v "\"Handle Items.h\""
Fix case of "World Items.h" include across Tactical/Editor
Mechanical: normalized every #include of world items.h (any case) to
match the actual filename "World Items.h". Verify with:
grep -rn "world items.h" -i --include=*.cpp --include=*.h . | grep -v "\"World Items.h\""
Fix case of "Arms Dealer Init.h" include in Overhead.cpp
Fix case of "Meanwhile.h" include in TeamTurns.cpp
Fix case of "timer.h" include in Utils All.h and Event Pump.cpp
Fix case of "Store Inventory.h" include in XML_Items.cpp
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Same logic but cleaned up version of https://github.com/1dot13/source/pull/602 which Tais contributed with Claude Code's help
Most calls to SOLDIERTYPE::IsDragging() aren't supposed to have a side effect of cancelling a drag, being simple queries.
Changing the default to reflect that is right move.
Assisted-by: Claude:
* Allow game to continue after offering to surrender to enemies
* Fix issues related to surrender and POW quests
- Quests were ended prematurely if one had prisoners in both alma and tixa
- Strategic status flags for rescue/escape were not set properly
- Only the maximum amount a prison can hold will be taken as POWs, rest of the mercs will either escape or have to fight to the death, to prevent a player having unrescuable POWs
- Capturing a mercenary had a lot of functions called that should not have been, IF the merc is not going to be captured after all
* Switch all tactical surrender calls to use one unified function
* Only mercs that are capable can escape
Incapacitated mercs left behind will die.
Should probably prioritize incapacitated mercs to be captured by the enemy to prevent needless deaths
* Combine pow quest state changes into one function
* Add JumpIntoEscapedSector to header file
* Allow enemy to demand surrender even if they already have POWs in Tixa and Alma
* Remove surrender from UB
* Address review feedback
* More unused stuff removal
delete:
- giant 'metaheaders' (JA2 All.h, Laptop All.h, etc), preferring to add #includes directly where needed
- unused ExceptionHandling and DbMan translation units
- unused WizShare.h, Bitmap.h, trle.h, video_private.h headers
* remove mentions from vc proj files too
* remove preprocessor conditionals for unused definitions
find . -iname '*.h' -o -iname '*.cpp' -exec unifdef.exe -m -UPRECOMPILED_HEADERS -UJA2_PRECOMPILED_HEADERS -UWIZ8_PRECOMPILED_HEADERS -UPRECOMPILEDHEADERS {} ';'
then manually fixed a couple files the tool errored out on
* yes, the comments too
as title
DrawTraitRadius uses usColour.
Allow to start dragging from any stance, soldier will crouch automatically.
Show draggable objects when drag skill menu is active.
Press [\] key to start dragging object/solder/corpse in front of merc.
git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@9369 3b4a5df2-a311-0410-b5c6-a8a6f20db521