From 324e3c32dbdd5f0862da2c4c1bd8a178895652b2 Mon Sep 17 00:00:00 2001 From: AcyForsythe Date: Mon, 2 Oct 2006 02:37:26 +0000 Subject: [PATCH] - Cleaned up the militia code a bit, boolean logic at midnight with no coffee can be a little sloppy. Re-tested mobile militia/veteran militia changes. git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@588 3b4a5df2-a311-0410-b5c6-a8a6f20db521 --- JA2.opt | Bin 176640 -> 177664 bytes JA2.plg | 80 +++++++-------- Strategic/MilitiaSquads.cpp | 194 ++++++++++++++---------------------- Strategic/MilitiaSquads.h | 3 + Strategic/Town Militia.cpp | 7 +- 5 files changed, 122 insertions(+), 162 deletions(-) diff --git a/JA2.opt b/JA2.opt index a37e8d819ab58c3b68f339bc4d8d2e396006cefe..46bf2212903df648394bcca34eef589ad90fdbb3 100644 GIT binary patch literal 177664 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 literal 176640 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

gpdn#j1cyms~? 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 diff --git a/JA2.plg b/JA2.plg index 2dbe4381..a4baabf7 100644 --- a/JA2.plg +++ b/JA2.plg @@ -6,7 +6,7 @@ --------------------Configuration: TileEngine - Win32 Release--------------------

Command Lines

-Creating temporary file "C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP213.tmp" with contents +Creating temporary file "C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP74.tmp" with contents [ /nologo /MT /W3 /GX /O2 /I "..\Standard Gaming Platform" /I "..\\" /I "..\Tactical" /I "..\Utils" /I "..\tacticalai" /I "..\Editor" /I "..\strategic" /I "..\Laptop" /I ".\\" /D "CALLBACKTIMER" /D "PRECOMPILEDHEADERS" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "JA2" /D "XML_STATIC" /D "CINTERFACE" /FR"Release/" /Fp"Release/TileEngine.pch" /YX"TileEngine All.h" /Fo"Release/" /Fd"Release/" /FD /O2b2 /c "C:\JA2\Build\TileEngine\Ambient Control.cpp" @@ -46,8 +46,8 @@ Creating temporary file "C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP213.tmp" with conten "C:\JA2\Build\TileEngine\worldman.cpp" "C:\JA2\Build\TileEngine\XML_ExplosionData.cpp" ] -Creating command line "cl.exe @C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP213.tmp" -Creating temporary file "C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP214.tmp" with contents +Creating command line "cl.exe @C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP74.tmp" +Creating temporary file "C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP75.tmp" with contents [ /nologo /out:"Release\TileEngine.lib" ".\Release\Ambient Control.obj" @@ -87,7 +87,7 @@ Creating temporary file "C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP214.tmp" with conten .\Release\worldman.obj .\Release\XML_ExplosionData.obj ] -Creating command line "link.exe -lib @C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP214.tmp" +Creating command line "link.exe -lib @C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP75.tmp"

Output Window

Compiling... Ambient Control.cpp @@ -132,7 +132,7 @@ Creating library... --------------------Configuration: Standard Gaming Platform - Win32 Release--------------------

Command Lines

-Creating temporary file "C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP215.tmp" with contents +Creating temporary file "C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP76.tmp" with contents [ /nologo /MT /W3 /GX /O2 /I "..\\" /I "..\TileEngine" /I "..\Tactical" /I "..\Utils" /I "..\strategic" /I ".\\" /D "NO_ZLIB" /D "JA2_PRECOMPILED_HEADERS" /D "NO_ZLIB_COMPRESSION" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "JA2" /D "XML_STATIC" /D "CINTERFACE" /FR".\Release/" /Fp".\Release/Standard Gaming Platform.pch" /YX"JA2 SGP ALL.H" /Fo".\Release/" /Fd".\Release/" /FD /c "C:\JA2\Build\Standard Gaming Platform\Button Sound Control.cpp" @@ -172,14 +172,14 @@ Creating temporary file "C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP215.tmp" with conten "C:\JA2\Build\Standard Gaming Platform\vsurface.cpp" "C:\JA2\Build\Standard Gaming Platform\WinFont.cpp" ] -Creating command line "cl.exe @C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP215.tmp" -Creating temporary file "C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP216.tmp" with contents +Creating command line "cl.exe @C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP76.tmp" +Creating temporary file "C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP77.tmp" with contents [ /nologo /MT /W3 /GX /O2 /I "..\\" /I "..\TileEngine" /I "..\Tactical" /I "..\Utils" /I "..\strategic" /I ".\\" /D "NO_ZLIB" /D "JA2_PRECOMPILED_HEADERS" /D "NO_ZLIB_COMPRESSION" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "JA2" /D "XML_STATIC" /D "CINTERFACE" /D "_DEBUG" /FR".\Release/" /Fp".\Release/Standard Gaming Platform.pch" /YX"JA2 SGP ALL.H" /Fo".\Release/" /Fd".\Release/" /FD /c "C:\JA2\Build\Standard Gaming Platform\DEBUG.cpp" ] -Creating command line "cl.exe @C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP216.tmp" -Creating temporary file "C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP217.tmp" with contents +Creating command line "cl.exe @C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP77.tmp" +Creating temporary file "C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP78.tmp" with contents [ /nologo /out:".\Release\Standard Gaming Platform.lib" ".\Release\Button Sound Control.obj" @@ -221,7 +221,7 @@ Creating temporary file "C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP217.tmp" with conten ".\Release\WinFont.obj" ".\ddraw.lib" ] -Creating command line "link.exe -lib @C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP217.tmp" +Creating command line "link.exe -lib @C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP78.tmp"

Output Window

Compiling... Button Sound Control.cpp @@ -275,7 +275,7 @@ Creating library... --------------------Configuration: Tactical - Win32 Release--------------------

Command Lines

-Creating temporary file "C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP218.tmp" with contents +Creating temporary file "C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP79.tmp" with contents [ /nologo /MT /W3 /GX /O2 /I "..\Standard Gaming Platform" /I "..\TileEngine" /I "..\\" /I "..\Utils" /I "..\tacticalai" /I "..\Editor" /I "..\strategic" /I "..\Laptop" /I ".\\" /D "CALLBACKTIMER" /D "PRECOMPILEDHEADERS" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "JA2" /D "XML_STATIC" /FR"Release/" /Fp"Release/Tactical.pch" /YX"Tactical All.h" /Fo"Release/" /Fd"Release/" /FD /c "C:\JA2\Build\Tactical\Air Raid.cpp" @@ -372,14 +372,14 @@ Creating temporary file "C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP218.tmp" with conten "C:\JA2\Build\Tactical\XML_Sounds.cpp" "C:\JA2\Build\Tactical\XML_TonyInventory.cpp" ] -Creating command line "cl.exe @C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP218.tmp" -Creating temporary file "C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP219.tmp" with contents +Creating command line "cl.exe @C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP79.tmp" +Creating temporary file "C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP7A.tmp" with contents [ /nologo /MT /W3 /GX /Od /I "..\Standard Gaming Platform" /I "..\TileEngine" /I "..\\" /I "..\Utils" /I "..\tacticalai" /I "..\Editor" /I "..\strategic" /I "..\Laptop" /I ".\\" /D "CALLBACKTIMER" /D "PRECOMPILEDHEADERS" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "JA2" /D "XML_STATIC" /FR"Release/" /Fp"Release/Tactical.pch" /YX"Tactical All.h" /Fo"Release/" /Fd"Release/" /FD /c "C:\JA2\Build\Tactical\LOS.cpp" ] -Creating command line "cl.exe @C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP219.tmp" -Creating temporary file "C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP21A.tmp" with contents +Creating command line "cl.exe @C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP7A.tmp" +Creating temporary file "C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP7B.tmp" with contents [ /nologo /out:"Release\Tactical.lib" ".\Release\Air Raid.obj" @@ -477,7 +477,7 @@ Creating temporary file "C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP21A.tmp" with conten .\Release\XML_Sounds.obj .\Release\XML_TonyInventory.obj ] -Creating command line "link.exe -lib @C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP21A.tmp" +Creating command line "link.exe -lib @C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP7B.tmp"

Output Window

Compiling... Air Raid.cpp @@ -586,7 +586,7 @@ Creating library... --------------------Configuration: Utils - Win32 Release--------------------

Command Lines

-Creating temporary file "C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP21B.tmp" with contents +Creating temporary file "C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP7C.tmp" with contents [ /nologo /MT /W3 /GX /O2 /I "..\Standard Gaming Platform" /I "..\TileEngine" /I "..\\" /I "..\Tactical" /I "..\tacticalai" /I "..\Editor" /I "..\strategic" /I "..\Laptop" /I ".\\" /D "CALLBACKTIMER" /D "PRECOMPILEDHEADERS" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "JA2" /D "XML_STATIC" /D "CINTERFACE" /FR"Release/" /Fp"Release/Utils.pch" /YX"Utils All.h" /Fo"Release/" /Fd"Release/" /FD /c "C:\JA2\Build\Utils\_DutchText.cpp" @@ -629,8 +629,8 @@ Creating temporary file "C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP21B.tmp" with conten "C:\JA2\Build\Utils\XML_Strings.cpp" "C:\JA2\Build\Utils\XML_Strings2.cpp" ] -Creating command line "cl.exe @C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP21B.tmp" -Creating temporary file "C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP21C.tmp" with contents +Creating command line "cl.exe @C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP7C.tmp" +Creating temporary file "C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP7D.tmp" with contents [ /nologo /out:"Release\Utils.lib" .\Release\_DutchText.obj @@ -673,7 +673,7 @@ Creating temporary file "C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP21C.tmp" with conten .\Release\XML_Strings.obj .\Release\XML_Strings2.obj ] -Creating command line "link.exe -lib @C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP21C.tmp" +Creating command line "link.exe -lib @C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP7D.tmp"

Output Window

Compiling... _DutchText.cpp @@ -732,7 +732,7 @@ Creating library... --------------------Configuration: TacticalAI - Win32 Release--------------------

Command Lines

-Creating temporary file "C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP21D.tmp" with contents +Creating temporary file "C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP7E.tmp" with contents [ /nologo /MT /W3 /GX /O2 /I "..\Standard Gaming Platform" /I "..\TileEngine" /I "..\\" /I "..\Tactical" /I "..\Utils" /I "..\Editor" /I "..\strategic" /I "..\Laptop" /I ".\\" /D "PRECOMPILEDHEADERS" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "JA2" /D "XML_STATIC" /D "CINTERFACE" /FR"Release/" /Fp"Release/TacticalAI.pch" /YX"AI All.h" /Fo"Release/" /Fd"Release/" /FD /c "C:\JA2\Build\TacticalAI\AIList.cpp" @@ -750,8 +750,8 @@ Creating temporary file "C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP21D.tmp" with conten "C:\JA2\Build\TacticalAI\QuestDebug.cpp" "C:\JA2\Build\TacticalAI\Realtime.cpp" ] -Creating command line "cl.exe @C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP21D.tmp" -Creating temporary file "C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP21E.tmp" with contents +Creating command line "cl.exe @C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP7E.tmp" +Creating temporary file "C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP7F.tmp" with contents [ /nologo /out:"Release\TacticalAI.lib" .\Release\AIList.obj @@ -769,7 +769,7 @@ Creating temporary file "C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP21E.tmp" with conten .\Release\QuestDebug.obj .\Release\Realtime.obj ] -Creating command line "link.exe -lib @C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP21E.tmp" +Creating command line "link.exe -lib @C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP7F.tmp"

Output Window

Compiling... AIList.cpp @@ -792,7 +792,7 @@ Creating library... --------------------Configuration: Editor - Win32 Release--------------------

Command Lines

-Creating temporary file "C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP21F.tmp" with contents +Creating temporary file "C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP80.tmp" with contents [ /nologo /MT /W3 /GX /O2 /Ob2 /I "..\Standard Gaming Platform" /I "..\TileEngine" /I "..\\" /I "..\Tactical" /I "..\Utils" /I "..\tacticalai" /I "..\strategic" /I "..\Laptop" /I ".\\" /D "PRECOMPILEDHEADERS" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "JA2" /D "XML_STATIC" /D "CINTERFACE" /FR"Release/" /Fp"Release/Editor.pch" /YX"Editor All.h" /Fo"Release/" /Fd"Release/" /FD /c "C:\JA2\Build\Editor\Cursor Modes.cpp" @@ -820,8 +820,8 @@ Creating temporary file "C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP21F.tmp" with conten "C:\JA2\Build\Editor\smooth.cpp" "C:\JA2\Build\Editor\Smoothing Utils.cpp" ] -Creating command line "cl.exe @C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP21F.tmp" -Creating temporary file "C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP220.tmp" with contents +Creating command line "cl.exe @C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP80.tmp" +Creating temporary file "C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP81.tmp" with contents [ /nologo /out:"Release\Editor.lib" ".\Release\Cursor Modes.obj" @@ -849,7 +849,7 @@ Creating temporary file "C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP220.tmp" with conten .\Release\smooth.obj ".\Release\Smoothing Utils.obj" ] -Creating command line "link.exe -lib @C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP220.tmp" +Creating command line "link.exe -lib @C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP81.tmp"

Output Window

Compiling... Cursor Modes.cpp @@ -881,7 +881,7 @@ Creating library... --------------------Configuration: Laptop - Win32 Release--------------------

Command Lines

-Creating temporary file "C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP221.tmp" with contents +Creating temporary file "C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP82.tmp" with contents [ /nologo /MT /W3 /GX /O2 /I "..\Standard Gaming Platform" /I "..\TileEngine" /I "..\\" /I "..\Tactical" /I "..\Utils" /I "..\tacticalai" /I "..\Editor" /I "..\strategic" /I ".\\" /D "PRECOMPILEDHEADERS" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "JA2" /D "XML_STATIC" /D "CINTERFACE" /FR"Release/" /Fp"Release/Laptop.pch" /YX"Laptop All.h" /Fo"Release/" /Fd"Release/" /FD /c "C:\JA2\Build\Laptop\aim.cpp" @@ -942,8 +942,8 @@ Creating temporary file "C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP221.tmp" with conten "C:\JA2\Build\Laptop\sirtech.cpp" "C:\JA2\Build\Laptop\Store Inventory.cpp" ] -Creating command line "cl.exe @C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP221.tmp" -Creating temporary file "C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP222.tmp" with contents +Creating command line "cl.exe @C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP82.tmp" +Creating temporary file "C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP83.tmp" with contents [ /nologo /out:"Release\Laptop.lib" .\Release\aim.obj @@ -1004,7 +1004,7 @@ Creating temporary file "C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP222.tmp" with conten .\Release\sirtech.obj ".\Release\Store Inventory.obj" ] -Creating command line "link.exe -lib @C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP222.tmp" +Creating command line "link.exe -lib @C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP83.tmp"

Output Window

Compiling... aim.cpp @@ -1070,7 +1070,7 @@ Creating library... --------------------Configuration: Strategic - Win32 Release--------------------

Command Lines

-Creating temporary file "C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP223.tmp" with contents +Creating temporary file "C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP84.tmp" with contents [ /nologo /MT /W3 /GX /O2 /I "..\Standard Gaming Platform" /I "..\TileEngine" /I "..\\" /I "..\Tactical" /I "..\Utils" /I "..\tacticalai" /I "..\Editor" /I "..\Laptop" /I ".\\" /D "PRECOMPILEDHEADERS" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "JA2" /D "XML_STATIC" /D "CINTERFACE" /FR"Release/" /Fp"Release/Strategic.pch" /YX"Strategic All.h" /Fo"Release/" /Fd"Release/" /FD /c "C:\JA2\Build\Strategic\AI Viewer.cpp" @@ -1117,8 +1117,8 @@ Creating temporary file "C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP223.tmp" with conten "C:\JA2\Build\Strategic\strategicmap.cpp" "C:\JA2\Build\Strategic\Town Militia.cpp" ] -Creating command line "cl.exe @C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP223.tmp" -Creating temporary file "C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP224.tmp" with contents +Creating command line "cl.exe @C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP84.tmp" +Creating temporary file "C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP85.tmp" with contents [ /nologo /out:"Release\Strategic.lib" ".\Release\AI Viewer.obj" @@ -1165,7 +1165,7 @@ Creating temporary file "C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP224.tmp" with conten .\Release\strategicmap.obj ".\Release\Town Militia.obj" ] -Creating command line "link.exe -lib @C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP224.tmp" +Creating command line "link.exe -lib @C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP85.tmp"

Output Window

Compiling... AI Viewer.cpp @@ -1218,7 +1218,7 @@ Creating library...

Command Lines

Creating command line "rc.exe /l 0x409 /fo"Release/ja2.res" /i "Res" /i ".\Res" /d "NDEBUG" "C:\JA2\Build\Res\ja2.rc"" -Creating temporary file "C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP225.tmp" with contents +Creating temporary file "C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP86.tmp" with contents [ /nologo /G5 /MT /W3 /GX /Zi /O2 /Ob2 /I ".\Standard Gaming Platform" /I ".\TileEngine" /I ".\Tactical" /I ".\Utils" /I ".\TacticalAI" /I ".\Editor" /I ".\Strategic" /I ".\laptop" /I ".\\" /D "CALLBACKTIMER" /D "PRECOMPILEDHEADERS" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "JA2" /D "XML_STATIC" /D "CINTERFACE" /FR"Release/" /Fp"Release/JA2.pch" /YX"JA2 All.h" /Fo"Release/" /Fd"Release/" /FD /O2b2 /c "C:\JA2\Build\Utils\_Ja25GermanText.cpp" @@ -1245,8 +1245,8 @@ Creating temporary file "C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP225.tmp" with conten "C:\JA2\Build\SCREENS.cpp" "C:\JA2\Build\Sys Globals.cpp" ] -Creating command line "cl.exe @C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP225.tmp" -Creating temporary file "C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP226.tmp" with contents +Creating command line "cl.exe @C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP86.tmp" +Creating temporary file "C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP87.tmp" with contents [ libexpatMT.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib winmm.lib smackw32.lib mss32.lib /nologo /subsystem:windows /profile /map:"Release/ja2_cvs.map" /machine:I386 /out:"..\ja2_cvs.exe" .\Release\_Ja25GermanText.obj @@ -1283,7 +1283,7 @@ libexpatMT.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advap .\Laptop\Release\Laptop.lib .\Strategic\Release\Strategic.lib ] -Creating command line "link.exe @C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP226.tmp" +Creating command line "link.exe @C:\DOCUME~1\Owner\LOCALS~1\Temp\RSP87.tmp"

Output Window

Compiling resources... Compiling... diff --git a/Strategic/MilitiaSquads.cpp b/Strategic/MilitiaSquads.cpp index 260ea5b2..e462ef9e 100644 --- a/Strategic/MilitiaSquads.cpp +++ b/Strategic/MilitiaSquads.cpp @@ -441,6 +441,9 @@ void UpdateMilitiaSquads(INT16 sMapX, INT16 sMapY ) SECTORINFO *pSectorInfo = &( SectorInfo[ SECTOR( sMapX, sMapY ) ] ); UINT8 uiMilitiaCount; + + // If we don't want roaming militia + // We shouldn't be here. if( !gGameExternalOptions.gfAllowMilitiaGroups ) return; @@ -456,137 +459,87 @@ void UpdateMilitiaSquads(INT16 sMapX, INT16 sMapY ) if( !uiMilitiaCount )return; - - //new squad - - if( GetTownIdForSector( sMapX, sMapY ) != BLANK_SECTOR ) + // Kaiden: Moved Create Militia code into CreateMilitiaSquads + // Removed the code from here and added the procedure call + // If it's time, and this is a city sector create a new group. + // But only if we're not training our own. + if( (!gGameExternalOptions.gfmusttrainroaming) && ( GetTownIdForSector( sMapX, sMapY ) != BLANK_SECTOR ) ) { if( GetWorldHour() % gGameExternalOptions.guiCreateEachNHours )return; - - GenerateDirectionInfos( sMapX, sMapY, &uiDirNumber, pMoveDir, FALSE, FALSE, FALSE ); - - if(uiDirNumber)// && Random(100) < CHANCE_TO_GENERATE_A_SQUAD) - { - for( x = 1; x < uiDirNumber ; ++x )pMoveDir[x][1] += pMoveDir[x-1][1]; - - iRandomRes = Random( pMoveDir[ uiDirNumber - 1 ][1] ); - - for( x = 0; x < uiDirNumber; ++x) - if( iRandomRes < pMoveDir[x][1] ) - { - iRandomRes = x; - break; - } - - // shouldn't be! - if(iRandomRes >= uiDirNumber)iRandomRes = 0; - - //ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, L"%ld,%ld:Dir count %ld, Rand %ld. Go to %ld,%ld", sMapX, sMapY, uiDirNumber, iRandomRes, SECTORX( pMoveDir[ iRandomRes ][0] ), SECTORY( pMoveDir[ iRandomRes ][0] )); - - - // Kaiden: Roaming Militia Training: - // If we're training roaming militia, - // We'll get our new squad elsewhere. - if(!gGameExternalOptions.gfmusttrainroaming) - { - GenerateMilitiaSquad( sMapX, sMapY, SECTORX( pMoveDir[ iRandomRes ][0] ), SECTORY( pMoveDir[ iRandomRes ][0] ) ); - AddToBlockMoveList( SECTORX( pMoveDir[ iRandomRes ][0] ), SECTORY( pMoveDir[ iRandomRes ][0] ) ); - - if( NumEnemiesInSector( SECTORX( pMoveDir[ iRandomRes ][0] ), SECTORY( pMoveDir[ iRandomRes ][0] ) ) && CountAllMilitiaInSector( SECTORX( pMoveDir[ iRandomRes ][0] ), SECTORY( pMoveDir[ iRandomRes ][0] ) ) ) - { - /* GROUP* pEnemyGroup = GetGroup( GetEnemyGroupIdInSector( SECTORX( pMoveDir[ iRandomRes ][0] ), SECTORY( pMoveDir[ iRandomRes ][0] ) ) ); - - if(pEnemyGroup && pEnemyGroup->ubGroupID) - { - //ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, L"Attacking from %ld,%ld to %ld,%ld - enemy's group id %ld", sMapX, sMapY, SECTORX( pMoveDir[ iRandomRes ][0] ), SECTORY( pMoveDir[ iRandomRes ][0], pEnemyGroup->ubGroupID )); - //ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, L"Arrival 1, Arrival 2"); - - pEnemyGroup->ubPrevX = sMapX; - pEnemyGroup->ubPrevY = sMapY; - - pEnemyGroup->ubNextX = SECTORX( pMoveDir[ iRandomRes ][0] ); - pEnemyGroup->ubNextY = SECTORY( pMoveDir[ iRandomRes ][0] ); - */ - gfMSBattle = TRUE; - // GroupArrivedAtSector( pEnemyGroup->ubGroupID , TRUE, FALSE ); - - EnterAutoResolveMode( SECTORX( pMoveDir[ iRandomRes ][0] ), SECTORY( pMoveDir[ iRandomRes ][0] ) ); - // } - } - } - } - else return; + CreateMilitiaSquads( sMapX, sMapY ); } + // moving squad, if it is not a SAM site - else if(!IsThisSectorASAMSector( sMapX, sMapY, 0 )) + if( ( GetTownIdForSector( sMapX, sMapY ) == BLANK_SECTOR ) && (!IsThisSectorASAMSector( sMapX, sMapY, 0 )) ) + { if( !PlayerMercsInSector_MSE( (UINT8)sMapX, (UINT8)sMapY, FALSE ) ) // and there's no player's mercs in the sector - { - if( GetWorldHour() % 2 )return; - - GenerateDirectionInfos( sMapX, sMapY, &uiDirNumber, pMoveDir, FALSE, FALSE, FALSE ); - - if( uiDirNumber ) { - for( x = 1; x < uiDirNumber ; ++x )pMoveDir[x][1] += pMoveDir[x-1][1]; - // ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, L"%ld,%ld", x, pMoveDir[x][1]); - - iRandom = Random( pMoveDir[ uiDirNumber - 1 ][1] + - ( uiMilitiaCount >= gGameExternalOptions.guiMinMilitiaSquadSize ? CHANCE_TO_MOVE_A_SQUAD : CHANCE_TO_MOVE_AN_UNFULL_SQUAD ) ); + if( GetWorldHour() % 2 )return; - //ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, L"Roll %ld", iRandomRes); + GenerateDirectionInfos( sMapX, sMapY, &uiDirNumber, pMoveDir, FALSE, FALSE, FALSE ); - iRandomRes = 256; - - for( x = 0; x < uiDirNumber; ++x) - if( iRandom < pMoveDir[x][1] ) - { - iRandomRes = x; - break; - } - - // "Decided" to stay here - if(iRandomRes >= uiDirNumber) - return; - - //ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, L"%ld,%ld:Dir count %ld, Rand %ld. Go to %ld,%ld. Have %ld militia men", sMapX, sMapY, uiDirNumber, iRandomRes, SECTORX( pMoveDir[ iRandomRes ][0] ), SECTORY( pMoveDir[ iRandomRes ][0] ), uiMilitiaCount); - - MoveMilitiaSquad( sMapX, sMapY, SECTORX( pMoveDir[ iRandomRes ][0] ), SECTORY( pMoveDir[ iRandomRes ][0] ), FALSE ); - AddToBlockMoveList( SECTORX( pMoveDir[ iRandomRes ][0] ), SECTORY( pMoveDir[ iRandomRes ][0] ) ); - - if ( gWorldSectorX == SECTORX( pMoveDir[ iRandomRes ][0] ) && - gWorldSectorY == SECTORY( pMoveDir[ iRandomRes ][0] ) && - !gbWorldSectorZ ) + if( uiDirNumber ) { - gfStrategicMilitiaChangesMade = TRUE; - ResetMilitia(); - } + for( x = 1; x < uiDirNumber ; ++x )pMoveDir[x][1] += pMoveDir[x-1][1]; + // ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, L"%ld,%ld", x, pMoveDir[x][1]); + + iRandom = Random( pMoveDir[ uiDirNumber - 1 ][1] + + ( uiMilitiaCount >= gGameExternalOptions.guiMinMilitiaSquadSize ? CHANCE_TO_MOVE_A_SQUAD : CHANCE_TO_MOVE_AN_UNFULL_SQUAD ) ); - if( NumEnemiesInSector( SECTORX( pMoveDir[ iRandomRes ][0] ), SECTORY( pMoveDir[ iRandomRes ][0] ) ) ) - { -/* GROUP* pEnemyGroup = GetGroup( GetEnemyGroupIdInSector( SECTORX( pMoveDir[ iRandomRes ][0] ), SECTORY( pMoveDir[ iRandomRes ][0] ) ) ); + //ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, L"Roll %ld", iRandomRes); + + iRandomRes = 256; + + for( x = 0; x < uiDirNumber; ++x) + if( iRandom < pMoveDir[x][1] ) + { + iRandomRes = x; + break; + } - if(pEnemyGroup && pEnemyGroup->ubGroupID) - { - //ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, L"Attacking from %ld,%ld to %ld,%ld - enemy's group id %ld", sMapX, sMapY, SECTORX( pMoveDir[ iRandomRes ][0] ), SECTORY( pMoveDir[ iRandomRes ][0], pEnemyGroup->ubGroupID )); - //ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, L"Arrival 1, Arrival 2"); + // "Decided" to stay here + if(iRandomRes >= uiDirNumber) + return; - pEnemyGroup->ubPrevX = sMapX; - pEnemyGroup->ubPrevY = sMapY; + //ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, L"%ld,%ld:Dir count %ld, Rand %ld. Go to %ld,%ld. Have %ld militia men", sMapX, sMapY, uiDirNumber, iRandomRes, SECTORX( pMoveDir[ iRandomRes ][0] ), SECTORY( pMoveDir[ iRandomRes ][0] ), uiMilitiaCount); - pEnemyGroup->ubNextX = SECTORX( pMoveDir[ iRandomRes ][0] ); - pEnemyGroup->ubNextY = SECTORY( pMoveDir[ iRandomRes ][0] ); -*/ - gfMSBattle = TRUE; - - // GroupArrivedAtSector( pEnemyGroup->ubGroupID , TRUE, FALSE ); - EnterAutoResolveMode( SECTORX( pMoveDir[ iRandomRes ][0] ), SECTORY( pMoveDir[ iRandomRes ][0] ) ); -// } + MoveMilitiaSquad( sMapX, sMapY, SECTORX( pMoveDir[ iRandomRes ][0] ), SECTORY( pMoveDir[ iRandomRes ][0] ), FALSE ); + AddToBlockMoveList( SECTORX( pMoveDir[ iRandomRes ][0] ), SECTORY( pMoveDir[ iRandomRes ][0] ) ); + + if ( gWorldSectorX == SECTORX( pMoveDir[ iRandomRes ][0] ) && + gWorldSectorY == SECTORY( pMoveDir[ iRandomRes ][0] ) && + !gbWorldSectorZ ) + { + gfStrategicMilitiaChangesMade = TRUE; + ResetMilitia(); + } + + if( NumEnemiesInSector( SECTORX( pMoveDir[ iRandomRes ][0] ), SECTORY( pMoveDir[ iRandomRes ][0] ) ) ) + { + /* GROUP* pEnemyGroup = GetGroup( GetEnemyGroupIdInSector( SECTORX( pMoveDir[ iRandomRes ][0] ), SECTORY( pMoveDir[ iRandomRes ][0] ) ) ); + + if(pEnemyGroup && pEnemyGroup->ubGroupID) + { + //ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, L"Attacking from %ld,%ld to %ld,%ld - enemy's group id %ld", sMapX, sMapY, SECTORX( pMoveDir[ iRandomRes ][0] ), SECTORY( pMoveDir[ iRandomRes ][0], pEnemyGroup->ubGroupID )); + //ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, L"Arrival 1, Arrival 2"); + + pEnemyGroup->ubPrevX = sMapX; + pEnemyGroup->ubPrevY = sMapY; + + pEnemyGroup->ubNextX = SECTORX( pMoveDir[ iRandomRes ][0] ); + pEnemyGroup->ubNextY = SECTORY( pMoveDir[ iRandomRes ][0] ); + */ + gfMSBattle = TRUE; + + // GroupArrivedAtSector( pEnemyGroup->ubGroupID , TRUE, FALSE ); + EnterAutoResolveMode( SECTORX( pMoveDir[ iRandomRes ][0] ), SECTORY( pMoveDir[ iRandomRes ][0] ) ); + // } + } } + else return; } - else return; } - } // Kaiden: Roaming Militia Training: @@ -602,6 +555,13 @@ void CreateMilitiaSquads(INT16 sMapX, INT16 sMapY ) SECTORINFO *pSectorInfo = &( SectorInfo[ SECTOR( sMapX, sMapY ) ] ); UINT8 uiMilitiaCount; + + // If we're not allowing roaming groups, + // then we're not creating them either. + // Remove this if you want to create them + // for some other reason. But you also have to + // remove the same line in UpdateMilitiaSquads + // Or the ones you create won't move. if( !gGameExternalOptions.gfAllowMilitiaGroups ) return; @@ -617,10 +577,8 @@ void CreateMilitiaSquads(INT16 sMapX, INT16 sMapY ) if( !uiMilitiaCount )return; - // new squad + // Create new Militia Squad - if(gGameExternalOptions.gfmusttrainroaming) - { if( GetTownIdForSector( sMapX, sMapY ) != BLANK_SECTOR ) { GenerateDirectionInfos( sMapX, sMapY, &uiDirNumber, pMoveDir, FALSE, FALSE, FALSE ); @@ -671,8 +629,6 @@ void CreateMilitiaSquads(INT16 sMapX, INT16 sMapY ) } else return; } - } - return; } diff --git a/Strategic/MilitiaSquads.h b/Strategic/MilitiaSquads.h index 297fef6e..fb8f13cf 100644 --- a/Strategic/MilitiaSquads.h +++ b/Strategic/MilitiaSquads.h @@ -11,7 +11,10 @@ extern UINT8 gpAttackDirs[5][4]; extern UINT8 guiDirNumber; +// Updates movement orders for militia squads void UpdateMilitiaSquads(INT16 sMapX, INT16 sMapY ); +// Kaiden: creates militia squad in an adjacent sector +// to the coordinates you pass to it. void CreateMilitiaSquads(INT16 sMapX, INT16 sMapY ); void MilitiaHelpFromAdjacentSectors( INT16 sMapX, INT16 sMapY ); diff --git a/Strategic/Town Militia.cpp b/Strategic/Town Militia.cpp index ef522bac..2bce5004 100644 --- a/Strategic/Town Militia.cpp +++ b/Strategic/Town Militia.cpp @@ -667,7 +667,8 @@ DebugMsg (TOPIC_JA2,DBG_LEVEL_3,"Militia3"); // if ( IsMilitiaTrainableFromSoldiersSectorMaxed( pSoldier ) ) // And we're not training mobile militia from a SAM Site - if (( IsMilitiaTrainableFromSoldiersSectorMaxed( pSoldier )) && (IsThisSectorASAMSector(sSectorX,sSectorY,0 ))) + if ( (( IsMilitiaTrainableFromSoldiersSectorMaxed( pSoldier )) && (IsThisSectorASAMSector(sSectorX,sSectorY,0 ))) + || (( IsMilitiaTrainableFromSoldiersSectorMaxed( pSoldier )) && (!gGameExternalOptions.gfmusttrainroaming)) ) { // we're full!!! go home! bTownId = GetTownIdForSector( sSectorX, sSectorY ); @@ -686,7 +687,7 @@ DebugMsg (TOPIC_JA2,DBG_LEVEL_3,"Militia3"); DoContinueMilitiaTrainingMessageBox( sSectorX, sSectorY, sString, MSG_BOX_FLAG_OK, CantTrainMilitiaOkBoxCallback ); return; } - else +/* else { if (( IsMilitiaTrainableFromSoldiersSectorMaxed( pSoldier )) && (!gGameExternalOptions.gfmusttrainroaming)) { @@ -707,7 +708,7 @@ DebugMsg (TOPIC_JA2,DBG_LEVEL_3,"Militia3"); DoContinueMilitiaTrainingMessageBox( sSectorX, sSectorY, sString, MSG_BOX_FLAG_OK, CantTrainMilitiaOkBoxCallback ); return; } - } + }*/