mirror of
https://github.com/1dot13/source.git
synced 2026-07-22 13:40:22 +02:00
Data and Source v1.13 Mod High Resolution version from 2006-04-15
git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@25 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
+32
-23
@@ -3,8 +3,10 @@
|
||||
ProjectType="Visual C++"
|
||||
Version="7.10"
|
||||
Name="Editor"
|
||||
SccProjectName=""$/Jagged Alliance 2/Development/Programming/Jagged Alliance 2/Build", AVAAAAAA"
|
||||
SccLocalPath="..\..\..\ja2\build">
|
||||
SccProjectName=""
|
||||
SccAuxPath=""
|
||||
SccLocalPath=""
|
||||
SccProvider="">
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Win32"/>
|
||||
@@ -21,7 +23,7 @@
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories="..\Standard Gaming Platform,..\,..\TileEngine,..\Utils,..\TacticalAI,..\Tactical,..\strategic,.\"
|
||||
AdditionalIncludeDirectories=""..\Standard Gaming Platform";..\TileEngine;..\;..\Tactical;..\Utils;..\tacticalai;..\strategic;..\Laptop;.\"
|
||||
PreprocessorDefinitions="NDEBUG;WIN32;_WINDOWS;JA2;PRECOMPILEDHEADERS;_VTUNE_PROFILING;XML_STATIC;CINTERFACE"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="0"
|
||||
@@ -35,7 +37,8 @@
|
||||
BrowseInformation="1"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="TRUE"
|
||||
CompileAs="0"/>
|
||||
CompileAs="2"
|
||||
DisableSpecificWarnings="4292;4189"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
@@ -72,8 +75,8 @@
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="\Standard Gaming Platform,\ja2\Build,\ja2\Build\TileEngine,\ja2\Build\Utils,\ja2\build\TacticalAI,\ja2\build\Communications,\ja2\build\Tactical,\ja2\build\strategic"
|
||||
PreprocessorDefinitions="_DEBUG;BOUNDS_CHECKER;WIN32;_WINDOWS;JA2;PRECOMPILEDHEADERS;_VTUNE_PROFILING"
|
||||
AdditionalIncludeDirectories=""..\Standard Gaming Platform";..\TileEngine;..\;..\Tactical;..\Utils;..\tacticalai;..\strategic;..\Laptop;.\"
|
||||
PreprocessorDefinitions="_DEBUG;BOUNDS_CHECKER;WIN32;_WINDOWS;JA2;PRECOMPILEDHEADERS;_VTUNE_PROFILING;XML_STATIC;CINTERFACE"
|
||||
RuntimeLibrary="1"
|
||||
UsePrecompiledHeader="2"
|
||||
PrecompiledHeaderThrough="Editor All.h"
|
||||
@@ -85,7 +88,8 @@
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="TRUE"
|
||||
DebugInformationFormat="1"
|
||||
CompileAs="0"/>
|
||||
CompileAs="2"
|
||||
DisableSpecificWarnings="4292"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
@@ -122,8 +126,8 @@
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="\Standard Gaming Platform,\ja2\Build,\ja2\Build\TileEngine,\ja2\Build\Utils,\ja2\build\TacticalAI,\ja2\build\Communications,\ja2\build\Tactical,\ja2\build\strategic"
|
||||
PreprocessorDefinitions="_DEBUG;BOUNDS_CHECKER;JA2DEMO;WIN32;_WINDOWS;JA2;PRECOMPILEDHEADERS"
|
||||
AdditionalIncludeDirectories=""..\Standard Gaming Platform";..\TileEngine;..\;..\Tactical;..\Utils;..\tacticalai;..\strategic;..\Laptop;.\"
|
||||
PreprocessorDefinitions="_DEBUG;BOUNDS_CHECKER;JA2DEMO;WIN32;_WINDOWS;JA2;PRECOMPILEDHEADERS;XML_STATIC;CINTERFACE"
|
||||
RuntimeLibrary="1"
|
||||
UsePrecompiledHeader="2"
|
||||
PrecompiledHeaderThrough="Editor All.h"
|
||||
@@ -135,7 +139,7 @@
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="TRUE"
|
||||
DebugInformationFormat="1"
|
||||
CompileAs="0"/>
|
||||
CompileAs="2"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
@@ -172,8 +176,8 @@
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="\Standard Gaming Platform,\ja2\Build,\ja2\Build\TileEngine,\ja2\Build\Utils,\ja2\build\TacticalAI,\ja2\build\Communications,\ja2\build\Tactical,\ja2\build\strategic"
|
||||
PreprocessorDefinitions="JA2DEMO;_DEBUG;WIN32;_WINDOWS;JA2;PRECOMPILEDHEADERS"
|
||||
AdditionalIncludeDirectories=""..\Standard Gaming Platform";..\TileEngine;..\;..\Tactical;..\Utils;..\tacticalai;..\strategic;..\Laptop;.\"
|
||||
PreprocessorDefinitions="JA2DEMO;_DEBUG;WIN32;_WINDOWS;JA2;PRECOMPILEDHEADERS;XML_STATIC;CINTERFACE"
|
||||
RuntimeLibrary="1"
|
||||
UsePrecompiledHeader="2"
|
||||
PrecompiledHeaderThrough="Editor All.h"
|
||||
@@ -185,7 +189,7 @@
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="TRUE"
|
||||
DebugInformationFormat="1"
|
||||
CompileAs="0"/>
|
||||
CompileAs="2"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
@@ -222,8 +226,13 @@
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
InlineFunctionExpansion="2"
|
||||
AdditionalIncludeDirectories="..\Standard Gaming Platform,..\TileEngine,..\,..\Tactical,..\Utils,..\tacticalai,..\strategic,..\Laptop,.\"
|
||||
GlobalOptimizations="TRUE"
|
||||
InlineFunctionExpansion="1"
|
||||
EnableIntrinsicFunctions="TRUE"
|
||||
FavorSizeOrSpeed="1"
|
||||
OptimizeForProcessor="3"
|
||||
OptimizeForWindowsApplication="TRUE"
|
||||
AdditionalIncludeDirectories=""..\Standard Gaming Platform";..\TileEngine;..\;..\Tactical;..\Utils;..\tacticalai;..\strategic;..\Laptop;.\"
|
||||
PreprocessorDefinitions="PRECOMPILEDHEADERS;NDEBUG;WIN32;_WINDOWS;JA2;XML_STATIC;CINTERFACE"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="0"
|
||||
@@ -237,7 +246,7 @@
|
||||
BrowseInformation="1"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="TRUE"
|
||||
CompileAs="0"/>
|
||||
CompileAs="2"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
@@ -275,8 +284,8 @@
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories="\Standard Gaming Platform,\ja2\Build,\ja2\Build\TileEngine,\ja2\Build\Utils,\ja2\build\TacticalAI,\ja2\build\Communications,\ja2\build\Tactical,\ja2\build\strategic"
|
||||
PreprocessorDefinitions="NDEBUG;JA2DEMO;WIN32;_WINDOWS;JA2;PRECOMPILEDHEADERS"
|
||||
AdditionalIncludeDirectories=""..\Standard Gaming Platform";..\TileEngine;..\;..\Tactical;..\Utils;..\tacticalai;..\strategic;..\Laptop;.\"
|
||||
PreprocessorDefinitions="NDEBUG;JA2DEMO;WIN32;_WINDOWS;JA2;PRECOMPILEDHEADERS;XML_STATIC;CINTERFACE"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="0"
|
||||
EnableFunctionLevelLinking="TRUE"
|
||||
@@ -289,7 +298,7 @@
|
||||
BrowseInformation="1"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="TRUE"
|
||||
CompileAs="0"/>
|
||||
CompileAs="2"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
@@ -327,7 +336,7 @@
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories="..\Standard Gaming Platform,..\,..\TileEngine,..\Utils,..\TacticalAI,..\Tactical,..\strategic,.\"
|
||||
AdditionalIncludeDirectories=""..\Standard Gaming Platform";..\TileEngine;..\;..\Tactical;..\Utils;..\tacticalai;..\strategic;..\Laptop;.\"
|
||||
PreprocessorDefinitions="NDEBUG;JA2DEMO;WIN32;_WINDOWS;JA2;PRECOMPILEDHEADERS;XML_STATIC;CINTERFACE"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="0"
|
||||
@@ -341,7 +350,7 @@
|
||||
BrowseInformation="1"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="TRUE"
|
||||
CompileAs="0"/>
|
||||
CompileAs="2"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
@@ -378,7 +387,7 @@
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\Standard Gaming Platform,..\TileEngine,..\,..\Tactical,..\Utils,..\tacticalai,..\strategic,..\Laptop,.\"
|
||||
AdditionalIncludeDirectories=""..\Standard Gaming Platform";..\TileEngine;..\;..\Tactical;..\Utils;..\tacticalai;..\strategic;..\Laptop;.\"
|
||||
PreprocessorDefinitions="PRECOMPILEDHEADERS;_DEBUG;WIN32;_WINDOWS;JA2;_VTUNE_PROFILING;XML_STATIC;CINTERFACE"
|
||||
RuntimeLibrary="1"
|
||||
UsePrecompiledHeader="2"
|
||||
@@ -391,7 +400,7 @@
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="TRUE"
|
||||
DebugInformationFormat="1"
|
||||
CompileAs="0"
|
||||
CompileAs="2"
|
||||
DisableSpecificWarnings="4292"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
|
||||
@@ -3098,4 +3098,4 @@ UINT8 GetCurrentSummaryVersion()
|
||||
return 0;
|
||||
}
|
||||
|
||||
#endif
|
||||
#endif
|
||||
+16
-17
@@ -49,7 +49,6 @@
|
||||
#define GIO_OFFSET_TO_TOGGLE_BOX 250
|
||||
#define GIO_OFFSET_TO_TOGGLE_BOX_Y 9
|
||||
|
||||
|
||||
#define GIO_DIF_SETTINGS_X iScreenWidthOffset + 20
|
||||
#define GIO_DIF_SETTINGS_Y iScreenHeightOffset + 75
|
||||
#define GIO_DIF_SETTINGS_WIDTH GIO_OFFSET_TO_TOGGLE_BOX - GIO_OFFSET_TO_TEXT
|
||||
@@ -73,7 +72,6 @@
|
||||
#define GIO_BR_SETTING_X iScreenWidthOffset + 340
|
||||
#define GIO_BR_SETTING_Y GIO_DIF_SETTINGS_Y
|
||||
#define GIO_BR_SETTING_WIDTH GIO_DIF_SETTINGS_WIDTH
|
||||
|
||||
#define GIO_IRON_MAN_SETTING_X iScreenWidthOffset + 20
|
||||
#define GIO_IRON_MAN_SETTING_Y iScreenHeightOffset + 355
|
||||
#define GIO_IRON_MAN_SETTING_WIDTH GIO_DIF_SETTINGS_WIDTH
|
||||
@@ -453,7 +451,7 @@ BOOLEAN EnterGIOScreen()
|
||||
ButtonList[ guiBROptionToggles[ GIO_BR_AWESOME ] ]->uiFlags |= BUTTON_CLICKED_ON;
|
||||
break;
|
||||
}
|
||||
|
||||
/*
|
||||
// JA2Gold: iron man buttons
|
||||
usPosY = GIO_IRON_MAN_SETTING_Y - GIO_OFFSET_TO_TOGGLE_BOX_Y;
|
||||
for( cnt=0; cnt<NUM_SAVE_OPTIONS; cnt++)
|
||||
@@ -469,10 +467,11 @@ BOOLEAN EnterGIOScreen()
|
||||
ButtonList[ guiGameSaveToggles[ GIO_IRON_MAN ] ]->uiFlags |= BUTTON_CLICKED_ON;
|
||||
else
|
||||
ButtonList[ guiGameSaveToggles[ GIO_CAN_SAVE ] ]->uiFlags |= BUTTON_CLICKED_ON;
|
||||
*/
|
||||
|
||||
|
||||
//
|
||||
// Toggle Air Strikes On / Off
|
||||
// Check box to toggle Gun options
|
||||
//
|
||||
|
||||
usPosY = GIO_GUN_SETTINGS_Y - GIO_OFFSET_TO_TOGGLE_BOX_Y;
|
||||
@@ -486,7 +485,7 @@ BOOLEAN EnterGIOScreen()
|
||||
usPosY += GIO_GAP_BN_SETTINGS;
|
||||
}
|
||||
|
||||
if( gGameOptions.fAirStrikes )
|
||||
if( gGameOptions.fGunNut )
|
||||
ButtonList[ guiGunOptionToggles[ GIO_GUN_NUT ] ]->uiFlags |= BUTTON_CLICKED_ON;
|
||||
else
|
||||
ButtonList[ guiGunOptionToggles[ GIO_REDUCED_GUNS ] ]->uiFlags |= BUTTON_CLICKED_ON;
|
||||
@@ -568,9 +567,10 @@ BOOLEAN ExitGIOScreen()
|
||||
for( cnt=0; cnt<NUM_BR_OPTIONS; cnt++)
|
||||
RemoveButton( guiBROptionToggles[ cnt ] );
|
||||
|
||||
// JA2Gold: remove iron man buttons
|
||||
/* // JA2Gold: remove iron man buttons
|
||||
for( cnt=0; cnt<NUM_SAVE_OPTIONS; cnt++)
|
||||
RemoveButton( guiGameSaveToggles[ cnt ] );
|
||||
*/
|
||||
|
||||
gfGIOButtonsAllocated = FALSE;
|
||||
|
||||
@@ -726,6 +726,7 @@ BOOLEAN RenderGIOScreen()
|
||||
DisplayWrappedString( (UINT16)(GIO_BR_SETTING_X+GIO_OFFSET_TO_TEXT), usPosY, GIO_DIF_SETTINGS_WIDTH, 2, GIO_TOGGLE_TEXT_FONT, GIO_TOGGLE_TEXT_COLOR, gzGIOScreenText[ GIO_BR_AWESOME_TEXT ], FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED );
|
||||
|
||||
// JA2Gold: Display the iron man Settings Title Text
|
||||
/*
|
||||
DisplayWrappedString( GIO_IRON_MAN_SETTING_X, (UINT16)(GIO_IRON_MAN_SETTING_Y-GIO_GAP_BN_SETTINGS), GIO_DIF_SETTINGS_WIDTH, 2, GIO_TOGGLE_TEXT_FONT, GIO_TOGGLE_TEXT_COLOR, gzGIOScreenText[ GIO_GAME_SAVE_STYLE_TEXT ], FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED );
|
||||
usPosY = GIO_IRON_MAN_SETTING_Y+2;
|
||||
|
||||
@@ -736,6 +737,7 @@ BOOLEAN RenderGIOScreen()
|
||||
|
||||
usPosY += 20;
|
||||
DisplayWrappedString( (UINT16)(GIO_IRON_MAN_SETTING_X+GIO_OFFSET_TO_TEXT), usPosY, 220, 2, FONT12ARIAL, GIO_TOGGLE_TEXT_COLOR, zNewTacticalMessages[ TCTL_MSG__CANNOT_SAVE_DURING_COMBAT ], FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED );
|
||||
*/
|
||||
|
||||
return( TRUE );
|
||||
}
|
||||
@@ -1195,14 +1197,14 @@ void RestoreGIOButtonBackGrounds()
|
||||
}
|
||||
*/
|
||||
|
||||
//Check box to toggle iron man options
|
||||
/* //Check box to toggle iron man options
|
||||
usPosY = GIO_IRON_MAN_SETTING_Y-GIO_OFFSET_TO_TOGGLE_BOX_Y;
|
||||
for( cnt=0; cnt<NUM_SAVE_OPTIONS; cnt++)
|
||||
{
|
||||
RestoreExternBackgroundRect( GIO_IRON_MAN_SETTING_X+GIO_OFFSET_TO_TOGGLE_BOX, usPosY, 34, 29 );
|
||||
usPosY += GIO_GAP_BN_SETTINGS;
|
||||
}
|
||||
|
||||
*/
|
||||
// Madd
|
||||
|
||||
usPosY = GIO_BR_SETTING_Y-GIO_OFFSET_TO_TOGGLE_BOX_Y;
|
||||
@@ -1218,16 +1220,15 @@ void DoneFadeOutForExitGameInitOptionScreen( void )
|
||||
{
|
||||
// loop through and get the status of all the buttons
|
||||
// Madd
|
||||
// gGameOptions.fGunNut = GetCurrentGunButtonSetting();
|
||||
gGameOptions.fGunNut = TRUE;
|
||||
gGameOptions.fAirStrikes = GetCurrentGunButtonSetting();
|
||||
gGameOptions.fGunNut = GetCurrentGunButtonSetting();
|
||||
gGameOptions.ubGameStyle = GetCurrentGameStyleButtonSetting();
|
||||
gGameOptions.ubDifficultyLevel = GetCurrentDifficultyButtonSetting() + 1;
|
||||
// JA2Gold: no more timed turns setting
|
||||
//gGameOptions.fTurnTimeLimit = GetCurrentTimedTurnsButtonSetting();
|
||||
|
||||
gGameOptions.fIronManMode = GetCurrentGameSaveButtonSetting();
|
||||
|
||||
// JA2Gold: iron man
|
||||
//gGameOptions.fIronManMode = GetCurrentGameSaveButtonSetting();
|
||||
// Madd
|
||||
gGameOptions.fIronManMode = FALSE;
|
||||
switch ( GetCurrentBROptionButtonSetting() )
|
||||
{
|
||||
case GIO_BR_GOOD:
|
||||
@@ -1326,9 +1327,7 @@ void ConfirmGioDifSettingMessageBoxCallBack( UINT8 bExitValue )
|
||||
BOOLEAN DisplayMessageToUserAboutIronManMode()
|
||||
{
|
||||
// Madd
|
||||
//UINT8 ubIronManMode = FALSE; // GetCurrentGameSaveButtonSetting();
|
||||
|
||||
UINT8 ubIronManMode = GetCurrentGameSaveButtonSetting();
|
||||
UINT8 ubIronManMode = FALSE; // GetCurrentGameSaveButtonSetting();
|
||||
|
||||
//if the user has selected IRON MAN mode
|
||||
if( ubIronManMode )
|
||||
|
||||
+2
-2
@@ -654,8 +654,8 @@ void DisplayGameSettings( )
|
||||
//ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, L"%s: %s", gzGIOScreenText[ GIO_BR_QUALITY_TEXT ], gzGIOScreenText[ GIO_BR_GOOD_TEXT ] );
|
||||
// ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, L"%s: %s", gzGIOScreenText[ GIO_GAME_SAVE_STYLE_TEXT ], gzGIOScreenText[ GIO_SAVE_ANYWHERE_TEXT + gGameOptions.fIronManMode ] );
|
||||
|
||||
// Air Strikes Option
|
||||
if( gGameOptions.fAirStrikes )
|
||||
// Tons of Guns Option
|
||||
if( gGameOptions.fGunNut )
|
||||
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, L"%s: %s", gzGIOScreenText[ GIO_GUN_OPTIONS_TEXT ], gzGIOScreenText[ GIO_GUN_NUT_TEXT ] );
|
||||
else
|
||||
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, L"%s: %s", gzGIOScreenText[ GIO_GUN_OPTIONS_TEXT ], gzGIOScreenText[ GIO_REDUCED_GUNS_TEXT ] );
|
||||
|
||||
+1
-1
@@ -28,7 +28,7 @@ INT16 zVersionLabel[16] = { L"Beta v. 0.98" };
|
||||
|
||||
#endif
|
||||
|
||||
INT8 czVersionNumber[16] = { "Build 11.08.05" };
|
||||
INT8 czVersionNumber[16] = { "Build 04.15.06" };
|
||||
INT16 zTrackingNumber[16] = { L"Z" };
|
||||
|
||||
|
||||
|
||||
@@ -103,6 +103,14 @@ BOOLEAN LoadExternalGameplayData(STR directoryName)
|
||||
if(!ReadInAmmoStats(fileName))
|
||||
return FALSE;
|
||||
|
||||
// Lesh: added this, begin
|
||||
strcpy(fileName, directoryName);
|
||||
strcat(fileName, BURSTSOUNDSFILENAME);
|
||||
DebugMsg (TOPIC_JA2,DBG_LEVEL_3,String("LoadExternalGameplayData, fileName = %s", fileName));
|
||||
if(!ReadInBurstSoundArray(fileName))
|
||||
return FALSE;
|
||||
// Lesh: end
|
||||
|
||||
strcpy(fileName, directoryName);
|
||||
strcat(fileName, ITEMSFILENAME);
|
||||
DebugMsg (TOPIC_JA2,DBG_LEVEL_3,String("LoadExternalGameplayData, fileName = %s", fileName));
|
||||
@@ -147,6 +155,9 @@ BOOLEAN LoadExternalGameplayData(STR directoryName)
|
||||
if(!ReadInMergeStats(fileName))
|
||||
return FALSE;
|
||||
|
||||
//if(!WriteMergeStats())
|
||||
// return FALSE;
|
||||
|
||||
strcpy(fileName, directoryName);
|
||||
strcat(fileName, ATTACHMENTCOMBOMERGESFILENAME);
|
||||
if(!ReadInAttachmentComboMergeStats(fileName))
|
||||
|
||||
@@ -1,46 +1,46 @@
|
||||
Microsoft Visual Studio Solution File, Format Version 8.00
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Editor", "Editor\Editor.vcproj", "{CB33540F-3AFF-4985-86FE-5E899B570133}"
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Editor", "Editor\Editor.vcproj", "{33CD085A-A03E-4D2C-970A-D69CD5466806}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Laptop", "Laptop\Laptop.vcproj", "{FEE1FCB1-6A45-4247-A440-3561F33B16A3}"
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Laptop", "Laptop\Laptop.vcproj", "{E0E16C88-C352-4C37-AC27-BFF3FDF18E82}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Standard Gaming Platform", "Standard Gaming Platform\Standard Gaming Platform.vcproj", "{4D15E8C7-9458-403C-A34B-15DF2CAF3277}"
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Standard Gaming Platform", "Standard Gaming Platform\Standard Gaming Platform.vcproj", "{1D052886-AE6B-437A-BE0C-D074CA940818}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Strategic", "Strategic\Strategic.vcproj", "{5C428253-7443-4C4B-A5F2-E079DA2E6933}"
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Strategic", "Strategic\Strategic.vcproj", "{F10032C4-A6E5-44F7-A9BC-B76C46BA72D5}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Tactical", "Tactical\Tactical.vcproj", "{F80B55A6-E228-4EB6-B915-4815E01CEA76}"
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Tactical", "Tactical\Tactical.vcproj", "{2124B612-013E-492D-911C-B5737D60EEDF}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TacticalAI", "TacticalAI\TacticalAI.vcproj", "{94DA4574-7108-4CDA-B43F-DA83B1C3EDF6}"
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TacticalAI", "TacticalAI\TacticalAI.vcproj", "{D76119D7-B5EB-4F61-BFB9-F582B06F889B}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TileEngine", "TileEngine\TileEngine.vcproj", "{262D8F88-8266-4B16-999E-B5C0B12EFF01}"
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TileEngine", "TileEngine\TileEngine.vcproj", "{97E691B8-7A39-4E86-B69A-BD6BD5C31F32}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Utils", "Utils\Utils.vcproj", "{6B1D57C9-A579-452E-8642-6ECF3E9FD399}"
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Utils", "Utils\Utils.vcproj", "{4D4A4AF3-63D1-4C4B-81B5-3EFB3BD574F2}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ja2", "JA2.vcproj", "{0795F6E2-EE5C-48C5-AB6B-11E64B7533D4}"
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ja2", "JA2.vcproj", "{32A550A8-FEBD-4F8D-8D62-6F97C63F83DA}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{CB33540F-3AFF-4985-86FE-5E899B570133} = {CB33540F-3AFF-4985-86FE-5E899B570133}
|
||||
{5C428253-7443-4C4B-A5F2-E079DA2E6933} = {5C428253-7443-4C4B-A5F2-E079DA2E6933}
|
||||
{94DA4574-7108-4CDA-B43F-DA83B1C3EDF6} = {94DA4574-7108-4CDA-B43F-DA83B1C3EDF6}
|
||||
{262D8F88-8266-4B16-999E-B5C0B12EFF01} = {262D8F88-8266-4B16-999E-B5C0B12EFF01}
|
||||
{F80B55A6-E228-4EB6-B915-4815E01CEA76} = {F80B55A6-E228-4EB6-B915-4815E01CEA76}
|
||||
{FEE1FCB1-6A45-4247-A440-3561F33B16A3} = {FEE1FCB1-6A45-4247-A440-3561F33B16A3}
|
||||
{4D15E8C7-9458-403C-A34B-15DF2CAF3277} = {4D15E8C7-9458-403C-A34B-15DF2CAF3277}
|
||||
{6B1D57C9-A579-452E-8642-6ECF3E9FD399} = {6B1D57C9-A579-452E-8642-6ECF3E9FD399}
|
||||
{F10032C4-A6E5-44F7-A9BC-B76C46BA72D5} = {F10032C4-A6E5-44F7-A9BC-B76C46BA72D5}
|
||||
{E0E16C88-C352-4C37-AC27-BFF3FDF18E82} = {E0E16C88-C352-4C37-AC27-BFF3FDF18E82}
|
||||
{33CD085A-A03E-4D2C-970A-D69CD5466806} = {33CD085A-A03E-4D2C-970A-D69CD5466806}
|
||||
{D76119D7-B5EB-4F61-BFB9-F582B06F889B} = {D76119D7-B5EB-4F61-BFB9-F582B06F889B}
|
||||
{4D4A4AF3-63D1-4C4B-81B5-3EFB3BD574F2} = {4D4A4AF3-63D1-4C4B-81B5-3EFB3BD574F2}
|
||||
{2124B612-013E-492D-911C-B5737D60EEDF} = {2124B612-013E-492D-911C-B5737D60EEDF}
|
||||
{1D052886-AE6B-437A-BE0C-D074CA940818} = {1D052886-AE6B-437A-BE0C-D074CA940818}
|
||||
{97E691B8-7A39-4E86-B69A-BD6BD5C31F32} = {97E691B8-7A39-4E86-B69A-BD6BD5C31F32}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Global
|
||||
@@ -55,150 +55,150 @@ Global
|
||||
Release with Debug Info = Release with Debug Info
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfiguration) = postSolution
|
||||
{CB33540F-3AFF-4985-86FE-5E899B570133}.Bounds Checker.ActiveCfg = Bounds Checker|Win32
|
||||
{CB33540F-3AFF-4985-86FE-5E899B570133}.Bounds Checker.Build.0 = Bounds Checker|Win32
|
||||
{CB33540F-3AFF-4985-86FE-5E899B570133}.Debug.ActiveCfg = Debug|Win32
|
||||
{CB33540F-3AFF-4985-86FE-5E899B570133}.Debug.Build.0 = Debug|Win32
|
||||
{CB33540F-3AFF-4985-86FE-5E899B570133}.Debug Demo.ActiveCfg = Debug Demo|Win32
|
||||
{CB33540F-3AFF-4985-86FE-5E899B570133}.Debug Demo.Build.0 = Debug Demo|Win32
|
||||
{CB33540F-3AFF-4985-86FE-5E899B570133}.Demo Bounds Checker.ActiveCfg = Demo Bounds Checker|Win32
|
||||
{CB33540F-3AFF-4985-86FE-5E899B570133}.Demo Bounds Checker.Build.0 = Demo Bounds Checker|Win32
|
||||
{CB33540F-3AFF-4985-86FE-5E899B570133}.Demo Release with Debug Info.ActiveCfg = Demo Release with Debug Info|Win32
|
||||
{CB33540F-3AFF-4985-86FE-5E899B570133}.Demo Release with Debug Info.Build.0 = Demo Release with Debug Info|Win32
|
||||
{CB33540F-3AFF-4985-86FE-5E899B570133}.Release.ActiveCfg = Release|Win32
|
||||
{CB33540F-3AFF-4985-86FE-5E899B570133}.Release.Build.0 = Release|Win32
|
||||
{CB33540F-3AFF-4985-86FE-5E899B570133}.Release Demo.ActiveCfg = Release Demo|Win32
|
||||
{CB33540F-3AFF-4985-86FE-5E899B570133}.Release Demo.Build.0 = Release Demo|Win32
|
||||
{CB33540F-3AFF-4985-86FE-5E899B570133}.Release with Debug Info.ActiveCfg = Release with Debug Info|Win32
|
||||
{CB33540F-3AFF-4985-86FE-5E899B570133}.Release with Debug Info.Build.0 = Release with Debug Info|Win32
|
||||
{FEE1FCB1-6A45-4247-A440-3561F33B16A3}.Bounds Checker.ActiveCfg = Bounds Checker|Win32
|
||||
{FEE1FCB1-6A45-4247-A440-3561F33B16A3}.Bounds Checker.Build.0 = Bounds Checker|Win32
|
||||
{FEE1FCB1-6A45-4247-A440-3561F33B16A3}.Debug.ActiveCfg = Debug|Win32
|
||||
{FEE1FCB1-6A45-4247-A440-3561F33B16A3}.Debug.Build.0 = Debug|Win32
|
||||
{FEE1FCB1-6A45-4247-A440-3561F33B16A3}.Debug Demo.ActiveCfg = Debug Demo|Win32
|
||||
{FEE1FCB1-6A45-4247-A440-3561F33B16A3}.Debug Demo.Build.0 = Debug Demo|Win32
|
||||
{FEE1FCB1-6A45-4247-A440-3561F33B16A3}.Demo Bounds Checker.ActiveCfg = Demo Bounds Checker|Win32
|
||||
{FEE1FCB1-6A45-4247-A440-3561F33B16A3}.Demo Bounds Checker.Build.0 = Demo Bounds Checker|Win32
|
||||
{FEE1FCB1-6A45-4247-A440-3561F33B16A3}.Demo Release with Debug Info.ActiveCfg = Demo Release with Debug Info|Win32
|
||||
{FEE1FCB1-6A45-4247-A440-3561F33B16A3}.Demo Release with Debug Info.Build.0 = Demo Release with Debug Info|Win32
|
||||
{FEE1FCB1-6A45-4247-A440-3561F33B16A3}.Release.ActiveCfg = Release|Win32
|
||||
{FEE1FCB1-6A45-4247-A440-3561F33B16A3}.Release.Build.0 = Release|Win32
|
||||
{FEE1FCB1-6A45-4247-A440-3561F33B16A3}.Release Demo.ActiveCfg = Release Demo|Win32
|
||||
{FEE1FCB1-6A45-4247-A440-3561F33B16A3}.Release Demo.Build.0 = Release Demo|Win32
|
||||
{FEE1FCB1-6A45-4247-A440-3561F33B16A3}.Release with Debug Info.ActiveCfg = Release with Debug Info|Win32
|
||||
{FEE1FCB1-6A45-4247-A440-3561F33B16A3}.Release with Debug Info.Build.0 = Release with Debug Info|Win32
|
||||
{4D15E8C7-9458-403C-A34B-15DF2CAF3277}.Bounds Checker.ActiveCfg = Bounds Checker|Win32
|
||||
{4D15E8C7-9458-403C-A34B-15DF2CAF3277}.Bounds Checker.Build.0 = Bounds Checker|Win32
|
||||
{4D15E8C7-9458-403C-A34B-15DF2CAF3277}.Debug.ActiveCfg = Debug|Win32
|
||||
{4D15E8C7-9458-403C-A34B-15DF2CAF3277}.Debug.Build.0 = Debug|Win32
|
||||
{4D15E8C7-9458-403C-A34B-15DF2CAF3277}.Debug Demo.ActiveCfg = Debug Demo|Win32
|
||||
{4D15E8C7-9458-403C-A34B-15DF2CAF3277}.Debug Demo.Build.0 = Debug Demo|Win32
|
||||
{4D15E8C7-9458-403C-A34B-15DF2CAF3277}.Demo Bounds Checker.ActiveCfg = Bounds Checker|Win32
|
||||
{4D15E8C7-9458-403C-A34B-15DF2CAF3277}.Demo Bounds Checker.Build.0 = Bounds Checker|Win32
|
||||
{4D15E8C7-9458-403C-A34B-15DF2CAF3277}.Demo Release with Debug Info.ActiveCfg = Demo Release with Debug Info|Win32
|
||||
{4D15E8C7-9458-403C-A34B-15DF2CAF3277}.Demo Release with Debug Info.Build.0 = Demo Release with Debug Info|Win32
|
||||
{4D15E8C7-9458-403C-A34B-15DF2CAF3277}.Release.ActiveCfg = Release|Win32
|
||||
{4D15E8C7-9458-403C-A34B-15DF2CAF3277}.Release.Build.0 = Release|Win32
|
||||
{4D15E8C7-9458-403C-A34B-15DF2CAF3277}.Release Demo.ActiveCfg = Release Demo|Win32
|
||||
{4D15E8C7-9458-403C-A34B-15DF2CAF3277}.Release Demo.Build.0 = Release Demo|Win32
|
||||
{4D15E8C7-9458-403C-A34B-15DF2CAF3277}.Release with Debug Info.ActiveCfg = Release with Debug Info|Win32
|
||||
{4D15E8C7-9458-403C-A34B-15DF2CAF3277}.Release with Debug Info.Build.0 = Release with Debug Info|Win32
|
||||
{5C428253-7443-4C4B-A5F2-E079DA2E6933}.Bounds Checker.ActiveCfg = Bounds Checker|Win32
|
||||
{5C428253-7443-4C4B-A5F2-E079DA2E6933}.Bounds Checker.Build.0 = Bounds Checker|Win32
|
||||
{5C428253-7443-4C4B-A5F2-E079DA2E6933}.Debug.ActiveCfg = Debug|Win32
|
||||
{5C428253-7443-4C4B-A5F2-E079DA2E6933}.Debug.Build.0 = Debug|Win32
|
||||
{5C428253-7443-4C4B-A5F2-E079DA2E6933}.Debug Demo.ActiveCfg = Debug Demo|Win32
|
||||
{5C428253-7443-4C4B-A5F2-E079DA2E6933}.Debug Demo.Build.0 = Debug Demo|Win32
|
||||
{5C428253-7443-4C4B-A5F2-E079DA2E6933}.Demo Bounds Checker.ActiveCfg = Demo Bounds Checker|Win32
|
||||
{5C428253-7443-4C4B-A5F2-E079DA2E6933}.Demo Bounds Checker.Build.0 = Demo Bounds Checker|Win32
|
||||
{5C428253-7443-4C4B-A5F2-E079DA2E6933}.Demo Release with Debug Info.ActiveCfg = Demo Release with Debug Info|Win32
|
||||
{5C428253-7443-4C4B-A5F2-E079DA2E6933}.Demo Release with Debug Info.Build.0 = Demo Release with Debug Info|Win32
|
||||
{5C428253-7443-4C4B-A5F2-E079DA2E6933}.Release.ActiveCfg = Release|Win32
|
||||
{5C428253-7443-4C4B-A5F2-E079DA2E6933}.Release.Build.0 = Release|Win32
|
||||
{5C428253-7443-4C4B-A5F2-E079DA2E6933}.Release Demo.ActiveCfg = Release Demo|Win32
|
||||
{5C428253-7443-4C4B-A5F2-E079DA2E6933}.Release Demo.Build.0 = Release Demo|Win32
|
||||
{5C428253-7443-4C4B-A5F2-E079DA2E6933}.Release with Debug Info.ActiveCfg = Release with Debug Info|Win32
|
||||
{5C428253-7443-4C4B-A5F2-E079DA2E6933}.Release with Debug Info.Build.0 = Release with Debug Info|Win32
|
||||
{F80B55A6-E228-4EB6-B915-4815E01CEA76}.Bounds Checker.ActiveCfg = Bounds Checker|Win32
|
||||
{F80B55A6-E228-4EB6-B915-4815E01CEA76}.Bounds Checker.Build.0 = Bounds Checker|Win32
|
||||
{F80B55A6-E228-4EB6-B915-4815E01CEA76}.Debug.ActiveCfg = Debug|Win32
|
||||
{F80B55A6-E228-4EB6-B915-4815E01CEA76}.Debug.Build.0 = Debug|Win32
|
||||
{F80B55A6-E228-4EB6-B915-4815E01CEA76}.Debug Demo.ActiveCfg = Debug Demo|Win32
|
||||
{F80B55A6-E228-4EB6-B915-4815E01CEA76}.Debug Demo.Build.0 = Debug Demo|Win32
|
||||
{F80B55A6-E228-4EB6-B915-4815E01CEA76}.Demo Bounds Checker.ActiveCfg = Demo Bounds Checker|Win32
|
||||
{F80B55A6-E228-4EB6-B915-4815E01CEA76}.Demo Bounds Checker.Build.0 = Demo Bounds Checker|Win32
|
||||
{F80B55A6-E228-4EB6-B915-4815E01CEA76}.Demo Release with Debug Info.ActiveCfg = Demo Release with Debug Info|Win32
|
||||
{F80B55A6-E228-4EB6-B915-4815E01CEA76}.Demo Release with Debug Info.Build.0 = Demo Release with Debug Info|Win32
|
||||
{F80B55A6-E228-4EB6-B915-4815E01CEA76}.Release.ActiveCfg = Release|Win32
|
||||
{F80B55A6-E228-4EB6-B915-4815E01CEA76}.Release.Build.0 = Release|Win32
|
||||
{F80B55A6-E228-4EB6-B915-4815E01CEA76}.Release Demo.ActiveCfg = Release Demo|Win32
|
||||
{F80B55A6-E228-4EB6-B915-4815E01CEA76}.Release Demo.Build.0 = Release Demo|Win32
|
||||
{F80B55A6-E228-4EB6-B915-4815E01CEA76}.Release with Debug Info.ActiveCfg = Release with Debug Info|Win32
|
||||
{F80B55A6-E228-4EB6-B915-4815E01CEA76}.Release with Debug Info.Build.0 = Release with Debug Info|Win32
|
||||
{94DA4574-7108-4CDA-B43F-DA83B1C3EDF6}.Bounds Checker.ActiveCfg = Bounds Checker|Win32
|
||||
{94DA4574-7108-4CDA-B43F-DA83B1C3EDF6}.Bounds Checker.Build.0 = Bounds Checker|Win32
|
||||
{94DA4574-7108-4CDA-B43F-DA83B1C3EDF6}.Debug.ActiveCfg = Debug|Win32
|
||||
{94DA4574-7108-4CDA-B43F-DA83B1C3EDF6}.Debug.Build.0 = Debug|Win32
|
||||
{94DA4574-7108-4CDA-B43F-DA83B1C3EDF6}.Debug Demo.ActiveCfg = Debug Demo|Win32
|
||||
{94DA4574-7108-4CDA-B43F-DA83B1C3EDF6}.Debug Demo.Build.0 = Debug Demo|Win32
|
||||
{94DA4574-7108-4CDA-B43F-DA83B1C3EDF6}.Demo Bounds Checker.ActiveCfg = Demo Bounds Checker|Win32
|
||||
{94DA4574-7108-4CDA-B43F-DA83B1C3EDF6}.Demo Bounds Checker.Build.0 = Demo Bounds Checker|Win32
|
||||
{94DA4574-7108-4CDA-B43F-DA83B1C3EDF6}.Demo Release with Debug Info.ActiveCfg = Demo Release with Debug Info|Win32
|
||||
{94DA4574-7108-4CDA-B43F-DA83B1C3EDF6}.Demo Release with Debug Info.Build.0 = Demo Release with Debug Info|Win32
|
||||
{94DA4574-7108-4CDA-B43F-DA83B1C3EDF6}.Release.ActiveCfg = Release|Win32
|
||||
{94DA4574-7108-4CDA-B43F-DA83B1C3EDF6}.Release.Build.0 = Release|Win32
|
||||
{94DA4574-7108-4CDA-B43F-DA83B1C3EDF6}.Release Demo.ActiveCfg = Release Demo|Win32
|
||||
{94DA4574-7108-4CDA-B43F-DA83B1C3EDF6}.Release Demo.Build.0 = Release Demo|Win32
|
||||
{94DA4574-7108-4CDA-B43F-DA83B1C3EDF6}.Release with Debug Info.ActiveCfg = Release with Debug Info|Win32
|
||||
{94DA4574-7108-4CDA-B43F-DA83B1C3EDF6}.Release with Debug Info.Build.0 = Release with Debug Info|Win32
|
||||
{262D8F88-8266-4B16-999E-B5C0B12EFF01}.Bounds Checker.ActiveCfg = Bounds Checker|Win32
|
||||
{262D8F88-8266-4B16-999E-B5C0B12EFF01}.Bounds Checker.Build.0 = Bounds Checker|Win32
|
||||
{262D8F88-8266-4B16-999E-B5C0B12EFF01}.Debug.ActiveCfg = Debug|Win32
|
||||
{262D8F88-8266-4B16-999E-B5C0B12EFF01}.Debug.Build.0 = Debug|Win32
|
||||
{262D8F88-8266-4B16-999E-B5C0B12EFF01}.Debug Demo.ActiveCfg = Debug Demo|Win32
|
||||
{262D8F88-8266-4B16-999E-B5C0B12EFF01}.Debug Demo.Build.0 = Debug Demo|Win32
|
||||
{262D8F88-8266-4B16-999E-B5C0B12EFF01}.Demo Bounds Checker.ActiveCfg = Demo Bounds Checker|Win32
|
||||
{262D8F88-8266-4B16-999E-B5C0B12EFF01}.Demo Bounds Checker.Build.0 = Demo Bounds Checker|Win32
|
||||
{262D8F88-8266-4B16-999E-B5C0B12EFF01}.Demo Release with Debug Info.ActiveCfg = Demo Release with Debug Info|Win32
|
||||
{262D8F88-8266-4B16-999E-B5C0B12EFF01}.Demo Release with Debug Info.Build.0 = Demo Release with Debug Info|Win32
|
||||
{262D8F88-8266-4B16-999E-B5C0B12EFF01}.Release.ActiveCfg = Release|Win32
|
||||
{262D8F88-8266-4B16-999E-B5C0B12EFF01}.Release.Build.0 = Release|Win32
|
||||
{262D8F88-8266-4B16-999E-B5C0B12EFF01}.Release Demo.ActiveCfg = Release Demo|Win32
|
||||
{262D8F88-8266-4B16-999E-B5C0B12EFF01}.Release Demo.Build.0 = Release Demo|Win32
|
||||
{262D8F88-8266-4B16-999E-B5C0B12EFF01}.Release with Debug Info.ActiveCfg = Release with Debug Info|Win32
|
||||
{262D8F88-8266-4B16-999E-B5C0B12EFF01}.Release with Debug Info.Build.0 = Release with Debug Info|Win32
|
||||
{6B1D57C9-A579-452E-8642-6ECF3E9FD399}.Bounds Checker.ActiveCfg = Bounds Checker|Win32
|
||||
{6B1D57C9-A579-452E-8642-6ECF3E9FD399}.Bounds Checker.Build.0 = Bounds Checker|Win32
|
||||
{6B1D57C9-A579-452E-8642-6ECF3E9FD399}.Debug.ActiveCfg = Debug|Win32
|
||||
{6B1D57C9-A579-452E-8642-6ECF3E9FD399}.Debug.Build.0 = Debug|Win32
|
||||
{6B1D57C9-A579-452E-8642-6ECF3E9FD399}.Debug Demo.ActiveCfg = Debug Demo|Win32
|
||||
{6B1D57C9-A579-452E-8642-6ECF3E9FD399}.Debug Demo.Build.0 = Debug Demo|Win32
|
||||
{6B1D57C9-A579-452E-8642-6ECF3E9FD399}.Demo Bounds Checker.ActiveCfg = Demo Bounds Checker|Win32
|
||||
{6B1D57C9-A579-452E-8642-6ECF3E9FD399}.Demo Bounds Checker.Build.0 = Demo Bounds Checker|Win32
|
||||
{6B1D57C9-A579-452E-8642-6ECF3E9FD399}.Demo Release with Debug Info.ActiveCfg = Demo Release with Debug Info|Win32
|
||||
{6B1D57C9-A579-452E-8642-6ECF3E9FD399}.Demo Release with Debug Info.Build.0 = Demo Release with Debug Info|Win32
|
||||
{6B1D57C9-A579-452E-8642-6ECF3E9FD399}.Release.ActiveCfg = Release|Win32
|
||||
{6B1D57C9-A579-452E-8642-6ECF3E9FD399}.Release.Build.0 = Release|Win32
|
||||
{6B1D57C9-A579-452E-8642-6ECF3E9FD399}.Release Demo.ActiveCfg = Release Demo|Win32
|
||||
{6B1D57C9-A579-452E-8642-6ECF3E9FD399}.Release Demo.Build.0 = Release Demo|Win32
|
||||
{6B1D57C9-A579-452E-8642-6ECF3E9FD399}.Release with Debug Info.ActiveCfg = Release with Debug Info|Win32
|
||||
{6B1D57C9-A579-452E-8642-6ECF3E9FD399}.Release with Debug Info.Build.0 = Release with Debug Info|Win32
|
||||
{0795F6E2-EE5C-48C5-AB6B-11E64B7533D4}.Bounds Checker.ActiveCfg = Bounds Checker|Win32
|
||||
{0795F6E2-EE5C-48C5-AB6B-11E64B7533D4}.Bounds Checker.Build.0 = Bounds Checker|Win32
|
||||
{0795F6E2-EE5C-48C5-AB6B-11E64B7533D4}.Debug.ActiveCfg = Debug|Win32
|
||||
{0795F6E2-EE5C-48C5-AB6B-11E64B7533D4}.Debug.Build.0 = Debug|Win32
|
||||
{0795F6E2-EE5C-48C5-AB6B-11E64B7533D4}.Debug Demo.ActiveCfg = Debug Demo|Win32
|
||||
{0795F6E2-EE5C-48C5-AB6B-11E64B7533D4}.Debug Demo.Build.0 = Debug Demo|Win32
|
||||
{0795F6E2-EE5C-48C5-AB6B-11E64B7533D4}.Demo Bounds Checker.ActiveCfg = Demo Bounds Checker|Win32
|
||||
{0795F6E2-EE5C-48C5-AB6B-11E64B7533D4}.Demo Bounds Checker.Build.0 = Demo Bounds Checker|Win32
|
||||
{0795F6E2-EE5C-48C5-AB6B-11E64B7533D4}.Demo Release with Debug Info.ActiveCfg = Demo Release with Debug Info|Win32
|
||||
{0795F6E2-EE5C-48C5-AB6B-11E64B7533D4}.Demo Release with Debug Info.Build.0 = Demo Release with Debug Info|Win32
|
||||
{0795F6E2-EE5C-48C5-AB6B-11E64B7533D4}.Release.ActiveCfg = Release|Win32
|
||||
{0795F6E2-EE5C-48C5-AB6B-11E64B7533D4}.Release.Build.0 = Release|Win32
|
||||
{0795F6E2-EE5C-48C5-AB6B-11E64B7533D4}.Release Demo.ActiveCfg = Release Demo|Win32
|
||||
{0795F6E2-EE5C-48C5-AB6B-11E64B7533D4}.Release Demo.Build.0 = Release Demo|Win32
|
||||
{0795F6E2-EE5C-48C5-AB6B-11E64B7533D4}.Release with Debug Info.ActiveCfg = Release with Debug Info|Win32
|
||||
{0795F6E2-EE5C-48C5-AB6B-11E64B7533D4}.Release with Debug Info.Build.0 = Release with Debug Info|Win32
|
||||
{33CD085A-A03E-4D2C-970A-D69CD5466806}.Bounds Checker.ActiveCfg = Bounds Checker|Win32
|
||||
{33CD085A-A03E-4D2C-970A-D69CD5466806}.Bounds Checker.Build.0 = Bounds Checker|Win32
|
||||
{33CD085A-A03E-4D2C-970A-D69CD5466806}.Debug.ActiveCfg = Debug|Win32
|
||||
{33CD085A-A03E-4D2C-970A-D69CD5466806}.Debug.Build.0 = Debug|Win32
|
||||
{33CD085A-A03E-4D2C-970A-D69CD5466806}.Debug Demo.ActiveCfg = Debug Demo|Win32
|
||||
{33CD085A-A03E-4D2C-970A-D69CD5466806}.Debug Demo.Build.0 = Debug Demo|Win32
|
||||
{33CD085A-A03E-4D2C-970A-D69CD5466806}.Demo Bounds Checker.ActiveCfg = Demo Bounds Checker|Win32
|
||||
{33CD085A-A03E-4D2C-970A-D69CD5466806}.Demo Bounds Checker.Build.0 = Demo Bounds Checker|Win32
|
||||
{33CD085A-A03E-4D2C-970A-D69CD5466806}.Demo Release with Debug Info.ActiveCfg = Demo Release with Debug Info|Win32
|
||||
{33CD085A-A03E-4D2C-970A-D69CD5466806}.Demo Release with Debug Info.Build.0 = Demo Release with Debug Info|Win32
|
||||
{33CD085A-A03E-4D2C-970A-D69CD5466806}.Release.ActiveCfg = Release|Win32
|
||||
{33CD085A-A03E-4D2C-970A-D69CD5466806}.Release.Build.0 = Release|Win32
|
||||
{33CD085A-A03E-4D2C-970A-D69CD5466806}.Release Demo.ActiveCfg = Release Demo|Win32
|
||||
{33CD085A-A03E-4D2C-970A-D69CD5466806}.Release Demo.Build.0 = Release Demo|Win32
|
||||
{33CD085A-A03E-4D2C-970A-D69CD5466806}.Release with Debug Info.ActiveCfg = Release with Debug Info|Win32
|
||||
{33CD085A-A03E-4D2C-970A-D69CD5466806}.Release with Debug Info.Build.0 = Release with Debug Info|Win32
|
||||
{E0E16C88-C352-4C37-AC27-BFF3FDF18E82}.Bounds Checker.ActiveCfg = Bounds Checker|Win32
|
||||
{E0E16C88-C352-4C37-AC27-BFF3FDF18E82}.Bounds Checker.Build.0 = Bounds Checker|Win32
|
||||
{E0E16C88-C352-4C37-AC27-BFF3FDF18E82}.Debug.ActiveCfg = Debug|Win32
|
||||
{E0E16C88-C352-4C37-AC27-BFF3FDF18E82}.Debug.Build.0 = Debug|Win32
|
||||
{E0E16C88-C352-4C37-AC27-BFF3FDF18E82}.Debug Demo.ActiveCfg = Debug Demo|Win32
|
||||
{E0E16C88-C352-4C37-AC27-BFF3FDF18E82}.Debug Demo.Build.0 = Debug Demo|Win32
|
||||
{E0E16C88-C352-4C37-AC27-BFF3FDF18E82}.Demo Bounds Checker.ActiveCfg = Demo Bounds Checker|Win32
|
||||
{E0E16C88-C352-4C37-AC27-BFF3FDF18E82}.Demo Bounds Checker.Build.0 = Demo Bounds Checker|Win32
|
||||
{E0E16C88-C352-4C37-AC27-BFF3FDF18E82}.Demo Release with Debug Info.ActiveCfg = Demo Release with Debug Info|Win32
|
||||
{E0E16C88-C352-4C37-AC27-BFF3FDF18E82}.Demo Release with Debug Info.Build.0 = Demo Release with Debug Info|Win32
|
||||
{E0E16C88-C352-4C37-AC27-BFF3FDF18E82}.Release.ActiveCfg = Release|Win32
|
||||
{E0E16C88-C352-4C37-AC27-BFF3FDF18E82}.Release.Build.0 = Release|Win32
|
||||
{E0E16C88-C352-4C37-AC27-BFF3FDF18E82}.Release Demo.ActiveCfg = Release Demo|Win32
|
||||
{E0E16C88-C352-4C37-AC27-BFF3FDF18E82}.Release Demo.Build.0 = Release Demo|Win32
|
||||
{E0E16C88-C352-4C37-AC27-BFF3FDF18E82}.Release with Debug Info.ActiveCfg = Release with Debug Info|Win32
|
||||
{E0E16C88-C352-4C37-AC27-BFF3FDF18E82}.Release with Debug Info.Build.0 = Release with Debug Info|Win32
|
||||
{1D052886-AE6B-437A-BE0C-D074CA940818}.Bounds Checker.ActiveCfg = Bounds Checker|Win32
|
||||
{1D052886-AE6B-437A-BE0C-D074CA940818}.Bounds Checker.Build.0 = Bounds Checker|Win32
|
||||
{1D052886-AE6B-437A-BE0C-D074CA940818}.Debug.ActiveCfg = Debug|Win32
|
||||
{1D052886-AE6B-437A-BE0C-D074CA940818}.Debug.Build.0 = Debug|Win32
|
||||
{1D052886-AE6B-437A-BE0C-D074CA940818}.Debug Demo.ActiveCfg = Debug Demo|Win32
|
||||
{1D052886-AE6B-437A-BE0C-D074CA940818}.Debug Demo.Build.0 = Debug Demo|Win32
|
||||
{1D052886-AE6B-437A-BE0C-D074CA940818}.Demo Bounds Checker.ActiveCfg = Bounds Checker|Win32
|
||||
{1D052886-AE6B-437A-BE0C-D074CA940818}.Demo Bounds Checker.Build.0 = Bounds Checker|Win32
|
||||
{1D052886-AE6B-437A-BE0C-D074CA940818}.Demo Release with Debug Info.ActiveCfg = Demo Release with Debug Info|Win32
|
||||
{1D052886-AE6B-437A-BE0C-D074CA940818}.Demo Release with Debug Info.Build.0 = Demo Release with Debug Info|Win32
|
||||
{1D052886-AE6B-437A-BE0C-D074CA940818}.Release.ActiveCfg = Release|Win32
|
||||
{1D052886-AE6B-437A-BE0C-D074CA940818}.Release.Build.0 = Release|Win32
|
||||
{1D052886-AE6B-437A-BE0C-D074CA940818}.Release Demo.ActiveCfg = Release Demo|Win32
|
||||
{1D052886-AE6B-437A-BE0C-D074CA940818}.Release Demo.Build.0 = Release Demo|Win32
|
||||
{1D052886-AE6B-437A-BE0C-D074CA940818}.Release with Debug Info.ActiveCfg = Release with Debug Info|Win32
|
||||
{1D052886-AE6B-437A-BE0C-D074CA940818}.Release with Debug Info.Build.0 = Release with Debug Info|Win32
|
||||
{F10032C4-A6E5-44F7-A9BC-B76C46BA72D5}.Bounds Checker.ActiveCfg = Bounds Checker|Win32
|
||||
{F10032C4-A6E5-44F7-A9BC-B76C46BA72D5}.Bounds Checker.Build.0 = Bounds Checker|Win32
|
||||
{F10032C4-A6E5-44F7-A9BC-B76C46BA72D5}.Debug.ActiveCfg = Debug|Win32
|
||||
{F10032C4-A6E5-44F7-A9BC-B76C46BA72D5}.Debug.Build.0 = Debug|Win32
|
||||
{F10032C4-A6E5-44F7-A9BC-B76C46BA72D5}.Debug Demo.ActiveCfg = Debug Demo|Win32
|
||||
{F10032C4-A6E5-44F7-A9BC-B76C46BA72D5}.Debug Demo.Build.0 = Debug Demo|Win32
|
||||
{F10032C4-A6E5-44F7-A9BC-B76C46BA72D5}.Demo Bounds Checker.ActiveCfg = Demo Bounds Checker|Win32
|
||||
{F10032C4-A6E5-44F7-A9BC-B76C46BA72D5}.Demo Bounds Checker.Build.0 = Demo Bounds Checker|Win32
|
||||
{F10032C4-A6E5-44F7-A9BC-B76C46BA72D5}.Demo Release with Debug Info.ActiveCfg = Demo Release with Debug Info|Win32
|
||||
{F10032C4-A6E5-44F7-A9BC-B76C46BA72D5}.Demo Release with Debug Info.Build.0 = Demo Release with Debug Info|Win32
|
||||
{F10032C4-A6E5-44F7-A9BC-B76C46BA72D5}.Release.ActiveCfg = Release|Win32
|
||||
{F10032C4-A6E5-44F7-A9BC-B76C46BA72D5}.Release.Build.0 = Release|Win32
|
||||
{F10032C4-A6E5-44F7-A9BC-B76C46BA72D5}.Release Demo.ActiveCfg = Release Demo|Win32
|
||||
{F10032C4-A6E5-44F7-A9BC-B76C46BA72D5}.Release Demo.Build.0 = Release Demo|Win32
|
||||
{F10032C4-A6E5-44F7-A9BC-B76C46BA72D5}.Release with Debug Info.ActiveCfg = Release with Debug Info|Win32
|
||||
{F10032C4-A6E5-44F7-A9BC-B76C46BA72D5}.Release with Debug Info.Build.0 = Release with Debug Info|Win32
|
||||
{2124B612-013E-492D-911C-B5737D60EEDF}.Bounds Checker.ActiveCfg = Bounds Checker|Win32
|
||||
{2124B612-013E-492D-911C-B5737D60EEDF}.Bounds Checker.Build.0 = Bounds Checker|Win32
|
||||
{2124B612-013E-492D-911C-B5737D60EEDF}.Debug.ActiveCfg = Debug|Win32
|
||||
{2124B612-013E-492D-911C-B5737D60EEDF}.Debug.Build.0 = Debug|Win32
|
||||
{2124B612-013E-492D-911C-B5737D60EEDF}.Debug Demo.ActiveCfg = Debug Demo|Win32
|
||||
{2124B612-013E-492D-911C-B5737D60EEDF}.Debug Demo.Build.0 = Debug Demo|Win32
|
||||
{2124B612-013E-492D-911C-B5737D60EEDF}.Demo Bounds Checker.ActiveCfg = Demo Bounds Checker|Win32
|
||||
{2124B612-013E-492D-911C-B5737D60EEDF}.Demo Bounds Checker.Build.0 = Demo Bounds Checker|Win32
|
||||
{2124B612-013E-492D-911C-B5737D60EEDF}.Demo Release with Debug Info.ActiveCfg = Demo Release with Debug Info|Win32
|
||||
{2124B612-013E-492D-911C-B5737D60EEDF}.Demo Release with Debug Info.Build.0 = Demo Release with Debug Info|Win32
|
||||
{2124B612-013E-492D-911C-B5737D60EEDF}.Release.ActiveCfg = Release|Win32
|
||||
{2124B612-013E-492D-911C-B5737D60EEDF}.Release.Build.0 = Release|Win32
|
||||
{2124B612-013E-492D-911C-B5737D60EEDF}.Release Demo.ActiveCfg = Release Demo|Win32
|
||||
{2124B612-013E-492D-911C-B5737D60EEDF}.Release Demo.Build.0 = Release Demo|Win32
|
||||
{2124B612-013E-492D-911C-B5737D60EEDF}.Release with Debug Info.ActiveCfg = Release with Debug Info|Win32
|
||||
{2124B612-013E-492D-911C-B5737D60EEDF}.Release with Debug Info.Build.0 = Release with Debug Info|Win32
|
||||
{D76119D7-B5EB-4F61-BFB9-F582B06F889B}.Bounds Checker.ActiveCfg = Bounds Checker|Win32
|
||||
{D76119D7-B5EB-4F61-BFB9-F582B06F889B}.Bounds Checker.Build.0 = Bounds Checker|Win32
|
||||
{D76119D7-B5EB-4F61-BFB9-F582B06F889B}.Debug.ActiveCfg = Debug|Win32
|
||||
{D76119D7-B5EB-4F61-BFB9-F582B06F889B}.Debug.Build.0 = Debug|Win32
|
||||
{D76119D7-B5EB-4F61-BFB9-F582B06F889B}.Debug Demo.ActiveCfg = Debug Demo|Win32
|
||||
{D76119D7-B5EB-4F61-BFB9-F582B06F889B}.Debug Demo.Build.0 = Debug Demo|Win32
|
||||
{D76119D7-B5EB-4F61-BFB9-F582B06F889B}.Demo Bounds Checker.ActiveCfg = Demo Bounds Checker|Win32
|
||||
{D76119D7-B5EB-4F61-BFB9-F582B06F889B}.Demo Bounds Checker.Build.0 = Demo Bounds Checker|Win32
|
||||
{D76119D7-B5EB-4F61-BFB9-F582B06F889B}.Demo Release with Debug Info.ActiveCfg = Demo Release with Debug Info|Win32
|
||||
{D76119D7-B5EB-4F61-BFB9-F582B06F889B}.Demo Release with Debug Info.Build.0 = Demo Release with Debug Info|Win32
|
||||
{D76119D7-B5EB-4F61-BFB9-F582B06F889B}.Release.ActiveCfg = Release|Win32
|
||||
{D76119D7-B5EB-4F61-BFB9-F582B06F889B}.Release.Build.0 = Release|Win32
|
||||
{D76119D7-B5EB-4F61-BFB9-F582B06F889B}.Release Demo.ActiveCfg = Release Demo|Win32
|
||||
{D76119D7-B5EB-4F61-BFB9-F582B06F889B}.Release Demo.Build.0 = Release Demo|Win32
|
||||
{D76119D7-B5EB-4F61-BFB9-F582B06F889B}.Release with Debug Info.ActiveCfg = Release with Debug Info|Win32
|
||||
{D76119D7-B5EB-4F61-BFB9-F582B06F889B}.Release with Debug Info.Build.0 = Release with Debug Info|Win32
|
||||
{97E691B8-7A39-4E86-B69A-BD6BD5C31F32}.Bounds Checker.ActiveCfg = Bounds Checker|Win32
|
||||
{97E691B8-7A39-4E86-B69A-BD6BD5C31F32}.Bounds Checker.Build.0 = Bounds Checker|Win32
|
||||
{97E691B8-7A39-4E86-B69A-BD6BD5C31F32}.Debug.ActiveCfg = Debug|Win32
|
||||
{97E691B8-7A39-4E86-B69A-BD6BD5C31F32}.Debug.Build.0 = Debug|Win32
|
||||
{97E691B8-7A39-4E86-B69A-BD6BD5C31F32}.Debug Demo.ActiveCfg = Debug Demo|Win32
|
||||
{97E691B8-7A39-4E86-B69A-BD6BD5C31F32}.Debug Demo.Build.0 = Debug Demo|Win32
|
||||
{97E691B8-7A39-4E86-B69A-BD6BD5C31F32}.Demo Bounds Checker.ActiveCfg = Demo Bounds Checker|Win32
|
||||
{97E691B8-7A39-4E86-B69A-BD6BD5C31F32}.Demo Bounds Checker.Build.0 = Demo Bounds Checker|Win32
|
||||
{97E691B8-7A39-4E86-B69A-BD6BD5C31F32}.Demo Release with Debug Info.ActiveCfg = Demo Release with Debug Info|Win32
|
||||
{97E691B8-7A39-4E86-B69A-BD6BD5C31F32}.Demo Release with Debug Info.Build.0 = Demo Release with Debug Info|Win32
|
||||
{97E691B8-7A39-4E86-B69A-BD6BD5C31F32}.Release.ActiveCfg = Release|Win32
|
||||
{97E691B8-7A39-4E86-B69A-BD6BD5C31F32}.Release.Build.0 = Release|Win32
|
||||
{97E691B8-7A39-4E86-B69A-BD6BD5C31F32}.Release Demo.ActiveCfg = Release Demo|Win32
|
||||
{97E691B8-7A39-4E86-B69A-BD6BD5C31F32}.Release Demo.Build.0 = Release Demo|Win32
|
||||
{97E691B8-7A39-4E86-B69A-BD6BD5C31F32}.Release with Debug Info.ActiveCfg = Release with Debug Info|Win32
|
||||
{97E691B8-7A39-4E86-B69A-BD6BD5C31F32}.Release with Debug Info.Build.0 = Release with Debug Info|Win32
|
||||
{4D4A4AF3-63D1-4C4B-81B5-3EFB3BD574F2}.Bounds Checker.ActiveCfg = Bounds Checker|Win32
|
||||
{4D4A4AF3-63D1-4C4B-81B5-3EFB3BD574F2}.Bounds Checker.Build.0 = Bounds Checker|Win32
|
||||
{4D4A4AF3-63D1-4C4B-81B5-3EFB3BD574F2}.Debug.ActiveCfg = Debug|Win32
|
||||
{4D4A4AF3-63D1-4C4B-81B5-3EFB3BD574F2}.Debug.Build.0 = Debug|Win32
|
||||
{4D4A4AF3-63D1-4C4B-81B5-3EFB3BD574F2}.Debug Demo.ActiveCfg = Debug Demo|Win32
|
||||
{4D4A4AF3-63D1-4C4B-81B5-3EFB3BD574F2}.Debug Demo.Build.0 = Debug Demo|Win32
|
||||
{4D4A4AF3-63D1-4C4B-81B5-3EFB3BD574F2}.Demo Bounds Checker.ActiveCfg = Demo Bounds Checker|Win32
|
||||
{4D4A4AF3-63D1-4C4B-81B5-3EFB3BD574F2}.Demo Bounds Checker.Build.0 = Demo Bounds Checker|Win32
|
||||
{4D4A4AF3-63D1-4C4B-81B5-3EFB3BD574F2}.Demo Release with Debug Info.ActiveCfg = Demo Release with Debug Info|Win32
|
||||
{4D4A4AF3-63D1-4C4B-81B5-3EFB3BD574F2}.Demo Release with Debug Info.Build.0 = Demo Release with Debug Info|Win32
|
||||
{4D4A4AF3-63D1-4C4B-81B5-3EFB3BD574F2}.Release.ActiveCfg = Release|Win32
|
||||
{4D4A4AF3-63D1-4C4B-81B5-3EFB3BD574F2}.Release.Build.0 = Release|Win32
|
||||
{4D4A4AF3-63D1-4C4B-81B5-3EFB3BD574F2}.Release Demo.ActiveCfg = Release Demo|Win32
|
||||
{4D4A4AF3-63D1-4C4B-81B5-3EFB3BD574F2}.Release Demo.Build.0 = Release Demo|Win32
|
||||
{4D4A4AF3-63D1-4C4B-81B5-3EFB3BD574F2}.Release with Debug Info.ActiveCfg = Release with Debug Info|Win32
|
||||
{4D4A4AF3-63D1-4C4B-81B5-3EFB3BD574F2}.Release with Debug Info.Build.0 = Release with Debug Info|Win32
|
||||
{32A550A8-FEBD-4F8D-8D62-6F97C63F83DA}.Bounds Checker.ActiveCfg = Bounds Checker|Win32
|
||||
{32A550A8-FEBD-4F8D-8D62-6F97C63F83DA}.Bounds Checker.Build.0 = Bounds Checker|Win32
|
||||
{32A550A8-FEBD-4F8D-8D62-6F97C63F83DA}.Debug.ActiveCfg = Debug|Win32
|
||||
{32A550A8-FEBD-4F8D-8D62-6F97C63F83DA}.Debug.Build.0 = Debug|Win32
|
||||
{32A550A8-FEBD-4F8D-8D62-6F97C63F83DA}.Debug Demo.ActiveCfg = Debug Demo|Win32
|
||||
{32A550A8-FEBD-4F8D-8D62-6F97C63F83DA}.Debug Demo.Build.0 = Debug Demo|Win32
|
||||
{32A550A8-FEBD-4F8D-8D62-6F97C63F83DA}.Demo Bounds Checker.ActiveCfg = Demo Bounds Checker|Win32
|
||||
{32A550A8-FEBD-4F8D-8D62-6F97C63F83DA}.Demo Bounds Checker.Build.0 = Demo Bounds Checker|Win32
|
||||
{32A550A8-FEBD-4F8D-8D62-6F97C63F83DA}.Demo Release with Debug Info.ActiveCfg = Demo Release with Debug Info|Win32
|
||||
{32A550A8-FEBD-4F8D-8D62-6F97C63F83DA}.Demo Release with Debug Info.Build.0 = Demo Release with Debug Info|Win32
|
||||
{32A550A8-FEBD-4F8D-8D62-6F97C63F83DA}.Release.ActiveCfg = Release|Win32
|
||||
{32A550A8-FEBD-4F8D-8D62-6F97C63F83DA}.Release.Build.0 = Release|Win32
|
||||
{32A550A8-FEBD-4F8D-8D62-6F97C63F83DA}.Release Demo.ActiveCfg = Release Demo|Win32
|
||||
{32A550A8-FEBD-4F8D-8D62-6F97C63F83DA}.Release Demo.Build.0 = Release Demo|Win32
|
||||
{32A550A8-FEBD-4F8D-8D62-6F97C63F83DA}.Release with Debug Info.ActiveCfg = Release with Debug Info|Win32
|
||||
{32A550A8-FEBD-4F8D-8D62-6F97C63F83DA}.Release with Debug Info.Build.0 = Release with Debug Info|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
EndGlobalSection
|
||||
|
||||
+57
-35
@@ -3,8 +3,10 @@
|
||||
ProjectType="Visual C++"
|
||||
Version="7.10"
|
||||
Name="ja2"
|
||||
SccProjectName=""$/Jagged Alliance 2/Development/Programming/Jagged Alliance 2/Build", AVAAAAAA"
|
||||
SccLocalPath="..\..\ja2\build">
|
||||
SccProjectName=""
|
||||
SccAuxPath=""
|
||||
SccLocalPath=""
|
||||
SccProvider="">
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Win32"/>
|
||||
@@ -20,7 +22,7 @@
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=".\Standard Gaming Platform,.\TileEngine,.\Tactical,.\Utils,.\TacticalAI,.\Editor,.\Strategic,.\laptop,.\,..\"
|
||||
AdditionalIncludeDirectories="".\Standard Gaming Platform";.\TileEngine;.\Tactical;.\Utils;.\TacticalAI;.\Editor;.\Strategic;.\laptop;.\"
|
||||
PreprocessorDefinitions="CALLBACKTIMER;PRECOMPILEDHEADERS;_DEBUG;WIN32;_WINDOWS;JA2;_VTUNE_PROFILING;XML_STATIC;CINTERFACE"
|
||||
RuntimeLibrary="1"
|
||||
UsePrecompiledHeader="2"
|
||||
@@ -33,14 +35,14 @@
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="TRUE"
|
||||
DebugInformationFormat="4"
|
||||
CompileAs="0"
|
||||
CompileAs="2"
|
||||
DisableSpecificWarnings="4292"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="libexpatMT.lib mss32.lib winmm.lib smackw32.lib"
|
||||
OutputFile="C:\Games\Jagged Alliance 2 v1.13\ja2_debug_wanne.exe"
|
||||
OutputFile="C:\games\Jagged Alliance 2 Gold\ja2_debug.exe"
|
||||
LinkIncremental="2"
|
||||
SuppressStartupBanner="TRUE"
|
||||
AdditionalLibraryDirectories=".\..\..\Standard Gaming Platform\"
|
||||
@@ -90,8 +92,8 @@
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="\Standard Gaming Platform,.\TileEngine,.\Tactical,.\Utils,.\TacticalAI,.\Communications,.\Editor,.\Strategic,.\Laptop"
|
||||
PreprocessorDefinitions="_DEBUG;JA2DEMO;CALLBACKTIMER;WIN32;_WINDOWS;JA2;PRECOMPILEDHEADERS"
|
||||
AdditionalIncludeDirectories="".\Standard Gaming Platform";.\TileEngine;.\Tactical;.\Utils;.\TacticalAI;.\Editor;.\Strategic;.\laptop;.\"
|
||||
PreprocessorDefinitions="_DEBUG;JA2DEMO;CALLBACKTIMER;WIN32;_WINDOWS;JA2;PRECOMPILEDHEADERS;XML_STATIC;CINTERFACE"
|
||||
RuntimeLibrary="1"
|
||||
UsePrecompiledHeader="2"
|
||||
PrecompiledHeaderThrough="JA2 All.h"
|
||||
@@ -103,15 +105,16 @@
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="TRUE"
|
||||
DebugInformationFormat="4"
|
||||
CompileAs="0"/>
|
||||
CompileAs="2"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="winmm.lib smackw32.lib mss32.lib"
|
||||
AdditionalDependencies="libexpatMT.lib winmm.lib smackw32.lib mss32.lib"
|
||||
OutputFile="d:\ja2demo\ja2.exe"
|
||||
LinkIncremental="2"
|
||||
SuppressStartupBanner="TRUE"
|
||||
IgnoreDefaultLibraryNames="libcmt"
|
||||
GenerateDebugInformation="TRUE"
|
||||
ProgramDatabaseFile=".\Debug Demo/ja2.pdb"
|
||||
GenerateMapFile="TRUE"
|
||||
@@ -157,8 +160,8 @@
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="\Standard Gaming Platform,.\TileEngine,.\Tactical,.\Utils,.\TacticalAI,.\Communications,.\Editor,.\Strategic,.\Laptop"
|
||||
PreprocessorDefinitions="_DEBUG;BOUNDS_CHECKER;JA2DEMO;CALLBACKTIMER;WIN32;_WINDOWS;JA2;PRECOMPILEDHEADERS"
|
||||
AdditionalIncludeDirectories="".\Standard Gaming Platform";.\TileEngine;.\Tactical;.\Utils;.\TacticalAI;.\Editor;.\Strategic;.\laptop;.\"
|
||||
PreprocessorDefinitions="_DEBUG;BOUNDS_CHECKER;JA2DEMO;CALLBACKTIMER;WIN32;_WINDOWS;JA2;PRECOMPILEDHEADERS;XML_STATIC;CINTERFACE"
|
||||
RuntimeLibrary="1"
|
||||
UsePrecompiledHeader="2"
|
||||
PrecompiledHeaderThrough="JA2 All.h"
|
||||
@@ -170,15 +173,16 @@
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="TRUE"
|
||||
DebugInformationFormat="4"
|
||||
CompileAs="0"/>
|
||||
CompileAs="2"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="winmm.lib smackw32.lib mss32.lib"
|
||||
OutputFile="..\..\ja2.exe"
|
||||
AdditionalDependencies="libexpatMT.lib winmm.lib smackw32.lib mss32.lib"
|
||||
OutputFile="d:\ja2demo\ja2.exe"
|
||||
LinkIncremental="2"
|
||||
SuppressStartupBanner="TRUE"
|
||||
IgnoreDefaultLibraryNames="libcmt"
|
||||
GenerateDebugInformation="TRUE"
|
||||
ProgramDatabaseFile=".\Demo Bounds Checker/ja2.pdb"
|
||||
GenerateMapFile="TRUE"
|
||||
@@ -227,7 +231,7 @@
|
||||
Optimization="2"
|
||||
InlineFunctionExpansion="1"
|
||||
OptimizeForProcessor="1"
|
||||
AdditionalIncludeDirectories=".\Standard Gaming Platform,.\TileEngine,.\Tactical,.\Utils,.\TacticalAI,.\Communications,.\Editor,.\Strategic,.\laptop,.\"
|
||||
AdditionalIncludeDirectories="".\Standard Gaming Platform";.\TileEngine;.\Tactical;.\Utils;.\TacticalAI;.\Editor;.\Strategic;.\laptop;.\"
|
||||
PreprocessorDefinitions="RELEASE_WITH_DEBUG_INFO;NDEBUG;JA2DEMO;CALLBACKTIMER;WIN32;_WINDOWS;JA2;PRECOMPILEDHEADERS;XML_STATIC;CINTERFACE"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="0"
|
||||
@@ -242,15 +246,16 @@
|
||||
WarningLevel="4"
|
||||
SuppressStartupBanner="TRUE"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="0"/>
|
||||
CompileAs="2"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="winmm.lib smackw32.lib mss32.lib"
|
||||
AdditionalDependencies="libexpatMT.lib winmm.lib smackw32.lib mss32.lib"
|
||||
OutputFile="d:\ja2demo\ja2.exe"
|
||||
LinkIncremental="1"
|
||||
SuppressStartupBanner="TRUE"
|
||||
IgnoreDefaultLibraryNames="libcmt"
|
||||
GenerateDebugInformation="TRUE"
|
||||
GenerateMapFile="TRUE"
|
||||
MapFileName=".\Demo Release with Debug/ja2.map"
|
||||
@@ -298,10 +303,11 @@
|
||||
Optimization="2"
|
||||
InlineFunctionExpansion="1"
|
||||
OptimizeForProcessor="1"
|
||||
AdditionalIncludeDirectories=".\Standard Gaming Platform,.\TileEngine,.\Tactical,.\Utils,.\TacticalAI,.\Communications,.\Editor,.\Strategic,.\laptop,.\"
|
||||
AdditionalIncludeDirectories="".\Standard Gaming Platform";.\TileEngine;.\Tactical;.\Utils;.\TacticalAI;.\Editor;.\Strategic;.\laptop;.\"
|
||||
PreprocessorDefinitions="NDEBUG;RELEASE_WITH_DEBUG_INFO;CALLBACKTIMER;WIN32;_WINDOWS;JA2;PRECOMPILEDHEADERS;_VTUNE_PROFILING;XML_STATIC;CINTERFACE"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="0"
|
||||
BufferSecurityCheck="FALSE"
|
||||
EnableFunctionLevelLinking="TRUE"
|
||||
UsePrecompiledHeader="2"
|
||||
PrecompiledHeaderThrough="JA2 All.h"
|
||||
@@ -310,21 +316,24 @@
|
||||
ObjectFile=".\Release with Debug/"
|
||||
ProgramDataBaseFileName=".\Release with Debug/"
|
||||
BrowseInformation="1"
|
||||
WarningLevel="4"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="TRUE"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="0"/>
|
||||
CompileAs="2"
|
||||
DisableSpecificWarnings="4292;4189"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="libexpatMT.lib winmm.lib smackw32.lib mss32.lib"
|
||||
OutputFile="..\ja2_cvs.exe"
|
||||
OutputFile="C:\games\Jagged Alliance 2 Gold\ja2_reldbg.exe"
|
||||
LinkIncremental="1"
|
||||
SuppressStartupBanner="TRUE"
|
||||
AdditionalLibraryDirectories=""
|
||||
IgnoreDefaultLibraryNames=""
|
||||
GenerateDebugInformation="TRUE"
|
||||
GenerateMapFile="TRUE"
|
||||
MapFileName=".\Release with Debug/ja2_cvs.map"
|
||||
MapFileName=".\Release with Debug/ja2.map"
|
||||
SubSystem="2"
|
||||
TargetMachine="1"/>
|
||||
<Tool
|
||||
@@ -366,8 +375,8 @@
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="\Standard Gaming Platform,.\TileEngine,.\Tactical,.\Utils,.\TacticalAI,.\Communications,.\Editor,.\Strategic,.\Laptop"
|
||||
PreprocessorDefinitions="_DEBUG;BOUNDS_CHECKER;CALLBACKTIMER;WIN32;_WINDOWS;JA2;PRECOMPILEDHEADERS;_VTUNE_PROFILING"
|
||||
AdditionalIncludeDirectories="".\Standard Gaming Platform";.\TileEngine;.\Tactical;.\Utils;.\TacticalAI;.\Editor;.\Strategic;.\laptop;.\"
|
||||
PreprocessorDefinitions="_DEBUG;BOUNDS_CHECKER;CALLBACKTIMER;WIN32;_WINDOWS;JA2;PRECOMPILEDHEADERS;_VTUNE_PROFILING;XML_STATIC;CINTERFACE"
|
||||
RuntimeLibrary="1"
|
||||
UsePrecompiledHeader="2"
|
||||
PrecompiledHeaderThrough="JA2 All.h"
|
||||
@@ -379,15 +388,17 @@
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="TRUE"
|
||||
DebugInformationFormat="4"
|
||||
CompileAs="0"/>
|
||||
CompileAs="2"
|
||||
DisableSpecificWarnings="4292"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="vtuneapi.lib winmm.lib smackw32.lib mss32.lib"
|
||||
AdditionalDependencies="libexpatMT.lib winmm.lib smackw32.lib mss32.lib"
|
||||
OutputFile="\ja2\ja2.exe"
|
||||
LinkIncremental="2"
|
||||
SuppressStartupBanner="TRUE"
|
||||
IgnoreDefaultLibraryNames="libcmt"
|
||||
GenerateDebugInformation="TRUE"
|
||||
ProgramDatabaseFile=".\Bounds Checker/ja2.pdb"
|
||||
GenerateMapFile="TRUE"
|
||||
@@ -436,8 +447,8 @@
|
||||
Optimization="2"
|
||||
InlineFunctionExpansion="1"
|
||||
OptimizeForProcessor="1"
|
||||
AdditionalIncludeDirectories="\Standard Gaming Platform,.\TileEngine,.\Tactical,.\Utils,.\TacticalAI,.\Communications,.\Editor,.\Strategic,.\laptop"
|
||||
PreprocessorDefinitions="RELEASE_WITH_DEBUG_INFO;NDEBUG;JA2DEMO;CALLBACKTIMER;WIN32;_WINDOWS;JA2;PRECOMPILEDHEADERS"
|
||||
AdditionalIncludeDirectories="".\Standard Gaming Platform";.\TileEngine;.\Tactical;.\Utils;.\TacticalAI;.\Editor;.\Strategic;.\laptop;.\"
|
||||
PreprocessorDefinitions="RELEASE_WITH_DEBUG_INFO;NDEBUG;JA2DEMO;CALLBACKTIMER;WIN32;_WINDOWS;JA2;PRECOMPILEDHEADERS;XML_STATIC;CINTERFACE"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="0"
|
||||
EnableFunctionLevelLinking="TRUE"
|
||||
@@ -451,15 +462,16 @@
|
||||
WarningLevel="4"
|
||||
SuppressStartupBanner="TRUE"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="0"/>
|
||||
CompileAs="2"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="winmm.lib smackw32.lib mss32.lib"
|
||||
AdditionalDependencies="libexpatMT.lib winmm.lib smackw32.lib mss32.lib"
|
||||
OutputFile="d:\ja2demo\ja2.exe"
|
||||
LinkIncremental="1"
|
||||
SuppressStartupBanner="TRUE"
|
||||
IgnoreDefaultLibraryNames="libcmt"
|
||||
GenerateDebugInformation="TRUE"
|
||||
GenerateMapFile="TRUE"
|
||||
MapFileName=".\Release Demo/ja2.map"
|
||||
@@ -505,9 +517,13 @@
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalOptions="/O2b2 "
|
||||
Optimization="2"
|
||||
InlineFunctionExpansion="2"
|
||||
OptimizeForProcessor="1"
|
||||
AdditionalIncludeDirectories=".\Standard Gaming Platform,.\TileEngine,.\Tactical,.\Utils,.\TacticalAI,.\Editor,.\Strategic,.\laptop,.\"
|
||||
GlobalOptimizations="TRUE"
|
||||
InlineFunctionExpansion="1"
|
||||
EnableIntrinsicFunctions="TRUE"
|
||||
FavorSizeOrSpeed="1"
|
||||
OptimizeForProcessor="3"
|
||||
OptimizeForWindowsApplication="TRUE"
|
||||
AdditionalIncludeDirectories="".\Standard Gaming Platform";.\TileEngine;.\Tactical;.\Utils;.\TacticalAI;.\Editor;.\Strategic;.\laptop;.\"
|
||||
PreprocessorDefinitions="CALLBACKTIMER;PRECOMPILEDHEADERS;NDEBUG;WIN32;_WINDOWS;JA2;XML_STATIC;CINTERFACE"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="0"
|
||||
@@ -522,15 +538,18 @@
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="TRUE"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="0"/>
|
||||
CompileAs="2"
|
||||
DisableSpecificWarnings="4292"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="libexpatMT.lib winmm.lib smackw32.lib mss32.lib"
|
||||
OutputFile="C:\Games\Jagged Alliance 2 v1.13\ja2_release_wanne.exe"
|
||||
OutputFile="C:\Games\Jagged Alliance 2 Gold\ja2.exe"
|
||||
LinkIncremental="1"
|
||||
SuppressStartupBanner="TRUE"
|
||||
AdditionalLibraryDirectories=".\..\..\Standard Gaming Platform\"
|
||||
IgnoreDefaultLibraryNames=""
|
||||
GenerateMapFile="TRUE"
|
||||
MapFileName=".\Release/ja2_cvs.map"
|
||||
SubSystem="2"
|
||||
@@ -2377,6 +2396,9 @@
|
||||
<File
|
||||
RelativePath="GameSettings.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Init.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="JA2 All.h">
|
||||
</File>
|
||||
|
||||
@@ -1209,8 +1209,8 @@ void SetFirstLastPagesForNew( UINT32 uiClassMask )
|
||||
UINT16 i;
|
||||
INT16 sFirst = -1;
|
||||
INT16 sLast = -1;
|
||||
UINT8 ubPages=0;
|
||||
UINT8 ubNumItems=0;
|
||||
UINT16 ubPages=0;
|
||||
UINT16 ubNumItems=0;
|
||||
|
||||
gubCurPage = 0;
|
||||
|
||||
@@ -1254,8 +1254,8 @@ void SetFirstLastPagesForUsed()
|
||||
UINT16 i;
|
||||
INT16 sFirst = -1;
|
||||
INT16 sLast = -1;
|
||||
UINT8 ubPages=0;
|
||||
UINT8 ubNumItems=0;
|
||||
UINT16 ubPages=0;
|
||||
UINT16 ubNumItems=0;
|
||||
|
||||
gubCurPage = 0;
|
||||
|
||||
|
||||
@@ -1244,7 +1244,7 @@ void Print8CharacterOnlyString( void )
|
||||
|
||||
BOOLEAN CheckCharacterInputForEgg( void )
|
||||
{
|
||||
MERC_HIRE_STRUCT HireMercStruct;
|
||||
// MERC_HIRE_STRUCT HireMercStruct;
|
||||
|
||||
#ifndef JA2BETAVERSION
|
||||
return( FALSE );
|
||||
|
||||
+36
-96
@@ -3,8 +3,10 @@
|
||||
ProjectType="Visual C++"
|
||||
Version="7.10"
|
||||
Name="Laptop"
|
||||
SccProjectName=""$/Jagged Alliance 2/Development/Programming/Jagged Alliance 2/Build", AVAAAAAA"
|
||||
SccLocalPath="..\..\..\ja2\build">
|
||||
SccProjectName=""
|
||||
SccAuxPath=""
|
||||
SccLocalPath=""
|
||||
SccProvider="">
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Win32"/>
|
||||
@@ -21,7 +23,7 @@
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories="..\Standard Gaming Platform,..\,..\TileEngine,..\Utils,..\TacticalAI,..\Editor,..\Tactical,..\strategic,.\"
|
||||
AdditionalIncludeDirectories=""..\Standard Gaming Platform";..\TileEngine;..\;..\Tactical;..\Utils;..\tacticalai;..\Editor;..\strategic;.\"
|
||||
PreprocessorDefinitions="RELEASE_WITH_DEBUG_INFO;NDEBUG;JA2DEMO;WIN32;_WINDOWS;JA2;PRECOMPILEDHEADERS;XML_STATIC;CINTERFACE"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="0"
|
||||
@@ -36,7 +38,7 @@
|
||||
WarningLevel="4"
|
||||
SuppressStartupBanner="TRUE"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="0"/>
|
||||
CompileAs="2"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
@@ -74,7 +76,7 @@
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories="..\Standard Gaming Platform,..\,..\TileEngine,..\Utils,..\TacticalAI,..\Editor,..\Tactical,..\strategic,.\"
|
||||
AdditionalIncludeDirectories=""..\Standard Gaming Platform";..\TileEngine;..\;..\Tactical;..\Utils;..\tacticalai;..\Editor;..\strategic;.\"
|
||||
PreprocessorDefinitions="NDEBUG;RELEASE_WITH_DEBUG_INFO;WIN32;_WINDOWS;JA2;PRECOMPILEDHEADERS;_VTUNE_PROFILING;XML_STATIC;CINTERFACE"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="0"
|
||||
@@ -89,7 +91,8 @@
|
||||
WarningLevel="4"
|
||||
SuppressStartupBanner="TRUE"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="0"/>
|
||||
CompileAs="2"
|
||||
DisableSpecificWarnings="4292;4189"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
@@ -126,8 +129,8 @@
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="\Standard Gaming Platform,\ja2\Build,\ja2\Build\TileEngine,\ja2\Build\Utils,\ja2\build\TacticalAI,\ja2\build\Communications,\ja2\build\Editor,\ja2\build\Tactical,\ja2\build\strategic"
|
||||
PreprocessorDefinitions="_DEBUG;BOUNDS_CHECKER;WIN32;_WINDOWS;JA2;PRECOMPILEDHEADERS;_VTUNE_PROFILING"
|
||||
AdditionalIncludeDirectories=""..\Standard Gaming Platform";..\TileEngine;..\;..\Tactical;..\Utils;..\tacticalai;..\Editor;..\strategic;.\"
|
||||
PreprocessorDefinitions="_DEBUG;BOUNDS_CHECKER;WIN32;_WINDOWS;JA2;PRECOMPILEDHEADERS;_VTUNE_PROFILING;XML_STATIC;CINTERFACE"
|
||||
RuntimeLibrary="1"
|
||||
UsePrecompiledHeader="2"
|
||||
PrecompiledHeaderThrough="Laptop All.h"
|
||||
@@ -139,7 +142,8 @@
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="TRUE"
|
||||
DebugInformationFormat="1"
|
||||
CompileAs="0"/>
|
||||
CompileAs="2"
|
||||
DisableSpecificWarnings="4292"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
@@ -177,8 +181,8 @@
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories="\Standard Gaming Platform,\ja2\Build,\ja2\Build\TileEngine,\ja2\Build\Utils,\ja2\build\TacticalAI,\ja2\build\Communications,\ja2\build\Editor,\ja2\build\Tactical,\ja2\build\strategic"
|
||||
PreprocessorDefinitions="RELEASE_WITH_DEBUG_INFO;NDEBUG;JA2DEMO;WIN32;_WINDOWS;JA2;PRECOMPILEDHEADERS"
|
||||
AdditionalIncludeDirectories=""..\Standard Gaming Platform";..\TileEngine;..\;..\Tactical;..\Utils;..\tacticalai;..\Editor;..\strategic;.\"
|
||||
PreprocessorDefinitions="RELEASE_WITH_DEBUG_INFO;NDEBUG;JA2DEMO;WIN32;_WINDOWS;JA2;PRECOMPILEDHEADERS;XML_STATIC;CINTERFACE"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="0"
|
||||
EnableFunctionLevelLinking="TRUE"
|
||||
@@ -192,7 +196,7 @@
|
||||
WarningLevel="4"
|
||||
SuppressStartupBanner="TRUE"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="0"/>
|
||||
CompileAs="2"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
@@ -229,8 +233,8 @@
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="\Standard Gaming Platform,\ja2\Build,\ja2\Build\TileEngine,\ja2\Build\Utils,\ja2\build\TacticalAI,\ja2\build\Communications,\ja2\build\Editor,\ja2\build\Tactical,\ja2\build\strategic"
|
||||
PreprocessorDefinitions="_DEBUG;BOUNDS_CHECKER;JA2DEMO;WIN32;_WINDOWS;JA2;PRECOMPILEDHEADERS"
|
||||
AdditionalIncludeDirectories=""..\Standard Gaming Platform";..\TileEngine;..\;..\Tactical;..\Utils;..\tacticalai;..\Editor;..\strategic;.\"
|
||||
PreprocessorDefinitions="_DEBUG;BOUNDS_CHECKER;JA2DEMO;WIN32;_WINDOWS;JA2;PRECOMPILEDHEADERS;XML_STATIC;CINTERFACE"
|
||||
RuntimeLibrary="1"
|
||||
UsePrecompiledHeader="2"
|
||||
PrecompiledHeaderThrough="Laptop All.h"
|
||||
@@ -242,7 +246,7 @@
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="TRUE"
|
||||
DebugInformationFormat="1"
|
||||
CompileAs="0"/>
|
||||
CompileAs="2"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
@@ -279,8 +283,8 @@
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="\Standard Gaming Platform,\ja2\Build,\ja2\Build\TileEngine,\ja2\Build\Utils,\ja2\build\TacticalAI,\ja2\build\Communications,\ja2\build\Editor,\ja2\build\Tactical,\ja2\build\strategic"
|
||||
PreprocessorDefinitions="_DEBUG;JA2DEMO;WIN32;_WINDOWS;JA2;PRECOMPILEDHEADERS"
|
||||
AdditionalIncludeDirectories=""..\Standard Gaming Platform";..\TileEngine;..\;..\Tactical;..\Utils;..\tacticalai;..\Editor;..\strategic;.\"
|
||||
PreprocessorDefinitions="_DEBUG;JA2DEMO;WIN32;_WINDOWS;JA2;PRECOMPILEDHEADERS;XML_STATIC;CINTERFACE"
|
||||
RuntimeLibrary="1"
|
||||
UsePrecompiledHeader="2"
|
||||
PrecompiledHeaderThrough="Laptop All.h"
|
||||
@@ -292,7 +296,7 @@
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="TRUE"
|
||||
DebugInformationFormat="1"
|
||||
CompileAs="0"/>
|
||||
CompileAs="2"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
@@ -329,8 +333,13 @@
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
GlobalOptimizations="TRUE"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories="..\Standard Gaming Platform,..\TileEngine,..\,..\Tactical,..\Utils,..\tacticalai,..\Editor,..\strategic,.\"
|
||||
EnableIntrinsicFunctions="TRUE"
|
||||
FavorSizeOrSpeed="1"
|
||||
OptimizeForProcessor="3"
|
||||
OptimizeForWindowsApplication="TRUE"
|
||||
AdditionalIncludeDirectories=""..\Standard Gaming Platform";..\TileEngine;..\;..\Tactical;..\Utils;..\tacticalai;..\Editor;..\strategic;.\"
|
||||
PreprocessorDefinitions="PRECOMPILEDHEADERS;NDEBUG;WIN32;_WINDOWS;JA2;XML_STATIC;CINTERFACE"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="0"
|
||||
@@ -344,7 +353,7 @@
|
||||
BrowseInformation="1"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="TRUE"
|
||||
CompileAs="0"/>
|
||||
CompileAs="2"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
@@ -381,7 +390,7 @@
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\Standard Gaming Platform,..\TileEngine,..\,..\Tactical,..\Utils,..\tacticalai,..\Editor,..\strategic,.\"
|
||||
AdditionalIncludeDirectories=""..\Standard Gaming Platform";..\TileEngine;..\;..\Tactical;..\Utils;..\tacticalai;..\Editor;..\strategic;.\"
|
||||
PreprocessorDefinitions="PRECOMPILEDHEADERS;_DEBUG;WIN32;_WINDOWS;JA2;_VTUNE_PROFILING;XML_STATIC;CINTERFACE"
|
||||
RuntimeLibrary="1"
|
||||
UsePrecompiledHeader="2"
|
||||
@@ -394,7 +403,7 @@
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="TRUE"
|
||||
DebugInformationFormat="1"
|
||||
CompileAs="0"
|
||||
CompileAs="2"
|
||||
DisableSpecificWarnings="4292"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
@@ -3505,79 +3514,7 @@
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="IMP Skill Trait.cpp">
|
||||
<FileConfiguration
|
||||
Name="Demo Release with Debug Info|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
BrowseInformation="1"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release with Debug Info|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
BrowseInformation="1"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Bounds Checker|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
BrowseInformation="1"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release Demo|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
BrowseInformation="1"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Demo Bounds Checker|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
BrowseInformation="1"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Debug Demo|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
BrowseInformation="1"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
BrowseInformation="1"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
BrowseInformation="1"/>
|
||||
</FileConfiguration>
|
||||
RelativePath=".\IMP Skill Trait.cpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="IMP Text System.cpp">
|
||||
@@ -4811,7 +4748,7 @@
|
||||
RelativePath="IMP Portraits.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="IMP Skill Trait.h">
|
||||
RelativePath=".\IMP Skill Trait.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="IMP Text System.h">
|
||||
@@ -4855,6 +4792,9 @@
|
||||
<File
|
||||
RelativePath="sirtech.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Speck Quotes.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="Store Inventory.h">
|
||||
</File>
|
||||
|
||||
+2
-1
@@ -1812,7 +1812,7 @@ UINT32 LaptopScreenHandle()
|
||||
if( gfStartMapScreenToLaptopTransition )
|
||||
{
|
||||
// WANNE 2: I disabled the animation of the laptop, because the screen redrawing does not work correct!
|
||||
|
||||
// Madd: It'd be nice if someone who knows more about graphics than I do could re-enable this, at least for 640x480
|
||||
//Everything is set up to start the transition animation.
|
||||
//SGPRect SrcRect2, DstRect;
|
||||
//INT32 iPercentage, iScalePercentage, iFactor;
|
||||
@@ -2446,6 +2446,7 @@ BOOLEAN LeaveLapTopScreen( void )
|
||||
if( !gfDontStartTransitionFromLaptop )
|
||||
{
|
||||
// WANNE 2: I disabled the laptop animation, because the screen redrawing does not work correctly!
|
||||
// Madd: It'd be nice if someone who knows more about graphics than I do could re-enable this, at least for 640x480
|
||||
|
||||
//SGPRect SrcRect1, SrcRect2, DstRect;
|
||||
//INT32 iPercentage, iScalePercentage, iFactor;
|
||||
|
||||
BIN
Binary file not shown.
+1
-3
@@ -538,7 +538,6 @@ BOOLEAN SaveGame( UINT8 ubSaveGameID, STR16 pGameDesc )
|
||||
|
||||
//Place a message on the screen telling the user that we are saving the game
|
||||
iSaveLoadGameMessageBoxID = PrepareMercPopupBox( iSaveLoadGameMessageBoxID, BASIC_MERC_POPUP_BACKGROUND, BASIC_MERC_POPUP_BORDER, zSaveLoadText[ SLG_SAVING_GAME_MESSAGE ], 300, 0, 0, 0, &usActualWidth, &usActualHeight);
|
||||
|
||||
usPosX = ( SCREEN_WIDTH - usActualWidth ) / 2 ;
|
||||
|
||||
RenderMercPopUpBoxFromIndex( iSaveLoadGameMessageBoxID, usPosX, iScreenHeightOffset + 160, FRAME_BUFFER );
|
||||
@@ -4547,7 +4546,6 @@ BOOLEAN SaveGeneralInfo( HWFILE hFile )
|
||||
extern UINT32 guiRainLoop;
|
||||
//end rain
|
||||
|
||||
|
||||
BOOLEAN LoadGeneralInfo( HWFILE hFile )
|
||||
{
|
||||
UINT32 uiNumBytesRead;
|
||||
@@ -5471,4 +5469,4 @@ UINT32 CalcJA2EncryptionSet( SAVED_GAME_HEADER * pSaveGameHeader )
|
||||
}
|
||||
|
||||
return( uiEncryptionSet );
|
||||
}
|
||||
}
|
||||
+31
-20
@@ -48,28 +48,36 @@ extern UINT32 guiBrokenSaveGameVersion;
|
||||
//
|
||||
//////////////////////////////////////////////////////
|
||||
|
||||
|
||||
|
||||
#define SAVE_LOAD_TITLE_FONT FONT14ARIAL
|
||||
#define SAVE_LOAD_TITLE_COLOR FONT_MCOLOR_WHITE
|
||||
|
||||
#define SAVE_LOAD_NORMAL_FONT FONT12ARIAL
|
||||
#define SAVE_LOAD_NORMAL_COLOR 2
|
||||
#define SAVE_LOAD_NORMAL_SHADOW_COLOR 118
|
||||
#define SAVE_LOAD_NORMAL_COLOR 2//FONT_MCOLOR_DKWHITE//2//FONT_MCOLOR_WHITE
|
||||
#define SAVE_LOAD_NORMAL_SHADOW_COLOR 118//121//118//125
|
||||
/*#define SAVE_LOAD_NORMAL_FONT FONT12ARIAL
|
||||
#define SAVE_LOAD_NORMAL_COLOR FONT_MCOLOR_DKWHITE//2//FONT_MCOLOR_WHITE
|
||||
#define SAVE_LOAD_NORMAL_SHADOW_COLOR 2//125
|
||||
*/
|
||||
|
||||
#define SAVE_LOAD_QUICKSAVE_FONT FONT12ARIAL
|
||||
#define SAVE_LOAD_QUICKSAVE_COLOR 2
|
||||
#define SAVE_LOAD_QUICKSAVE_SHADOW_COLOR 189
|
||||
#define SAVE_LOAD_QUICKSAVE_COLOR 2//FONT_MCOLOR_DKGRAY//FONT_MCOLOR_WHITE
|
||||
#define SAVE_LOAD_QUICKSAVE_SHADOW_COLOR 189//248//2
|
||||
|
||||
#define SAVE_LOAD_EMPTYSLOT_FONT FONT12ARIAL
|
||||
#define SAVE_LOAD_EMPTYSLOT_COLOR 2
|
||||
#define SAVE_LOAD_EMPTYSLOT_SHADOW_COLOR 121
|
||||
#define SAVE_LOAD_EMPTYSLOT_COLOR 2//125//FONT_MCOLOR_WHITE
|
||||
#define SAVE_LOAD_EMPTYSLOT_SHADOW_COLOR 121//118
|
||||
|
||||
#define SAVE_LOAD_HIGHLIGHTED_FONT FONT12ARIAL
|
||||
#define SAVE_LOAD_HIGHLIGHTED_COLOR FONT_MCOLOR_WHITE
|
||||
#define SAVE_LOAD_HIGHLIGHTED_SHADOW_COLOR 2
|
||||
|
||||
#define SAVE_LOAD_SELECTED_FONT FONT12ARIAL
|
||||
#define SAVE_LOAD_SELECTED_COLOR 2
|
||||
#define SAVE_LOAD_SELECTED_SHADOW_COLOR 130
|
||||
#define SAVE_LOAD_SELECTED_COLOR 2//145//FONT_MCOLOR_WHITE
|
||||
#define SAVE_LOAD_SELECTED_SHADOW_COLOR 130//2
|
||||
|
||||
|
||||
|
||||
#define SAVE_LOAD_NUMBER_FONT FONT12ARIAL
|
||||
#define SAVE_LOAD_NUMBER_COLOR FONT_MCOLOR_WHITE
|
||||
@@ -78,26 +86,28 @@ extern UINT32 guiBrokenSaveGameVersion;
|
||||
#define SLG_UNSELECTED_COLOR FONT_MCOLOR_DKWHITE
|
||||
|
||||
#define SLG_SAVELOCATION_WIDTH 605
|
||||
#define SLG_SAVELOCATION_HEIGHT 30
|
||||
#define SLG_SAVELOCATION_HEIGHT 30//46
|
||||
#define SLG_FIRST_SAVED_SPOT_X iScreenWidthOffset + 17
|
||||
#define SLG_FIRST_SAVED_SPOT_Y iScreenHeightOffset + 49
|
||||
#define SLG_GAP_BETWEEN_LOCATIONS 35
|
||||
#define SLG_GAP_BETWEEN_LOCATIONS 35//47
|
||||
|
||||
|
||||
|
||||
#define SLG_DATE_OFFSET_X 13
|
||||
#define SLG_DATE_OFFSET_Y 11
|
||||
|
||||
#define SLG_SECTOR_OFFSET_X 95
|
||||
#define SLG_SECTOR_OFFSET_X 95//105//114
|
||||
#define SLG_SECTOR_OFFSET_Y SLG_DATE_OFFSET_Y
|
||||
#define SLG_SECTOR_WIDTH 98
|
||||
|
||||
#define SLG_NUM_MERCS_OFFSET_X 196
|
||||
#define SLG_NUM_MERCS_OFFSET_Y SLG_DATE_OFFSET_Y
|
||||
#define SLG_NUM_MERCS_OFFSET_X 196//190//SLG_DATE_OFFSET_X
|
||||
#define SLG_NUM_MERCS_OFFSET_Y SLG_DATE_OFFSET_Y//26
|
||||
|
||||
#define SLG_BALANCE_OFFSET_X 260
|
||||
#define SLG_BALANCE_OFFSET_Y SLG_DATE_OFFSET_Y
|
||||
#define SLG_BALANCE_OFFSET_X 260//SLG_SECTOR_OFFSET_X
|
||||
#define SLG_BALANCE_OFFSET_Y SLG_DATE_OFFSET_Y//SLG_NUM_MERCS_OFFSET_Y
|
||||
|
||||
#define SLG_SAVE_GAME_DESC_X 318
|
||||
#define SLG_SAVE_GAME_DESC_Y SLG_DATE_OFFSET_Y
|
||||
#define SLG_SAVE_GAME_DESC_X 318//320//204
|
||||
#define SLG_SAVE_GAME_DESC_Y SLG_DATE_OFFSET_Y//SLG_DATE_OFFSET_Y + 7
|
||||
|
||||
#define SLG_TITLE_POS_X iScreenWidthOffset
|
||||
#define SLG_TITLE_POS_Y iScreenHeightOffset
|
||||
@@ -211,6 +221,7 @@ void SelectedSaveRegionMovementCallBack(MOUSE_REGION * pRegion, INT32 reason );
|
||||
MOUSE_REGION gSLSEntireScreenRegion;
|
||||
void SelectedSLSEntireRegionCallBack(MOUSE_REGION * pRegion, INT32 iReason );
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////
|
||||
//
|
||||
// Function Prototypes
|
||||
@@ -1324,12 +1335,12 @@ BOOLEAN DisplaySaveGameEntry( INT8 bEntryID )//, UINT16 usPosY )
|
||||
//make a string containing the extended options
|
||||
swprintf( zMouseHelpTextString, L"%20s %22s %22s %22s", zDifString,
|
||||
/*gzGIOScreenText[ GIO_TIMED_TURN_TITLE_TEXT + SaveGameHeader.sInitialGameOptions.fTurnTimeLimit + 1],*/
|
||||
|
||||
SaveGameHeader.sInitialGameOptions.fIronManMode ? gzGIOScreenText[ GIO_IRON_MAN_TEXT ] : gzGIOScreenText[ GIO_SAVE_ANYWHERE_TEXT ],
|
||||
//Madd
|
||||
//SaveGameHeader.sInitialGameOptions.fIronManMode ? gzGIOScreenText[ GIO_IRON_MAN_TEXT ] : gzGIOScreenText[ GIO_SAVE_ANYWHERE_TEXT ],
|
||||
|
||||
SaveGameHeader.sInitialGameOptions.ubBobbyRay == BR_GOOD ? zSaveLoadText[ SLG_BR_GOOD_TEXT ] : (SaveGameHeader.sInitialGameOptions.ubBobbyRay == BR_GREAT ? zSaveLoadText[ SLG_BR_GREAT_TEXT ]: (SaveGameHeader.sInitialGameOptions.ubBobbyRay == BR_EXCELLENT ? zSaveLoadText[ SLG_BR_EXCELLENT_TEXT ]: zSaveLoadText[ SLG_BR_AWESOME_TEXT ])),
|
||||
|
||||
SaveGameHeader.sInitialGameOptions.fAirStrikes ? zSaveLoadText[ SLG_ADDITIONAL_GUNS ] : zSaveLoadText[ SLG_NORMAL_GUNS ],
|
||||
SaveGameHeader.sInitialGameOptions.fGunNut ? zSaveLoadText[ SLG_ADDITIONAL_GUNS ] : zSaveLoadText[ SLG_NORMAL_GUNS ],
|
||||
|
||||
SaveGameHeader.sInitialGameOptions.ubGameStyle == STYLE_SCIFI ? zSaveLoadText[ SLG_SCIFI ] : (SaveGameHeader.sInitialGameOptions.ubGameStyle == STYLE_PLATINUM ? zSaveLoadText[ SLG_PLATINUM ]: zSaveLoadText[ SLG_REALISTIC ]) );
|
||||
|
||||
|
||||
@@ -341,8 +341,7 @@
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="TRUE"
|
||||
DebugInformationFormat="1"
|
||||
CompileAs="0"
|
||||
DisableSpecificWarnings="4292"/>
|
||||
CompileAs="0"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
|
||||
@@ -4714,4 +4714,4 @@ BOOLEAN GetCurrentBattleSectorXYZAndReturnTRUEIfThereIsABattle( INT16 *psSectorX
|
||||
void AutoBandageFinishedCallback( UINT8 ubResult )
|
||||
{
|
||||
SetupDoneInterface();
|
||||
}
|
||||
}
|
||||
@@ -312,9 +312,9 @@ BOOLEAN ExecuteStrategicEvent( STRATEGICEVENT *pEvent )
|
||||
case EVENT_MAKE_CIV_GROUP_HOSTILE_ON_NEXT_SECTOR_ENTRANCE:
|
||||
MakeCivGroupHostileOnNextSectorEntrance( (UINT8)pEvent->uiParam );
|
||||
break;
|
||||
case EVENT_CHECK_FOR_AIR_RAID:
|
||||
CheckForAndSetupAirRaid( );
|
||||
break;
|
||||
// case EVENT_CHECK_FOR_AIR_RAID:
|
||||
// CheckForAndSetupAirRaid( );
|
||||
// break;
|
||||
case EVENT_BEGIN_AIR_RAID:
|
||||
BeginAirRaid( );
|
||||
break;
|
||||
|
||||
@@ -83,7 +83,7 @@ enum
|
||||
EVENT_QUARTER_HOUR_UPDATE,
|
||||
EVENT_MERC_MERC_WENT_UP_LEVEL_EMAIL_DELAY,
|
||||
EVENT_MERC_SITE_NEW_MERC_AVAILABLE,
|
||||
EVENT_CHECK_FOR_AIR_RAID,
|
||||
// EVENT_CHECK_FOR_AIR_RAID,
|
||||
|
||||
#ifdef CRIPPLED_VERSION
|
||||
EVENT_CRIPPLED_VERSION_END_GAME_CHECK,
|
||||
|
||||
@@ -840,4 +840,4 @@ void ReStartingGame()
|
||||
gpCustomizableTimerCallback = NULL;
|
||||
|
||||
gubCheatLevel = STARTING_CHEAT_LEVEL;
|
||||
}
|
||||
}
|
||||
@@ -1568,8 +1568,8 @@ BOOLEAN CommonTimeCompressionChecks( void )
|
||||
return( TRUE );
|
||||
}
|
||||
|
||||
if ( gfInAirRaid )
|
||||
return TRUE;
|
||||
// if ( gfInAirRaid )
|
||||
// return TRUE;
|
||||
|
||||
return( FALSE );
|
||||
}
|
||||
|
||||
@@ -681,7 +681,7 @@ void ProcessQueenCmdImplicationsOfDeath( SOLDIERTYPE *pSoldier )
|
||||
{
|
||||
INT32 iNumEnemiesInSector;
|
||||
SECTORINFO *pSector;
|
||||
UINT16 str[128];
|
||||
// UINT16 str[128];
|
||||
INT32 iMaxEnemyGroupSize = gGameExternalOptions.iMaxEnemyGroupSize;
|
||||
DebugMsg (TOPIC_JA2,DBG_LEVEL_3,"QueenCommand");
|
||||
|
||||
|
||||
@@ -5519,4 +5519,4 @@ GROUP* FindPendingGroupForGarrisonSector( UINT8 ubSectorID )
|
||||
}
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
+31
-22
@@ -3,8 +3,10 @@
|
||||
ProjectType="Visual C++"
|
||||
Version="7.10"
|
||||
Name="Strategic"
|
||||
SccProjectName=""$/Jagged Alliance 2/Development/Programming/Jagged Alliance 2/Build", AVAAAAAA"
|
||||
SccLocalPath="..\..\..\ja2\build">
|
||||
SccProjectName=""
|
||||
SccAuxPath=""
|
||||
SccLocalPath=""
|
||||
SccProvider="">
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Win32"/>
|
||||
@@ -20,7 +22,7 @@
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\Standard Gaming Platform,..\TileEngine,..\,..\Tactical,..\Utils,..\tacticalai,..\Editor,..\Laptop,.\"
|
||||
AdditionalIncludeDirectories=""..\Standard Gaming Platform";..\TileEngine;..\;..\Tactical;..\Utils;..\tacticalai;..\Editor;..\Laptop;.\"
|
||||
PreprocessorDefinitions="PRECOMPILEDHEADERS;_DEBUG;WIN32;_WINDOWS;JA2;_VTUNE_PROFILING;XML_STATIC;CINTERFACE"
|
||||
RuntimeLibrary="1"
|
||||
UsePrecompiledHeader="2"
|
||||
@@ -33,7 +35,7 @@
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="TRUE"
|
||||
DebugInformationFormat="1"
|
||||
CompileAs="0"
|
||||
CompileAs="2"
|
||||
DisableSpecificWarnings="4292"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
@@ -71,8 +73,8 @@
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="\Standard Gaming Platform,\ja2\Build,\ja2\Build\TileEngine,\ja2\Build\Utils,\ja2\build\TacticalAI,\ja2\build\Communications,\ja2\build\Tactical,\ja2\build\Laptop,\ja2\build\editor,\ja2\build\tactical"
|
||||
PreprocessorDefinitions="_DEBUG;JA2DEMO;WIN32;_WINDOWS;JA2;PRECOMPILEDHEADERS"
|
||||
AdditionalIncludeDirectories=""..\Standard Gaming Platform";..\TileEngine;..\;..\Tactical;..\Utils;..\tacticalai;..\Editor;..\Laptop;.\"
|
||||
PreprocessorDefinitions="_DEBUG;JA2DEMO;WIN32;_WINDOWS;JA2;PRECOMPILEDHEADERS;XML_STATIC;CINTERFACE"
|
||||
RuntimeLibrary="1"
|
||||
UsePrecompiledHeader="2"
|
||||
PrecompiledHeaderThrough="Strategic All.h"
|
||||
@@ -84,7 +86,7 @@
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="TRUE"
|
||||
DebugInformationFormat="1"
|
||||
CompileAs="0"/>
|
||||
CompileAs="2"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
@@ -121,8 +123,8 @@
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="\Standard Gaming Platform,\ja2\Build,\ja2\Build\TileEngine,\ja2\Build\Utils,\ja2\build\TacticalAI,\ja2\build\Communications,\ja2\build\Tactical,\ja2\build\Laptop,\ja2\build\editor,\ja2\build\tactical"
|
||||
PreprocessorDefinitions="_DEBUG;BOUNDS_CHECKER;WIN32;_WINDOWS;JA2;PRECOMPILEDHEADERS;_VTUNE_PROFILING"
|
||||
AdditionalIncludeDirectories=""..\Standard Gaming Platform";..\TileEngine;..\;..\Tactical;..\Utils;..\tacticalai;..\Editor;..\Laptop;.\"
|
||||
PreprocessorDefinitions="_DEBUG;BOUNDS_CHECKER;WIN32;_WINDOWS;JA2;PRECOMPILEDHEADERS;_VTUNE_PROFILING;XML_STATIC;CINTERFACE"
|
||||
RuntimeLibrary="1"
|
||||
UsePrecompiledHeader="2"
|
||||
PrecompiledHeaderThrough="Strategic All.h"
|
||||
@@ -134,7 +136,8 @@
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="TRUE"
|
||||
DebugInformationFormat="1"
|
||||
CompileAs="0"/>
|
||||
CompileAs="2"
|
||||
DisableSpecificWarnings="4292"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
@@ -171,8 +174,8 @@
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="\Standard Gaming Platform,\ja2\Build,\ja2\Build\TileEngine,\ja2\Build\Utils,\ja2\build\TacticalAI,\ja2\build\Communications,\ja2\build\Tactical,\ja2\build\Laptop,\ja2\build\editor,\ja2\build\tactical"
|
||||
PreprocessorDefinitions="_DEBUG;BOUNDS_CHECKER;JA2DEMO;WIN32;_WINDOWS;JA2;PRECOMPILEDHEADERS"
|
||||
AdditionalIncludeDirectories=""..\Standard Gaming Platform";..\TileEngine;..\;..\Tactical;..\Utils;..\tacticalai;..\Editor;..\Laptop;.\"
|
||||
PreprocessorDefinitions="_DEBUG;BOUNDS_CHECKER;JA2DEMO;WIN32;_WINDOWS;JA2;PRECOMPILEDHEADERS;XML_STATIC;CINTERFACE"
|
||||
RuntimeLibrary="1"
|
||||
UsePrecompiledHeader="2"
|
||||
PrecompiledHeaderThrough="Strategic All.h"
|
||||
@@ -184,7 +187,7 @@
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="TRUE"
|
||||
DebugInformationFormat="1"
|
||||
CompileAs="0"/>
|
||||
CompileAs="2"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
@@ -222,7 +225,7 @@
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories="..\Standard Gaming Platform,..\,..\TileEngine,..\Utils,..\TacticalAI,..\Tactical,..\Laptop,..\Editor,.\"
|
||||
AdditionalIncludeDirectories=""..\Standard Gaming Platform";..\TileEngine;..\;..\Tactical;..\Utils;..\tacticalai;..\Editor;..\Laptop;.\"
|
||||
PreprocessorDefinitions="NDEBUG;RELEASE_WITH_DEBUG_INFO;WIN32;_WINDOWS;JA2;PRECOMPILEDHEADERS;_VTUNE_PROFILING;XML_STATIC;CINTERFACE"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="0"
|
||||
@@ -237,7 +240,8 @@
|
||||
WarningLevel="4"
|
||||
SuppressStartupBanner="TRUE"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="0"/>
|
||||
CompileAs="2"
|
||||
DisableSpecificWarnings="4292;4189"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
@@ -275,7 +279,7 @@
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories="..\Standard Gaming Platform,..\,..\TileEngine,..\Utils,..\TacticalAI,..\Tactical,..\Laptop,..\Editor,.\"
|
||||
AdditionalIncludeDirectories=""..\Standard Gaming Platform";..\TileEngine;..\;..\Tactical;..\Utils;..\tacticalai;..\Editor;..\Laptop;.\"
|
||||
PreprocessorDefinitions="RELEASE_WITH_DEBUG_INFO;NDEBUG;JA2DEMO;WIN32;_WINDOWS;JA2;PRECOMPILEDHEADERS;XML_STATIC;CINTERFACE"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="0"
|
||||
@@ -290,7 +294,7 @@
|
||||
WarningLevel="4"
|
||||
SuppressStartupBanner="TRUE"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="0"/>
|
||||
CompileAs="2"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
@@ -328,8 +332,8 @@
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories="\Standard Gaming Platform,\ja2\Build,\ja2\Build\TileEngine,\ja2\Build\Utils,\ja2\build\TacticalAI,\ja2\build\Communications,\ja2\build\Tactical,\ja2\build\Laptop,\ja2\build\Editor"
|
||||
PreprocessorDefinitions="RELEASE_WITH_DEBUG_INFO;NDEBUG;JA2DEMO;WIN32;_WINDOWS;JA2;PRECOMPILEDHEADERS"
|
||||
AdditionalIncludeDirectories=""..\Standard Gaming Platform";..\TileEngine;..\;..\Tactical;..\Utils;..\tacticalai;..\Editor;..\Laptop;.\"
|
||||
PreprocessorDefinitions="RELEASE_WITH_DEBUG_INFO;NDEBUG;JA2DEMO;WIN32;_WINDOWS;JA2;PRECOMPILEDHEADERS;XML_STATIC;CINTERFACE"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="0"
|
||||
EnableFunctionLevelLinking="TRUE"
|
||||
@@ -343,7 +347,7 @@
|
||||
WarningLevel="4"
|
||||
SuppressStartupBanner="TRUE"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="0"/>
|
||||
CompileAs="2"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
@@ -380,8 +384,13 @@
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
GlobalOptimizations="TRUE"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories="..\Standard Gaming Platform,..\TileEngine,..\,..\Tactical,..\Utils,..\tacticalai,..\Editor,..\Laptop,.\"
|
||||
EnableIntrinsicFunctions="TRUE"
|
||||
FavorSizeOrSpeed="1"
|
||||
OptimizeForProcessor="3"
|
||||
OptimizeForWindowsApplication="TRUE"
|
||||
AdditionalIncludeDirectories=""..\Standard Gaming Platform";..\TileEngine;..\;..\Tactical;..\Utils;..\tacticalai;..\Editor;..\Laptop;.\"
|
||||
PreprocessorDefinitions="PRECOMPILEDHEADERS;NDEBUG;WIN32;_WINDOWS;JA2;XML_STATIC;CINTERFACE"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="0"
|
||||
@@ -395,7 +404,7 @@
|
||||
BrowseInformation="1"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="TRUE"
|
||||
CompileAs="0"/>
|
||||
CompileAs="2"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
|
||||
@@ -3764,12 +3764,12 @@ void SetupNewStrategicGame( )
|
||||
// Daily checks for E-mail from Enrico
|
||||
AddEveryDayStrategicEvent( EVENT_ENRICO_MAIL, ENRICO_MAIL_TIME , 0 );
|
||||
|
||||
if ( gGameOptions.fAirStrikes )
|
||||
{
|
||||
//Daily check for an air raid
|
||||
AddEveryDayStrategicEvent( EVENT_CHECK_FOR_AIR_RAID, 360, 0 );
|
||||
}
|
||||
|
||||
// if ( gGameOptions.fAirStrikes )
|
||||
// {
|
||||
// //Daily check for an air raid
|
||||
// AddEveryDayStrategicEvent( EVENT_CHECK_FOR_AIR_RAID, 360, 0 );
|
||||
// }
|
||||
//
|
||||
// Hourly update of all sorts of things
|
||||
AddPeriodStrategicEvent( EVENT_HOURLY_UPDATE, 60, 0 );
|
||||
AddPeriodStrategicEvent( EVENT_QUARTER_HOUR_UPDATE, 15, 0 );
|
||||
|
||||
@@ -180,4 +180,4 @@ extern INT8 gbGreenToRegPromotions;
|
||||
extern INT8 gbRegToElitePromotions;
|
||||
extern INT8 gbMilitiaPromotions;
|
||||
|
||||
#endif
|
||||
#endif
|
||||
@@ -1590,4 +1590,4 @@ void EnemyCallInAirStrike (INT16 sSectorX, INT16 sSectorY)
|
||||
ScheduleAirRaid( &AirRaidDef );
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -176,8 +176,8 @@ ANIMCONTROLTYPE gAnimControl[ NUMANIMATIONSTATES ] =
|
||||
// GENERIC HIT CROUCHED
|
||||
{"GENERIC HIT CROUCH" , 0, 80, (FLOAT)0, ANIM_STATIONARY | ANIM_TURNING | ANIM_HITSTART | ANIM_NONINTERRUPT | ANIM_NO_EFFORT | ANIM_NOCHANGE_WEAPON, ANIM_CROUCH, ANIM_CROUCH, -1},
|
||||
|
||||
// STAND BURST
|
||||
{"STAND BURST SHOOT" , 0, 100, (FLOAT)0, ANIM_NORESTART | ANIM_STATIONARY | ANIM_TURNING | ANIM_RAISE_WEAPON | ANIM_LIGHT_EFFORT | ANIM_NOCHANGE_WEAPON | ANIM_FIRE, ANIM_STAND, ANIM_STAND, -1},
|
||||
// STAND BURST // Lesh: AniDelay, speed=0 for control it
|
||||
{"STAND BURST SHOOT" , 0, 0, (FLOAT)0, ANIM_NORESTART | ANIM_STATIONARY | ANIM_TURNING | ANIM_RAISE_WEAPON | ANIM_LIGHT_EFFORT | ANIM_NOCHANGE_WEAPON | ANIM_FIRE, ANIM_STAND, ANIM_STAND, -1},
|
||||
|
||||
// STANDING BURST HIT
|
||||
{"STAND BUTST HIT" , 0, 80, (FLOAT)0, ANIM_STATIONARY | ANIM_TURNING | ANIM_HITSTART | ANIM_NO_EFFORT | ANIM_NOCHANGE_WEAPON | ANIM_IGNORE_AUTOSTANCE, ANIM_STAND, ANIM_STAND, -1},
|
||||
@@ -262,8 +262,8 @@ ANIMCONTROLTYPE gAnimControl[ NUMANIMATIONSTATES ] =
|
||||
|
||||
{"JFK DEATHHIT B" , 0, 100, (FLOAT)0, ANIM_STATIONARY | ANIM_HITWHENDOWN | ANIM_NONINTERRUPT | ANIM_NOSHOW_MARKER | ANIM_NO_EFFORT | ANIM_NOCHANGE_WEAPON, ANIM_PRONE, ANIM_PRONE, -1},
|
||||
|
||||
// STAND BURST
|
||||
{"STAND BURST SPREAD" , 0, 100, (FLOAT)0, ANIM_STATIONARY | ANIM_TURNING | ANIM_LIGHT_EFFORT, ANIM_STAND, ANIM_STAND, -1},
|
||||
// STAND BURST // Lesh: AniDelay, speed=0 for control it
|
||||
{"STAND BURST SPREAD" , 0, 0, (FLOAT)0, ANIM_STATIONARY | ANIM_TURNING | ANIM_LIGHT_EFFORT, ANIM_STAND, ANIM_STAND, -1},
|
||||
|
||||
// FALLOFF DEATH
|
||||
{"FALLOFF DEATH" , 0, 120, (FLOAT)0, ANIM_STATIONARY | ANIM_NONINTERRUPT | ANIM_NO_EFFORT | ANIM_NOCHANGE_WEAPON, ANIM_PRONE, ANIM_PRONE, -1},
|
||||
@@ -356,11 +356,11 @@ ANIMCONTROLTYPE gAnimControl[ NUMANIMATIONSTATES ] =
|
||||
//QUEEN MONSTER STATIONARY
|
||||
{"MONSTER_STATIONARY" , 0, 100, (FLOAT)0, ANIM_STATIONARY | ANIM_NOMOVE_MARKER | ANIM_NO_EFFORT | ANIM_BREATH, ANIM_STAND, ANIM_STAND, -1},
|
||||
|
||||
// CROUCHED BURST
|
||||
{"CROUCHED BURST SHOOT" , 0, 100, (FLOAT)0, ANIM_STATIONARY | ANIM_TURNING | ANIM_LIGHT_EFFORT | ANIM_FIRE, ANIM_CROUCH, ANIM_CROUCH, -1},
|
||||
// CROUCHED BURST // Lesh: AniDelay, speed=0 for control it
|
||||
{"CROUCHED BURST SHOOT" , 0, 0, (FLOAT)0, ANIM_STATIONARY | ANIM_TURNING | ANIM_LIGHT_EFFORT | ANIM_FIRE, ANIM_CROUCH, ANIM_CROUCH, -1},
|
||||
|
||||
// PRONE BURST
|
||||
{"PRONE BURST SHOOT" , 0, 100, (FLOAT)0, ANIM_STATIONARY | ANIM_TURNING | ANIM_LIGHT_EFFORT | ANIM_FIRE, ANIM_PRONE, ANIM_PRONE, -1},
|
||||
// PRONE BURST // Lesh: AniDelay, speed=0 for control it
|
||||
{"PRONE BURST SHOOT" , 0, 0, (FLOAT)0, ANIM_STATIONARY | ANIM_TURNING | ANIM_LIGHT_EFFORT | ANIM_FIRE, ANIM_PRONE, ANIM_PRONE, -1},
|
||||
//180
|
||||
{"NOT USED 1" , 20, 20, (FLOAT)0.9, ANIM_MOVING | ANIM_TURNING | ANIM_NORESTART | ANIM_NO_EFFORT, ANIM_STAND, ANIM_STAND, -1},
|
||||
|
||||
@@ -527,8 +527,8 @@ ANIMCONTROLTYPE gAnimControl[ NUMANIMATIONSTATES ] =
|
||||
// SHOOT_RIFLE_STAND LOW
|
||||
"SHOOT (R) STAND LOW" , 0, 100, (FLOAT)0, ANIM_STATIONARY | ANIM_TURNING | ANIM_RAISE_WEAPON | ANIM_LIGHT_EFFORT | ANIM_FIRE, ANIM_STAND, ANIM_STAND, -1,
|
||||
|
||||
// SHOOT_RIFLE_STAND LOW
|
||||
"BURST SHOOT (R) STAND LOW" , 0, 100, (FLOAT)0, ANIM_STATIONARY | ANIM_TURNING | ANIM_RAISE_WEAPON | ANIM_LIGHT_EFFORT | ANIM_FIRE, ANIM_STAND, ANIM_STAND, -1,
|
||||
// SHOOT_RIFLE_STAND LOW // Lesh: AniDelay, speed=0 for control it
|
||||
"BURST SHOOT (R) STAND LOW" , 0, 0, (FLOAT)0, ANIM_STATIONARY | ANIM_TURNING | ANIM_RAISE_WEAPON | ANIM_LIGHT_EFFORT | ANIM_FIRE, ANIM_STAND, ANIM_STAND, -1,
|
||||
|
||||
//LARVAE Breathing
|
||||
"LARVAE BREATH" , 0, 250, (FLOAT)0, ANIM_STATIONARY | ANIM_TURNING | ANIM_NORESTART | ANIM_NO_EFFORT | ANIM_NOCHANGE_WEAPON, ANIM_STAND, ANIM_STAND, -1,
|
||||
@@ -786,8 +786,8 @@ ANIMCONTROLTYPE gAnimControl[ NUMANIMATIONSTATES ] =
|
||||
// TANK SHOOT
|
||||
"TANK SHOOT" , 0, 200, (FLOAT)0, ANIM_STATIONARY | ANIM_TURNING | ANIM_NOCHANGE_WEAPON | ANIM_LIGHT_EFFORT | ANIM_FIRE, ANIM_STAND, ANIM_STAND, -1,
|
||||
|
||||
// TANK SHOOT
|
||||
"TANK BURST" , 0, 100, (FLOAT)0, ANIM_STATIONARY | ANIM_TURNING | ANIM_NOCHANGE_WEAPON | ANIM_LIGHT_EFFORT | ANIM_FIRE, ANIM_STAND, ANIM_STAND, -1,
|
||||
// TANK SHOOT // Lesh: AniDelay, speed=0 for control it
|
||||
"TANK BURST" , 0, 0, (FLOAT)0, ANIM_STATIONARY | ANIM_TURNING | ANIM_NOCHANGE_WEAPON | ANIM_LIGHT_EFFORT | ANIM_FIRE, ANIM_STAND, ANIM_STAND, -1,
|
||||
|
||||
//Queen Slap
|
||||
"QUEEN SLAP" , 0, 120, (FLOAT)0, ANIM_STATIONARY | ANIM_TURNING | ANIM_FASTTURN | ANIM_NORESTART | ANIM_LIGHT_EFFORT | ANIM_NOCHANGE_WEAPON, ANIM_STAND, ANIM_STAND, -1,
|
||||
@@ -883,8 +883,8 @@ ANIMCONTROLTYPE gAnimControl[ NUMANIMATIONSTATES ] =
|
||||
// KID SKIPPING
|
||||
"KID SKIPPING", 0 , 70, (FLOAT)2.0, ANIM_MOVING | ANIM_TURNING | ANIM_NORESTART | ANIM_LIGHT_EFFORT | ANIM_NOCHANGE_WEAPON, ANIM_STAND, ANIM_STAND, -1,
|
||||
|
||||
// STAND BURST
|
||||
"STAND BURST SHOOT" , 0, 100, (FLOAT)0, ANIM_NORESTART | ANIM_STATIONARY | ANIM_TURNING | ANIM_RAISE_WEAPON | ANIM_LIGHT_EFFORT | ANIM_NOCHANGE_WEAPON | ANIM_FIRE, ANIM_STAND, ANIM_STAND, -1,
|
||||
// STAND BURST // Lesh: AniDelay, speed=0 for control it
|
||||
"STAND BURST SHOOT" , 0, 0, (FLOAT)0, ANIM_NORESTART | ANIM_STATIONARY | ANIM_TURNING | ANIM_RAISE_WEAPON | ANIM_LIGHT_EFFORT | ANIM_NOCHANGE_WEAPON | ANIM_FIRE, ANIM_STAND, ANIM_STAND, -1,
|
||||
|
||||
//Attach string
|
||||
"Attach String" , 0, 70, (FLOAT)0, ANIM_STATIONARY | ANIM_TURNING | ANIM_FASTTURN | ANIM_NORESTART | ANIM_NONINTERRUPT | ANIM_LOWER_WEAPON | ANIM_LIGHT_EFFORT, ANIM_CROUCH, ANIM_CROUCH, -1,
|
||||
@@ -3210,7 +3210,7 @@ INT8 GetBodyTypePaletteSubstitutionCode( SOLDIERTYPE *pSoldier, UINT8 ubBodyType
|
||||
}
|
||||
|
||||
// Check for cammo...
|
||||
if ( ( pSoldier->bCamo + pSoldier->wornCamo ) > 0 )
|
||||
if ( ( pSoldier->bCamo + pSoldier->wornCamo ) > 50 )
|
||||
{
|
||||
strcpy( zColFilename, "ANIMS\\camo.COL" );
|
||||
return( 1 );
|
||||
|
||||
@@ -529,14 +529,14 @@ DEALER_POSSIBLE_INV gGabbyInventory[MAXITEMS+1];// =
|
||||
//
|
||||
// Frank ( Alcohol )
|
||||
//
|
||||
DEALER_POSSIBLE_INV gFrankInventory[MAXITEMS+1] =
|
||||
{
|
||||
{ BEER, 12 },
|
||||
{ WINE, 6 },
|
||||
{ ALCOHOL, 9 },
|
||||
|
||||
{ LAST_DEALER_ITEM, NO_DEALER_ITEM }, //Last One
|
||||
};
|
||||
DEALER_POSSIBLE_INV gFrankInventory[MAXITEMS+1];// =
|
||||
//{
|
||||
// { BEER, 12 },
|
||||
// { WINE, 6 },
|
||||
// { ALCOHOL, 9 },
|
||||
//
|
||||
// { LAST_DEALER_ITEM, NO_DEALER_ITEM }, //Last One
|
||||
//};
|
||||
|
||||
|
||||
//
|
||||
@@ -902,22 +902,6 @@ UINT8 GetCurrentSuitabilityForItem( INT8 bArmsDealer, UINT16 usItemIndex, BOOLEA
|
||||
// the following staple items are always deemed highly suitable regardless of player's progress:
|
||||
switch (usItemIndex)
|
||||
{
|
||||
case CLIP38_6:
|
||||
case CLIP9_15:
|
||||
case CLIP9_30:
|
||||
case CLIP357_6:
|
||||
case CLIP357_9:
|
||||
case CLIP45_7:
|
||||
case CLIP45_30:
|
||||
case CLIP12G_7:
|
||||
case CLIP12G_7_BUCKSHOT:
|
||||
case CLIP545_30_HP:
|
||||
case CLIP556_30_HP:
|
||||
case CLIP762W_10_HP:
|
||||
case CLIP762W_30_HP:
|
||||
case CLIP762N_5_HP:
|
||||
case CLIP762N_20_HP:
|
||||
|
||||
case FIRSTAIDKIT:
|
||||
case MEDICKIT:
|
||||
case TOOLKIT:
|
||||
@@ -946,6 +930,9 @@ UINT8 GetCurrentSuitabilityForItem( INT8 bArmsDealer, UINT16 usItemIndex, BOOLEA
|
||||
ubMinCoolness = HighestPlayerProgressPercentage() / 10;
|
||||
ubMaxCoolness = ( HighestPlayerProgressPercentage() / 10 ) + 1;
|
||||
|
||||
if ( bArmsDealer == -1 )
|
||||
ubMinCoolness = 1;
|
||||
|
||||
//Madd: Bobby Ray's will sell higher coolness stuff if it's used, and may also have a better selection at the start of the game, depending on selection
|
||||
if ( bArmsDealer == -1 && gGameOptions.ubBobbyRay > BR_GOOD )
|
||||
{
|
||||
@@ -976,6 +963,14 @@ UINT8 GetCurrentSuitabilityForItem( INT8 bArmsDealer, UINT16 usItemIndex, BOOLEA
|
||||
ubMinCoolness = max( 1, min( 9, ubMinCoolness ) );
|
||||
ubMaxCoolness = max( 2, min( 10, ubMaxCoolness ) );
|
||||
|
||||
if ( bArmsDealer == -1 )
|
||||
{
|
||||
//Madd: BR's always sells ammo for its guns
|
||||
if (Item[usItemIndex].usItemClass == IC_AMMO && ubItemCoolness <= ubMaxCoolness )
|
||||
{
|
||||
return(ITEM_SUITABILITY_ALWAYS);
|
||||
}
|
||||
}
|
||||
|
||||
// if item is too cool for current level of progress
|
||||
if (ubItemCoolness > ubMaxCoolness)
|
||||
|
||||
@@ -5430,4 +5430,4 @@ void SoldierStealItemFromSoldier( SOLDIERTYPE *pSoldier, SOLDIERTYPE *pOpponent,
|
||||
gpTempSoldier = pSoldier;
|
||||
gsTempGridno = sGridNo;
|
||||
SetCustomizableTimerCallbackAndDelay( 1000, CheckForPickedOwnership, TRUE );
|
||||
}
|
||||
}
|
||||
@@ -4528,12 +4528,12 @@ UINT32 UIHandleLCOnTerrain( UI_EVENT *pUIEvent )
|
||||
|
||||
if( usAnimState != INVALID_ANIMATION )
|
||||
{
|
||||
gsCurrentActionPoints = GetAPsToReadyWeapon( pSoldier, usAnimState ) + AP_TO_AIM_TILE_IF_GETTING_READY;
|
||||
gsCurrentActionPoints = GetAPsToReadyWeapon( pSoldier, usAnimState );// Madd: removed the next part since it was deducting 2 extra aps that would not be deducted when readying the old way //+ AP_TO_AIM_TILE_IF_GETTING_READY;
|
||||
}
|
||||
else if( pSoldier->sLastTarget != sXPos + (MAXCOL * sYPos ) )
|
||||
gsCurrentActionPoints = AP_TO_AIM_TILE_IF_ALREADY_READY;
|
||||
else
|
||||
gsCurrentActionPoints = 0;
|
||||
gsCurrentActionPoints = 0;
|
||||
|
||||
gfUIHandleShowMoveGrid = TRUE;
|
||||
gsUIHandleShowMoveGridLocation = sXPos + (MAXCOL * sYPos );
|
||||
@@ -4604,7 +4604,7 @@ BOOLEAN MakeSoldierTurn( SOLDIERTYPE *pSoldier, INT16 sXPos, INT16 sYPos )
|
||||
if( usAnimState != INVALID_ANIMATION )
|
||||
{
|
||||
sAPCostToReady = GetAPsToReadyWeapon( pSoldier, usAnimState );
|
||||
sAPCost = sAPCostToReady + AP_TO_AIM_TILE_IF_GETTING_READY;
|
||||
sAPCost = sAPCostToReady; // Madd: removed this part since it was costing too many aps to ready weapon -- see other comment //+ AP_TO_AIM_TILE_IF_GETTING_READY;
|
||||
}
|
||||
else if( pSoldier->sLastTarget != sXPos + (MAXCOL * sYPos ) )
|
||||
sAPCost = AP_TO_AIM_TILE_IF_ALREADY_READY;
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
// WANNE 2 <changed some lines>
|
||||
#ifdef PRECOMPILEDHEADERS
|
||||
#include "Tactical All.h"
|
||||
#include "language defines.h"
|
||||
@@ -184,22 +183,24 @@
|
||||
|
||||
#define ITEM_FONT TINYFONT1
|
||||
|
||||
#define EXCEPTIONAL_DAMAGE 30
|
||||
#define EXCEPTIONAL_DAMAGE 40
|
||||
#define EXCEPTIONAL_WEIGHT 20
|
||||
#define EXCEPTIONAL_RANGE 300
|
||||
#define EXCEPTIONAL_MAGAZINE 30
|
||||
#define EXCEPTIONAL_AP_COST 7
|
||||
#define EXCEPTIONAL_RANGE 400
|
||||
#define EXCEPTIONAL_MAGAZINE 50
|
||||
#define EXCEPTIONAL_AP_COST 5
|
||||
#define EXCEPTIONAL_BURST_SIZE 5
|
||||
#define EXCEPTIONAL_RELIABILITY 2
|
||||
#define EXCEPTIONAL_REPAIR_EASE 2
|
||||
#define EXCEPTIONAL_ACCURACY 4
|
||||
|
||||
#define BAD_DAMAGE 23
|
||||
#define BAD_WEIGHT 45
|
||||
#define BAD_RANGE 150
|
||||
#define BAD_RANGE 150
|
||||
#define BAD_MAGAZINE 10
|
||||
#define BAD_AP_COST 11
|
||||
#define BAD_AP_COST 9
|
||||
#define BAD_RELIABILITY -2
|
||||
#define BAD_REPAIR_EASE -2
|
||||
#define BAD_ACCURACY -1
|
||||
|
||||
#define KEYRING_X 487
|
||||
#define KEYRING_Y (105 + INV_INTERFACE_START_Y)
|
||||
@@ -603,6 +604,15 @@ void GenerateProsString( UINT16 * zItemPros, OBJECTTYPE * pObject, UINT32 uiPixL
|
||||
ubWeight += Item[ pObject->usGunAmmoItem ].ubWeight;
|
||||
}
|
||||
|
||||
if (Weapon[usItem].bAccuracy >= EXCEPTIONAL_ACCURACY )
|
||||
{
|
||||
zTemp = Message[STR_ACCURATE];
|
||||
if ( ! AttemptToAddSubstring( zItemPros, zTemp, &uiStringLength, uiPixLimit ) )
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (Item[usItem].ubWeight <= EXCEPTIONAL_WEIGHT)
|
||||
{
|
||||
zTemp = Message[STR_LIGHT];
|
||||
@@ -712,6 +722,15 @@ void GenerateConsString( UINT16 * zItemCons, OBJECTTYPE * pObject, UINT32 uiPixL
|
||||
|
||||
zItemCons[0] = 0;
|
||||
|
||||
if (Weapon[usItem].bAccuracy <= BAD_ACCURACY)
|
||||
{
|
||||
zTemp = Message[STR_INACCURATE];
|
||||
if ( ! AttemptToAddSubstring( zItemCons, zTemp, &uiStringLength, uiPixLimit ) )
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// calculate the weight of the item plus ammunition but not including any attachments
|
||||
ubWeight = Item[ usItem ].ubWeight;
|
||||
if (Item[ usItem ].usItemClass == IC_GUN)
|
||||
@@ -1063,6 +1082,37 @@ void INVRenderINVPanelItem( SOLDIERTYPE *pSoldier, INT16 sPocket, UINT8 fDirtyLe
|
||||
{
|
||||
// CHECK FOR COMPATIBILITY WITH MAGAZINES
|
||||
|
||||
/* OLD VERSION OF GUN/AMMO MATCH HIGHLIGHTING
|
||||
UINT32 uiDestPitchBYTES;
|
||||
UINT8 *pDestBuf;
|
||||
UINT16 usLineColor;
|
||||
|
||||
if ( ( Item [ pSoldier->inv[ HANDPOS ].usItem ].usItemClass & IC_GUN ) && ( Item[ pObject->usItem ].usItemClass & IC_AMMO ) )
|
||||
{
|
||||
// CHECK
|
||||
if (Weapon[pSoldier->inv[ HANDPOS ].usItem].ubCalibre == Magazine[Item[pObject->usItem].ubClassIndex].ubCalibre )
|
||||
{
|
||||
// IT's an OK calibre ammo, do something!
|
||||
// Render Item with specific color
|
||||
//fOutline = TRUE;
|
||||
//sOutlineColor = Get16BPPColor( FROMRGB( 96, 104, 128 ) );
|
||||
//sOutlineColor = Get16BPPColor( FROMRGB( 20, 20, 120 ) );
|
||||
|
||||
// Draw rectangle!
|
||||
pDestBuf = LockVideoSurface( guiSAVEBUFFER, &uiDestPitchBYTES );
|
||||
SetClippingRegionAndImageWidth( uiDestPitchBYTES, 0, 0, 640, 480 );
|
||||
|
||||
//usLineColor = Get16BPPColor( FROMRGB( 255, 255, 0 ) );
|
||||
usLineColor = Get16BPPColor( FROMRGB( 230, 215, 196 ) );
|
||||
RectangleDraw( TRUE, (sX+1), (sY+1), (sX + gSMInvData[ sPocket ].sWidth - 2 ),( sY + gSMInvData[ sPocket ].sHeight - 2 ), usLineColor, pDestBuf );
|
||||
|
||||
SetClippingRegionAndImageWidth( uiDestPitchBYTES, 0, 0, 640, 480 );
|
||||
|
||||
UnLockVideoSurface( guiSAVEBUFFER );
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
if ( gbCompatibleAmmo[ sPocket ] )
|
||||
{
|
||||
fOutline = TRUE;
|
||||
@@ -2212,6 +2262,11 @@ void CycleItemDescriptionItem( )
|
||||
{
|
||||
usOldItem--;
|
||||
|
||||
while ( usOldItem > 0 && ( Item[usOldItem].usItemClass == IC_NONE || Item[usOldItem].usItemClass == 0 ))
|
||||
{
|
||||
usOldItem--;
|
||||
}
|
||||
|
||||
if ( usOldItem < 0 )
|
||||
{
|
||||
usOldItem = MAXITEMS-1;
|
||||
@@ -2225,6 +2280,11 @@ void CycleItemDescriptionItem( )
|
||||
{
|
||||
usOldItem = 0;
|
||||
}
|
||||
|
||||
while (usOldItem < MAXITEMS && (Item[usOldItem].usItemClass == IC_NONE || Item[usOldItem].usItemClass == 0 ))
|
||||
{
|
||||
usOldItem++;
|
||||
}
|
||||
}
|
||||
|
||||
CreateItem( (UINT16)usOldItem, 100, &( gpItemDescSoldier->inv[ HANDPOS ] ) );
|
||||
@@ -2767,7 +2827,6 @@ void ItemDescAmmoCallback(GUI_BUTTON *btn,INT32 reason)
|
||||
swprintf( (wchar_t *)pStr, L"0" );
|
||||
SpecifyButtonText( giItemDescAmmoButton, (UINT16 *)pStr );
|
||||
|
||||
|
||||
fItemDescDelete = TRUE;
|
||||
}
|
||||
|
||||
@@ -3069,6 +3128,13 @@ void RenderItemDescriptionBox( )
|
||||
BltVideoObjectFromIndex( guiSAVEBUFFER, guiBullet, 0, MAP_BULLET_BURST_X + cnt * (BULLET_WIDTH/2 + 1), MAP_BULLET_BURST_Y, VO_BLT_SRCTRANSPARENCY, NULL );
|
||||
}
|
||||
}
|
||||
else if (GetAutofireShotsPerFiveAPs(gpItemDescObject) > 0 )
|
||||
{
|
||||
for ( cnt = 0; cnt < 10; cnt++ )
|
||||
{
|
||||
BltVideoObjectFromIndex( guiSAVEBUFFER, guiBullet, 0, MAP_BULLET_BURST_X + cnt * (BULLET_WIDTH/2 + 1), MAP_BULLET_BURST_Y, VO_BLT_SRCTRANSPARENCY, NULL );
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -3193,7 +3259,7 @@ void RenderItemDescriptionBox( )
|
||||
mprintf( gMapWeaponStats[ 1 ].sX + gsInvDescX, gMapWeaponStats[ 1 ].sY + gsInvDescY, L"%s", gWeaponStatsDesc[ 1 ] );
|
||||
|
||||
|
||||
if (GetShotsPerBurst(gpItemDescObject) > 0)
|
||||
if (GetShotsPerBurst(gpItemDescObject) > 0 || GetAutofireShotsPerFiveAPs(gpItemDescObject)>0)
|
||||
{
|
||||
mprintf( gMapWeaponStats[ 8 ].sX + gsInvDescX, gMapWeaponStats[ 8 ].sY + gsInvDescY, L"%s", gWeaponStatsDesc[ 8 ] );
|
||||
}
|
||||
@@ -3289,7 +3355,15 @@ void RenderItemDescriptionBox( )
|
||||
FindFontRightCoordinates( (INT16)(gMapWeaponStats[ 6 ].sX + gsInvDescX + gMapWeaponStats[ 6 ].sValDx), (INT16)(gMapWeaponStats[ 6 ].sY + gsInvDescY ), ITEM_STATS_WIDTH ,ITEM_STATS_HEIGHT ,pStr, BLOCKFONT2, &usX, &usY);
|
||||
mprintf( usX, usY, pStr );
|
||||
}
|
||||
else if (GetAutofireShotsPerFiveAPs(gpItemDescObject) > 0)
|
||||
{
|
||||
|
||||
SetFontForeground( 5 );
|
||||
|
||||
swprintf( (wchar_t *)pStr, L"%2d", ubAttackAPs + CalcAPsToAutofire( DEFAULT_APS, gpItemDescObject, 3 ) );
|
||||
FindFontRightCoordinates( (INT16)(gMapWeaponStats[ 6 ].sX + gsInvDescX + gMapWeaponStats[ 6 ].sValDx), (INT16)(gMapWeaponStats[ 6 ].sY + gsInvDescY ), ITEM_STATS_WIDTH ,ITEM_STATS_HEIGHT ,pStr, BLOCKFONT2, &usX, &usY);
|
||||
mprintf( usX, usY, pStr );
|
||||
}
|
||||
}
|
||||
else if ( gpItemDescObject->usItem == MONEY )
|
||||
{
|
||||
@@ -3528,6 +3602,13 @@ void RenderItemDescriptionBox( )
|
||||
BltVideoObjectFromIndex( guiSAVEBUFFER, guiBullet, 0, BULLET_BURST_X + cnt * (BULLET_WIDTH/2 + 1), BULLET_BURST_Y, VO_BLT_SRCTRANSPARENCY, NULL );
|
||||
}
|
||||
}
|
||||
else if ( GetAutofireShotsPerFiveAPs(gpItemDescObject) > 0 )
|
||||
{
|
||||
for ( cnt = 0; cnt < 10; cnt++ )
|
||||
{
|
||||
BltVideoObjectFromIndex( guiSAVEBUFFER, guiBullet, 0, BULLET_BURST_X + cnt * (BULLET_WIDTH/2 + 1), BULLET_BURST_Y, VO_BLT_SRCTRANSPARENCY, NULL );
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -3643,7 +3724,7 @@ void RenderItemDescriptionBox( )
|
||||
}
|
||||
mprintf( gWeaponStats[ 1 ].sX + gsInvDescX, gWeaponStats[ 1 ].sY + gsInvDescY, L"%s", gWeaponStatsDesc[ 1 ] );
|
||||
|
||||
if (GetShotsPerBurst(gpItemDescObject) > 0)
|
||||
if (GetShotsPerBurst(gpItemDescObject) > 0 || GetAutofireShotsPerFiveAPs(gpItemDescObject))
|
||||
{
|
||||
mprintf( gWeaponStats[ 8 ].sX + gsInvDescX, gWeaponStats[ 8 ].sY + gsInvDescY, L"%s", gWeaponStatsDesc[ 8 ] );
|
||||
}
|
||||
@@ -3732,6 +3813,13 @@ void RenderItemDescriptionBox( )
|
||||
FindFontRightCoordinates( (INT16)(gWeaponStats[ 6 ].sX + gsInvDescX + gWeaponStats[ 6 ].sValDx), (INT16)(gWeaponStats[ 6 ].sY + gsInvDescY ), ITEM_STATS_WIDTH, ITEM_STATS_HEIGHT, pStr, BLOCKFONT2, &usX, &usY );
|
||||
mprintf( usX, usY, pStr );
|
||||
}
|
||||
else if (GetAutofireShotsPerFiveAPs(gpItemDescObject)> 0)
|
||||
{
|
||||
SetFontForeground( 5 );
|
||||
swprintf( (wchar_t *)pStr, L"%2d", ubAttackAPs + CalcAPsToBurst( DEFAULT_APS, gpItemDescObject ) );
|
||||
FindFontRightCoordinates( (INT16)(gWeaponStats[ 6 ].sX + gsInvDescX + gWeaponStats[ 6 ].sValDx), (INT16)(gWeaponStats[ 6 ].sY + gsInvDescY ), ITEM_STATS_WIDTH, ITEM_STATS_HEIGHT, pStr, BLOCKFONT2, &usX, &usY );
|
||||
mprintf( usX, usY, pStr );
|
||||
}
|
||||
|
||||
}
|
||||
else if ( gpItemDescObject->usItem == MONEY )
|
||||
@@ -7203,8 +7291,7 @@ void GetHelpTextForItem( INT16 * pzStr, OBJECTTYPE *pObject, SOLDIERTYPE *pSoldi
|
||||
}
|
||||
}
|
||||
|
||||
// The first tool tip is for rocket rifles
|
||||
if ( !gGameOptions.fGunNut && Item[ usItem ].usItemClass == IC_GUN && !Item[usItem].rocketlauncher && !Item[usItem].rocketrifle )
|
||||
if ( Item[ usItem ].usItemClass == IC_GUN && !Item[usItem].rocketlauncher && !Item[usItem].rocketrifle )
|
||||
{
|
||||
swprintf( (wchar_t *)pStr, L"%s (%s) [%d%%]", ItemNames[ usItem ], AmmoCaliber[ Weapon[ usItem ].ubCalibre ], sValue );
|
||||
}
|
||||
|
||||
@@ -995,7 +995,7 @@ void UpdateSMPanel( )
|
||||
else
|
||||
{
|
||||
// Enable some buttons!
|
||||
if ( IsGunAutofireCapable( gpSMCurrentMerc, HANDPOS ) || IsGunBurstCapable( gpSMCurrentMerc, HANDPOS , FALSE ) || IsGrenadeLauncherAttached ( &(gpSMCurrentMerc->inv[HANDPOS]) ) )
|
||||
if ( ((IsGunAutofireCapable( gpSMCurrentMerc, HANDPOS ) || IsGunBurstCapable( gpSMCurrentMerc, HANDPOS , FALSE )) && !Weapon[gpSMCurrentMerc->inv[HANDPOS].usItem].NoSemiAuto ) || IsGrenadeLauncherAttached ( &(gpSMCurrentMerc->inv[HANDPOS]) ) )
|
||||
{
|
||||
EnableButton( iSMPanelButtons[ BURSTMODE_BUTTON ] );
|
||||
}
|
||||
@@ -5988,9 +5988,18 @@ void HandleTacticalEffectsOfEquipmentChange( SOLDIERTYPE *pSoldier, UINT32 uiInv
|
||||
// if in attached weapon mode and don't have weapon with GL attached in hand, reset weapon mode
|
||||
if ( (pSoldier->bWeaponMode == WM_ATTACHED_GL || pSoldier->bWeaponMode == WM_ATTACHED_GL_BURST || pSoldier->bWeaponMode == WM_ATTACHED_GL_AUTO )&& !IsGrenadeLauncherAttached( &(pSoldier->inv[ HANDPOS ]) ) )
|
||||
{
|
||||
pSoldier->bWeaponMode = WM_NORMAL;
|
||||
pSoldier->bDoBurst = FALSE;
|
||||
pSoldier->bDoAutofire = 0;
|
||||
if ( !Weapon[pSoldier->inv[ HANDPOS ].usItem].NoSemiAuto )
|
||||
{
|
||||
pSoldier->bWeaponMode = WM_NORMAL;
|
||||
pSoldier->bDoBurst = FALSE;
|
||||
pSoldier->bDoAutofire = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
pSoldier->bWeaponMode = WM_AUTOFIRE;
|
||||
pSoldier->bDoBurst = TRUE;
|
||||
pSoldier->bDoAutofire = 1;
|
||||
}
|
||||
}
|
||||
|
||||
// if he is loaded tactically
|
||||
@@ -6016,9 +6025,18 @@ void HandleTacticalEffectsOfEquipmentChange( SOLDIERTYPE *pSoldier, UINT32 uiInv
|
||||
// as a minimum
|
||||
if ( (Item[ pSoldier->inv[ HANDPOS ].usItem ].usItemClass & IC_WEAPON) && GetShotsPerBurst(&pSoldier->inv[ HANDPOS ]) == 0 )
|
||||
{
|
||||
pSoldier->bDoBurst = FALSE;
|
||||
pSoldier->bWeaponMode = WM_NORMAL;
|
||||
pSoldier->bDoAutofire = 0;
|
||||
if ( !Weapon[pSoldier->inv[ HANDPOS ].usItem].NoSemiAuto )
|
||||
{
|
||||
pSoldier->bWeaponMode = WM_NORMAL;
|
||||
pSoldier->bDoBurst = FALSE;
|
||||
pSoldier->bDoAutofire = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
pSoldier->bWeaponMode = WM_AUTOFIRE;
|
||||
pSoldier->bDoAutofire = 1;
|
||||
pSoldier->bDoBurst = TRUE;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -99,16 +99,16 @@ void InitArmyGunTypes(void)
|
||||
|
||||
DebugMsg (TOPIC_JA2,DBG_LEVEL_3,"InitArmyGunTypes set gun choice table");
|
||||
// depending on selection of the gun nut option
|
||||
if (gGameOptions.fGunNut)
|
||||
{
|
||||
//if (gGameOptions.fGunNut)
|
||||
//{
|
||||
// use table of extended gun choices
|
||||
pGunChoiceTable = &(gExtendedArmyGunChoices[0]);
|
||||
}
|
||||
else
|
||||
{
|
||||
// use table of regular gun choices
|
||||
pGunChoiceTable = &(gRegularArmyGunChoices[0]);
|
||||
}
|
||||
//}
|
||||
//else
|
||||
//{
|
||||
// // use table of regular gun choices
|
||||
// pGunChoiceTable = &(gRegularArmyGunChoices[0]);
|
||||
//}
|
||||
|
||||
DebugMsg (TOPIC_JA2,DBG_LEVEL_3,"InitArmyGunTypes pick a gun type");
|
||||
// for each gun category
|
||||
@@ -429,7 +429,7 @@ void GenerateRandomEquipment( SOLDIERCREATE_STRUCT *pp, INT8 bSoldierClass, INT8
|
||||
}
|
||||
|
||||
bAmmoClips = (INT8)(3 + Random( 2 ));
|
||||
bGrenades = (INT8)(3 + Random( 3 ));
|
||||
bGrenades = (INT8)(2 + Random( 3 ));
|
||||
|
||||
if( ( bRating >= AVERAGE_ELITE_EQUIPMENT_RATING ) && ( Random( 100 ) < 75 ) )
|
||||
{
|
||||
@@ -794,28 +794,35 @@ void ChooseWeaponForSoldierCreateStruct( SOLDIERCREATE_STRUCT *pp, INT8 bWeaponC
|
||||
usAttachIndex = 0;
|
||||
}
|
||||
|
||||
DebugMsg (TOPIC_JA2,DBG_LEVEL_3,"ChooseWeaponForSoldierCreateStruct: Gun Created");
|
||||
|
||||
if( usScopeIndex > 0 )
|
||||
{
|
||||
DebugMsg (TOPIC_JA2,DBG_LEVEL_3,String("ChooseWeaponForSoldierCreateStruct: Create Scope %d",usScopeIndex));
|
||||
CreateItem( usScopeIndex, 100, &Object );
|
||||
Object.fFlags |= OBJECT_UNDROPPABLE;
|
||||
AttachObject( NULL, &(pp->Inv[ HANDPOS ]), &Object );
|
||||
}
|
||||
if( usAttachIndex > 0 )
|
||||
{
|
||||
DebugMsg (TOPIC_JA2,DBG_LEVEL_3,String("ChooseWeaponForSoldierCreateStruct: Create Attachment %d",usAttachIndex));
|
||||
CreateItem( usAttachIndex, 100, &Object );
|
||||
Object.fFlags |= OBJECT_UNDROPPABLE;
|
||||
AttachObject( NULL, &(pp->Inv[ HANDPOS ]), &Object );
|
||||
}
|
||||
if( usAttachIndex2 > 0 )
|
||||
{
|
||||
DebugMsg (TOPIC_JA2,DBG_LEVEL_3,String("ChooseWeaponForSoldierCreateStruct: Create 2nd Attachment %d",usAttachIndex2));
|
||||
CreateItem( usAttachIndex2, 100, &Object );
|
||||
Object.fFlags |= OBJECT_UNDROPPABLE;
|
||||
AttachObject( NULL, &(pp->Inv[ HANDPOS ]), &Object );
|
||||
}
|
||||
|
||||
DebugMsg (TOPIC_JA2,DBG_LEVEL_3,String("ChooseWeaponForSoldierCreateStruct: Set bullets"));
|
||||
//set bullets = to magsize including any attachments (c-mag adapters, etc)
|
||||
pp->Inv[ HANDPOS ].ubGunShotsLeft = GetMagSize(&pp->Inv[ HANDPOS ]);
|
||||
|
||||
DebugMsg (TOPIC_JA2,DBG_LEVEL_3,String("ChooseWeaponForSoldierCreateStruct: choose ammo"));
|
||||
if( bAmmoClips )
|
||||
{ //We have a gun, so choose ammo clips
|
||||
|
||||
@@ -842,6 +849,7 @@ void ChooseWeaponForSoldierCreateStruct( SOLDIERCREATE_STRUCT *pp, INT8 bWeaponC
|
||||
}
|
||||
|
||||
//Ammo
|
||||
DebugMsg (TOPIC_JA2,DBG_LEVEL_3,String("ChooseWeaponForSoldierCreateStruct: create ammo"));
|
||||
if( bAmmoClips && usAmmoIndex )
|
||||
{
|
||||
CreateItems( usAmmoIndex, 100, bAmmoClips, &Object );
|
||||
@@ -849,6 +857,7 @@ void ChooseWeaponForSoldierCreateStruct( SOLDIERCREATE_STRUCT *pp, INT8 bWeaponC
|
||||
PlaceObjectInSoldierCreateStruct( pp, &Object );
|
||||
}
|
||||
|
||||
DebugMsg (TOPIC_JA2,DBG_LEVEL_3,String("ChooseWeaponForSoldierCreateStruct: done"));
|
||||
}
|
||||
|
||||
void ChooseGrenadesForSoldierCreateStruct( SOLDIERCREATE_STRUCT *pp, INT8 bGrenades, INT8 bGrenadeClass, BOOLEAN fGrenadeLauncher )
|
||||
@@ -2520,16 +2529,16 @@ UINT16 SelectStandardArmyGun( UINT8 uiGunLevel )
|
||||
// decided to randomize it afterall instead of repeating the same weapon over and over
|
||||
|
||||
// depending on selection of the gun nut option
|
||||
if (gGameOptions.fGunNut)
|
||||
{
|
||||
//if (gGameOptions.fGunNut)
|
||||
//{
|
||||
// use table of extended gun choices
|
||||
pGunChoiceTable = &(gExtendedArmyGunChoices[0]);
|
||||
}
|
||||
else
|
||||
{
|
||||
// use table of regular gun choices
|
||||
pGunChoiceTable = &(gRegularArmyGunChoices[0]);
|
||||
}
|
||||
//}
|
||||
//else
|
||||
//{
|
||||
// // use table of regular gun choices
|
||||
// pGunChoiceTable = &(gRegularArmyGunChoices[0]);
|
||||
//}
|
||||
|
||||
// choose one the of the possible gun choices
|
||||
uiChoice = Random(pGunChoiceTable[ uiGunLevel ].ubChoices);
|
||||
|
||||
@@ -109,6 +109,7 @@ enum
|
||||
SCOPE,
|
||||
ATTACHMENTS,
|
||||
KNIVES,
|
||||
ENEMYAMMOTYPES,
|
||||
MAX_ITEM_TYPES
|
||||
};
|
||||
|
||||
|
||||
@@ -367,7 +367,8 @@ typedef struct
|
||||
|
||||
INT16 magsizebonus;
|
||||
INT16 percentautofireapreduction;
|
||||
INT16 autofirebonus;
|
||||
INT16 autofiretohitbonus;
|
||||
INT16 APBonus;
|
||||
INT16 rateoffirebonus;
|
||||
INT16 burstsizebonus;
|
||||
INT16 bursttohitbonus;
|
||||
@@ -829,6 +830,8 @@ typedef enum
|
||||
EXPLOSIVE,
|
||||
EASY_MERGE,
|
||||
ELECTRONIC_MERGE,
|
||||
USE_ITEM,
|
||||
USE_ITEM_HARD
|
||||
} MergeType;
|
||||
|
||||
extern UINT16 Merge[MAXITEMS+1][4];
|
||||
|
||||
+189
-18
@@ -1176,10 +1176,10 @@ BOOLEAN ItemIsLegal( UINT16 usItemIndex )
|
||||
if( !gGameOptions.fGunNut )
|
||||
{
|
||||
//if the item is a gun, or ammo
|
||||
if( (Item[ usItemIndex ].usItemClass == IC_GUN) || (Item[ usItemIndex ].usItemClass == IC_AMMO ))
|
||||
//if( (Item[ usItemIndex ].usItemClass == IC_GUN) || (Item[ usItemIndex ].usItemClass == IC_AMMO )) //Madd: restriction removed
|
||||
{
|
||||
// and the item is only available with the extended guns
|
||||
if( ExtendedGunListGun( usItemIndex ) )
|
||||
if( Item[usItemIndex].biggunlist )
|
||||
{
|
||||
return(FALSE);
|
||||
}
|
||||
@@ -3192,6 +3192,39 @@ BOOLEAN AttachObject( SOLDIERTYPE * pSoldier, OBJECTTYPE * pTargetObj, OBJECTTYP
|
||||
|
||||
switch( ubType )
|
||||
{
|
||||
case USE_ITEM:
|
||||
case USE_ITEM_HARD:
|
||||
// the merge will combine the two items
|
||||
if ( pSoldier )
|
||||
{
|
||||
if ( ubType == USE_ITEM_HARD )
|
||||
{
|
||||
// requires a skill check, and gives experience
|
||||
iCheckResult = SkillCheck( pSoldier, ATTACHING_SPECIAL_ITEM_CHECK, -30 );
|
||||
if (iCheckResult < 0)
|
||||
{
|
||||
// could have a chance of detonation
|
||||
// for now, damage both objects
|
||||
DamageObj( pTargetObj, (INT8) -iCheckResult );
|
||||
DamageObj( pAttachment, (INT8) -iCheckResult );
|
||||
DoMercBattleSound( pSoldier, BATTLE_SOUND_CURSE1 );
|
||||
return( FALSE );
|
||||
}
|
||||
StatChange( pSoldier, MECHANAMT, 25, FALSE );
|
||||
StatChange( pSoldier, WISDOMAMT, 5, FALSE );
|
||||
}
|
||||
|
||||
pTargetObj->usItem = usResult;
|
||||
//AutoPlaceObject( pAttachment );
|
||||
pTargetObj->ubWeight = CalculateObjectWeight( pTargetObj );
|
||||
if (pSoldier->bTeam == gbPlayerNum)
|
||||
{
|
||||
DoMercBattleSound( pSoldier, BATTLE_SOUND_COOL1 );
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
else
|
||||
return FALSE;
|
||||
case COMBINE_POINTS:
|
||||
// transfer points...
|
||||
if ( Item[ pTargetObj->usItem ].usItemClass == IC_AMMO )
|
||||
@@ -3451,6 +3484,25 @@ BOOLEAN PlaceObject( SOLDIERTYPE * pSoldier, INT8 bPos, OBJECTTYPE * pObj )
|
||||
}
|
||||
}
|
||||
|
||||
// Lesh: bugfix - replacing weapon in auto with another weapon w/o auto-mode
|
||||
if (bPos == HANDPOS && Item[ pObj->usItem ].usItemClass == IC_GUN)
|
||||
{
|
||||
//Madd: added code for nosemiauto tag
|
||||
if (!Weapon[ Item[pObj->usItem].ubClassIndex ].NoSemiAuto)
|
||||
{
|
||||
pSoldier->bWeaponMode = WM_NORMAL;
|
||||
pSoldier->bDoBurst = FALSE;
|
||||
pSoldier->bDoAutofire = FALSE;
|
||||
}
|
||||
else
|
||||
{
|
||||
pSoldier->bWeaponMode = WM_AUTOFIRE;
|
||||
pSoldier->bDoBurst = TRUE;
|
||||
pSoldier->bDoAutofire = TRUE;
|
||||
}
|
||||
}
|
||||
// Lesh: end
|
||||
|
||||
ubSlotLimit = ItemSlotLimit( pObj->usItem, bPos );
|
||||
|
||||
pInSlot = &(pSoldier->inv[bPos]);
|
||||
@@ -4272,17 +4324,22 @@ UINT16 MagazineClassIndexToItemType(UINT16 usMagIndex)
|
||||
// Note: if any ammo items in the item table are separated from the main group,
|
||||
// this function will have to be rewritten to scan the item table for an item
|
||||
// with item class ammo, which has class index usMagIndex
|
||||
DebugMsg( TOPIC_JA2, DBG_LEVEL_3, String( "MagazineClassIndexToItemType" ) );
|
||||
for (usLoop = FIRST_AMMO; usLoop < MAXITEMS; usLoop++)
|
||||
{
|
||||
if ( Item[usLoop].usItemClass == 0 )
|
||||
break;
|
||||
|
||||
if (Item[usLoop].ubClassIndex == usMagIndex)
|
||||
{
|
||||
DebugMsg( TOPIC_JA2, DBG_LEVEL_3, String( "MagazineClassIndexToItemType: breaking at index %d", usLoop ) );
|
||||
break;
|
||||
}
|
||||
if (Item[usLoop].ubClassIndex == usMagIndex && Item[usLoop].usItemClass == IC_AMMO )
|
||||
{
|
||||
DebugMsg( TOPIC_JA2, DBG_LEVEL_3, String( "MagazineClassIndexToItemType: return %d", usLoop ) );
|
||||
return( usLoop );
|
||||
}
|
||||
}
|
||||
|
||||
DebugMsg( TOPIC_JA2, DBG_LEVEL_3, String( "MagazineClassIndexToItemType: return none, got to %d", usLoop ) );
|
||||
return(NONE);
|
||||
}
|
||||
|
||||
@@ -4292,6 +4349,7 @@ UINT16 DefaultMagazine( UINT16 usItem )
|
||||
WEAPONTYPE * pWeapon;
|
||||
UINT16 usLoop;
|
||||
|
||||
DebugMsg(TOPIC_JA2,DBG_LEVEL_3,String("DefaultMagazine: item = %d",usItem));
|
||||
if (!(Item[usItem].usItemClass & IC_GUN))
|
||||
{
|
||||
return( 0 );
|
||||
@@ -4302,14 +4360,17 @@ UINT16 DefaultMagazine( UINT16 usItem )
|
||||
while ( Magazine[usLoop].ubCalibre != NOAMMO )
|
||||
{
|
||||
if (Magazine[usLoop].ubCalibre == pWeapon->ubCalibre &&
|
||||
Magazine[usLoop].ubMagSize == pWeapon->ubMagSize)
|
||||
Magazine[usLoop].ubMagSize == pWeapon->ubMagSize &&
|
||||
AmmoTypes[ Magazine[usLoop].ubAmmoType ].standardIssue )
|
||||
{
|
||||
DebugMsg(TOPIC_JA2,DBG_LEVEL_3,String("DefaultMagazine: found at index %d",usLoop));
|
||||
return(MagazineClassIndexToItemType(usLoop));
|
||||
}
|
||||
|
||||
usLoop++;
|
||||
}
|
||||
|
||||
DebugMsg(TOPIC_JA2,DBG_LEVEL_3,String("DefaultMagazine: can't find any"));
|
||||
return( 0 );
|
||||
}
|
||||
|
||||
@@ -4363,13 +4424,14 @@ UINT16 FindReplacementMagazineIfNecessary( UINT16 usOldGun, UINT16 usOldAmmo, UI
|
||||
}
|
||||
|
||||
// increase this if any gun can have more types that this
|
||||
#define MAX_AMMO_TYPES_PER_GUN 6 // MADD MARKER
|
||||
#define MAX_AMMO_TYPES_PER_GUN 24 // MADD MARKER
|
||||
|
||||
UINT16 RandomMagazine( UINT16 usItem, UINT8 ubPercentStandard )
|
||||
{
|
||||
// Note: if any ammo items in the item table are separated from the main group,
|
||||
// this function will have to be rewritten to scan the item table for an item
|
||||
// with item class ammo, which has class index ubLoop
|
||||
DebugMsg (TOPIC_JA2,DBG_LEVEL_3,String("RandomMagazine (by index)"));
|
||||
|
||||
WEAPONTYPE * pWeapon;
|
||||
UINT16 usLoop;
|
||||
@@ -4393,7 +4455,22 @@ UINT16 RandomMagazine( UINT16 usItem, UINT8 ubPercentStandard )
|
||||
{
|
||||
// store it! (make sure array is big enough)
|
||||
Assert(usPossibleMagCnt < MAX_AMMO_TYPES_PER_GUN);
|
||||
usPossibleMagIndex[usPossibleMagCnt++] = usLoop;
|
||||
// Madd: check to see if allowed by army
|
||||
if ( gArmyItemChoices[ENEMYAMMOTYPES].ubChoices > 0 )
|
||||
{
|
||||
for ( int i=0;i<gArmyItemChoices[ENEMYAMMOTYPES].ubChoices;i++ )
|
||||
{
|
||||
if ( gArmyItemChoices[ENEMYAMMOTYPES].bItemNo[i] == Magazine[usLoop].ubAmmoType )
|
||||
{
|
||||
usPossibleMagIndex[usPossibleMagCnt++] = usLoop;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
usPossibleMagIndex[usPossibleMagCnt++] = usLoop;
|
||||
}
|
||||
}
|
||||
|
||||
usLoop++;
|
||||
@@ -4409,7 +4486,7 @@ UINT16 RandomMagazine( UINT16 usItem, UINT8 ubPercentStandard )
|
||||
if (usPossibleMagCnt == 1)
|
||||
{
|
||||
// use that, no choice
|
||||
return(MagazineClassIndexToItemType(usPossibleMagIndex[ 0 ] ));
|
||||
return(MagazineClassIndexToItemType( usPossibleMagIndex[ 0 ] ));
|
||||
}
|
||||
else // multiple choices
|
||||
{
|
||||
@@ -4417,6 +4494,8 @@ UINT16 RandomMagazine( UINT16 usItem, UINT8 ubPercentStandard )
|
||||
if (Random(100) < ubPercentStandard)
|
||||
{
|
||||
ubMagChosen = 0;
|
||||
DebugMsg(TOPIC_JA2,DBG_LEVEL_3,String("RandomMagazine: ubMagChosen = %d",ubMagChosen ));
|
||||
return( DefaultMagazine(usItem) );
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -4424,6 +4503,7 @@ UINT16 RandomMagazine( UINT16 usItem, UINT8 ubPercentStandard )
|
||||
ubMagChosen = ( UINT8 ) (1 + Random(( UINT32 ) ( usPossibleMagCnt - 1 )));
|
||||
}
|
||||
|
||||
DebugMsg(TOPIC_JA2,DBG_LEVEL_3,String("RandomMagazine: ubMagChosen = %d",ubMagChosen ));
|
||||
return( MagazineClassIndexToItemType(usPossibleMagIndex[ ubMagChosen ] ) );
|
||||
}
|
||||
}
|
||||
@@ -4433,6 +4513,7 @@ UINT16 RandomMagazine( OBJECTTYPE * pGun, UINT8 ubPercentStandard )
|
||||
// Note: if any ammo items in the item table are separated from the main group,
|
||||
// this function will have to be rewritten to scan the item table for an item
|
||||
// with item class ammo, which has class index ubLoop
|
||||
DebugMsg (TOPIC_JA2,DBG_LEVEL_3,String("RandomMagazine"));
|
||||
|
||||
WEAPONTYPE * pWeapon;
|
||||
UINT16 usLoop;
|
||||
@@ -4456,7 +4537,22 @@ UINT16 RandomMagazine( OBJECTTYPE * pGun, UINT8 ubPercentStandard )
|
||||
{
|
||||
// store it! (make sure array is big enough)
|
||||
Assert(usPossibleMagCnt < MAX_AMMO_TYPES_PER_GUN);
|
||||
usPossibleMagIndex[usPossibleMagCnt++] = usLoop;
|
||||
// Madd: check to see if allowed by army
|
||||
if ( gArmyItemChoices[ENEMYAMMOTYPES].ubChoices > 0 )
|
||||
{
|
||||
for ( int i=0;i<gArmyItemChoices[ENEMYAMMOTYPES].ubChoices;i++ )
|
||||
{
|
||||
if ( gArmyItemChoices[ENEMYAMMOTYPES].bItemNo[i] == Magazine[usLoop].ubAmmoType )
|
||||
{
|
||||
usPossibleMagIndex[usPossibleMagCnt++] = usLoop;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
usPossibleMagIndex[usPossibleMagCnt++] = usLoop;
|
||||
}
|
||||
}
|
||||
|
||||
usLoop++;
|
||||
@@ -4480,6 +4576,8 @@ UINT16 RandomMagazine( OBJECTTYPE * pGun, UINT8 ubPercentStandard )
|
||||
if (Random(100) < ubPercentStandard)
|
||||
{
|
||||
ubMagChosen = 0;
|
||||
DebugMsg(TOPIC_JA2,DBG_LEVEL_3,String("RandomMagazine: ubMagChosen = %d",ubMagChosen ));
|
||||
return( DefaultMagazine(pGun->usItem) );
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -4487,6 +4585,7 @@ UINT16 RandomMagazine( OBJECTTYPE * pGun, UINT8 ubPercentStandard )
|
||||
ubMagChosen = ( UINT8 ) (1 + Random(( UINT32 ) ( usPossibleMagCnt - 1 )));
|
||||
}
|
||||
|
||||
DebugMsg(TOPIC_JA2,DBG_LEVEL_3,String("RandomMagazine: ubMagChosen = %d",ubMagChosen ));
|
||||
return( MagazineClassIndexToItemType(usPossibleMagIndex[ ubMagChosen ] ) );
|
||||
}
|
||||
}
|
||||
@@ -5785,6 +5884,9 @@ INT16 GetItemAimBonus( const INVTYPE* pItem, INT32 iRange, UINT8 ubAimTime )
|
||||
|
||||
// reduce effective sight range by aimbonus% per extra aiming time AP
|
||||
// of the distance beyond minrangeforaimbonus.
|
||||
if ( pItem->aimbonus < 0)
|
||||
ubAimTime = 1;
|
||||
|
||||
return ( pItem->aimbonus * ubAimTime * ( iRange - pItem->minrangeforaimbonus ) ) / 100;
|
||||
}
|
||||
|
||||
@@ -5804,6 +5906,56 @@ INT16 GetAimBonus( OBJECTTYPE * pObj, INT32 iRange, UINT8 ubAimTime )
|
||||
return( bns );
|
||||
}
|
||||
|
||||
// Madd: check equipment for aim bonus (penalties)
|
||||
INT16 GetGearAimBonus( SOLDIERTYPE * pSoldier, INT32 iRange, UINT8 ubAimTime )
|
||||
{
|
||||
INT16 bns=0;
|
||||
|
||||
for (int j = HELMETPOS; j <= HEAD2POS; j++)
|
||||
{
|
||||
bns += GetItemAimBonus( &Item[pSoldier->inv[j].usItem], iRange, ubAimTime );
|
||||
for ( int i = 0; i < MAX_ATTACHMENTS; i++)
|
||||
{
|
||||
bns += GetItemAimBonus(&Item[pSoldier->inv[j].usAttachItem[i]],iRange,ubAimTime);
|
||||
}
|
||||
}
|
||||
|
||||
return( bns );
|
||||
}
|
||||
|
||||
// Madd: check equipment for to hit bonus (penalties)
|
||||
INT16 GetGearToHitBonus( SOLDIERTYPE * pSoldier )
|
||||
{
|
||||
INT16 bns=0;
|
||||
|
||||
for (int j = HELMETPOS; j <= HEAD2POS; j++)
|
||||
{
|
||||
bns += Item[pSoldier->inv[j].usItem].tohitbonus;
|
||||
for ( int i = 0; i < MAX_ATTACHMENTS; i++)
|
||||
{
|
||||
bns += Item[pSoldier->inv[j].usAttachItem[i]].tohitbonus;
|
||||
}
|
||||
}
|
||||
|
||||
return( bns );
|
||||
}
|
||||
|
||||
// Madd: check equipment for AP bonus (penalties)
|
||||
INT16 GetGearAPBonus( SOLDIERTYPE * pSoldier )
|
||||
{
|
||||
INT16 bns=0;
|
||||
|
||||
for (int j = HELMETPOS; j <= HEAD2POS; j++)
|
||||
{
|
||||
bns += Item[pSoldier->inv[j].usItem].APBonus;
|
||||
for ( int i = 0; i < MAX_ATTACHMENTS; i++)
|
||||
{
|
||||
bns += Item[pSoldier->inv[j].usAttachItem[i]].APBonus;
|
||||
}
|
||||
}
|
||||
|
||||
return( bns );
|
||||
}
|
||||
|
||||
UINT32 FindRangeBonusAttachment( OBJECTTYPE * pObj )
|
||||
{
|
||||
@@ -5825,7 +5977,9 @@ INT16 GetRangeBonus( OBJECTTYPE * pObj )
|
||||
INT16 bns=0;
|
||||
|
||||
bns = BonusReduce( Item[pObj->usItem].rangebonus, pObj->bStatus[0] );
|
||||
bns += Item[pObj->usGunAmmoItem].rangebonus;
|
||||
|
||||
if ( pObj->ubGunShotsLeft > 0 )
|
||||
bns += Item[pObj->usGunAmmoItem].rangebonus;
|
||||
|
||||
for (bLoop = 0; bLoop < MAX_ATTACHMENTS; bLoop++)
|
||||
{
|
||||
@@ -5907,7 +6061,9 @@ INT16 GetDamageBonus( OBJECTTYPE * pObj )
|
||||
INT16 bns=0;
|
||||
|
||||
bns = BonusReduce( Item[pObj->usItem].damagebonus, pObj->bStatus[0] );
|
||||
bns += Item[pObj->usGunAmmoItem].damagebonus ;
|
||||
|
||||
if ( pObj->ubGunShotsLeft > 0 )
|
||||
bns += Item[pObj->usGunAmmoItem].damagebonus ;
|
||||
|
||||
for (bLoop = 0; bLoop < MAX_ATTACHMENTS; bLoop++)
|
||||
{
|
||||
@@ -5999,18 +6155,22 @@ INT16 GetRateOfFireBonus( OBJECTTYPE * pObj )
|
||||
return( bns );
|
||||
}
|
||||
|
||||
INT16 GetAutofireBonus( OBJECTTYPE * pObj )
|
||||
INT16 GetAutoToHitBonus( OBJECTTYPE * pObj, BOOLEAN fProneStance )
|
||||
{
|
||||
INT8 bLoop;
|
||||
INT16 bns=0;
|
||||
|
||||
bns = BonusOnOff( Item[pObj->usItem].autofirebonus, pObj->bStatus[0] );
|
||||
bns += Item[pObj->usGunAmmoItem].autofirebonus ;
|
||||
// Snap: bipod is effective only in the prone stance
|
||||
|
||||
for (bLoop = 0; bLoop < MAX_ATTACHMENTS; bLoop++)
|
||||
if ( ! Item[pObj->usItem].bipod || fProneStance )
|
||||
bns = BonusReduceMore( Item[pObj->usItem].autofiretohitbonus, pObj->bStatus[0] );
|
||||
bns += Item[pObj->usGunAmmoItem].autofiretohitbonus ;
|
||||
|
||||
for (int i = 0; i < MAX_ATTACHMENTS; i++)
|
||||
{
|
||||
bns += BonusOnOff( Item[pObj->usAttachItem[bLoop]].autofirebonus, pObj->bAttachStatus[bLoop] );
|
||||
if ( ! Item[pObj->usAttachItem[i]].bipod || fProneStance )
|
||||
bns += BonusReduceMore( Item[pObj->usAttachItem[i]].autofiretohitbonus, pObj->bAttachStatus[i] );
|
||||
}
|
||||
|
||||
return( bns );
|
||||
}
|
||||
|
||||
@@ -6893,4 +7053,15 @@ void ApplyEquipmentBonuses(SOLDIERTYPE * pSoldier)
|
||||
if ( newCamo > oldCamo && pSoldier->bTeam == OUR_TEAM )
|
||||
DoMercBattleSound( pSoldier, BATTLE_SOUND_COOL1 );
|
||||
}
|
||||
}
|
||||
|
||||
UINT16 GetFirstExplosiveOfType(UINT16 expType)
|
||||
{
|
||||
for (int i=0;i<MAXITEMS;i++)
|
||||
{
|
||||
if ( (Item[i].usItemClass == IC_EXPLOSV || Item[i].usItemClass == IC_GRENADE) && Explosive[Item[i].ubClassIndex].ubType == expType )
|
||||
return i;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
+7
-1
@@ -208,7 +208,7 @@ INT16 GetPercentAutofireAPReduction( OBJECTTYPE * pObj );
|
||||
INT16 GetPercentBurstFireAPReduction( OBJECTTYPE * pObj );
|
||||
INT16 GetPercentReadyTimeAPReduction( OBJECTTYPE * pObj );
|
||||
INT16 GetPercentReloadTimeAPReduction( OBJECTTYPE * pObj );
|
||||
INT16 GetAutofireBonus( OBJECTTYPE * pObj );
|
||||
INT16 GetAutoToHitBonus( OBJECTTYPE * pObj, BOOLEAN fProneStance = FALSE );
|
||||
INT16 GetRateOfFireBonus( OBJECTTYPE * pObj );
|
||||
INT16 GetBurstSizeBonus( OBJECTTYPE * pObj );
|
||||
BOOLEAN HasFastBurst( OBJECTTYPE * pObj );
|
||||
@@ -279,5 +279,11 @@ INT16 GetCamoBonus( OBJECTTYPE * pObj );
|
||||
|
||||
void ApplyEquipmentBonuses(SOLDIERTYPE * pSoldier);
|
||||
|
||||
INT16 GetGearAimBonus( SOLDIERTYPE * pSoldier, INT32 iRange, UINT8 ubAimTime);
|
||||
INT16 GetGearToHitBonus( SOLDIERTYPE * pSoldier );
|
||||
INT16 GetGearAPBonus( SOLDIERTYPE * pSoldier );
|
||||
|
||||
UINT16 GetFirstExplosiveOfType(UINT16 expType);
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
+3
-2
@@ -1304,7 +1304,8 @@ INT32 LineOfSightTest( FLOAT dStartX, FLOAT dStartY, FLOAT dStartZ, FLOAT dEndX,
|
||||
} while( (iCurrTileX == iOldTileX) && (iCurrTileY == iOldTileY) && (iLoop < iDistance));
|
||||
|
||||
// leaving a tile, check to see if it had gas in it
|
||||
if ( pMapElement->ubExtFlags[0] & (MAPELEMENT_EXT_SMOKE | MAPELEMENT_EXT_TEARGAS | MAPELEMENT_EXT_MUSTARDGAS) )
|
||||
// if ( pMapElement->ubExtFlags[0] & (MAPELEMENT_EXT_SMOKE | MAPELEMENT_EXT_TEARGAS | MAPELEMENT_EXT_MUSTARDGAS) )
|
||||
if ( pMapElement->ubExtFlags[0] & (MAPELEMENT_EXT_SMOKE | MAPELEMENT_EXT_TEARGAS | MAPELEMENT_EXT_MUSTARDGAS | MAPELEMENT_EXT_BURNABLEGAS) )
|
||||
{
|
||||
if ( (pMapElement->ubExtFlags[0] & MAPELEMENT_EXT_SMOKE) && !fSmell )
|
||||
{
|
||||
@@ -4295,7 +4296,7 @@ void MoveBullet( INT32 iBullet )
|
||||
OBJECTTYPE Object;
|
||||
INT32 iKnifeGridNo;
|
||||
|
||||
CreateItem( THROWING_KNIFE, (INT8) pBullet->ubItemStatus, &Object );
|
||||
CreateItem( pBullet->fromItem, (INT8) pBullet->ubItemStatus, &Object );
|
||||
|
||||
// by default knife at same tile as window
|
||||
iKnifeGridNo = (INT16) iGridNo;
|
||||
|
||||
+33
-11
@@ -119,7 +119,7 @@ INT32 giPauseAllAITimer = 0;
|
||||
|
||||
BOOLEAN sniperwarning;
|
||||
BOOLEAN biggunwarning;
|
||||
BOOLEAN airstrikeavailable;
|
||||
//BOOLEAN airstrikeavailable;
|
||||
|
||||
TacticalStatusType gTacticalStatus;
|
||||
|
||||
@@ -2073,21 +2073,26 @@ BOOLEAN HandleGotoNewGridNo( SOLDIERTYPE *pSoldier, BOOLEAN *pfKeepMoving, BOOLE
|
||||
// bPosOfMask = NO_SLOT;
|
||||
//}
|
||||
|
||||
// TODO: Madd: This next section is pretty lame because it can't figure out which explosive was used to actually cause a gas effect
|
||||
// so for now, the first explosive to use a gas effect decides the health and breath damage for all of the gasses of that type
|
||||
// (this was hard coded before by the developers - i guess they figured they didn't need to look for the actual explosion item,
|
||||
// since they only had one of each gas item?!?)
|
||||
// anyway, it means that we can only have one set of health/breath damage values for each gas type, until someone has time
|
||||
// to dig into this further and actually make it find the original item that caused the gas
|
||||
if ( !AM_A_ROBOT( pSoldier ) )
|
||||
{
|
||||
if ( gpWorldLevelData[ pSoldier->sGridNo ].ubExtFlags[pSoldier->bLevel] & MAPELEMENT_EXT_TEARGAS )
|
||||
{
|
||||
if ( !(pSoldier->fHitByGasFlags & HIT_BY_TEARGAS) && bPosOfMask == NO_SLOT )
|
||||
{
|
||||
// check for gas mask
|
||||
pExplosive = &(Explosive[ Item[ TEARGAS_GRENADE ].ubClassIndex ]);
|
||||
pExplosive = &( Explosive[ Item[ GetFirstExplosiveOfType(EXPLOSV_TEARGAS) ].ubClassIndex ]);
|
||||
}
|
||||
}
|
||||
if ( gpWorldLevelData[ pSoldier->sGridNo ].ubExtFlags[pSoldier->bLevel] & MAPELEMENT_EXT_MUSTARDGAS )
|
||||
{
|
||||
if ( !(pSoldier->fHitByGasFlags & HIT_BY_MUSTARDGAS) && bPosOfMask == NO_SLOT )
|
||||
{
|
||||
pExplosive = &(Explosive[ Item[ MUSTARD_GRENADE ].ubClassIndex ]);
|
||||
pExplosive = &(Explosive[ Item[ GetFirstExplosiveOfType(EXPLOSV_MUSTGAS) ].ubClassIndex ]);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2095,7 +2100,14 @@ BOOLEAN HandleGotoNewGridNo( SOLDIERTYPE *pSoldier, BOOLEAN *pfKeepMoving, BOOLE
|
||||
{
|
||||
if ( !(pSoldier->fHitByGasFlags & HIT_BY_CREATUREGAS) ) // gas mask doesn't help vs creaturegas
|
||||
{
|
||||
pExplosive = &(Explosive[ Item[ SMALL_CREATURE_GAS ].ubClassIndex ]);
|
||||
pExplosive = &(Explosive[ Item[ GetFirstExplosiveOfType(EXPLOSV_CREATUREGAS) ].ubClassIndex ]);
|
||||
}
|
||||
}
|
||||
if ( gpWorldLevelData[ pSoldier->sGridNo ].ubExtFlags[pSoldier->bLevel] & MAPELEMENT_EXT_BURNABLEGAS )
|
||||
{
|
||||
if ( !(pSoldier->fHitByGasFlags & HIT_BY_BURNABLEGAS) )
|
||||
{
|
||||
pExplosive = &(Explosive[ Item[ GetFirstExplosiveOfType(EXPLOSV_BURNABLEGAS) ].ubClassIndex ]);
|
||||
}
|
||||
}
|
||||
if ( pExplosive )
|
||||
@@ -5576,14 +5588,14 @@ void SetEnemyPresence( )
|
||||
DebugMsg(TOPIC_JA2,DBG_LEVEL_3,String("SetEnemyPresence: warnings = false"));
|
||||
sniperwarning = FALSE;
|
||||
biggunwarning = FALSE;
|
||||
airstrikeavailable = TRUE;
|
||||
// airstrikeavailable = TRUE;
|
||||
}
|
||||
else
|
||||
{
|
||||
DebugMsg(TOPIC_JA2,DBG_LEVEL_3,String("SetEnemyPresence: warnings = true"));
|
||||
sniperwarning = TRUE;
|
||||
biggunwarning = TRUE;
|
||||
airstrikeavailable = FALSE;
|
||||
// airstrikeavailable = FALSE;
|
||||
}
|
||||
|
||||
// Say quote...
|
||||
@@ -7519,10 +7531,20 @@ SOLDIERTYPE *InternalReduceAttackBusyCount( UINT8 ubID, BOOLEAN fCalledByAttacke
|
||||
|
||||
if ( pSoldier && (pSoldier->bWeaponMode == WM_ATTACHED_GL || pSoldier->bWeaponMode == WM_ATTACHED_GL_BURST || pSoldier->bWeaponMode == WM_ATTACHED_GL_AUTO ))
|
||||
{
|
||||
// change back to single shot
|
||||
pSoldier->bWeaponMode = WM_NORMAL;
|
||||
pSoldier->bDoAutofire = 0;
|
||||
pSoldier->bDoBurst = 0;
|
||||
if ( !Weapon[pSoldier->inv[HANDPOS].usItem].NoSemiAuto )
|
||||
{
|
||||
// change back to single shot
|
||||
pSoldier->bWeaponMode = WM_NORMAL;
|
||||
pSoldier->bDoAutofire = 0;
|
||||
pSoldier->bDoBurst = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
// change back to autofire
|
||||
pSoldier->bWeaponMode = WM_AUTOFIRE;
|
||||
pSoldier->bDoAutofire = 1;
|
||||
pSoldier->bDoBurst = TRUE;
|
||||
}
|
||||
DirtyMercPanelInterface(pSoldier, DIRTYLEVEL2 );
|
||||
}
|
||||
|
||||
|
||||
+3
-3
@@ -362,10 +362,10 @@ void SetSoldierNeutral( SOLDIERTYPE * pSoldier );
|
||||
|
||||
extern BOOLEAN sniperwarning;
|
||||
extern BOOLEAN biggunwarning;
|
||||
extern BOOLEAN airstrikeavailable;
|
||||
//extern BOOLEAN airstrikeavailable;
|
||||
|
||||
void CheckForAndSetupAirRaid ();
|
||||
void EnemyCallInAirStrike (INT16 sSectorX, INT16 sSectorY);
|
||||
//void CheckForAndSetupAirRaid ();
|
||||
//void EnemyCallInAirStrike (INT16 sSectorX, INT16 sSectorY);
|
||||
|
||||
// will a sam site under the players control shoot down an airraid?
|
||||
BOOLEAN WillAirRaidBeStopped( INT16 sSectorX, INT16 sSectorY );
|
||||
|
||||
+5
-4
@@ -882,6 +882,7 @@ UINT8 CalcAPsToBurst( INT8 bBaseActionPoints, OBJECTTYPE * pObj )
|
||||
aps = (aps * 100) / (100 + GetAPReductionStatus(pObj) / (100/GetPercentAPReduction(pObj)));
|
||||
}*/
|
||||
|
||||
DebugMsg(TOPIC_JA2,DBG_LEVEL_3,String("CalcAPsToBurst: before bonus aps = %d, std bonus = %d, burst bonus = %d", aps,GetPercentAPReduction(pObj),GetPercentBurstFireAPReduction(pObj)));
|
||||
// Snap: do this a little differently: % reduction means
|
||||
// aps <- aps * ( 100 - red ) / 100
|
||||
aps = ( aps * ( 100 - GetPercentAPReduction(pObj) ) + 50 ) / 100;
|
||||
@@ -894,6 +895,7 @@ UINT8 CalcAPsToBurst( INT8 bBaseActionPoints, OBJECTTYPE * pObj )
|
||||
if ( aps < 0 ) aps = 0;
|
||||
else if ( aps > AP_MAXIMUM ) aps = AP_MAXIMUM;
|
||||
|
||||
DebugMsg(TOPIC_JA2,DBG_LEVEL_3,String("CalcAPsToBurst: return aps = %d", aps));
|
||||
return (UINT8) aps;
|
||||
}
|
||||
|
||||
@@ -930,18 +932,19 @@ UINT8 CalcAPsToAutofire( INT8 bBaseActionPoints, OBJECTTYPE * pObj, UINT8 bDoAut
|
||||
// DebugMsg(TOPIC_JA2,DBG_LEVEL_3,String("CalcAPsToAutofire: found reflex sight, aps = %d, # shots = %d",aps,pSoldier->bDoAutofire ));
|
||||
//}
|
||||
|
||||
DebugMsg(TOPIC_JA2,DBG_LEVEL_3,String("CalcAPsToAutoFire: before bonus aps = %d, std bonus = %d, auto bonus = %d", aps,GetPercentAPReduction(pObj),GetPercentAutofireAPReduction(pObj)));
|
||||
aps = ( aps * ( 100 - GetPercentAPReduction(pObj) ) + 50 ) / 100;
|
||||
|
||||
aps = __max( aps, ( autofireaps + 1 ) / 2 );
|
||||
|
||||
// Snap: extend the burst bonus to autofire as well?
|
||||
aps = ( aps * ( 100 - GetPercentBurstFireAPReduction(pObj) ) + 50 ) / 100;
|
||||
aps = ( aps * ( 100 - GetPercentAutofireAPReduction(pObj) ) + 50 ) / 100;
|
||||
|
||||
if ( aps < 0 ) aps = 0;
|
||||
else if ( aps > AP_MAXIMUM ) aps = AP_MAXIMUM;
|
||||
}
|
||||
|
||||
|
||||
DebugMsg(TOPIC_JA2,DBG_LEVEL_3,String("CalcAPsToAutoFire: return aps = %d", aps));
|
||||
return (UINT8) aps;
|
||||
}
|
||||
|
||||
@@ -1312,8 +1315,6 @@ UINT8 MinAPsToShootOrStab(SOLDIERTYPE *pSoldier, INT16 sGridNo, UINT8 ubAddTurni
|
||||
// bFullAPs are BASE APs, which do not include APs caried over from the previous turn.
|
||||
bFullAPs = CalcActionPoints( pSoldier );
|
||||
|
||||
//bFullAPs = pSoldier->bInitialActionPoints;//CalcActionPoints( pSoldier ); //lal
|
||||
|
||||
// aim skill is the same whether we are using 1 or 2 guns
|
||||
bAimSkill = CalcAimSkill( pSoldier, usItem );
|
||||
|
||||
|
||||
+17
-17
@@ -198,7 +198,7 @@ void ResetRain()
|
||||
|
||||
void GenerateRainDropsList()
|
||||
{
|
||||
guiCurrMaxAmountOfRainDrops = (UINT32)BASE_MAXIMUM_DROPS * gbCurrentRainIntensity;
|
||||
guiCurrMaxAmountOfRainDrops = (UINT32)(BASE_MAXIMUM_DROPS * gbCurrentRainIntensity);
|
||||
|
||||
pRainDrops = (TRainDrop *)MemAlloc( sizeof( TRainDrop ) * guiCurrMaxAmountOfRainDrops );
|
||||
memset( pRainDrops, 0, sizeof( TRainDrop ) * guiCurrMaxAmountOfRainDrops );
|
||||
@@ -235,8 +235,8 @@ void CreateRainDrops()
|
||||
BOOLEAN fLoopIsDone;
|
||||
UINT32 uiIndRand;
|
||||
|
||||
fpCos = cos( DEGREE(fpCurrDropAngleOfFalling) );
|
||||
fpSin = sin( DEGREE(fpCurrDropAngleOfFalling) );
|
||||
fpCos = (FLOAT)(cos( DEGREE(fpCurrDropAngleOfFalling) ));
|
||||
fpSin = (FLOAT)(sin( DEGREE(fpCurrDropAngleOfFalling) ));
|
||||
|
||||
if( fpCos )
|
||||
fpAbsTg = fabs( fpSin / fpCos ); // take only absolute valuse
|
||||
@@ -288,20 +288,20 @@ void CreateRainDrops()
|
||||
|
||||
if( uiIndex >= fpNumDropsToXBorder )
|
||||
{
|
||||
pCurr->fpX = gRainRegion.left + Random( gRainRegion.right - gRainRegion.left );
|
||||
pCurr->fpY = gRainRegion.bottom - 1;
|
||||
pCurr->fpX = (FLOAT)(gRainRegion.left + Random( gRainRegion.right - gRainRegion.left ));
|
||||
pCurr->fpY = (FLOAT)(gRainRegion.bottom - 1);
|
||||
}
|
||||
else if( fpCos > 0 )
|
||||
{
|
||||
pCurr->fpX = gRainRegion.right - 1;
|
||||
pCurr->fpY = gRainRegion.top + Random( gRainRegion.bottom - gRainRegion.top );
|
||||
pCurr->fpX = (FLOAT)(gRainRegion.right - 1);
|
||||
pCurr->fpY = (FLOAT)(gRainRegion.top + Random( gRainRegion.bottom - gRainRegion.top ));
|
||||
}else{
|
||||
pCurr->fpX = 0;
|
||||
pCurr->fpY = gRainRegion.top + Random( gRainRegion.bottom - gRainRegion.top );
|
||||
pCurr->fpY = (FLOAT)(gRainRegion.top + Random( gRainRegion.bottom - gRainRegion.top ));
|
||||
}
|
||||
}else{
|
||||
pCurr->fpX = gRainRegion.left + Random( gRainRegion.right - gRainRegion.left );
|
||||
pCurr->fpY = gRainRegion.top + Random( gRainRegion.bottom - gRainRegion.top );
|
||||
pCurr->fpX = (FLOAT)(gRainRegion.left + Random( gRainRegion.right - gRainRegion.left ));
|
||||
pCurr->fpY = (FLOAT)(gRainRegion.top + Random( gRainRegion.bottom - gRainRegion.top ));
|
||||
}
|
||||
|
||||
pCurr->uiAmountOfTicksToLive = 0;
|
||||
@@ -405,7 +405,7 @@ void RenderRainOnSurface()
|
||||
|
||||
if( !pCurr->fAlive )continue;
|
||||
|
||||
LineDraw( TRUE, pCurr->fpX, pCurr->fpY, pCurr->fpX + pCurr->fpEndRelX, pCurr->fpY + pCurr->fpEndRelY, sDropsColor, pDestBuf );
|
||||
LineDraw( TRUE, (int)pCurr->fpX, (int)pCurr->fpY, (int)pCurr->fpX + (int)pCurr->fpEndRelX, (int)(pCurr->fpY + pCurr->fpEndRelY), sDropsColor, pDestBuf );
|
||||
}
|
||||
|
||||
UnLockVideoSurface( guiRainRenderSurface );
|
||||
@@ -427,35 +427,35 @@ void GenerateRainMaximums()
|
||||
fpMaxDropAngleOfFalling = 160;
|
||||
}
|
||||
|
||||
fpCurrDropAngleOfFalling = fpMinDropAngleOfFalling + Random( fpMaxDropAngleOfFalling - fpMinDropAngleOfFalling );
|
||||
fpCurrDropAngleOfFalling = fpMinDropAngleOfFalling + Random( (UINT32)(fpMaxDropAngleOfFalling - fpMinDropAngleOfFalling) );
|
||||
|
||||
fpMinDropLength = MIN_DROP_LENGTH + ADD_DROP_LENGTH_IF_STORM * ( gbCurrentRainIntensity - 1 );
|
||||
fpMaxDropLength = fpMinDropLength + DROP_LENGTH_RANGE;
|
||||
|
||||
fpCurrDropLength = fpMinDropLength + Random( fpMaxDropLength - fpMinDropLength );
|
||||
fpCurrDropLength = fpMinDropLength + Random( (UINT32)(fpMaxDropLength - fpMinDropLength) );
|
||||
|
||||
fpMinDropSpeed = BASE_DROP_SPEED * gbCurrentRainIntensity;
|
||||
fpMaxDropSpeed = fpMinDropSpeed + DROP_SPEED_RANGE;
|
||||
|
||||
fpCurrDropSpeed = fpMinDropSpeed + Random( fpMaxDropSpeed - fpMinDropSpeed );
|
||||
fpCurrDropSpeed = fpMinDropSpeed + Random( (UINT32)(fpMaxDropSpeed - fpMinDropSpeed) );
|
||||
|
||||
}
|
||||
|
||||
void UpdateRainDropsProperities()
|
||||
{
|
||||
fpCurrDropAngleOfFalling += Random( 1000 * DROP_ANGLE_CHANGE_RATE * gbCurrentRainIntensity * 2 ) / 1000.0f - DROP_ANGLE_CHANGE_RATE * gbCurrentRainIntensity;
|
||||
fpCurrDropAngleOfFalling += Random( (UINT32)(1000 * DROP_ANGLE_CHANGE_RATE * gbCurrentRainIntensity * 2 )) / 1000.0f - DROP_ANGLE_CHANGE_RATE * gbCurrentRainIntensity;
|
||||
|
||||
fpCurrDropAngleOfFalling = max( fpMinDropAngleOfFalling, fpCurrDropAngleOfFalling );
|
||||
fpCurrDropAngleOfFalling = min( fpMaxDropAngleOfFalling, fpCurrDropAngleOfFalling );
|
||||
|
||||
|
||||
fpCurrDropLength += Random( 1000 * DROP_LENGTH_CHANGE_RATE * 2 ) / 1000.0f - DROP_LENGTH_CHANGE_RATE;
|
||||
fpCurrDropLength += Random( (UINT32)(1000 * DROP_LENGTH_CHANGE_RATE * 2 )) / 1000.0f - DROP_LENGTH_CHANGE_RATE;
|
||||
|
||||
fpCurrDropLength = max( fpMinDropLength, fpCurrDropLength );
|
||||
fpCurrDropLength = min( fpMaxDropLength, fpCurrDropLength );
|
||||
|
||||
|
||||
fpCurrDropSpeed += Random( 1000 * DROP_SPEED_CHANGE_RATE * 2 ) / 1000.0f - DROP_SPEED_CHANGE_RATE;
|
||||
fpCurrDropSpeed += Random( (UINT32)(1000 * DROP_SPEED_CHANGE_RATE * 2 )) / 1000.0f - DROP_SPEED_CHANGE_RATE;
|
||||
|
||||
fpCurrDropSpeed = max( fpMinDropSpeed, fpCurrDropSpeed );
|
||||
fpCurrDropSpeed = min( fpMaxDropSpeed, fpCurrDropSpeed );
|
||||
|
||||
@@ -85,6 +85,14 @@
|
||||
#include "overhead map.h"
|
||||
#endif
|
||||
|
||||
//turnspeed
|
||||
UINT8 gubPlayerTurnSpeedUpFactor = 1;
|
||||
UINT8 gubEnemyTurnSpeedUpFactor = 1;
|
||||
UINT8 gubCreatureTurnSpeedUpFactor = 1;
|
||||
UINT8 gubMilitiaTurnSpeedUpFactor = 1;
|
||||
UINT8 gubCivTurnSpeedUpFactor = 1;
|
||||
//turnspeed
|
||||
|
||||
extern INT16 DirIncrementer[8];
|
||||
|
||||
#define PALETTEFILENAME "BINARYDATA\\ja2pal.dat"
|
||||
@@ -495,6 +503,8 @@ INT8 CalcActionPoints(SOLDIERTYPE *pSold)
|
||||
//if (GameOption[INCREASEDAP] % 2 == 1)
|
||||
//points += AP_INCREASE;
|
||||
|
||||
//Madd: Add in AP Bonuses (Penalties) from worn gear
|
||||
ubPoints += GetGearAPBonus ( pSold );
|
||||
|
||||
// Calculate bandage
|
||||
bBandage = pSold->bLifeMax - pSold->bLife - pSold->bBleeding;
|
||||
@@ -5715,6 +5725,19 @@ void CalculateSoldierAniSpeed( SOLDIERTYPE *pSoldier, SOLDIERTYPE *pStatsSoldier
|
||||
// here. Some animation, such as water-movement, have an ADDITIONAL speed
|
||||
switch( pSoldier->usAnimState )
|
||||
{
|
||||
// Lesh: bursting animation delay control begins
|
||||
// Add your animation ID to control it
|
||||
case STANDING_BURST:
|
||||
case FIRE_STAND_BURST_SPREAD:
|
||||
case FIRE_BURST_LOW_STAND:
|
||||
case TANK_BURST:
|
||||
case CROUCHED_BURST:
|
||||
case PRONE_BURST:
|
||||
pSoldier->sAniDelay = Weapon[Item[pSoldier->inv[HANDPOS].usItem].ubClassIndex].sAniDelay;
|
||||
AdjustAniSpeed( pSoldier );
|
||||
return;
|
||||
// Lesh: end
|
||||
|
||||
case PRONE:
|
||||
case STANDING:
|
||||
|
||||
@@ -5849,6 +5872,25 @@ void CalculateSoldierAniSpeed( SOLDIERTYPE *pSoldier, SOLDIERTYPE *pStatsSoldier
|
||||
|
||||
}
|
||||
|
||||
UINT8 GetSpeedUpFactor( )
|
||||
{
|
||||
switch( gTacticalStatus.ubCurrentTeam )
|
||||
{
|
||||
case OUR_TEAM:
|
||||
return gubPlayerTurnSpeedUpFactor;
|
||||
case ENEMY_TEAM:
|
||||
return gubEnemyTurnSpeedUpFactor;
|
||||
case CREATURE_TEAM:
|
||||
return gubCreatureTurnSpeedUpFactor;
|
||||
case MILITIA_TEAM:
|
||||
return gubMilitiaTurnSpeedUpFactor;
|
||||
case CIV_TEAM:
|
||||
return gubCivTurnSpeedUpFactor;
|
||||
}
|
||||
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
void SetSoldierAniSpeed( SOLDIERTYPE *pSoldier )
|
||||
{
|
||||
@@ -5895,6 +5937,11 @@ void SetSoldierAniSpeed( SOLDIERTYPE *pSoldier )
|
||||
//pSoldier->sAniDelay = 1000;
|
||||
}
|
||||
|
||||
if ( gTacticalStatus.uiFlags & TURNBASED && gTacticalStatus.uiFlags & INCOMBAT )
|
||||
if( GetSpeedUpFactor() )
|
||||
pSoldier->sAniDelay /= GetSpeedUpFactor();
|
||||
else
|
||||
pSoldier->sAniDelay = 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -9304,12 +9351,18 @@ void ReLoadSoldierAnimationDueToHandItemChange( SOLDIERTYPE *pSoldier, UINT16 us
|
||||
|
||||
// Shutoff burst....
|
||||
// ( we could be on, then change gun that does not have burst )
|
||||
if ( Weapon[ usNewItem ].ubShotsPerBurst == 0 )
|
||||
if ( Weapon[ usNewItem ].ubShotsPerBurst == 0 && !Weapon[usNewItem].NoSemiAuto )
|
||||
{
|
||||
pSoldier->bDoBurst = FALSE;
|
||||
pSoldier->bWeaponMode = WM_NORMAL;
|
||||
pSoldier->bDoAutofire = 0;
|
||||
}
|
||||
else if ( Weapon[usNewItem].NoSemiAuto )
|
||||
{
|
||||
pSoldier->bDoBurst = TRUE;
|
||||
pSoldier->bWeaponMode = WM_AUTOFIRE;
|
||||
pSoldier->bDoAutofire = 1;
|
||||
}
|
||||
|
||||
if ( gAnimControl[ pSoldier->usAnimState ].uiFlags & ANIM_FIREREADY )
|
||||
{
|
||||
|
||||
@@ -331,6 +331,7 @@ enum
|
||||
HIT_BY_TEARGAS = 0x01,
|
||||
HIT_BY_MUSTARDGAS = 0x02,
|
||||
HIT_BY_CREATUREGAS = 0x04,
|
||||
HIT_BY_BURNABLEGAS = 0x08,
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -216,8 +216,8 @@ BOOLEAN LoadMercProfiles(void)
|
||||
char *pFileName3 = "BINARYDATA\\Prof3.dat";
|
||||
char *pFileName4 = "BINARYDATA\\Prof4.dat";
|
||||
|
||||
UINT32 uiLoop, uiLoop2, uiLoop3;
|
||||
UINT16 usItem, usNewGun, usAmmo, usNewAmmo;
|
||||
UINT32 uiLoop, uiLoop2;//, uiLoop3;
|
||||
UINT16 usItem;//, usNewGun, usAmmo, usNewAmmo;
|
||||
UINT32 uiNumBytesRead;
|
||||
|
||||
switch ( gGameOptions.ubDifficultyLevel)
|
||||
@@ -275,7 +275,7 @@ BOOLEAN LoadMercProfiles(void)
|
||||
// Setup face index value
|
||||
// Default is the ubCharNum
|
||||
gMercProfiles[uiLoop].ubFaceIndex = (UINT8)uiLoop;
|
||||
|
||||
/*
|
||||
if ( !gGameOptions.fGunNut )
|
||||
{
|
||||
|
||||
@@ -311,7 +311,7 @@ BOOLEAN LoadMercProfiles(void)
|
||||
}
|
||||
|
||||
} // end of if not gun nut
|
||||
|
||||
*/
|
||||
//ATE: Calculate some inital attractiveness values for buddy's inital equipment...
|
||||
// Look for gun and armour
|
||||
gMercProfiles[uiLoop].bMainGunAttractiveness = -1;
|
||||
|
||||
+65
-1265
File diff suppressed because it is too large
Load Diff
@@ -163,6 +163,7 @@ void StartPlayerTeamTurn( BOOLEAN fDoBattleSnd, BOOLEAN fEnteringCombatMode )
|
||||
// Check if this guy is able to be selected....
|
||||
if ( MercPtrs[ gusSelectedSoldier ]->bLife < OKLIFE )
|
||||
{
|
||||
DebugMsg(TOPIC_JA2,DBG_LEVEL_3,String("StartPlayerTeamTurn: SelectNextAvailSoldier"));
|
||||
SelectNextAvailSoldier( MercPtrs[ gusSelectedSoldier ] );
|
||||
}
|
||||
|
||||
@@ -924,6 +925,7 @@ void EndInterrupt( BOOLEAN fMarkInterruptOccurred )
|
||||
// Select soldier....
|
||||
if ( MercPtrs[ ubInterruptedSoldier ]->bLife < OKLIFE )
|
||||
{
|
||||
DebugMsg(TOPIC_JA2,DBG_LEVEL_3,String("EndInterrupt: SelectNextAvailSoldier"));
|
||||
SelectNextAvailSoldier( MercPtrs[ ubInterruptedSoldier ] );
|
||||
}
|
||||
else
|
||||
|
||||
+123
-42
@@ -45,7 +45,7 @@
|
||||
#endif
|
||||
|
||||
//rain
|
||||
#define WEAPON_RELIABILITY_REDUCTION_PER_RAIN_INTENSITY 9
|
||||
#define WEAPON_RELIABILITY_REDUCTION_PER_RAIN_INTENSITY 0
|
||||
extern INT8 gbCurrentRainIntensity;
|
||||
//end rain
|
||||
|
||||
@@ -283,7 +283,7 @@ EXPLOSIVETYPE Explosive[MAXITEMS+1];// =
|
||||
//};
|
||||
|
||||
|
||||
INT8 gzBurstSndStrings[MAXITEMS][30];// =
|
||||
INT8 gzBurstSndStrings[MAXITEMS*2][128];// =
|
||||
//{
|
||||
// "", // NOAMMO
|
||||
// "", // 38
|
||||
@@ -383,14 +383,18 @@ weaponStartElementHandle(void *userData, const char *name, const char **atts)
|
||||
strcmp(name, "ubHitVolume") == 0 ||
|
||||
strcmp(name, "sSound") == 0 ||
|
||||
strcmp(name, "sBurstSound") == 0 ||
|
||||
strcmp(name, "sSilencedBurstSound") == 0 ||
|
||||
strcmp(name, "sReloadSound") == 0 ||
|
||||
strcmp(name, "sLocknLoadSound") == 0 ||
|
||||
strcmp(name, "bBurstAP") == 0 ||
|
||||
strcmp(name, "bAutofireShotsPerFiveAP") == 0 ||
|
||||
strcmp(name, "APsToReload") == 0 ||
|
||||
strcmp(name, "SwapClips") == 0 ||
|
||||
strcmp(name, "AutoPenalty") == 0 ||
|
||||
strcmp(name, "NoSemiAuto") == 0 ||
|
||||
strcmp(name, "MaxDistForMessyDeath") == 0 ||
|
||||
strcmp(name, "SilencedSound") == 0))
|
||||
strcmp(name, "SilencedSound") == 0 || // Lesh: add new field (OR operand)
|
||||
strcmp(name, "BurstAniDelay") == 0)) // Lesh: add new field (field itself)
|
||||
|
||||
{
|
||||
pData->curElement = WEAPON_ELEMENT_WEAPON_PROPERY;
|
||||
@@ -545,6 +549,11 @@ weaponEndElementHandle(void *userData, const char *name)
|
||||
pData->curElement = WEAPON_ELEMENT_WEAPON;
|
||||
pData->curWeapon.sBurstSound = (UINT16) atol(pData->szCharData);
|
||||
}
|
||||
else if(strcmp(name, "sSilencedBurstSound") == 0)
|
||||
{
|
||||
pData->curElement = WEAPON_ELEMENT_WEAPON;
|
||||
pData->curWeapon.sSilencedBurstSound = (UINT16) atol(pData->szCharData);
|
||||
}
|
||||
else if(strcmp(name, "sReloadSound") == 0)
|
||||
{
|
||||
pData->curElement = WEAPON_ELEMENT_WEAPON;
|
||||
@@ -573,18 +582,36 @@ weaponEndElementHandle(void *userData, const char *name)
|
||||
else if(strcmp(name, "SilencedSound") == 0)
|
||||
{
|
||||
pData->curElement = WEAPON_ELEMENT_WEAPON;
|
||||
pData->curWeapon.silencedSound = (UINT8) atol(pData->szCharData);
|
||||
pData->curWeapon.silencedSound = (UINT16) atol(pData->szCharData);
|
||||
}
|
||||
else if(strcmp(name, "SwapClips") == 0)
|
||||
{
|
||||
pData->curElement = WEAPON_ELEMENT_WEAPON;
|
||||
pData->curWeapon.swapClips = (UINT8) atol(pData->szCharData);
|
||||
pData->curWeapon.swapClips = (BOOLEAN) atol(pData->szCharData);
|
||||
}
|
||||
else if(strcmp(name, "MaxDistForMessyDeath") == 0)
|
||||
{
|
||||
pData->curElement = WEAPON_ELEMENT_WEAPON;
|
||||
pData->curWeapon.maxdistformessydeath = (UINT8) atol(pData->szCharData);
|
||||
}
|
||||
else if(strcmp(name, "AutoPenalty") == 0)
|
||||
{
|
||||
pData->curElement = WEAPON_ELEMENT_WEAPON;
|
||||
pData->curWeapon.AutoPenalty = (UINT8) atol(pData->szCharData);
|
||||
}
|
||||
else if(strcmp(name, "NoSemiAuto") == 0)
|
||||
{
|
||||
pData->curElement = WEAPON_ELEMENT_WEAPON;
|
||||
pData->curWeapon.NoSemiAuto = (BOOLEAN) atol(pData->szCharData);
|
||||
}
|
||||
// Lesh: xmlreader must handle new field
|
||||
else if(strcmp(name, "BurstAniDelay") == 0)
|
||||
{
|
||||
pData->curElement = WEAPON_ELEMENT_WEAPON;
|
||||
pData->curWeapon.sAniDelay = (INT16) atol(pData->szCharData);
|
||||
}
|
||||
// Lesh: end
|
||||
|
||||
pData->maxReadDepth--;
|
||||
}
|
||||
|
||||
@@ -731,6 +758,7 @@ BOOLEAN ReadInWeaponStats(STR fileName)
|
||||
FilePrintf(hFile,"\t\t<ubHitVolume>%d</ubHitVolume>\r\n", Weapon[cnt].ubHitVolume);
|
||||
FilePrintf(hFile,"\t\t<sSound>%d</sSound>\r\n", Weapon[cnt].sSound);
|
||||
FilePrintf(hFile,"\t\t<sBurstSound>%d</sBurstSound>\r\n", Weapon[cnt].sBurstSound);
|
||||
FilePrintf(hFile,"\t\t<sSilencedBurstSound>%d</sSilencedBurstSound>\r\n", Weapon[cnt].sSilencedBurstSound);
|
||||
FilePrintf(hFile,"\t\t<sReloadSound>%d</sReloadSound>\r\n", Weapon[cnt].sReloadSound);
|
||||
FilePrintf(hFile,"\t\t<sLocknLoadSound>%d</sLocknLoadSound>\r\n", Weapon[cnt].sLocknLoadSound);
|
||||
FilePrintf(hFile,"\t\t<bBurstAP>%d</bBurstAP>\r\n", Weapon[cnt].bBurstAP);
|
||||
@@ -827,10 +855,12 @@ BOOLEAN WriteWeaponStats()
|
||||
FilePrintf(hFile,"\t\t<ubMagSize>%d</ubMagSize>\r\n", Weapon[cnt].ubMagSize);
|
||||
FilePrintf(hFile,"\t\t<usRange>%d</usRange>\r\n", Weapon[cnt].usRange);
|
||||
FilePrintf(hFile,"\t\t<usReloadDelay>%d</usReloadDelay>\r\n", Weapon[cnt].usReloadDelay);
|
||||
FilePrintf(hFile,"\t\t<BurstAniDelay>%d</BurstAniDelay>\r\n", Weapon[cnt].sAniDelay);
|
||||
FilePrintf(hFile,"\t\t<ubAttackVolume>%d</ubAttackVolume>\r\n", Weapon[cnt].ubAttackVolume);
|
||||
FilePrintf(hFile,"\t\t<ubHitVolume>%d</ubHitVolume>\r\n", Weapon[cnt].ubHitVolume);
|
||||
FilePrintf(hFile,"\t\t<sSound>%d</sSound>\r\n", Weapon[cnt].sSound);
|
||||
FilePrintf(hFile,"\t\t<sBurstSound>%d</sBurstSound>\r\n", Weapon[cnt].sBurstSound);
|
||||
FilePrintf(hFile,"\t\t<sSilencedBurstSound>%d</sSilencedBurstSound>\r\n", Weapon[cnt].sSilencedBurstSound);
|
||||
FilePrintf(hFile,"\t\t<sReloadSound>%d</sReloadSound>\r\n", Weapon[cnt].sReloadSound);
|
||||
FilePrintf(hFile,"\t\t<sLocknLoadSound>%d</sLocknLoadSound>\r\n", Weapon[cnt].sLocknLoadSound);
|
||||
FilePrintf(hFile,"\t\t<SilencedSound>%d</SilencedSound>\r\n", Weapon[cnt].silencedSound );
|
||||
@@ -839,6 +869,8 @@ BOOLEAN WriteWeaponStats()
|
||||
FilePrintf(hFile,"\t\t<APsToReload>%d</APsToReload>\r\n", Weapon[cnt].APsToReload);
|
||||
FilePrintf(hFile,"\t\t<SwapClips>%d</SwapClips>\r\n", Weapon[cnt].swapClips );
|
||||
FilePrintf(hFile,"\t\t<MaxDistForMessyDeath>%d</MaxDistForMessyDeath>\r\n", Weapon[cnt].maxdistformessydeath);
|
||||
FilePrintf(hFile,"\t\t<AutoPenalty>%d</AutoPenalty>\r\n", Weapon[cnt].AutoPenalty);
|
||||
FilePrintf(hFile,"\t\t<NoSemiAuto>%d</NoSemiAuto>\r\n", Weapon[cnt].NoSemiAuto);
|
||||
|
||||
|
||||
|
||||
@@ -924,7 +956,7 @@ INT32 EffectiveArmour( OBJECTTYPE * pObj )
|
||||
|
||||
iValue += iValue2;
|
||||
}
|
||||
return( iValue );
|
||||
return( max(iValue,1) );
|
||||
}
|
||||
|
||||
INT32 ArmourPercent( SOLDIERTYPE * pSoldier )
|
||||
@@ -993,7 +1025,7 @@ INT32 ExplosiveEffectiveArmour( OBJECTTYPE * pObj )
|
||||
|
||||
iValue += iValue2;
|
||||
}
|
||||
return( iValue );
|
||||
return( max(iValue,1) );
|
||||
}
|
||||
|
||||
INT8 ArmourVersusExplosivesPercent( SOLDIERTYPE * pSoldier )
|
||||
@@ -1064,7 +1096,6 @@ void AdjustImpactByHitLocation( INT32 iImpact, UINT8 ubHitLocation, INT32 * piNe
|
||||
//rain
|
||||
extern INT8 gbCurrentRainIntensity;
|
||||
//end rain
|
||||
|
||||
BOOLEAN CheckForGunJam( SOLDIERTYPE * pSoldier )
|
||||
{
|
||||
OBJECTTYPE * pObj;
|
||||
@@ -1096,7 +1127,7 @@ BOOLEAN CheckForGunJam( SOLDIERTYPE * pSoldier )
|
||||
//iChance = iChance * (10 - Item[pObj->usItem].bReliability * 2) / 10;
|
||||
|
||||
//rain
|
||||
iChance = iChance * (10 - Item[pObj->usItem].bReliability * 2) / 10;
|
||||
// iChance = iChance * (10 - Item[pObj->usItem].bReliability * 2) / 10; // Madd: took it back out
|
||||
//end rain
|
||||
|
||||
if (pSoldier->bDoBurst > 1)
|
||||
@@ -1130,7 +1161,7 @@ BOOLEAN CheckForGunJam( SOLDIERTYPE * pSoldier )
|
||||
else if (pObj->bGunAmmoStatus < 0)
|
||||
{
|
||||
// try to unjam gun
|
||||
iResult = SkillCheck( pSoldier, UNJAM_GUN_CHECK, (INT8) (Item[pObj->usItem].bReliability * 4) );
|
||||
iResult = SkillCheck( pSoldier, UNJAM_GUN_CHECK, (INT8) ((Item[pObj->usItem].bReliability + Item[pObj->usGunAmmoItem].bReliability)* 4) );
|
||||
if (iResult > 0)
|
||||
{
|
||||
// yay! unjammed the gun
|
||||
@@ -1457,7 +1488,7 @@ BOOLEAN UseGun( SOLDIERTYPE *pSoldier , INT16 sTargetGridNo )
|
||||
if( noisefactor < MAX_PERCENT_NOISE_VOLUME_FOR_SILENCED_SOUND || Weapon[ usItemNum ].ubAttackVolume <= 10 )
|
||||
{
|
||||
// Pick sound file baed on how many bullets we are going to fire...
|
||||
sprintf( (char *)zBurstString, "SOUNDS\\WEAPONS\\SILENCER BURST %d.wav", pSoldier->bBulletsLeft );
|
||||
sprintf( (char *)zBurstString, (const char*)gzBurstSndStrings[ Weapon[ usItemNum ].sSilencedBurstSound ], pSoldier->bBulletsLeft );
|
||||
|
||||
// Try playing sound...
|
||||
pSoldier->iBurstSoundID = PlayJA2SampleFromFile( (STR8) zBurstString, RATE_11025, SoundVolume( HIGHVOLUME, pSoldier->sGridNo ), 1, SoundDir( pSoldier->sGridNo ) );
|
||||
@@ -1465,7 +1496,8 @@ BOOLEAN UseGun( SOLDIERTYPE *pSoldier , INT16 sTargetGridNo )
|
||||
else
|
||||
{
|
||||
// Pick sound file baed on how many bullets we are going to fire...
|
||||
sprintf( (char *)zBurstString, "SOUNDS\\WEAPONS\\%s%d.wav", gzBurstSndStrings[ Weapon[ usItemNum ].ubCalibre ], pSoldier->bBulletsLeft );
|
||||
// Lesh: changed next line
|
||||
sprintf( (char *)zBurstString, (const char*)gzBurstSndStrings[ Weapon[ usItemNum ].sBurstSound ], pSoldier->bBulletsLeft );
|
||||
|
||||
INT8 volume = HIGHVOLUME;
|
||||
if ( noisefactor < 100 ) volume = (volume * noisefactor) / 100;
|
||||
@@ -1860,7 +1892,11 @@ BOOLEAN UseGun( SOLDIERTYPE *pSoldier , INT16 sTargetGridNo )
|
||||
}
|
||||
|
||||
// CJC: since jamming is no longer affected by reliability, increase chance of status going down for really unreliabile guns
|
||||
uiDepreciateTest = BASIC_DEPRECIATE_CHANCE + 3 * Item[ usItemNum ].bReliability;
|
||||
INT16 ammoReliability = 0; // Madd: ammo reliability affects gun
|
||||
if ( Item[usItemNum].usItemClass == IC_GUN )
|
||||
ammoReliability = Item[pSoldier->inv[pSoldier->ubAttackingHand].usItem].bReliability;
|
||||
|
||||
uiDepreciateTest = BASIC_DEPRECIATE_CHANCE + 3 * (Item[ usItemNum ].bReliability + ammoReliability);
|
||||
|
||||
if ( !PreRandom( uiDepreciateTest ) && ( pSoldier->inv[ pSoldier->ubAttackingHand ].bStatus[0] > 1) )
|
||||
{
|
||||
@@ -2929,7 +2965,7 @@ void StructureHit( INT32 iBullet, UINT16 usWeaponIndex, INT8 bWeaponStatus, UINT
|
||||
if ( usStructureID == INVALID_STRUCTURE_ID )
|
||||
{
|
||||
// Add item
|
||||
CreateItem( THROWING_KNIFE, bWeaponStatus, &Object );
|
||||
CreateItem( usWeaponIndex, bWeaponStatus, &Object );
|
||||
|
||||
AddItemToPool( sGridNo, &Object, -1 , 0, 0, -1 );
|
||||
|
||||
@@ -3209,7 +3245,7 @@ BOOLEAN InRange( SOLDIERTYPE *pSoldier, INT16 sGridNo )
|
||||
if ( Item[ usInHand ].usItemClass == IC_THROWING_KNIFE )
|
||||
{
|
||||
// NB CalcMaxTossRange returns range in tiles, not in world units
|
||||
if ( sRange <= CalcMaxTossRange( pSoldier, THROWING_KNIFE, TRUE ) * CELL_X_SIZE )
|
||||
if ( sRange <= CalcMaxTossRange( pSoldier, usInHand, TRUE ) * CELL_X_SIZE )
|
||||
{
|
||||
return( TRUE );
|
||||
}
|
||||
@@ -3230,9 +3266,9 @@ UINT32 CalcChanceToHitGun(SOLDIERTYPE *pSoldier, UINT16 sGridNo, UINT8 ubAimTime
|
||||
{
|
||||
//SOLDIERTYPE *vicpSoldier;
|
||||
SOLDIERTYPE * pTarget;
|
||||
INT32 iChance, iRange, iSightRange, iMaxRange, iBonus; //, minRange;
|
||||
//rain
|
||||
//INT32 iChance, iRange, iSightRange, iMaxRange, iBonus; //, minRange;
|
||||
INT32 iChance, iRange, iSightRange, iMaxRange, iScopeBonus, iBonus; //, minRange;
|
||||
//INT32 iScopeBonus;
|
||||
//end rain
|
||||
|
||||
INT32 iGunCondition, iMarksmanship;
|
||||
@@ -3347,36 +3383,43 @@ UINT32 CalcChanceToHitGun(SOLDIERTYPE *pSoldier, UINT16 sGridNo, UINT8 ubAimTime
|
||||
}
|
||||
}
|
||||
|
||||
//Madd: inherent weapon accuracy bonus
|
||||
iChance += Weapon[usInHand].bAccuracy;
|
||||
|
||||
// if ( !(Item[ usInHand ].fFlags & ITEM_TWO_HANDED) )
|
||||
if ( !(Item[ usInHand ].twohanded ) )
|
||||
{
|
||||
// SMGs are treated as pistols for these purpose except there is a -5 penalty;
|
||||
if (Weapon[usInHand].ubWeaponClass == SMGCLASS)
|
||||
{
|
||||
iChance -= AIM_PENALTY_SMG;
|
||||
}
|
||||
|
||||
/*
|
||||
if (pSoldier->inv[SECONDHANDPOS].usItem == NOTHING)
|
||||
{
|
||||
// firing with pistol in right hand, and second hand empty.
|
||||
iChance += AIM_BONUS_TWO_HANDED_PISTOL;
|
||||
// firing with gun in right hand, and second hand empty (ie: no grenade, med kit or anything there)
|
||||
// Madd: easier to fire pistol/smg w/one hand free, essentially this will make pistols a little bit more accurate, and hopefully still useful later in the game
|
||||
if (Weapon[usInHand].ubWeaponClass == HANDGUNCLASS)
|
||||
iChance += AIM_BONUS_TWO_HANDED_PISTOL;
|
||||
}
|
||||
else */
|
||||
if ( !HAS_SKILL_TRAIT( pSoldier, AMBIDEXT ) )
|
||||
else
|
||||
{
|
||||
if ( IsValidSecondHandShot( pSoldier ) )
|
||||
// Madd: harder to fire smgs w/something in other hand
|
||||
// SMGs are treated as pistols for these purpose except there is a -5 penalty;
|
||||
if (Weapon[usInHand].ubWeaponClass == SMGCLASS)
|
||||
{
|
||||
// penalty to aim when firing two pistols
|
||||
iChance -= AIM_PENALTY_DUAL_PISTOLS;
|
||||
iChance -= AIM_PENALTY_SMG;
|
||||
}
|
||||
/*
|
||||
else
|
||||
|
||||
if ( !HAS_SKILL_TRAIT( pSoldier, AMBIDEXT ) )
|
||||
{
|
||||
// penalty to aim with pistol being fired one-handed
|
||||
iChance -= AIM_PENALTY_ONE_HANDED_PISTOL;
|
||||
if ( IsValidSecondHandShot( pSoldier ) )
|
||||
{
|
||||
// penalty to aim when firing two pistols
|
||||
iChance -= AIM_PENALTY_DUAL_PISTOLS;
|
||||
}
|
||||
/*
|
||||
else
|
||||
{
|
||||
// penalty to aim with pistol being fired one-handed
|
||||
iChance -= AIM_PENALTY_ONE_HANDED_PISTOL;
|
||||
}
|
||||
*/
|
||||
}
|
||||
*/
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3394,6 +3437,19 @@ UINT32 CalcChanceToHitGun(SOLDIERTYPE *pSoldier, UINT16 sGridNo, UINT8 ubAimTime
|
||||
}
|
||||
iChance -= iPenalty;
|
||||
}
|
||||
else if ( pSoldier->bDoAutofire > 0 )
|
||||
{
|
||||
// Snap: bipod may reduce auto penalty
|
||||
iPenalty = GetAutoPenalty(pInHand, gAnimControl[ pSoldier->usAnimState ].ubEndHeight == ANIM_PRONE)
|
||||
* (pSoldier->bDoBurst - 1);
|
||||
|
||||
// halve the penalty for people with the autofire trait
|
||||
if ( HAS_SKILL_TRAIT( pSoldier, AUTO_WEAPS ) )
|
||||
{
|
||||
iPenalty /= 2 * NUM_SKILL_TRAITS( pSoldier, AUTO_WEAPS );
|
||||
}
|
||||
iChance -= iPenalty;
|
||||
}
|
||||
|
||||
sDistVis = DistanceVisible( pSoldier, DIRECTION_IRRELEVANT, DIRECTION_IRRELEVANT, sGridNo, 0, pSoldier );
|
||||
|
||||
@@ -3497,7 +3553,7 @@ UINT32 CalcChanceToHitGun(SOLDIERTYPE *pSoldier, UINT16 sGridNo, UINT8 ubAimTime
|
||||
|
||||
//rain
|
||||
// reduce scope effectiveness when it's raining
|
||||
iScopeBonus /= 1 + gbCurrentRainIntensity;
|
||||
// iScopeBonus /= 1 + gbCurrentRainIntensity; //madd: commented out -- didn't do anything but cause a warning :S
|
||||
//end rain
|
||||
|
||||
// // reduce effective range by the bonus obtained from the scope
|
||||
@@ -3537,18 +3593,26 @@ UINT32 CalcChanceToHitGun(SOLDIERTYPE *pSoldier, UINT16 sGridNo, UINT8 ubAimTime
|
||||
|
||||
//}
|
||||
|
||||
//Madd: Some gear can affect the to-hit bonus and the bonus from aiming
|
||||
DebugMsg(TOPIC_JA2,DBG_LEVEL_3,String("CalcChanceToHitGun: before bonus - ubAimTime = %d, iSightRange = %d, iChance = %d ", ubAimTime, iSightRange, iChance));
|
||||
iSightRange -= GetGearAimBonus ( pSoldier, iRange, ubAimTime );
|
||||
iChance += GetGearToHitBonus ( pSoldier );
|
||||
DebugMsg(TOPIC_JA2,DBG_LEVEL_3,String("CalcChanceToHitGun: after gear bonus - ubAimTime = %d, iSightRange = %d, iChance = %d ", ubAimTime, iSightRange, iChance));
|
||||
|
||||
// Reduce effective range by the aiming bonus (e.g. from sniper scope)
|
||||
iSightRange -= GetAimBonus( pInHand, iRange, ubAimTime );
|
||||
if (iSightRange < 1)
|
||||
{
|
||||
iSightRange = 1;
|
||||
}
|
||||
DebugMsg(TOPIC_JA2,DBG_LEVEL_3,String("CalcChanceToHitGun: after scope bonus - ubAimTime = %d, iSightRange = %d, iChance = %d ", ubAimTime, iSightRange, iChance));
|
||||
|
||||
UINT8 bLightLevel = LightTrueLevel(sGridNo, pSoldier->bTargetLevel);
|
||||
// Apply flat to-hit bonus (e.g. from laser scope)
|
||||
// Snap: If prone and range is good, apply bipod bonus here as well
|
||||
iChance += GetToHitBonus( pInHand, iSightRange, bLightLevel,
|
||||
gAnimControl[ pSoldier->usAnimState ].ubEndHeight == ANIM_PRONE && iRange > MIN_PRONE_RANGE );
|
||||
DebugMsg(TOPIC_JA2,DBG_LEVEL_3,String("CalcChanceToHitGun: after to hit bonus - ubAimTime = %d, iSightRange = %d, iChance = %d ", ubAimTime, iSightRange, iChance));
|
||||
}
|
||||
|
||||
// if aiming at the head, reduce chance to hit
|
||||
@@ -3838,6 +3902,7 @@ UINT32 CalcChanceToHitGun(SOLDIERTYPE *pSoldier, UINT16 sGridNo, UINT8 ubAimTime
|
||||
}
|
||||
|
||||
// NumMessage("ChanceToHit = ",chance);
|
||||
DebugMsg(TOPIC_JA2,DBG_LEVEL_3,String("CalcChanceToHitGun: ichance = %d",iChance));
|
||||
return (iChance);
|
||||
}
|
||||
|
||||
@@ -4920,13 +4985,13 @@ BOOLEAN IsGunWeaponModeCapable( SOLDIERTYPE *pSoldier, UINT8 ubHandPos , UINT8 b
|
||||
switch(bWpnMode)
|
||||
{
|
||||
case WM_NORMAL:
|
||||
return (pSoldier->inv[ ubHandPos ].usItem != NOTHING && Item[ pSoldier->inv[ ubHandPos ].usItem ].usItemClass & IC_WEAPON); // Check for being a weapon....
|
||||
return (pSoldier->inv[ ubHandPos ].usItem != NOTHING && Item[ pSoldier->inv[ ubHandPos ].usItem ].usItemClass & IC_WEAPON && !Weapon[ pSoldier->inv[ ubHandPos ].usItem ].NoSemiAuto ); // Check for being a weapon....
|
||||
|
||||
case WM_BURST:
|
||||
return IsGunBurstCapable(pSoldier, ubHandPos, FALSE);
|
||||
|
||||
case WM_AUTOFIRE:
|
||||
return (IsGunAutofireCapable(pSoldier, ubHandPos) && !Item[pSoldier->inv[ubHandPos].usItem].grenadelauncher );
|
||||
return ((IsGunAutofireCapable(pSoldier, ubHandPos) || Weapon[ pSoldier->inv[ ubHandPos ].usItem ].NoSemiAuto )&& !Item[pSoldier->inv[ubHandPos].usItem].grenadelauncher );
|
||||
|
||||
case WM_ATTACHED_GL:
|
||||
// return (FindAttachment( &(pSoldier->inv[ubHandPos]), UNDER_GLAUNCHER ) != ITEM_NOT_FOUND && FindLaunchableAttachment( &(pSoldier->inv[ubHandPos]), UNDER_GLAUNCHER ) != ITEM_NOT_FOUND );
|
||||
@@ -5272,10 +5337,14 @@ void ChangeWeaponMode( SOLDIERTYPE * pSoldier )
|
||||
{
|
||||
pSoldier->bWeaponMode++;
|
||||
if(pSoldier->bWeaponMode == NUM_WEAPON_MODES)
|
||||
pSoldier->bWeaponMode = WM_NORMAL;
|
||||
{
|
||||
if ( Weapon[pSoldier->inv[HANDPOS].usItem].NoSemiAuto )
|
||||
pSoldier->bWeaponMode = WM_AUTOFIRE;
|
||||
else
|
||||
pSoldier->bWeaponMode = WM_NORMAL;
|
||||
}
|
||||
}
|
||||
while(IsGunWeaponModeCapable( pSoldier, HANDPOS, pSoldier->bWeaponMode ) == FALSE && pSoldier->bWeaponMode != WM_NORMAL);
|
||||
|
||||
|
||||
if (pSoldier->bWeaponMode == WM_AUTOFIRE || pSoldier->bWeaponMode == WM_ATTACHED_GL_AUTO )
|
||||
{
|
||||
@@ -5414,11 +5483,22 @@ UINT8 GetBurstPenalty( OBJECTTYPE *pObj, BOOLEAN fProneStance )
|
||||
|
||||
return Weapon[ pObj->usItem ].ubBurstPenalty - bns;
|
||||
}
|
||||
UINT8 GetAutoPenalty( OBJECTTYPE *pObj, BOOLEAN fProneStance )
|
||||
{
|
||||
// Snap: Make sure burst bonus does not exceed burst penalty!
|
||||
INT16 bns = GetAutoToHitBonus(pObj, fProneStance);
|
||||
|
||||
if ( bns > Weapon[ pObj->usItem ].AutoPenalty ) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
return Weapon[ pObj->usItem ].AutoPenalty - bns;
|
||||
}
|
||||
UINT8 GetAutofireShotsPerFiveAPs( OBJECTTYPE *pObj )
|
||||
{
|
||||
// DebugMsg(TOPIC_JA2,DBG_LEVEL_3,String("GetAutofireShotsPerFiveAPs"));
|
||||
|
||||
return Weapon[ pObj->usItem ].bAutofireShotsPerFiveAP + GetAutofireBonus(pObj);
|
||||
return Weapon[ pObj->usItem ].bAutofireShotsPerFiveAP;
|
||||
|
||||
}
|
||||
UINT8 GetMagSize( OBJECTTYPE *pObj )
|
||||
@@ -5444,3 +5524,4 @@ INT8 GetAPsToReload( OBJECTTYPE *pObj )
|
||||
( 100 - GetPercentReloadTimeAPReduction(pObj) ) + 50 ) / 100;
|
||||
|
||||
}
|
||||
|
||||
|
||||
+9
-4
@@ -178,7 +178,8 @@ enum
|
||||
EXPLOSV_FLARE,
|
||||
EXPLOSV_NOISE,
|
||||
EXPLOSV_SMOKE,
|
||||
EXPLOSV_CREATUREGAS,
|
||||
EXPLOSV_CREATUREGAS,
|
||||
EXPLOSV_BURNABLEGAS,
|
||||
};
|
||||
|
||||
#define AMMO_DAMAGE_ADJUSTMENT_BUCKSHOT( x ) (x / 4)
|
||||
@@ -250,6 +251,7 @@ typedef struct
|
||||
UINT8 ubHitVolume;
|
||||
UINT16 sSound;
|
||||
UINT16 sBurstSound;
|
||||
UINT16 sSilencedBurstSound;
|
||||
UINT16 sReloadSound;
|
||||
UINT16 sLocknLoadSound;
|
||||
UINT8 bBurstAP; // Snap: Burst AP cost replaces bBaseAutofireCost
|
||||
@@ -259,12 +261,14 @@ typedef struct
|
||||
UINT32 uiIndex;
|
||||
|
||||
BOOLEAN swapClips;
|
||||
UINT8 silencedSound;
|
||||
UINT16 silencedSound;
|
||||
UINT8 APsToReload;
|
||||
UINT8 maxdistformessydeath;
|
||||
BOOLEAN NoSemiAuto;
|
||||
UINT8 AutoPenalty;
|
||||
INT16 sAniDelay; // Lesh: for burst animation delay
|
||||
|
||||
} WEAPONTYPE;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
UINT8 ubCalibre;
|
||||
@@ -302,7 +306,7 @@ extern WEAPONTYPE Weapon[ MAXITEMS ];
|
||||
extern ARMOURTYPE Armour[MAXITEMS+1];
|
||||
extern MAGTYPE Magazine[MAXITEMS+1];
|
||||
extern EXPLOSIVETYPE Explosive[MAXITEMS+1];
|
||||
extern INT8 gzBurstSndStrings[MAXITEMS][30];
|
||||
extern INT8 gzBurstSndStrings[MAXITEMS*2][128]; // Lesh: changed this
|
||||
extern AMMOTYPE AmmoTypes[MAXITEMS];
|
||||
|
||||
|
||||
@@ -353,6 +357,7 @@ UINT8 GetDamage ( OBJECTTYPE *pObj );
|
||||
UINT8 GetAutofireShotsPerFiveAPs( OBJECTTYPE *pObj );
|
||||
UINT8 GetBaseAutoFireCost( OBJECTTYPE *pObj );
|
||||
UINT8 GetBurstPenalty( OBJECTTYPE *pObj, BOOLEAN fProneStance = FALSE );
|
||||
UINT8 GetAutoPenalty( OBJECTTYPE *pObj, BOOLEAN fProneStance = FALSE );
|
||||
UINT8 GetShotsPerBurst( OBJECTTYPE *pObj );
|
||||
UINT8 GetMagSize( OBJECTTYPE *pObj );
|
||||
BOOLEAN WeaponReady(SOLDIERTYPE * pSoldier);
|
||||
|
||||
@@ -415,7 +415,7 @@ void LoadWorldItemsFromMap( INT8 **hBuffer )
|
||||
{ //no match, so don't add item to world
|
||||
continue;
|
||||
}
|
||||
|
||||
/*
|
||||
if ( !gGameOptions.fGunNut )
|
||||
{
|
||||
UINT16 usReplacement;
|
||||
@@ -458,6 +458,8 @@ void LoadWorldItemsFromMap( INT8 **hBuffer )
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
*/
|
||||
}
|
||||
if( dummyItem.o.usItem == ACTION_ITEM && gfLoadPitsWithoutArming )
|
||||
{ //if we are loading a pit, they are typically loaded without being armed.
|
||||
|
||||
+6
-1
@@ -57,6 +57,7 @@ typedef PARSE_STAGE;
|
||||
#define BOBBYRAYSTRINGSFILENAME "BobbyRayStrings.xml"
|
||||
#define AMMOCALIBERSTRINGSFILENAME "AmmoCaliberStrings.xml"
|
||||
#define SOUNDSFILENAME "Sounds.xml"
|
||||
#define BURSTSOUNDSFILENAME "BurstSounds.xml"
|
||||
|
||||
#define CITYTABLEFILENAME "Cities.xml"
|
||||
|
||||
@@ -117,4 +118,8 @@ extern BOOLEAN ReadInSoundArray(STR fileName);
|
||||
extern BOOLEAN ReadInAmmoTypeStats(STR fileName);
|
||||
extern BOOLEAN WriteAmmoTypeStats();
|
||||
|
||||
#endif
|
||||
// Lesh: 2 lines added
|
||||
extern BOOLEAN ReadInBurstSoundArray(STR fileName);
|
||||
extern BOOLEAN WriteBurstSoundArray();
|
||||
// Lesh: over
|
||||
#endif
|
||||
@@ -0,0 +1,345 @@
|
||||
#ifdef PRECOMPILEDHEADERS
|
||||
#include "Tactical All.h"
|
||||
#else
|
||||
#include "sgp.h"
|
||||
#include "overhead types.h"
|
||||
#include "Sound Control.h"
|
||||
#include "Soldier Control.h"
|
||||
#include "overhead.h"
|
||||
#include "Event Pump.h"
|
||||
#include "weapons.h"
|
||||
#include "Animation Control.h"
|
||||
#include "sys globals.h"
|
||||
#include "Handle UI.h"
|
||||
#include "Isometric Utils.h"
|
||||
#include "worldman.h"
|
||||
#include "math.h"
|
||||
#include "points.h"
|
||||
#include "ai.h"
|
||||
#include "los.h"
|
||||
#include "renderworld.h"
|
||||
#include "opplist.h"
|
||||
#include "interface.h"
|
||||
#include "message.h"
|
||||
#include "campaign.h"
|
||||
#include "items.h"
|
||||
#include "text.h"
|
||||
#include "Soldier Profile.h"
|
||||
#include "tile animation.h"
|
||||
#include "Dialogue Control.h"
|
||||
#include "SkillCheck.h"
|
||||
#include "explosion control.h"
|
||||
#include "Quests.h"
|
||||
#include "Physics.h"
|
||||
#include "Random.h"
|
||||
#include "Vehicles.h"
|
||||
#include "bullets.h"
|
||||
#include "morale.h"
|
||||
#include "meanwhile.h"
|
||||
#include "SkillCheck.h"
|
||||
#include "gamesettings.h"
|
||||
#include "SaveLoadMap.h"
|
||||
#include "Debug Control.h"
|
||||
#include "expat.h"
|
||||
#include "XML.h"
|
||||
#endif
|
||||
|
||||
struct
|
||||
{
|
||||
PARSE_STAGE curElement;
|
||||
|
||||
INT8 szCharData[MAX_CHAR_DATA_LENGTH+1];
|
||||
|
||||
UINT32 maxArraySize;
|
||||
UINT32 curIndex;
|
||||
UINT32 currentDepth;
|
||||
UINT32 maxReadDepth;
|
||||
}
|
||||
typedef ammoParseData;
|
||||
|
||||
static void XMLCALL
|
||||
ammoStartElementHandle(void *userData, const char *name, const char **atts)
|
||||
{
|
||||
ammoParseData * pData = (ammoParseData *)userData;
|
||||
|
||||
if(pData->currentDepth <= pData->maxReadDepth) //are we reading this element?
|
||||
{
|
||||
if(strcmp(name, "AMMOLIST") == 0 && pData->curElement == ELEMENT_NONE)
|
||||
{
|
||||
pData->curElement = ELEMENT_LIST;
|
||||
|
||||
pData->maxReadDepth++; //we are not skipping this element
|
||||
}
|
||||
else if(strcmp(name, "AMMO") == 0 && pData->curElement == ELEMENT_LIST)
|
||||
{
|
||||
pData->curElement = ELEMENT;
|
||||
|
||||
pData->maxReadDepth++; //we are not skipping this element
|
||||
pData->curIndex++;
|
||||
}
|
||||
else if(pData->curElement == ELEMENT &&
|
||||
(strcmp(name, "AmmoCaliber") == 0 ||
|
||||
strcmp(name, "BRCaliber") == 0 ))
|
||||
{
|
||||
pData->curElement = ELEMENT_PROPERTY;
|
||||
|
||||
pData->maxReadDepth++; //we are not skipping this element
|
||||
}
|
||||
|
||||
pData->szCharData[0] = '\0';
|
||||
}
|
||||
|
||||
pData->currentDepth++;
|
||||
|
||||
}
|
||||
|
||||
static void XMLCALL
|
||||
ammoCharacterDataHandle(void *userData, const char *str, int len)
|
||||
{
|
||||
ammoParseData * pData = (ammoParseData *)userData;
|
||||
|
||||
if( (pData->currentDepth <= pData->maxReadDepth) &&
|
||||
(strlen(pData->szCharData) < MAX_CHAR_DATA_LENGTH)
|
||||
){
|
||||
strncat(pData->szCharData,str,__min((unsigned int)len,MAX_CHAR_DATA_LENGTH-strlen(pData->szCharData)));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static void XMLCALL
|
||||
ammoEndElementHandle(void *userData, const char *name)
|
||||
{
|
||||
char temp;
|
||||
ammoParseData * pData = (ammoParseData *)userData;
|
||||
|
||||
if(pData->currentDepth <= pData->maxReadDepth) //we're at the end of an element that we've been reading
|
||||
{
|
||||
if(strcmp(name, "AMMOLIST") == 0)
|
||||
{
|
||||
pData->curElement = ELEMENT_NONE;
|
||||
}
|
||||
else if(strcmp(name, "AMMO") == 0)
|
||||
{
|
||||
pData->curElement = ELEMENT_LIST;
|
||||
|
||||
}
|
||||
else if(strcmp(name, "AmmoCaliber") == 0)
|
||||
{
|
||||
pData->curElement = ELEMENT;
|
||||
if(pData->curIndex < pData->maxArraySize)
|
||||
{
|
||||
for(int i=0;i<min((int)strlen(pData->szCharData),MAX_CHAR_DATA_LENGTH);i++)
|
||||
{
|
||||
temp = pData->szCharData[i];
|
||||
AmmoCaliber[pData->curIndex][i] = temp;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
else if(strcmp(name, "BRCaliber") == 0)
|
||||
{
|
||||
pData->curElement = ELEMENT;
|
||||
if(pData->curIndex < pData->maxArraySize)
|
||||
{
|
||||
for(int i=0;i<min((int)strlen(pData->szCharData),MAX_CHAR_DATA_LENGTH);i++)
|
||||
{
|
||||
temp = pData->szCharData[i];
|
||||
BobbyRayAmmoCaliber[pData->curIndex][i] = temp;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
pData->maxReadDepth--;
|
||||
}
|
||||
|
||||
pData->currentDepth--;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
BOOLEAN ReadInAmmoStats(STR fileName)
|
||||
{
|
||||
HWFILE hFile;
|
||||
UINT32 uiBytesRead;
|
||||
UINT32 uiFSize;
|
||||
CHAR8 * lpcBuffer;
|
||||
XML_Parser parser = XML_ParserCreate(NULL);
|
||||
|
||||
ammoParseData pData;
|
||||
|
||||
DebugMsg(TOPIC_JA2, DBG_LEVEL_3, "Loading AmmoStrings.xml" );
|
||||
|
||||
// Open ammos file
|
||||
hFile = FileOpen( fileName, FILE_ACCESS_READ, FALSE );
|
||||
if ( !hFile )
|
||||
return( FALSE );
|
||||
|
||||
uiFSize = FileGetSize(hFile);
|
||||
lpcBuffer = (CHAR8 *) MemAlloc(uiFSize+1);
|
||||
|
||||
//Read in block
|
||||
if ( !FileRead( hFile, lpcBuffer, uiFSize, &uiBytesRead ) )
|
||||
{
|
||||
MemFree(lpcBuffer);
|
||||
return( FALSE );
|
||||
}
|
||||
|
||||
lpcBuffer[uiFSize] = 0; //add a null terminator
|
||||
|
||||
FileClose( hFile );
|
||||
|
||||
|
||||
XML_SetElementHandler(parser, ammoStartElementHandle, ammoEndElementHandle);
|
||||
XML_SetCharacterDataHandler(parser, ammoCharacterDataHandle);
|
||||
|
||||
|
||||
memset(&pData,0,sizeof(pData));
|
||||
pData.maxArraySize = MAXITEMS;
|
||||
pData.curIndex = -1;
|
||||
|
||||
XML_SetUserData(parser, &pData);
|
||||
|
||||
|
||||
if(!XML_Parse(parser, lpcBuffer, uiFSize, TRUE))
|
||||
{
|
||||
CHAR8 errorBuf[511];
|
||||
|
||||
sprintf(errorBuf, "XML Parser Error in AmmoStrings.xml: %s at line %d", XML_ErrorString(XML_GetErrorCode(parser)), XML_GetCurrentLineNumber(parser));
|
||||
LiveMessage(errorBuf);
|
||||
|
||||
MemFree(lpcBuffer);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
MemFree(lpcBuffer);
|
||||
|
||||
|
||||
XML_ParserFree(parser);
|
||||
|
||||
return( TRUE );
|
||||
}
|
||||
BOOLEAN WriteAmmoStats()
|
||||
{
|
||||
HWFILE hFile;
|
||||
|
||||
//Debug code; make sure that what we got from the file is the same as what's there
|
||||
// Open a new file
|
||||
hFile = FileOpen( "TABLEDATA\\Ammos out.xml", FILE_ACCESS_WRITE | FILE_CREATE_ALWAYS, FALSE );
|
||||
if ( !hFile )
|
||||
return( FALSE );
|
||||
|
||||
{
|
||||
UINT32 cnt;
|
||||
|
||||
FilePrintf(hFile,"<AMMOLIST>\r\n");
|
||||
for(cnt = 0;cnt < MAXITEMS;cnt++)
|
||||
{
|
||||
FilePrintf(hFile,"\t<AMMO>\r\n");
|
||||
|
||||
UINT16 * szRemainder = AmmoCaliber[cnt]; //the remaining string to be output (for making valid XML)
|
||||
|
||||
FilePrintf(hFile,"\t\t<AmmoCaliber>");
|
||||
while(szRemainder[0] != '\0')
|
||||
{
|
||||
UINT32 uiCharLoc = strcspn(szRemainder,"&<>\'\"\0");
|
||||
UINT16 invChar = szRemainder[uiCharLoc];
|
||||
|
||||
if(uiCharLoc)
|
||||
{
|
||||
szRemainder[uiCharLoc] = '\0';
|
||||
FilePrintf(hFile,"%s",szRemainder);
|
||||
szRemainder[uiCharLoc] = invChar;
|
||||
}
|
||||
|
||||
szRemainder += uiCharLoc;
|
||||
|
||||
switch(invChar)
|
||||
{
|
||||
case '&':
|
||||
FilePrintf(hFile,"&");
|
||||
szRemainder++;
|
||||
break;
|
||||
|
||||
case '<':
|
||||
FilePrintf(hFile,"<");
|
||||
szRemainder++;
|
||||
break;
|
||||
|
||||
case '>':
|
||||
FilePrintf(hFile,">");
|
||||
szRemainder++;
|
||||
break;
|
||||
|
||||
case '\'':
|
||||
FilePrintf(hFile,"'");
|
||||
szRemainder++;
|
||||
break;
|
||||
|
||||
case '\"':
|
||||
FilePrintf(hFile,""");
|
||||
szRemainder++;
|
||||
break;
|
||||
}
|
||||
}
|
||||
FilePrintf(hFile,"</AmmoCaliber>\r\n");
|
||||
|
||||
|
||||
szRemainder = BobbyRayAmmoCaliber[cnt]; //the remaining string to be output (for making valid XML)
|
||||
|
||||
FilePrintf(hFile,"\t\t<BRCaliber>");
|
||||
while(szRemainder[0] != '\0')
|
||||
{
|
||||
UINT32 uiCharLoc = strcspn(szRemainder,"&<>\'\"\0");
|
||||
UINT16 invChar = szRemainder[uiCharLoc];
|
||||
|
||||
if(uiCharLoc)
|
||||
{
|
||||
szRemainder[uiCharLoc] = '\0';
|
||||
FilePrintf(hFile,"%s",szRemainder);
|
||||
szRemainder[uiCharLoc] = invChar;
|
||||
}
|
||||
|
||||
szRemainder += uiCharLoc;
|
||||
|
||||
switch(invChar)
|
||||
{
|
||||
case '&':
|
||||
FilePrintf(hFile,"&");
|
||||
szRemainder++;
|
||||
break;
|
||||
|
||||
case '<':
|
||||
FilePrintf(hFile,"<");
|
||||
szRemainder++;
|
||||
break;
|
||||
|
||||
case '>':
|
||||
FilePrintf(hFile,">");
|
||||
szRemainder++;
|
||||
break;
|
||||
|
||||
case '\'':
|
||||
FilePrintf(hFile,"'");
|
||||
szRemainder++;
|
||||
break;
|
||||
|
||||
case '\"':
|
||||
FilePrintf(hFile,""");
|
||||
szRemainder++;
|
||||
break;
|
||||
}
|
||||
}
|
||||
FilePrintf(hFile,"</BRCaliber>\r\n");
|
||||
|
||||
|
||||
FilePrintf(hFile,"\t</AMMO>\r\n");
|
||||
}
|
||||
FilePrintf(hFile,"</AMMOLIST>\r\n");
|
||||
}
|
||||
FileClose( hFile );
|
||||
|
||||
return( TRUE );
|
||||
}
|
||||
@@ -0,0 +1,270 @@
|
||||
#ifdef PRECOMPILEDHEADERS
|
||||
#include "Tactical All.h"
|
||||
#else
|
||||
#include "sgp.h"
|
||||
#include "overhead types.h"
|
||||
#include "Sound Control.h"
|
||||
#include "Soldier Control.h"
|
||||
#include "overhead.h"
|
||||
#include "Event Pump.h"
|
||||
#include "weapons.h"
|
||||
#include "Animation Control.h"
|
||||
#include "sys globals.h"
|
||||
#include "Handle UI.h"
|
||||
#include "Isometric Utils.h"
|
||||
#include "worldman.h"
|
||||
#include "math.h"
|
||||
#include "points.h"
|
||||
#include "ai.h"
|
||||
#include "los.h"
|
||||
#include "renderworld.h"
|
||||
#include "opplist.h"
|
||||
#include "interface.h"
|
||||
#include "message.h"
|
||||
#include "campaign.h"
|
||||
#include "items.h"
|
||||
#include "text.h"
|
||||
#include "Soldier Profile.h"
|
||||
#include "tile animation.h"
|
||||
#include "Dialogue Control.h"
|
||||
#include "SkillCheck.h"
|
||||
#include "explosion control.h"
|
||||
#include "Quests.h"
|
||||
#include "Physics.h"
|
||||
#include "Random.h"
|
||||
#include "Vehicles.h"
|
||||
#include "bullets.h"
|
||||
#include "morale.h"
|
||||
#include "meanwhile.h"
|
||||
#include "SkillCheck.h"
|
||||
#include "gamesettings.h"
|
||||
#include "SaveLoadMap.h"
|
||||
#include "Debug Control.h"
|
||||
#include "expat.h"
|
||||
#include "XML.h"
|
||||
#endif
|
||||
|
||||
struct
|
||||
{
|
||||
PARSE_STAGE curElement;
|
||||
|
||||
INT8 szCharData[MAX_CHAR_DATA_LENGTH+1];
|
||||
|
||||
UINT32 maxArraySize;
|
||||
UINT32 curIndex;
|
||||
UINT32 currentDepth;
|
||||
UINT32 maxReadDepth;
|
||||
}
|
||||
typedef burstSoundParseData;
|
||||
|
||||
static void XMLCALL
|
||||
burstSoundStartElementHandle(void *userData, const char *name, const char **atts)
|
||||
{
|
||||
burstSoundParseData * pData = (burstSoundParseData *)userData;
|
||||
|
||||
if(pData->currentDepth <= pData->maxReadDepth) //are we reading this element?
|
||||
{
|
||||
if(strcmp(name, "SOUNDLIST") == 0 && pData->curElement == ELEMENT_NONE)
|
||||
{
|
||||
pData->curElement = ELEMENT_LIST;
|
||||
|
||||
pData->maxReadDepth++; //we are not skipping this element
|
||||
}
|
||||
else if(strcmp(name, "SOUND") == 0 && pData->curElement == ELEMENT_LIST)
|
||||
{
|
||||
pData->curElement = ELEMENT;
|
||||
|
||||
pData->maxReadDepth++; //we are not skipping this element
|
||||
pData->curIndex++;
|
||||
}
|
||||
|
||||
pData->szCharData[0] = '\0';
|
||||
}
|
||||
|
||||
pData->currentDepth++;
|
||||
|
||||
}
|
||||
|
||||
static void XMLCALL
|
||||
burstSoundCharacterDataHandle(void *userData, const char *str, int len)
|
||||
{
|
||||
burstSoundParseData * pData = (burstSoundParseData *)userData;
|
||||
|
||||
if( (pData->currentDepth <= pData->maxReadDepth) &&
|
||||
(strlen(pData->szCharData) < MAX_CHAR_DATA_LENGTH)
|
||||
){
|
||||
strncat(pData->szCharData,str,__min((unsigned int)len,MAX_CHAR_DATA_LENGTH-strlen(pData->szCharData)));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static void XMLCALL
|
||||
burstSoundEndElementHandle(void *userData, const char *name)
|
||||
{
|
||||
burstSoundParseData * pData = (burstSoundParseData *)userData;
|
||||
|
||||
if(pData->currentDepth <= pData->maxReadDepth) //we're at the end of an element that we've been reading
|
||||
{
|
||||
if(strcmp(name, "SOUNDLIST") == 0)
|
||||
{
|
||||
pData->curElement = ELEMENT_NONE;
|
||||
}
|
||||
else if(strcmp(name, "SOUND") == 0)
|
||||
{
|
||||
pData->curElement = ELEMENT_LIST;
|
||||
|
||||
if(pData->curIndex < pData->maxArraySize)
|
||||
{
|
||||
char temp;
|
||||
for(int i=0;i<min((int)strlen(pData->szCharData),128);i++)
|
||||
{
|
||||
temp = pData->szCharData[i];
|
||||
gzBurstSndStrings[pData->curIndex][i] = temp;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
pData->maxReadDepth--;
|
||||
}
|
||||
|
||||
pData->currentDepth--;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
BOOLEAN ReadInBurstSoundArray(STR fileName)
|
||||
{
|
||||
HWFILE hFile;
|
||||
UINT32 uiBytesRead;
|
||||
UINT32 uiFSize;
|
||||
CHAR8 * lpcBuffer;
|
||||
XML_Parser parser = XML_ParserCreate(NULL);
|
||||
|
||||
burstSoundParseData pData;
|
||||
|
||||
DebugMsg(TOPIC_JA2, DBG_LEVEL_3, String("Loading %s",SOUNDSFILENAME ) );
|
||||
|
||||
// Open sounds file
|
||||
hFile = FileOpen( fileName, FILE_ACCESS_READ, FALSE );
|
||||
if ( !hFile )
|
||||
return( FALSE );
|
||||
|
||||
uiFSize = FileGetSize(hFile);
|
||||
lpcBuffer = (CHAR8 *) MemAlloc(uiFSize+1);
|
||||
|
||||
//Read in block
|
||||
if ( !FileRead( hFile, lpcBuffer, uiFSize, &uiBytesRead ) )
|
||||
{
|
||||
MemFree(lpcBuffer);
|
||||
return( FALSE );
|
||||
}
|
||||
|
||||
lpcBuffer[uiFSize] = 0; //add a null terminator
|
||||
|
||||
FileClose( hFile );
|
||||
|
||||
|
||||
XML_SetElementHandler(parser, burstSoundStartElementHandle, burstSoundEndElementHandle);
|
||||
XML_SetCharacterDataHandler(parser, burstSoundCharacterDataHandle);
|
||||
|
||||
|
||||
memset(&pData,0,sizeof(pData));
|
||||
pData.maxArraySize = MAX_SAMPLES;
|
||||
pData.curIndex = -1;
|
||||
|
||||
XML_SetUserData(parser, &pData);
|
||||
|
||||
|
||||
if(!XML_Parse(parser, lpcBuffer, uiFSize, TRUE))
|
||||
{
|
||||
CHAR8 errorBuf[511];
|
||||
|
||||
sprintf(errorBuf, "XML Parser Error in %s.xml: %s at line %d", SOUNDSFILENAME, XML_ErrorString(XML_GetErrorCode(parser)), XML_GetCurrentLineNumber(parser));
|
||||
LiveMessage(errorBuf);
|
||||
|
||||
MemFree(lpcBuffer);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
MemFree(lpcBuffer);
|
||||
|
||||
|
||||
XML_ParserFree(parser);
|
||||
|
||||
return( TRUE );
|
||||
}
|
||||
BOOLEAN WriteBurstSoundArray()
|
||||
{
|
||||
HWFILE hFile;
|
||||
DebugMsg(TOPIC_JA2, DBG_LEVEL_3, String("WriteSoundArray"));
|
||||
//Debug code; make sure that what we got from the file is the same as what's there
|
||||
// Open a new file
|
||||
hFile = FileOpen( "TABLEDATA\\BurstSounds out.xml", FILE_ACCESS_WRITE | FILE_CREATE_ALWAYS, FALSE );
|
||||
if ( !hFile )
|
||||
return( FALSE );
|
||||
|
||||
{
|
||||
UINT32 cnt;
|
||||
|
||||
FilePrintf(hFile,"<SOUNDLIST>\r\n");
|
||||
for(cnt = 0;cnt < 19;cnt++)
|
||||
{
|
||||
FilePrintf(hFile,"\t<SOUND>");
|
||||
|
||||
INT8 * szRemainder = gzBurstSndStrings[cnt]; //the remaining string to be output (for making valid XML)
|
||||
|
||||
while(szRemainder[0] != '\0')
|
||||
{
|
||||
UINT32 uiCharLoc = strcspn(szRemainder,"&<>\'\"\0");
|
||||
char invChar = szRemainder[uiCharLoc];
|
||||
|
||||
if(uiCharLoc)
|
||||
{
|
||||
szRemainder[uiCharLoc] = '\0';
|
||||
FilePrintf(hFile,"%s",szRemainder);
|
||||
szRemainder[uiCharLoc] = invChar;
|
||||
}
|
||||
|
||||
szRemainder += uiCharLoc;
|
||||
|
||||
switch(invChar)
|
||||
{
|
||||
case '&':
|
||||
FilePrintf(hFile,"&");
|
||||
szRemainder++;
|
||||
break;
|
||||
|
||||
case '<':
|
||||
FilePrintf(hFile,"<");
|
||||
szRemainder++;
|
||||
break;
|
||||
|
||||
case '>':
|
||||
FilePrintf(hFile,">");
|
||||
szRemainder++;
|
||||
break;
|
||||
|
||||
case '\'':
|
||||
FilePrintf(hFile,"'");
|
||||
szRemainder++;
|
||||
break;
|
||||
|
||||
case '\"':
|
||||
FilePrintf(hFile,""");
|
||||
szRemainder++;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// FilePrintf(hFile,"\t\t<SOUND>%s</SOUND>\r\n", szSoundEffects[cnt]);
|
||||
|
||||
FilePrintf(hFile,"</SOUND>\r\n");
|
||||
}
|
||||
FilePrintf(hFile,"</SOUNDLIST>\r\n");
|
||||
}
|
||||
FileClose( hFile );
|
||||
|
||||
return( TRUE );
|
||||
}
|
||||
|
||||
@@ -1158,6 +1158,13 @@ INT16 DistanceVisible( SOLDIERTYPE *pSoldier, INT8 bFacingDir, INT8 bSubjectDir,
|
||||
sDistVisible = __min( sDistVisible, 2 );
|
||||
}
|
||||
}
|
||||
if ( gpWorldLevelData[ pSoldier->sGridNo ].ubExtFlags[ bLevel ] & MAPELEMENT_EXT_BURNABLEGAS )
|
||||
{
|
||||
{
|
||||
// in FLAMETHERgas ; reduce max distance visible to 2 tiles at most
|
||||
sDistVisible = __min( sDistVisible, 2 );
|
||||
}
|
||||
}
|
||||
|
||||
return(sDistVisible);
|
||||
}
|
||||
|
||||
@@ -1702,6 +1702,10 @@ BOOLEAN InWaterGasOrSmoke( SOLDIERTYPE *pSoldier, INT16 sGridNo )
|
||||
{
|
||||
return( TRUE );
|
||||
}
|
||||
if ( gpWorldLevelData[sGridNo].ubExtFlags[ pSoldier->bLevel ] & MAPELEMENT_EXT_BURNABLEGAS )
|
||||
{
|
||||
return( TRUE );
|
||||
}
|
||||
|
||||
return(FALSE);
|
||||
}
|
||||
@@ -1722,6 +1726,10 @@ BOOLEAN InGasOrSmoke( SOLDIERTYPE *pSoldier, INT16 sGridNo )
|
||||
{
|
||||
return( TRUE );
|
||||
}
|
||||
if ( gpWorldLevelData[sGridNo].ubExtFlags[pSoldier->bLevel] & MAPELEMENT_EXT_BURNABLEGAS )
|
||||
{
|
||||
return( TRUE );
|
||||
}
|
||||
|
||||
return(FALSE);
|
||||
}
|
||||
@@ -1740,6 +1748,10 @@ INT16 InWaterOrGas(SOLDIERTYPE *pSoldier, INT16 sGridNo)
|
||||
{
|
||||
return( TRUE );
|
||||
}
|
||||
if ( gpWorldLevelData[sGridNo].ubExtFlags[pSoldier->bLevel] & MAPELEMENT_EXT_BURNABLEGAS )
|
||||
{
|
||||
return( TRUE );
|
||||
}
|
||||
|
||||
return(FALSE);
|
||||
}
|
||||
@@ -1752,6 +1764,10 @@ BOOLEAN InGas( SOLDIERTYPE *pSoldier, INT16 sGridNo )
|
||||
{
|
||||
return( TRUE );
|
||||
}
|
||||
if ( gpWorldLevelData[sGridNo].ubExtFlags[pSoldier->bLevel] & MAPELEMENT_EXT_BURNABLEGAS )
|
||||
{
|
||||
return( TRUE );
|
||||
}
|
||||
|
||||
return(FALSE);
|
||||
}
|
||||
@@ -2350,6 +2366,7 @@ UINT8 SoldierDifficultyLevel( SOLDIERTYPE * pSoldier )
|
||||
INT8 bDifficultyBase;
|
||||
INT8 bDifficulty;
|
||||
|
||||
DebugMsg(TOPIC_JA2AI,DBG_LEVEL_3,String("SoldierDifficultyLevel"));
|
||||
// difficulty modifier ranges from 0 to 100
|
||||
// and we want to end up with a number between 0 and 4 (4=hardest)
|
||||
// to a base of 1, divide by 34 to get a range from 1 to 3
|
||||
|
||||
+50
-28
@@ -164,8 +164,12 @@ void CalcBestShot(SOLDIERTYPE *pSoldier, ATTACKTYPE *pBestShot, BOOLEAN shootUns
|
||||
#endif
|
||||
|
||||
// calculate minimum action points required to shoot at this opponent
|
||||
ubMinAPcost = MinAPsToAttack(pSoldier,pOpponent->sGridNo,ADDTURNCOST);
|
||||
//NumMessage("MinAPcost to shoot this opponent = ",ubMinAPcost);
|
||||
if ( !Weapon[pSoldier->usAttackingWeapon].NoSemiAuto )
|
||||
ubMinAPcost = MinAPsToAttack(pSoldier,pOpponent->sGridNo,ADDTURNCOST);
|
||||
else
|
||||
ubMinAPcost = CalcAPsToAutofire( CalcActionPoints( pSoldier ), &(pSoldier->inv[HANDPOS]), 3 );
|
||||
|
||||
//NumMessage("MinAPcost to shoot this opponent = ",ubMinAPcost);
|
||||
|
||||
// if we don't have enough APs left to shoot even a snap-shot at this guy
|
||||
if (ubMinAPcost > pSoldier->bActionPoints)
|
||||
@@ -252,31 +256,43 @@ void CalcBestShot(SOLDIERTYPE *pSoldier, ATTACKTYPE *pBestShot, BOOLEAN shootUns
|
||||
}
|
||||
|
||||
// consider the various aiming times
|
||||
for (ubAimTime = AP_MIN_AIM_ATTACK; ubAimTime <= ubMaxPossibleAimTime; ubAimTime++)
|
||||
{
|
||||
//HandleMyMouseCursor(KEYBOARDALSO);
|
||||
if ( !Weapon[pSoldier->usAttackingWeapon].NoSemiAuto )
|
||||
{
|
||||
for (ubAimTime = AP_MIN_AIM_ATTACK; ubAimTime <= ubMaxPossibleAimTime; ubAimTime++)
|
||||
{
|
||||
//HandleMyMouseCursor(KEYBOARDALSO);
|
||||
|
||||
//NumMessage("ubAimTime = ",ubAimTime);
|
||||
//NumMessage("ubAimTime = ",ubAimTime);
|
||||
|
||||
ubChanceToHit = (UINT8) AICalcChanceToHitGun(pSoldier,pOpponent->sGridNo,ubAimTime, AIM_SHOT_TORSO);
|
||||
// ExtMen[pOpponent->ubID].haveStats = TRUE;
|
||||
//NumMessage("chance to Hit = ",ubChanceToHit);
|
||||
ubChanceToHit = (UINT8) AICalcChanceToHitGun(pSoldier,pOpponent->sGridNo,ubAimTime, AIM_SHOT_TORSO);
|
||||
// ExtMen[pOpponent->ubID].haveStats = TRUE;
|
||||
//NumMessage("chance to Hit = ",ubChanceToHit);
|
||||
|
||||
//sprintf((CHAR *)tempstr,"Vs. %s, at AimTime %d, ubChanceToHit = %d",ExtMen[pOpponent->ubID].name,ubAimTime,ubChanceToHit);
|
||||
//PopMessage(tempstr);
|
||||
//sprintf((CHAR *)tempstr,"Vs. %s, at AimTime %d, ubChanceToHit = %d",ExtMen[pOpponent->ubID].name,ubAimTime,ubChanceToHit);
|
||||
//PopMessage(tempstr);
|
||||
|
||||
iHitRate = (pSoldier->bActionPoints * ubChanceToHit) / (ubRawAPCost + ubAimTime);
|
||||
//NumMessage("hitRate = ",iHitRate);
|
||||
iHitRate = (pSoldier->bActionPoints * ubChanceToHit) / (ubRawAPCost + ubAimTime);
|
||||
//NumMessage("hitRate = ",iHitRate);
|
||||
|
||||
// if aiming for this amount of time produces a better hit rate
|
||||
if (iHitRate > iBestHitRate)
|
||||
{
|
||||
iBestHitRate = iHitRate;
|
||||
ubBestAimTime = ubAimTime;
|
||||
ubBestChanceToHit = ubChanceToHit;
|
||||
}
|
||||
}
|
||||
// if aiming for this amount of time produces a better hit rate
|
||||
if (iHitRate > iBestHitRate)
|
||||
{
|
||||
iBestHitRate = iHitRate;
|
||||
ubBestAimTime = ubAimTime;
|
||||
ubBestChanceToHit = ubChanceToHit;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
ubAimTime = AP_MIN_AIM_ATTACK;
|
||||
ubChanceToHit = (UINT8) AICalcChanceToHitGun(pSoldier,pOpponent->sGridNo,ubAimTime, AIM_SHOT_TORSO);
|
||||
iHitRate = (pSoldier->bActionPoints * ubChanceToHit) / (ubRawAPCost + ubAimTime);
|
||||
|
||||
iBestHitRate = iHitRate;
|
||||
ubBestAimTime = ubAimTime;
|
||||
ubBestChanceToHit = ubChanceToHit;
|
||||
}
|
||||
|
||||
// if we can't get any kind of hit rate at all
|
||||
if (iBestHitRate == 0)
|
||||
@@ -290,7 +306,7 @@ void CalcBestShot(SOLDIERTYPE *pSoldier, ATTACKTYPE *pBestShot, BOOLEAN shootUns
|
||||
continue; // next opponent
|
||||
|
||||
// really limit knife throwing so it doesn't look wrong
|
||||
if ( Item[ pSoldier->usAttackingWeapon ].usItemClass == IC_THROWING_KNIFE && (ubChanceToReallyHit < 30 || ( PythSpacesAway( pSoldier->sGridNo, pOpponent->sGridNo ) > CalcMaxTossRange( pSoldier, THROWING_KNIFE, FALSE ) )))// Madd / 2 ) ) )
|
||||
if ( Item[ pSoldier->usAttackingWeapon ].usItemClass == IC_THROWING_KNIFE && (ubChanceToReallyHit < 30 || ( PythSpacesAway( pSoldier->sGridNo, pOpponent->sGridNo ) > CalcMaxTossRange( pSoldier, pSoldier->usAttackingWeapon, FALSE ) )))// Madd / 2 ) ) )
|
||||
continue; // don't bother... next opponent
|
||||
|
||||
// calculate this opponent's threat value (factor in my cover from him)
|
||||
@@ -805,9 +821,12 @@ void CalcBestThrow(SOLDIERTYPE *pSoldier, ATTACKTYPE *pBestThrow)
|
||||
// if considering a gas/smoke grenade, check to see if there is such stuff already there!
|
||||
if ( usGrenade )
|
||||
{
|
||||
// if ( gpWorldLevelData[ sGridNo ].ubExtFlags[ bOpponentLevel[ubLoop] ] & MAPELEMENT_EXT_SMOKE ||
|
||||
// gpWorldLevelData[ sGridNo ].ubExtFlags[ bOpponentLevel[ubLoop] ] & (MAPELEMENT_EXT_TEARGAS | MAPELEMENT_EXT_MUSTARDGAS) ||
|
||||
// gpWorldLevelData[ sGridNo ].ubExtFlags[ bOpponentLevel[ubLoop] ] & MAPELEMENT_EXT_MUSTARDGAS)
|
||||
if ( gpWorldLevelData[ sGridNo ].ubExtFlags[ bOpponentLevel[ubLoop] ] & MAPELEMENT_EXT_SMOKE ||
|
||||
gpWorldLevelData[ sGridNo ].ubExtFlags[ bOpponentLevel[ubLoop] ] & (MAPELEMENT_EXT_TEARGAS | MAPELEMENT_EXT_MUSTARDGAS) ||
|
||||
gpWorldLevelData[ sGridNo ].ubExtFlags[ bOpponentLevel[ubLoop] ] & MAPELEMENT_EXT_MUSTARDGAS)
|
||||
gpWorldLevelData[ sGridNo ].ubExtFlags[ bOpponentLevel[ubLoop] ] & (MAPELEMENT_EXT_TEARGAS | MAPELEMENT_EXT_MUSTARDGAS | MAPELEMENT_EXT_BURNABLEGAS) ||
|
||||
gpWorldLevelData[ sGridNo ].ubExtFlags[ bOpponentLevel[ubLoop] ] & MAPELEMENT_EXT_MUSTARDGAS || gpWorldLevelData[ sGridNo ].ubExtFlags[ bOpponentLevel[ubLoop] ] & MAPELEMENT_EXT_BURNABLEGAS)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
@@ -1718,6 +1737,12 @@ INT32 EstimateThrowDamage( SOLDIERTYPE *pSoldier, UINT8 ubItemPos, SOLDIERTYPE *
|
||||
}
|
||||
|
||||
}
|
||||
if ( Explosive[ ubExplosiveIndex ].ubType == EXPLOSV_BURNABLEGAS )
|
||||
{
|
||||
// if target gridno is outdoors (where tear gas lasts only 1-2 turns)
|
||||
if (gpWorldLevelData[sGridno].ubTerrainID != FLAT_FLOOR)
|
||||
iBreathDamage /= 2; // reduce effective breath damage by 1/2
|
||||
}
|
||||
else if (iExplosDamage)
|
||||
{
|
||||
// EXPLOSION DAMAGE is spread amongst locations
|
||||
@@ -2337,9 +2362,6 @@ void CheckIfShotPossible(SOLDIERTYPE *pSoldier, ATTACKTYPE *pBestShot, BOOLEAN s
|
||||
//if ( Weapon [pObj->usItem ].ubWeaponType != GUN_SN_RIFLE )
|
||||
// return;
|
||||
|
||||
DebugMsg (TOPIC_JA2,DBG_LEVEL_3,"CheckIfShotPossible: checking for scope");
|
||||
//check for sniper scope
|
||||
|
||||
// if it's in his holster, swap it into his hand temporarily
|
||||
if (pBestShot->bWeaponIn != HANDPOS)
|
||||
{
|
||||
@@ -2347,7 +2369,7 @@ void CheckIfShotPossible(SOLDIERTYPE *pSoldier, ATTACKTYPE *pBestShot, BOOLEAN s
|
||||
RearrangePocket(pSoldier, HANDPOS, pBestShot->bWeaponIn, TEMPORARILY);
|
||||
}
|
||||
|
||||
if ( (!suppressionFire && IsScoped(pObj) && GunRange(pObj) > 30 ) || (suppressionFire && IsGunAutofireCapable(pSoldier,pBestShot->bWeaponIn ) && GetMagSize(pObj) > 30 && pObj->ubGunShotsLeft > 20 ))
|
||||
if ( (!suppressionFire && IsScoped(pObj) && !Weapon[pObj->usItem].NoSemiAuto && GunRange(pObj) > 30 ) || (suppressionFire && IsGunAutofireCapable(pSoldier,pBestShot->bWeaponIn ) && GetMagSize(pObj) > 30 && pObj->ubGunShotsLeft > 20 ))
|
||||
{
|
||||
// get the minimum cost to attack with this item
|
||||
DebugMsg (TOPIC_JA2,DBG_LEVEL_3,"CheckIfShotPossible: getting min aps");
|
||||
|
||||
+39
-14
@@ -20,7 +20,7 @@
|
||||
#include "pathai.h"
|
||||
#include "Render Fun.h"
|
||||
#include "Boxing.h"
|
||||
#include "Air Raid.h"
|
||||
// #include "Air Raid.h"
|
||||
#endif
|
||||
|
||||
extern BOOLEAN InternalIsValidStance( SOLDIERTYPE *pSoldier, INT8 bDirection, INT8 bNewStance );
|
||||
@@ -934,6 +934,11 @@ INT8 DecideActionGreen(SOLDIERTYPE *pSoldier)
|
||||
case ATTACKSLAYONLY: break;
|
||||
}
|
||||
|
||||
|
||||
//hide those suicidal militia on the roofs for better defensive positions
|
||||
if ( pSoldier->bTeam == MILITIA_TEAM )
|
||||
iChance += 20;
|
||||
|
||||
// reduce chance for any injury, less likely to hop up if hurt
|
||||
iChance -= (pSoldier->bLifeMax - pSoldier->bLife);
|
||||
|
||||
@@ -1500,6 +1505,9 @@ INT8 DecideActionYellow(SOLDIERTYPE *pSoldier)
|
||||
// reduce chance if breath is down, less likely to wander around when tired
|
||||
iChance -= (100 - pSoldier->bBreath);
|
||||
|
||||
//Madd: make militia less likely to go running headlong into trouble
|
||||
if ( pSoldier->bTeam == MILITIA_TEAM )
|
||||
iChance -= 30;
|
||||
|
||||
if ((INT16) PreRandom(100) < iChance )
|
||||
{
|
||||
@@ -1738,7 +1746,11 @@ INT8 DecideActionYellow(SOLDIERTYPE *pSoldier)
|
||||
}
|
||||
|
||||
|
||||
// reduce chance if breath is down, less likely to wander around when tired
|
||||
//Madd: make militia more likely to take cover
|
||||
if ( pSoldier->bTeam == MILITIA_TEAM )
|
||||
iChance += 20;
|
||||
|
||||
// reduce chance if breath is down, less likely to wander around when tired
|
||||
iChance -= (100 - pSoldier->bBreath);
|
||||
|
||||
if ((INT16)PreRandom(100) < iChance)
|
||||
@@ -2209,7 +2221,7 @@ INT8 DecideActionRed(SOLDIERTYPE *pSoldier, UINT8 ubUnconsciousOK)
|
||||
}
|
||||
while( pSoldier->bActionPoints - (BestShot.ubAPCost - BestShot.ubAimTime) > ubBurstAPs &&
|
||||
pSoldier->inv[ pSoldier->ubAttackingHand ].ubGunShotsLeft >= pSoldier->bDoAutofire &&
|
||||
GetBurstPenalty(&pSoldier->inv[ pSoldier->ubAttackingHand ], gAnimControl[ pSoldier->usAnimState ].ubEndHeight == ANIM_PRONE)*pSoldier->bDoAutofire <= 80 );
|
||||
GetAutoPenalty(&pSoldier->inv[ pSoldier->ubAttackingHand ], gAnimControl[ pSoldier->usAnimState ].ubEndHeight == ANIM_PRONE)*pSoldier->bDoAutofire <= 80 );
|
||||
|
||||
|
||||
pSoldier->bDoAutofire--;
|
||||
@@ -2236,7 +2248,7 @@ INT8 DecideActionRed(SOLDIERTYPE *pSoldier, UINT8 ubUnconsciousOK)
|
||||
}
|
||||
// suppression not possible, do something else
|
||||
}
|
||||
|
||||
/*
|
||||
// CALL IN AIR STRIKE & RADIO RED ALERT
|
||||
if ( !fCivilian && pSoldier->bTeam != MILITIA_TEAM && gGameOptions.fAirStrikes && airstrikeavailable && (pSoldier->bActionPoints >= AP_RADIO) && !WillAirRaidBeStopped(pSoldier->sSectorX,pSoldier->sSectorY))
|
||||
{
|
||||
@@ -2293,7 +2305,7 @@ if ( !fCivilian && pSoldier->bTeam != MILITIA_TEAM && gGameOptions.fAirStrikes &
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
*/
|
||||
|
||||
DebugMsg (TOPIC_JA2,DBG_LEVEL_3,"decideactionred: crouch and rest if running out of breath");
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
@@ -2589,6 +2601,12 @@ DebugMsg (TOPIC_JA2,DBG_LEVEL_3,"decideactionred: radio red alert?");
|
||||
case AGGRESSIVE: bSeekPts += +1; bHelpPts += 0; bHidePts += -1; bWatchPts += 0; break;
|
||||
case ATTACKSLAYONLY:bSeekPts += +1; bHelpPts += 0; bHidePts += -1; bWatchPts += 0; break;
|
||||
}
|
||||
|
||||
//Madd: make militia less likely to go running headlong into trouble
|
||||
if ( pSoldier->bTeam == MILITIA_TEAM )
|
||||
{
|
||||
bSeekPts += -1; bHelpPts += 0; bHidePts += +1; bWatchPts += +1;
|
||||
}
|
||||
}
|
||||
|
||||
if (!gfTurnBasedAI)
|
||||
@@ -3290,7 +3308,9 @@ INT8 DecideActionBlack(SOLDIERTYPE *pSoldier)
|
||||
|
||||
BOOLEAN fAllowCoverCheck = FALSE;
|
||||
|
||||
// once we hit status black, reset flanking status
|
||||
DebugMsg (TOPIC_JA2,DBG_LEVEL_3,"DecideActionBlack");
|
||||
|
||||
// once we hit status black, reset flanking status
|
||||
//pSoldier->numFlanks = 0;
|
||||
|
||||
|
||||
@@ -4144,7 +4164,7 @@ bCanAttack = FALSE;
|
||||
}
|
||||
else
|
||||
{
|
||||
iChance = (25 / (BestAttack.ubAimTime + 1));
|
||||
iChance = (25 / max((BestAttack.ubAimTime + 1),1));
|
||||
switch (pSoldier->bAttitude)
|
||||
{
|
||||
case DEFENSIVE: iChance += -5; break;
|
||||
@@ -4162,6 +4182,7 @@ bCanAttack = FALSE;
|
||||
// increase chance based on proximity and difficulty of enemy
|
||||
if ( PythSpacesAway( pSoldier->sGridNo, BestAttack.sTarget ) < 15 )
|
||||
{
|
||||
DebugMsg(TOPIC_JA2AI,DBG_LEVEL_3,String("DecideActionBlack: check chance to burst"));
|
||||
iChance += ( 15 - PythSpacesAway( pSoldier->sGridNo, BestAttack.sTarget ) ) * ( 1 + SoldierDifficultyLevel( pSoldier ) );
|
||||
if ( pSoldier->bAttitude == ATTACKSLAYONLY )
|
||||
{
|
||||
@@ -4190,8 +4211,8 @@ bCanAttack = FALSE;
|
||||
|
||||
if (IsGunAutofireCapable( pSoldier, BestAttack.bWeaponIn /*, FALSE*/ ) &&
|
||||
!(Menptr[BestShot.ubOpponent].bLife < OKLIFE) && // don't burst at downed targets
|
||||
pSoldier->inv[BestAttack.bWeaponIn].ubGunShotsLeft > 1 &&
|
||||
BestAttack.ubAimTime != BURSTING)
|
||||
(( pSoldier->inv[BestAttack.bWeaponIn].ubGunShotsLeft > 1 &&
|
||||
BestAttack.ubAimTime != BURSTING ) || Weapon[pSoldier->inv[BestAttack.bWeaponIn].usItem].NoSemiAuto) )
|
||||
{
|
||||
pSoldier->bDoAutofire = 0;
|
||||
do
|
||||
@@ -4201,7 +4222,7 @@ bCanAttack = FALSE;
|
||||
}
|
||||
while( pSoldier->bActionPoints - (BestAttack.ubAPCost - BestAttack.ubAimTime) > ubBurstAPs &&
|
||||
pSoldier->inv[ pSoldier->ubAttackingHand ].ubGunShotsLeft >= pSoldier->bDoAutofire &&
|
||||
GetBurstPenalty(&pSoldier->inv[ BestAttack.bWeaponIn ], gAnimControl[ pSoldier->usAnimState ].ubEndHeight == ANIM_PRONE)*pSoldier->bDoAutofire <= 80);
|
||||
GetAutoPenalty(&pSoldier->inv[ BestAttack.bWeaponIn ], gAnimControl[ pSoldier->usAnimState ].ubEndHeight == ANIM_PRONE)*pSoldier->bDoAutofire <= 80);
|
||||
|
||||
|
||||
|
||||
@@ -4217,7 +4238,7 @@ bCanAttack = FALSE;
|
||||
}
|
||||
else
|
||||
{
|
||||
iChance = (100 / (BestAttack.ubAimTime + 1));
|
||||
iChance = (100 / max((BestAttack.ubAimTime + 1),1));
|
||||
switch (pSoldier->bAttitude)
|
||||
{
|
||||
case DEFENSIVE: iChance += -5; break;
|
||||
@@ -4236,6 +4257,7 @@ bCanAttack = FALSE;
|
||||
// increase chance based on proximity and difficulty of enemy
|
||||
if ( PythSpacesAway( pSoldier->sGridNo, BestAttack.sTarget ) < 15 )
|
||||
{
|
||||
DebugMsg(TOPIC_JA2AI,DBG_LEVEL_3,String("DecideActionBlack: check chance to autofire"));
|
||||
iChance += ( 15 - PythSpacesAway( pSoldier->sGridNo, BestAttack.sTarget ) ) * ( 1 + SoldierDifficultyLevel( pSoldier ) );
|
||||
if ( pSoldier->bAttitude == ATTACKSLAYONLY )
|
||||
{
|
||||
@@ -4245,7 +4267,7 @@ bCanAttack = FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
if ((INT32) PreRandom( 100 ) < iChance)
|
||||
if ((INT32) PreRandom( 100 ) < iChance || Weapon[pSoldier->inv[BestAttack.bWeaponIn].usItem].NoSemiAuto)
|
||||
{
|
||||
BestAttack.ubAimTime = AUTOFIRING + pSoldier->bDoAutofire;
|
||||
BestAttack.ubAPCost = BestAttack.ubAPCost - BestAttack.ubAimTime + CalcAPsToAutofire( CalcActionPoints( pSoldier ), &(pSoldier->inv[BestAttack.bWeaponIn]), pSoldier->bDoAutofire );
|
||||
@@ -4371,6 +4393,7 @@ bCanAttack = FALSE;
|
||||
case ATTACKSLAYONLY:iChance += 30; break;
|
||||
}
|
||||
// increase chance based on proximity and difficulty of enemy
|
||||
DebugMsg(TOPIC_JA2AI,DBG_LEVEL_3,String("DecideActionBlack: check chance to gl burst"));
|
||||
iChance += ( 15 - PythSpacesAway( pSoldier->sGridNo, BestAttack.sTarget ) ) * ( 1 + SoldierDifficultyLevel( pSoldier ) );
|
||||
}
|
||||
|
||||
@@ -4619,8 +4642,10 @@ bCanAttack = FALSE;
|
||||
|
||||
// if there hasn't been an initial RED ALERT yet in this sector
|
||||
if ( !(gTacticalStatus.Team[pSoldier->bTeam].bAwareOfOpposition) || NeedToRadioAboutPanicTrigger() )
|
||||
// since I'm at STATUS RED, I obviously know we're being invaded!
|
||||
iChance = gbDiff[DIFF_RADIO_RED_ALERT][ SoldierDifficultyLevel( pSoldier ) ];
|
||||
{ // since I'm at STATUS RED, I obviously know we're being invaded!
|
||||
DebugMsg(TOPIC_JA2AI,DBG_LEVEL_3,String("DecideActionBlack: check chance to radio contact"));
|
||||
iChance = gbDiff[DIFF_RADIO_RED_ALERT][ SoldierDifficultyLevel( pSoldier ) ];
|
||||
}
|
||||
else // subsequent radioing (only to update enemy positions, request help)
|
||||
// base chance depends on how much new info we have to radio to the others
|
||||
iChance = 10 * WhatIKnowThatPublicDont(pSoldier,FALSE); // use 10 * for RED alert
|
||||
|
||||
@@ -266,6 +266,8 @@ INT8 CalcBestCTGT( SOLDIERTYPE *pSoldier, UINT8 ubOppID, INT16 sOppGridNo, INT8
|
||||
INT32 CalcCoverValue(SOLDIERTYPE *pMe, INT16 sMyGridNo, INT32 iMyThreat, INT32 iMyAPsLeft,
|
||||
UINT32 uiThreatIndex, INT32 iRange, INT32 morale, INT32 *iTotalScale)
|
||||
{
|
||||
DebugMsg(TOPIC_JA2AI,DBG_LEVEL_3,String("CalcCoverValue"));
|
||||
|
||||
// all 32-bit integers for max. speed
|
||||
INT32 iMyPosValue, iHisPosValue, iCoverValue;
|
||||
INT32 iReductionFactor, iThisScale;
|
||||
@@ -523,6 +525,8 @@ UINT8 NumberOfTeamMatesAdjacent( SOLDIERTYPE * pSoldier, INT16 sGridNo )
|
||||
|
||||
INT16 FindBestNearbyCover(SOLDIERTYPE *pSoldier, INT32 morale, INT32 *piPercentBetter)
|
||||
{
|
||||
DebugMsg(TOPIC_JA2AI,DBG_LEVEL_3,String("FindBestNearbyCover"));
|
||||
|
||||
// all 32-bit integers for max. speed
|
||||
UINT32 uiLoop;
|
||||
INT32 iCurrentCoverValue, iCoverValue, iBestCoverValue;
|
||||
@@ -1648,6 +1652,8 @@ INT16 FindNearbyDarkerSpot( SOLDIERTYPE *pSoldier )
|
||||
|
||||
INT8 SearchForItems( SOLDIERTYPE * pSoldier, INT8 bReason, UINT16 usItem )
|
||||
{
|
||||
DebugMsg(TOPIC_JA2AI,DBG_LEVEL_3,String("SearchForItems"));
|
||||
|
||||
INT32 iSearchRange;
|
||||
INT16 sMaxLeft, sMaxRight, sMaxUp, sMaxDown, sXOffset, sYOffset;
|
||||
INT16 sGridNo;
|
||||
|
||||
@@ -3,8 +3,10 @@
|
||||
ProjectType="Visual C++"
|
||||
Version="7.10"
|
||||
Name="TacticalAI"
|
||||
SccProjectName=""$/Jagged Alliance 2/Development/Programming/Jagged Alliance 2/Build", AVAAAAAA"
|
||||
SccLocalPath="..\..\..\ja2\build">
|
||||
SccProjectName=""
|
||||
SccAuxPath=""
|
||||
SccLocalPath=""
|
||||
SccProvider="">
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Win32"/>
|
||||
@@ -21,8 +23,8 @@
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories="\Standard Gaming Platform,\ja2\Build,\ja2\Build\Tactical,\ja2\Build\Utils,\ja2\Build\TileEngine,\ja2\build\strategic,\ja2\build\laptop"
|
||||
PreprocessorDefinitions="RELEASE_WITH_DEBUG_INFO;NDEBUG;JA2DEMO;WIN32;_WINDOWS;JA2;PRECOMPILEDHEADERS"
|
||||
AdditionalIncludeDirectories=""..\Standard Gaming Platform";..\TileEngine;..\;..\Tactical;..\Utils;..\Editor;..\strategic;..\Laptop;.\"
|
||||
PreprocessorDefinitions="RELEASE_WITH_DEBUG_INFO;NDEBUG;JA2DEMO;WIN32;_WINDOWS;JA2;PRECOMPILEDHEADERS;XML_STATIC;CINTERFACE"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="0"
|
||||
EnableFunctionLevelLinking="TRUE"
|
||||
@@ -37,7 +39,7 @@
|
||||
WarningLevel="4"
|
||||
SuppressStartupBanner="TRUE"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="0"/>
|
||||
CompileAs="2"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
@@ -75,7 +77,7 @@
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories="..\laptop,..\Standard Gaming Platform,..\,..\Tactical,..\Utils,..\TileEngine,..\strategic,.\"
|
||||
AdditionalIncludeDirectories=""..\Standard Gaming Platform";..\TileEngine;..\;..\Tactical;..\Utils;..\Editor;..\strategic;..\Laptop;.\"
|
||||
PreprocessorDefinitions="NDEBUG;RELEASE_WITH_DEBUG_INFO;WIN32;_WINDOWS;JA2;PRECOMPILEDHEADERS;_VTUNE_PROFILING;XML_STATIC;CINTERFACE"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="0"
|
||||
@@ -91,7 +93,8 @@
|
||||
WarningLevel="4"
|
||||
SuppressStartupBanner="TRUE"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="0"/>
|
||||
CompileAs="2"
|
||||
DisableSpecificWarnings="4292;4189"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
@@ -128,7 +131,7 @@
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\Standard Gaming Platform,..\TileEngine,..\,..\Tactical,..\Utils,..\Editor,..\strategic,..\Laptop,.\"
|
||||
AdditionalIncludeDirectories=""..\Standard Gaming Platform";..\TileEngine;..\;..\Tactical;..\Utils;..\Editor;..\strategic;..\Laptop;.\"
|
||||
PreprocessorDefinitions="PRECOMPILEDHEADERS;_DEBUG;WIN32;_WINDOWS;JA2;_VTUNE_PROFILING;XML_STATIC;CINTERFACE"
|
||||
RuntimeLibrary="1"
|
||||
UsePrecompiledHeader="2"
|
||||
@@ -141,7 +144,7 @@
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="TRUE"
|
||||
DebugInformationFormat="1"
|
||||
CompileAs="0"
|
||||
CompileAs="2"
|
||||
DisableSpecificWarnings="4292"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
@@ -179,8 +182,8 @@
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="\Standard Gaming Platform,\ja2\Build,\ja2\Build\Tactical,\ja2\Build\Utils,\ja2\Build\TileEngine,\ja2\build\strategic,\ja2\build\laptop"
|
||||
PreprocessorDefinitions="_DEBUG;BOUNDS_CHECKER;WIN32;_WINDOWS;JA2;PRECOMPILEDHEADERS;_VTUNE_PROFILING"
|
||||
AdditionalIncludeDirectories=""..\Standard Gaming Platform";..\TileEngine;..\;..\Tactical;..\Utils;..\Editor;..\strategic;..\Laptop;.\"
|
||||
PreprocessorDefinitions="_DEBUG;BOUNDS_CHECKER;WIN32;_WINDOWS;JA2;PRECOMPILEDHEADERS;_VTUNE_PROFILING;XML_STATIC;CINTERFACE"
|
||||
RuntimeLibrary="1"
|
||||
UsePrecompiledHeader="2"
|
||||
PrecompiledHeaderThrough="AI All.h"
|
||||
@@ -192,7 +195,8 @@
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="TRUE"
|
||||
DebugInformationFormat="1"
|
||||
CompileAs="0"/>
|
||||
CompileAs="2"
|
||||
DisableSpecificWarnings="4292"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
@@ -230,7 +234,7 @@
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories="..\Standard Gaming Platform,..\,..\Tactical,..\Utils,..\TileEngine,..\strategic,..\laptop,.\"
|
||||
AdditionalIncludeDirectories=""..\Standard Gaming Platform";..\TileEngine;..\;..\Tactical;..\Utils;..\Editor;..\strategic;..\Laptop;.\"
|
||||
PreprocessorDefinitions="RELEASE_WITH_DEBUG_INFO;NDEBUG;JA2DEMO;WIN32;_WINDOWS;JA2;PRECOMPILEDHEADERS;XML_STATIC;CINTERFACE"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="0"
|
||||
@@ -246,7 +250,7 @@
|
||||
WarningLevel="4"
|
||||
SuppressStartupBanner="TRUE"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="0"/>
|
||||
CompileAs="2"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
@@ -283,8 +287,8 @@
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="\Standard Gaming Platform,\ja2\Build,\ja2\Build\Tactical,\ja2\Build\Utils,\ja2\Build\TileEngine,\ja2\build\strategic,\ja2\build\laptop"
|
||||
PreprocessorDefinitions="_DEBUG;JA2DEMO;WIN32;_WINDOWS;JA2;PRECOMPILEDHEADERS"
|
||||
AdditionalIncludeDirectories=""..\Standard Gaming Platform";..\TileEngine;..\;..\Tactical;..\Utils;..\Editor;..\strategic;..\Laptop;.\"
|
||||
PreprocessorDefinitions="_DEBUG;JA2DEMO;WIN32;_WINDOWS;JA2;PRECOMPILEDHEADERS;XML_STATIC;CINTERFACE"
|
||||
RuntimeLibrary="1"
|
||||
UsePrecompiledHeader="2"
|
||||
PrecompiledHeaderThrough="AI All.h"
|
||||
@@ -296,7 +300,7 @@
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="TRUE"
|
||||
DebugInformationFormat="1"
|
||||
CompileAs="0"/>
|
||||
CompileAs="2"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
@@ -333,8 +337,8 @@
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="\Standard Gaming Platform,\ja2\Build,\ja2\Build\Tactical,\ja2\Build\Utils,\ja2\Build\TileEngine,\ja2\build\strategic,\ja2\build\laptop"
|
||||
PreprocessorDefinitions="_DEBUG;BOUNDS_CHECKER;JA2DEMO;WIN32;_WINDOWS;JA2;PRECOMPILEDHEADERS"
|
||||
AdditionalIncludeDirectories=""..\Standard Gaming Platform";..\TileEngine;..\;..\Tactical;..\Utils;..\Editor;..\strategic;..\Laptop;.\"
|
||||
PreprocessorDefinitions="_DEBUG;BOUNDS_CHECKER;JA2DEMO;WIN32;_WINDOWS;JA2;PRECOMPILEDHEADERS;XML_STATIC;CINTERFACE"
|
||||
RuntimeLibrary="1"
|
||||
UsePrecompiledHeader="2"
|
||||
PrecompiledHeaderThrough="AI All.h"
|
||||
@@ -346,7 +350,7 @@
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="TRUE"
|
||||
DebugInformationFormat="1"
|
||||
CompileAs="0"/>
|
||||
CompileAs="2"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
@@ -383,8 +387,13 @@
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
GlobalOptimizations="TRUE"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories="..\Standard Gaming Platform,..\TileEngine,..\,..\Tactical,..\Utils,..\Editor,..\strategic,..\Laptop,.\"
|
||||
EnableIntrinsicFunctions="TRUE"
|
||||
FavorSizeOrSpeed="1"
|
||||
OptimizeForProcessor="3"
|
||||
OptimizeForWindowsApplication="TRUE"
|
||||
AdditionalIncludeDirectories=""..\Standard Gaming Platform";..\TileEngine;..\;..\Tactical;..\Utils;..\Editor;..\strategic;..\Laptop;.\"
|
||||
PreprocessorDefinitions="PRECOMPILEDHEADERS;NDEBUG;WIN32;_WINDOWS;JA2;XML_STATIC;CINTERFACE"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="0"
|
||||
@@ -398,7 +407,7 @@
|
||||
BrowseInformation="1"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="TRUE"
|
||||
CompileAs="0"/>
|
||||
CompileAs="2"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
|
||||
@@ -81,6 +81,7 @@ UINT8 ubTransKeyFrame[ NUM_EXP_TYPES ] =
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
};
|
||||
|
||||
UINT8 ubDamageKeyFrame[ NUM_EXP_TYPES ] =
|
||||
@@ -94,6 +95,7 @@ UINT8 ubDamageKeyFrame[ NUM_EXP_TYPES ] =
|
||||
18,
|
||||
18,
|
||||
18,
|
||||
18,
|
||||
};
|
||||
|
||||
|
||||
@@ -108,6 +110,7 @@ UINT32 uiExplosionSoundID[ NUM_EXP_TYPES ] =
|
||||
AIR_ESCAPING_1,
|
||||
AIR_ESCAPING_1,
|
||||
AIR_ESCAPING_1,
|
||||
325,//TODO: Madd: hard coded for now -- we need to externalize explosion sounds, animations, etc. at some point in the near future
|
||||
};
|
||||
|
||||
|
||||
@@ -122,6 +125,7 @@ CHAR8 zBlastFilenames[][70] =
|
||||
"TILECACHE\\TEAR_EXP.STI",
|
||||
"TILECACHE\\TEAR_EXP.STI",
|
||||
"TILECACHE\\MUST_EXP.STI",
|
||||
"TILECACHE\\FLAM_EXP.STI",
|
||||
};
|
||||
|
||||
CHAR8 sBlastSpeeds[] =
|
||||
@@ -135,6 +139,8 @@ CHAR8 sBlastSpeeds[] =
|
||||
80,
|
||||
80,
|
||||
80,
|
||||
80,
|
||||
80,
|
||||
};
|
||||
|
||||
#define BOMB_QUEUE_DELAY (1000 + Random( 500 ) )
|
||||
@@ -1325,7 +1331,7 @@ BOOLEAN DishOutGasDamage( SOLDIERTYPE * pSoldier, EXPLOSIVETYPE * pExplosive, IN
|
||||
return( fRecompileMovementCosts );
|
||||
}
|
||||
|
||||
if ( pExplosive->ubType == EXPLOSV_CREATUREGAS )
|
||||
if ( pExplosive->ubType == EXPLOSV_CREATUREGAS || pExplosive->ubType == EXPLOSV_BURNABLEGAS)
|
||||
{
|
||||
if ( pSoldier->uiStatusFlags & SOLDIER_MONSTER )
|
||||
{
|
||||
@@ -1337,6 +1343,12 @@ BOOLEAN DishOutGasDamage( SOLDIERTYPE * pSoldier, EXPLOSIVETYPE * pExplosive, IN
|
||||
// already affected by creature gas this turn
|
||||
return( fRecompileMovementCosts );
|
||||
}
|
||||
if ( sSubsequent && pSoldier->fHitByGasFlags & HIT_BY_BURNABLEGAS )
|
||||
{
|
||||
// already affected by BURNABLEGAS this turn
|
||||
return( fRecompileMovementCosts );
|
||||
}
|
||||
|
||||
}
|
||||
else // no gas mask help from creature attacks
|
||||
// ATE/CJC: gas stuff
|
||||
@@ -1446,6 +1458,9 @@ BOOLEAN DishOutGasDamage( SOLDIERTYPE * pSoldier, EXPLOSIVETYPE * pExplosive, IN
|
||||
case EXPLOSV_MUSTGAS:
|
||||
pSoldier->fHitByGasFlags |= HIT_BY_MUSTARDGAS;
|
||||
break;
|
||||
case EXPLOSV_BURNABLEGAS:
|
||||
pSoldier->fHitByGasFlags |= HIT_BY_BURNABLEGAS;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@@ -1502,6 +1517,13 @@ BOOLEAN ExpAffect( INT16 sBombGridNo, INT16 sGridNo, UINT32 uiDist, UINT16 usIte
|
||||
fBlastEffect = FALSE;
|
||||
break;
|
||||
|
||||
case EXPLOSV_BURNABLEGAS:
|
||||
|
||||
fSmokeEffect = TRUE;
|
||||
bSmokeEffectType = BURNABLEGAS_SMOKE_EFFECT;
|
||||
fBlastEffect = FALSE;
|
||||
break;
|
||||
|
||||
case EXPLOSV_TEARGAS:
|
||||
|
||||
fSmokeEffect = TRUE;
|
||||
@@ -2118,6 +2140,7 @@ void SpreadEffect( INT16 sGridNo, UINT8 ubRadius, UINT16 usItem, UINT8 ubOwner,
|
||||
{
|
||||
|
||||
case EXPLOSV_MUSTGAS:
|
||||
case EXPLOSV_BURNABLEGAS:
|
||||
case EXPLOSV_TEARGAS:
|
||||
case EXPLOSV_SMOKE:
|
||||
case EXPLOSV_CREATUREGAS:
|
||||
@@ -3529,4 +3552,4 @@ void RemoveAllActiveTimedBombs( void )
|
||||
}
|
||||
} while( iItemIndex != -1 );
|
||||
|
||||
}
|
||||
}
|
||||
@@ -55,7 +55,7 @@ enum EXPLOSION_TYPES
|
||||
TARGAS_EXP,
|
||||
SMOKE_EXP,
|
||||
MUSTARD_EXP,
|
||||
|
||||
BURN_EXP,
|
||||
NUM_EXP_TYPES
|
||||
|
||||
} ;
|
||||
|
||||
@@ -215,4 +215,4 @@ BOOLEAN SaveShadeTable( HVOBJECT pObj, UINT32 uiTileTypeIndex )
|
||||
BOOLEAN DeleteShadeTableDir( )
|
||||
{
|
||||
return( RemoveFileManDirectory( SHADE_TABLE_DIR, TRUE ) );
|
||||
}
|
||||
}
|
||||
@@ -109,6 +109,10 @@ INT8 FromWorldFlagsToSmokeType( UINT8 ubWorldFlags )
|
||||
{
|
||||
return( MUSTARDGAS_SMOKE_EFFECT );
|
||||
}
|
||||
else if ( ubWorldFlags & MAPELEMENT_EXT_BURNABLEGAS )
|
||||
{
|
||||
return( BURNABLEGAS_SMOKE_EFFECT );
|
||||
}
|
||||
else if ( ubWorldFlags & MAPELEMENT_EXT_CREATUREGAS )
|
||||
{
|
||||
return( CREATURE_SMOKE_EFFECT );
|
||||
@@ -139,6 +143,11 @@ UINT8 FromSmokeTypeToWorldFlags( INT8 bType )
|
||||
return( MAPELEMENT_EXT_MUSTARDGAS );
|
||||
break;
|
||||
|
||||
case BURNABLEGAS_SMOKE_EFFECT:
|
||||
|
||||
return( MAPELEMENT_EXT_BURNABLEGAS );
|
||||
break;
|
||||
|
||||
case CREATURE_SMOKE_EFFECT:
|
||||
|
||||
return( MAPELEMENT_EXT_CREATUREGAS );
|
||||
@@ -188,6 +197,13 @@ INT32 NewSmokeEffect( INT16 sGridNo, UINT16 usItem, INT8 bLevel, UINT8 ubOwner )
|
||||
ubStartRadius = Explosive[ Item[ usItem ].ubClassIndex ].ubStartRadius;
|
||||
break;
|
||||
|
||||
case EXPLOSV_BURNABLEGAS:
|
||||
|
||||
bSmokeEffectType = BURNABLEGAS_SMOKE_EFFECT;
|
||||
ubDuration = Explosive[ Item[ usItem ].ubClassIndex ].ubDuration;
|
||||
ubStartRadius = Explosive[ Item[ usItem ].ubClassIndex ].ubStartRadius;
|
||||
break;
|
||||
|
||||
case EXPLOSV_TEARGAS:
|
||||
bSmokeEffectType = TEARGAS_SMOKE_EFFECT;
|
||||
ubDuration = Explosive[ Item[ usItem ].ubClassIndex ].ubDuration;
|
||||
@@ -377,6 +393,25 @@ void AddSmokeEffectToTile( INT32 iSmokeEffectID, INT8 bType, INT16 sGridNo, INT8
|
||||
}
|
||||
break;
|
||||
|
||||
case BURNABLEGAS_SMOKE_EFFECT:
|
||||
|
||||
if ( !( gGameSettings.fOptions[ TOPTION_ANIMATE_SMOKE ] ) )
|
||||
{
|
||||
strcpy( AniParams.zCachedFile, "TILECACHE\\FLAMCHZE.STI" );
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( fDissipating )
|
||||
{
|
||||
strcpy( AniParams.zCachedFile, "TILECACHE\\smalflam.STI" );
|
||||
}
|
||||
else
|
||||
{
|
||||
strcpy( AniParams.zCachedFile, "TILECACHE\\FLAMETH2.STI" );
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case CREATURE_SMOKE_EFFECT:
|
||||
|
||||
if ( !( gGameSettings.fOptions[ TOPTION_ANIMATE_SMOKE ] ) )
|
||||
|
||||
@@ -9,7 +9,8 @@ enum
|
||||
NORMAL_SMOKE_EFFECT,
|
||||
TEARGAS_SMOKE_EFFECT,
|
||||
MUSTARDGAS_SMOKE_EFFECT,
|
||||
CREATURE_SMOKE_EFFECT,
|
||||
CREATURE_SMOKE_EFFECT,
|
||||
BURNABLEGAS_SMOKE_EFFECT,
|
||||
};
|
||||
|
||||
#define SMOKE_EFFECT_INDOORS 0x01
|
||||
|
||||
@@ -540,8 +540,10 @@ void UpdateAniTiles( )
|
||||
|
||||
ubExpType = Explosive[ Item[ (UINT16)pNode->uiUserData ].ubClassIndex ].ubType;
|
||||
|
||||
if ( ubExpType == EXPLOSV_TEARGAS || ubExpType == EXPLOSV_MUSTGAS ||
|
||||
ubExpType == EXPLOSV_SMOKE )
|
||||
// if ( ubExpType == EXPLOSV_TEARGAS || ubExpType == EXPLOSV_MUSTGAS ||
|
||||
// ubExpType == EXPLOSV_SMOKE )
|
||||
if ( ubExpType == EXPLOSV_TEARGAS || ubExpType == EXPLOSV_MUSTGAS ||
|
||||
ubExpType == EXPLOSV_SMOKE || ubExpType == EXPLOSV_BURNABLEGAS )
|
||||
{
|
||||
// Do sound....
|
||||
// PlayJA2Sample( AIR_ESCAPING_1, RATE_11025, SoundVolume( HIGHVOLUME, pNode->sGridNo ), 1, SoundDir( pNode->sGridNo ) );
|
||||
|
||||
@@ -556,10 +556,10 @@ UINT16 gNumTilesPerType[ NUMBEROFTILETYPES ] =
|
||||
|
||||
GUN5000 - GUN1 + 1,
|
||||
P1ITEM5000 - P1ITEM1 + 1,
|
||||
P2ITEM45 - P2ITEM1 + 1,
|
||||
P2ITEM5000 - P2ITEM1 + 1,
|
||||
|
||||
WINDOWSHATTER20 - WINDOWSHATTER1 + 1,
|
||||
P3ITEM16 - P3ITEM1 + 1,
|
||||
P3ITEM5000 - P3ITEM1 + 1,
|
||||
BODYEXPLOSION15 - BODYEXPLOSION1 + 1,
|
||||
|
||||
EXITTEXTURE35 - EXITTEXTURE1 + 1,
|
||||
|
||||
@@ -2615,6 +2615,12 @@ enum TileDefines
|
||||
P2ITEM43,
|
||||
P2ITEM44,
|
||||
P2ITEM45,
|
||||
P2ITEM46,
|
||||
P2ITEM47,
|
||||
P2ITEM48,
|
||||
P2ITEM49,
|
||||
P2ITEM50,
|
||||
P2ITEM5000 = P2ITEM50 + 4950,
|
||||
|
||||
WINDOWSHATTER1,
|
||||
WINDOWSHATTER2,
|
||||
@@ -2653,6 +2659,11 @@ enum TileDefines
|
||||
P3ITEM14,
|
||||
P3ITEM15,
|
||||
P3ITEM16,
|
||||
P3ITEM17,
|
||||
P3ITEM18,
|
||||
P3ITEM19,
|
||||
P3ITEM20,
|
||||
P3ITEM5000 = P3ITEM20 + 4980,
|
||||
|
||||
BODYEXPLOSION1,
|
||||
BODYEXPLOSION2,
|
||||
|
||||
@@ -3,8 +3,10 @@
|
||||
ProjectType="Visual C++"
|
||||
Version="7.10"
|
||||
Name="TileEngine"
|
||||
SccProjectName=""$/Jagged Alliance 2/Development/Programming/Jagged Alliance 2/Build", AVAAAAAA"
|
||||
SccLocalPath="..\..\..\ja2\build">
|
||||
SccProjectName=""
|
||||
SccAuxPath=""
|
||||
SccLocalPath=""
|
||||
SccProvider="">
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Win32"/>
|
||||
@@ -20,8 +22,8 @@
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="\Standard Gaming Platform,\ja2\Build,\ja2\Build\Tactical,\ja2\Build\Utils,\ja2\build\TacticalAI,\ja2\build\Editor,\ja2\build\strategic,\ja2\build\Laptop"
|
||||
PreprocessorDefinitions="_DEBUG;BOUNDS_CHECKER;JA2DEMO;CALLBACKTIMER;WIN32;_WINDOWS;JA2;PRECOMPILEDHEADERS"
|
||||
AdditionalIncludeDirectories=""..\Standard Gaming Platform";..\;..\Tactical;..\Utils;..\tacticalai;..\Editor;..\strategic;..\Laptop;.\"
|
||||
PreprocessorDefinitions="_DEBUG;BOUNDS_CHECKER;JA2DEMO;CALLBACKTIMER;WIN32;_WINDOWS;JA2;PRECOMPILEDHEADERS;XML_STATIC;CINTERFACE"
|
||||
RuntimeLibrary="1"
|
||||
UsePrecompiledHeader="2"
|
||||
PrecompiledHeaderThrough="TileEngine All.h"
|
||||
@@ -33,7 +35,7 @@
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="TRUE"
|
||||
DebugInformationFormat="1"
|
||||
CompileAs="0"/>
|
||||
CompileAs="2"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
@@ -70,8 +72,8 @@
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="\Standard Gaming Platform,\ja2\Build,\ja2\Build\Tactical,\ja2\Build\Utils,\ja2\build\TacticalAI,\ja2\build\Editor,\ja2\build\strategic,\ja2\build\Laptop"
|
||||
PreprocessorDefinitions="_DEBUG;BOUNDS_CHECKER;CALLBACKTIMER;WIN32;_WINDOWS;JA2;PRECOMPILEDHEADERS;_VTUNE_PROFILING"
|
||||
AdditionalIncludeDirectories=""..\Standard Gaming Platform";..\;..\Tactical;..\Utils;..\tacticalai;..\Editor;..\strategic;..\Laptop;.\"
|
||||
PreprocessorDefinitions="_DEBUG;BOUNDS_CHECKER;CALLBACKTIMER;WIN32;_WINDOWS;JA2;PRECOMPILEDHEADERS;_VTUNE_PROFILING;XML_STATIC;CINTERFACE"
|
||||
RuntimeLibrary="1"
|
||||
UsePrecompiledHeader="2"
|
||||
PrecompiledHeaderThrough="TileEngine All.h"
|
||||
@@ -83,7 +85,8 @@
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="TRUE"
|
||||
DebugInformationFormat="1"
|
||||
CompileAs="0"/>
|
||||
CompileAs="2"
|
||||
DisableSpecificWarnings="4292"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
@@ -121,8 +124,13 @@
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalOptions="/O2b2 "
|
||||
Optimization="2"
|
||||
GlobalOptimizations="TRUE"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories="..\Standard Gaming Platform,..\,..\Tactical,..\Utils,..\tacticalai,..\Editor,..\strategic,..\Laptop,.\"
|
||||
EnableIntrinsicFunctions="TRUE"
|
||||
FavorSizeOrSpeed="1"
|
||||
OptimizeForProcessor="3"
|
||||
OptimizeForWindowsApplication="TRUE"
|
||||
AdditionalIncludeDirectories=""..\Standard Gaming Platform";..\;..\Tactical;..\Utils;..\tacticalai;..\Editor;..\strategic;..\Laptop;.\"
|
||||
PreprocessorDefinitions="CALLBACKTIMER;PRECOMPILEDHEADERS;NDEBUG;WIN32;_WINDOWS;JA2;XML_STATIC;CINTERFACE"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="0"
|
||||
@@ -136,7 +144,7 @@
|
||||
BrowseInformation="1"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="TRUE"
|
||||
CompileAs="0"/>
|
||||
CompileAs="2"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
@@ -175,7 +183,7 @@
|
||||
AdditionalOptions="/O2b2 "
|
||||
Optimization="2"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories="..\Standard Gaming Platform,..\,..\Tactical,..\Utils,..\tacticalai,..\Editor,..\strategic,..\Laptop,.\"
|
||||
AdditionalIncludeDirectories=""..\Standard Gaming Platform";..\;..\Tactical;..\Utils;..\tacticalai;..\Editor;..\strategic;..\Laptop;.\"
|
||||
PreprocessorDefinitions="NDEBUG;RELEASE_WITH_DEBUG_INFO;CALLBACKTIMER;WIN32;_WINDOWS;JA2;PRECOMPILEDHEADERS;_VTUNE_PROFILING;XML_STATIC;CINTERFACE"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="0"
|
||||
@@ -190,12 +198,14 @@
|
||||
WarningLevel="4"
|
||||
SuppressStartupBanner="TRUE"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="0"/>
|
||||
CompileAs="2"
|
||||
DisableSpecificWarnings="4292;4189"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
OutputFile=".\Release with Debug\TileEngine.lib"
|
||||
AdditionalLibraryDirectories=""
|
||||
SuppressStartupBanner="TRUE"/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"/>
|
||||
@@ -227,8 +237,8 @@
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="\Standard Gaming Platform,\ja2\Build,\ja2\Build\Tactical,\ja2\Build\Utils,\ja2\build\TacticalAI,\ja2\build\Editor,\ja2\build\strategic,\ja2\build\Laptop"
|
||||
PreprocessorDefinitions="_DEBUG;JA2DEMO;CALLBACKTIMER;WIN32;_WINDOWS;JA2;PRECOMPILEDHEADERS"
|
||||
AdditionalIncludeDirectories=""..\Standard Gaming Platform";..\;..\Tactical;..\Utils;..\tacticalai;..\Editor;..\strategic;..\Laptop;.\"
|
||||
PreprocessorDefinitions="_DEBUG;JA2DEMO;CALLBACKTIMER;WIN32;_WINDOWS;JA2;PRECOMPILEDHEADERS;XML_STATIC;CINTERFACE"
|
||||
RuntimeLibrary="1"
|
||||
UsePrecompiledHeader="2"
|
||||
PrecompiledHeaderThrough="TileEngine All.h"
|
||||
@@ -240,7 +250,7 @@
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="TRUE"
|
||||
DebugInformationFormat="1"
|
||||
CompileAs="0"/>
|
||||
CompileAs="2"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
@@ -277,7 +287,7 @@
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\Standard Gaming Platform,..\,..\Tactical,..\Utils,..\tacticalai,..\Editor,..\strategic,..\Laptop,.\"
|
||||
AdditionalIncludeDirectories=""..\Standard Gaming Platform";..\;..\Tactical;..\Utils;..\tacticalai;..\Editor;..\strategic;..\Laptop;.\"
|
||||
PreprocessorDefinitions="CALLBACKTIMER;PRECOMPILEDHEADERS;_DEBUG;WIN32;_WINDOWS;JA2;_VTUNE_PROFILING;XML_STATIC;CINTERFACE"
|
||||
RuntimeLibrary="1"
|
||||
UsePrecompiledHeader="2"
|
||||
@@ -290,7 +300,7 @@
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="TRUE"
|
||||
DebugInformationFormat="1"
|
||||
CompileAs="0"
|
||||
CompileAs="2"
|
||||
DisableSpecificWarnings="4292"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
@@ -330,7 +340,7 @@
|
||||
AdditionalOptions="/O2b2 "
|
||||
Optimization="2"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories="..\Standard Gaming Platform,..\,..\Tactical,..\Utils,..\tacticalai,..\Editor,..\strategic,..\Laptop,.\"
|
||||
AdditionalIncludeDirectories=""..\Standard Gaming Platform";..\;..\Tactical;..\Utils;..\tacticalai;..\Editor;..\strategic;..\Laptop;.\"
|
||||
PreprocessorDefinitions="RELEASE_WITH_DEBUG_INFO;NDEBUG;JA2DEMO;CALLBACKTIMER;WIN32;_WINDOWS;JA2;PRECOMPILEDHEADERS;XML_STATIC;CINTERFACE"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="0"
|
||||
@@ -345,7 +355,7 @@
|
||||
WarningLevel="4"
|
||||
SuppressStartupBanner="TRUE"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="0"/>
|
||||
CompileAs="2"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
@@ -384,8 +394,8 @@
|
||||
AdditionalOptions="/O2b2 "
|
||||
Optimization="2"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories="\Standard Gaming Platform,\ja2\Build,\ja2\Build\Tactical,\ja2\Build\Utils,\ja2\build\tacticalai,\ja2\build\Editor,\ja2\build\strategic,\ja2\build\Laptop"
|
||||
PreprocessorDefinitions="RELEASE_WITH_DEBUG_INFO;NDEBUG;JA2DEMO;CALLBACKTIMER;WIN32;_WINDOWS;JA2;PRECOMPILEDHEADERS"
|
||||
AdditionalIncludeDirectories=""..\Standard Gaming Platform";..\;..\Tactical;..\Utils;..\tacticalai;..\Editor;..\strategic;..\Laptop;.\"
|
||||
PreprocessorDefinitions="RELEASE_WITH_DEBUG_INFO;NDEBUG;JA2DEMO;CALLBACKTIMER;WIN32;_WINDOWS;JA2;PRECOMPILEDHEADERS;XML_STATIC;CINTERFACE"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="0"
|
||||
EnableFunctionLevelLinking="TRUE"
|
||||
@@ -399,7 +409,7 @@
|
||||
WarningLevel="4"
|
||||
SuppressStartupBanner="TRUE"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="0"/>
|
||||
CompileAs="2"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
@@ -1409,79 +1419,7 @@
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="physics.cpp">
|
||||
<FileConfiguration
|
||||
Name="Demo Bounds Checker|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
BrowseInformation="1"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Bounds Checker|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
BrowseInformation="1"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
BrowseInformation="1"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release with Debug Info|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
BrowseInformation="1"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Debug Demo|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
BrowseInformation="1"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
BrowseInformation="1"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Demo Release with Debug Info|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
BrowseInformation="1"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release Demo|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
BrowseInformation="1"/>
|
||||
</FileConfiguration>
|
||||
RelativePath=".\physics.cpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="pits.cpp">
|
||||
@@ -3080,6 +3018,9 @@
|
||||
<File
|
||||
RelativePath="Exit Grids.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Explosion Control.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="Fog Of War.h">
|
||||
</File>
|
||||
@@ -3095,6 +3036,9 @@
|
||||
<File
|
||||
RelativePath="Map Edgepoints.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\physics.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="pits.h">
|
||||
</File>
|
||||
|
||||
@@ -740,7 +740,7 @@ INT32 iDx, iDy;
|
||||
Returns the light level at a particular level without fake lights
|
||||
|
||||
***************************************************************************************/
|
||||
UINT8 LightTrueLevel( INT16 sGridNo, INT8 bLevel )
|
||||
UINT8 LightTrueLevel( INT16 sGridNo, INT16 bLevel )
|
||||
{
|
||||
LEVELNODE * pNode;
|
||||
INT32 iSum;
|
||||
|
||||
@@ -168,7 +168,7 @@ BOOLEAN CreateSoldierShadedPalette( SOLDIERTYPE *pSoldier, UINT32 uiBase, SGPPa
|
||||
UINT16 CreateSoldierPaletteTables(SOLDIERTYPE *pSoldier, UINT32 uiType);
|
||||
|
||||
// returns the true light value at a tile (ignoring fake/merc lights)
|
||||
UINT8 LightTrueLevel( INT16 sGridNo, INT8 bLevel );
|
||||
UINT8 LightTrueLevel( INT16 sGridNo, INT16 bLevel );
|
||||
|
||||
// system variables
|
||||
extern LIGHT_NODE *pLightList[MAX_LIGHT_TEMPLATES];
|
||||
|
||||
@@ -1694,11 +1694,10 @@ FLOAT CalculateObjectTrajectory( INT16 sTargetZ, OBJECTTYPE *pItem, vector_3 *vP
|
||||
|
||||
// WANNE 2
|
||||
// Alrighty, move this beast until it dies....
|
||||
while( pObject->fAlive)
|
||||
while( pObject->fAlive )
|
||||
{
|
||||
//cnt = cnt + 1;
|
||||
DebugMsg (TOPIC_JA2,DBG_LEVEL_3,"CalculateObjectTrajectory: calling SIMULATEobject - this object never fucking dies!!!!");
|
||||
//DebugMsg (TOPIC_JA2,DBG_LEVEL_3, String( "Counter: %d", cnt));
|
||||
DebugMsg (TOPIC_JA2,DBG_LEVEL_3,"CalculateObjectTrajectory: calling simulateobject - this object never fucking dies!!!!");
|
||||
SimulateObject( pObject, (float)DELTA_T );
|
||||
}
|
||||
|
||||
|
||||
@@ -2862,7 +2862,7 @@ UINT32 cnt = 0;
|
||||
|
||||
pDestBuf = (UINT16 *)LockVideoSurface(guiRENDERBUFFER, &uiDestPitchBYTES);
|
||||
|
||||
for ( cnt = 0; cnt < ( SCREEN_WIDTH * SCREEN_HEIGHT ); cnt++ )
|
||||
for ( cnt = 0; cnt < (UINT32)( SCREEN_WIDTH * SCREEN_HEIGHT ); cnt++ )
|
||||
{
|
||||
// Get Z value
|
||||
zVal = gpZBuffer[ cnt ];
|
||||
|
||||
@@ -95,12 +95,13 @@
|
||||
#define MAPELEMENT_EXT_NOBURN_STRUCT 0x20
|
||||
#define MAPELEMENT_EXT_ROOFCODE_VISITED 0x40
|
||||
#define MAPELEMENT_EXT_CREATUREGAS 0x80
|
||||
#define MAPELEMENT_EXT_BURNABLEGAS 0x81
|
||||
|
||||
#define FIRST_LEVEL 0
|
||||
#define SECOND_LEVEL 1
|
||||
|
||||
|
||||
#define ANY_SMOKE_EFFECT ( MAPELEMENT_EXT_CREATUREGAS | MAPELEMENT_EXT_SMOKE | MAPELEMENT_EXT_TEARGAS | MAPELEMENT_EXT_MUSTARDGAS )
|
||||
//#define ANY_SMOKE_EFFECT ( MAPELEMENT_EXT_CREATUREGAS | MAPELEMENT_EXT_SMOKE | MAPELEMENT_EXT_TEARGAS | MAPELEMENT_EXT_MUSTARDGAS )
|
||||
#define ANY_SMOKE_EFFECT ( MAPELEMENT_EXT_CREATUREGAS | MAPELEMENT_EXT_SMOKE | MAPELEMENT_EXT_TEARGAS | MAPELEMENT_EXT_MUSTARDGAS | MAPELEMENT_EXT_BURNABLEGAS )
|
||||
|
||||
|
||||
typedef struct TAG_level_node
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
#define GROUP_PLAYER 1000
|
||||
#define GROUP_AMBIENT 0
|
||||
|
||||
#define MAX_SAMPLES 5000
|
||||
#define MAX_SAMPLES 10000
|
||||
|
||||
|
||||
// SOUNDS ENUMERATION
|
||||
|
||||
@@ -320,6 +320,8 @@ enum
|
||||
STR_BLOODCATS_TURN,
|
||||
STR_AUTOFIRE,
|
||||
STR_NO_AUTOFIRE,
|
||||
STR_ACCURATE,
|
||||
STR_INACCURATE
|
||||
};
|
||||
|
||||
#define LARGE_STRING_LENGTH 200
|
||||
|
||||
+38
-317
@@ -3,8 +3,10 @@
|
||||
ProjectType="Visual C++"
|
||||
Version="7.10"
|
||||
Name="Utils"
|
||||
SccProjectName=""$/Jagged Alliance 2/Development/Programming/Jagged Alliance 2/Build", AVAAAAAA"
|
||||
SccLocalPath="..\..\..\ja2\build">
|
||||
SccProjectName=""
|
||||
SccAuxPath=""
|
||||
SccLocalPath=""
|
||||
SccProvider="">
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Win32"/>
|
||||
@@ -21,7 +23,7 @@
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories="..\Standard Gaming Platform,..\,..\Tactical,..\TileEngine,..\strategic,..\editor,.\"
|
||||
AdditionalIncludeDirectories=""..\Standard Gaming Platform";..\TileEngine;..\;..\Tactical;..\tacticalai;..\Editor;..\strategic;..\Laptop;.\"
|
||||
PreprocessorDefinitions="RELEASE_WITH_DEBUG_INFO;NDEBUG;JA2DEMO;CALLBACKTIMER;WIN32;_WINDOWS;JA2;PRECOMPILEDHEADERS;XML_STATIC;CINTERFACE"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="0"
|
||||
@@ -37,7 +39,7 @@
|
||||
WarningLevel="4"
|
||||
SuppressStartupBanner="TRUE"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="0"/>
|
||||
CompileAs="2"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
@@ -74,7 +76,7 @@
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\Standard Gaming Platform,..\TileEngine,..\,..\Tactical,..\tacticalai,..\Editor,..\strategic,..\Laptop,.\"
|
||||
AdditionalIncludeDirectories=""..\Standard Gaming Platform";..\TileEngine;..\;..\Tactical;..\tacticalai;..\Editor;..\strategic;..\Laptop;.\"
|
||||
PreprocessorDefinitions="CALLBACKTIMER;PRECOMPILEDHEADERS;_DEBUG;WIN32;_WINDOWS;JA2;_VTUNE_PROFILING;XML_STATIC;CINTERFACE"
|
||||
RuntimeLibrary="1"
|
||||
UsePrecompiledHeader="2"
|
||||
@@ -87,7 +89,7 @@
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="TRUE"
|
||||
DebugInformationFormat="1"
|
||||
CompileAs="0"
|
||||
CompileAs="2"
|
||||
DisableSpecificWarnings="4292"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
@@ -125,8 +127,8 @@
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="\ja2\build\communications,\Standard Gaming Platform,\ja2\Build,\ja2\Build\Tactical,\ja2\Build\TileEngine,\ja2\build\strategic,\ja2\build\editor"
|
||||
PreprocessorDefinitions="_DEBUG;JA2DEMO;CALLBACKTIMER;WIN32;_WINDOWS;JA2;PRECOMPILEDHEADERS"
|
||||
AdditionalIncludeDirectories=""..\Standard Gaming Platform";..\TileEngine;..\;..\Tactical;..\tacticalai;..\Editor;..\strategic;..\Laptop;.\"
|
||||
PreprocessorDefinitions="_DEBUG;JA2DEMO;CALLBACKTIMER;WIN32;_WINDOWS;JA2;PRECOMPILEDHEADERS;XML_STATIC;CINTERFACE"
|
||||
RuntimeLibrary="1"
|
||||
UsePrecompiledHeader="2"
|
||||
PrecompiledHeaderThrough="Utils All.h"
|
||||
@@ -138,7 +140,7 @@
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="TRUE"
|
||||
DebugInformationFormat="1"
|
||||
CompileAs="0"/>
|
||||
CompileAs="2"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
@@ -175,8 +177,13 @@
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
GlobalOptimizations="TRUE"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories="..\Standard Gaming Platform,..\TileEngine,..\,..\Tactical,..\tacticalai,..\Editor,..\strategic,..\Laptop,.\"
|
||||
EnableIntrinsicFunctions="TRUE"
|
||||
FavorSizeOrSpeed="1"
|
||||
OptimizeForProcessor="3"
|
||||
OptimizeForWindowsApplication="TRUE"
|
||||
AdditionalIncludeDirectories=""..\Standard Gaming Platform";..\TileEngine;..\;..\Tactical;..\tacticalai;..\Editor;..\strategic;..\Laptop;.\"
|
||||
PreprocessorDefinitions="CALLBACKTIMER;PRECOMPILEDHEADERS;NDEBUG;WIN32;_WINDOWS;JA2;XML_STATIC;CINTERFACE"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="0"
|
||||
@@ -190,7 +197,7 @@
|
||||
BrowseInformation="1"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="TRUE"
|
||||
CompileAs="0"/>
|
||||
CompileAs="2"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
@@ -228,7 +235,7 @@
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories="..\Standard Gaming Platform,..\,..\Tactical,..\TileEngine,..\strategic,..\editor,.\"
|
||||
AdditionalIncludeDirectories=""..\Standard Gaming Platform";..\TileEngine;..\;..\Tactical;..\tacticalai;..\Editor;..\strategic;..\Laptop;.\"
|
||||
PreprocessorDefinitions="NDEBUG;RELEASE_WITH_DEBUG_INFO;CALLBACKTIMER;WIN32;_WINDOWS;JA2;PRECOMPILEDHEADERS;_VTUNE_PROFILING;XML_STATIC;CINTERFACE"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="0"
|
||||
@@ -244,7 +251,8 @@
|
||||
WarningLevel="4"
|
||||
SuppressStartupBanner="TRUE"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="0"/>
|
||||
CompileAs="2"
|
||||
DisableSpecificWarnings="4292;4189"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
@@ -281,8 +289,8 @@
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="\ja2\build\communications,\Standard Gaming Platform,\ja2\Build,\ja2\Build\Tactical,\ja2\Build\TileEngine,\ja2\build\strategic,\ja2\build\editor"
|
||||
PreprocessorDefinitions="_DEBUG;BOUNDS_CHECKER;CALLBACKTIMER;WIN32;_WINDOWS;JA2;PRECOMPILEDHEADERS;_VTUNE_PROFILING"
|
||||
AdditionalIncludeDirectories=""..\Standard Gaming Platform";..\TileEngine;..\;..\Tactical;..\tacticalai;..\Editor;..\strategic;..\Laptop;.\"
|
||||
PreprocessorDefinitions="_DEBUG;BOUNDS_CHECKER;CALLBACKTIMER;WIN32;_WINDOWS;JA2;PRECOMPILEDHEADERS;_VTUNE_PROFILING;XML_STATIC;CINTERFACE"
|
||||
RuntimeLibrary="1"
|
||||
UsePrecompiledHeader="2"
|
||||
PrecompiledHeaderThrough="Utils All.h"
|
||||
@@ -294,7 +302,8 @@
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="TRUE"
|
||||
DebugInformationFormat="1"
|
||||
CompileAs="0"/>
|
||||
CompileAs="2"
|
||||
DisableSpecificWarnings="4292"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
@@ -331,8 +340,8 @@
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="\ja2\build\communications,\Standard Gaming Platform,\ja2\Build,\ja2\Build\Tactical,\ja2\Build\TileEngine,\ja2\build\strategic,\ja2\build\editor"
|
||||
PreprocessorDefinitions="_DEBUG;BOUNDS_CHECKER;JA2DEMO;CALLBACKTIMER;WIN32;_WINDOWS;JA2;PRECOMPILEDHEADERS"
|
||||
AdditionalIncludeDirectories=""..\Standard Gaming Platform";..\TileEngine;..\;..\Tactical;..\tacticalai;..\Editor;..\strategic;..\Laptop;.\"
|
||||
PreprocessorDefinitions="_DEBUG;BOUNDS_CHECKER;JA2DEMO;CALLBACKTIMER;WIN32;_WINDOWS;JA2;PRECOMPILEDHEADERS;XML_STATIC;CINTERFACE"
|
||||
RuntimeLibrary="1"
|
||||
UsePrecompiledHeader="2"
|
||||
PrecompiledHeaderThrough="Utils All.h"
|
||||
@@ -344,7 +353,7 @@
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="TRUE"
|
||||
DebugInformationFormat="1"
|
||||
CompileAs="0"/>
|
||||
CompileAs="2"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
@@ -382,8 +391,8 @@
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories="\ja2\Build\Communications,\Standard Gaming Platform,\ja2\Build,\ja2\Build\Tactical,\ja2\Build\TileEngine,\ja2\build\strategic,\ja2\build\editor"
|
||||
PreprocessorDefinitions="RELEASE_WITH_DEBUG_INFO;NDEBUG;JA2DEMO;CALLBACKTIMER;WIN32;_WINDOWS;JA2;PRECOMPILEDHEADERS"
|
||||
AdditionalIncludeDirectories=""..\Standard Gaming Platform";..\TileEngine;..\;..\Tactical;..\tacticalai;..\Editor;..\strategic;..\Laptop;.\"
|
||||
PreprocessorDefinitions="RELEASE_WITH_DEBUG_INFO;NDEBUG;JA2DEMO;CALLBACKTIMER;WIN32;_WINDOWS;JA2;PRECOMPILEDHEADERS;XML_STATIC;CINTERFACE"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="0"
|
||||
EnableFunctionLevelLinking="TRUE"
|
||||
@@ -398,7 +407,7 @@
|
||||
WarningLevel="4"
|
||||
SuppressStartupBanner="TRUE"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="0"/>
|
||||
CompileAs="2"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
@@ -1783,79 +1792,7 @@
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="INIReader.cpp">
|
||||
<FileConfiguration
|
||||
Name="Demo Release with Debug Info|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
BrowseInformation="1"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
BrowseInformation="1"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Debug Demo|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
BrowseInformation="1"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
BrowseInformation="1"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release with Debug Info|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
BrowseInformation="1"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Bounds Checker|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
BrowseInformation="1"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Demo Bounds Checker|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
BrowseInformation="1"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release Demo|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
BrowseInformation="1"/>
|
||||
</FileConfiguration>
|
||||
RelativePath=".\INIReader.cpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="MapUtility.cpp">
|
||||
@@ -3133,234 +3070,18 @@
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="XML_Items.cpp">
|
||||
<FileConfiguration
|
||||
Name="Demo Release with Debug Info|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
BrowseInformation="1"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
BrowseInformation="1"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Debug Demo|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
BrowseInformation="1"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
BrowseInformation="1"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release with Debug Info|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
BrowseInformation="1"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Bounds Checker|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
BrowseInformation="1"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Demo Bounds Checker|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
BrowseInformation="1"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release Demo|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
BrowseInformation="1"/>
|
||||
</FileConfiguration>
|
||||
RelativePath=".\XML_Strings.cpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="XML_Strings.cpp">
|
||||
<FileConfiguration
|
||||
Name="Demo Release with Debug Info|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
BrowseInformation="1"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
BrowseInformation="1"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Debug Demo|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
BrowseInformation="1"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
BrowseInformation="1"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release with Debug Info|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
BrowseInformation="1"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Bounds Checker|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
BrowseInformation="1"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Demo Bounds Checker|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
BrowseInformation="1"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release Demo|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
BrowseInformation="1"/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="XML_Strings2.cpp">
|
||||
<FileConfiguration
|
||||
Name="Demo Release with Debug Info|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
BrowseInformation="1"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
BrowseInformation="1"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Debug Demo|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
BrowseInformation="1"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
BrowseInformation="1"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release with Debug Info|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
BrowseInformation="1"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Bounds Checker|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
BrowseInformation="1"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Demo Bounds Checker|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
BrowseInformation="1"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release Demo|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
BrowseInformation="1"/>
|
||||
</FileConfiguration>
|
||||
RelativePath=".\XML_Strings2.cpp">
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Header Files"
|
||||
Filter="h;hpp;hxx;hm;inl;fi;fd">
|
||||
<File
|
||||
RelativePath=".\_Ja25EnglishText.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="_Ja25GermanText.h">
|
||||
</File>
|
||||
@@ -3386,7 +3107,7 @@
|
||||
RelativePath="Font Control.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="INIReader.h">
|
||||
RelativePath=".\INIReader.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="message.h">
|
||||
|
||||
+11
-4
@@ -185,7 +185,8 @@ itemStartElementHandle(void *userData, const char *name, const char **atts)
|
||||
strcmp(name, "MagSizeBonus") == 0 ||
|
||||
strcmp(name, "PercentAutofireAPReduction") == 0 ||
|
||||
strcmp(name, "PercentBurstFireAPReduction") == 0 ||
|
||||
strcmp(name, "AutoFireBonus") == 0 ||
|
||||
strcmp(name, "AutoFireToHitBonus") == 0 ||
|
||||
strcmp(name, "APBonus") == 0 ||
|
||||
strcmp(name, "RateOfFireBonus") == 0 ||
|
||||
strcmp(name, "BurstSizeBonus") == 0 ||
|
||||
strcmp(name, "PercentReadyTimeAPReduction") == 0 ||
|
||||
@@ -569,10 +570,15 @@ itemEndElementHandle(void *userData, const char *name)
|
||||
pData->curElement = ELEMENT;
|
||||
pData->curItem.percentburstfireapreduction = (INT16) atol(pData->szCharData);
|
||||
}
|
||||
else if(strcmp(name, "AutoFireBonus") == 0)
|
||||
else if(strcmp(name, "AutoFireToHitBonus") == 0)
|
||||
{
|
||||
pData->curElement = ELEMENT;
|
||||
pData->curItem.autofirebonus = (INT16) atol(pData->szCharData);
|
||||
pData->curItem.autofiretohitbonus = (INT16) atol(pData->szCharData);
|
||||
}
|
||||
else if(strcmp(name, "APBonus") == 0)
|
||||
{
|
||||
pData->curElement = ELEMENT;
|
||||
pData->curItem.APBonus = (INT16) atol(pData->szCharData);
|
||||
}
|
||||
else if(strcmp(name, "RateOfFireBonus") == 0)
|
||||
{
|
||||
@@ -1349,7 +1355,8 @@ BOOLEAN WriteItemStats()
|
||||
FilePrintf(hFile,"\t\t<BurstSizeBonus>%d</BurstSizeBonus>\r\n", Item[cnt].burstsizebonus );
|
||||
FilePrintf(hFile,"\t\t<BestLaserRange>%d</BestLaserRange>\r\n", Item[cnt].bestlaserrange );
|
||||
FilePrintf(hFile,"\t\t<BurstToHitBonus>%d</BurstToHitBonus>\r\n", Item[cnt].bursttohitbonus );
|
||||
FilePrintf(hFile,"\t\t<AutoFireBonus>%d</AutoFireBonus>\r\n", Item[cnt].autofirebonus );
|
||||
FilePrintf(hFile,"\t\t<AutofireToHitBonus>%d</AutofireToHitBonus>\r\n", Item[cnt].autofiretohitbonus);
|
||||
FilePrintf(hFile,"\t\t<APBonus>%d</APBonus>\r\n", Item[cnt].APBonus );
|
||||
|
||||
FilePrintf(hFile,"\t\t<PercentBurstFireAPReduction>%d</PercentBurstFireAPReduction>\r\n", Item[cnt].percentburstfireapreduction );
|
||||
FilePrintf(hFile,"\t\t<PercentAutofireAPReduction>%d</PercentAutofireAPReduction>\r\n", Item[cnt].percentautofireapreduction );
|
||||
|
||||
@@ -297,6 +297,8 @@ UINT16 Message[][STRING_LENGTH] =
|
||||
L"Bloodcats' turn",
|
||||
L"full auto",
|
||||
L"no full auto",
|
||||
L"accurate",
|
||||
L"inaccurate",
|
||||
};
|
||||
|
||||
|
||||
@@ -3253,8 +3255,8 @@ STR16 zSaveLoadText[] =
|
||||
|
||||
L"Saving...", //When saving a game, a message box with this string appears on the screen
|
||||
|
||||
L"No Air Strikes",
|
||||
L"Air Strikes",
|
||||
L"Tons of Guns",
|
||||
L"10 Tons of Guns",
|
||||
L"Realistic style",
|
||||
L"Sci Fi style",
|
||||
|
||||
@@ -3441,9 +3443,9 @@ STR16 gzGIOScreenText[] =
|
||||
L"Realistic",
|
||||
L"Sci Fi",
|
||||
L"Platinum",
|
||||
L"Air Strikes",
|
||||
L"On",
|
||||
L"Off",
|
||||
L"Items",
|
||||
L"10 Tons of Guns",
|
||||
L"Tons of Guns",
|
||||
L"Difficulty Level",
|
||||
L"Novice",
|
||||
L"Experienced",
|
||||
|
||||
+13
-17
@@ -222,7 +222,7 @@ void EnterTacticalScreen( )
|
||||
guiTacticalLeaveScreen = FALSE;
|
||||
|
||||
DebugMsg(TOPIC_JA2,DBG_LEVEL_3,String("EnterTacticalScreen: setpositionsndsactive"));
|
||||
SetPositionSndsActive( );
|
||||
SetPositionSndsActive( );
|
||||
|
||||
// Set pending screen
|
||||
DebugMsg(TOPIC_JA2,DBG_LEVEL_3,String("EnterTacticalScreen: setpendingnewscreen"));
|
||||
@@ -243,23 +243,16 @@ void EnterTacticalScreen( )
|
||||
DebugMsg(TOPIC_JA2,DBG_LEVEL_3,String("EnterTacticalScreen: check our guy"));
|
||||
if ( !OK_CONTROLLABLE_MERC( MercPtrs[ gusSelectedSoldier ] ) )
|
||||
{
|
||||
DebugMsg(TOPIC_JA2,DBG_LEVEL_3,String("EnterTacticalScreen: guy not controllable, select next"));
|
||||
DebugMsg(TOPIC_JA2,DBG_LEVEL_3,String("EnterTacticalScreen: SelectNextAvailSoldier, merc not controllable"));
|
||||
SelectNextAvailSoldier( MercPtrs[ gusSelectedSoldier ] );
|
||||
}
|
||||
DebugMsg(TOPIC_JA2,DBG_LEVEL_3,String("EnterTacticalScreen: who is selected? %d", gusSelectedSoldier));
|
||||
// ATE: If the current guy is sleeping, change....
|
||||
if ( MercPtrs[ gusSelectedSoldier ] != NULL && MercPtrs[ gusSelectedSoldier ]->fMercAsleep )
|
||||
if ( gusSelectedSoldier != NOBODY && MercPtrs[ gusSelectedSoldier ]->fMercAsleep )
|
||||
{
|
||||
DebugMsg(TOPIC_JA2,DBG_LEVEL_3,String("EnterTacticalScreen: guy asleep, select next"));
|
||||
DebugMsg(TOPIC_JA2,DBG_LEVEL_3,String("EnterTacticalScreen: SelectNextAvailSoldier, merc asleep"));
|
||||
SelectNextAvailSoldier( MercPtrs[ gusSelectedSoldier ] );
|
||||
}
|
||||
else if ( MercPtrs[ gusSelectedSoldier ] == NULL && gfInAirRaid ) //Madd - added to prevent air raid crash
|
||||
{
|
||||
for ( int i = 0; i < 20; i++ )
|
||||
{
|
||||
RemoveCharacterFromSquads(MercPtrs[i]);
|
||||
AddCharacterToAnySquad(MercPtrs[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -281,6 +274,8 @@ void EnterTacticalScreen( )
|
||||
|
||||
//UpdateMercsInSector( gWorldSectorX, gWorldSectorY, gbWorldSectorZ );
|
||||
|
||||
DebugMsg(TOPIC_JA2,DBG_LEVEL_3,String("EnterTacticalScreen: Init Interface"));
|
||||
|
||||
// Init interface ( ALWAYS TO TEAM PANEL. DEF changed it to go back to the previous panel )
|
||||
if( !gfTacticalPlacementGUIActive )
|
||||
{
|
||||
@@ -294,8 +289,8 @@ void EnterTacticalScreen( )
|
||||
DebugMsg(TOPIC_JA2,DBG_LEVEL_3,String("EnterTacticalScreen: settacticalinterfaceflags"));
|
||||
SetTacticalInterfaceFlags( 0 );
|
||||
|
||||
DebugMsg(TOPIC_JA2,DBG_LEVEL_3,String("EnterTacticalScreen: set default squad on sector entry"));
|
||||
// set default squad on sector entry
|
||||
DebugMsg(TOPIC_JA2,DBG_LEVEL_3,String("EnterTacticalScreen:selectdefaultsquadonsectorentry"));
|
||||
SetDefaultSquadOnSectorEntry( FALSE );
|
||||
ExamineCurrentSquadLights( );
|
||||
|
||||
@@ -312,6 +307,7 @@ void EnterTacticalScreen( )
|
||||
// Select current guy...
|
||||
//gfGameScreenLocateToSoldier = TRUE;
|
||||
|
||||
DebugMsg(TOPIC_JA2,DBG_LEVEL_3,String("EnterTacticalScreen: check meanwhile"));
|
||||
// Locate if in meanwhile...
|
||||
if ( AreInMeanwhile( ) )
|
||||
{
|
||||
@@ -323,14 +319,15 @@ void EnterTacticalScreen( )
|
||||
InternalLocateGridNo( 4561, TRUE );
|
||||
}
|
||||
|
||||
DebugMsg(TOPIC_JA2,DBG_LEVEL_3,String("EnterTacticalScreen: clear messages"));
|
||||
// Clear tactical message q
|
||||
DebugMsg(TOPIC_JA2,DBG_LEVEL_3,String("EnterTacticalScreen:cleartacticalmessagequeue"));
|
||||
ClearTacticalMessageQueue( );
|
||||
|
||||
// ATE: Enable messages again...
|
||||
EnableScrollMessages( );
|
||||
|
||||
DebugMsg(TOPIC_JA2,DBG_LEVEL_3,String("EnterTacticalScreen: done"));
|
||||
|
||||
}
|
||||
|
||||
void LeaveTacticalScreen( UINT32 uiNewScreen )
|
||||
@@ -600,13 +597,12 @@ UINT32 MainGameScreenHandle(void)
|
||||
HandleOverheadMap( );
|
||||
return( GAME_SCREEN );
|
||||
}
|
||||
|
||||
/*
|
||||
if ( !ARE_IN_FADE_IN( ) )
|
||||
{
|
||||
DebugMsg(TOPIC_JA2,DBG_LEVEL_3,String("maingamescreenhandle: HandleAirRaid"));
|
||||
HandleAirRaid( );
|
||||
}
|
||||
|
||||
*/
|
||||
if ( gfGameScreenLocateToSoldier )
|
||||
{
|
||||
DebugMsg(TOPIC_JA2,DBG_LEVEL_3,String("maingamescreenhandle: tacticalscreenlocatetosoldier"));
|
||||
|
||||
Reference in New Issue
Block a user