mirror of
https://github.com/1dot13/source.git
synced 2026-07-29 13:52:17 +02:00
Compare commits
1
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
58c134bd8e |
@@ -77,7 +77,7 @@ jobs:
|
|||||||
arch: x86
|
arch: x86
|
||||||
- name: Prepare build
|
- name: Prepare build
|
||||||
run: |
|
run: |
|
||||||
cmake -S . -B build -GNinja -DCMAKE_BUILD_TYPE=RelWithDebInfo -DLanguages="$Env:JA2Language" -DApplications="$Env:JA2Application"
|
cmake -S . -B build -GNinja -DCMAKE_BUILD_TYPE=Release -DLanguages="$Env:JA2Language" -DApplications="$Env:JA2Application"
|
||||||
- name: Build
|
- name: Build
|
||||||
run: |
|
run: |
|
||||||
cmake --build build/ -- -v
|
cmake --build build/ -- -v
|
||||||
|
|||||||
@@ -13,6 +13,7 @@
|
|||||||
#include "Font Control.h"
|
#include "Font Control.h"
|
||||||
#include "Cursors.h"
|
#include "Cursors.h"
|
||||||
#include "Font.h"
|
#include "Font.h"
|
||||||
|
#include "WordWrap.h"
|
||||||
#include "sysutil.h"
|
#include "sysutil.h"
|
||||||
#include "input.h"
|
#include "input.h"
|
||||||
#include "english.h"
|
#include "english.h"
|
||||||
|
|||||||
+37
-24
@@ -1,27 +1,40 @@
|
|||||||
#include "types.h"
|
#include "types.h"
|
||||||
#include "FeaturesScreen.h"
|
#include "FeaturesScreen.h"
|
||||||
#include "video.h"
|
#include "video.h"
|
||||||
#include "Font Control.h"
|
#include "Font Control.h"
|
||||||
#include "Game Clock.h"
|
#include "Game Clock.h"
|
||||||
#include "Text Input.h"
|
#include "Text Input.h"
|
||||||
#include "WordWrap.h"
|
#include "WordWrap.h"
|
||||||
#include "SaveLoadScreen.h"
|
#include "SaveLoadScreen.h"
|
||||||
#include "Render Dirty.h"
|
#include "Render Dirty.h"
|
||||||
#include "WCheck.h"
|
#include "WordWrap.h"
|
||||||
#include "Utilities.h"
|
#include "WCheck.h"
|
||||||
#include "Sound Control.h"
|
#include "Utilities.h"
|
||||||
#include "Ambient Control.h"
|
#include "DEBUG.H"
|
||||||
#include "GameSettings.h"
|
#include "Sound Control.h"
|
||||||
#include "Game Init.h"
|
#include "Ambient Control.h"
|
||||||
#include "english.h"
|
#include "WorldDat.h"
|
||||||
#include "Cursors.h"
|
#include "worlddef.h"
|
||||||
#include "sysutil.h"
|
#include "GameSettings.h"
|
||||||
#include "Text.h"
|
#include "Game Init.h"
|
||||||
#include "Interface Control.h"
|
#include "english.h"
|
||||||
#include "message.h"
|
#include "Overhead.h"
|
||||||
#include "Multi Language Graphic Utils.h"
|
#include "GAP.H"
|
||||||
#include "connect.h"
|
#include "Cursors.h"
|
||||||
#include "mainmenuscreen.h"
|
#include "sysutil.h"
|
||||||
|
#include "Exit Grids.h"
|
||||||
|
#include "Text.h"
|
||||||
|
#include "Interface Control.h"
|
||||||
|
#include "message.h"
|
||||||
|
#include "Multi Language Graphic Utils.h"
|
||||||
|
#include "Map Information.h"
|
||||||
|
#include "Sys Globals.h"
|
||||||
|
#include "insurance.h"
|
||||||
|
|
||||||
|
#include "connect.h"
|
||||||
|
#include "worldman.h"
|
||||||
|
#include "Init.h"
|
||||||
|
#include "Game Events.h"
|
||||||
|
|
||||||
extern UINT32 guiDoneButton; // symbol already declared globally in AimArchives.cpp (jonathanl)
|
extern UINT32 guiDoneButton; // symbol already declared globally in AimArchives.cpp (jonathanl)
|
||||||
|
|
||||||
|
|||||||
@@ -1,30 +1,38 @@
|
|||||||
#include "types.h"
|
#include "types.h"
|
||||||
#include "GameInitOptionsScreen.h"
|
#include "GameInitOptionsScreen.h"
|
||||||
#include "GameSettings.h"
|
#include "GameSettings.h"
|
||||||
#include "Utilities.h"
|
#include "Utilities.h"
|
||||||
#include "WCheck.h"
|
#include "WCheck.h"
|
||||||
#include "Font Control.h"
|
#include "Font Control.h"
|
||||||
#include "WordWrap.h"
|
#include "WordWrap.h"
|
||||||
#include "Render Dirty.h"
|
#include "Render Dirty.h"
|
||||||
#include "input.h"
|
#include "input.h"
|
||||||
#include "Options Screen.h"
|
#include "Options Screen.h"
|
||||||
#include "english.h"
|
#include "english.h"
|
||||||
#include "sysutil.h"
|
#include "sysutil.h"
|
||||||
#include "Fade Screen.h"
|
#include "Fade Screen.h"
|
||||||
#include "Cursor Control.h"
|
#include "Cursor Control.h"
|
||||||
#include "Music Control.h"
|
#include "Music Control.h"
|
||||||
#include "Cursors.h"
|
#include "Cursors.h"
|
||||||
#include "Intro.h"
|
#include "Intro.h"
|
||||||
#include "Text.h"
|
#include "Text.h"
|
||||||
#include "_Ja25EnglishText.h"
|
#include "_Ja25EnglishText.h"
|
||||||
#include "Soldier Profile.h"
|
#include "Soldier Profile.h"
|
||||||
#include "SaveLoadScreen.h"
|
|
||||||
#include <vfs/Core/vfs.h>
|
|
||||||
#include <vfs/Tools/vfs_property_container.h>
|
|
||||||
|
|
||||||
|
#include "gameloop.h"
|
||||||
|
#include "connect.h"
|
||||||
|
#include "SaveLoadScreen.h"
|
||||||
|
|
||||||
|
#ifdef JA2UB
|
||||||
|
#include "ub_config.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <vfs/Core/vfs.h>
|
||||||
|
#include <vfs/Core/vfs_init.h>
|
||||||
|
#include <vfs/Tools/vfs_property_container.h>
|
||||||
|
#include <vfs/Core/vfs_os_functions.h>
|
||||||
|
|
||||||
#ifdef JA2UB
|
#ifdef JA2UB
|
||||||
#include "ub_config.h"
|
|
||||||
|
|
||||||
// *********************************
|
// *********************************
|
||||||
// Unfinished Business: Initial Game Screen
|
// Unfinished Business: Initial Game Screen
|
||||||
|
|||||||
@@ -13,6 +13,7 @@
|
|||||||
#include "HelpScreen.h"
|
#include "HelpScreen.h"
|
||||||
#include "INIReader.h"
|
#include "INIReader.h"
|
||||||
#include "Shade Table Util.h"
|
#include "Shade Table Util.h"
|
||||||
|
#include "soldier profile type.h"
|
||||||
#include "random.h"
|
#include "random.h"
|
||||||
#include "SaveLoadGame.h"
|
#include "SaveLoadGame.h"
|
||||||
#include "sgp.h"
|
#include "sgp.h"
|
||||||
@@ -35,6 +36,7 @@
|
|||||||
#include "connect.h"
|
#include "connect.h"
|
||||||
#include "sgp_logger.h"
|
#include "sgp_logger.h"
|
||||||
|
|
||||||
|
#include "Map Information.h"
|
||||||
|
|
||||||
#include "GameInitOptionsScreen.h"
|
#include "GameInitOptionsScreen.h"
|
||||||
|
|
||||||
@@ -154,7 +156,7 @@ BOOLEAN UsingInventoryCostsAPSystem()
|
|||||||
return ( gGameExternalOptions.fInventoryCostsAP );
|
return ( gGameExternalOptions.fInventoryCostsAP );
|
||||||
}
|
}
|
||||||
|
|
||||||
static std::string StringToLower(std::string strToConvert)
|
std::string StringToLower(std::string strToConvert)
|
||||||
{//change each element of the string to lower case
|
{//change each element of the string to lower case
|
||||||
for(unsigned int i=0;i<strToConvert.length();i++)
|
for(unsigned int i=0;i<strToConvert.length();i++)
|
||||||
{
|
{
|
||||||
@@ -183,7 +185,7 @@ BOOLEAN IsNIVModeValid(bool checkRes)
|
|||||||
return isValid;
|
return isValid;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void UpdateFeatureFlags()
|
void UpdateFeatureFlags()
|
||||||
{
|
{
|
||||||
// do we need to override some ini settings?
|
// do we need to override some ini settings?
|
||||||
if (gGameSettings.fFeatures[FF_FEATURES_SCREEN])
|
if (gGameSettings.fFeatures[FF_FEATURES_SCREEN])
|
||||||
|
|||||||
+25
-20
@@ -1,23 +1,27 @@
|
|||||||
#include "sgp.h"
|
#include "sgp.h"
|
||||||
#include "sysutil.h"
|
#include "sysutil.h"
|
||||||
#include "WCheck.h"
|
#include "vobject_blitters.h"
|
||||||
#include "Cursors.h"
|
#include "WCheck.h"
|
||||||
#include "Font Control.h"
|
#include "Cursors.h"
|
||||||
#include "Render Dirty.h"
|
#include "Font Control.h"
|
||||||
#include "Text.h"
|
#include "Cursor Control.h"
|
||||||
#include "Utilities.h"
|
#include "Render Dirty.h"
|
||||||
#include "WordWrap.h"
|
#include "Text.h"
|
||||||
#include "HelpScreen.h"
|
#include "Utilities.h"
|
||||||
#include "HelpScreenText.h"
|
#include "WordWrap.h"
|
||||||
#include "line.h"
|
#include "Font Control.h"
|
||||||
#include "Game Clock.h"
|
#include "Text.h"
|
||||||
#include "GameSettings.h"
|
#include "HelpScreen.h"
|
||||||
#include "laptop.h"
|
#include "HelpScreenText.h"
|
||||||
#include "Text Input.h"
|
#include "line.h"
|
||||||
#include "english.h"
|
#include "Game Clock.h"
|
||||||
#include "renderworld.h"
|
#include "GameSettings.h"
|
||||||
#include "Game Init.h"
|
#include "laptop.h"
|
||||||
#include "Overhead.h"
|
#include "Text Input.h"
|
||||||
|
#include "english.h"
|
||||||
|
#include "renderworld.h"
|
||||||
|
#include "Game Init.h"
|
||||||
|
#include "Overhead.h"
|
||||||
|
|
||||||
extern INT16 gsVIEWPORT_END_Y;
|
extern INT16 gsVIEWPORT_END_Y;
|
||||||
extern void PrintDate( void );
|
extern void PrintDate( void );
|
||||||
@@ -304,6 +308,7 @@ void SelectHelpScrollAreaCallBack( MOUSE_REGION * pRegion, INT32 iReason );
|
|||||||
|
|
||||||
// region to mask the background
|
// region to mask the background
|
||||||
MOUSE_REGION gHelpScreenScrollAreaArrows;
|
MOUSE_REGION gHelpScreenScrollAreaArrows;
|
||||||
|
void SelectHelpScrollAreaArrowsCallBack( MOUSE_REGION * pRegion, INT32 iReason );
|
||||||
|
|
||||||
|
|
||||||
//checkbox to toggle show help again toggle
|
//checkbox to toggle show help again toggle
|
||||||
|
|||||||
+143
-45
@@ -1,47 +1,55 @@
|
|||||||
#include "builddefines.h"
|
#include "builddefines.h"
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include "sgp.h"
|
#include "sgp.h"
|
||||||
#include "Screens.h"
|
#include "gameloop.h"
|
||||||
#include "vobject_blitters.h"
|
#include "Screens.h"
|
||||||
#include "sysutil.h"
|
#include "INIReader.h"
|
||||||
#include "worlddef.h"
|
#include "vobject_blitters.h"
|
||||||
#include "Animation Data.h"
|
#include "renderworld.h"
|
||||||
#include "Overhead.h"
|
#include "mousesystem.h"
|
||||||
#include "Font Control.h"
|
#include "sysutil.h"
|
||||||
#include <himage.h>
|
#include "worlddef.h"
|
||||||
#include <vobject.h>
|
#include "Animation Data.h"
|
||||||
#include "Timer Control.h"
|
#include "Overhead.h"
|
||||||
#include "Utilities.h"
|
#include "Font Control.h"
|
||||||
#include "Render Dirty.h"
|
#include "Button System.h"
|
||||||
#include "Sound Control.h"
|
#include "Timer Control.h"
|
||||||
#include "lighting.h"
|
#include "Utilities.h"
|
||||||
#include "Cursor Control.h"
|
#include "Radar Screen.h"
|
||||||
#include "Music Control.h"
|
#include "Render Dirty.h"
|
||||||
#include "video.h"
|
#include "Sound Control.h"
|
||||||
#include "maputility.h"
|
#include "Event Pump.h"
|
||||||
#include "strategic.h"
|
#include "lighting.h"
|
||||||
#include "Dialogue Control.h"
|
#include "Cursor Control.h"
|
||||||
#include "Text.h"
|
#include "Music Control.h"
|
||||||
#include "laptop.h"
|
#include "video.h"
|
||||||
#include "MercTextBox.h"
|
#include "mapscreen.h"
|
||||||
#include "Tile Cache.h"
|
#include "Interface Items.h"
|
||||||
#include "strategicmap.h"
|
#include "maputility.h"
|
||||||
#include "Map Information.h"
|
#include "strategic.h"
|
||||||
#include "Shade Table Util.h"
|
#include "Dialogue Control.h"
|
||||||
#include "Exit Grids.h"
|
#include "Text.h"
|
||||||
#include "Summary Info.h"
|
#include "laptop.h"
|
||||||
#include "GameSettings.h"
|
#include "NPC.h"
|
||||||
#include "Game Init.h"
|
#include "MercTextBox.h"
|
||||||
#include "Init.h"
|
#include "Tile Cache.h"
|
||||||
#include "jascreens.h"
|
#include "strategicmap.h"
|
||||||
#include "XML.h"
|
#include "Map Information.h"
|
||||||
#include "SaveLoadGame.h"
|
#include "Shade Table Util.h"
|
||||||
#include "Weapons.h"
|
#include "Exit Grids.h"
|
||||||
#include "Strategic Movement.h"
|
#include "Summary Info.h"
|
||||||
#include "Vehicles.h"
|
#include "GameSettings.h"
|
||||||
#include "Multilingual Text Code Generator.h"
|
#include "Game Init.h"
|
||||||
#include "editscreen.h"
|
#include "Init.h"
|
||||||
#include "Arms Dealer Init.h"
|
#include "jascreens.h"
|
||||||
|
#include "XML.h"
|
||||||
|
#include "SaveLoadGame.h"
|
||||||
|
#include "Weapons.h"
|
||||||
|
#include "Strategic Movement.h"
|
||||||
|
#include "Vehicles.h"
|
||||||
|
#include "Multilingual Text Code Generator.h"
|
||||||
|
#include "editscreen.h"
|
||||||
|
#include "Arms Dealer Init.h"
|
||||||
#include "Map Screen Interface Bottom.h"
|
#include "Map Screen Interface Bottom.h"
|
||||||
#include "MPXmlTeams.hpp"
|
#include "MPXmlTeams.hpp"
|
||||||
#include "Strategic Mines LUA.h"
|
#include "Strategic Mines LUA.h"
|
||||||
@@ -49,6 +57,8 @@
|
|||||||
#include "lua_state.h"
|
#include "lua_state.h"
|
||||||
|
|
||||||
#include "Interface.h"
|
#include "Interface.h"
|
||||||
|
#include "Strategic Town Loyalty.h"
|
||||||
|
#include "Soldier Profile.h"
|
||||||
#include "aim.h"
|
#include "aim.h"
|
||||||
#include "mainmenuscreen.h"
|
#include "mainmenuscreen.h"
|
||||||
#include "email.h"
|
#include "email.h"
|
||||||
@@ -60,6 +70,7 @@
|
|||||||
#include "ub_config.h"
|
#include "ub_config.h"
|
||||||
|
|
||||||
|
|
||||||
|
#include "Civ Quotes.h"
|
||||||
#include "LuaInitNPCs.h"
|
#include "LuaInitNPCs.h"
|
||||||
#include "BriefingRoom_Data.h"
|
#include "BriefingRoom_Data.h"
|
||||||
#include "AimArchives.h"
|
#include "AimArchives.h"
|
||||||
@@ -85,6 +96,20 @@ extern BOOLEAN GetCDromDriveLetter( STR8 pString );
|
|||||||
extern BOOLEAN gfUseConsecutiveQuickSaveSlots;
|
extern BOOLEAN gfUseConsecutiveQuickSaveSlots;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined( GERMAN ) && !defined( _DEBUG )
|
||||||
|
//#define LASERLOCK_ENABLED
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef LASERLOCK_ENABLED
|
||||||
|
int LASERLOK_Init( HINSTANCE hInstance );
|
||||||
|
int LASERLOK_Run();
|
||||||
|
int LASERLOK_Check();
|
||||||
|
|
||||||
|
BOOLEAN PrepareLaserLockSystem();
|
||||||
|
void HandleLaserLockResult( BOOLEAN fSuccess );
|
||||||
|
// int TestCall( int n);
|
||||||
|
#endif
|
||||||
|
|
||||||
extern HINSTANCE ghInstance;
|
extern HINSTANCE ghInstance;
|
||||||
|
|
||||||
@@ -115,7 +140,7 @@ static void AddLanguagePrefix(STR fileName)
|
|||||||
AddLanguagePrefix( fileName, GetLanguagePrefix());
|
AddLanguagePrefix( fileName, GetLanguagePrefix());
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ResetEmptyRPCFaceSlots()
|
void ResetEmptyRPCFaceSlots()
|
||||||
{
|
{
|
||||||
//legion by jazz (load small faces from rpcs)
|
//legion by jazz (load small faces from rpcs)
|
||||||
// reset empty slots with "-1"
|
// reset empty slots with "-1"
|
||||||
@@ -1387,6 +1412,11 @@ if( g_lang != i18n::Lang::en ) {
|
|||||||
|
|
||||||
UINT32 InitializeJA2(void)
|
UINT32 InitializeJA2(void)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
#ifdef LASERLOCK_ENABLED
|
||||||
|
HandleLaserLockResult( PrepareLaserLockSystem() );
|
||||||
|
#endif
|
||||||
|
|
||||||
HandleJA2CDCheck( );
|
HandleJA2CDCheck( );
|
||||||
|
|
||||||
gfWorldLoaded = FALSE;
|
gfWorldLoaded = FALSE;
|
||||||
@@ -1650,6 +1680,74 @@ void ShutdownJA2(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef LASERLOCK_ENABLED
|
||||||
|
|
||||||
|
BOOLEAN PrepareLaserLockSystem()
|
||||||
|
{
|
||||||
|
INT32 iInitRetVal=0;
|
||||||
|
INT32 iRunRetVal=0;
|
||||||
|
INT32 iCheckRetVal=0;
|
||||||
|
CHAR8 zDirectory[512];
|
||||||
|
|
||||||
|
CHAR8 zCdLocation[ SGPFILENAME_LEN ];
|
||||||
|
CHAR8 zCdFile[ SGPFILENAME_LEN ];
|
||||||
|
|
||||||
|
//Get the "current" file directory
|
||||||
|
GetFileManCurrentDirectory( zDirectory );
|
||||||
|
|
||||||
|
if( GetCDromDriveLetter( zCdLocation ) )
|
||||||
|
{
|
||||||
|
// OK, build filename
|
||||||
|
sprintf( zCdFile, "%s%s", zCdLocation, "Data" );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
goto FAILED_LASERLOK;
|
||||||
|
}
|
||||||
|
|
||||||
|
//Go back to the root directory
|
||||||
|
SetFileManCurrentDirectory( zCdFile );
|
||||||
|
//Init the laser lock system
|
||||||
|
iInitRetVal = LASERLOK_Init( ghInstance );
|
||||||
|
if( iInitRetVal != 0 )
|
||||||
|
goto FAILED_LASERLOK;
|
||||||
|
|
||||||
|
//makes the verification of the laserlok system
|
||||||
|
iRunRetVal = LASERLOK_Run();
|
||||||
|
if( iRunRetVal != 0 )
|
||||||
|
goto FAILED_LASERLOK;
|
||||||
|
|
||||||
|
//checks the result of the laserlok run function
|
||||||
|
iCheckRetVal = LASERLOK_Check();
|
||||||
|
if( iCheckRetVal != 0 )
|
||||||
|
goto FAILED_LASERLOK;
|
||||||
|
|
||||||
|
//Restore back to the proper directory
|
||||||
|
SetFileManCurrentDirectory( zDirectory );
|
||||||
|
return( TRUE );
|
||||||
|
|
||||||
|
FAILED_LASERLOK:
|
||||||
|
//Restore back to the proper directory
|
||||||
|
SetFileManCurrentDirectory( zDirectory );
|
||||||
|
return( FALSE );
|
||||||
|
}
|
||||||
|
|
||||||
|
void HandleLaserLockResult( BOOLEAN fSuccess )
|
||||||
|
{
|
||||||
|
if( !fSuccess )
|
||||||
|
{
|
||||||
|
CHAR8 zString[512];
|
||||||
|
|
||||||
|
sprintf( zString, "%S", gzLateLocalizedString[56] );
|
||||||
|
|
||||||
|
// ShowCursor(TRUE);
|
||||||
|
// ShowCursor(TRUE);
|
||||||
|
ShutdownWithErrorBox( zString );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
void SetupMaxActionPointsAnimation()
|
void SetupMaxActionPointsAnimation()
|
||||||
{
|
{
|
||||||
gubMaxActionPoints[REGMALE] = APBPConstants[AP_MAXIMUM];
|
gubMaxActionPoints[REGMALE] = APBPConstants[AP_MAXIMUM];
|
||||||
|
|||||||
@@ -7,6 +7,7 @@
|
|||||||
#include "LogicalBodyTypes/SurfaceDB.h"
|
#include "LogicalBodyTypes/SurfaceDB.h"
|
||||||
#include "LogicalBodyTypes/FilterDB.h"
|
#include "LogicalBodyTypes/FilterDB.h"
|
||||||
#include "LogicalBodyTypes/EnumeratorDB.h"
|
#include "LogicalBodyTypes/EnumeratorDB.h"
|
||||||
|
#include "LogicalBodyTypes/BodyTypeDB.h"
|
||||||
#include "LogicalBodyTypes/PaletteDB.h"
|
#include "LogicalBodyTypes/PaletteDB.h"
|
||||||
|
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
|||||||
+36
-13
@@ -1,18 +1,41 @@
|
|||||||
#include "sgp.h"
|
#include "sgp.h"
|
||||||
#include "sysutil.h"
|
#include "sysutil.h"
|
||||||
#include "Cursor Control.h"
|
#include "vobject_blitters.h"
|
||||||
#include "Render Dirty.h"
|
#include "Font Control.h"
|
||||||
#include "Utilities.h"
|
#include "Cursor Control.h"
|
||||||
#include "Intro.h"
|
#include "Render Dirty.h"
|
||||||
#include "Cinematics.h"
|
#include "Text.h"
|
||||||
#include "Cinematics Bink.h"
|
#include "Utilities.h"
|
||||||
#include "mainmenuscreen.h"
|
#include "WordWrap.h"
|
||||||
#include "Music Control.h"
|
#include "Text.h"
|
||||||
#include "english.h"
|
#include "line.h"
|
||||||
#include "sgp_logger.h"
|
#include "Intro.h"
|
||||||
#include "INIReader.h"
|
#include "Cinematics.h"
|
||||||
|
#include "Cinematics Bink.h"
|
||||||
|
#include "mainmenuscreen.h"
|
||||||
|
#include "Music Control.h"
|
||||||
|
#include "LibraryDataBase.h"
|
||||||
|
#include "english.h"
|
||||||
|
#include "soldier profile type.h"
|
||||||
|
#include "MessageBoxScreen.h"
|
||||||
|
#include "sgp_logger.h"
|
||||||
|
#include "Soldier Profile.h"
|
||||||
|
#include "Game Init.h"
|
||||||
|
#include "INIReader.h"
|
||||||
|
|
||||||
|
#include <vfs/Core/vfs.h>
|
||||||
|
|
||||||
#include "Luaglobal.h"
|
#include "Luaglobal.h"
|
||||||
|
#ifdef JA2UB
|
||||||
|
#include "strategicmap.h"
|
||||||
|
#include "Map Screen Interface Map.h"
|
||||||
|
#include "Map Screen Interface.h"
|
||||||
|
#include "End Game.h"
|
||||||
|
#include "Cinematics Bink.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
#include "LuaInitNPCs.h"
|
#include "LuaInitNPCs.h"
|
||||||
|
#include "XML.h"
|
||||||
#include <language.hpp>
|
#include <language.hpp>
|
||||||
|
|
||||||
BOOLEAN Style_JA = TRUE;
|
BOOLEAN Style_JA = TRUE;
|
||||||
|
|||||||
+62
-1
@@ -1,11 +1,72 @@
|
|||||||
#include <types.h>
|
#include "builddefines.h"
|
||||||
|
#include <wchar.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include "Render Fun.h"
|
||||||
|
#include "stdlib.h"
|
||||||
|
#include "DEBUG.H"
|
||||||
|
#include "MemMan.h"
|
||||||
|
#include "Overhead Types.h"
|
||||||
|
//#include "Soldier Control.h"
|
||||||
|
#include "Animation Cache.h"
|
||||||
|
#include "Animation Data.h"
|
||||||
|
#include "Animation Control.h"
|
||||||
|
#include <math.h>
|
||||||
|
#include "PATHAI.H"
|
||||||
|
#include "random.h"
|
||||||
|
#include "Isometric Utils.h"
|
||||||
|
#include "renderworld.h"
|
||||||
|
#include "video.h"
|
||||||
|
#include "Weapons.h"
|
||||||
|
#include "vobject_blitters.h"
|
||||||
|
#include "Handle UI.h"
|
||||||
|
#include "Event Pump.h"
|
||||||
|
#include "ai.h"
|
||||||
|
#include "Interface.h"
|
||||||
|
#include "lighting.h"
|
||||||
|
#include "faces.h"
|
||||||
|
#include "Soldier Profile.h"
|
||||||
|
#include "Soldier macros.h"
|
||||||
|
#include "english.h"
|
||||||
|
#include "Squads.h"
|
||||||
|
|
||||||
#ifdef NETWORKED
|
#ifdef NETWORKED
|
||||||
#include "Networking.h"
|
#include "Networking.h"
|
||||||
#include "NetworkEvent.h"
|
#include "NetworkEvent.h"
|
||||||
#endif
|
#endif
|
||||||
|
#include "Items.h"
|
||||||
|
#include "soundman.h"
|
||||||
|
#include "Utilities.h"
|
||||||
|
#include "strategic.h"
|
||||||
|
#include "soldier tile.h"
|
||||||
|
#include "Smell.h"
|
||||||
|
#include "Keys.h"
|
||||||
|
#include "Dialogue Control.h"
|
||||||
|
#include "Soldier Functions.h"
|
||||||
|
#include "Exit Grids.h"
|
||||||
|
#include "Quests.h"
|
||||||
|
#include "message.h"
|
||||||
|
#include "SkillCheck.h"
|
||||||
|
#include "interface Dialogue.h"
|
||||||
|
#include "GameSettings.h"
|
||||||
|
#include "ShopKeeper Interface.h"
|
||||||
|
#include "Vehicles.h"
|
||||||
|
#include "strategicmap.h"
|
||||||
|
#include "Morale.h"
|
||||||
|
#include "Drugs And Alcohol.h"
|
||||||
|
#include "SkillCheck.h"
|
||||||
|
#include "Map Information.h"
|
||||||
|
#include "Buildings.h"
|
||||||
|
#include "Text.h"
|
||||||
|
#include "Campaign Types.h"
|
||||||
|
#include "Strategic Status.h"
|
||||||
|
#include "Civ Quotes.h"
|
||||||
|
#include "Debug Control.h"
|
||||||
|
|
||||||
#ifdef JA2UB
|
#ifdef JA2UB
|
||||||
|
|
||||||
|
#include "Ja25_Tactical.h"
|
||||||
|
#include "Ja25 Strategic Ai.h"
|
||||||
|
|
||||||
INT16 JA2_5_START_SECTOR_X;
|
INT16 JA2_5_START_SECTOR_X;
|
||||||
INT16 JA2_5_START_SECTOR_Y;
|
INT16 JA2_5_START_SECTOR_Y;
|
||||||
|
|||||||
@@ -5,6 +5,11 @@
|
|||||||
|
|
||||||
#ifdef JA2UB
|
#ifdef JA2UB
|
||||||
|
|
||||||
|
//Used in the editor to compensate for the 2_<map name>
|
||||||
|
#define JA25_EXP_MAP_NAME_PREFIX L""
|
||||||
|
#define JA25_EXP_MAP_NAME_SIZE_OFFSET 0
|
||||||
|
|
||||||
|
|
||||||
//The starting sector of the Expanion pack
|
//The starting sector of the Expanion pack
|
||||||
extern INT16 JA2_5_START_SECTOR_X;
|
extern INT16 JA2_5_START_SECTOR_X;
|
||||||
extern INT16 JA2_5_START_SECTOR_Y;
|
extern INT16 JA2_5_START_SECTOR_Y;
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ extern HVSURFACE ghFrameBuffer;
|
|||||||
extern BOOLEAN gfSchedulesHosed;
|
extern BOOLEAN gfSchedulesHosed;
|
||||||
|
|
||||||
#ifdef JA2UB
|
#ifdef JA2UB
|
||||||
|
#include "Ja25_Tactical.h"
|
||||||
#include "Ja25 Strategic Ai.h"
|
#include "Ja25 Strategic Ai.h"
|
||||||
#endif
|
#endif
|
||||||
UINT8 gubLastLoadingScreenID = LOADINGSCREEN_NOTHING;
|
UINT8 gubLastLoadingScreenID = LOADINGSCREEN_NOTHING;
|
||||||
@@ -343,7 +344,7 @@ static void BuildLoadscreenFilename(std::string& dst, const char* path, int reso
|
|||||||
dst.append(".sti");
|
dst.append(".sti");
|
||||||
}
|
}
|
||||||
|
|
||||||
static std::string GetResolutionSuffix(SCREEN_RESOLUTION resolution)
|
std::string GetResolutionSuffix(SCREEN_RESOLUTION resolution)
|
||||||
{
|
{
|
||||||
switch (resolution)
|
switch (resolution)
|
||||||
{
|
{
|
||||||
@@ -375,7 +376,7 @@ static std::string GetResolutionSuffix(SCREEN_RESOLUTION resolution)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static std::string FindBestFittingLoadscreenFilename(const std::string& baseName, SCREEN_RESOLUTION resolution)
|
std::string FindBestFittingLoadscreenFilename(const std::string& baseName, SCREEN_RESOLUTION resolution)
|
||||||
{
|
{
|
||||||
for (SCREEN_RESOLUTION res = resolution; res <= _2560x1600; res = (SCREEN_RESOLUTION)(res + 1))
|
for (SCREEN_RESOLUTION res = resolution; res <= _2560x1600; res = (SCREEN_RESOLUTION)(res + 1))
|
||||||
{
|
{
|
||||||
|
|||||||
+21
-20
@@ -1,23 +1,24 @@
|
|||||||
#include "sgp.h"
|
#include "sgp.h"
|
||||||
#include "screenids.h"
|
#include "screenids.h"
|
||||||
#include "Timer Control.h"
|
#include "Timer Control.h"
|
||||||
#include "Fade Screen.h"
|
#include "Fade Screen.h"
|
||||||
#include "sysutil.h"
|
#include "sysutil.h"
|
||||||
#include "vobject_blitters.h"
|
#include "vobject_blitters.h"
|
||||||
#include "MercTextBox.h"
|
#include "MercTextBox.h"
|
||||||
#include "Cursors.h"
|
#include "Cursors.h"
|
||||||
#include "Font Control.h"
|
#include "Font Control.h"
|
||||||
#include "Map Screen Interface.h"
|
#include "Map Screen Interface.h"
|
||||||
#include "renderworld.h"
|
#include "renderworld.h"
|
||||||
#include "gameloop.h"
|
#include "gameloop.h"
|
||||||
#include "english.h"
|
#include "english.h"
|
||||||
#include "GameSettings.h"
|
#include "GameSettings.h"
|
||||||
#include "Cursor Control.h"
|
#include "Cursor Control.h"
|
||||||
#include "Text.h"
|
#include "laptop.h"
|
||||||
#include "Text Input.h"
|
#include "Text.h"
|
||||||
#include "overhead map.h"
|
#include "Text Input.h"
|
||||||
#include "MPChatScreen.h"
|
#include "overhead map.h"
|
||||||
#include "WordWrap.h"
|
#include "MPChatScreen.h"
|
||||||
|
#include "WordWrap.h"
|
||||||
#include "message.h"
|
#include "message.h"
|
||||||
#include "Utilities.h"
|
#include "Utilities.h"
|
||||||
#include "connect.h"
|
#include "connect.h"
|
||||||
|
|||||||
+33
-22
@@ -1,28 +1,38 @@
|
|||||||
#include "sgp.h"
|
#include "sgp.h"
|
||||||
#include "screenids.h"
|
#include "screenids.h"
|
||||||
#include "Timer Control.h"
|
#include "Timer Control.h"
|
||||||
#include "sysutil.h"
|
#include "sysutil.h"
|
||||||
#include "Cursors.h"
|
#include "vobject_blitters.h"
|
||||||
#include "Font Control.h"
|
#include "MercTextBox.h"
|
||||||
#include "mainmenuscreen.h"
|
#include "Cursors.h"
|
||||||
#include "Cursor Control.h"
|
#include "Font Control.h"
|
||||||
#include "Render Dirty.h"
|
#include "mainmenuscreen.h"
|
||||||
#include "Music Control.h"
|
#include "Cursor Control.h"
|
||||||
|
#include "Render Dirty.h"
|
||||||
|
#include "Music Control.h"
|
||||||
|
#include "GameSettings.h"
|
||||||
|
#include "SaveLoadScreen.h"
|
||||||
|
#include "SaveLoadGame.h"
|
||||||
|
#include "Options Screen.h"
|
||||||
|
#include "english.h"
|
||||||
|
#include "gameloop.h"
|
||||||
|
#include "Game Init.h"
|
||||||
|
#include "Utilities.h"
|
||||||
|
#include "WordWrap.h"
|
||||||
|
#include "Font Control.h"
|
||||||
|
#include "Text.h"
|
||||||
|
#include "Multi Language Graphic Utils.h"
|
||||||
|
#include "Encrypted File.h"
|
||||||
|
#include "JA2 Splash.h"
|
||||||
|
#include "GameVersion.h"
|
||||||
|
|
||||||
#include "GameSettings.h"
|
#include "GameSettings.h"
|
||||||
#include "SaveLoadScreen.h"
|
|
||||||
#include "SaveLoadGame.h"
|
|
||||||
#include "Options Screen.h"
|
|
||||||
#include "english.h"
|
|
||||||
#include "gameloop.h"
|
|
||||||
#include "Game Init.h"
|
|
||||||
#include "WordWrap.h"
|
|
||||||
#include "Text.h"
|
|
||||||
#include "Multi Language Graphic Utils.h"
|
|
||||||
#include "JA2 Splash.h"
|
|
||||||
#include "GameVersion.h"
|
|
||||||
#include "connect.h"
|
#include "connect.h"
|
||||||
#include "strategic.h"
|
#include "strategic.h"
|
||||||
#include "Strategic Movement.h"
|
#include "Strategic Movement.h"
|
||||||
|
#include "Overhead.h"
|
||||||
|
#include "Init.h"
|
||||||
|
#include "XML.h"
|
||||||
#include <vfs/Core/vfs.h>
|
#include <vfs/Core/vfs.h>
|
||||||
#include <vfs/Core/vfs_profile.h>
|
#include <vfs/Core/vfs_profile.h>
|
||||||
|
|
||||||
@@ -73,6 +83,7 @@ void MenuButtonCallback(GUI_BUTTON *btn, INT32 reason);
|
|||||||
void HandleMainMenuKeyboardInput();
|
void HandleMainMenuKeyboardInput();
|
||||||
void HandleMainMenuInput();
|
void HandleMainMenuInput();
|
||||||
void HandleMainMenuScreen();
|
void HandleMainMenuScreen();
|
||||||
|
void DisplayAssignmentText();
|
||||||
void ClearMainMenu();
|
void ClearMainMenu();
|
||||||
void SelectMainMenuBackGroundRegionCallBack(MOUSE_REGION * pRegion, INT32 iReason );
|
void SelectMainMenuBackGroundRegionCallBack(MOUSE_REGION * pRegion, INT32 iReason );
|
||||||
void SetMainMenuExitScreen( UINT32 uiNewScreen );
|
void SetMainMenuExitScreen( UINT32 uiNewScreen );
|
||||||
@@ -417,7 +428,7 @@ void MenuButtonCallback(GUI_BUTTON *btn,INT32 reason)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void MenuButtonMoveCallback(GUI_BUTTON *btn,INT32 reason)
|
void MenuButtonMoveCallback(GUI_BUTTON *btn,INT32 reason)
|
||||||
{
|
{
|
||||||
if(reason & MSYS_CALLBACK_REASON_LOST_MOUSE)
|
if(reason & MSYS_CALLBACK_REASON_LOST_MOUSE)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -14,10 +14,12 @@
|
|||||||
#include "GameSettings.h"
|
#include "GameSettings.h"
|
||||||
#include "Interface Control.h"
|
#include "Interface Control.h"
|
||||||
#include "Cursor Control.h"
|
#include "Cursor Control.h"
|
||||||
|
#include "laptop.h"
|
||||||
#include "Text.h"
|
#include "Text.h"
|
||||||
#include "Text Input.h"
|
#include "Text Input.h"
|
||||||
#include "overhead map.h"
|
#include "overhead map.h"
|
||||||
#include "DropDown.h" // added by Flugente
|
#include "DropDown.h" // added by Flugente
|
||||||
|
#include "Utilities.h" // added by Flugente for FilenameForBPP(...)
|
||||||
#include "FeaturesScreen.h"
|
#include "FeaturesScreen.h"
|
||||||
|
|
||||||
#define MSGBOX_DEFAULT_WIDTH 300
|
#define MSGBOX_DEFAULT_WIDTH 300
|
||||||
|
|||||||
+207
-112
@@ -1,126 +1,162 @@
|
|||||||
#include "types.h"
|
#include "types.h"
|
||||||
#include "Soldier Profile.h"
|
#include "Soldier Profile.h"
|
||||||
#include "FileMan.h"
|
#include "FileMan.h"
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include "DEBUG.H"
|
#include "DEBUG.H"
|
||||||
#include "Overhead.h"
|
#include "Overhead.h"
|
||||||
#include "Keys.h"
|
#include "Keys.h"
|
||||||
#include "finances.h"
|
#include "finances.h"
|
||||||
#include "history.h"
|
#include "history.h"
|
||||||
#include "files.h"
|
#include "files.h"
|
||||||
#include "Font.h"
|
#include "laptop.h"
|
||||||
#include "Font Control.h"
|
#include "INIReader.h"
|
||||||
#include "email.h"
|
#include "email.h"
|
||||||
#include "strategicmap.h"
|
#include "strategicmap.h"
|
||||||
#include "Game Events.h"
|
#include "Game Events.h"
|
||||||
#include "Game Clock.h"
|
#include "Game Clock.h"
|
||||||
#include "Soldier Create.h"
|
#include "Soldier Create.h"
|
||||||
#include "worlddef.h"
|
#include "worlddef.h"
|
||||||
#include "LaptopSave.h"
|
#include "LaptopSave.h"
|
||||||
#include "Queen Command.h"
|
#include "strategicmap.h"
|
||||||
#include "SaveLoadGame.h"
|
#include "Queen Command.h"
|
||||||
#include "Tactical Save.h"
|
#include "SaveLoadGame.h"
|
||||||
#include "Squads.h"
|
#include "Tactical Save.h"
|
||||||
#include "environment.h"
|
#include "Squads.h"
|
||||||
#include "lighting.h"
|
#include "environment.h"
|
||||||
#include "Strategic Movement.h"
|
#include "lighting.h"
|
||||||
#include "strategic.h"
|
#include "Strategic Movement.h"
|
||||||
#include "Isometric Utils.h"
|
#include "strategic.h"
|
||||||
#include "Quests.h"
|
#include "Isometric Utils.h"
|
||||||
#include "opplist.h"
|
#include "Quests.h"
|
||||||
#include "message.h"
|
#include "opplist.h"
|
||||||
#include "NPC.h"
|
#include "message.h"
|
||||||
#include "Merc Hiring.h"
|
#include "NPC.h"
|
||||||
#include "SaveLoadScreen.h"
|
#include "Merc Hiring.h"
|
||||||
#include "GameVersion.h"
|
#include "SaveLoadScreen.h"
|
||||||
#include "GameSettings.h"
|
#include "GameVersion.h"
|
||||||
#include "Music Control.h"
|
#include "GameSettings.h"
|
||||||
#include "Options Screen.h"
|
#include "Music Control.h"
|
||||||
#include "ai.h"
|
#include "Options Screen.h"
|
||||||
#include "renderworld.h"
|
#include "ai.h"
|
||||||
#include "SmokeEffects.h"
|
#include "renderworld.h"
|
||||||
#include "random.h"
|
#include "SmokeEffects.h"
|
||||||
#include "Map Screen Interface.h"
|
#include "random.h"
|
||||||
#include "Map Screen Interface Border.h"
|
#include "Map Screen Interface.h"
|
||||||
#include "Map Screen Interface Bottom.h"
|
#include "Map Screen Interface Border.h"
|
||||||
#include "Interface.h"
|
#include "Map Screen Interface Bottom.h"
|
||||||
#include "Map Screen Helicopter.h"
|
|
||||||
#include "Arms Dealer Init.h"
|
#include "Interface.h"
|
||||||
#include "Tactical Placement GUI.h"
|
#include "Map Screen Helicopter.h"
|
||||||
#include "Strategic Mines.h"
|
#include "environment.h"
|
||||||
#include "Strategic Town Loyalty.h"
|
#include "Arms Dealer Init.h"
|
||||||
#include "Vehicles.h"
|
#include "Tactical Placement GUI.h"
|
||||||
#include "Merc Contract.h"
|
|
||||||
#include "Bullets.h"
|
#include "Strategic Mines.h"
|
||||||
#include "Air Raid.h"
|
#include "Strategic Town Loyalty.h"
|
||||||
#include "physics.h"
|
#include "Vehicles.h"
|
||||||
#include "Strategic Pathing.h"
|
#include "Merc Contract.h"
|
||||||
#include "TeamTurns.h"
|
#include "Bullets.h"
|
||||||
#include "Explosion Control.h"
|
#include "Air Raid.h"
|
||||||
#include "Creature Spreading.h"
|
#include "physics.h"
|
||||||
#include "Strategic Status.h"
|
#include "Strategic Pathing.h"
|
||||||
#include "PreBattle Interface.h"
|
|
||||||
#include "Boxing.h"
|
#include "TeamTurns.h"
|
||||||
#include "Strategic AI.h"
|
|
||||||
#include "Map Screen Interface Map.h"
|
#include "Explosion Control.h"
|
||||||
#include "Meanwhile.h"
|
#include "Creature Spreading.h"
|
||||||
#include "Dialogue Control.h"
|
#include "Strategic Status.h"
|
||||||
#include "Text.h"
|
#include "PreBattle Interface.h"
|
||||||
#include "LightEffects.h"
|
#include "Boxing.h"
|
||||||
#include "HelpScreen.h"
|
#include "Strategic AI.h"
|
||||||
#include "Animated ProgressBar.h"
|
#include "Map Screen Interface Map.h"
|
||||||
#include "MercTextBox.h"
|
|
||||||
#include "Render Dirty.h"
|
#include "Meanwhile.h"
|
||||||
#include "Map Information.h"
|
#include "Dialogue Control.h"
|
||||||
#include "Interface Items.h"
|
#include "Text.h"
|
||||||
#include "Civ Quotes.h"
|
#include "Map Screen Interface.h"
|
||||||
#include "Scheduling.h"
|
#include "LightEffects.h"
|
||||||
#include "Animation Data.h"
|
#include "HelpScreen.h"
|
||||||
#include "Game Init.h"
|
#include "Animated ProgressBar.h"
|
||||||
#include "Cheats.h"
|
#include "MercTextBox.h"
|
||||||
#include "Strategic Event Handler.h"
|
#include "Render Dirty.h"
|
||||||
#include "Interface Panels.h"
|
#include "Map Information.h"
|
||||||
#include "interface Dialogue.h"
|
#include "Interface Items.h"
|
||||||
#include "Assignments.h"
|
#include "Civ Quotes.h"
|
||||||
#include "ShopKeeper Interface.h"
|
#include "Scheduling.h"
|
||||||
#include "PostalService.h"
|
#include "Animation Data.h"
|
||||||
#include "MilitiaSquads.h"
|
#include "Game Init.h"
|
||||||
#include "Facilities.h"
|
#include "Cheats.h"
|
||||||
#include "Town Militia.h"
|
#include "Strategic Event Handler.h"
|
||||||
#include "Items.h"
|
#include "Interface Panels.h"
|
||||||
#include "Encyclopedia_new.h"
|
#include "interface Dialogue.h"
|
||||||
#include "CampaignStats.h" // added by Flugente
|
#include "Assignments.h"
|
||||||
#include "DynamicDialogue.h" // added by Flugente
|
#include "Interface Items.h"
|
||||||
#include "PMC.h" // added by Flugente
|
#include "ShopKeeper Interface.h"
|
||||||
#include "ASD.h" // added by Flugente
|
#include "PostalService.h"
|
||||||
#include "MilitiaIndividual.h" // added by Flugente
|
// HEADROCK HAM B1: Additional Include for HAM
|
||||||
#include "Rebel Command.h"
|
#include "MilitiaSquads.h"
|
||||||
#include "BobbyR.h"
|
// HEADROCK HAM 3.5: Another include for HAM
|
||||||
#include "IMP Portraits.h"
|
#include "Facilities.h"
|
||||||
#include "Loading Screen.h"
|
// HEADROCK HAM 3.6: Yet another include, goddammit
|
||||||
#include "Interface Utils.h"
|
#include "Town Militia.h"
|
||||||
|
#include "Items.h"
|
||||||
|
#include "Encyclopedia_new.h"
|
||||||
|
#include "CampaignStats.h" // added by Flugente
|
||||||
|
#include "DynamicDialogue.h" // added by Flugente
|
||||||
|
#include "PMC.h" // added by Flugente
|
||||||
|
#include "ASD.h" // added by Flugente
|
||||||
|
#include "MilitiaIndividual.h" // added by Flugente
|
||||||
|
#include "Rebel Command.h"
|
||||||
|
|
||||||
|
#include "BobbyR.h"
|
||||||
|
#include "IMP Portraits.h"
|
||||||
|
#include "Loading Screen.h"
|
||||||
|
#include "Interface Utils.h"
|
||||||
|
#include "Squads.h"
|
||||||
|
#include "IMP Confirm.h"
|
||||||
#include "Enemy Soldier Save.h"
|
#include "Enemy Soldier Save.h"
|
||||||
#include "BobbyRMailOrder.h"
|
#include "BobbyRMailOrder.h"
|
||||||
#include "mercs.h"
|
#include "mercs.h"
|
||||||
|
#include "INIReader.h"
|
||||||
|
#include "mercs.h"
|
||||||
|
#include "Soldier Profile.h"
|
||||||
|
#ifdef JA2UB
|
||||||
|
#include "Ja25 Strategic Ai.h"
|
||||||
|
#include "Ja25_Tactical.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
#include "LuaInitNPCs.h"
|
#include "LuaInitNPCs.h"
|
||||||
|
#include "Vehicles.h"
|
||||||
#include "BriefingRoom_Data.h"
|
#include "BriefingRoom_Data.h"
|
||||||
|
|
||||||
|
#include <vfs/Core/vfs.h>
|
||||||
|
//rain
|
||||||
|
//end rain
|
||||||
|
|
||||||
#include "connect.h"
|
#include "connect.h"
|
||||||
#include "Map Screen Interface Map Inventory.h"//dnl ch51 081009
|
#include "Map Screen Interface Map Inventory.h"//dnl ch51 081009
|
||||||
|
#include "Sys Globals.h"//dnl ch74 201013
|
||||||
#include "Ambient Control.h" // added by Flugente for HandleNewSectorAmbience(...)
|
#include "Ambient Control.h" // added by Flugente for HandleNewSectorAmbience(...)
|
||||||
/////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// Local Defines
|
// Local Defines
|
||||||
//
|
//
|
||||||
/////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////
|
||||||
#include <language.hpp>
|
|
||||||
|
|
||||||
#ifdef JA2UB
|
#ifdef JA2UB
|
||||||
#include "Ja25 Strategic Ai.h"
|
#include "Strategic Movement.h"
|
||||||
#include "Ja25_Tactical.h"
|
#include "LuaInitNPCs.h"
|
||||||
#include "ub_config.h"
|
#include "ub_config.h"
|
||||||
#include "Ja25Update.h"
|
#include "Ja25Update.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "LuaInitNPCs.h"
|
||||||
|
#include <language.hpp>
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef JA2UB
|
||||||
|
//void ConvertWeapons( SOLDIERTYPE *pSoldier );
|
||||||
extern void MakeBadSectorListFromMapsOnHardDrive( BOOLEAN fDisplayMessages ); // ja25 UB
|
extern void MakeBadSectorListFromMapsOnHardDrive( BOOLEAN fDisplayMessages ); // ja25 UB
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -169,6 +205,8 @@ extern BOOLEAN gfCreatureMeanwhileScenePlayed;
|
|||||||
BOOLEAN gMusicModeToPlay = FALSE;
|
BOOLEAN gMusicModeToPlay = FALSE;
|
||||||
|
|
||||||
|
|
||||||
|
//extern BOOLEAN gfFirstTimeInGameHeliCrash;
|
||||||
|
|
||||||
#ifdef JA2BETAVERSION
|
#ifdef JA2BETAVERSION
|
||||||
BOOLEAN gfDisplaySaveGamesNowInvalidatedMsg = FALSE;
|
BOOLEAN gfDisplaySaveGamesNowInvalidatedMsg = FALSE;
|
||||||
#endif
|
#endif
|
||||||
@@ -176,13 +214,14 @@ BOOLEAN gfDisplaySaveGamesNowInvalidatedMsg = FALSE;
|
|||||||
BOOLEAN gfUseConsecutiveQuickSaveSlots = FALSE;
|
BOOLEAN gfUseConsecutiveQuickSaveSlots = FALSE;
|
||||||
UINT32 guiCurrentQuickSaveNumber = 0;
|
UINT32 guiCurrentQuickSaveNumber = 0;
|
||||||
UINT32 guiLastSaveGameNum = 1;
|
UINT32 guiLastSaveGameNum = 1;
|
||||||
|
BOOLEAN DoesAutoSaveFileExist( BOOLEAN fLatestAutoSave );
|
||||||
|
|
||||||
UINT32 guiJA2EncryptionSet = 0;
|
UINT32 guiJA2EncryptionSet = 0;
|
||||||
UINT32 CalcJA2EncryptionSet( SAVED_GAME_HEADER * pSaveGameHeader );
|
UINT32 CalcJA2EncryptionSet( SAVED_GAME_HEADER * pSaveGameHeader );
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
//The screen that the game was saved from
|
//The screen that the gaem was saved from
|
||||||
UINT32 uiCurrentScreen;
|
UINT32 uiCurrentScreen;
|
||||||
|
|
||||||
UINT32 uiCurrentUniqueSoldierId;
|
UINT32 uiCurrentUniqueSoldierId;
|
||||||
@@ -493,6 +532,10 @@ BOOLEAN LoadSavedMercProfiles( HWFILE hwFile );
|
|||||||
BOOLEAN SaveSoldierStructure( HWFILE hFile );
|
BOOLEAN SaveSoldierStructure( HWFILE hFile );
|
||||||
BOOLEAN LoadSoldierStructure( HWFILE hFile );
|
BOOLEAN LoadSoldierStructure( HWFILE hFile );
|
||||||
|
|
||||||
|
// CHRISL: New functions to save and load LBENODE data
|
||||||
|
BOOLEAN SaveLBENODEToSaveGameFile( HWFILE hFile );
|
||||||
|
BOOLEAN LoadLBENODEFromSaveGameFile( HWFILE hFile );
|
||||||
|
|
||||||
//BOOLEAN SavePtrInfo( PTR *pData, UINT32 uiSizeOfObject, HWFILE hFile );
|
//BOOLEAN SavePtrInfo( PTR *pData, UINT32 uiSizeOfObject, HWFILE hFile );
|
||||||
//BOOLEAN LoadPtrInfo( PTR *pData, UINT32 uiSizeOfObject, HWFILE hFile );
|
//BOOLEAN LoadPtrInfo( PTR *pData, UINT32 uiSizeOfObject, HWFILE hFile );
|
||||||
|
|
||||||
@@ -580,7 +623,28 @@ void ValidateStrategicGroups();
|
|||||||
//if all that sounds compilcated, it is
|
//if all that sounds compilcated, it is
|
||||||
|
|
||||||
extern int gLastLBEUniqueID;
|
extern int gLastLBEUniqueID;
|
||||||
|
/*
|
||||||
|
// CHRISL: New function to save/load LBENODE data
|
||||||
|
BOOLEAN SaveLBENODEToSaveGameFile( HWFILE hFile )
|
||||||
|
{
|
||||||
|
UINT32 uiNumBytesWritten;
|
||||||
|
if ( !FileWrite( hFile, &gLastLBEUniqueID, sizeof(int), &uiNumBytesWritten ) )
|
||||||
|
{
|
||||||
|
return(FALSE);
|
||||||
|
}
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
BOOLEAN LoadLBENODEFromSaveGameFile( HWFILE hFile )
|
||||||
|
{
|
||||||
|
UINT32 uiNumBytesRead;
|
||||||
|
if ( !FileRead( hFile, &gLastLBEUniqueID, sizeof(int), &uiNumBytesRead ) )
|
||||||
|
{
|
||||||
|
return(FALSE);
|
||||||
|
}
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
*/
|
||||||
BOOLEAN LBENODE::Load( HWFILE hFile )
|
BOOLEAN LBENODE::Load( HWFILE hFile )
|
||||||
{
|
{
|
||||||
UINT32 uiNumBytesRead;
|
UINT32 uiNumBytesRead;
|
||||||
@@ -596,7 +660,7 @@ BOOLEAN LBENODE::Load( HWFILE hFile )
|
|||||||
//when combined with copy assignment which makes a new LBENODE
|
//when combined with copy assignment which makes a new LBENODE
|
||||||
gLastLBEUniqueID = uniqueID + 1;
|
gLastLBEUniqueID = uniqueID + 1;
|
||||||
}
|
}
|
||||||
int size = 0;
|
int size;
|
||||||
if ( !FileRead( hFile, &size, sizeof(int), &uiNumBytesRead ) )
|
if ( !FileRead( hFile, &size, sizeof(int), &uiNumBytesRead ) )
|
||||||
{
|
{
|
||||||
return(FALSE);
|
return(FALSE);
|
||||||
@@ -661,7 +725,7 @@ BOOLEAN LBENODE::Save( HWFILE hFile, bool fSavingMap )
|
|||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static BOOLEAN LoadArmsDealerInventoryFromSavedGameFile( HWFILE hFile )
|
BOOLEAN LoadArmsDealerInventoryFromSavedGameFile( HWFILE hFile )
|
||||||
{
|
{
|
||||||
UINT32 uiNumBytesRead;
|
UINT32 uiNumBytesRead;
|
||||||
UINT8 ubArmsDealer;
|
UINT8 ubArmsDealer;
|
||||||
@@ -672,7 +736,7 @@ static BOOLEAN LoadArmsDealerInventoryFromSavedGameFile( HWFILE hFile )
|
|||||||
|
|
||||||
if (guiCurrentSaveGameVersion >= NIV_SAVEGAME_DATATYPE_CHANGE)
|
if (guiCurrentSaveGameVersion >= NIV_SAVEGAME_DATATYPE_CHANGE)
|
||||||
{
|
{
|
||||||
int dealers = 0;
|
int dealers;
|
||||||
if (!FileRead( hFile, &dealers, sizeof( int ), &uiNumBytesRead ))
|
if (!FileRead( hFile, &dealers, sizeof( int ), &uiNumBytesRead ))
|
||||||
{
|
{
|
||||||
return( FALSE );
|
return( FALSE );
|
||||||
@@ -700,7 +764,7 @@ static BOOLEAN LoadArmsDealerInventoryFromSavedGameFile( HWFILE hFile )
|
|||||||
//loop through all the dealers inventories
|
//loop through all the dealers inventories
|
||||||
for( ubArmsDealer=0; ubArmsDealer<dealers; ++ubArmsDealer )
|
for( ubArmsDealer=0; ubArmsDealer<dealers; ++ubArmsDealer )
|
||||||
{
|
{
|
||||||
int size = 0;
|
int size;
|
||||||
if (!FileRead( hFile, &size, sizeof( int ), &uiNumBytesRead ))
|
if (!FileRead( hFile, &size, sizeof( int ), &uiNumBytesRead ))
|
||||||
{
|
{
|
||||||
return( FALSE );
|
return( FALSE );
|
||||||
@@ -1441,7 +1505,7 @@ BOOLEAN MERCPROFILESTRUCT::Load(HWFILE hFile, bool forceLoadOldVersion, bool for
|
|||||||
numBytesRead = ReadFieldByField(hFile, &filler, sizeof(filler), sizeof(UINT8), numBytesRead);
|
numBytesRead = ReadFieldByField(hFile, &filler, sizeof(filler), sizeof(UINT8), numBytesRead);
|
||||||
|
|
||||||
//DBrot: More rooms
|
//DBrot: More rooms
|
||||||
int size = 0;
|
int size;
|
||||||
if ( numBytesRead + buffer != SIZEOF_MERCPROFILESTRUCT_POD )
|
if ( numBytesRead + buffer != SIZEOF_MERCPROFILESTRUCT_POD )
|
||||||
{
|
{
|
||||||
return(FALSE);
|
return(FALSE);
|
||||||
@@ -7018,6 +7082,10 @@ if( g_lang == i18n::Lang::de ) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
//#ifdef JA2UB
|
||||||
|
//if the soldier has the NON weapon version of the merc knofe or merc umbrella
|
||||||
|
//ConvertWeapons( &Menptr[ cnt ] );
|
||||||
|
//#endif
|
||||||
|
|
||||||
// JA2Gold: fix next-to-previous attacker value
|
// JA2Gold: fix next-to-previous attacker value
|
||||||
Menptr[cnt].ubNextToPreviousAttackerID = NOBODY;
|
Menptr[cnt].ubNextToPreviousAttackerID = NOBODY;
|
||||||
@@ -8664,7 +8732,7 @@ BOOLEAN SaveGeneralInfo( HWFILE hFile )
|
|||||||
extern UINT32 guiRainLoop;
|
extern UINT32 guiRainLoop;
|
||||||
//end rain
|
//end rain
|
||||||
|
|
||||||
static void EnsureValidLoadScreen( UINT32* puiScreen )
|
void EnsureValidLoadScreen( UINT32* puiScreen )
|
||||||
{
|
{
|
||||||
if (!puiScreen)
|
if (!puiScreen)
|
||||||
return;
|
return;
|
||||||
@@ -9734,3 +9802,30 @@ UINT32 CalcJA2EncryptionSet( SAVED_GAME_HEADER * pSaveGameHeader )
|
|||||||
|
|
||||||
return( uiEncryptionSet );
|
return( uiEncryptionSet );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//inshy: Now we dont need this convertation, all items chenged in the maps
|
||||||
|
/*
|
||||||
|
#ifdef JA2UB
|
||||||
|
void ConvertWeapons( SOLDIERTYPE *pSoldier )
|
||||||
|
{
|
||||||
|
INT32 iCnt;
|
||||||
|
|
||||||
|
for( iCnt=0; iCnt< NUM_INV_SLOTS; iCnt++)
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
if(UsingNewInventorySystem() == false && gGameOptions.ubAttachmentSystem == ATTACHMENT_OLD )
|
||||||
|
{
|
||||||
|
if( pSoldier->inv[ iCnt ].usItem == 97 || pSoldier->inv[ iCnt ].usItem == 1346 || pSoldier->inv[ iCnt ].usItem == 99
|
||||||
|
|| pSoldier->inv[ iCnt ].usItem == 1347 || pSoldier->inv[ iCnt ].usItem == 584 || pSoldier->inv[ iCnt ].usItem == 551 )
|
||||||
|
pSoldier->inv[ iCnt ].usItem = 129;
|
||||||
|
|
||||||
|
if( pSoldier->inv[ iCnt ].usItem == 117 || pSoldier->inv[ iCnt ].usItem == 349 || pSoldier->inv[ iCnt ].usItem == 1263 )
|
||||||
|
pSoldier->inv[ iCnt ].usItem = 71;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
*/
|
||||||
|
|||||||
@@ -9,6 +9,7 @@
|
|||||||
#include "stdio.h"
|
#include "stdio.h"
|
||||||
#include "WordWrap.h"
|
#include "WordWrap.h"
|
||||||
#include "strategicmap.h"
|
#include "strategicmap.h"
|
||||||
|
#include "finances.h"
|
||||||
#include "WCheck.h"
|
#include "WCheck.h"
|
||||||
#include "Utilities.h"
|
#include "Utilities.h"
|
||||||
#include "Cursors.h"
|
#include "Cursors.h"
|
||||||
@@ -18,6 +19,7 @@
|
|||||||
#include "Options Screen.h"
|
#include "Options Screen.h"
|
||||||
#include "GameVersion.h"
|
#include "GameVersion.h"
|
||||||
#include "sysutil.h"
|
#include "sysutil.h"
|
||||||
|
#include "Tactical Save.h"
|
||||||
#include "Overhead.h"
|
#include "Overhead.h"
|
||||||
#include "gamescreen.h"
|
#include "gamescreen.h"
|
||||||
#include "GameSettings.h"
|
#include "GameSettings.h"
|
||||||
@@ -29,6 +31,7 @@
|
|||||||
#include "message.h"
|
#include "message.h"
|
||||||
#include "Map Screen Interface.h"
|
#include "Map Screen Interface.h"
|
||||||
#include "Multi Language Graphic Utils.h"
|
#include "Multi Language Graphic Utils.h"
|
||||||
|
#include "Campaign Types.h"
|
||||||
#include "PostalService.h"
|
#include "PostalService.h"
|
||||||
|
|
||||||
#include "connect.h"
|
#include "connect.h"
|
||||||
@@ -38,6 +41,10 @@
|
|||||||
#include <vfs/Core/vfs_file_raii.h>
|
#include <vfs/Core/vfs_file_raii.h>
|
||||||
|
|
||||||
#ifdef JA2UB
|
#ifdef JA2UB
|
||||||
|
#include "Strategic Movement.h"
|
||||||
|
|
||||||
|
//#include "Strategic Movement Costs.h"
|
||||||
|
|
||||||
#include "LuaInitNPCs.h"
|
#include "LuaInitNPCs.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
+29
-21
@@ -1,22 +1,30 @@
|
|||||||
#include "builddefines.h"
|
#include "builddefines.h"
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <types.h>
|
#include <time.h>
|
||||||
#include <video.h>
|
#include "sgp.h"
|
||||||
#include <MemMan.h>
|
#include "gameloop.h"
|
||||||
#include <Overhead Types.h>
|
#include "himage.h"
|
||||||
#include <Soldier Control.h>
|
#include "vobject.h"
|
||||||
#include "renderworld.h"
|
#include "vobject_blitters.h"
|
||||||
#include "input.h"
|
#include "worlddef.h"
|
||||||
#include "Font.h"
|
#include "renderworld.h"
|
||||||
#include "screenids.h"
|
#include "input.h"
|
||||||
#include "Overhead.h"
|
#include "Font.h"
|
||||||
#include "Font Control.h"
|
#include "screenids.h"
|
||||||
#include "Animation Control.h"
|
#include "Overhead.h"
|
||||||
#include "Animation Data.h"
|
#include "sysutil.h"
|
||||||
#include "Render Dirty.h"
|
#include "Font Control.h"
|
||||||
#include "Sys Globals.h"
|
#include "Animation Control.h"
|
||||||
#include "english.h"
|
#include "Animation Data.h"
|
||||||
#include "MessageBoxScreen.h"
|
#include "Event Pump.h"
|
||||||
|
#include "Render Dirty.h"
|
||||||
|
#include "Sys Globals.h"
|
||||||
|
#include "Interface.h"
|
||||||
|
#include <wchar.h>
|
||||||
|
#include <tchar.h>
|
||||||
|
#include "english.h"
|
||||||
|
#include "FileMan.h"
|
||||||
|
#include "MessageBoxScreen.h"
|
||||||
|
|
||||||
//forward declarations of common classes to eliminate includes
|
//forward declarations of common classes to eliminate includes
|
||||||
class OBJECTTYPE;
|
class OBJECTTYPE;
|
||||||
@@ -36,7 +44,7 @@ static UINT8 ubNumStates = 0;
|
|||||||
static UINT16 *pusStates = NULL;
|
static UINT16 *pusStates = NULL;
|
||||||
static INT8 ubCurLoadedState = 0;
|
static INT8 ubCurLoadedState = 0;
|
||||||
|
|
||||||
static void CycleAnimations( )
|
void CycleAnimations( )
|
||||||
{
|
{
|
||||||
INT32 cnt;
|
INT32 cnt;
|
||||||
|
|
||||||
@@ -310,7 +318,7 @@ UINT32 AniEditScreenHandle(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static UINT16 GetAnimStateFromName( STR8 zName )
|
UINT16 GetAnimStateFromName( STR8 zName )
|
||||||
{
|
{
|
||||||
INT32 cnt;
|
INT32 cnt;
|
||||||
|
|
||||||
|
|||||||
+6
-1
@@ -1,3 +1,4 @@
|
|||||||
|
#include <stdio.h>
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
#include "sgp.h"
|
#include "sgp.h"
|
||||||
#include "gameloop.h"
|
#include "gameloop.h"
|
||||||
@@ -16,16 +17,20 @@
|
|||||||
#include "Tactical Save.h"
|
#include "Tactical Save.h"
|
||||||
#include "Interface.h"
|
#include "Interface.h"
|
||||||
#include "GameSettings.h"
|
#include "GameSettings.h"
|
||||||
|
#include "mapscreen.h"
|
||||||
#include "Interface Control.h"
|
#include "Interface Control.h"
|
||||||
#include "Text.h"
|
#include "Text.h"
|
||||||
#include "HelpScreen.h"
|
#include "HelpScreen.h"
|
||||||
#include "PreBattle Interface.h"
|
#include "PreBattle Interface.h"
|
||||||
|
#include "Tactical Placement GUI.h"//dnl ch45 071009
|
||||||
#include "Map Screen Interface Map Inventory.h"//dnl ch51 081009
|
#include "Map Screen Interface Map Inventory.h"//dnl ch51 081009
|
||||||
#include "World Items.h"//dnl ch77 191113
|
#include "World Items.h"//dnl ch77 191113
|
||||||
|
#include "Overhead.h" // added by Flugente
|
||||||
#include "Ambient Control.h" // sevenfm
|
#include "Ambient Control.h" // sevenfm
|
||||||
|
|
||||||
#include "SaveLoadScreen.h"
|
#include "SaveLoadScreen.h"
|
||||||
|
|
||||||
|
#include "Lua Interpreter.h"
|
||||||
//**ddd direct link libraries
|
//**ddd direct link libraries
|
||||||
#pragma comment (lib, "user32.lib")
|
#pragma comment (lib, "user32.lib")
|
||||||
#pragma comment (lib, "gdi32.lib")
|
#pragma comment (lib, "gdi32.lib")
|
||||||
@@ -75,7 +80,7 @@ void HandleNewScreenChange( UINT32 uiNewScreen, UINT32 uiOldScreen );
|
|||||||
|
|
||||||
#ifdef JA2BETAVERSION
|
#ifdef JA2BETAVERSION
|
||||||
BOOLEAN gubReportMapscreenLock = 0;
|
BOOLEAN gubReportMapscreenLock = 0;
|
||||||
static void ReportMapscreenErrorLock()
|
void ReportMapscreenErrorLock()
|
||||||
{
|
{
|
||||||
switch( gubReportMapscreenLock )
|
switch( gubReportMapscreenLock )
|
||||||
{
|
{
|
||||||
|
|||||||
+81
-64
@@ -1,68 +1,85 @@
|
|||||||
#include "builddefines.h"
|
#include "builddefines.h"
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include "sgp.h"
|
#include <time.h>
|
||||||
#include "gameloop.h"
|
#include "sgp.h"
|
||||||
#include <Overhead Types.h>
|
#include "gameloop.h"
|
||||||
#include <Soldier Control.h>
|
#include "vobject.h"
|
||||||
#include "renderworld.h"
|
#include "worlddef.h"
|
||||||
#include "Font.h"
|
#include "renderworld.h"
|
||||||
#include "screenids.h"
|
#include "Font.h"
|
||||||
#include "Screens.h"
|
#include "screenids.h"
|
||||||
#include <Meanwhile.h>
|
#include "Screens.h"
|
||||||
#include "HelpScreen.h"
|
#include "Overhead.h"
|
||||||
#include "Overhead.h"
|
#include "Isometric Utils.h"
|
||||||
#include "Event Pump.h"
|
#include "sysutil.h"
|
||||||
#include "Font Control.h"
|
#include "input.h"
|
||||||
#include "Timer Control.h"
|
#include "Event Pump.h"
|
||||||
#include "Radar Screen.h"
|
#include "Font Control.h"
|
||||||
#include "Render Dirty.h"
|
#include "Timer Control.h"
|
||||||
#include "Interface.h"
|
#include "Radar Screen.h"
|
||||||
#include "Handle UI.h"
|
#include "Render Dirty.h"
|
||||||
#include "Cursors.h"
|
#include "Interface.h"
|
||||||
#include "vobject_blitters.h"
|
#include "Handle UI.h"
|
||||||
#include "Button System.h"
|
#include <wchar.h>
|
||||||
#include "lighting.h"
|
#include <tchar.h>
|
||||||
#include "Sys Globals.h"
|
#include "Cursors.h"
|
||||||
#include "environment.h"
|
#include "vobject_blitters.h"
|
||||||
#include "Bullets.h"
|
#include "Button System.h"
|
||||||
#include <mousesystem.h>
|
#include "lighting.h"
|
||||||
#include "message.h"
|
#include "renderworld.h"
|
||||||
#include "overhead map.h"
|
#include "Sys Globals.h"
|
||||||
#include "Strategic Exit GUI.h"
|
#include "environment.h"
|
||||||
#include "Tactical Placement GUI.h"
|
#include "Bullets.h"
|
||||||
#include "Air Raid.h"
|
#include "Assignments.h"
|
||||||
#include "Game Clock.h"
|
#include "message.h"
|
||||||
#include "Game Init.h"
|
#include <string.h>
|
||||||
|
#include "overhead map.h"
|
||||||
|
#include "Strategic Exit GUI.h"
|
||||||
|
#include "Strategic Movement.h"
|
||||||
|
#include "Tactical Placement GUI.h"
|
||||||
|
#include "Air Raid.h"
|
||||||
|
#include "Game Clock.h"
|
||||||
|
#include "Game Init.h"
|
||||||
|
|
||||||
|
//DEF: Test Code
|
||||||
|
#ifdef NETWORKED
|
||||||
|
#include "Networking.h"
|
||||||
|
#endif
|
||||||
|
#include "Interface Control.h"
|
||||||
|
#include "Game Clock.h"
|
||||||
|
#include "physics.h"
|
||||||
|
#include "Fade Screen.h"
|
||||||
|
#include "Dialogue Control.h"
|
||||||
|
#include "Soldier macros.h"
|
||||||
|
#include "faces.h"
|
||||||
|
#include "strategicmap.h"
|
||||||
|
#include "gamescreen.h"
|
||||||
|
#include "Interface.h"
|
||||||
|
#include "Cursor Control.h"
|
||||||
|
#include "Strategic Turns.h"
|
||||||
|
|
||||||
|
#include "merc entering.h"
|
||||||
|
#include "Soldier Create.h"
|
||||||
|
#include "Soldier Init List.h"
|
||||||
|
#include "Interface Panels.h"
|
||||||
|
#include "Map Information.h"
|
||||||
|
#include "environment.h"
|
||||||
|
#include "Squads.h"
|
||||||
|
#include "interface Dialogue.h"
|
||||||
|
#include "Auto Bandage.h"
|
||||||
|
#include "Meanwhile.h"
|
||||||
|
#include "Strategic AI.h"
|
||||||
|
#include "HelpScreen.h"
|
||||||
|
#include "PreBattle Interface.h"
|
||||||
|
#include "Sound Control.h"
|
||||||
|
#include "MessageBoxScreen.h"
|
||||||
|
#include "Text.h"
|
||||||
|
#include "GameSettings.h"
|
||||||
|
#include "random.h"
|
||||||
|
#include "editscreen.h"
|
||||||
|
#include "Scheduling.h"
|
||||||
|
#include "Animated ProgressBar.h"
|
||||||
|
|
||||||
//DEF: Test Code
|
|
||||||
#ifdef NETWORKED
|
|
||||||
#include "Networking.h"
|
|
||||||
#endif
|
|
||||||
#include "Interface Control.h"
|
|
||||||
#include "physics.h"
|
|
||||||
#include "Fade Screen.h"
|
|
||||||
#include "Dialogue Control.h"
|
|
||||||
#include "Soldier macros.h"
|
|
||||||
#include "faces.h"
|
|
||||||
#include "strategicmap.h"
|
|
||||||
#include "gamescreen.h"
|
|
||||||
#include "Cursor Control.h"
|
|
||||||
#include "Strategic Turns.h"
|
|
||||||
#include "merc entering.h"
|
|
||||||
#include "Interface Panels.h"
|
|
||||||
#include "Map Information.h"
|
|
||||||
#include "Squads.h"
|
|
||||||
#include "interface Dialogue.h"
|
|
||||||
#include "Auto Bandage.h"
|
|
||||||
#include "PreBattle Interface.h"
|
|
||||||
#include "Sound Control.h"
|
|
||||||
#include "MessageBoxScreen.h"
|
|
||||||
#include "Text.h"
|
|
||||||
#include "GameSettings.h"
|
|
||||||
#include "random.h"
|
|
||||||
#include "editscreen.h"
|
|
||||||
#include "Scheduling.h"
|
|
||||||
#include "Animated ProgressBar.h"
|
|
||||||
#include "connect.h"
|
#include "connect.h"
|
||||||
|
|
||||||
#ifdef JA2UB
|
#ifdef JA2UB
|
||||||
|
|||||||
+52
-39
@@ -1,38 +1,51 @@
|
|||||||
#include "builddefines.h"
|
#include "builddefines.h"
|
||||||
#include <cstdio>
|
#include <stdio.h>
|
||||||
#include "sgp.h"
|
#include <time.h>
|
||||||
#include "gameloop.h"
|
#include "sgp.h"
|
||||||
#include "himage.h"
|
#include "gameloop.h"
|
||||||
#include "vobject.h"
|
#include "himage.h"
|
||||||
#include "vobject_blitters.h"
|
#include "vobject.h"
|
||||||
#include "WCheck.h"
|
#include "vobject_blitters.h"
|
||||||
#include "input.h"
|
#include "WCheck.h"
|
||||||
#include "Font.h"
|
#include "input.h"
|
||||||
#include "screenids.h"
|
#include "Font.h"
|
||||||
#include "Screens.h"
|
#include "timer.h"
|
||||||
#include "Font Control.h"
|
#include "mousesystem.h"
|
||||||
#include <Overhead Types.h>
|
#include "screenids.h"
|
||||||
#include <Soldier Control.h>
|
#include "Screens.h"
|
||||||
#include "Timer Control.h"
|
#include "Font Control.h"
|
||||||
#include "Sys Globals.h"
|
#include "sysutil.h"
|
||||||
#include <Handle UI.h>
|
#include "tiledef.h"
|
||||||
#include "Overhead.h"
|
#include "worlddef.h"
|
||||||
#include "Utilities.h"
|
#include "editscreen.h"
|
||||||
#include "Render Dirty.h"
|
#include <wchar.h>
|
||||||
#include "jascreens.h"
|
#include <tchar.h>
|
||||||
#include "mainmenuscreen.h"
|
#include "Timer Control.h"
|
||||||
#include "Game Init.h"
|
#include "Sys Globals.h"
|
||||||
#include "Init.h"
|
#include "Interface.h"
|
||||||
#include "Cursor Control.h"
|
#include "Overhead.h"
|
||||||
#include "GameVersion.h"
|
#include "Utilities.h"
|
||||||
#include "Game Clock.h"
|
#include "Render Dirty.h"
|
||||||
#include "gamescreen.h"
|
#include "jascreens.h"
|
||||||
#include "english.h"
|
#include "gameloop.h"
|
||||||
#include "random.h"
|
#include "Event Pump.h"
|
||||||
#include "WordWrap.h"
|
#include "Animation Cache.h"
|
||||||
#include "Sound Control.h"
|
#include "lighting.h"
|
||||||
#include "Text.h"
|
#include "mainmenuscreen.h"
|
||||||
#include "INIReader.h"
|
#include "Game Init.h"
|
||||||
|
#include "Init.h"
|
||||||
|
#include "Cursor Control.h"
|
||||||
|
#include "Utilities.h"
|
||||||
|
#include "GameVersion.h"
|
||||||
|
#include "Game Clock.h"
|
||||||
|
#include "gamescreen.h"
|
||||||
|
#include "english.h"
|
||||||
|
#include "random.h"
|
||||||
|
#include "WordWrap.h"
|
||||||
|
#include "Sound Control.h"
|
||||||
|
#include "WordWrap.h"
|
||||||
|
#include "Text.h"
|
||||||
|
#include "INIReader.h"
|
||||||
|
|
||||||
#include "sgp_logger.h"
|
#include "sgp_logger.h"
|
||||||
#include <language.hpp>
|
#include <language.hpp>
|
||||||
@@ -650,7 +663,7 @@ UINT32 DebugScreenInit(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static BOOLEAN CheckForAndExitTacticalDebug( )
|
BOOLEAN CheckForAndExitTacticalDebug( )
|
||||||
{
|
{
|
||||||
if ( gfExitDebugScreen )
|
if ( gfExitDebugScreen )
|
||||||
{
|
{
|
||||||
@@ -667,7 +680,7 @@ static BOOLEAN CheckForAndExitTacticalDebug( )
|
|||||||
return( FALSE );
|
return( FALSE );
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ExitDebugScreen( )
|
void ExitDebugScreen( )
|
||||||
{
|
{
|
||||||
if ( guiCurrentScreen == DEBUG_SCREEN )
|
if ( guiCurrentScreen == DEBUG_SCREEN )
|
||||||
{
|
{
|
||||||
@@ -922,7 +935,7 @@ UINT32 DemoExitScreenInit(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void DoneFadeOutForDemoExitScreen( void )
|
void DoneFadeOutForDemoExitScreen( void )
|
||||||
{
|
{
|
||||||
gfProgramIsRunning = FALSE;
|
gfProgramIsRunning = FALSE;
|
||||||
}
|
}
|
||||||
@@ -930,7 +943,7 @@ static void DoneFadeOutForDemoExitScreen( void )
|
|||||||
// unused
|
// unused
|
||||||
//extern INT8 gbFadeSpeed;
|
//extern INT8 gbFadeSpeed;
|
||||||
|
|
||||||
static void DisplayTopwareGermanyAddress()
|
void DisplayTopwareGermanyAddress()
|
||||||
{
|
{
|
||||||
VOBJECT_DESC vo_desc;
|
VOBJECT_DESC vo_desc;
|
||||||
UINT32 uiTempID;
|
UINT32 uiTempID;
|
||||||
|
|||||||
@@ -0,0 +1,277 @@
|
|||||||
|
//legion 2
|
||||||
|
#include "types.h"
|
||||||
|
#include "types.h"
|
||||||
|
#include "random.h"
|
||||||
|
#include "Campaign Types.h"
|
||||||
|
#include "Queen Command.h"
|
||||||
|
#include "Overhead.h"
|
||||||
|
#include "Strategic Movement.h"
|
||||||
|
#include "Strategic Status.h"
|
||||||
|
#include "GameSettings.h"
|
||||||
|
#include "Strategic AI.h"
|
||||||
|
#include "XML.h"
|
||||||
|
#include "INIReader.h"
|
||||||
|
#include "Game Event Hook.h"
|
||||||
|
#include "sgp.h"
|
||||||
|
#include "jascreens.h"
|
||||||
|
#include "laptop.h"
|
||||||
|
#include "worlddef.h"
|
||||||
|
#include "Soldier Control.h"
|
||||||
|
#include "Overhead.h"
|
||||||
|
#include "email.h"
|
||||||
|
#include "Soldier Profile.h"
|
||||||
|
#include "strategicmap.h"
|
||||||
|
#include "Game Init.h"
|
||||||
|
#include "Animation Data.h"
|
||||||
|
#include "Soldier Create.h"
|
||||||
|
#include "Soldier Init List.h"
|
||||||
|
#include "strategic.h"
|
||||||
|
#include "Squads.h"
|
||||||
|
#include "Strategic Town Loyalty.h"
|
||||||
|
#include "Strategic Mines.h"
|
||||||
|
#include "gameloop.h"
|
||||||
|
#include "random.h"
|
||||||
|
#include "Map Screen Interface.h"
|
||||||
|
#include "Tactical Save.h"
|
||||||
|
#include "Campaign Types.h"
|
||||||
|
#include "message.h"
|
||||||
|
#include "Game Event Hook.h"
|
||||||
|
#include "Strategic Movement.h"
|
||||||
|
#include "Quests.h"
|
||||||
|
#include "Strategic AI.h"
|
||||||
|
#include "Dialogue Control.h"
|
||||||
|
#include "GameSettings.h"
|
||||||
|
#include "INIReader.h"
|
||||||
|
#include "Soldier Profile.h"
|
||||||
|
#include "XML.h"
|
||||||
|
#include "Item Types.h"
|
||||||
|
#include "Items.h"
|
||||||
|
#include "Text.h"
|
||||||
|
#include "GameSettings.h"
|
||||||
|
|
||||||
|
#ifdef JA2UB
|
||||||
|
#include "Ja25 Strategic Ai.h"
|
||||||
|
#include "Ja25Update.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "legion cfg.h" //legion2
|
||||||
|
#include "Campaign Types.h"
|
||||||
|
#include "Interface.h"
|
||||||
|
#include "Map Screen Interface Map.h"
|
||||||
|
#include "renderworld.h"
|
||||||
|
#include "connect.h"
|
||||||
|
#include "XMLWriter.h"
|
||||||
|
#include "Debug Control.h"
|
||||||
|
#include <vfs/Core/vfs.h>
|
||||||
|
|
||||||
|
GAME_LEGION_OPTIONS gGameLegionOptions;
|
||||||
|
|
||||||
|
#define GAME_LEGION_OPTIONS_FILE "UB_Options.ini"
|
||||||
|
|
||||||
|
void LoadGameLegionOptions();
|
||||||
|
|
||||||
|
#ifdef JA2UB
|
||||||
|
void RandomAddEnemy( UINT8 SectorX, UINT8 SectorY, UINT8 Level );
|
||||||
|
#endif
|
||||||
|
|
||||||
|
void RandomStats ();
|
||||||
|
|
||||||
|
#ifdef JA2UB
|
||||||
|
|
||||||
|
void RandomAddEnemy( UINT8 SectorX, UINT8 SectorY, UINT8 Level )
|
||||||
|
{
|
||||||
|
UNDERGROUND_SECTORINFO *pSector;
|
||||||
|
UINT16 ubNumAdmins = 0;
|
||||||
|
UINT16 ubNumTroops = 0;
|
||||||
|
UINT16 ubNumElites = 0;
|
||||||
|
|
||||||
|
if ( Level != 0 )
|
||||||
|
{
|
||||||
|
pSector = FindUnderGroundSector( SectorX, SectorY, Level );
|
||||||
|
if ( pSector )
|
||||||
|
{
|
||||||
|
if ( pSector->fVisited != TRUE )
|
||||||
|
{
|
||||||
|
switch( gGameOptions.ubDifficultyLevel )
|
||||||
|
{
|
||||||
|
case DIF_LEVEL_EASY:
|
||||||
|
ubNumAdmins = Random( 0 );
|
||||||
|
ubNumTroops = 10 + Random( 5 );
|
||||||
|
ubNumElites = Random( 4 );
|
||||||
|
SetNumberJa25EnemiesInSector( SectorX, SectorY, Level, ubNumAdmins, ubNumTroops, ubNumElites );
|
||||||
|
break;
|
||||||
|
case DIF_LEVEL_MEDIUM:
|
||||||
|
ubNumAdmins = Random( 0 );
|
||||||
|
ubNumTroops = 15 + Random( 8 );
|
||||||
|
ubNumElites = 1 + Random( 2 );
|
||||||
|
SetNumberJa25EnemiesInSector( SectorX, SectorY, Level, ubNumAdmins, ubNumTroops, ubNumElites );
|
||||||
|
break;
|
||||||
|
case DIF_LEVEL_HARD:
|
||||||
|
ubNumAdmins = Random( 0 );
|
||||||
|
ubNumTroops = 20 + Random( 7 );
|
||||||
|
ubNumElites = 2 + Random( 2 );
|
||||||
|
SetNumberJa25EnemiesInSector( SectorX, SectorY, Level, ubNumAdmins, ubNumTroops, ubNumElites );
|
||||||
|
break;
|
||||||
|
case DIF_LEVEL_INSANE:
|
||||||
|
ubNumAdmins = Random( 0 );
|
||||||
|
ubNumTroops = 20 + Random( 3 );
|
||||||
|
ubNumElites = 6 + Random( 3 );
|
||||||
|
SetNumberJa25EnemiesInSector( SectorX, SectorY, Level, ubNumAdmins, ubNumTroops, ubNumElites );
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if ( !GetSectorFlagStatus( SectorX, SectorY, Level, SF_ALREADY_VISITED ) )
|
||||||
|
{
|
||||||
|
switch( gGameOptions.ubDifficultyLevel )
|
||||||
|
{
|
||||||
|
case DIF_LEVEL_EASY:
|
||||||
|
ubNumAdmins = Random( 0 );
|
||||||
|
ubNumTroops = 10 + Random( 5 );
|
||||||
|
ubNumElites = Random( 4 );
|
||||||
|
SetNumberJa25EnemiesInSector( SectorX, SectorY, Level, ubNumAdmins, ubNumTroops, ubNumElites );
|
||||||
|
break;
|
||||||
|
case DIF_LEVEL_MEDIUM:
|
||||||
|
ubNumAdmins = Random( 0 );
|
||||||
|
ubNumTroops = 15 + Random( 8 );
|
||||||
|
ubNumElites = 1 + Random( 2 );
|
||||||
|
SetNumberJa25EnemiesInSector( SectorX, SectorY, Level, ubNumAdmins, ubNumTroops, ubNumElites );
|
||||||
|
break;
|
||||||
|
case DIF_LEVEL_HARD:
|
||||||
|
ubNumAdmins = Random( 0 );
|
||||||
|
ubNumTroops = 23 + Random( 7);
|
||||||
|
ubNumElites = 2 + Random( 2 );
|
||||||
|
SetNumberJa25EnemiesInSector( SectorX, SectorY, Level, ubNumAdmins, ubNumTroops, ubNumElites );
|
||||||
|
break;
|
||||||
|
case DIF_LEVEL_INSANE:
|
||||||
|
ubNumAdmins = Random( 0 );
|
||||||
|
ubNumTroops = 20 + Random( 3 );
|
||||||
|
ubNumElites = 6 + Random( 3 );
|
||||||
|
SetNumberJa25EnemiesInSector( SectorX, SectorY, Level, ubNumAdmins, ubNumTroops, ubNumElites );
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
void LoadGameLegionOptions()
|
||||||
|
{
|
||||||
|
#ifdef JA2UB
|
||||||
|
JA2_5_START_SECTOR_X = gGameExternalOptions.ubDefaultArrivalSectorX;
|
||||||
|
JA2_5_START_SECTOR_Y = gGameExternalOptions.ubDefaultArrivalSectorY;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
gGameLegionOptions.MercStartingGear25XML = TRUE;
|
||||||
|
gGameLegionOptions.LOCATEGRIDNO = gGameExternalOptions.iInitialMercArrivalLocation;
|
||||||
|
gGameLegionOptions.LOCATEGRIDNO2 = 0;
|
||||||
|
gGameLegionOptions.OLDUBInventory = FALSE;
|
||||||
|
|
||||||
|
CIniReader iniReader(GAME_LEGION_OPTIONS_FILE);
|
||||||
|
|
||||||
|
// -----------------------
|
||||||
|
// Unfinished Business
|
||||||
|
// -----------------------
|
||||||
|
|
||||||
|
gGameLegionOptions.BorderTown = iniReader.ReadBoolean("Unfinished Business Settings","BORDER_TOWN", TRUE);
|
||||||
|
gGameLegionOptions.BorderMine = iniReader.ReadBoolean("Unfinished Business Settings","BORDER_MINE", TRUE);
|
||||||
|
gGameLegionOptions.BorderTeams = iniReader.ReadBoolean("Unfinished Business Settings","BORDER_TEAMS", TRUE);
|
||||||
|
gGameLegionOptions.BorderMilitia = iniReader.ReadBoolean("Unfinished Business Settings","BORDER_MILITIA", FALSE);
|
||||||
|
gGameLegionOptions.BorderAirspace = iniReader.ReadBoolean("Unfinished Business Settings","BORDER_AIRSPACE", TRUE);
|
||||||
|
gGameLegionOptions.BorderItem = iniReader.ReadBoolean("Unfinished Business Settings","BORDER_ITEM", TRUE);
|
||||||
|
|
||||||
|
gGameLegionOptions.EventAttackInitialSectorIfPlayerStillThere = iniReader.ReadBoolean("Unfinished Business Settings","EVENT_ATTACK_INITIAL_SECTOR_IF_PLAYER_STILL_THERE", TRUE);
|
||||||
|
gGameLegionOptions.HandleAddingEnemiesToTunnelMaps = iniReader.ReadBoolean("Unfinished Business Settings","HANDLE_ADDING_ENEMIES_TO_TUNNEL_MAPS", TRUE);
|
||||||
|
gGameLegionOptions.ubEndDefaultSectorX = iniReader.ReadInteger("Unfinished Business Settings","DEFAULT_END_SECTOR_X", 16, 1, 16);
|
||||||
|
gGameLegionOptions.ubEndDefaultSectorY = iniReader.ReadInteger("Unfinished Business Settings","DEFAULT_END_SECTOR_Y", 11, 1, 16);
|
||||||
|
gGameLegionOptions.ubEndDefaultSectorZ = iniReader.ReadInteger("Unfinished Business Settings","DEFAULT_END_SECTOR_Z", 0, 0, 16);
|
||||||
|
gGameLegionOptions.AutoResolove = iniReader.ReadBoolean("Unfinished Business Settings","AUTO_RESOLVE", FALSE);
|
||||||
|
|
||||||
|
gGameLegionOptions.InitialHeliGridNo[ 0 ] = iniReader.ReadInteger("Unfinished Business Settings","INITIAL_HELICOPTER_GRIDNO_1", 14947);
|
||||||
|
gGameLegionOptions.InitialHeliGridNo[ 1 ] = iniReader.ReadInteger("Unfinished Business Settings","INITIAL_HELICOPTER_GRIDNO_2", 15584);
|
||||||
|
gGameLegionOptions.InitialHeliGridNo[ 2 ] = iniReader.ReadInteger("Unfinished Business Settings","INITIAL_HELICOPTER_GRIDNO_3", 15754);
|
||||||
|
gGameLegionOptions.InitialHeliGridNo[ 3 ] = iniReader.ReadInteger("Unfinished Business Settings","INITIAL_HELICOPTER_GRIDNO_4", 16232);
|
||||||
|
gGameLegionOptions.InitialHeliGridNo[ 4 ] = iniReader.ReadInteger("Unfinished Business Settings","INITIAL_HELICOPTER_GRIDNO_5", 16067);
|
||||||
|
gGameLegionOptions.InitialHeliGridNo[ 5 ] = iniReader.ReadInteger("Unfinished Business Settings","INITIAL_HELICOPTER_GRIDNO_6", 16230);
|
||||||
|
gGameLegionOptions.InitialHeliGridNo[ 6 ] = iniReader.ReadInteger("Unfinished Business Settings","INITIAL_HELICOPTER_GRIDNO_7", 15272);
|
||||||
|
|
||||||
|
gGameLegionOptions.InitalHeliRandomTimes[ 0 ] = iniReader.ReadInteger("Unfinished Business Settings","INITIAL_HELICOPTER_RANDOM_TIME_1", 1300);
|
||||||
|
gGameLegionOptions.InitalHeliRandomTimes[ 1 ] = iniReader.ReadInteger("Unfinished Business Settings","INITIAL_HELICOPTER_RANDOM_TIME_2", 2000);
|
||||||
|
gGameLegionOptions.InitalHeliRandomTimes[ 2 ] = iniReader.ReadInteger("Unfinished Business Settings","INITIAL_HELICOPTER_RANDOM_TIME_3", 2750);
|
||||||
|
gGameLegionOptions.InitalHeliRandomTimes[ 3 ] = iniReader.ReadInteger("Unfinished Business Settings","INITIAL_HELICOPTER_RANDOM_TIME_4", 3400);
|
||||||
|
gGameLegionOptions.InitalHeliRandomTimes[ 4 ] = iniReader.ReadInteger("Unfinished Business Settings","INITIAL_HELICOPTER_RANDOM_TIME_5", 4160);
|
||||||
|
gGameLegionOptions.InitalHeliRandomTimes[ 5 ] = iniReader.ReadInteger("Unfinished Business Settings","INITIAL_HELICOPTER_RANDOM_TIME_6", 4700);
|
||||||
|
gGameLegionOptions.InitalHeliRandomTimes[ 6 ] = iniReader.ReadInteger("Unfinished Business Settings","INITIAL_HELICOPTER_RANDOM_TIME_7", 5630);
|
||||||
|
|
||||||
|
gGameLegionOptions.InGameHeliCrash = iniReader.ReadBoolean("Unfinished Business Settings","ENABLE_UB_HELICOPTER_CRASH", TRUE);
|
||||||
|
gGameLegionOptions.JerryQuotes = iniReader.ReadBoolean("Unfinished Business Settings","JERRY_QUOTES", TRUE);
|
||||||
|
gGameLegionOptions.InJerry = iniReader.ReadBoolean("Unfinished Business Settings","JERRY", TRUE);
|
||||||
|
gGameLegionOptions.JerryGridNo = iniReader.ReadInteger("Unfinished Business Settings","JERRY_GRIDNO", 15109);
|
||||||
|
gGameLegionOptions.InGameHeli = iniReader.ReadBoolean("Unfinished Business Settings","ENABLE_JA2_HELICOPTER_LANDING", FALSE);
|
||||||
|
|
||||||
|
gGameLegionOptions.SwitchInMorrisAreaGridNo = iniReader.ReadInteger("Unfinished Business Settings","SWITCH_IN_MORRIS_AREA_GRIDNO", 15231);
|
||||||
|
gGameLegionOptions.SwitchToLaunchMisslesGridNo1 = iniReader.ReadInteger("Unfinished Business Settings","SWITCH_TO_LAUNCH_MISSLES_GRIDNO_1", 14268);
|
||||||
|
gGameLegionOptions.SwitchToLaunchMisslesGridNo2 = iniReader.ReadInteger("Unfinished Business Settings","SWITCH_TO_LAUNCH_MISSLES_GRIDNO_2", 15708);
|
||||||
|
gGameLegionOptions.RadioLocatorsGridNo1 = iniReader.ReadInteger("Unfinished Business Settings","RADIO_LOCATORS_GRIDNO_1", 15070);
|
||||||
|
gGameLegionOptions.RadioLocatorsGridNo2 = iniReader.ReadInteger("Unfinished Business Settings","RADIO_LOCATORS_GRIDNO_2", 14744);
|
||||||
|
gGameLegionOptions.PowergenSectorGridNo1 = iniReader.ReadInteger("Unfinished Business Settings","POWERGEN_SECTOR_GRIDNO_1", 15100);
|
||||||
|
gGameLegionOptions.PowergenSectorGridNo2 = iniReader.ReadInteger("Unfinished Business Settings","POWERGEN_SECTOR_GRIDNO_2", 12220);
|
||||||
|
gGameLegionOptions.PowergenSectorGridNo3 = iniReader.ReadInteger("Unfinished Business Settings","POWERGEN_SECTOR_GRIDNO_3", 14155);
|
||||||
|
gGameLegionOptions.PowergenSectorGridNo4 = iniReader.ReadInteger("Unfinished Business Settings","POWERGEN_SECTOR_GRIDNO_4", 13980);
|
||||||
|
|
||||||
|
gGameLegionOptions.PowergenSectorExitgridGridNo = iniReader.ReadInteger("Unfinished Business Settings","POWERGEN_SECTOR_EXITGRID_GRIDNO", 19749);
|
||||||
|
gGameLegionOptions.PowergenFanSoundGridNo1 = iniReader.ReadInteger("Unfinished Business Settings","POWERGEN_FAN_SOUND_GRIDNO_1", 10979);
|
||||||
|
gGameLegionOptions.PowergenFanSoundGridNo2 = iniReader.ReadInteger("Unfinished Business Settings","POWERGEN_FAN_SOUND_GRIDNO_2", 19749);
|
||||||
|
gGameLegionOptions.StartFanbackupAgainGridNo = iniReader.ReadInteger("Unfinished Business Settings","START_FANBACKUP_AGAIN_GRIDNO", 10980);
|
||||||
|
gGameLegionOptions.StopPowergenFanGridNo = iniReader.ReadInteger("Unfinished Business Settings","STOP_POWERGEN_FAN_GRIDNO", 10980);
|
||||||
|
|
||||||
|
//sec J13
|
||||||
|
gGameLegionOptions.FanGridNo[0] = iniReader.ReadInteger("Unfinished Business Settings","FAN_GRIDNO_1", 10978);
|
||||||
|
gGameLegionOptions.FanGridNo[1] = iniReader.ReadInteger("Unfinished Business Settings","FAN_GRIDNO_2", 10979);
|
||||||
|
gGameLegionOptions.FanGridNo[2] = iniReader.ReadInteger("Unfinished Business Settings","FAN_GRIDNO_3", 10980);
|
||||||
|
gGameLegionOptions.FanGridNo[3] = iniReader.ReadInteger("Unfinished Business Settings","FAN_GRIDNO_4", 10818);
|
||||||
|
gGameLegionOptions.FanGridNo[4] = iniReader.ReadInteger("Unfinished Business Settings","FAN_GRIDNO_5", 10819);
|
||||||
|
gGameLegionOptions.FanGridNo[5] = iniReader.ReadInteger("Unfinished Business Settings","FAN_GRIDNO_6", 10820);
|
||||||
|
gGameLegionOptions.FanGridNo[6] = iniReader.ReadInteger("Unfinished Business Settings","FAN_GRIDNO_7", 10658);
|
||||||
|
gGameLegionOptions.FanGridNo[7] = iniReader.ReadInteger("Unfinished Business Settings","FAN_GRIDNO_8", 10659);
|
||||||
|
gGameLegionOptions.FanGridNo[8] = iniReader.ReadInteger("Unfinished Business Settings","FAN_GRIDNO_9", 10660);
|
||||||
|
|
||||||
|
if ( gGameLegionOptions.InGameHeli == TRUE )
|
||||||
|
gGameLegionOptions.InGameHeliCrash = FALSE;
|
||||||
|
|
||||||
|
if ( gGameLegionOptions.InGameHeliCrash == TRUE )
|
||||||
|
gGameLegionOptions.InGameHeli = FALSE;
|
||||||
|
|
||||||
|
if ( gGameLegionOptions.InGameHeli == TRUE && gGameLegionOptions.InGameHeliCrash == TRUE )
|
||||||
|
{
|
||||||
|
gGameLegionOptions.InGameHeliCrash = TRUE;
|
||||||
|
gGameLegionOptions.InGameHeli = FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
// -----------------------
|
||||||
|
// Campaign
|
||||||
|
// -----------------------
|
||||||
|
|
||||||
|
gGameLegionOptions.EnemyXML = iniReader.ReadBoolean("Campaign Settings","USE_ENEMY_ARMY_XMLS", TRUE);
|
||||||
|
gGameLegionOptions.AddRandomEnemyToSector = iniReader.ReadBoolean("Campaign Settings","ADD_RANDOM_ENEMY_TO_SECTOR", FALSE);
|
||||||
|
gGameLegionOptions.StrategicMovementCostsXML = iniReader.ReadBoolean("Campaign Settings","STRATEGIC_MOVEMENT_COSTS_XML", FALSE);
|
||||||
|
gGameLegionOptions.MakeStrategicMovementCosts = iniReader.ReadBoolean("Campaign Settings","MAKE_STRATEGIC_MOVEMENT_COSTS", FALSE);
|
||||||
|
gGameLegionOptions.LaptopQuestEnabled = iniReader.ReadBoolean("Campaign Settings","LAPTOP_QUEST", TRUE);
|
||||||
|
gGameLegionOptions.pJA2UB = iniReader.ReadBoolean("Campaign Settings","JA2UB", TRUE);
|
||||||
|
gGameLegionOptions.fDeadMerc = iniReader.ReadBoolean("Campaign Settings","NOTIFY_ON_DEAD_AIM_MERCS", FALSE);
|
||||||
|
|
||||||
|
// -----------------------
|
||||||
|
// Laptop
|
||||||
|
// -----------------------
|
||||||
|
|
||||||
|
gGameLegionOptions.LaptopIMPPassJA2 = iniReader.ReadBoolean("Laptop Settings","IMP_PASS_JA2", FALSE);
|
||||||
|
gGameLegionOptions.LaptopIMPPassUB = iniReader.ReadBoolean("Laptop Settings","IMP_PASS_UB", TRUE);
|
||||||
|
gGameLegionOptions.LaptopLinkInsurance = iniReader.ReadBoolean("Laptop Settings","LINK_INSURANCE", FALSE);
|
||||||
|
gGameLegionOptions.LaptopLinkFuneral = iniReader.ReadBoolean("Laptop Settings","LINK_FUNERAL", TRUE);
|
||||||
|
gGameLegionOptions.LaptopLinkBobby = iniReader.ReadBoolean("Laptop Settings","LINK_BOBBY", FALSE);
|
||||||
|
gGameLegionOptions.fBobbyRSite = iniReader.ReadBoolean("Laptop Settings","BOBBY_SITE_ACCESSED", FALSE);
|
||||||
|
}
|
||||||
@@ -0,0 +1,105 @@
|
|||||||
|
#ifndef _LEGION_CFG_H
|
||||||
|
#define _LEGION_CFG_H
|
||||||
|
|
||||||
|
#include "soldier profile type.h"
|
||||||
|
|
||||||
|
extern void LoadGameLegionOptions();
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
BOOLEAN BorderTown;
|
||||||
|
BOOLEAN BorderMine;
|
||||||
|
BOOLEAN BorderTeams;
|
||||||
|
BOOLEAN BorderMilitia;
|
||||||
|
BOOLEAN BorderAirspace;
|
||||||
|
BOOLEAN BorderItem;
|
||||||
|
|
||||||
|
BOOLEAN EnemyXML;
|
||||||
|
BOOLEAN EventAttackInitialSectorIfPlayerStillThere;
|
||||||
|
BOOLEAN HandleAddingEnemiesToTunnelMaps;
|
||||||
|
BOOLEAN BobbyRayInventory_UB;
|
||||||
|
BOOLEAN InitTownLoyalty_UB;
|
||||||
|
BOOLEAN AutoResolove;
|
||||||
|
BOOLEAN AddRandomEnemyToSector;
|
||||||
|
BOOLEAN StrategicMovementCostsXML;
|
||||||
|
BOOLEAN MakeStrategicMovementCosts;
|
||||||
|
BOOLEAN MercStartingGear25XML;
|
||||||
|
UINT32 InitialHeliGridNo[ 7 ];
|
||||||
|
INT16 InitalHeliRandomTimes[ 7 ];
|
||||||
|
UINT32 LOCATEGRIDNO;
|
||||||
|
BOOLEAN LaptopIMPPassJA2;
|
||||||
|
BOOLEAN LaptopIMPPassUB;
|
||||||
|
|
||||||
|
UINT8 ubDefaultArrivalSectorX;
|
||||||
|
UINT8 ubDefaultArrivalSectorY;
|
||||||
|
|
||||||
|
INT32 iStartingCashNovice;
|
||||||
|
INT32 iStartingCashExperienced;
|
||||||
|
INT32 iStartingCashExpert;
|
||||||
|
INT32 iStartingCashInsane;
|
||||||
|
|
||||||
|
BOOLEAN TEX_AND_JOHN;
|
||||||
|
|
||||||
|
BOOLEAN Random_Manuel_Text;
|
||||||
|
|
||||||
|
BOOLEAN RISRAPORT;
|
||||||
|
|
||||||
|
BOOLEAN LaptopQuestEnabled;
|
||||||
|
|
||||||
|
BOOLEAN InGameHeliCrash;
|
||||||
|
|
||||||
|
BOOLEAN InGameHeli;
|
||||||
|
|
||||||
|
UINT32 LOCATEGRIDNO2;
|
||||||
|
|
||||||
|
BOOLEAN JerryQuotes;
|
||||||
|
|
||||||
|
BOOLEAN InJerry;
|
||||||
|
|
||||||
|
UINT32 JerryGridNo;
|
||||||
|
|
||||||
|
UINT32 SwitchInMorrisAreaGridNo;
|
||||||
|
UINT32 SwitchToLaunchMisslesGridNo1;
|
||||||
|
UINT32 SwitchToLaunchMisslesGridNo2;
|
||||||
|
UINT32 RadioLocatorsGridNo1;
|
||||||
|
UINT32 RadioLocatorsGridNo2;
|
||||||
|
UINT32 PowergenSectorGridNo1;
|
||||||
|
UINT32 PowergenSectorGridNo2;
|
||||||
|
UINT32 PowergenSectorGridNo3;
|
||||||
|
UINT32 PowergenSectorGridNo4;
|
||||||
|
UINT32 PowergenSectorExitgridGridNo;
|
||||||
|
UINT32 PowergenFanSoundGridNo1;
|
||||||
|
UINT32 PowergenFanSoundGridNo2;
|
||||||
|
UINT32 StartFanbackupAgainGridNo;
|
||||||
|
UINT32 StopPowergenFanGridNo;
|
||||||
|
|
||||||
|
BOOLEAN TestUB;
|
||||||
|
|
||||||
|
BOOLEAN LaptopLinkInsurance;
|
||||||
|
BOOLEAN LaptopLinkFuneral;
|
||||||
|
BOOLEAN LaptopLinkBobby;
|
||||||
|
|
||||||
|
UINT32 FanGridNo[9];
|
||||||
|
|
||||||
|
UINT8 ubEndDefaultSectorX;
|
||||||
|
UINT8 ubEndDefaultSectorY;
|
||||||
|
UINT8 ubEndDefaultSectorZ;
|
||||||
|
|
||||||
|
BOOLEAN pJA2UB;
|
||||||
|
|
||||||
|
BOOLEAN fBobbyRSite;
|
||||||
|
BOOLEAN fDeadMerc;
|
||||||
|
|
||||||
|
BOOLEAN OLDUBInventory;
|
||||||
|
|
||||||
|
} GAME_LEGION_OPTIONS;
|
||||||
|
|
||||||
|
extern GAME_LEGION_OPTIONS gGameLegionOptions;
|
||||||
|
|
||||||
|
#ifdef JA2UB
|
||||||
|
extern void RandomAddEnemy( UINT8 SectorX, UINT8 SectorY, UINT8 Level );
|
||||||
|
extern void RandomStats ();
|
||||||
|
#endif
|
||||||
|
|
||||||
|
extern void RandomStats ();
|
||||||
|
#endif
|
||||||
+1
-11
@@ -200,17 +200,7 @@ void LoadGameUBOptions()
|
|||||||
gGameUBOptions.BorderItem = iniReader.ReadBoolean("Unfinished Business Settings","BORDER_ITEM", TRUE);
|
gGameUBOptions.BorderItem = iniReader.ReadBoolean("Unfinished Business Settings","BORDER_ITEM", TRUE);
|
||||||
|
|
||||||
gGameUBOptions.EventAttackInitialSectorIfPlayerStillThere = iniReader.ReadBoolean("Unfinished Business Settings","EVENT_ATTACK_INITIAL_SECTOR_IF_PLAYER_STILL_THERE", TRUE);
|
gGameUBOptions.EventAttackInitialSectorIfPlayerStillThere = iniReader.ReadBoolean("Unfinished Business Settings","EVENT_ATTACK_INITIAL_SECTOR_IF_PLAYER_STILL_THERE", TRUE);
|
||||||
gGameUBOptions.HandleAddingEnemiesToTunnelMaps = iniReader.ReadBoolean("Unfinished Business Settings","HANDLE_ADDING_ENEMIES_TO_TUNNEL_MAPS", TRUE);
|
gGameUBOptions.HandleAddingEnemiesToTunnelMaps = iniReader.ReadBoolean("Unfinished Business Settings","HANDLE_ADDING_ENEMIES_TO_TUNNEL_MAPS", TRUE);
|
||||||
|
|
||||||
//J14-1
|
|
||||||
gGameUBOptions.Tunnel1_SectorX = iniReader.ReadInteger("Unfinished Business Settings", "TUNNEL1_SECTOR_X", 14);
|
|
||||||
gGameUBOptions.Tunnel1_SectorY = iniReader.ReadInteger("Unfinished Business Settings", "TUNNEL1_SECTOR_Y", 10);
|
|
||||||
gGameUBOptions.Tunnel1_SectorZ = iniReader.ReadInteger("Unfinished Business Settings", "TUNNEL1_SECTOR_Z", 1);
|
|
||||||
//K14-1
|
|
||||||
gGameUBOptions.Tunnel2_SectorX = iniReader.ReadInteger("Unfinished Business Settings", "TUNNEL2_SECTOR_X", 14);
|
|
||||||
gGameUBOptions.Tunnel2_SectorY = iniReader.ReadInteger("Unfinished Business Settings", "TUNNEL2_SECTOR_Y", 11);
|
|
||||||
gGameUBOptions.Tunnel2_SectorZ = iniReader.ReadInteger("Unfinished Business Settings", "TUNNEL2_SECTOR_Z", 1);
|
|
||||||
|
|
||||||
gGameUBOptions.ubEndDefaultSectorX = iniReader.ReadInteger("Unfinished Business Settings","DEFAULT_END_SECTOR_X", 16, 1, 16);
|
gGameUBOptions.ubEndDefaultSectorX = iniReader.ReadInteger("Unfinished Business Settings","DEFAULT_END_SECTOR_X", 16, 1, 16);
|
||||||
gGameUBOptions.ubEndDefaultSectorY = iniReader.ReadInteger("Unfinished Business Settings","DEFAULT_END_SECTOR_Y", 11, 1, 16);
|
gGameUBOptions.ubEndDefaultSectorY = iniReader.ReadInteger("Unfinished Business Settings","DEFAULT_END_SECTOR_Y", 11, 1, 16);
|
||||||
gGameUBOptions.ubEndDefaultSectorZ = iniReader.ReadInteger("Unfinished Business Settings","DEFAULT_END_SECTOR_Z", 0, 0, 16);
|
gGameUBOptions.ubEndDefaultSectorZ = iniReader.ReadInteger("Unfinished Business Settings","DEFAULT_END_SECTOR_Z", 0, 0, 16);
|
||||||
|
|||||||
@@ -224,14 +224,6 @@ typedef struct
|
|||||||
INT16 BettyBloodCatSectorX;
|
INT16 BettyBloodCatSectorX;
|
||||||
INT16 BettyBloodCatSectorY;
|
INT16 BettyBloodCatSectorY;
|
||||||
INT8 BettyBloodCatSectorZ;
|
INT8 BettyBloodCatSectorZ;
|
||||||
|
|
||||||
INT16 Tunnel1_SectorX;
|
|
||||||
INT16 Tunnel1_SectorY;
|
|
||||||
INT8 Tunnel1_SectorZ;
|
|
||||||
|
|
||||||
INT16 Tunnel2_SectorX;
|
|
||||||
INT16 Tunnel2_SectorY;
|
|
||||||
INT8 Tunnel2_SectorZ;
|
|
||||||
} GAME_UB_OPTIONS;
|
} GAME_UB_OPTIONS;
|
||||||
|
|
||||||
extern GAME_UB_OPTIONS gGameUBOptions;
|
extern GAME_UB_OPTIONS gGameUBOptions;
|
||||||
|
|||||||
+2
-1
@@ -3,6 +3,7 @@
|
|||||||
#include "Utilities.h"
|
#include "Utilities.h"
|
||||||
#include "WCheck.h"
|
#include "WCheck.h"
|
||||||
#include "Timer Control.h"
|
#include "Timer Control.h"
|
||||||
|
#include "DEBUG.H"
|
||||||
#include "WordWrap.h"
|
#include "WordWrap.h"
|
||||||
#include "Encrypted File.h"
|
#include "Encrypted File.h"
|
||||||
#include "email.h"
|
#include "email.h"
|
||||||
@@ -15,7 +16,7 @@
|
|||||||
#include "sysutil.h"
|
#include "sysutil.h"
|
||||||
|
|
||||||
#include "LocalizedStrings.h"
|
#include "LocalizedStrings.h"
|
||||||
#include <soldier profile type.h>
|
#include "Soldier Profile.h"
|
||||||
|
|
||||||
UINT8 MAX_NUMBER_MERCS = 0;
|
UINT8 MAX_NUMBER_MERCS = 0;
|
||||||
|
|
||||||
|
|||||||
+104
-89
@@ -1,81 +1,96 @@
|
|||||||
#include "Assignments.h"
|
#include "Assignments.h"
|
||||||
#include "strategic.h"
|
#include "strategic.h"
|
||||||
#include "Items.h"
|
#include "Items.h"
|
||||||
#include "Overhead.h"
|
#include "Overhead.h"
|
||||||
#include "Game Clock.h"
|
#include "Game Clock.h"
|
||||||
#include "stdlib.h"
|
#include "stdlib.h"
|
||||||
#include "message.h"
|
#include "message.h"
|
||||||
#include "Font Control.h"
|
#include "Font Control.h"
|
||||||
#include "Map Screen Interface.h"
|
#include "Map Screen Interface.h"
|
||||||
#include "soldier profile type.h"
|
#include "soldier profile type.h"
|
||||||
#include "Soldier Profile.h"
|
#include "Soldier Profile.h"
|
||||||
#include "Campaign.h"
|
#include "Campaign.h"
|
||||||
#include "Queen Command.h"
|
#include "Queen Command.h"
|
||||||
#include "strategicmap.h"
|
#include "strategicmap.h"
|
||||||
#include "Text.h"
|
#include "Text.h"
|
||||||
#include "Dialogue Control.h"
|
#include "Dialogue Control.h"
|
||||||
#include "NPC.h"
|
#include "NPC.h"
|
||||||
#include "Strategic Town Loyalty.h"
|
#include "Strategic Town Loyalty.h"
|
||||||
#include "Animation Control.h"
|
#include "Animation Control.h"
|
||||||
#include "mapscreen.h"
|
#include "mapscreen.h"
|
||||||
#include "Squads.h"
|
#include "Squads.h"
|
||||||
#include "Map Screen Helicopter.h"
|
#include "Map Screen Helicopter.h"
|
||||||
#include "PopUpBox.h"
|
#include "PopUpBox.h"
|
||||||
#include "Vehicles.h"
|
#include "Vehicles.h"
|
||||||
#include "Merc Contract.h"
|
#include "Merc Contract.h"
|
||||||
#include "Map Screen Interface Map.h"
|
#include "Map Screen Interface Map.h"
|
||||||
#include "Strategic Movement.h"
|
#include "Strategic Movement.h"
|
||||||
#include "laptop.h"
|
#include "laptop.h"
|
||||||
#include "finances.h"
|
#include "finances.h"
|
||||||
#include "LaptopSave.h"
|
#include "LaptopSave.h"
|
||||||
#include "renderworld.h"
|
#include "renderworld.h"
|
||||||
#include "Interface Control.h"
|
#include "Interface Control.h"
|
||||||
#include "Interface.h"
|
#include "Interface.h"
|
||||||
#include "Soldier Find.h"
|
#include "Soldier Find.h"
|
||||||
#include <Rotting Corpses.h>
|
#include "ai.h"
|
||||||
#include "Utilities.h"
|
#include "Utilities.h"
|
||||||
#include "random.h"
|
#include "random.h"
|
||||||
#include "Soldier Add.h"
|
#include "line.h"
|
||||||
#include "GameSettings.h"
|
#include "Soldier Add.h"
|
||||||
#include "Isometric Utils.h"
|
#include "GameSettings.h"
|
||||||
#include "Soldier macros.h"
|
#include "Isometric Utils.h"
|
||||||
#include "Explosion Control.h"
|
#include "Soldier macros.h"
|
||||||
#include "SkillCheck.h"
|
#include "Explosion Control.h"
|
||||||
#include "Quests.h"
|
#include "SkillCheck.h"
|
||||||
#include "Town Militia.h"
|
#include "Quests.h"
|
||||||
#include "Map Screen Interface Border.h"
|
#include "Town Militia.h"
|
||||||
#include "math.h"
|
#include "Map Screen Interface Border.h"
|
||||||
#include "Game Event Hook.h"
|
#include "math.h"
|
||||||
#include "Map Information.h"
|
#include "SkillCheck.h"
|
||||||
#include "Strategic Status.h"
|
#include "Strategic Pathing.h"
|
||||||
#include "history.h"
|
#include "Game Event Hook.h"
|
||||||
#include "Map Screen Interface Map Inventory.h"
|
#include "Strategic Event Handler.h"
|
||||||
#include "interface Dialogue.h"
|
#include "Map Information.h"
|
||||||
// added by SANDRO
|
#include "Strategic Status.h"
|
||||||
#include "AIInternals.h"
|
#include "history.h"
|
||||||
#include "Morale.h"
|
#include "Map Screen Interface Map Inventory.h"
|
||||||
#include "Food.h"
|
#include "interface Dialogue.h"
|
||||||
#include "Tactical Save.h" // added by Flugente
|
// added by SANDRO
|
||||||
#include "Campaign Types.h" // added by Flugente
|
#include "AIInternals.h"
|
||||||
#include "DynamicDialogue.h" // added by Flugente
|
#include "Morale.h"
|
||||||
#include "Disease.h" // added by Flugente
|
#include "Food.h"
|
||||||
#include "PMC.h" // added by Flugente
|
#include "Tactical Save.h" // added by Flugente
|
||||||
#include "Drugs And Alcohol.h" // added by Flugente for DoesMercHaveDisability( ... )
|
#include "Campaign Types.h" // added by Flugente
|
||||||
#include "MilitiaIndividual.h" // added by Flugente
|
#include "Strategic Town Loyalty.h"
|
||||||
#include "Militia Control.h" // added by Flugente
|
#include "DynamicDialogue.h" // added by Flugente
|
||||||
#include "ASD.h" // added by Flugente
|
#include "Disease.h" // added by Flugente
|
||||||
#include "Strategic AI.h"
|
#include "Queen Command.h" // added by Flugente
|
||||||
#include "MiniEvents.h"
|
#include "PMC.h" // added by Flugente
|
||||||
#include "Rebel Command.h"
|
#include "Drugs And Alcohol.h" // added by Flugente for DoesMercHaveDisability( ... )
|
||||||
|
#include "MilitiaIndividual.h" // added by Flugente
|
||||||
|
#include "Militia Control.h" // added by Flugente
|
||||||
|
#include "ASD.h" // added by Flugente
|
||||||
|
#include "Strategic AI.h"
|
||||||
|
#include "MiniEvents.h"
|
||||||
|
#include "Rebel Command.h"
|
||||||
#include <vector>
|
#include <vector>
|
||||||
#include <queue>
|
#include <queue>
|
||||||
|
|
||||||
|
#include "Vehicles.h"
|
||||||
|
|
||||||
#include "GameInitOptionsScreen.h"
|
#include "GameInitOptionsScreen.h"
|
||||||
#include "Facilities.h"
|
|
||||||
|
|
||||||
//forward declarations of common classes to eliminate includes
|
//forward declarations of common classes to eliminate includes
|
||||||
|
class OBJECTTYPE;
|
||||||
|
class SOLDIERTYPE;
|
||||||
extern int POP_UP_BOX_X;
|
extern int POP_UP_BOX_X;
|
||||||
extern WorldItems gAllWorldItems;
|
extern WorldItems gAllWorldItems;
|
||||||
|
|
||||||
|
#include "MilitiaSquads.h"
|
||||||
|
// HEADROCK HAM 3.5: Include Facility data
|
||||||
|
#include "Facilities.h"
|
||||||
|
|
||||||
|
#include "Vehicles.h"
|
||||||
|
|
||||||
#ifdef JA2UB
|
#ifdef JA2UB
|
||||||
#include "Explosion Control.h"
|
#include "Explosion Control.h"
|
||||||
@@ -767,7 +782,7 @@ void ChangeSoldiersAssignment( SOLDIERTYPE *pSoldier, INT8 bAssignment )
|
|||||||
fMapPanelDirty = TRUE;
|
fMapPanelDirty = TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static BOOLEAN BasicCanCharacterAssignment( SOLDIERTYPE * pSoldier, BOOLEAN fNotInCombat )
|
BOOLEAN BasicCanCharacterAssignment( SOLDIERTYPE * pSoldier, BOOLEAN fNotInCombat )
|
||||||
{
|
{
|
||||||
AssertNotNIL(pSoldier);
|
AssertNotNIL(pSoldier);
|
||||||
// global conditions restricting all assignment changes
|
// global conditions restricting all assignment changes
|
||||||
@@ -1350,7 +1365,7 @@ BOOLEAN DoesCharacterHaveAnyItemsToRepair( SOLDIERTYPE *pSoldier, INT8 bHighestP
|
|||||||
return( FALSE );
|
return( FALSE );
|
||||||
}
|
}
|
||||||
|
|
||||||
static BOOLEAN BasicCanCharacterRepair( SOLDIERTYPE * pSoldier )
|
BOOLEAN BasicCanCharacterRepair( SOLDIERTYPE * pSoldier )
|
||||||
{
|
{
|
||||||
AssertNotNIL(pSoldier);
|
AssertNotNIL(pSoldier);
|
||||||
|
|
||||||
@@ -2433,7 +2448,7 @@ BOOLEAN CanCharacterTrainTeammates( SOLDIERTYPE *pSoldier )
|
|||||||
return( TRUE );
|
return( TRUE );
|
||||||
}
|
}
|
||||||
|
|
||||||
static BOOLEAN CanCharacterBeTrainedByOther( SOLDIERTYPE *pSoldier )
|
BOOLEAN CanCharacterBeTrainedByOther( SOLDIERTYPE *pSoldier )
|
||||||
{
|
{
|
||||||
AssertNotNIL(pSoldier);
|
AssertNotNIL(pSoldier);
|
||||||
|
|
||||||
@@ -2818,7 +2833,7 @@ BOOLEAN CanCharacterSnitch( SOLDIERTYPE *pSoldier )
|
|||||||
return( FALSE );
|
return( FALSE );
|
||||||
}
|
}
|
||||||
|
|
||||||
static BOOLEAN CanCharacterSpreadPropaganda( SOLDIERTYPE *pSoldier )
|
BOOLEAN CanCharacterSpreadPropaganda( SOLDIERTYPE *pSoldier )
|
||||||
{
|
{
|
||||||
AssertNotNIL(pSoldier);
|
AssertNotNIL(pSoldier);
|
||||||
|
|
||||||
@@ -2849,7 +2864,7 @@ static BOOLEAN CanCharacterSpreadPropaganda( SOLDIERTYPE *pSoldier )
|
|||||||
return( TRUE );
|
return( TRUE );
|
||||||
}
|
}
|
||||||
|
|
||||||
static BOOLEAN CanCharacterGatherInformation( SOLDIERTYPE *pSoldier )
|
BOOLEAN CanCharacterGatherInformation( SOLDIERTYPE *pSoldier )
|
||||||
{
|
{
|
||||||
AssertNotNIL(pSoldier);
|
AssertNotNIL(pSoldier);
|
||||||
|
|
||||||
@@ -2880,7 +2895,7 @@ static BOOLEAN CanCharacterGatherInformation( SOLDIERTYPE *pSoldier )
|
|||||||
return( TRUE );
|
return( TRUE );
|
||||||
}
|
}
|
||||||
|
|
||||||
static BOOLEAN CanCharacterSnitchInPrison( SOLDIERTYPE *pSoldier )
|
BOOLEAN CanCharacterSnitchInPrison( SOLDIERTYPE *pSoldier )
|
||||||
{
|
{
|
||||||
AssertNotNIL(pSoldier);
|
AssertNotNIL(pSoldier);
|
||||||
|
|
||||||
@@ -3158,7 +3173,7 @@ UINT8 GetNumberThatCanBeDoctored( SOLDIERTYPE *pDoctor, BOOLEAN fThisHour, BOOLE
|
|||||||
return( ubNumberOfPeople );
|
return( ubNumberOfPeople );
|
||||||
}
|
}
|
||||||
|
|
||||||
static SOLDIERTYPE* GetPatientThatCanBeDoctored( SOLDIERTYPE *pDoctor, BOOLEAN fThisHour, BOOLEAN fSkipKitCheck, BOOLEAN fSkipSkillCheck, BOOLEAN fCheckForSurgery )
|
SOLDIERTYPE* GetPatientThatCanBeDoctored( SOLDIERTYPE *pDoctor, BOOLEAN fThisHour, BOOLEAN fSkipKitCheck, BOOLEAN fSkipSkillCheck, BOOLEAN fCheckForSurgery )
|
||||||
{
|
{
|
||||||
int cnt;
|
int cnt;
|
||||||
SOLDIERTYPE *pSoldier = MercPtrs[0], *pTeamSoldier = NULL;
|
SOLDIERTYPE *pSoldier = MercPtrs[0], *pTeamSoldier = NULL;
|
||||||
@@ -3579,7 +3594,7 @@ UINT32 CalculatePrisonGuardValue(SOLDIERTYPE *pSoldier )
|
|||||||
return( usValue );
|
return( usValue );
|
||||||
}
|
}
|
||||||
|
|
||||||
static UINT32 CalculateSnitchGuardValue(SOLDIERTYPE *pSoldier )
|
UINT32 CalculateSnitchGuardValue(SOLDIERTYPE *pSoldier )
|
||||||
{
|
{
|
||||||
// this is an assignment
|
// this is an assignment
|
||||||
UINT32 usValue = 0;
|
UINT32 usValue = 0;
|
||||||
@@ -3615,7 +3630,7 @@ static UINT32 CalculateSnitchGuardValue(SOLDIERTYPE *pSoldier )
|
|||||||
return( usValue );
|
return( usValue );
|
||||||
}
|
}
|
||||||
|
|
||||||
static UINT32 CalculateAllGuardsValueInPrison( INT16 sMapX, INT16 sMapY, INT8 bZ )
|
UINT32 CalculateAllGuardsValueInPrison( INT16 sMapX, INT16 sMapY, INT8 bZ )
|
||||||
{
|
{
|
||||||
UINT32 prisonguardvalue = 0;
|
UINT32 prisonguardvalue = 0;
|
||||||
|
|
||||||
@@ -3636,7 +3651,7 @@ static UINT32 CalculateAllGuardsValueInPrison( INT16 sMapX, INT16 sMapY, INT8 bZ
|
|||||||
return( prisonguardvalue );
|
return( prisonguardvalue );
|
||||||
}
|
}
|
||||||
|
|
||||||
static UINT32 CalculateAllSnitchesGuardValueInPrison( INT16 sMapX, INT16 sMapY, INT8 bZ )
|
UINT32 CalculateAllSnitchesGuardValueInPrison( INT16 sMapX, INT16 sMapY, INT8 bZ )
|
||||||
{
|
{
|
||||||
UINT32 prisonguardvalue = 0;
|
UINT32 prisonguardvalue = 0;
|
||||||
|
|
||||||
@@ -3657,7 +3672,7 @@ static UINT32 CalculateAllSnitchesGuardValueInPrison( INT16 sMapX, INT16 sMapY,
|
|||||||
return( prisonguardvalue );
|
return( prisonguardvalue );
|
||||||
}
|
}
|
||||||
|
|
||||||
static UINT32 CalculateAllGuardsNumberInPrison( INT16 sMapX, INT16 sMapY, INT8 bZ )
|
UINT32 CalculateAllGuardsNumberInPrison( INT16 sMapX, INT16 sMapY, INT8 bZ )
|
||||||
{
|
{
|
||||||
UINT8 numprisonguards = 0;
|
UINT8 numprisonguards = 0;
|
||||||
|
|
||||||
@@ -3832,7 +3847,7 @@ INT16 GetTrainWorkerPts(SOLDIERTYPE *pSoldier)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// anv: handle prisoners exposing snitch as a snitch
|
// anv: handle prisoners exposing snitch as a snitch
|
||||||
static BOOL HandleSnitchExposition(SOLDIERTYPE *pSoldier)
|
BOOL HandleSnitchExposition(SOLDIERTYPE *pSoldier)
|
||||||
{
|
{
|
||||||
UINT32 uiSuspicion = 0;
|
UINT32 uiSuspicion = 0;
|
||||||
UINT32 uiCoverQuality = 0;
|
UINT32 uiCoverQuality = 0;
|
||||||
@@ -5090,7 +5105,7 @@ OBJECTTYPE* FindRepairableItemInSpecificPocket(SOLDIERTYPE * pSoldier, OBJECTTYP
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Flugente: changed this function so that it repairs items up to a variable threshold instead of always 100%. This will only happen if the option gGameExternalOptions.fAdvRepairSystem is used
|
// Flugente: changed this function so that it repairs items up to a variable threshold instead of always 100%. This will only happen if the option gGameExternalOptions.fAdvRepairSystem is used
|
||||||
static void DoActualRepair( SOLDIERTYPE * pSoldier, UINT16 usItem, INT16 * pbStatus, INT16 sThreshold, UINT8 * pubRepairPtsLeft )
|
void DoActualRepair( SOLDIERTYPE * pSoldier, UINT16 usItem, INT16 * pbStatus, INT16 sThreshold, UINT8 * pubRepairPtsLeft )
|
||||||
{
|
{
|
||||||
INT16 sRepairCostAdj;
|
INT16 sRepairCostAdj;
|
||||||
UINT16 usDamagePts, usPtsFixed;
|
UINT16 usDamagePts, usPtsFixed;
|
||||||
@@ -6814,7 +6829,7 @@ struct admintmpstruct
|
|||||||
FLOAT percentage;
|
FLOAT percentage;
|
||||||
};
|
};
|
||||||
|
|
||||||
static UINT16 GetNumberofAdministratableMercs( INT16 sX, INT16 sY )
|
UINT16 GetNumberofAdministratableMercs( INT16 sX, INT16 sY )
|
||||||
{
|
{
|
||||||
UINT16 num = 0;
|
UINT16 num = 0;
|
||||||
UINT8 townid_origin = GetTownIdForSector( sX, sY );
|
UINT8 townid_origin = GetTownIdForSector( sX, sY );
|
||||||
@@ -7927,7 +7942,7 @@ BOOLEAN TrainTownInSector( SOLDIERTYPE *pTrainer, INT16 sMapX, INT16 sMapY, INT1
|
|||||||
return ( FALSE );
|
return ( FALSE );
|
||||||
}
|
}
|
||||||
|
|
||||||
static void Interrogateprisoner(UINT8 aPrisonerType, FLOAT aChanceModifier, INT8& arMilitiaType, UINT32& arRansom, FLOAT& arIntel )
|
void Interrogateprisoner(UINT8 aPrisonerType, FLOAT aChanceModifier, INT8& arMilitiaType, UINT32& arRansom, FLOAT& arIntel )
|
||||||
{
|
{
|
||||||
arMilitiaType = -1;
|
arMilitiaType = -1;
|
||||||
|
|
||||||
@@ -11454,7 +11469,7 @@ void ClearScreenMaskForMapScreenExit( void )
|
|||||||
CreateDestroyMouseRegionsForPrisonerMenu( );
|
CreateDestroyMouseRegionsForPrisonerMenu( );
|
||||||
}
|
}
|
||||||
|
|
||||||
static void CreateDestroyMouseRegions( void )
|
void CreateDestroyMouseRegions( void )
|
||||||
{
|
{
|
||||||
static BOOLEAN fCreated = FALSE;
|
static BOOLEAN fCreated = FALSE;
|
||||||
UINT32 iCounter = 0;
|
UINT32 iCounter = 0;
|
||||||
@@ -12671,7 +12686,7 @@ void RemoveMercMenuBtnCallback( MOUSE_REGION * pRegion, INT32 iReason )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void BeginRemoveMercFromContract( SOLDIERTYPE *pSoldier )
|
void BeginRemoveMercFromContract( SOLDIERTYPE *pSoldier )
|
||||||
{
|
{
|
||||||
// This function will setup the quote, then start dialogue beginning the actual leave sequence
|
// This function will setup the quote, then start dialogue beginning the actual leave sequence
|
||||||
if( ( pSoldier->stats.bLife > 0 ) && ( pSoldier->bAssignment != ASSIGNMENT_POW ) )
|
if( ( pSoldier->stats.bLife > 0 ) && ( pSoldier->bAssignment != ASSIGNMENT_POW ) )
|
||||||
@@ -12774,7 +12789,7 @@ static void BeginRemoveMercFromContract( SOLDIERTYPE *pSoldier )
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void MercDismissConfirmCallBack( UINT8 bExitValue )
|
void MercDismissConfirmCallBack( UINT8 bExitValue )
|
||||||
{
|
{
|
||||||
if ( bExitValue == MSG_BOX_RETURN_YES )
|
if ( bExitValue == MSG_BOX_RETURN_YES )
|
||||||
{
|
{
|
||||||
@@ -21371,7 +21386,7 @@ void PayFacilityCostsYesNoBoxCallback( UINT8 bExitValue )
|
|||||||
}
|
}
|
||||||
|
|
||||||
// HEADROCK HAM 3.6: Callback on agreeing to pay off facility debts before you can assign another character to facility work.
|
// HEADROCK HAM 3.6: Callback on agreeing to pay off facility debts before you can assign another character to facility work.
|
||||||
static void PayFacilityDebtManuallyYesNoBoxCallback( UINT8 bExitValue )
|
void PayFacilityDebtManuallyYesNoBoxCallback( UINT8 bExitValue )
|
||||||
{
|
{
|
||||||
// This callback should only be called if the player can pay off the ENTIRE debt!!
|
// This callback should only be called if the player can pay off the ENTIRE debt!!
|
||||||
Assert( LaptopSaveInfo.iCurrentBalance >= giTotalOwedForFacilityOperationsToday );
|
Assert( LaptopSaveInfo.iCurrentBalance >= giTotalOwedForFacilityOperationsToday );
|
||||||
|
|||||||
+97
-90
@@ -1,68 +1,75 @@
|
|||||||
#include "builddefines.h"
|
#include "builddefines.h"
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include "types.h"
|
#include "types.h"
|
||||||
#include "Auto Resolve.h"
|
#include "Auto Resolve.h"
|
||||||
#include "Strategic Movement.h"
|
#include "Strategic Movement.h"
|
||||||
#include "Queen Command.h"
|
#include "Queen Command.h"
|
||||||
#include "Music Control.h"
|
#include "Music Control.h"
|
||||||
#include "PreBattle Interface.h"
|
#include "PreBattle Interface.h"
|
||||||
#include "Player Command.h"
|
#include "Player Command.h"
|
||||||
#include "mousesystem.h"
|
#include "mousesystem.h"
|
||||||
#include "Button System.h"
|
#include "Button System.h"
|
||||||
#include "gameloop.h"
|
#include "gameloop.h"
|
||||||
#include "screenids.h"
|
#include "screenids.h"
|
||||||
#include "mapscreen.h"
|
#include "mapscreen.h"
|
||||||
#include "vobject.h"
|
#include "vobject.h"
|
||||||
#include "video.h"
|
#include "video.h"
|
||||||
#include "input.h"
|
#include "input.h"
|
||||||
#include "gamescreen.h"
|
#include "gamescreen.h"
|
||||||
#include "Render Dirty.h"
|
#include "Render Dirty.h"
|
||||||
#include "vobject_blitters.h"
|
#include "vobject_blitters.h"
|
||||||
#include "sysutil.h"
|
#include "sysutil.h"
|
||||||
#include "Font Control.h"
|
#include "Font Control.h"
|
||||||
#include "Soldier Create.h"
|
#include "Soldier Create.h"
|
||||||
#include "Overhead.h"
|
#include "Overhead.h"
|
||||||
#include "Items.h"
|
#include "Interface.h"
|
||||||
#include "Weapons.h"
|
#include "Items.h"
|
||||||
#include "Sound Control.h"
|
#include "Weapons.h"
|
||||||
#include "Game Clock.h"
|
#include "Sound Control.h"
|
||||||
#include "Soldier Profile.h"
|
#include "Game Clock.h"
|
||||||
#include "Campaign.h"
|
#include "Soldier Profile.h"
|
||||||
#include "Tactical Save.h"
|
#include "Campaign.h"
|
||||||
#include "Strategic Status.h"
|
#include "Tactical Save.h"
|
||||||
#include "Text.h"
|
#include "Strategic Status.h"
|
||||||
#include "WordWrap.h"
|
#include "Map Screen Interface.h"
|
||||||
#include "Squads.h"
|
#include "Text.h"
|
||||||
#include "random.h"
|
#include "WordWrap.h"
|
||||||
#include "line.h"
|
#include "Squads.h"
|
||||||
#include "english.h"
|
#include "random.h"
|
||||||
#include "Strategic Merc Handler.h"
|
#include "line.h"
|
||||||
#include "strategic.h"
|
#include "english.h"
|
||||||
#include "message.h"
|
#include "Strategic Pathing.h"
|
||||||
#include "Town Militia.h"
|
#include "Strategic Merc Handler.h"
|
||||||
#include "Animation Data.h"
|
#include "strategic.h"
|
||||||
#include "Creature Spreading.h"
|
#include "message.h"
|
||||||
#include "Strategic AI.h"
|
#include "Town Militia.h"
|
||||||
#include "Morale.h"
|
#include "Animation Data.h"
|
||||||
#include "Strategic Town Loyalty.h"
|
#include "Creature Spreading.h"
|
||||||
#include "GameSettings.h"
|
#include "Strategic AI.h"
|
||||||
#include "Soldier macros.h"
|
#include "SkillCheck.h"
|
||||||
#include "strategicmap.h"
|
#include "rt time defines.h"
|
||||||
#include "Quests.h"
|
#include "Morale.h"
|
||||||
#include "Meanwhile.h"
|
#include "Strategic Town Loyalty.h"
|
||||||
#include "Inventory Choosing.h"
|
#include "GameSettings.h"
|
||||||
#include "Game Event Hook.h"
|
#include "Soldier macros.h"
|
||||||
#include "Assignments.h"
|
#include "strategicmap.h"
|
||||||
#include "Cheats.h"
|
#include "Quests.h"
|
||||||
#include "Map Information.h"
|
#include "Meanwhile.h"
|
||||||
#include "MilitiaSquads.h"
|
#include "Inventory Choosing.h"
|
||||||
#include "interface Dialogue.h"
|
#include "Game Event Hook.h"
|
||||||
#include "AIInternals.h" // added by SANDRO
|
#include "Assignments.h"
|
||||||
#include "Bullets.h" // HEADROCK HAM 5, for use with Bullet Impact.
|
#include "Cheats.h"
|
||||||
#include "CampaignStats.h" // added by Flugente
|
#include "Map Information.h"
|
||||||
#include "DynamicDialogue.h" // added by Flugente
|
#include "MilitiaSquads.h"
|
||||||
#include "MilitiaIndividual.h" // added by Flugente
|
// #include "Strategic AI.h"
|
||||||
#include "Rebel Command.h"
|
#include "interface Dialogue.h"
|
||||||
|
#include "AIInternals.h" // added by SANDRO
|
||||||
|
#include "Bullets.h" // HEADROCK HAM 5, for use with Bullet Impact.
|
||||||
|
#include "CampaignStats.h" // added by Flugente
|
||||||
|
#include "DynamicDialogue.h" // added by Flugente
|
||||||
|
#include "MilitiaIndividual.h" // added by Flugente
|
||||||
|
#include "Rebel Command.h"
|
||||||
|
|
||||||
#include "Reinforcement.h"
|
#include "Reinforcement.h"
|
||||||
|
|
||||||
//#define INVULNERABILITY
|
//#define INVULNERABILITY
|
||||||
@@ -330,7 +337,7 @@ SOLDIERCELL *gpCivs = NULL;
|
|||||||
SOLDIERCELL *gpEnemies = NULL;
|
SOLDIERCELL *gpEnemies = NULL;
|
||||||
|
|
||||||
//Simple wrappers for autoresolve sounds that are played.
|
//Simple wrappers for autoresolve sounds that are played.
|
||||||
static void PlayAutoResolveSample( UINT32 usNum, UINT32 usRate, UINT32 ubVolume, UINT32 ubLoops, UINT32 uiPan )
|
void PlayAutoResolveSample( UINT32 usNum, UINT32 usRate, UINT32 ubVolume, UINT32 ubLoops, UINT32 uiPan )
|
||||||
{
|
{
|
||||||
if( gpAR->fSound )
|
if( gpAR->fSound )
|
||||||
{
|
{
|
||||||
@@ -338,7 +345,7 @@ static void PlayAutoResolveSample( UINT32 usNum, UINT32 usRate, UINT32 ubVolume,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void PlayAutoResolveSampleFromFile( STR8 szFileName, UINT32 usRate, UINT32 ubVolume, UINT32 ubLoops, UINT32 uiPan )
|
void PlayAutoResolveSampleFromFile( STR8 szFileName, UINT32 usRate, UINT32 ubVolume, UINT32 ubLoops, UINT32 uiPan )
|
||||||
{
|
{
|
||||||
if( gpAR->fSound )
|
if( gpAR->fSound )
|
||||||
{
|
{
|
||||||
@@ -349,7 +356,7 @@ static void PlayAutoResolveSampleFromFile( STR8 szFileName, UINT32 usRate, UINT3
|
|||||||
|
|
||||||
extern void ClearPreviousAIGroupAssignment( GROUP *pGroup );
|
extern void ClearPreviousAIGroupAssignment( GROUP *pGroup );
|
||||||
|
|
||||||
static void EliminateAllMercs()
|
void EliminateAllMercs()
|
||||||
{
|
{
|
||||||
SOLDIERCELL *pAttacker = NULL;
|
SOLDIERCELL *pAttacker = NULL;
|
||||||
INT32 i, iNum = 0;
|
INT32 i, iNum = 0;
|
||||||
@@ -380,7 +387,7 @@ static void EliminateAllMercs()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void EliminateAllFriendlies()
|
void EliminateAllFriendlies()
|
||||||
{
|
{
|
||||||
INT32 i;
|
INT32 i;
|
||||||
if( gpAR )
|
if( gpAR )
|
||||||
@@ -496,7 +503,7 @@ void EliminateAllEnemies( UINT8 ubSectorX, UINT8 ubSectorY )
|
|||||||
#define ORIG_RIGHT 92
|
#define ORIG_RIGHT 92
|
||||||
#define ORIG_BOTTOM 84
|
#define ORIG_BOTTOM 84
|
||||||
|
|
||||||
static void DoTransitionFromPreBattleInterfaceToAutoResolve()
|
void DoTransitionFromPreBattleInterfaceToAutoResolve()
|
||||||
{
|
{
|
||||||
SGPRect SrcRect, DstRect;
|
SGPRect SrcRect, DstRect;
|
||||||
UINT32 uiStartTime, uiCurrTime;
|
UINT32 uiStartTime, uiCurrTime;
|
||||||
@@ -727,7 +734,7 @@ UINT32 AutoResolveScreenHandle()
|
|||||||
return AUTORESOLVE_SCREEN;
|
return AUTORESOLVE_SCREEN;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void RefreshMerc( SOLDIERTYPE *pSoldier )
|
void RefreshMerc( SOLDIERTYPE *pSoldier )
|
||||||
{
|
{
|
||||||
pSoldier->stats.bLife = pSoldier->stats.bLifeMax;
|
pSoldier->stats.bLife = pSoldier->stats.bLifeMax;
|
||||||
pSoldier->bBleeding = 0;
|
pSoldier->bBleeding = 0;
|
||||||
@@ -743,7 +750,7 @@ static void RefreshMerc( SOLDIERTYPE *pSoldier )
|
|||||||
|
|
||||||
//Now assign the pSoldier->ubGroupIDs for the enemies, so we know where to remove them. Start with
|
//Now assign the pSoldier->ubGroupIDs for the enemies, so we know where to remove them. Start with
|
||||||
//stationary groups first.
|
//stationary groups first.
|
||||||
static void AssociateEnemiesWithStrategicGroups()
|
void AssociateEnemiesWithStrategicGroups()
|
||||||
{
|
{
|
||||||
SECTORINFO *pSector;
|
SECTORINFO *pSector;
|
||||||
GROUP *pGroup;
|
GROUP *pGroup;
|
||||||
@@ -1186,7 +1193,7 @@ void CalculateSoldierCells( BOOLEAN fReset )
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static INT32 DetermineCellID( SOLDIERCELL *pCell )
|
INT32 DetermineCellID( SOLDIERCELL *pCell )
|
||||||
{
|
{
|
||||||
INT32 iIndex;
|
INT32 iIndex;
|
||||||
|
|
||||||
@@ -1205,7 +1212,7 @@ static INT32 DetermineCellID( SOLDIERCELL *pCell )
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static BOOLEAN IsItAllowedToRender( SOLDIERCELL *pCell )
|
BOOLEAN IsItAllowedToRender( SOLDIERCELL *pCell )
|
||||||
{
|
{
|
||||||
INT32 iID = DetermineCellID( pCell );
|
INT32 iID = DetermineCellID( pCell );
|
||||||
|
|
||||||
@@ -1348,7 +1355,7 @@ void RenderSoldierCellBars( SOLDIERCELL *pCell )
|
|||||||
ColorFillVideoSurfaceArea( FRAME_BUFFER, pCell->xp+46, iStartY, pCell->xp+47, pCell->yp+29, Get16BPPColor( FROMRGB( 8, 107, 8 ) ) );
|
ColorFillVideoSurfaceArea( FRAME_BUFFER, pCell->xp+46, iStartY, pCell->xp+47, pCell->yp+29, Get16BPPColor( FROMRGB( 8, 107, 8 ) ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
static void BuildInterfaceBuffer()
|
void BuildInterfaceBuffer()
|
||||||
{
|
{
|
||||||
VSURFACE_DESC vs_desc;
|
VSURFACE_DESC vs_desc;
|
||||||
UINT16 usUselessWidth, usUselessHeight;
|
UINT16 usUselessWidth, usUselessHeight;
|
||||||
@@ -1430,7 +1437,7 @@ static void BuildInterfaceBuffer()
|
|||||||
SetClippingRect( &ClipRect );
|
SetClippingRect( &ClipRect );
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ExpandWindow()
|
void ExpandWindow()
|
||||||
{
|
{
|
||||||
SGPRect OldRect;
|
SGPRect OldRect;
|
||||||
UINT32 uiDestPitchBYTES;
|
UINT32 uiDestPitchBYTES;
|
||||||
@@ -1525,7 +1532,7 @@ static void ExpandWindow()
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static OBJECTTYPE* FindMedicalKit()
|
OBJECTTYPE* FindMedicalKit()
|
||||||
{
|
{
|
||||||
INT32 i;
|
INT32 i;
|
||||||
INT32 iSlot;
|
INT32 iSlot;
|
||||||
@@ -1540,7 +1547,7 @@ static OBJECTTYPE* FindMedicalKit()
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static UINT32 AutoBandageMercs()
|
UINT32 AutoBandageMercs()
|
||||||
{
|
{
|
||||||
INT32 i, iBest;
|
INT32 i, iBest;
|
||||||
UINT32 uiPointsUsed, uiCurrPointsUsed, uiMaxPointsUsed, uiParallelPointsUsed;
|
UINT32 uiPointsUsed, uiCurrPointsUsed, uiMaxPointsUsed, uiParallelPointsUsed;
|
||||||
@@ -3723,7 +3730,7 @@ void RenderSoldierCellHealth( SOLDIERCELL *pCell )
|
|||||||
mprintf( xp, yp, pStr );
|
mprintf( xp, yp, pStr );
|
||||||
}
|
}
|
||||||
|
|
||||||
static UINT8 GetUnusedMercProfileID()
|
UINT8 GetUnusedMercProfileID()
|
||||||
{
|
{
|
||||||
UINT8 ubRandom=0;
|
UINT8 ubRandom=0;
|
||||||
INT32 i;
|
INT32 i;
|
||||||
@@ -3818,7 +3825,7 @@ void DetermineTeamLeader( BOOLEAN fFriendlyTeam )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ResetNextAttackCounter( SOLDIERCELL *pCell )
|
void ResetNextAttackCounter( SOLDIERCELL *pCell )
|
||||||
{
|
{
|
||||||
pCell->usNextAttack = min( 1000 - pCell->usAttack, 800 );
|
pCell->usNextAttack = min( 1000 - pCell->usAttack, 800 );
|
||||||
pCell->usNextAttack = (UINT16)(1000 + pCell->usNextAttack * 5 + PreRandom( 2000 - pCell->usAttack ) );
|
pCell->usNextAttack = (UINT16)(1000 + pCell->usNextAttack * 5 + PreRandom( 2000 - pCell->usAttack ) );
|
||||||
@@ -3828,7 +3835,7 @@ static void ResetNextAttackCounter( SOLDIERCELL *pCell )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static FLOAT CalcClassBonusOrPenalty( SOLDIERTYPE *pSoldier )
|
FLOAT CalcClassBonusOrPenalty( SOLDIERTYPE *pSoldier )
|
||||||
{
|
{
|
||||||
switch( pSoldier->ubSoldierClass )
|
switch( pSoldier->ubSoldierClass )
|
||||||
{
|
{
|
||||||
@@ -4108,7 +4115,7 @@ void DrawDebugText( SOLDIERCELL *pCell )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static SOLDIERCELL* ChooseTarget( SOLDIERCELL *pAttacker )
|
SOLDIERCELL* ChooseTarget( SOLDIERCELL *pAttacker )
|
||||||
{
|
{
|
||||||
INT32 iAvailableTargets;
|
INT32 iAvailableTargets;
|
||||||
INT32 index;
|
INT32 index;
|
||||||
@@ -4178,7 +4185,7 @@ static SOLDIERCELL* ChooseTarget( SOLDIERCELL *pAttacker )
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static BOOLEAN FireAShot( SOLDIERCELL *pAttacker )
|
BOOLEAN FireAShot( SOLDIERCELL *pAttacker )
|
||||||
{
|
{
|
||||||
OBJECTTYPE *pItem;
|
OBJECTTYPE *pItem;
|
||||||
SOLDIERTYPE *pSoldier;
|
SOLDIERTYPE *pSoldier;
|
||||||
@@ -4232,7 +4239,7 @@ static BOOLEAN FireAShot( SOLDIERCELL *pAttacker )
|
|||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static BOOLEAN FireTankCannon( SOLDIERCELL *pAttacker )
|
BOOLEAN FireTankCannon( SOLDIERCELL *pAttacker )
|
||||||
{
|
{
|
||||||
OBJECTTYPE *pItem;
|
OBJECTTYPE *pItem;
|
||||||
SOLDIERTYPE *pSoldier;
|
SOLDIERTYPE *pSoldier;
|
||||||
@@ -4274,7 +4281,7 @@ static BOOLEAN FireTankCannon( SOLDIERCELL *pAttacker )
|
|||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static BOOLEAN FireAntiTankWeapon( SOLDIERCELL *pAttacker )
|
BOOLEAN FireAntiTankWeapon( SOLDIERCELL *pAttacker )
|
||||||
{
|
{
|
||||||
OBJECTTYPE *pItem;
|
OBJECTTYPE *pItem;
|
||||||
SOLDIERTYPE *pSoldier;
|
SOLDIERTYPE *pSoldier;
|
||||||
@@ -4329,7 +4336,7 @@ static BOOLEAN FireAntiTankWeapon( SOLDIERCELL *pAttacker )
|
|||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static BOOLEAN AttackerHasKnife( SOLDIERCELL *pAttacker )
|
BOOLEAN AttackerHasKnife( SOLDIERCELL *pAttacker )
|
||||||
{
|
{
|
||||||
UINT8 invsize = pAttacker->pSoldier->inv.size();
|
UINT8 invsize = pAttacker->pSoldier->inv.size();
|
||||||
for( UINT8 i = 0; i < invsize; ++i )
|
for( UINT8 i = 0; i < invsize; ++i )
|
||||||
@@ -4344,7 +4351,7 @@ static BOOLEAN AttackerHasKnife( SOLDIERCELL *pAttacker )
|
|||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static BOOLEAN TargetHasLoadedGun( SOLDIERTYPE *pSoldier )
|
BOOLEAN TargetHasLoadedGun( SOLDIERTYPE *pSoldier )
|
||||||
{
|
{
|
||||||
OBJECTTYPE *pItem;
|
OBJECTTYPE *pItem;
|
||||||
UINT8 invsize = pSoldier->inv.size();
|
UINT8 invsize = pSoldier->inv.size();
|
||||||
@@ -4366,7 +4373,7 @@ static BOOLEAN TargetHasLoadedGun( SOLDIERTYPE *pSoldier )
|
|||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void AttackTarget( SOLDIERCELL *pAttacker, SOLDIERCELL *pTarget )
|
void AttackTarget( SOLDIERCELL *pAttacker, SOLDIERCELL *pTarget )
|
||||||
{
|
{
|
||||||
INT16 sAttack;
|
INT16 sAttack;
|
||||||
INT16 sDefence;
|
INT16 sDefence;
|
||||||
@@ -4986,7 +4993,7 @@ static void AttackTarget( SOLDIERCELL *pAttacker, SOLDIERCELL *pTarget )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void TargetHitCallback( SOLDIERCELL *pTarget, INT32 index )
|
void TargetHitCallback( SOLDIERCELL *pTarget, INT32 index )
|
||||||
{
|
{
|
||||||
INT32 iNewLife;
|
INT32 iNewLife;
|
||||||
SOLDIERCELL *pAttacker;
|
SOLDIERCELL *pAttacker;
|
||||||
@@ -5300,7 +5307,7 @@ static void TargetHitCallback( SOLDIERCELL *pTarget, INT32 index )
|
|||||||
pTarget->uiFlags |= CELL_HITBYATTACKER | CELL_DIRTY;
|
pTarget->uiFlags |= CELL_HITBYATTACKER | CELL_DIRTY;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void Delay( UINT32 uiMilliseconds )
|
void Delay( UINT32 uiMilliseconds )
|
||||||
{
|
{
|
||||||
INT32 iTime;
|
INT32 iTime;
|
||||||
iTime = GetJA2Clock();
|
iTime = GetJA2Clock();
|
||||||
|
|||||||
@@ -3,6 +3,8 @@
|
|||||||
#include "Campaign Init.h"
|
#include "Campaign Init.h"
|
||||||
#include "random.h"
|
#include "random.h"
|
||||||
#include "Campaign Types.h"
|
#include "Campaign Types.h"
|
||||||
|
#include "Queen Command.h"
|
||||||
|
#include "Overhead.h"
|
||||||
#include "Strategic Movement.h"
|
#include "Strategic Movement.h"
|
||||||
#include "Strategic Status.h"
|
#include "Strategic Status.h"
|
||||||
#include "GameSettings.h"
|
#include "GameSettings.h"
|
||||||
@@ -13,6 +15,7 @@
|
|||||||
#include "Tactical Save.h"
|
#include "Tactical Save.h"
|
||||||
|
|
||||||
#include "connect.h"
|
#include "connect.h"
|
||||||
|
#include <vfs/Core/vfs.h>
|
||||||
#include "XMLWriter.h"
|
#include "XMLWriter.h"
|
||||||
|
|
||||||
#include "UndergroundInit.h"
|
#include "UndergroundInit.h"
|
||||||
@@ -306,7 +309,7 @@ void InitKnowFacilitiesFlags( )
|
|||||||
|
|
||||||
|
|
||||||
//Mobile groups are handled separately from sectors, because they are on the move.
|
//Mobile groups are handled separately from sectors, because they are on the move.
|
||||||
static void GeneratePatrolGroups()
|
void GeneratePatrolGroups()
|
||||||
{
|
{
|
||||||
GROUP *pGroup;
|
GROUP *pGroup;
|
||||||
UINT8 ubNumTroops;
|
UINT8 ubNumTroops;
|
||||||
@@ -524,7 +527,7 @@ void BuildUndergroundSectorInfoList()
|
|||||||
// Lesh: this function creates randomized world
|
// Lesh: this function creates randomized world
|
||||||
// every sector can be randomized between common and alternative, chances 50/50
|
// every sector can be randomized between common and alternative, chances 50/50
|
||||||
// randomization of individual sectors can be switched off via array RandomSector[]
|
// randomization of individual sectors can be switched off via array RandomSector[]
|
||||||
static void InitWorld()
|
void InitWorld()
|
||||||
{
|
{
|
||||||
INT16 sSectorCounter;
|
INT16 sSectorCounter;
|
||||||
|
|
||||||
|
|||||||
@@ -24,11 +24,16 @@
|
|||||||
#include "Animation Data.h"
|
#include "Animation Data.h"
|
||||||
#include "opplist.h"
|
#include "opplist.h"
|
||||||
#include "Meanwhile.h"
|
#include "Meanwhile.h"
|
||||||
|
#include "Strategic AI.h"
|
||||||
|
#include "MessageBoxScreen.h"
|
||||||
#include "Map Information.h"
|
#include "Map Information.h"
|
||||||
#include "Queen Command.h"
|
#include "Queen Command.h"
|
||||||
#include "ai.h" // added by Flugente
|
#include "ai.h" // added by Flugente
|
||||||
|
#include "Isometric Utils.h" // added by Flugente
|
||||||
#include "Soldier Create.h" // added by Flugente
|
#include "Soldier Create.h" // added by Flugente
|
||||||
|
#include "Player Command.h" // added by Flugente
|
||||||
|
|
||||||
|
#include "Strategic Mines.h"
|
||||||
#include "connect.h"
|
#include "connect.h"
|
||||||
|
|
||||||
#include "GameInitOptionsScreen.h"
|
#include "GameInitOptionsScreen.h"
|
||||||
@@ -155,7 +160,7 @@ extern SECTOR_EXT_DATA SectorExternalData[256][4];
|
|||||||
//extern MINE_STATUS_TYPE gMineStatus[ MAX_NUMBER_OF_MINES ];
|
//extern MINE_STATUS_TYPE gMineStatus[ MAX_NUMBER_OF_MINES ];
|
||||||
|
|
||||||
|
|
||||||
static CREATURE_DIRECTIVE* NewDirective( UINT8 ubSectorID, UINT8 ubSectorZ, UINT8 ubCreatureHabitat )
|
CREATURE_DIRECTIVE* NewDirective( UINT8 ubSectorID, UINT8 ubSectorZ, UINT8 ubCreatureHabitat )
|
||||||
{
|
{
|
||||||
CREATURE_DIRECTIVE *curr;
|
CREATURE_DIRECTIVE *curr;
|
||||||
UINT8 ubSectorX, ubSectorY;
|
UINT8 ubSectorX, ubSectorY;
|
||||||
@@ -273,7 +278,7 @@ void InitLairGrumm()
|
|||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static void InitLair(INT32 iChosenMine)
|
void InitLair(INT32 iChosenMine)
|
||||||
{
|
{
|
||||||
CREATURE_DIRECTIVE *curr;
|
CREATURE_DIRECTIVE *curr;
|
||||||
giLairID = iChosenMine;
|
giLairID = iChosenMine;
|
||||||
@@ -512,7 +517,7 @@ void InitCreatureQuest()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void AddCreatureToNode( CREATURE_DIRECTIVE *node )
|
void AddCreatureToNode( CREATURE_DIRECTIVE *node )
|
||||||
{
|
{
|
||||||
node->pLevel->ubNumCreatures++;
|
node->pLevel->ubNumCreatures++;
|
||||||
|
|
||||||
@@ -524,7 +529,7 @@ static void AddCreatureToNode( CREATURE_DIRECTIVE *node )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static BOOLEAN PlaceNewCreature( CREATURE_DIRECTIVE *node, INT32 iDistance )
|
BOOLEAN PlaceNewCreature( CREATURE_DIRECTIVE *node, INT32 iDistance )
|
||||||
{
|
{
|
||||||
DebugMsg (TOPIC_JA2,DBG_LEVEL_3,"CreatureSpreading1");
|
DebugMsg (TOPIC_JA2,DBG_LEVEL_3,"CreatureSpreading1");
|
||||||
if( !node )
|
if( !node )
|
||||||
@@ -672,7 +677,7 @@ void DecayCreatures()
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void AddCreaturesToBattle( UINT8 ubNumYoungMales, UINT8 ubNumYoungFemales, UINT8 ubNumAdultMales, UINT8 ubNumAdultFemales )
|
void AddCreaturesToBattle( UINT8 ubNumYoungMales, UINT8 ubNumYoungFemales, UINT8 ubNumAdultMales, UINT8 ubNumAdultFemales )
|
||||||
{
|
{
|
||||||
INT32 iRandom;
|
INT32 iRandom;
|
||||||
SOLDIERTYPE *pSoldier;
|
SOLDIERTYPE *pSoldier;
|
||||||
@@ -759,7 +764,7 @@ static void AddCreaturesToBattle( UINT8 ubNumYoungMales, UINT8 ubNumYoungFemales
|
|||||||
AllTeamsLookForAll( FALSE );
|
AllTeamsLookForAll( FALSE );
|
||||||
}
|
}
|
||||||
|
|
||||||
static void AddCreaturesToBattle_Other( UINT8 ubNum )
|
void AddCreaturesToBattle_Other( UINT8 ubNum )
|
||||||
{
|
{
|
||||||
SOLDIERTYPE *pSoldier;
|
SOLDIERTYPE *pSoldier;
|
||||||
MAPEDGEPOINTINFO MapEdgepointInfo = {};
|
MAPEDGEPOINTINFO MapEdgepointInfo = {};
|
||||||
@@ -846,7 +851,7 @@ static void AddCreaturesToBattle_Other( UINT8 ubNum )
|
|||||||
AllTeamsLookForAll( FALSE );
|
AllTeamsLookForAll( FALSE );
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ChooseTownSectorToAttack( UINT8 ubSectorID, BOOLEAN fOverrideTest )
|
void ChooseTownSectorToAttack( UINT8 ubSectorID, BOOLEAN fOverrideTest )
|
||||||
{
|
{
|
||||||
INT32 iRandom, i;
|
INT32 iRandom, i;
|
||||||
UINT8 ubSectorX, ubSectorY;
|
UINT8 ubSectorX, ubSectorY;
|
||||||
@@ -1477,7 +1482,7 @@ void ChooseCreatureQuestStartDay()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void DeleteDirectiveNode( CREATURE_DIRECTIVE **node )
|
void DeleteDirectiveNode( CREATURE_DIRECTIVE **node )
|
||||||
{
|
{
|
||||||
if( (*node)->next )
|
if( (*node)->next )
|
||||||
DeleteDirectiveNode( &((*node)->next) );
|
DeleteDirectiveNode( &((*node)->next) );
|
||||||
|
|||||||
@@ -12,6 +12,7 @@
|
|||||||
#include "Facilities.h"
|
#include "Facilities.h"
|
||||||
#include "Soldier Control.h"
|
#include "Soldier Control.h"
|
||||||
#include "Map Screen Interface.h"
|
#include "Map Screen Interface.h"
|
||||||
|
#include "Overhead.h"
|
||||||
#include "Assignments.h"
|
#include "Assignments.h"
|
||||||
#include "GameSettings.h"
|
#include "GameSettings.h"
|
||||||
#include "LaptopSave.h"
|
#include "LaptopSave.h"
|
||||||
@@ -28,7 +29,10 @@
|
|||||||
#include "Interface.h"
|
#include "Interface.h"
|
||||||
#include "message.h"
|
#include "message.h"
|
||||||
#include "Morale.h"
|
#include "Morale.h"
|
||||||
|
#include "Points.h"
|
||||||
|
#include "Soldier Control.h"
|
||||||
#include "Isometric Utils.h"
|
#include "Isometric Utils.h"
|
||||||
|
#include "MilitiaSquads.h"
|
||||||
#include "Tactical Save.h"
|
#include "Tactical Save.h"
|
||||||
#include <random>
|
#include <random>
|
||||||
|
|
||||||
@@ -1993,8 +1997,8 @@ INT32 GetTotalFacilityHourlyCosts( BOOLEAN fPositive )
|
|||||||
pSoldier = gCharactersList[ ubCounter ].usSolID;
|
pSoldier = gCharactersList[ ubCounter ].usSolID;
|
||||||
|
|
||||||
// Is character truly valid?
|
// Is character truly valid?
|
||||||
if( pSoldier != NULL && !( pSoldier->flags.uiStatusFlags & SOLDIER_VEHICLE ) &&
|
if( !( pSoldier->flags.uiStatusFlags & SOLDIER_VEHICLE ) &&
|
||||||
pSoldier->bSectorZ == 0 &&
|
pSoldier->bSectorZ == 0 && pSoldier != NULL &&
|
||||||
pSoldier->stats.bLife >= OKLIFE &&
|
pSoldier->stats.bLife >= OKLIFE &&
|
||||||
!(pSoldier->flags.fMercAsleep) )
|
!(pSoldier->flags.fMercAsleep) )
|
||||||
{
|
{
|
||||||
|
|||||||
+25
-21
@@ -1,24 +1,28 @@
|
|||||||
#include "sgp.h"
|
#include "sgp.h"
|
||||||
#include "Game Clock.h"
|
#include "Game Clock.h"
|
||||||
#include "Font.h"
|
#include "Font.h"
|
||||||
#include "Render Dirty.h"
|
#include "Render Dirty.h"
|
||||||
#include "Timer Control.h"
|
#include "Timer Control.h"
|
||||||
#include "Overhead.h"
|
#include "Overhead.h"
|
||||||
#include "environment.h"
|
#include "environment.h"
|
||||||
#include "message.h"
|
#include "Game Clock.h"
|
||||||
#include <mousesystem.h>
|
#include "message.h"
|
||||||
#include "MercTextBox.h"
|
#include "Game Events.h"
|
||||||
#include "renderworld.h"
|
#include "Assignments.h"
|
||||||
#include "lighting.h"
|
#include "MercTextBox.h"
|
||||||
#include "Map Screen Interface.h"
|
#include "renderworld.h"
|
||||||
#include "Event Pump.h"
|
#include "lighting.h"
|
||||||
#include "Text.h"
|
#include "Map Screen Interface.h"
|
||||||
#include "Interface Control.h"
|
#include "PreBattle Interface.h"
|
||||||
#include "Map Screen Interface Map.h"
|
#include "Event Pump.h"
|
||||||
#include "Map Screen Interface Bottom.h"
|
#include "Text.h"
|
||||||
#include "gamescreen.h"
|
#include "Interface Control.h"
|
||||||
#include "Map Information.h"
|
#include "Map Screen Interface Map.h"
|
||||||
#include "GameSettings.h"
|
#include "Map Screen Interface Bottom.h"
|
||||||
|
#include "gamescreen.h"
|
||||||
|
#include "Map Information.h"
|
||||||
|
#include "GameSettings.h"
|
||||||
|
|
||||||
#include "LuaInitNPCs.h"
|
#include "LuaInitNPCs.h"
|
||||||
|
|
||||||
//#define DEBUG_GAME_CLOCK
|
//#define DEBUG_GAME_CLOCK
|
||||||
|
|||||||
@@ -17,12 +17,14 @@
|
|||||||
#include "Strategic Movement.h"
|
#include "Strategic Movement.h"
|
||||||
#include "Assignments.h"
|
#include "Assignments.h"
|
||||||
#include "Strategic Mines.h"
|
#include "Strategic Mines.h"
|
||||||
|
#include "Strategic Town Loyalty.h"
|
||||||
#include "message.h"
|
#include "message.h"
|
||||||
#include "Map Screen Interface.h"
|
#include "Map Screen Interface.h"
|
||||||
#include "Map Screen Helicopter.h"
|
#include "Map Screen Helicopter.h"
|
||||||
#include "Scheduling.h"
|
#include "Scheduling.h"
|
||||||
#include "Arms Dealer Init.h"
|
#include "Arms Dealer Init.h"
|
||||||
#include "strategic town reputation.h"
|
#include "strategic town reputation.h"
|
||||||
|
#include "Air Raid.h"
|
||||||
#include "Meanwhile.h"
|
#include "Meanwhile.h"
|
||||||
#include "Overhead.h"
|
#include "Overhead.h"
|
||||||
#include "random.h"
|
#include "random.h"
|
||||||
@@ -30,6 +32,7 @@
|
|||||||
#include "Strategic AI.h"
|
#include "Strategic AI.h"
|
||||||
#include "Merc Contract.h"
|
#include "Merc Contract.h"
|
||||||
#include "Strategic Status.h"
|
#include "Strategic Status.h"
|
||||||
|
#include "INIReader.h"
|
||||||
#include "GameSettings.h"
|
#include "GameSettings.h"
|
||||||
#include "english.h"
|
#include "english.h"
|
||||||
#include "input.h"
|
#include "input.h"
|
||||||
@@ -47,6 +50,7 @@
|
|||||||
#include "Rebel Command.h"
|
#include "Rebel Command.h"
|
||||||
#include "interface Dialogue.h"
|
#include "interface Dialogue.h"
|
||||||
|
|
||||||
|
#include "connect.h"
|
||||||
|
|
||||||
#ifdef JA2UB
|
#ifdef JA2UB
|
||||||
#include "Explosion Control.h"
|
#include "Explosion Control.h"
|
||||||
@@ -81,7 +85,7 @@ void CrippledVersionEndGameCheck();
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
static BOOLEAN DelayEventIfBattleInProgress( STRATEGICEVENT *pEvent )
|
BOOLEAN DelayEventIfBattleInProgress( STRATEGICEVENT *pEvent )
|
||||||
{
|
{
|
||||||
STRATEGICEVENT *pNewEvent;
|
STRATEGICEVENT *pNewEvent;
|
||||||
if( gTacticalStatus.fEnemyInSector )
|
if( gTacticalStatus.fEnemyInSector )
|
||||||
|
|||||||
@@ -214,7 +214,7 @@ BOOLEAN DeleteEventsWithDeletionPending()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void AdjustClockToEventStamp( STRATEGICEVENT *pEvent, UINT32 *puiAdjustment )
|
void AdjustClockToEventStamp( STRATEGICEVENT *pEvent, UINT32 *puiAdjustment )
|
||||||
{
|
{
|
||||||
UINT32 uiDiff;
|
UINT32 uiDiff;
|
||||||
|
|
||||||
|
|||||||
+13
-4
@@ -9,9 +9,11 @@
|
|||||||
#include "Soldier Profile.h"
|
#include "Soldier Profile.h"
|
||||||
#include "strategicmap.h"
|
#include "strategicmap.h"
|
||||||
#include "Game Init.h"
|
#include "Game Init.h"
|
||||||
#include "finances.h"
|
#include "Animation Data.h"
|
||||||
|
#include "finances.h"
|
||||||
#include "Soldier Create.h"
|
#include "Soldier Create.h"
|
||||||
#include "strategic.h"
|
#include "Soldier Init List.h"
|
||||||
|
#include "strategic.h"
|
||||||
#include "history.h"
|
#include "history.h"
|
||||||
#include "merc entering.h"
|
#include "merc entering.h"
|
||||||
#include "Squads.h"
|
#include "Squads.h"
|
||||||
@@ -29,10 +31,12 @@
|
|||||||
#include "Creature Spreading.h"
|
#include "Creature Spreading.h"
|
||||||
#include "Quests.h"
|
#include "Quests.h"
|
||||||
#include "Strategic AI.h"
|
#include "Strategic AI.h"
|
||||||
|
#include "LaptopSave.h"
|
||||||
#include "AimMembers.h"
|
#include "AimMembers.h"
|
||||||
#include "Dialogue Control.h"
|
#include "Dialogue Control.h"
|
||||||
#include "NPC.h"
|
#include "NPC.h"
|
||||||
#include "GameSettings.h"
|
#include "GameSettings.h"
|
||||||
|
#include "interface Dialogue.h"
|
||||||
#include "Map Screen Interface Border.h"
|
#include "Map Screen Interface Border.h"
|
||||||
#include "Map Screen Helicopter.h"
|
#include "Map Screen Helicopter.h"
|
||||||
#include "Vehicles.h"
|
#include "Vehicles.h"
|
||||||
@@ -47,17 +51,22 @@
|
|||||||
// HEADROCK HAM 3.6: Include for adding facility debt reset
|
// HEADROCK HAM 3.6: Include for adding facility debt reset
|
||||||
#include "Facilities.h"
|
#include "Facilities.h"
|
||||||
// HEADROCK HAM 4: Include for initializing Manual Restrictions
|
// HEADROCK HAM 4: Include for initializing Manual Restrictions
|
||||||
|
#include "MilitiaSquads.h"
|
||||||
#include "Map Screen Interface Map Inventory.h"//dnl ch51 081009
|
#include "Map Screen Interface Map Inventory.h"//dnl ch51 081009
|
||||||
#include "CampaignStats.h" // added by Flugente
|
#include "CampaignStats.h" // added by Flugente
|
||||||
#include "PMC.h" // added by Flugente
|
#include "PMC.h" // added by Flugente
|
||||||
|
#include "ASD.h" // added by Flugente
|
||||||
#include "MiniEvents.h"
|
#include "MiniEvents.h"
|
||||||
#include "Rebel Command.h"
|
#include "Rebel Command.h"
|
||||||
#include "World Items.h"
|
#include "World Items.h"
|
||||||
|
|
||||||
|
#include "Vehicles.h"
|
||||||
|
#include "Text.h"
|
||||||
#include "connect.h"
|
#include "connect.h"
|
||||||
#include "XML.h"
|
#include "XML.h"
|
||||||
#include "mercs.h"
|
#include "mercs.h"
|
||||||
#include "aim.h"
|
#include "aim.h"
|
||||||
|
#include "Map Screen Interface.h"
|
||||||
#ifdef JA2UB
|
#ifdef JA2UB
|
||||||
#include "Ja25 Strategic Ai.h"
|
#include "Ja25 Strategic Ai.h"
|
||||||
#include "Ja25_Tactical.h"
|
#include "Ja25_Tactical.h"
|
||||||
@@ -96,14 +105,14 @@ UINT8 gubCheatLevel = STARTING_CHEAT_LEVEL;
|
|||||||
UINT8 gubScreenCount=0;
|
UINT8 gubScreenCount=0;
|
||||||
|
|
||||||
#ifdef JA2UB
|
#ifdef JA2UB
|
||||||
static void InitCustomStrategicLayer ( void )
|
void InitCustomStrategicLayer ( void )
|
||||||
{
|
{
|
||||||
LetLuaGameInit(2); //load custom InitStrategicLayer
|
LetLuaGameInit(2); //load custom InitStrategicLayer
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static void InitNPCs( void )
|
void InitNPCs( void )
|
||||||
{
|
{
|
||||||
|
|
||||||
#ifdef LUA_GAME_INIT_NPCS
|
#ifdef LUA_GAME_INIT_NPCS
|
||||||
|
|||||||
@@ -4,6 +4,7 @@
|
|||||||
#include "Strategic Mines.h"
|
#include "Strategic Mines.h"
|
||||||
#include "Campaign.h"
|
#include "Campaign.h"
|
||||||
#include "Morale.h"
|
#include "Morale.h"
|
||||||
|
#include "Quests.h"
|
||||||
#include "Game Clock.h"
|
#include "Game Clock.h"
|
||||||
#include "Overhead.h"
|
#include "Overhead.h"
|
||||||
#include "jascreens.h"
|
#include "jascreens.h"
|
||||||
@@ -908,7 +909,7 @@ void HourlyStealUpdate()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static BOOLEAN RemoveItemInSector( INT16 sSectorX, INT16 sSectorY, INT8 bSectorZ, UINT16 usItem, UINT32 usNumToRemove )
|
BOOLEAN RemoveItemInSector( INT16 sSectorX, INT16 sSectorY, INT8 bSectorZ, UINT16 usItem, UINT32 usNumToRemove )
|
||||||
{
|
{
|
||||||
UINT32 uiTotalNumberOfRealItems = 0;
|
UINT32 uiTotalNumberOfRealItems = 0;
|
||||||
std::vector<WORLDITEM> pWorldItem;//dnl ch75 271013
|
std::vector<WORLDITEM> pWorldItem;//dnl ch75 271013
|
||||||
@@ -984,7 +985,7 @@ static BOOLEAN RemoveItemInSector( INT16 sSectorX, INT16 sSectorY, INT8 bSectorZ
|
|||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static UINT32 CountAccessibleItemsInSector( INT16 sSectorX, INT16 sSectorY, INT8 bSectorZ, UINT16 usItem )
|
UINT32 CountAccessibleItemsInSector( INT16 sSectorX, INT16 sSectorY, INT8 bSectorZ, UINT16 usItem )
|
||||||
{
|
{
|
||||||
UINT32 numfound = 0;
|
UINT32 numfound = 0;
|
||||||
UINT32 uiTotalNumberOfRealItems = 0;
|
UINT32 uiTotalNumberOfRealItems = 0;
|
||||||
|
|||||||
@@ -145,6 +145,8 @@ void InitJohnKulbaInitialSector();
|
|||||||
|
|
||||||
void FixEnemyCounterInSectorBug();
|
void FixEnemyCounterInSectorBug();
|
||||||
|
|
||||||
|
void AddEnemiesToFirstTunnelSector();
|
||||||
|
void AddEnemiesToSecondTunnelSector();
|
||||||
UINT8 NumEnemiesToAttackFirstTunnelSector( UINT8 *pAdmins, UINT8 *pTroops, UINT8 *pElites, UINT8 *pTanks, UINT8 *pJeeps, UINT8 *pRobots );
|
UINT8 NumEnemiesToAttackFirstTunnelSector( UINT8 *pAdmins, UINT8 *pTroops, UINT8 *pElites, UINT8 *pTanks, UINT8 *pJeeps, UINT8 *pRobots );
|
||||||
UINT8 NumEnemiesToAttackSecondTunnelSector( UINT8 *pAdmins, UINT8 *pTroops, UINT8 *pElites, UINT8 *pTanks, UINT8 *pJeeps, UINT8 *pRobots );
|
UINT8 NumEnemiesToAttackSecondTunnelSector( UINT8 *pAdmins, UINT8 *pTroops, UINT8 *pElites, UINT8 *pTanks, UINT8 *pJeeps, UINT8 *pRobots );
|
||||||
void RemoveAllEnemySoldierInitListLinks();
|
void RemoveAllEnemySoldierInitListLinks();
|
||||||
@@ -1270,69 +1272,10 @@ void InitJa25StrategicAiBloodcats( )
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static BOOLEAN AddEnemiesToSectorPlayerIsIn(INT16 sectorX, INT16 sectorY, INT8 sectorZ, UINT8 admins, UINT8 troops, UINT8 elites)
|
|
||||||
{
|
|
||||||
if ( gGameUBOptions.pJA2UB == TRUE )
|
|
||||||
{
|
|
||||||
|
|
||||||
if ( !(gTacticalStatus.uiFlags & INCOMBAT) )
|
|
||||||
{
|
|
||||||
SetEnemyEncounterCode(ENEMY_INVASION_CODE);
|
|
||||||
}
|
|
||||||
|
|
||||||
SetNumberJa25EnemiesInSector(sectorX, sectorY, sectorZ, admins, troops, elites, 0, 0, 0);
|
|
||||||
|
|
||||||
SetThisSectorAsEnemyControlled(sectorX, sectorY, sectorZ, FALSE);
|
|
||||||
|
|
||||||
//Set up flag so enemies will go and find the player in that sector
|
|
||||||
gJa25SaveStruct.fEnemyShouldImmediatelySeekThePlayer = TRUE;
|
|
||||||
gJa25SaveStruct.bSectorTheEnemyWillSeekEnemy = SECTOR(sectorX, sectorY);
|
|
||||||
}
|
|
||||||
|
|
||||||
return(TRUE);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void AddEnemiesToFirstTunnelSector()
|
|
||||||
{
|
|
||||||
const auto x1 = gGameUBOptions.Tunnel1_SectorX;
|
|
||||||
const auto y1 = gGameUBOptions.Tunnel1_SectorY;
|
|
||||||
const auto z1 = gGameUBOptions.Tunnel1_SectorZ;
|
|
||||||
|
|
||||||
UINT8 ubNumAdmins = 0;
|
|
||||||
UINT8 ubNumTroops = 0;
|
|
||||||
UINT8 ubNumElites = 0;
|
|
||||||
UINT8 ubNumTanks = 0;
|
|
||||||
UINT8 ubNumJeeps = 0;
|
|
||||||
UINT8 ubNumRobots = 0;
|
|
||||||
|
|
||||||
NumEnemiesToAttackFirstTunnelSector(&ubNumAdmins, &ubNumTroops, &ubNumElites, &ubNumTanks, &ubNumJeeps, &ubNumRobots);
|
|
||||||
SetNumberJa25EnemiesInSector(x1, y1, z1, ubNumAdmins, ubNumTroops, ubNumElites, ubNumTanks, ubNumJeeps, ubNumRobots);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void AddEnemiesToSecondTunnelSector()
|
|
||||||
{
|
|
||||||
const auto x2 = gGameUBOptions.Tunnel2_SectorX;
|
|
||||||
const auto y2 = gGameUBOptions.Tunnel2_SectorY;
|
|
||||||
const auto z2 = gGameUBOptions.Tunnel2_SectorZ;
|
|
||||||
|
|
||||||
UINT8 ubNumAdmins = 0;
|
|
||||||
UINT8 ubNumTroops = 0;
|
|
||||||
UINT8 ubNumElites = 0;
|
|
||||||
UINT8 ubNumTanks = 0;
|
|
||||||
UINT8 ubNumJeeps = 0;
|
|
||||||
UINT8 ubNumRobots = 0;
|
|
||||||
|
|
||||||
NumEnemiesToAttackSecondTunnelSector(&ubNumAdmins, &ubNumTroops, &ubNumElites, &ubNumTanks, &ubNumJeeps, &ubNumRobots);
|
|
||||||
SetNumberJa25EnemiesInSector(x2, y2, z2, ubNumAdmins, ubNumTroops, ubNumElites, ubNumTanks, ubNumJeeps, ubNumRobots);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void HandleAddingEnemiesToTunnelMaps()
|
void HandleAddingEnemiesToTunnelMaps()
|
||||||
{
|
{
|
||||||
UINT8 ubNumEnemies = 0;
|
BOOLEAN fInCombat = ( gTacticalStatus.uiFlags & INCOMBAT );
|
||||||
UINT8 ubNumAdmins = 0;
|
UINT8 ubNumEnemies=0;
|
||||||
UINT8 ubNumTroops = 0;
|
|
||||||
UINT8 ubNumElites = 0;
|
|
||||||
|
|
||||||
//if the player has been in the complex
|
//if the player has been in the complex
|
||||||
if( HaveMercsEverBeenInComplex() )
|
if( HaveMercsEverBeenInComplex() )
|
||||||
@@ -1341,35 +1284,21 @@ void HandleAddingEnemiesToTunnelMaps()
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const auto x1 = gGameUBOptions.Tunnel1_SectorX;
|
|
||||||
const auto y1 = gGameUBOptions.Tunnel1_SectorY;
|
|
||||||
const auto z1 = gGameUBOptions.Tunnel1_SectorZ;
|
|
||||||
|
|
||||||
const auto x2 = gGameUBOptions.Tunnel2_SectorX;
|
|
||||||
const auto y2 = gGameUBOptions.Tunnel2_SectorY;
|
|
||||||
const auto z2 = gGameUBOptions.Tunnel2_SectorZ;
|
|
||||||
|
|
||||||
const bool isPlayerInFirstTunnel = AreAnyPlayerMercsStillInSector(x1, y1, z1);
|
|
||||||
const bool isPlayerInSecondTunnel = AreAnyPlayerMercsStillInSector(x2, y2, z2);
|
|
||||||
|
|
||||||
//if the player IS NOT in either of the tunnel sectors
|
//if the player IS NOT in either of the tunnel sectors
|
||||||
if( !isPlayerInFirstTunnel && !isPlayerInSecondTunnel )
|
if( !AreAnyPlayerMercsStillInSector( 14, 10, 1 ) &&
|
||||||
|
!AreAnyPlayerMercsStillInSector( 14, 11, 1 ) )
|
||||||
{
|
{
|
||||||
// Add enemies to both sectors if fan was blown up
|
AddEnemiesToJa25TunnelMaps();
|
||||||
if ( gJa25SaveStruct.ubHowPlayerGotThroughFan == PG__PLAYER_BLEW_UP_FAN_TO_GET_THROUGH )
|
|
||||||
{
|
|
||||||
AddEnemiesToFirstTunnelSector();
|
|
||||||
AddEnemiesToSecondTunnelSector();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//else if the player IS NOT in the 2nd sector but is in the first sector
|
//else if the player IS NOT in the 2nd sector but in the first sector
|
||||||
else if( isPlayerInFirstTunnel && !isPlayerInSecondTunnel )
|
else if( AreAnyPlayerMercsStillInSector( 14, 10, 1 ) &&
|
||||||
|
!AreAnyPlayerMercsStillInSector( 14, 11, 1 ) )
|
||||||
{
|
{
|
||||||
ubNumEnemies = NumEnemiesToAttackFirstTunnelSector(&ubNumAdmins, &ubNumTroops, &ubNumElites, NULL, NULL, NULL );
|
ubNumEnemies = NumEnemiesToAttackFirstTunnelSector( NULL, NULL, NULL, NULL, NULL, NULL );
|
||||||
|
|
||||||
//Add enemies to the first sector
|
//Add enemies to the first sector
|
||||||
AddEnemiesToSectorPlayerIsIn( x1, y1, z1, ubNumAdmins, ubNumTroops, ubNumElites);
|
HandleAddEnemiesToSectorPlayerIsntIn( JA25_J14_1, ubNumEnemies );
|
||||||
|
|
||||||
//Remember to move the enemies to be in the entrance to the tunnel
|
//Remember to move the enemies to be in the entrance to the tunnel
|
||||||
SetJa25GeneralFlag( JA_GF__MOVE_ENEMIES_TO_EDGE_IN_TUNNEL_1 );
|
SetJa25GeneralFlag( JA_GF__MOVE_ENEMIES_TO_EDGE_IN_TUNNEL_1 );
|
||||||
@@ -1378,17 +1307,58 @@ void HandleAddingEnemiesToTunnelMaps()
|
|||||||
}
|
}
|
||||||
|
|
||||||
//else if the player is in the second sector
|
//else if the player is in the second sector
|
||||||
else if( isPlayerInSecondTunnel )
|
else if( AreAnyPlayerMercsStillInSector( 14, 11, 1 ) )
|
||||||
{
|
{
|
||||||
ubNumEnemies = NumEnemiesToAttackSecondTunnelSector(&ubNumAdmins, &ubNumTroops, &ubNumElites, NULL, NULL, NULL );
|
ubNumEnemies = NumEnemiesToAttackSecondTunnelSector( NULL, NULL, NULL, NULL, NULL, NULL );
|
||||||
|
|
||||||
AddEnemiesToSectorPlayerIsIn(x2, y2, z2, ubNumAdmins, ubNumTroops, ubNumElites);
|
//Add enemies to the first sector
|
||||||
|
HandleAddEnemiesToSectorPlayerIsntIn( JA25_K14_1, ubNumEnemies );
|
||||||
|
|
||||||
//Remember to move the enemies to be in the entrance to the tunnel
|
//Remember to move the enemies to be in the entrance to the tunnel
|
||||||
SetJa25GeneralFlag( JA_GF__MOVE_ENEMIES_TO_EDGE_IN_TUNNEL_2 );
|
SetJa25GeneralFlag( JA_GF__MOVE_ENEMIES_TO_EDGE_IN_TUNNEL_2 );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void AddEnemiesToJa25TunnelMaps()
|
||||||
|
{
|
||||||
|
if( gJa25SaveStruct.ubHowPlayerGotThroughFan == PG__PLAYER_BLEW_UP_FAN_TO_GET_THROUGH )
|
||||||
|
{
|
||||||
|
//if the player blew up the fan, add a ton of enemies to the sector
|
||||||
|
AddEnemiesToFirstTunnelSector();
|
||||||
|
|
||||||
|
AddEnemiesToSecondTunnelSector();
|
||||||
|
}
|
||||||
|
else if( gJa25SaveStruct.ubHowPlayerGotThroughFan == PG__PLAYER_STOPPED_FAN_TO_GET_THROUGH )
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void AddEnemiesToFirstTunnelSector()
|
||||||
|
{
|
||||||
|
UINT8 ubNumAdmins=0;
|
||||||
|
UINT8 ubNumTroops=0;
|
||||||
|
UINT8 ubNumElites=0;
|
||||||
|
UINT8 ubNumTanks=0;
|
||||||
|
UINT8 ubNumJeeps=0;
|
||||||
|
UINT8 ubNumRobots=0;
|
||||||
|
|
||||||
|
NumEnemiesToAttackFirstTunnelSector( &ubNumAdmins, &ubNumTroops, &ubNumElites, &ubNumTanks, &ubNumJeeps, &ubNumRobots );
|
||||||
|
|
||||||
|
SetNumberJa25EnemiesInSector( 14, 10, 1, ubNumAdmins, ubNumTroops, ubNumElites, ubNumTanks, ubNumJeeps, ubNumRobots );
|
||||||
|
}
|
||||||
|
|
||||||
|
void AddEnemiesToSecondTunnelSector()
|
||||||
|
{
|
||||||
|
UINT8 ubNumAdmins=0;
|
||||||
|
UINT8 ubNumTroops=0;
|
||||||
|
UINT8 ubNumElites=0;
|
||||||
|
UINT8 ubNumTanks=0;
|
||||||
|
UINT8 ubNumJeeps=0;
|
||||||
|
UINT8 ubNumRobots=0;
|
||||||
|
|
||||||
|
NumEnemiesToAttackSecondTunnelSector( &ubNumAdmins, &ubNumTroops, &ubNumElites, &ubNumTanks, &ubNumJeeps, &ubNumRobots );
|
||||||
|
SetNumberJa25EnemiesInSector( 14, 11, 1, ubNumAdmins, ubNumTroops, ubNumElites, ubNumTanks, ubNumJeeps, ubNumRobots );
|
||||||
|
}
|
||||||
|
|
||||||
UINT8 NumEnemiesToAttackFirstTunnelSector( UINT8 *pAdmins, UINT8 *pTroops, UINT8 *pElites, UINT8 *pTanks, UINT8 *pJeeps, UINT8 *pRobots )
|
UINT8 NumEnemiesToAttackFirstTunnelSector( UINT8 *pAdmins, UINT8 *pTroops, UINT8 *pElites, UINT8 *pTanks, UINT8 *pJeeps, UINT8 *pRobots )
|
||||||
{
|
{
|
||||||
@@ -1418,11 +1388,6 @@ UINT8 NumEnemiesToAttackFirstTunnelSector( UINT8 *pAdmins, UINT8 *pTroops, UINT8
|
|||||||
ubNumTroops = 4 + Random( 0 );
|
ubNumTroops = 4 + Random( 0 );
|
||||||
ubNumElites = 4 + Random( 0 );
|
ubNumElites = 4 + Random( 0 );
|
||||||
break;
|
break;
|
||||||
case DIF_LEVEL_INSANE:
|
|
||||||
ubNumAdmins = 0 + Random(0);
|
|
||||||
ubNumTroops = 0 + Random(0);
|
|
||||||
ubNumElites = 8 + Random(0);
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if( pAdmins )
|
if( pAdmins )
|
||||||
@@ -1475,11 +1440,6 @@ UINT8 NumEnemiesToAttackSecondTunnelSector( UINT8 *pAdmins, UINT8 *pTroops, UINT
|
|||||||
ubNumTroops = 6 + Random( 0 );
|
ubNumTroops = 6 + Random( 0 );
|
||||||
ubNumElites = 4 + Random( 3 );
|
ubNumElites = 4 + Random( 3 );
|
||||||
break;
|
break;
|
||||||
case DIF_LEVEL_INSANE:
|
|
||||||
ubNumAdmins = 0 + Random(0);
|
|
||||||
ubNumTroops = 0 + Random(0);
|
|
||||||
ubNumElites = 10 + Random(0);
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if( pAdmins )
|
if( pAdmins )
|
||||||
|
|||||||
@@ -199,6 +199,7 @@ BOOLEAN SaveJa25SaveInfoToSaveGame( HWFILE hFile );
|
|||||||
BOOLEAN LoadJa25SaveInfoFromSavedGame( HWFILE hFile );
|
BOOLEAN LoadJa25SaveInfoFromSavedGame( HWFILE hFile );
|
||||||
|
|
||||||
|
|
||||||
|
void AddEnemiesToJa25TunnelMaps();
|
||||||
void HandleAddingEnemiesToTunnelMaps();
|
void HandleAddingEnemiesToTunnelMaps();
|
||||||
|
|
||||||
void SetJa25GeneralFlag( UINT32 uiFlagToSet );
|
void SetJa25GeneralFlag( UINT32 uiFlagToSet );
|
||||||
|
|||||||
+12
-31
@@ -5,8 +5,7 @@
|
|||||||
#include "Strategic Mines.h"
|
#include "Strategic Mines.h"
|
||||||
#include "BobbyRMailOrder.h"
|
#include "BobbyRMailOrder.h"
|
||||||
#include "Tactical Save.h"
|
#include "Tactical Save.h"
|
||||||
#include "Strategic Movement.h"
|
#include "connect.h"
|
||||||
#include <Soldier Create.h>
|
|
||||||
#include "FileMan.h"
|
#include "FileMan.h"
|
||||||
#include "GameSettings.h"
|
#include "GameSettings.h"
|
||||||
#include "Game Init.h"
|
#include "Game Init.h"
|
||||||
@@ -30,6 +29,7 @@
|
|||||||
#include "Explosion Control.h"
|
#include "Explosion Control.h"
|
||||||
#include "soldier tile.h"
|
#include "soldier tile.h"
|
||||||
#include "Soldier Profile.h"
|
#include "Soldier Profile.h"
|
||||||
|
#include "Soldier Functions.h"
|
||||||
#include "Action Items.h"
|
#include "Action Items.h"
|
||||||
#include "AIInternals.h"
|
#include "AIInternals.h"
|
||||||
#include "Handle Doors.h"
|
#include "Handle Doors.h"
|
||||||
@@ -72,6 +72,7 @@ extern "C" {
|
|||||||
#include "lua_state.h"
|
#include "lua_state.h"
|
||||||
#include "lua_function.h"
|
#include "lua_function.h"
|
||||||
|
|
||||||
|
#include "Encrypted File.h"
|
||||||
|
|
||||||
#include "BriefingRoom_Data.h"
|
#include "BriefingRoom_Data.h"
|
||||||
#include "MiniGame.h" // added by Flugente
|
#include "MiniGame.h" // added by Flugente
|
||||||
@@ -949,7 +950,7 @@ void IniLuaGlobal()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void IniGlobal_0(lua_State* L)
|
void IniGlobal_0(lua_State* L)
|
||||||
{
|
{
|
||||||
|
|
||||||
lua_pushinteger(L, PROFILLUA_sSectorX);
|
lua_pushinteger(L, PROFILLUA_sSectorX);
|
||||||
@@ -978,7 +979,7 @@ static void IniGlobal_0(lua_State* L)
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void IniGlobal_1(lua_State* L)
|
void IniGlobal_1(lua_State* L)
|
||||||
{
|
{
|
||||||
lua_pushinteger(L, PROFILLUA2_ubProfile);
|
lua_pushinteger(L, PROFILLUA2_ubProfile);
|
||||||
lua_setglobal(L, "ProfileId");
|
lua_setglobal(L, "ProfileId");
|
||||||
@@ -999,7 +1000,7 @@ static void IniGlobal_1(lua_State* L)
|
|||||||
lua_setglobal(L, "ProfileIdsGridNo");
|
lua_setglobal(L, "ProfileIdsGridNo");
|
||||||
|
|
||||||
}
|
}
|
||||||
static void IniFunction(lua_State* L, BOOLEAN bQuests)
|
void IniFunction(lua_State* L, BOOLEAN bQuests)
|
||||||
{
|
{
|
||||||
|
|
||||||
lua_register(L, "HireMerc", l_HireMerc);
|
lua_register(L, "HireMerc", l_HireMerc);
|
||||||
@@ -2242,38 +2243,18 @@ static int l_SetNumberOfJa25BloodCatsInSector(lua_State* L)
|
|||||||
|
|
||||||
static int l_SetNumberJa25EnemiesInSurfaceSector(lua_State* L)
|
static int l_SetNumberJa25EnemiesInSurfaceSector(lua_State* L)
|
||||||
{
|
{
|
||||||
if ( lua_gettop(L) >= 3 )
|
if (lua_gettop(L) >= 6)
|
||||||
{
|
{
|
||||||
INT16 sSectorX = lua_tointeger(L, 1);
|
INT16 sSectorX = lua_tointeger(L, 1);
|
||||||
INT16 sSectorY = lua_tointeger(L, 2);
|
INT16 sSectorY = lua_tointeger(L, 2);
|
||||||
UINT8 ubNumAdmins = lua_tointeger(L, 3);
|
UINT8 ubNumAdmins = lua_tointeger(L, 3);
|
||||||
UINT8 ubNumTroops = 0;
|
UINT8 ubNumTroops = lua_tointeger(L, 4);
|
||||||
UINT8 ubNumElites = 0;
|
UINT8 ubNumElites = lua_tointeger(L, 5);
|
||||||
UINT8 ubNumTanks = 0;
|
UINT8 ubNumTanks = lua_tointeger(L, 6);
|
||||||
|
//TODO: expand lua call to include these two
|
||||||
UINT8 ubNumJeeps = 0;
|
UINT8 ubNumJeeps = 0;
|
||||||
UINT8 ubNumRobots = 0;
|
UINT8 ubNumRobots = 0;
|
||||||
|
|
||||||
if ( lua_gettop(L) >= 4 )
|
|
||||||
{
|
|
||||||
ubNumTroops = lua_tointeger(L, 4);
|
|
||||||
}
|
|
||||||
if ( lua_gettop(L) >= 5 )
|
|
||||||
{
|
|
||||||
ubNumElites = lua_tointeger(L, 5);
|
|
||||||
}
|
|
||||||
if ( lua_gettop(L) >= 6 )
|
|
||||||
{
|
|
||||||
ubNumTanks = lua_tointeger(L, 6);
|
|
||||||
}
|
|
||||||
if ( lua_gettop(L) >= 7 )
|
|
||||||
{
|
|
||||||
ubNumJeeps = lua_tointeger(L, 7);
|
|
||||||
}
|
|
||||||
if ( lua_gettop(L) >= 8 )
|
|
||||||
{
|
|
||||||
ubNumRobots = lua_tointeger(L, 8);
|
|
||||||
}
|
|
||||||
|
|
||||||
SetNumberJa25EnemiesInSurfaceSector(SECTOR(sSectorX, sSectorY), ubNumAdmins, ubNumTroops, ubNumElites, ubNumTanks, ubNumJeeps, ubNumRobots);
|
SetNumberJa25EnemiesInSurfaceSector(SECTOR(sSectorX, sSectorY), ubNumAdmins, ubNumTroops, ubNumElites, ubNumTanks, ubNumJeeps, ubNumRobots);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2900,7 +2881,7 @@ BOOLEAN LuaIDScripts(UINT8 Init, UINT8 ubTargetNPC, UINT16 usActionCode, UINT8 u
|
|||||||
// Neither one of the function arguments are used inside the function and the only place where this is called
|
// Neither one of the function arguments are used inside the function and the only place where this is called
|
||||||
// makes it look like it *is* supposed to match against specific profile *and* restrict the search to player mercs.
|
// makes it look like it *is* supposed to match against specific profile *and* restrict the search to player mercs.
|
||||||
// That last part makes no sense since player mercs are part of OUR_TEAM
|
// That last part makes no sense since player mercs are part of OUR_TEAM
|
||||||
static SOLDIERTYPE* FindSoldierByProfileID2(UINT8 ubProfileID, BOOLEAN fPlayerMercsOnly)
|
SOLDIERTYPE* FindSoldierByProfileID2(UINT8 ubProfileID, BOOLEAN fPlayerMercsOnly)
|
||||||
{
|
{
|
||||||
SoldierID soldier = gTacticalStatus.Team[CIV_TEAM].bFirstID;
|
SoldierID soldier = gTacticalStatus.Team[CIV_TEAM].bFirstID;
|
||||||
SoldierID lastid = gTacticalStatus.Team[CIV_TEAM].bLastID;
|
SoldierID lastid = gTacticalStatus.Team[CIV_TEAM].bLastID;
|
||||||
|
|||||||
@@ -1,41 +1,48 @@
|
|||||||
#include "Map Screen Helicopter.h"
|
#include "Map Screen Helicopter.h"
|
||||||
#include "LaptopSave.h"
|
#include "LaptopSave.h"
|
||||||
|
#include "Vehicles.h"
|
||||||
|
#include "finances.h"
|
||||||
|
#include "Quests.h"
|
||||||
|
#include "Game Clock.h"
|
||||||
|
#include "strategic.h"
|
||||||
|
#include "Queen Command.h"
|
||||||
|
#include "Strategic Pathing.h"
|
||||||
|
#include "random.h"
|
||||||
|
#include "Game Event Hook.h"
|
||||||
|
#include "string.h"
|
||||||
|
#include "Dialogue Control.h"
|
||||||
|
#include "message.h"
|
||||||
|
#include "Strategic Movement.h"
|
||||||
|
#include "Soldier Profile.h"
|
||||||
|
#include "Assignments.h"
|
||||||
|
#include "PreBattle Interface.h"
|
||||||
|
#include "strategicmap.h"
|
||||||
|
#include "worlddef.h"
|
||||||
|
#include "worldman.h"
|
||||||
|
#include "TileDat.h"
|
||||||
|
#include "Map Screen Interface.h"
|
||||||
|
#include "Text.h"
|
||||||
|
#include "Squads.h"
|
||||||
|
#include "Player Command.h"
|
||||||
|
#include "Sound Control.h"
|
||||||
|
#include "GameSettings.h"
|
||||||
|
#include "Meanwhile.h"
|
||||||
|
#include "Map Screen Interface Border.h"
|
||||||
|
#include "Strategic Event Handler.h"
|
||||||
|
#include "Overhead.h"
|
||||||
|
#include "Soldier Create.h"
|
||||||
|
#include "renderworld.h"
|
||||||
|
#include "soundman.h"
|
||||||
|
#include "Isometric Utils.h"
|
||||||
|
#include "Scheduling.h"
|
||||||
|
// HEADROCK HAM 3.5: Added facility-based skyrider costs modifier
|
||||||
|
#include "Facilities.h"
|
||||||
|
#include "Debug Control.h"
|
||||||
|
#include "expat.h"
|
||||||
|
#include "merc entering.h" // added by Flugente
|
||||||
|
#include "ASD.h" // added by Flugente
|
||||||
|
|
||||||
#include "Vehicles.h"
|
#include "Vehicles.h"
|
||||||
#include "finances.h"
|
|
||||||
#include "Quests.h"
|
|
||||||
#include "Game Clock.h"
|
|
||||||
#include "strategic.h"
|
|
||||||
#include "Queen Command.h"
|
|
||||||
#include "Strategic Pathing.h"
|
|
||||||
#include "random.h"
|
|
||||||
#include "Game Event Hook.h"
|
|
||||||
#include "string.h"
|
|
||||||
#include "Dialogue Control.h"
|
|
||||||
#include "message.h"
|
|
||||||
#include "Strategic Movement.h"
|
|
||||||
#include "Soldier Profile.h"
|
|
||||||
#include "Assignments.h"
|
|
||||||
#include "strategicmap.h"
|
|
||||||
#include "worlddef.h"
|
|
||||||
#include "worldman.h"
|
|
||||||
#include "Map Screen Interface.h"
|
|
||||||
#include "Text.h"
|
|
||||||
#include "Squads.h"
|
|
||||||
#include "Sound Control.h"
|
|
||||||
#include "GameSettings.h"
|
|
||||||
#include "Meanwhile.h"
|
|
||||||
#include "Map Screen Interface Border.h"
|
|
||||||
#include "Overhead.h"
|
|
||||||
#include "Soldier Create.h"
|
|
||||||
#include "renderworld.h"
|
|
||||||
#include "Isometric Utils.h"
|
|
||||||
#include "Scheduling.h"
|
|
||||||
// HEADROCK HAM 3.5: Added facility-based skyrider costs modifier
|
|
||||||
#include "Facilities.h"
|
|
||||||
#include "Debug Control.h"
|
|
||||||
#include "expat.h"
|
|
||||||
#include "merc entering.h" // added by Flugente
|
|
||||||
#include "ASD.h" // added by Flugente
|
|
||||||
#include "NPC.h"
|
#include "NPC.h"
|
||||||
#include "history.h"
|
#include "history.h"
|
||||||
|
|
||||||
@@ -503,7 +510,7 @@ BOOLEAN ReadInHeliInfo(STR fileName)
|
|||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static BOOLEAN WriteInInfo(STR fileName)
|
BOOLEAN WriteInInfo(STR fileName)
|
||||||
{
|
{
|
||||||
HWFILE hFile;
|
HWFILE hFile;
|
||||||
|
|
||||||
@@ -2439,7 +2446,7 @@ BOOLEAN WillAirRaidBeStopped( INT16 sSectorX, INT16 sSectorY )
|
|||||||
return( FALSE );
|
return( FALSE );
|
||||||
}
|
}
|
||||||
|
|
||||||
static void HeliCrashSoundStopCallback( void *pData )
|
void HeliCrashSoundStopCallback( void *pData )
|
||||||
{
|
{
|
||||||
SkyriderDestroyed( );
|
SkyriderDestroyed( );
|
||||||
}
|
}
|
||||||
@@ -2582,7 +2589,7 @@ BOOLEAN CanHelicopterTakeOff( void )
|
|||||||
return( FALSE );
|
return( FALSE );
|
||||||
}
|
}
|
||||||
|
|
||||||
static void AddHeliPiece( INT32 iGridNo, UINT16 sOStruct )
|
void AddHeliPiece( INT32 iGridNo, UINT16 sOStruct )
|
||||||
{
|
{
|
||||||
UINT16 usDummy;
|
UINT16 usDummy;
|
||||||
|
|
||||||
|
|||||||
+13
-13
@@ -303,7 +303,7 @@ BOOLEAN BeginAirRaid( )
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static INT32 PickLocationNearAnyMercInSector( )
|
INT32 PickLocationNearAnyMercInSector( )
|
||||||
{
|
{
|
||||||
UINT16 ubMercsInSector[ 20 ] = { 0 };
|
UINT16 ubMercsInSector[ 20 ] = { 0 };
|
||||||
UINT16 ubNumMercs = 0;
|
UINT16 ubNumMercs = 0;
|
||||||
@@ -344,7 +344,7 @@ static INT32 PickLocationNearAnyMercInSector( )
|
|||||||
return( NOWHERE );
|
return( NOWHERE );
|
||||||
}
|
}
|
||||||
|
|
||||||
static INT32 PickRandomLocationAtMinSpacesAway( INT32 sGridNo, INT16 sMinValue, INT16 sRandomVar )
|
INT32 PickRandomLocationAtMinSpacesAway( INT32 sGridNo, INT16 sMinValue, INT16 sRandomVar )
|
||||||
{
|
{
|
||||||
INT32 sNewGridNo = NOWHERE;
|
INT32 sNewGridNo = NOWHERE;
|
||||||
INT16 sX, sY, sNewX, sNewY;
|
INT16 sX, sY, sNewX, sNewY;
|
||||||
@@ -382,7 +382,7 @@ static INT32 PickRandomLocationAtMinSpacesAway( INT32 sGridNo, INT16 sMinValue,
|
|||||||
return( sNewGridNo );
|
return( sNewGridNo );
|
||||||
}
|
}
|
||||||
|
|
||||||
static void TryToStartRaid( )
|
void TryToStartRaid( )
|
||||||
{
|
{
|
||||||
// OK, check conditions,
|
// OK, check conditions,
|
||||||
|
|
||||||
@@ -414,7 +414,7 @@ static void TryToStartRaid( )
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void AirRaidStart( )
|
void AirRaidStart( )
|
||||||
{
|
{
|
||||||
DebugMsg(TOPIC_JA2,DBG_LEVEL_3,String("AirRaidStart"));
|
DebugMsg(TOPIC_JA2,DBG_LEVEL_3,String("AirRaidStart"));
|
||||||
// Begin ambient sound....
|
// Begin ambient sound....
|
||||||
@@ -434,7 +434,7 @@ static void AirRaidStart( )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void AirRaidLookForDive( )
|
void AirRaidLookForDive( )
|
||||||
{
|
{
|
||||||
BOOLEAN fDoDive = FALSE;
|
BOOLEAN fDoDive = FALSE;
|
||||||
BOOLEAN fDoQuote = FALSE;
|
BOOLEAN fDoQuote = FALSE;
|
||||||
@@ -558,7 +558,7 @@ static void AirRaidLookForDive( )
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void AirRaidStartEnding( )
|
void AirRaidStartEnding( )
|
||||||
{
|
{
|
||||||
DebugMsg(TOPIC_JA2,DBG_LEVEL_3,String("AirRaidStartEnding"));
|
DebugMsg(TOPIC_JA2,DBG_LEVEL_3,String("AirRaidStartEnding"));
|
||||||
// Fade out sound.....
|
// Fade out sound.....
|
||||||
@@ -566,7 +566,7 @@ static void AirRaidStartEnding( )
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void BeginBombing( )
|
void BeginBombing( )
|
||||||
{
|
{
|
||||||
INT32 sGridNo;
|
INT32 sGridNo;
|
||||||
UINT32 iSoundStartDelay;
|
UINT32 iSoundStartDelay;
|
||||||
@@ -623,7 +623,7 @@ static void BeginBombing( )
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
static void BeginDive( )
|
void BeginDive( )
|
||||||
{
|
{
|
||||||
INT32 sGridNo;
|
INT32 sGridNo;
|
||||||
UINT32 iSoundStartDelay;
|
UINT32 iSoundStartDelay;
|
||||||
@@ -681,7 +681,7 @@ static void BeginDive( )
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void MoveDiveAirplane( FLOAT dAngle )
|
void MoveDiveAirplane( FLOAT dAngle )
|
||||||
{
|
{
|
||||||
FLOAT dDeltaPos;
|
FLOAT dDeltaPos;
|
||||||
|
|
||||||
@@ -701,7 +701,7 @@ static void MoveDiveAirplane( FLOAT dAngle )
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void DoDive( )
|
void DoDive( )
|
||||||
{
|
{
|
||||||
INT16 sRange;
|
INT16 sRange;
|
||||||
INT32 sGridNo, sOldGridNo;
|
INT32 sGridNo, sOldGridNo;
|
||||||
@@ -877,7 +877,7 @@ static void DoDive( )
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void DoBombing( )
|
void DoBombing( )
|
||||||
{
|
{
|
||||||
INT16 sRange;
|
INT16 sRange;
|
||||||
INT32 sGridNo, sOldGridNo, sBombGridNo;
|
INT32 sGridNo, sOldGridNo, sBombGridNo;
|
||||||
@@ -1498,7 +1498,7 @@ void EndAirRaid( )
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Madd
|
// Madd
|
||||||
static void CheckForAndSetupAirRaid ()
|
void CheckForAndSetupAirRaid ()
|
||||||
{
|
{
|
||||||
//INT16 sSectorX;
|
//INT16 sSectorX;
|
||||||
//INT16 sSectorY;
|
//INT16 sSectorY;
|
||||||
@@ -1577,7 +1577,7 @@ static void CheckForAndSetupAirRaid ()
|
|||||||
//}
|
//}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void EnemyCallInAirStrike (INT16 sSectorX, INT16 sSectorY)
|
void EnemyCallInAirStrike (INT16 sSectorX, INT16 sSectorY)
|
||||||
{
|
{
|
||||||
//AIR_RAID_DEFINITION AirRaidDef;
|
//AIR_RAID_DEFINITION AirRaidDef;
|
||||||
|
|
||||||
|
|||||||
@@ -1,14 +1,19 @@
|
|||||||
|
#include "builddefines.h"
|
||||||
|
#include <stdio.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
#include "stdlib.h"
|
||||||
#include "DEBUG.H"
|
#include "DEBUG.H"
|
||||||
#include "Animation Control.h"
|
#include "Animation Control.h"
|
||||||
#include "Animation Data.h"
|
#include "Animation Data.h"
|
||||||
#include "FileMan.h"
|
#include "FileMan.h"
|
||||||
|
#include "Weapons.h"
|
||||||
#include "message.h"
|
#include "message.h"
|
||||||
#include "structure.h"
|
#include "structure.h"
|
||||||
#include "worlddef.h"
|
#include "worlddef.h"
|
||||||
#include "worldman.h"
|
#include "worldman.h"
|
||||||
#include "Rotting Corpses.h"
|
#include "Rotting Corpses.h"
|
||||||
#include "Debug Control.h"
|
#include "Debug Control.h"
|
||||||
|
#include "random.h"
|
||||||
#include "Soldier Control.h"
|
#include "Soldier Control.h"
|
||||||
|
|
||||||
#include "connect.h"
|
#include "connect.h"
|
||||||
@@ -3725,7 +3730,7 @@ BOOLEAN LoadAnimationStateInstructions( )
|
|||||||
}
|
}
|
||||||
|
|
||||||
//ddd Trick for loading more than 320 animation files (?)
|
//ddd Trick for loading more than 320 animation files (?)
|
||||||
UINT16 fuckTheBoundz[320][100] {};
|
UINT16 fuckTheBoundz[320][100];
|
||||||
|
|
||||||
//Read in block
|
//Read in block
|
||||||
//if ( !FileRead( hFile, gusAnimInst, sizeof( gusAnimInst ), &uiBytesRead ) ) //commentet by ddd
|
//if ( !FileRead( hFile, gusAnimInst, sizeof( gusAnimInst ), &uiBytesRead ) ) //commentet by ddd
|
||||||
|
|||||||
@@ -913,7 +913,7 @@ BOOLEAN DeInitAnimationSystem( )
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
static STRUCTURE_FILE_REF *InternalGetAnimationStructureRef( SoldierID usSoldierID, UINT16 usSurfaceIndex, UINT16 usAnimState, BOOLEAN fUseAbsolute )
|
STRUCTURE_FILE_REF *InternalGetAnimationStructureRef( SoldierID usSoldierID, UINT16 usSurfaceIndex, UINT16 usAnimState, BOOLEAN fUseAbsolute )
|
||||||
{
|
{
|
||||||
INT8 bStructDataType;
|
INT8 bStructDataType;
|
||||||
|
|
||||||
|
|||||||
@@ -1,17 +1,20 @@
|
|||||||
#include "types.h"
|
#include "types.h"
|
||||||
#include <cstdlib>
|
#include "stdlib.h"
|
||||||
#include "Arms Dealer Init.h"
|
#include "Arms Dealer Init.h"
|
||||||
|
#include "string.h"
|
||||||
#include "DEBUG.H"
|
#include "DEBUG.H"
|
||||||
#include "random.h"
|
#include "random.h"
|
||||||
#include "Weapons.h"
|
#include "Weapons.h"
|
||||||
#include "FileMan.h"
|
#include "FileMan.h"
|
||||||
#include "Game Clock.h"
|
#include "Game Clock.h"
|
||||||
#include "ArmsDealerInvInit.h"
|
#include "ArmsDealerInvInit.h"
|
||||||
|
#include "message.h"
|
||||||
#include "Soldier Profile.h"
|
#include "Soldier Profile.h"
|
||||||
#include "Handle Items.h"
|
#include "Handle Items.h"
|
||||||
#include "Quests.h"
|
#include "Quests.h"
|
||||||
#include "Scheduling.h"
|
#include "Scheduling.h"
|
||||||
#include "GameSettings.h"
|
#include "GameSettings.h"
|
||||||
|
#include "Overhead.h" // added by Flugente for MercPtrs[]
|
||||||
#include "LuaInitNPCs.h" // added by Flugente
|
#include "LuaInitNPCs.h" // added by Flugente
|
||||||
|
|
||||||
#ifdef JA2UB
|
#ifdef JA2UB
|
||||||
@@ -73,6 +76,8 @@ UINT8 DetermineDealerItemCondition( UINT8 ubArmsDealer, UINT16 usItemIndex );
|
|||||||
BOOLEAN DoesItemAppearInDealerInventoryList( UINT8 ubArmsDealer, UINT16 usItemIndex, BOOLEAN fPurchaseFromPlayer );
|
BOOLEAN DoesItemAppearInDealerInventoryList( UINT8 ubArmsDealer, UINT16 usItemIndex, BOOLEAN fPurchaseFromPlayer );
|
||||||
|
|
||||||
#ifdef JA2UB
|
#ifdef JA2UB
|
||||||
|
UINT8 GetFirstValidSpecialItemFromDealer( UINT8 ubArmsDealer, INT16 sItemIndex );
|
||||||
|
|
||||||
void AddTexsVideosToBettysInventory();
|
void AddTexsVideosToBettysInventory();
|
||||||
BOOLEAN CanThisItemBeSoldToSimulatedCustomer( UINT8 ubArmsDealerID, UINT16 usItemIndex );
|
BOOLEAN CanThisItemBeSoldToSimulatedCustomer( UINT8 ubArmsDealerID, UINT16 usItemIndex );
|
||||||
#endif
|
#endif
|
||||||
@@ -197,7 +202,7 @@ void AddArmsDealerAdditionalIntelData( UINT16 ausDealer, UINT16 usItem, INT16 sI
|
|||||||
gArmsDealerAdditionalIntelData[ausDealer].push_back( data );
|
gArmsDealerAdditionalIntelData[ausDealer].push_back( data );
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ArmsDealers_ReadIntelData()
|
void ArmsDealers_ReadIntelData()
|
||||||
{
|
{
|
||||||
gArmsDealerAdditionalIntelData.clear();
|
gArmsDealerAdditionalIntelData.clear();
|
||||||
|
|
||||||
@@ -982,7 +987,6 @@ UINT32 GetArmsDealerItemTypeFromItemNumber( UINT16 usItem )
|
|||||||
return( 0 );
|
return( 0 );
|
||||||
}
|
}
|
||||||
// else treat as blade
|
// else treat as blade
|
||||||
[[fallthrough]];
|
|
||||||
case IC_BLADE:
|
case IC_BLADE:
|
||||||
case IC_THROWING_KNIFE:
|
case IC_THROWING_KNIFE:
|
||||||
return( ARMS_DEALER_BLADE );
|
return( ARMS_DEALER_BLADE );
|
||||||
|
|||||||
@@ -10,6 +10,7 @@
|
|||||||
#include "LaptopSave.h"
|
#include "LaptopSave.h"
|
||||||
#include "BobbyR.h"
|
#include "BobbyR.h"
|
||||||
#include "random.h"
|
#include "random.h"
|
||||||
|
#include "ShopKeeper Interface.h"
|
||||||
#include "connect.h"
|
#include "connect.h"
|
||||||
#include "Rebel Command.h"
|
#include "Rebel Command.h"
|
||||||
|
|
||||||
@@ -688,7 +689,7 @@ DEALER_POSSIBLE_INV gArmsDealerAdditional[ADDITIONAL_ARMS_DEALERS][MAXITEMS+1];
|
|||||||
|
|
||||||
// prototypes
|
// prototypes
|
||||||
|
|
||||||
static INT8 GetMaxItemAmount( DEALER_POSSIBLE_INV *pInv, UINT16 usItemIndex )
|
INT8 GetMaxItemAmount( DEALER_POSSIBLE_INV *pInv, UINT16 usItemIndex )
|
||||||
{
|
{
|
||||||
UINT16 usCnt = 0;
|
UINT16 usCnt = 0;
|
||||||
|
|
||||||
@@ -926,7 +927,7 @@ DEALER_POSSIBLE_INV *GetPointerToDealersPossibleInventory( UINT16 ubArmsDealerID
|
|||||||
}
|
}
|
||||||
|
|
||||||
//Madd: added boolean fUsed
|
//Madd: added boolean fUsed
|
||||||
static UINT8 GetCurrentSuitabilityForItem( INT8 bArmsDealer, UINT16 usItemIndex, BOOLEAN fUsed )
|
UINT8 GetCurrentSuitabilityForItem( INT8 bArmsDealer, UINT16 usItemIndex, BOOLEAN fUsed )
|
||||||
{
|
{
|
||||||
unsigned ubItemCoolness;
|
unsigned ubItemCoolness;
|
||||||
unsigned ubMinCoolness, ubMaxCoolness;
|
unsigned ubMinCoolness, ubMaxCoolness;
|
||||||
|
|||||||
@@ -21,9 +21,12 @@
|
|||||||
#include "Map Screen Interface.h"
|
#include "Map Screen Interface.h"
|
||||||
#include "Soldier Profile.h"
|
#include "Soldier Profile.h"
|
||||||
#include "Assignments.h"
|
#include "Assignments.h"
|
||||||
|
#include "WordWrap.h"
|
||||||
#include "Cursors.h"
|
#include "Cursors.h"
|
||||||
#include "english.h"
|
#include "english.h"
|
||||||
|
#include "SkillCheck.h" // added by Flugente
|
||||||
|
|
||||||
|
#include "Music Control.h"
|
||||||
|
|
||||||
// max number of merc faces per row in autobandage box
|
// max number of merc faces per row in autobandage box
|
||||||
#define NUMBER_MERC_FACES_AUTOBANDAGE_BOX 4
|
#define NUMBER_MERC_FACES_AUTOBANDAGE_BOX 4
|
||||||
@@ -66,11 +69,13 @@ std::vector<INT32> giAutoBandagesSoldierFaces (2*CODE_MAXIMUM_NUMBER_OF_PLAYER_S
|
|||||||
BOOLEAN fAutoEndBandageButtonCreated = FALSE;
|
BOOLEAN fAutoEndBandageButtonCreated = FALSE;
|
||||||
|
|
||||||
void BeginAutoBandageCallBack( UINT8 bExitValue );
|
void BeginAutoBandageCallBack( UINT8 bExitValue );
|
||||||
|
void CancelAutoBandageCallBack( UINT8 bExitValue );
|
||||||
|
|
||||||
// the update box for autobandaging mercs
|
// the update box for autobandaging mercs
|
||||||
void CreateTerminateAutoBandageButton( INT16 sX, INT16 sY );
|
void CreateTerminateAutoBandageButton( INT16 sX, INT16 sY );
|
||||||
void DestroyTerminateAutoBandageButton( void );
|
void DestroyTerminateAutoBandageButton( void );
|
||||||
void DisplayAutoBandageUpdatePanel( void );
|
void DisplayAutoBandageUpdatePanel( void );
|
||||||
|
void EndAutobandageButtonCallback(GUI_BUTTON *btn,INT32 reason);
|
||||||
void SetUpAutoBandageUpdatePanel( void );
|
void SetUpAutoBandageUpdatePanel( void );
|
||||||
BOOLEAN AddFacesToAutoBandageBox( void );
|
BOOLEAN AddFacesToAutoBandageBox( void );
|
||||||
BOOLEAN RenderSoldierSmallFaceForAutoBandagePanel( INT32 iIndex, INT16 sCurrentXPosition, INT16 sCurrentYPosition );
|
BOOLEAN RenderSoldierSmallFaceForAutoBandagePanel( INT32 iIndex, INT16 sCurrentXPosition, INT16 sCurrentYPosition );
|
||||||
@@ -298,7 +303,7 @@ BOOLEAN HandleAutoBandage( )
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static BOOLEAN CreateAutoBandageString( void )
|
BOOLEAN CreateAutoBandageString( void )
|
||||||
{
|
{
|
||||||
// WDS - make number of mercenaries, etc. be configurable
|
// WDS - make number of mercenaries, etc. be configurable
|
||||||
UINT16 ubDoctor[CODE_MAXIMUM_NUMBER_OF_PLAYER_SLOTS], ubDoctors = 0;
|
UINT16 ubDoctor[CODE_MAXIMUM_NUMBER_OF_PLAYER_SLOTS], ubDoctors = 0;
|
||||||
|
|||||||
+4
-3
@@ -8,6 +8,7 @@
|
|||||||
#include "NPC.h"
|
#include "NPC.h"
|
||||||
#include "opplist.h"
|
#include "opplist.h"
|
||||||
#include "ai.h"
|
#include "ai.h"
|
||||||
|
#include "Dialogue Control.h"
|
||||||
#include "Handle UI.h"
|
#include "Handle UI.h"
|
||||||
#include "Points.h"
|
#include "Points.h"
|
||||||
#include "Interface.h"
|
#include "Interface.h"
|
||||||
@@ -18,9 +19,9 @@
|
|||||||
#include "strategicmap.h"
|
#include "strategicmap.h"
|
||||||
#include "Game Clock.h"
|
#include "Game Clock.h"
|
||||||
#include "Animation Data.h"
|
#include "Animation Data.h"
|
||||||
|
#include "Font Control.h"
|
||||||
|
#include "message.h"
|
||||||
#include "GameSettings.h" // added by SANDRO
|
#include "GameSettings.h" // added by SANDRO
|
||||||
#include <Font Control.h>
|
|
||||||
#include <message.h>
|
|
||||||
|
|
||||||
INT32 gsBoxerGridNo[ NUM_BOXERS ] = { 11393, 11233, 11073 };
|
INT32 gsBoxerGridNo[ NUM_BOXERS ] = { 11393, 11233, 11073 };
|
||||||
SoldierID gubBoxerID[ NUM_BOXERS ] = { NOBODY, NOBODY, NOBODY };
|
SoldierID gubBoxerID[ NUM_BOXERS ] = { NOBODY, NOBODY, NOBODY };
|
||||||
@@ -209,7 +210,7 @@ UINT8 CountPeopleInBoxingRing( void )
|
|||||||
return( ubTotalInRing );
|
return( ubTotalInRing );
|
||||||
}
|
}
|
||||||
|
|
||||||
static void CountPeopleInBoxingRingAndDoActions( void )
|
void CountPeopleInBoxingRingAndDoActions( void )
|
||||||
{
|
{
|
||||||
UINT32 uiLoop;
|
UINT32 uiLoop;
|
||||||
UINT8 ubTotalInRing = 0;
|
UINT8 ubTotalInRing = 0;
|
||||||
|
|||||||
@@ -1,13 +1,16 @@
|
|||||||
#include "builddefines.h"
|
#include "builddefines.h"
|
||||||
|
#include <wchar.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
#include <string.h>
|
||||||
#include "stdlib.h"
|
#include "stdlib.h"
|
||||||
#include "DEBUG.H"
|
#include "DEBUG.H"
|
||||||
|
#include "MemMan.h"
|
||||||
#include "Overhead Types.h"
|
#include "Overhead Types.h"
|
||||||
|
|
||||||
#include "random.h"
|
#include "random.h"
|
||||||
#include "Campaign.h"
|
#include "Campaign.h"
|
||||||
#include "Dialogue Control.h"
|
#include "Dialogue Control.h"
|
||||||
#include "Font Control.h"
|
#include "Map Screen Interface.h"
|
||||||
#include "message.h"
|
#include "message.h"
|
||||||
#include "Game Clock.h"
|
#include "Game Clock.h"
|
||||||
#include "Strategic Mines.h"
|
#include "Strategic Mines.h"
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
#include "sgp.h"
|
#include "sgp.h"
|
||||||
|
//#include "Soldier Control.h"
|
||||||
#include "Encrypted File.h"
|
#include "Encrypted File.h"
|
||||||
#include "faces.h"
|
#include "faces.h"
|
||||||
#include "WCheck.h"
|
#include "WCheck.h"
|
||||||
@@ -38,6 +39,7 @@
|
|||||||
#include "Meanwhile.h"
|
#include "Meanwhile.h"
|
||||||
#include "SkillCheck.h"
|
#include "SkillCheck.h"
|
||||||
#include "Interface Control.h"
|
#include "Interface Control.h"
|
||||||
|
#include "finances.h"
|
||||||
#include "Civ Quotes.h"
|
#include "Civ Quotes.h"
|
||||||
#include "Map Screen Interface Map.h"
|
#include "Map Screen Interface Map.h"
|
||||||
#include "opplist.h"
|
#include "opplist.h"
|
||||||
@@ -48,8 +50,10 @@
|
|||||||
#include "End Game.h"
|
#include "End Game.h"
|
||||||
#include "LOS.h"
|
#include "LOS.h"
|
||||||
#include "qarray.h"
|
#include "qarray.h"
|
||||||
|
#include "Soldier Profile.h"
|
||||||
#include <vector>
|
#include <vector>
|
||||||
#include <queue>
|
#include <queue>
|
||||||
|
#include "Auto Resolve.h"
|
||||||
|
|
||||||
#include "connect.h"
|
#include "connect.h"
|
||||||
#ifdef JA2UB
|
#ifdef JA2UB
|
||||||
@@ -58,9 +62,9 @@
|
|||||||
#include "Ja25 Strategic Ai.h"
|
#include "Ja25 Strategic Ai.h"
|
||||||
#include "Ja25_Tactical.h"
|
#include "Ja25_Tactical.h"
|
||||||
#include "Animation Control.h"
|
#include "Animation Control.h"
|
||||||
#include "ub_config.h"
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#include "ub_config.h"
|
||||||
|
|
||||||
#include "history.h"
|
#include "history.h"
|
||||||
#include <language.hpp>
|
#include <language.hpp>
|
||||||
@@ -462,22 +466,6 @@ void HandleDialogueUIAdjustments( )
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Flugente: additional dialogue
|
|
||||||
extern void LuaHandleAdditionalDialogue(INT16 sSectorX, INT16 sSectorY, INT8 bSectorZ, UINT8 ubProfile, INT32 iFaceIndex, UINT16 usEventNr, UINT32 aData1, UINT32 aData2, UINT32 aData3);
|
|
||||||
|
|
||||||
static BOOLEAN ExecuteAdditionalCharacterDialogue(UINT8 ubProfile, INT32 iFaceIndex, UINT16 usEventNr, UINT32 aData1, UINT32 aData2, UINT32 aData3)
|
|
||||||
{
|
|
||||||
SOLDIERTYPE* pSoldier = FindSoldierByProfileID(ubProfile, TRUE);
|
|
||||||
|
|
||||||
if ( !pSoldier )
|
|
||||||
return FALSE;
|
|
||||||
|
|
||||||
// call Lua script on whether we can play something here, and get text and sound file
|
|
||||||
LuaHandleAdditionalDialogue(pSoldier->sSectorX, pSoldier->sSectorY, pSoldier->bSectorZ, ubProfile, iFaceIndex, usEventNr, aData1, aData2, aData3);
|
|
||||||
|
|
||||||
return(TRUE);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void HandleDialogue( )
|
void HandleDialogue( )
|
||||||
{
|
{
|
||||||
@@ -1343,6 +1331,8 @@ void HandleDialogue( )
|
|||||||
|
|
||||||
gubCurrentTalkingID = QItem.iFaceIndex;
|
gubCurrentTalkingID = QItem.iFaceIndex;
|
||||||
|
|
||||||
|
extern BOOLEAN ExecuteAdditionalCharacterDialogue( UINT8 ubProfile, INT32 iFaceIndex, UINT16 usEventNr, UINT32 aData1, UINT32 aData2, UINT32 aData3 );
|
||||||
|
|
||||||
ExecuteAdditionalCharacterDialogue( QItem.ubCharacterNum, QItem.iFaceIndex, QItem.usQuoteNum, QItem.uiSpecialEventData2, QItem.uiSpecialEventData3, QItem.uiSpecialEventData4 );
|
ExecuteAdditionalCharacterDialogue( QItem.ubCharacterNum, QItem.iFaceIndex, QItem.usQuoteNum, QItem.uiSpecialEventData2, QItem.uiSpecialEventData3, QItem.uiSpecialEventData4 );
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2190,6 +2180,21 @@ BOOLEAN ExecuteSnitchCharacterDialogue( UINT8 ubCharacterNum, UINT16 usQuoteNum,
|
|||||||
return( TRUE );
|
return( TRUE );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Flugente: additional dialogue
|
||||||
|
extern void LuaHandleAdditionalDialogue( INT16 sSectorX, INT16 sSectorY, INT8 bSectorZ, UINT8 ubProfile, INT32 iFaceIndex, UINT16 usEventNr, UINT32 aData1, UINT32 aData2, UINT32 aData3 );
|
||||||
|
|
||||||
|
BOOLEAN ExecuteAdditionalCharacterDialogue( UINT8 ubProfile, INT32 iFaceIndex, UINT16 usEventNr, UINT32 aData1, UINT32 aData2, UINT32 aData3 )
|
||||||
|
{
|
||||||
|
SOLDIERTYPE *pSoldier = FindSoldierByProfileID( ubProfile, TRUE );
|
||||||
|
|
||||||
|
if ( !pSoldier )
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
// call Lua script on whether we can play something here, and get text and sound file
|
||||||
|
LuaHandleAdditionalDialogue( pSoldier->sSectorX, pSoldier->sSectorY, pSoldier->bSectorZ, ubProfile, iFaceIndex, usEventNr, aData1, aData2, aData3 );
|
||||||
|
|
||||||
|
return( TRUE );
|
||||||
|
}
|
||||||
|
|
||||||
void SetQuoteStr( STR16 aStr )
|
void SetQuoteStr( STR16 aStr )
|
||||||
{
|
{
|
||||||
@@ -2301,7 +2306,7 @@ void CreateTalkingUI( INT8 bUIHandlerID, INT32 iFaceIndex, UINT8 ubCharacterNum,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static CHAR8 *GetDialogueDataFilename( UINT8 ubCharacterNum, UINT16 usQuoteNum, BOOLEAN fWavFile )
|
CHAR8 *GetDialogueDataFilename( UINT8 ubCharacterNum, UINT16 usQuoteNum, BOOLEAN fWavFile )
|
||||||
{
|
{
|
||||||
static CHAR8 zFileName[164];
|
static CHAR8 zFileName[164];
|
||||||
static CHAR8 zFileNameHelper[164];
|
static CHAR8 zFileNameHelper[164];
|
||||||
@@ -2439,7 +2444,7 @@ static CHAR8 *GetDialogueDataFilename( UINT8 ubCharacterNum, UINT16 usQuoteNum,
|
|||||||
return( zFileName );
|
return( zFileName );
|
||||||
}
|
}
|
||||||
|
|
||||||
static CHAR8 *GetSnitchDialogueDataFilename( UINT8 ubCharacterNum, UINT16 usQuoteNum, BOOLEAN fWavFile, BOOLEAN fName )
|
CHAR8 *GetSnitchDialogueDataFilename( UINT8 ubCharacterNum, UINT16 usQuoteNum, BOOLEAN fWavFile, BOOLEAN fName )
|
||||||
{
|
{
|
||||||
static CHAR8 zFileName[164];
|
static CHAR8 zFileName[164];
|
||||||
static CHAR8 zFilename_Used[164];
|
static CHAR8 zFilename_Used[164];
|
||||||
@@ -2488,7 +2493,7 @@ BOOLEAN DialogueDataFileExistsForProfile( UINT8 ubCharacterNum, UINT16 usQuoteNu
|
|||||||
return( FileExists( pFilename ) );
|
return( FileExists( pFilename ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
static BOOLEAN SnitchDialogueDataFileExistsForProfile( UINT8 ubCharacterNum, UINT16 usQuoteNum, BOOLEAN fWavFile, STR8 *ppStr, BOOLEAN fName )
|
BOOLEAN SnitchDialogueDataFileExistsForProfile( UINT8 ubCharacterNum, UINT16 usQuoteNum, BOOLEAN fWavFile, STR8 *ppStr, BOOLEAN fName )
|
||||||
{
|
{
|
||||||
STR8 pFilename;
|
STR8 pFilename;
|
||||||
|
|
||||||
@@ -3608,7 +3613,7 @@ void UnSetEngagedInConvFromPCAction( SOLDIERTYPE *pSoldier )
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static BOOLEAN IsStopTimeQuote( UINT16 usQuoteNum )
|
BOOLEAN IsStopTimeQuote( UINT16 usQuoteNum )
|
||||||
{
|
{
|
||||||
INT32 cnt;
|
INT32 cnt;
|
||||||
|
|
||||||
|
|||||||
@@ -8,7 +8,9 @@
|
|||||||
#include "Overhead.h"
|
#include "Overhead.h"
|
||||||
#include "random.h"
|
#include "random.h"
|
||||||
#include "Assignments.h"
|
#include "Assignments.h"
|
||||||
|
#include "message.h"
|
||||||
#include "Soldier Profile.h"
|
#include "Soldier Profile.h"
|
||||||
|
#include "Map Screen Interface Map.h"
|
||||||
#include "Queen Command.h"
|
#include "Queen Command.h"
|
||||||
#include "Quests.h"
|
#include "Quests.h"
|
||||||
#include "finances.h"
|
#include "finances.h"
|
||||||
@@ -16,7 +18,9 @@
|
|||||||
#include "LaptopSave.h"
|
#include "LaptopSave.h"
|
||||||
#include "strategic.h"
|
#include "strategic.h"
|
||||||
#include "DynamicDialogue.h"
|
#include "DynamicDialogue.h"
|
||||||
|
#include <math.h>
|
||||||
#include "Drugs And Alcohol.h" // for DoesMercHaveDisability( ... )
|
#include "Drugs And Alcohol.h" // for DoesMercHaveDisability( ... )
|
||||||
|
#include "environment.h"
|
||||||
|
|
||||||
//GLOBALS
|
//GLOBALS
|
||||||
DISEASE Disease[NUM_DISEASES];
|
DISEASE Disease[NUM_DISEASES];
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
#include "builddefines.h"
|
#include "builddefines.h"
|
||||||
#include "types.h"
|
#include "types.h"
|
||||||
#include "Isometric Utils.h"
|
#include "Isometric Utils.h"
|
||||||
|
//#include "Soldier Control.h"
|
||||||
#include "Overhead.h"
|
#include "Overhead.h"
|
||||||
#include "DisplayCover.h"
|
#include "DisplayCover.h"
|
||||||
#include "Font Control.h"
|
#include "Font Control.h"
|
||||||
@@ -9,6 +10,8 @@
|
|||||||
#include "GameSettings.h"
|
#include "GameSettings.h"
|
||||||
#include "renderworld.h"
|
#include "renderworld.h"
|
||||||
#include "Interface.h"
|
#include "Interface.h"
|
||||||
|
#include "DEBUG.H"
|
||||||
|
#include "PATHAI.H"
|
||||||
#include "worldman.h"
|
#include "worldman.h"
|
||||||
#include "opplist.h"
|
#include "opplist.h"
|
||||||
#include "LOS.h"
|
#include "LOS.h"
|
||||||
@@ -16,6 +19,9 @@
|
|||||||
#include "Game Clock.h"
|
#include "Game Clock.h"
|
||||||
#include "Animation Control.h"
|
#include "Animation Control.h"
|
||||||
#include "lighting.h"
|
#include "lighting.h"
|
||||||
|
#include "Text.h"
|
||||||
|
#include "strategicmap.h"
|
||||||
|
#include "Render Fun.h"
|
||||||
// HEADROCK HAM B2.7: Allow calling a CTH approximation function for the CTH display ("F" key)
|
// HEADROCK HAM B2.7: Allow calling a CTH approximation function for the CTH display ("F" key)
|
||||||
#include "UI Cursors.h"
|
#include "UI Cursors.h"
|
||||||
#include "soldier profile type.h"
|
#include "soldier profile type.h"
|
||||||
@@ -92,7 +98,7 @@ BOOLEAN IsTheRoofVisible( const INT32& sGridNo );
|
|||||||
BOOLEAN HasAdjTile(const INT32& ubX, const INT32& ubY, const INT32& ubZ);
|
BOOLEAN HasAdjTile(const INT32& ubX, const INT32& ubY, const INT32& ubZ);
|
||||||
|
|
||||||
|
|
||||||
static TileDefines GetOverlayIndex( INT8 bOverlayType )
|
TileDefines GetOverlayIndex( INT8 bOverlayType )
|
||||||
{
|
{
|
||||||
switch ( bOverlayType )
|
switch ( bOverlayType )
|
||||||
{
|
{
|
||||||
@@ -435,7 +441,7 @@ void RemoveCoverObjectsFromViewArea()
|
|||||||
gNoRedraw = (gubDrawMode == DRAW_MODE_OFF);
|
gNoRedraw = (gubDrawMode == DRAW_MODE_OFF);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void updateCoverViewArea()
|
void updateCoverViewArea()
|
||||||
{
|
{
|
||||||
INT16 usTmp;
|
INT16 usTmp;
|
||||||
GetScreenXYWorldCell(gsVIEWPORT_START_X, gsVIEWPORT_START_Y, &gsMinCellX, &usTmp);
|
GetScreenXYWorldCell(gsVIEWPORT_START_X, gsVIEWPORT_START_Y, &gsMinCellX, &usTmp);
|
||||||
@@ -1524,7 +1530,7 @@ void AddTraitObjectsToViewArea()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static BOOLEAN TraitTileHasAdjTile( const INT32& ubX, const INT32& ubY, const INT32& ubZ )
|
BOOLEAN TraitTileHasAdjTile( const INT32& ubX, const INT32& ubY, const INT32& ubZ )
|
||||||
{
|
{
|
||||||
INT32 ubTX, ubTY;
|
INT32 ubTX, ubTY;
|
||||||
|
|
||||||
@@ -1678,7 +1684,7 @@ void AddTrackerObjectsToViewArea( )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static BOOLEAN TrackerTileHasAdjTile( const INT32& ubX, const INT32& ubY, const INT32& ubZ )
|
BOOLEAN TrackerTileHasAdjTile( const INT32& ubX, const INT32& ubY, const INT32& ubZ )
|
||||||
{
|
{
|
||||||
INT32 ubTX, ubTY;
|
INT32 ubTX, ubTY;
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,13 @@
|
|||||||
|
|
||||||
#include "Overhead.h"
|
#include "Overhead.h"
|
||||||
|
#include "Render Fun.h"
|
||||||
|
#include "random.h"
|
||||||
#include "worldman.h"
|
#include "worldman.h"
|
||||||
#include "Soldier Profile.h"
|
#include "Soldier Profile.h"
|
||||||
#include "NPC.h"
|
#include "NPC.h"
|
||||||
|
#include "ai.h"
|
||||||
#include "Dialogue Control.h"
|
#include "Dialogue Control.h"
|
||||||
|
#include "Handle UI.h"
|
||||||
#include "End Game.h"
|
#include "End Game.h"
|
||||||
#include "Intro.h"
|
#include "Intro.h"
|
||||||
#include "Exit Grids.h"
|
#include "Exit Grids.h"
|
||||||
@@ -37,7 +41,6 @@
|
|||||||
#include "Game Init.h"
|
#include "Game Init.h"
|
||||||
#include "interface Dialogue.h"
|
#include "interface Dialogue.h"
|
||||||
#include "ub_config.h"
|
#include "ub_config.h"
|
||||||
#include "Handle UI.h"
|
|
||||||
|
|
||||||
void HandleAddingTheEndGameEmails();
|
void HandleAddingTheEndGameEmails();
|
||||||
void EndFadeToCredits( void );
|
void EndFadeToCredits( void );
|
||||||
@@ -146,7 +149,7 @@ void ChangeO3SectorStatue( BOOLEAN fFromExplosion )
|
|||||||
#ifdef JA2UB
|
#ifdef JA2UB
|
||||||
//Ja25 no queen
|
//Ja25 no queen
|
||||||
#else
|
#else
|
||||||
static void DeidrannaTimerCallback( void )
|
void DeidrannaTimerCallback( void )
|
||||||
{
|
{
|
||||||
HandleDeidrannaDeath( gpKillerSoldier, gsGridNo, gbLevel );
|
HandleDeidrannaDeath( gpKillerSoldier, gsGridNo, gbLevel );
|
||||||
}
|
}
|
||||||
@@ -216,7 +219,7 @@ void HandleDeidrannaDeath( SOLDIERTYPE *pKillerSoldier, INT32 sGridNo, INT8 bLev
|
|||||||
SpecialCharacterDialogueEvent( DIALOGUE_SPECIAL_EVENT_MULTIPURPOSE, MULTIPURPOSE_SPECIAL_EVENT_DONE_KILLING_DEIDRANNA, 0,0,0,0 );
|
SpecialCharacterDialogueEvent( DIALOGUE_SPECIAL_EVENT_MULTIPURPOSE, MULTIPURPOSE_SPECIAL_EVENT_DONE_KILLING_DEIDRANNA, 0,0,0,0 );
|
||||||
}
|
}
|
||||||
|
|
||||||
static void DoneFadeInKilledQueen( void )
|
void DoneFadeInKilledQueen( void )
|
||||||
{
|
{
|
||||||
SOLDIERTYPE *pNPCSoldier;
|
SOLDIERTYPE *pNPCSoldier;
|
||||||
|
|
||||||
@@ -235,7 +238,7 @@ static void DoneFadeInKilledQueen( void )
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void DoneFadeOutKilledQueen( void )
|
void DoneFadeOutKilledQueen( void )
|
||||||
{
|
{
|
||||||
SoldierID cnt;
|
SoldierID cnt;
|
||||||
SOLDIERTYPE *pSoldier, *pTeamSoldier;
|
SOLDIERTYPE *pSoldier, *pTeamSoldier;
|
||||||
@@ -417,7 +420,7 @@ EndQueenDeathEndgame( );
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
static void QueenBitchTimerCallback( void )
|
void QueenBitchTimerCallback( void )
|
||||||
{
|
{
|
||||||
#ifdef JA2UB
|
#ifdef JA2UB
|
||||||
//no Ub
|
//no Ub
|
||||||
|
|||||||
@@ -3,8 +3,11 @@
|
|||||||
#include "DEBUG.H"
|
#include "DEBUG.H"
|
||||||
#include "Items.h"
|
#include "Items.h"
|
||||||
#include "GameSettings.h"
|
#include "GameSettings.h"
|
||||||
|
#include "screenids.h"
|
||||||
#include "Action Items.h" // added by Flugente for the ACTION_ITEM_BLOW_UP value
|
#include "Action Items.h" // added by Flugente for the ACTION_ITEM_BLOW_UP value
|
||||||
|
#include "random.h" // added by Flugente
|
||||||
#include "message.h" // added by BOB for missing LBE info messages
|
#include "message.h" // added by BOB for missing LBE info messages
|
||||||
|
#include "Overhead.h" // added by BOB for missing LBE info messages
|
||||||
#include "Map Screen Interface.h" // added by BOB for missing LBE info messages
|
#include "Map Screen Interface.h" // added by BOB for missing LBE info messages
|
||||||
|
|
||||||
|
|
||||||
@@ -24,7 +27,7 @@ extern UINT32 guiCurrentItemDescriptionScreen;
|
|||||||
extern BOOLEAN fShowMapInventoryPool;
|
extern BOOLEAN fShowMapInventoryPool;
|
||||||
//extern BOOLEAN AutoPlaceObjectInInventoryStash( OBJECTTYPE *pItemPtr, INT32 sGridNo );
|
//extern BOOLEAN AutoPlaceObjectInInventoryStash( OBJECTTYPE *pItemPtr, INT32 sGridNo );
|
||||||
|
|
||||||
static bool checkObjectLBEIntegrity(OBJECTTYPE * object) {
|
bool checkObjectLBEIntegrity(OBJECTTYPE * object) {
|
||||||
bool integrityCheck = TRUE;
|
bool integrityCheck = TRUE;
|
||||||
|
|
||||||
|
|
||||||
@@ -1586,7 +1589,6 @@ OBJECTTYPE& OBJECTTYPE::operator=(const OLD_OBJECTTYPE_101& src)
|
|||||||
case IC_KEY:
|
case IC_KEY:
|
||||||
(*this)[0]->data.key.ubKeyID = src.ugYucky.ubKeyID;
|
(*this)[0]->data.key.ubKeyID = src.ugYucky.ubKeyID;
|
||||||
break;
|
break;
|
||||||
case IC_MISC:
|
|
||||||
case IC_GRENADE:
|
case IC_GRENADE:
|
||||||
case IC_BOMB:
|
case IC_BOMB:
|
||||||
(*this)[0]->data.misc.bDetonatorType = src.ugYucky.bDetonatorType;
|
(*this)[0]->data.misc.bDetonatorType = src.ugYucky.bDetonatorType;
|
||||||
|
|||||||
+1
-1
@@ -5118,7 +5118,7 @@ INT8 FireBulletGivenTargetNCTH( SOLDIERTYPE * pFirer, FLOAT dEndX, FLOAT dEndY,
|
|||||||
fprintf(OutFile, "{ % 9.8f , % 9.8f , % 9.8f , % 9.8f }, //DEBUG: merc %4d fired pellet %4d of %4d using method %4d %12s with SpreadPattern %4d %s\n",
|
fprintf(OutFile, "{ % 9.8f , % 9.8f , % 9.8f , % 9.8f }, //DEBUG: merc %4d fired pellet %4d of %4d using method %4d %12s with SpreadPattern %4d %s\n",
|
||||||
ddRawHorizAngle, ddRawVerticAngle,
|
ddRawHorizAngle, ddRawVerticAngle,
|
||||||
ddHorizAngle, ddVerticAngle,
|
ddHorizAngle, ddVerticAngle,
|
||||||
pFirer->ubID.i, ubLoop, ubShots,
|
pFirer->ubID, ubLoop, ubShots,
|
||||||
gpSpreadPattern[ubSpreadIndex].method, gSpreadPatternMethodNames[gpSpreadPattern[ubSpreadIndex].method],
|
gpSpreadPattern[ubSpreadIndex].method, gSpreadPatternMethodNames[gpSpreadPattern[ubSpreadIndex].method],
|
||||||
ubSpreadIndex, gpSpreadPattern[ubSpreadIndex].Name,
|
ubSpreadIndex, gpSpreadPattern[ubSpreadIndex].Name,
|
||||||
NULL
|
NULL
|
||||||
|
|||||||
+42
-34
@@ -5,6 +5,7 @@
|
|||||||
#include "WCheck.h"
|
#include "WCheck.h"
|
||||||
#include "stdlib.h"
|
#include "stdlib.h"
|
||||||
#include "DEBUG.H"
|
#include "DEBUG.H"
|
||||||
|
#include "math.h"
|
||||||
#include "worlddef.h"
|
#include "worlddef.h"
|
||||||
#include "worldman.h"
|
#include "worldman.h"
|
||||||
#include "renderworld.h"
|
#include "renderworld.h"
|
||||||
@@ -15,6 +16,7 @@
|
|||||||
#include "Isometric Utils.h"
|
#include "Isometric Utils.h"
|
||||||
#include "Event Pump.h"
|
#include "Event Pump.h"
|
||||||
#include "Timer Control.h"
|
#include "Timer Control.h"
|
||||||
|
#include "Render Fun.h"
|
||||||
#include "Render Dirty.h"
|
#include "Render Dirty.h"
|
||||||
#include "mousesystem.h"
|
#include "mousesystem.h"
|
||||||
#include "Interface.h"
|
#include "Interface.h"
|
||||||
@@ -35,6 +37,7 @@
|
|||||||
#include "screenids.h"
|
#include "screenids.h"
|
||||||
#include "Weapons.h"
|
#include "Weapons.h"
|
||||||
#include "Rotting Corpses.h"
|
#include "Rotting Corpses.h"
|
||||||
|
#include "lighting.h"
|
||||||
#include "Handle UI Plan.h"
|
#include "Handle UI Plan.h"
|
||||||
#include "structure.h"
|
#include "structure.h"
|
||||||
#include "Interface Panels.h"
|
#include "Interface Panels.h"
|
||||||
@@ -62,6 +65,7 @@
|
|||||||
#include "Quests.h"
|
#include "Quests.h"
|
||||||
#include "NPC.h"
|
#include "NPC.h"
|
||||||
#include "strategicmap.h"
|
#include "strategicmap.h"
|
||||||
|
#include "Soldier Profile.h"
|
||||||
#include "Soldier Functions.h"
|
#include "Soldier Functions.h"
|
||||||
#include "Auto Bandage.h"
|
#include "Auto Bandage.h"
|
||||||
#include "Game Event Hook.h"
|
#include "Game Event Hook.h"
|
||||||
@@ -100,6 +104,7 @@
|
|||||||
#include "PreBattle Interface.h"
|
#include "PreBattle Interface.h"
|
||||||
#include "Militia Control.h"
|
#include "Militia Control.h"
|
||||||
#include "Lua Interpreter.h"
|
#include "Lua Interpreter.h"
|
||||||
|
#include "Bullets.h"
|
||||||
#include "Inventory Choosing.h" // added by Flugente for TakeMilitiaEquipmentfromSector()
|
#include "Inventory Choosing.h" // added by Flugente for TakeMilitiaEquipmentfromSector()
|
||||||
#include "CampaignStats.h" // added by Flugente
|
#include "CampaignStats.h" // added by Flugente
|
||||||
#include "DynamicDialogue.h" // added by Flugente for HandleDynamicOpinions()
|
#include "DynamicDialogue.h" // added by Flugente for HandleDynamicOpinions()
|
||||||
@@ -113,7 +118,9 @@
|
|||||||
|
|
||||||
#include "Luaglobal.h"
|
#include "Luaglobal.h"
|
||||||
#include "LuaInitNPCs.h"
|
#include "LuaInitNPCs.h"
|
||||||
|
#include "Interface.h"
|
||||||
#include "Vehicles.h"
|
#include "Vehicles.h"
|
||||||
|
#include "Music Control.h"
|
||||||
#ifdef JA2UB
|
#ifdef JA2UB
|
||||||
#include "Ja25 Strategic Ai.h"
|
#include "Ja25 Strategic Ai.h"
|
||||||
#include "Ja25_Tactical.h"
|
#include "Ja25_Tactical.h"
|
||||||
@@ -440,7 +447,7 @@ INT32 GetFreeMercSlot()
|
|||||||
}
|
}
|
||||||
|
|
||||||
// WTF?
|
// WTF?
|
||||||
static void RecountMercSlots( )
|
void RecountMercSlots( )
|
||||||
{
|
{
|
||||||
INT32 iCount;
|
INT32 iCount;
|
||||||
if ( guiNumMercSlots > 0 )
|
if ( guiNumMercSlots > 0 )
|
||||||
@@ -485,7 +492,7 @@ BOOLEAN RemoveMercSlot( SOLDIERTYPE *pSoldier )
|
|||||||
return( FALSE );
|
return( FALSE );
|
||||||
}
|
}
|
||||||
|
|
||||||
static INT32 GetFreeAwaySlot( )
|
INT32 GetFreeAwaySlot( )
|
||||||
{
|
{
|
||||||
UINT32 uiCount;
|
UINT32 uiCount;
|
||||||
for(uiCount=0; uiCount < guiNumAwaySlots; uiCount++)
|
for(uiCount=0; uiCount < guiNumAwaySlots; uiCount++)
|
||||||
@@ -498,7 +505,7 @@ static INT32 GetFreeAwaySlot( )
|
|||||||
return(-1);
|
return(-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void RecountAwaySlots( )
|
void RecountAwaySlots( )
|
||||||
{
|
{
|
||||||
INT32 iCount;
|
INT32 iCount;
|
||||||
if ( guiNumAwaySlots > 0 )
|
if ( guiNumAwaySlots > 0 )
|
||||||
@@ -829,7 +836,7 @@ BOOLEAN GetSoldier( SOLDIERTYPE **ppSoldier, SoldierID usSoldierIndex )
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static BOOLEAN NextAIToHandle( UINT32 uiCurrAISlot )
|
BOOLEAN NextAIToHandle( UINT32 uiCurrAISlot )
|
||||||
{
|
{
|
||||||
UINT32 cnt;
|
UINT32 cnt;
|
||||||
|
|
||||||
@@ -2006,7 +2013,7 @@ BOOLEAN ExecuteOverhead( )
|
|||||||
return( TRUE );
|
return( TRUE );
|
||||||
}
|
}
|
||||||
|
|
||||||
static void HaltGuyFromNewGridNoBecauseOfNoAPs( SOLDIERTYPE *pSoldier )
|
void HaltGuyFromNewGridNoBecauseOfNoAPs( SOLDIERTYPE *pSoldier )
|
||||||
{
|
{
|
||||||
HaltMoveForSoldierOutOfPoints( pSoldier );
|
HaltMoveForSoldierOutOfPoints( pSoldier );
|
||||||
pSoldier->usPendingAnimation = NO_PENDING_ANIMATION;
|
pSoldier->usPendingAnimation = NO_PENDING_ANIMATION;
|
||||||
@@ -2023,7 +2030,7 @@ static void HaltGuyFromNewGridNoBecauseOfNoAPs( SOLDIERTYPE *pSoldier )
|
|||||||
UnSetEngagedInConvFromPCAction( pSoldier );
|
UnSetEngagedInConvFromPCAction( pSoldier );
|
||||||
}
|
}
|
||||||
|
|
||||||
static void HandleLocateToGuyAsHeWalks( SOLDIERTYPE *pSoldier )
|
void HandleLocateToGuyAsHeWalks( SOLDIERTYPE *pSoldier )
|
||||||
{
|
{
|
||||||
// Our guys if option set,
|
// Our guys if option set,
|
||||||
if ( pSoldier->bTeam == gbPlayerNum )
|
if ( pSoldier->bTeam == gbPlayerNum )
|
||||||
@@ -2269,15 +2276,15 @@ BOOLEAN HandleGotoNewGridNo( SOLDIERTYPE *pSoldier, BOOLEAN *pfKeepMoving, BOOLE
|
|||||||
if ( !( gTacticalStatus.uiFlags & INCOMBAT ) )
|
if ( !( gTacticalStatus.uiFlags & INCOMBAT ) )
|
||||||
{
|
{
|
||||||
SOLDIERTYPE *pSoldier2;
|
SOLDIERTYPE *pSoldier2;
|
||||||
SoldierID id = gTacticalStatus.Team[gbPlayerNum].bFirstID;
|
SoldierID id = gTacticalStatus.Team[ gbPlayerNum ].bLastID;
|
||||||
|
|
||||||
// look for all mercs on the same team,
|
// look for all mercs on the same team,
|
||||||
for ( ; id < gTacticalStatus.Team[gbPlayerNum].bLastID; ++id )
|
for ( ; id >= gTacticalStatus.Team[ gbPlayerNum ].bFirstID; --id )
|
||||||
{
|
{
|
||||||
pSoldier2 = id;
|
pSoldier2 = id;
|
||||||
if ( pSoldier2->bActive )
|
if ( pSoldier2->bActive )
|
||||||
{
|
{
|
||||||
pSoldier2->EVENT_StopMerc(pSoldier2->sGridNo, pSoldier2->ubDirection);
|
pSoldier2->EVENT_StopMerc( pSoldier2->sGridNo, pSoldier2->ubDirection );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2651,7 +2658,7 @@ BOOLEAN HandleGotoNewGridNo( SOLDIERTYPE *pSoldier, BOOLEAN *pfKeepMoving, BOOLE
|
|||||||
return( TRUE );
|
return( TRUE );
|
||||||
}
|
}
|
||||||
|
|
||||||
static void HandleMaryArrival( SOLDIERTYPE * pSoldier )
|
void HandleMaryArrival( SOLDIERTYPE * pSoldier )
|
||||||
{
|
{
|
||||||
INT32 sDist;
|
INT32 sDist;
|
||||||
|
|
||||||
@@ -2689,7 +2696,7 @@ static void HandleMaryArrival( SOLDIERTYPE * pSoldier )
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void HandleJohnArrival( SOLDIERTYPE * pSoldier )
|
void HandleJohnArrival( SOLDIERTYPE * pSoldier )
|
||||||
{
|
{
|
||||||
SOLDIERTYPE * pSoldier2 = NULL;
|
SOLDIERTYPE * pSoldier2 = NULL;
|
||||||
INT32 sDist;
|
INT32 sDist;
|
||||||
@@ -2975,15 +2982,15 @@ BOOLEAN HandleAtNewGridNo( SOLDIERTYPE *pSoldier, BOOLEAN *pfKeepMoving )
|
|||||||
if ( !( gTacticalStatus.uiFlags & INCOMBAT ) )
|
if ( !( gTacticalStatus.uiFlags & INCOMBAT ) )
|
||||||
{
|
{
|
||||||
SOLDIERTYPE *pSoldier2;
|
SOLDIERTYPE *pSoldier2;
|
||||||
SoldierID cnt2 = gTacticalStatus.Team[ gbPlayerNum ].bFirstID;
|
SoldierID cnt2 = gTacticalStatus.Team[ gbPlayerNum ].bLastID;
|
||||||
|
|
||||||
// look for all mercs on the same team,
|
// look for all mercs on the same team,
|
||||||
for ( ; cnt2 < gTacticalStatus.Team[gbPlayerNum].bLastID; ++cnt2 )
|
for ( ; cnt2 >= gTacticalStatus.Team[ gbPlayerNum ].bFirstID; --cnt2 )
|
||||||
{
|
{
|
||||||
pSoldier2 = cnt2;
|
pSoldier2 = cnt2;
|
||||||
if ( pSoldier2->bActive )
|
if ( pSoldier2->bActive )
|
||||||
{
|
{
|
||||||
pSoldier2->EVENT_StopMerc(pSoldier2->sGridNo, pSoldier2->ubDirection);
|
pSoldier2->EVENT_StopMerc( pSoldier2->sGridNo, pSoldier2->ubDirection );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -4686,7 +4693,7 @@ void CivilianGroupChangesSides( UINT8 ubCivilianGroup )
|
|||||||
*/
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
static void HickCowAttacked( SOLDIERTYPE * pNastyGuy, SOLDIERTYPE * pTarget )
|
void HickCowAttacked( SOLDIERTYPE * pNastyGuy, SOLDIERTYPE * pTarget )
|
||||||
{
|
{
|
||||||
SOLDIERTYPE *pSoldier;
|
SOLDIERTYPE *pSoldier;
|
||||||
|
|
||||||
@@ -5173,7 +5180,7 @@ BOOLEAN NewOKDestination( SOLDIERTYPE * pCurrSoldier, INT32 sGridNo, BOOLEAN fPe
|
|||||||
}
|
}
|
||||||
|
|
||||||
// NB if making changes don't forget to update NewOKDestination
|
// NB if making changes don't forget to update NewOKDestination
|
||||||
static INT16 NewOKDestinationAndDirection( SOLDIERTYPE * pCurrSoldier, INT32 sGridNo, INT8 bDirection, BOOLEAN fPeopleToo, INT8 bLevel )
|
INT16 NewOKDestinationAndDirection( SOLDIERTYPE * pCurrSoldier, INT32 sGridNo, INT8 bDirection, BOOLEAN fPeopleToo, INT8 bLevel )
|
||||||
{
|
{
|
||||||
SoldierID bPerson;
|
SoldierID bPerson;
|
||||||
STRUCTURE *pStructure;
|
STRUCTURE *pStructure;
|
||||||
@@ -6716,7 +6723,7 @@ void SetEnemyPresence()
|
|||||||
|
|
||||||
extern SoldierID gfLastMercTalkedAboutKillingID;
|
extern SoldierID gfLastMercTalkedAboutKillingID;
|
||||||
|
|
||||||
static BOOLEAN SoldierHasSeenEnemiesLastFewTurns( SOLDIERTYPE *pTeamSoldier )
|
BOOLEAN SoldierHasSeenEnemiesLastFewTurns( SOLDIERTYPE *pTeamSoldier )
|
||||||
{
|
{
|
||||||
SOLDIERTYPE *pSoldier;
|
SOLDIERTYPE *pSoldier;
|
||||||
INT32 cnt;
|
INT32 cnt;
|
||||||
@@ -6796,7 +6803,7 @@ BOOLEAN NobodyAlerted( )
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static BOOLEAN WeSawSomeoneThisTurn( )
|
BOOLEAN WeSawSomeoneThisTurn( )
|
||||||
{
|
{
|
||||||
UINT32 uiLoop, uiLoop2;
|
UINT32 uiLoop, uiLoop2;
|
||||||
SOLDIERTYPE * pSoldier;
|
SOLDIERTYPE * pSoldier;
|
||||||
@@ -6822,7 +6829,7 @@ static BOOLEAN WeSawSomeoneThisTurn( )
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void SayBattleSoundFromAnyBodyInSector( INT32 iBattleSnd )
|
void SayBattleSoundFromAnyBodyInSector( INT32 iBattleSnd )
|
||||||
{
|
{
|
||||||
// WDS - make number of mercenaries, etc. be configurable
|
// WDS - make number of mercenaries, etc. be configurable
|
||||||
SoldierID ubMercsInSector[ CODE_MAXIMUM_NUMBER_OF_PLAYER_SLOTS ] = {};
|
SoldierID ubMercsInSector[ CODE_MAXIMUM_NUMBER_OF_PLAYER_SLOTS ] = {};
|
||||||
@@ -7040,7 +7047,7 @@ BOOLEAN CheckForEndOfCombatMode( BOOLEAN fIncrementTurnsNotSeen )
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void DeathNoMessageTimerCallback( )
|
void DeathNoMessageTimerCallback( )
|
||||||
{
|
{
|
||||||
//CheckAndHandleUnloadingOfCurrentWorld();
|
//CheckAndHandleUnloadingOfCurrentWorld();
|
||||||
if(!is_client)
|
if(!is_client)
|
||||||
@@ -7064,7 +7071,7 @@ static void DeathNoMessageTimerCallback( )
|
|||||||
}
|
}
|
||||||
|
|
||||||
// get a vector of all player-controlled sectors with prison facilities. It is assumed that a sector has max. one of these
|
// get a vector of all player-controlled sectors with prison facilities. It is assumed that a sector has max. one of these
|
||||||
static BOOLEAN GetPlayerControlledPrisonList( std::vector<UINT8>& arSectorIDVector )
|
BOOLEAN GetPlayerControlledPrisonList( std::vector<UINT8>& arSectorIDVector )
|
||||||
{
|
{
|
||||||
arSectorIDVector.clear();
|
arSectorIDVector.clear();
|
||||||
|
|
||||||
@@ -7110,7 +7117,7 @@ extern void DoInterrogation( INT16 sMapX, INT16 sMapY, FLOAT aChanceModifier, IN
|
|||||||
// we cannot simply move all prisoners of a sector. It might be a prison we are already using, so we would move all inmates, not just the new ones
|
// we cannot simply move all prisoners of a sector. It might be a prison we are already using, so we would move all inmates, not just the new ones
|
||||||
INT16 gsNumPrisoner[PRISONER_MAX] = {0};
|
INT16 gsNumPrisoner[PRISONER_MAX] = {0};
|
||||||
|
|
||||||
static void PrisonerMessageBoxCallBack( UINT8 ubExitValue )
|
void PrisonerMessageBoxCallBack( UINT8 ubExitValue )
|
||||||
{
|
{
|
||||||
if ( DropDownTemplate<DROPDOWNNR_MSGBOX_1>::getInstance().GetSelectedEntryKey() < 0 )
|
if ( DropDownTemplate<DROPDOWNNR_MSGBOX_1>::getInstance().GetSelectedEntryKey() < 0 )
|
||||||
{
|
{
|
||||||
@@ -7157,7 +7164,7 @@ static void PrisonerMessageBoxCallBack( UINT8 ubExitValue )
|
|||||||
|
|
||||||
CHAR16 gPrisonSectorNamesStr[256][128];
|
CHAR16 gPrisonSectorNamesStr[256][128];
|
||||||
|
|
||||||
static void RemoveCapturedEnemiesFromSectorInfo( INT16 sMapX, INT16 sMapY, INT8 bMapZ )
|
void RemoveCapturedEnemiesFromSectorInfo( INT16 sMapX, INT16 sMapY, INT8 bMapZ )
|
||||||
{
|
{
|
||||||
SOLDIERTYPE* pTeamSoldier;
|
SOLDIERTYPE* pTeamSoldier;
|
||||||
INT32 cnt = 0;
|
INT32 cnt = 0;
|
||||||
@@ -7338,7 +7345,7 @@ static void RemoveCapturedEnemiesFromSectorInfo( INT16 sMapX, INT16 sMapY, INT8
|
|||||||
// Flugente: for campaign stats, we want to know how many people were wounded.
|
// Flugente: for campaign stats, we want to know how many people were wounded.
|
||||||
// Each time we are wounded, we set a 'wounded'-flag
|
// Each time we are wounded, we set a 'wounded'-flag
|
||||||
// Once combat ends, we count all these flags and remove them
|
// Once combat ends, we count all these flags and remove them
|
||||||
static void UpdateWoundedFromSectorInfo( INT16 sMapX, INT16 sMapY, INT8 bMapZ )
|
void UpdateWoundedFromSectorInfo( INT16 sMapX, INT16 sMapY, INT8 bMapZ )
|
||||||
{
|
{
|
||||||
SOLDIERTYPE *pSoldier;
|
SOLDIERTYPE *pSoldier;
|
||||||
INT32 cnt = 0;
|
INT32 cnt = 0;
|
||||||
@@ -7363,7 +7370,7 @@ static void UpdateWoundedFromSectorInfo( INT16 sMapX, INT16 sMapY, INT8 bMapZ )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void RemoveStaticEnemiesFromSectorInfo( INT16 sMapX, INT16 sMapY, INT8 bMapZ )
|
void RemoveStaticEnemiesFromSectorInfo( INT16 sMapX, INT16 sMapY, INT8 bMapZ )
|
||||||
{
|
{
|
||||||
if ( !bMapZ ) // Battle ended Above-ground
|
if ( !bMapZ ) // Battle ended Above-ground
|
||||||
{
|
{
|
||||||
@@ -8572,7 +8579,7 @@ BOOLEAN KillIncompacitatedEnemyInSector( )
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
static BOOLEAN AttackOnGroupWitnessed( SOLDIERTYPE * pSoldier, SOLDIERTYPE * pTarget )
|
BOOLEAN AttackOnGroupWitnessed( SOLDIERTYPE * pSoldier, SOLDIERTYPE * pTarget )
|
||||||
{
|
{
|
||||||
UINT32 uiSlot;
|
UINT32 uiSlot;
|
||||||
SOLDIERTYPE * pGroupMember;
|
SOLDIERTYPE * pGroupMember;
|
||||||
@@ -8728,7 +8735,7 @@ INT8 CalcSuppressionTolerance( SOLDIERTYPE * pSoldier )
|
|||||||
|
|
||||||
extern void IncrementWatchedLoc(UINT16 ubID, INT32 sGridNo, INT8 bLevel);
|
extern void IncrementWatchedLoc(UINT16 ubID, INT32 sGridNo, INT8 bLevel);
|
||||||
|
|
||||||
static void HandleSuppressionFire( SoldierID ubTargetedMerc, SoldierID ubCausedAttacker )
|
void HandleSuppressionFire( SoldierID ubTargetedMerc, SoldierID ubCausedAttacker )
|
||||||
{
|
{
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
@@ -9501,7 +9508,7 @@ BOOLEAN ProcessImplicationsOfPCAttack( SOLDIERTYPE * pSoldier, SOLDIERTYPE ** pp
|
|||||||
return( fEnterCombat );
|
return( fEnterCombat );
|
||||||
}
|
}
|
||||||
|
|
||||||
static SOLDIERTYPE *InternalReduceAttackBusyCount( )
|
SOLDIERTYPE *InternalReduceAttackBusyCount( )
|
||||||
{
|
{
|
||||||
// Strange as this may seem, this function returns a pointer to
|
// Strange as this may seem, this function returns a pointer to
|
||||||
// the *target* in case the target has changed sides as a result
|
// the *target* in case the target has changed sides as a result
|
||||||
@@ -10160,7 +10167,7 @@ void RemoveSoldierFromTacticalSector( SOLDIERTYPE *pSoldier, BOOLEAN fAdjustSele
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void DoneFadeOutDueToDeath( )
|
void DoneFadeOutDueToDeath( )
|
||||||
{
|
{
|
||||||
// Quit game....
|
// Quit game....
|
||||||
InternalLeaveTacticalScreen( MAINMENU_SCREEN );
|
InternalLeaveTacticalScreen( MAINMENU_SCREEN );
|
||||||
@@ -10234,7 +10241,7 @@ void InitializeTacticalStatusAtBattleStart( )
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void DoneFadeOutDemoCreatureLevel( )
|
void DoneFadeOutDemoCreatureLevel( )
|
||||||
{
|
{
|
||||||
// OK, insertion data found, enter sector!
|
// OK, insertion data found, enter sector!
|
||||||
SetCurrentWorldSector( 1, 16, 0 );
|
SetCurrentWorldSector( 1, 16, 0 );
|
||||||
@@ -10243,7 +10250,7 @@ static void DoneFadeOutDemoCreatureLevel( )
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void DemoEndOKCallback( INT8 bExitCode )
|
void DemoEndOKCallback( INT8 bExitCode )
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -10833,7 +10840,7 @@ void HandleDisplayingOfPlayerLostDialogue( )
|
|||||||
|
|
||||||
static SoldierID prisonerdialoguetargetID = NOBODY;
|
static SoldierID prisonerdialoguetargetID = NOBODY;
|
||||||
|
|
||||||
static void TurnCoatAttemptMessageBoxCallBack( UINT8 ubExitValue )
|
void TurnCoatAttemptMessageBoxCallBack( UINT8 ubExitValue )
|
||||||
{
|
{
|
||||||
// check ubExitValue to see whether we actually want to go through (2)
|
// check ubExitValue to see whether we actually want to go through (2)
|
||||||
if ( ubExitValue != 2
|
if ( ubExitValue != 2
|
||||||
@@ -10966,7 +10973,7 @@ void HandleTurncoatAttempt( SOLDIERTYPE* pSoldier )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void EscapeTimerCallback()
|
void EscapeTimerCallback()
|
||||||
{
|
{
|
||||||
const bool chanceToEscape = Chance(75);
|
const bool chanceToEscape = Chance(75);
|
||||||
bool escaped = false;
|
bool escaped = false;
|
||||||
@@ -11069,7 +11076,7 @@ void AttemptToCapturePlayerSoldiers()
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
static void PrisonerSurrenderMessageBoxCallBack( UINT8 ubExitValue )
|
void PrisonerSurrenderMessageBoxCallBack( UINT8 ubExitValue )
|
||||||
{
|
{
|
||||||
SOLDIERTYPE *pSoldier = NULL;
|
SOLDIERTYPE *pSoldier = NULL;
|
||||||
BOOLEAN success = FALSE;
|
BOOLEAN success = FALSE;
|
||||||
@@ -11962,6 +11969,7 @@ BOOLEAN IsCivFactionMemberAliveInSector( UINT8 usCivilianGroup )
|
|||||||
|
|
||||||
BOOLEAN IsFreeSlotAvailable( int aTeam )
|
BOOLEAN IsFreeSlotAvailable( int aTeam )
|
||||||
{
|
{
|
||||||
|
SOLDIERTYPE *pSoldier;
|
||||||
SoldierID cnt = gTacticalStatus.Team[aTeam].bFirstID;
|
SoldierID cnt = gTacticalStatus.Team[aTeam].bFirstID;
|
||||||
|
|
||||||
// run through list
|
// run through list
|
||||||
|
|||||||
@@ -72,6 +72,7 @@
|
|||||||
#include "Morale.h"
|
#include "Morale.h"
|
||||||
#include "Meanwhile.h"
|
#include "Meanwhile.h"
|
||||||
#include "Drugs And Alcohol.h"
|
#include "Drugs And Alcohol.h"
|
||||||
|
#include "SkillCheck.h"
|
||||||
#include "Boxing.h"
|
#include "Boxing.h"
|
||||||
#include "overhead map.h"
|
#include "overhead map.h"
|
||||||
#include "Map Information.h"
|
#include "Map Information.h"
|
||||||
@@ -112,6 +113,7 @@
|
|||||||
|
|
||||||
#include "fresh_header.h"
|
#include "fresh_header.h"
|
||||||
|
|
||||||
|
#include "Dialogue Control.h"
|
||||||
|
|
||||||
#include "IMP Skill Trait.h" // added by Flugente
|
#include "IMP Skill Trait.h" // added by Flugente
|
||||||
#include "Food.h" // added by Flugente
|
#include "Food.h" // added by Flugente
|
||||||
@@ -1674,6 +1676,7 @@ void MERCPROFILESTRUCT::CopyOldInventoryToNew( const OLD_MERCPROFILESTRUCT_101&
|
|||||||
bInvNumber[SMALLPOCK8POS] = src.DO_NOT_USE_bInvNumber[OldInventory::SMALLPOCK8POS];
|
bInvNumber[SMALLPOCK8POS] = src.DO_NOT_USE_bInvNumber[OldInventory::SMALLPOCK8POS];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
BOOLEAN IsValidSecondHandShot( SOLDIERTYPE *pSoldier );
|
||||||
|
|
||||||
UINT8 *gubpNumReplacementsPerRange;
|
UINT8 *gubpNumReplacementsPerRange;
|
||||||
PaletteSubRangeType *gpPaletteSubRanges;
|
PaletteSubRangeType *gpPaletteSubRanges;
|
||||||
@@ -1738,6 +1741,7 @@ UINT16 PickSoldierReadyAnimation( SOLDIERTYPE *pSoldier, BOOLEAN fEndReady, BOOL
|
|||||||
BOOLEAN CheckForFullStruct( INT32 sGridNo, UINT16 *pusIndex );
|
BOOLEAN CheckForFullStruct( INT32 sGridNo, UINT16 *pusIndex );
|
||||||
void SetSoldierLocatorOffsets( SOLDIERTYPE *pSoldier );
|
void SetSoldierLocatorOffsets( SOLDIERTYPE *pSoldier );
|
||||||
void CheckForFullStructures( SOLDIERTYPE *pSoldier );
|
void CheckForFullStructures( SOLDIERTYPE *pSoldier );
|
||||||
|
UINT16 GetNewSoldierStateFromNewStance( SOLDIERTYPE *pSoldier, UINT8 ubDesiredStance );
|
||||||
void SetSoldierAniSpeed( SOLDIERTYPE *pSoldier );
|
void SetSoldierAniSpeed( SOLDIERTYPE *pSoldier );
|
||||||
void AdjustForFastTurnAnimation( SOLDIERTYPE *pSoldier );
|
void AdjustForFastTurnAnimation( SOLDIERTYPE *pSoldier );
|
||||||
UINT16 SelectFireAnimation( SOLDIERTYPE *pSoldier, UINT8 ubHeight );
|
UINT16 SelectFireAnimation( SOLDIERTYPE *pSoldier, UINT8 ubHeight );
|
||||||
|
|||||||
+12
-2
@@ -1,10 +1,19 @@
|
|||||||
#include "builddefines.h"
|
#include "builddefines.h"
|
||||||
|
#include "math.h"
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <errno.h>
|
||||||
|
|
||||||
#include "worlddef.h"
|
#include "worlddef.h"
|
||||||
|
#include "renderworld.h"
|
||||||
|
#include "vsurface.h"
|
||||||
#include "sysutil.h"
|
#include "sysutil.h"
|
||||||
#include "WCheck.h"
|
#include "WCheck.h"
|
||||||
|
#include "video.h"
|
||||||
#include "vobject_blitters.h"
|
#include "vobject_blitters.h"
|
||||||
|
#include "faces.h"
|
||||||
|
#include "Utilities.h"
|
||||||
#include "Overhead.h"
|
#include "Overhead.h"
|
||||||
|
#include "Soldier Profile.h"
|
||||||
#include "Bullets.h"
|
#include "Bullets.h"
|
||||||
#include "LOS.h"
|
#include "LOS.h"
|
||||||
#include "worldman.h"
|
#include "worldman.h"
|
||||||
@@ -12,6 +21,7 @@
|
|||||||
#include "GameSettings.h"
|
#include "GameSettings.h"
|
||||||
#include "FileMan.h"
|
#include "FileMan.h"
|
||||||
#include "lighting.h"
|
#include "lighting.h"
|
||||||
|
#include "Buildings.h"
|
||||||
|
|
||||||
// Defines
|
// Defines
|
||||||
// HEADROCK HAM 5: Increasing... with the hope of making spectacular fragmenting explosives.
|
// HEADROCK HAM 5: Increasing... with the hope of making spectacular fragmenting explosives.
|
||||||
@@ -28,7 +38,7 @@ int gXPATH[BULLET_TRACER_MAX_LENGTH]; // positions between bullet
|
|||||||
int gYPATH[BULLET_TRACER_MAX_LENGTH]; // positions between bullet
|
int gYPATH[BULLET_TRACER_MAX_LENGTH]; // positions between bullet
|
||||||
//afp-end
|
//afp-end
|
||||||
|
|
||||||
static INT32 GetFreeBullet(void)
|
INT32 GetFreeBullet(void)
|
||||||
{
|
{
|
||||||
UINT32 uiCount;
|
UINT32 uiCount;
|
||||||
|
|
||||||
@@ -45,7 +55,7 @@ static INT32 GetFreeBullet(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void RecountBullets(void)
|
void RecountBullets(void)
|
||||||
{
|
{
|
||||||
INT32 uiCount;
|
INT32 uiCount;
|
||||||
|
|
||||||
|
|||||||
@@ -7,6 +7,7 @@
|
|||||||
#include "worldman.h"
|
#include "worldman.h"
|
||||||
#include "strategicmap.h"
|
#include "strategicmap.h"
|
||||||
#include "Campaign Types.h"
|
#include "Campaign Types.h"
|
||||||
|
#include "renderworld.h"
|
||||||
#include "Render Fun.h"
|
#include "Render Fun.h"
|
||||||
#include "fov.h"
|
#include "fov.h"
|
||||||
#include "worlddef.h"
|
#include "worlddef.h"
|
||||||
@@ -15,6 +16,7 @@
|
|||||||
#include "GameSettings.h"
|
#include "GameSettings.h"
|
||||||
#include "Smell.h"
|
#include "Smell.h"
|
||||||
|
|
||||||
|
#include <vfs/Core/vfs.h>
|
||||||
//SB: make size of gpRevealedMap dependable from variable tactical map dimensions
|
//SB: make size of gpRevealedMap dependable from variable tactical map dimensions
|
||||||
#define NUM_REVEALED_BYTES (WORLD_MAX/8)
|
#define NUM_REVEALED_BYTES (WORLD_MAX/8)
|
||||||
|
|
||||||
@@ -173,7 +175,7 @@ typedef std::map<ModifiedMapFile::Key, ModifiedMapFile, ltMMF> ModifiedMapFileSe
|
|||||||
ModifiedMapFileSet g_mapFileSet;
|
ModifiedMapFileSet g_mapFileSet;
|
||||||
BOOLEAN g_useSaveCache;
|
BOOLEAN g_useSaveCache;
|
||||||
|
|
||||||
static void ClearTempFileSets()
|
void ClearTempFileSets()
|
||||||
{
|
{
|
||||||
//for (ModifiedMapFileSet::iterator itr = g_mapFileSet.begin(), end = g_mapFileSet.end(); itr != end; ++itr )
|
//for (ModifiedMapFileSet::iterator itr = g_mapFileSet.begin(), end = g_mapFileSet.end(); itr != end; ++itr )
|
||||||
//{
|
//{
|
||||||
@@ -193,7 +195,7 @@ BOOLEAN EnableModifiedFileSetCache(BOOLEAN value)
|
|||||||
return previousValue;
|
return previousValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool TryGetModifiedMapFile( UINT32 uiType, INT16 sMapX, INT16 sMapY, INT8 bMapZ, ModifiedMapFile** ppMMF )
|
bool TryGetModifiedMapFile( UINT32 uiType, INT16 sMapX, INT16 sMapY, INT8 bMapZ, ModifiedMapFile** ppMMF )
|
||||||
{
|
{
|
||||||
if (ppMMF == NULL)
|
if (ppMMF == NULL)
|
||||||
return false;
|
return false;
|
||||||
@@ -209,7 +211,7 @@ static bool TryGetModifiedMapFile( UINT32 uiType, INT16 sMapX, INT16 sMapY, INT8
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
static ModifiedMapFile& GetOrCreateModifiedMapFile(UINT32 uiType, INT16 sMapX, INT16 sMapY, INT8 bMapZ)
|
ModifiedMapFile& GetOrCreateModifiedMapFile(UINT32 uiType, INT16 sMapX, INT16 sMapY, INT8 bMapZ)
|
||||||
{
|
{
|
||||||
ModifiedMapFile* pResult = NULL;
|
ModifiedMapFile* pResult = NULL;
|
||||||
if ( TryGetModifiedMapFile(uiType, sMapX, sMapY, bMapZ, &pResult) )
|
if ( TryGetModifiedMapFile(uiType, sMapX, sMapY, bMapZ, &pResult) )
|
||||||
|
|||||||
@@ -133,7 +133,7 @@ void SelectNextUnplacedUnit();
|
|||||||
BOOLEAN gfNorthValid, gfEastValid, gfSouthValid, gfWestValid;
|
BOOLEAN gfNorthValid, gfEastValid, gfSouthValid, gfWestValid;
|
||||||
BOOLEAN gfChangedEntrySide = FALSE;
|
BOOLEAN gfChangedEntrySide = FALSE;
|
||||||
|
|
||||||
static void FindValidInsertionCode( UINT8 *pubStrategicInsertionCode )
|
void FindValidInsertionCode( UINT8 *pubStrategicInsertionCode )
|
||||||
{
|
{
|
||||||
if( gMapInformation.sNorthGridNo == -1 &&
|
if( gMapInformation.sNorthGridNo == -1 &&
|
||||||
gMapInformation.sEastGridNo == -1 &&
|
gMapInformation.sEastGridNo == -1 &&
|
||||||
@@ -202,7 +202,7 @@ static void FindValidInsertionCode( UINT8 *pubStrategicInsertionCode )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void CheckForValidMapEdge( UINT8 *pubStrategicInsertionCode )
|
void CheckForValidMapEdge( UINT8 *pubStrategicInsertionCode )
|
||||||
{
|
{
|
||||||
switch( *pubStrategicInsertionCode )
|
switch( *pubStrategicInsertionCode )
|
||||||
{
|
{
|
||||||
@@ -1464,7 +1464,7 @@ void RenderTacticalPlacementGUI()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void EnsureDoneButtonStatus()
|
void EnsureDoneButtonStatus()
|
||||||
{
|
{
|
||||||
INT32 i;
|
INT32 i;
|
||||||
//static BOOLEAN fInside = FALSE;
|
//static BOOLEAN fInside = FALSE;
|
||||||
@@ -1783,7 +1783,7 @@ void KillTacticalPlacementGUI()
|
|||||||
MemFree( gMercPlacement);
|
MemFree( gMercPlacement);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ChooseRandomEdgepoints()
|
void ChooseRandomEdgepoints()
|
||||||
{
|
{
|
||||||
INT32 i;
|
INT32 i;
|
||||||
UINT8 lastValidICode = INSERTION_CODE_GRIDNO;
|
UINT8 lastValidICode = INSERTION_CODE_GRIDNO;
|
||||||
|
|||||||
@@ -571,9 +571,11 @@ void RenderGridNoVisibleDebugInfo( INT16 sStartPointX_M, INT16 sStartPointY_M, I
|
|||||||
|
|
||||||
void DeleteFromWorld( UINT16 usTileIndex, UINT32 uiRenderTiles, UINT16 usIndex );
|
void DeleteFromWorld( UINT16 usTileIndex, UINT32 uiRenderTiles, UINT16 usIndex );
|
||||||
|
|
||||||
|
void RenderHighlight( INT16 sMouseX_M, INT16 sMouseY_M, INT16 sStartPointX_M, INT16 sStartPointY_M, INT16 sStartPointX_S, INT16 sStartPointY_S, INT16 sEndXS, INT16 sEndYS );
|
||||||
|
BOOLEAN CheckRenderCenter( INT16 sNewCenterX, INT16 sNewCenterY );
|
||||||
|
|
||||||
// Flugente: display a riot shield
|
// Flugente: display a riot shield
|
||||||
static void ShowRiotShield( SOLDIERTYPE* pSoldier, UINT16 *pBuffer, UINT32 uiDestPitchBYTES, UINT16 *pZBuffer, UINT16 usZValue )
|
void ShowRiotShield( SOLDIERTYPE* pSoldier, UINT16 *pBuffer, UINT32 uiDestPitchBYTES, UINT16 *pZBuffer, UINT16 usZValue )
|
||||||
{
|
{
|
||||||
if (pSoldier)
|
if (pSoldier)
|
||||||
{
|
{
|
||||||
@@ -653,7 +655,7 @@ static void ShowRiotShield( SOLDIERTYPE* pSoldier, UINT16 *pBuffer, UINT32 uiDes
|
|||||||
INT32 gDecalBackgroundRectangle[MAX_DECALS_ONSCREEN] = { 0 };
|
INT32 gDecalBackgroundRectangle[MAX_DECALS_ONSCREEN] = { 0 };
|
||||||
int gDecalBackgroundRectableCounter = 0;
|
int gDecalBackgroundRectableCounter = 0;
|
||||||
|
|
||||||
static void ClearBackgroundRectanglesForDecal()
|
void ClearBackgroundRectanglesForDecal()
|
||||||
{
|
{
|
||||||
for ( int i = 0; i < gDecalBackgroundRectableCounter; ++i )
|
for ( int i = 0; i < gDecalBackgroundRectableCounter; ++i )
|
||||||
{
|
{
|
||||||
@@ -667,7 +669,7 @@ static void ClearBackgroundRectanglesForDecal()
|
|||||||
gDecalBackgroundRectableCounter = 0;
|
gDecalBackgroundRectableCounter = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool SetupBackgroundRectanglesForDecal( UINT32 uiFlags, INT16 *pSaveArea, INT16 sLeft, INT16 sTop, INT16 sRight, INT16 sBottom )
|
bool SetupBackgroundRectanglesForDecal( UINT32 uiFlags, INT16 *pSaveArea, INT16 sLeft, INT16 sTop, INT16 sRight, INT16 sBottom )
|
||||||
{
|
{
|
||||||
if ( gDecalBackgroundRectableCounter < MAX_DECALS_ONSCREEN )
|
if ( gDecalBackgroundRectableCounter < MAX_DECALS_ONSCREEN )
|
||||||
{
|
{
|
||||||
@@ -687,7 +689,7 @@ static bool SetupBackgroundRectanglesForDecal( UINT32 uiFlags, INT16 *pSaveArea,
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Flugente: display decal
|
// Flugente: display decal
|
||||||
static void ShowDecal( UINT16 *pBuffer, UINT32 uiDestPitchBYTES, UINT16 *pZBuffer, UINT16 usZValue, INT32 sGridNo )
|
void ShowDecal( UINT16 *pBuffer, UINT32 uiDestPitchBYTES, UINT16 *pZBuffer, UINT16 usZValue, INT32 sGridNo )
|
||||||
{
|
{
|
||||||
// we mark locations with decals with the 'DAMAGED' flag for easier filtering
|
// we mark locations with decals with the 'DAMAGED' flag for easier filtering
|
||||||
if ( gGameExternalOptions.fAdditionalDecals
|
if ( gGameExternalOptions.fAdditionalDecals
|
||||||
@@ -994,7 +996,7 @@ void ResetSpecificLayerOptimizing( UINT32 uiRowFlag )
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void SumAddiviveLayerOptimization( void )
|
void SumAddiviveLayerOptimization( void )
|
||||||
{
|
{
|
||||||
uiLayerUsedFlags = uiAdditiveLayerUsedFlags;
|
uiLayerUsedFlags = uiAdditiveLayerUsedFlags;
|
||||||
}
|
}
|
||||||
@@ -1026,7 +1028,7 @@ void RenderSetShadows(BOOLEAN fShadows)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
inline static UINT16 * GetShadeTable(LEVELNODE * pNode, SOLDIERTYPE * pSoldier, SOLDIERTYPE * pPaletteTable, UINT32 uiFlags, INT16 * gsForceSoldierZLevel)
|
inline UINT16 * GetShadeTable(LEVELNODE * pNode, SOLDIERTYPE * pSoldier, SOLDIERTYPE * pPaletteTable, UINT32 uiFlags, INT16 * gsForceSoldierZLevel)
|
||||||
{
|
{
|
||||||
UINT16 * pShadeTable;
|
UINT16 * pShadeTable;
|
||||||
// Shade guy always lighter than scene default!
|
// Shade guy always lighter than scene default!
|
||||||
@@ -1184,7 +1186,7 @@ inline static UINT16 * GetShadeTable(LEVELNODE * pNode, SOLDIERTYPE * pSoldier,
|
|||||||
/*
|
/*
|
||||||
MONSTERS BE HERE!
|
MONSTERS BE HERE!
|
||||||
*/
|
*/
|
||||||
static void RenderTiles(UINT32 uiFlags, INT32 iStartPointX_M, INT32 iStartPointY_M, INT32 iStartPointX_S, INT32 iStartPointY_S, INT32 iEndXS, INT32 iEndYS, UINT8 ubNumLevels, UINT32 *puiLevels, UINT16 *psLevelIDs)
|
void RenderTiles(UINT32 uiFlags, INT32 iStartPointX_M, INT32 iStartPointY_M, INT32 iStartPointX_S, INT32 iStartPointY_S, INT32 iEndXS, INT32 iEndYS, UINT8 ubNumLevels, UINT32 *puiLevels, UINT16 *psLevelIDs)
|
||||||
{
|
{
|
||||||
|
|
||||||
//#if 0
|
//#if 0
|
||||||
@@ -3664,7 +3666,7 @@ void RenderDynamicWorld( )
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
static BOOLEAN HandleScrollDirections( UINT32 ScrollFlags, INT16 sScrollXStep, INT16 sScrollYStep, INT16 *psTempRenderCenterX, INT16 *psTempRenderCenterY, BOOLEAN fCheckOnly )
|
BOOLEAN HandleScrollDirections( UINT32 ScrollFlags, INT16 sScrollXStep, INT16 sScrollYStep, INT16 *psTempRenderCenterX, INT16 *psTempRenderCenterY, BOOLEAN fCheckOnly )
|
||||||
{
|
{
|
||||||
BOOLEAN fAGoodMove = FALSE, fMovedPos = FALSE;
|
BOOLEAN fAGoodMove = FALSE, fMovedPos = FALSE;
|
||||||
INT16 sTempX_W, sTempY_W;
|
INT16 sTempX_W, sTempY_W;
|
||||||
@@ -9009,7 +9011,7 @@ void RenderCoverDebug( )
|
|||||||
RenderCoverDebugInfo( gsStartPointX_M, gsStartPointY_M, gsStartPointX_S, gsStartPointY_S, gsEndXS, gsEndYS );
|
RenderCoverDebugInfo( gsStartPointX_M, gsStartPointY_M, gsStartPointX_S, gsStartPointY_S, gsEndXS, gsEndYS );
|
||||||
}
|
}
|
||||||
|
|
||||||
static void RenderGridNoVisibleDebug( )
|
void RenderGridNoVisibleDebug( )
|
||||||
{
|
{
|
||||||
RenderGridNoVisibleDebugInfo( gsStartPointX_M, gsStartPointY_M, gsStartPointX_S, gsStartPointY_S, gsEndXS, gsEndYS );
|
RenderGridNoVisibleDebugInfo( gsStartPointX_M, gsStartPointY_M, gsStartPointX_S, gsStartPointY_S, gsEndXS, gsEndYS );
|
||||||
}
|
}
|
||||||
|
|||||||
+63
-47
@@ -1,39 +1,52 @@
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include "types.h"
|
#include "types.h"
|
||||||
#include "WCheck.h"
|
#include "WCheck.h"
|
||||||
#include "DEBUG.H"
|
#include "DEBUG.H"
|
||||||
#include "FileMan.h"
|
#include "FileMan.h"
|
||||||
#include "MemMan.h"
|
#include "MemMan.h"
|
||||||
#include "structure.h"
|
#include "structure.h"
|
||||||
#include "tiledef.h"
|
#include "tiledef.h"
|
||||||
#include "worlddef.h"
|
#include "worlddef.h"
|
||||||
#include "worldman.h"
|
#include "worldman.h"
|
||||||
#include "Interface.h"
|
|
||||||
#include "Isometric Utils.h"
|
#include "Interface.h"
|
||||||
#include "Font.h"
|
|
||||||
#include "Font Control.h"
|
#include "Isometric Utils.h"
|
||||||
#include "Smell.h"
|
#include "Font.h"
|
||||||
#include "SaveLoadMap.h"
|
#include "Font Control.h"
|
||||||
#include "strategicmap.h"
|
#include "LOS.h"
|
||||||
#include "sgp_logger.h"
|
|
||||||
#include "Sys Globals.h" //for access to gfEditMode flag
|
#include "lighting.h"
|
||||||
//Kris:
|
#include "Smell.h"
|
||||||
#ifdef JA2EDITOR
|
#include "SaveLoadMap.h"
|
||||||
#include "Editor Undo.h" //for access to AddToUndoList( iMapIndex )
|
#include "strategicmap.h"
|
||||||
#endif
|
#include "sgp_logger.h"
|
||||||
#include "Explosion Control.h"
|
|
||||||
#include "Sound Control.h"
|
#include "Sys Globals.h" //for access to gfEditMode flag
|
||||||
#include "Buildings.h"
|
|
||||||
#include "random.h"
|
//Kris:
|
||||||
#include "Tile Animation.h"
|
#ifdef JA2EDITOR
|
||||||
// anv: for ramming people with vehicles
|
#include "Editor Undo.h" //for access to AddToUndoList( iMapIndex )
|
||||||
#include "Soldier macros.h"
|
#endif
|
||||||
#include "Overhead.h"
|
|
||||||
#include "Animation Control.h"
|
#include "Explosion Control.h"
|
||||||
#include "ASD.h" // added by Flugente
|
#include "Sound Control.h"
|
||||||
#include "renderworld.h" // added by Flugente for SetRenderFlags( RENDER_FLAG_FULL );
|
|
||||||
#include <vfs/Core/vfs.h>
|
#include "Buildings.h"
|
||||||
#include "XML_StructureData.hpp"
|
|
||||||
|
#include "random.h"
|
||||||
|
|
||||||
|
#include "Tile Animation.h"
|
||||||
|
#include "Explosion Control.h" // added by Flugente
|
||||||
|
|
||||||
|
// anv: for ramming people with vehicles
|
||||||
|
#include "Soldier macros.h"
|
||||||
|
#include "Overhead.h"
|
||||||
|
#include "Soldier Functions.h"
|
||||||
|
#include "Animation Control.h"
|
||||||
|
#include "Soldier Ani.h"
|
||||||
|
#include "ASD.h" // added by Flugente
|
||||||
|
#include "renderworld.h" // added by Flugente for SetRenderFlags( RENDER_FLAG_FULL );
|
||||||
|
|
||||||
#ifdef COUNT_PATHS
|
#ifdef COUNT_PATHS
|
||||||
extern UINT32 guiSuccessfulPathChecks;
|
extern UINT32 guiSuccessfulPathChecks;
|
||||||
@@ -149,7 +162,7 @@ index 25, indestructable metal
|
|||||||
};
|
};
|
||||||
|
|
||||||
// Function operating on a structure tile
|
// Function operating on a structure tile
|
||||||
static UINT8 FilledTilePositions( DB_STRUCTURE_TILE * pTile )
|
UINT8 FilledTilePositions( DB_STRUCTURE_TILE * pTile )
|
||||||
{
|
{
|
||||||
UINT8 ubFilled = 0, ubShapeValue;
|
UINT8 ubFilled = 0, ubShapeValue;
|
||||||
INT8 bLoopX, bLoopY, bLoopZ;
|
INT8 bLoopX, bLoopY, bLoopZ;
|
||||||
@@ -254,7 +267,7 @@ BOOLEAN FreeStructureFile( STRUCTURE_FILE_REF * pStructureFile )
|
|||||||
return( TRUE );
|
return( TRUE );
|
||||||
}
|
}
|
||||||
|
|
||||||
static BOOLEAN LoadStructureData( STR szFileName, STRUCTURE_FILE_REF * pFileRef, UINT32 * puiStructureDataSize )
|
BOOLEAN LoadStructureData( STR szFileName, STRUCTURE_FILE_REF * pFileRef, UINT32 * puiStructureDataSize )
|
||||||
//UINT8 **ppubStructureData, UINT32 * puiDataSize, STRUCTURE_FILE_HEADER * pHeader )
|
//UINT8 **ppubStructureData, UINT32 * puiDataSize, STRUCTURE_FILE_HEADER * pHeader )
|
||||||
{
|
{
|
||||||
// Loads a structure file's data as a honking chunk o' memory
|
// Loads a structure file's data as a honking chunk o' memory
|
||||||
@@ -354,7 +367,7 @@ static BOOLEAN LoadStructureData( STR szFileName, STRUCTURE_FILE_REF * pFileRef,
|
|||||||
return( TRUE );
|
return( TRUE );
|
||||||
}
|
}
|
||||||
|
|
||||||
static BOOLEAN CreateFileStructureArrays( STRUCTURE_FILE_REF * pFileRef, UINT32 uiDataSize )
|
BOOLEAN CreateFileStructureArrays( STRUCTURE_FILE_REF * pFileRef, UINT32 uiDataSize )
|
||||||
{
|
{
|
||||||
// Based on a file chunk, creates all the dynamic arrays for the
|
// Based on a file chunk, creates all the dynamic arrays for the
|
||||||
// structure definitions contained within
|
// structure definitions contained within
|
||||||
@@ -425,8 +438,11 @@ static BOOLEAN CreateFileStructureArrays( STRUCTURE_FILE_REF * pFileRef, UINT32
|
|||||||
return( TRUE );
|
return( TRUE );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#include <vfs/Core/vfs_file_raii.h>
|
||||||
|
#include <vfs/Core/vfs.h>
|
||||||
|
#include "XML_StructureData.hpp"
|
||||||
|
|
||||||
static void checkStructureValidity(STRUCTURE_FILE_REF *str1, STRUCTURE_FILE_REF* str2, UINT32 size1, UINT32 size2)
|
void checkStructureValidity(STRUCTURE_FILE_REF *str1, STRUCTURE_FILE_REF* str2, UINT32 size1, UINT32 size2)
|
||||||
{
|
{
|
||||||
if(str1 == str2 && str1 == NULL)
|
if(str1 == str2 && str1 == NULL)
|
||||||
{
|
{
|
||||||
@@ -563,7 +579,7 @@ STRUCTURE_FILE_REF * LoadStructureFile( STR szFileName )
|
|||||||
//
|
//
|
||||||
|
|
||||||
|
|
||||||
static STRUCTURE * CreateStructureFromDB( DB_STRUCTURE_REF * pDBStructureRef, UINT8 ubTileNum )
|
STRUCTURE * CreateStructureFromDB( DB_STRUCTURE_REF * pDBStructureRef, UINT8 ubTileNum )
|
||||||
{
|
{
|
||||||
// Creates a STRUCTURE struct for one tile of a structure
|
// Creates a STRUCTURE struct for one tile of a structure
|
||||||
STRUCTURE * pStructure;
|
STRUCTURE * pStructure;
|
||||||
@@ -616,7 +632,7 @@ static STRUCTURE * CreateStructureFromDB( DB_STRUCTURE_REF * pDBStructureRef, UI
|
|||||||
|
|
||||||
extern SoldierID gusTempDragBuildSoldierID;
|
extern SoldierID gusTempDragBuildSoldierID;
|
||||||
|
|
||||||
static BOOLEAN OkayToAddStructureToTile( INT32 sBaseGridNo, INT16 sCubeOffset, DB_STRUCTURE_REF * pDBStructureRef, UINT8 ubTileIndex, INT16 sExclusionID, BOOLEAN fAddingForReal = FALSE, SoldierID sSoldierID = NOBODY )
|
BOOLEAN OkayToAddStructureToTile( INT32 sBaseGridNo, INT16 sCubeOffset, DB_STRUCTURE_REF * pDBStructureRef, UINT8 ubTileIndex, INT16 sExclusionID, BOOLEAN fAddingForReal = FALSE, SoldierID sSoldierID = NOBODY )
|
||||||
{
|
{
|
||||||
// Verifies whether a structure is blocked from being added to the map at a particular point
|
// Verifies whether a structure is blocked from being added to the map at a particular point
|
||||||
DB_STRUCTURE * pDBStructure;
|
DB_STRUCTURE * pDBStructure;
|
||||||
@@ -990,7 +1006,7 @@ BOOLEAN OkayToAddStructureToWorld( INT32 sBaseGridNo, INT8 bLevel, DB_STRUCTURE_
|
|||||||
return( InternalOkayToAddStructureToWorld( sBaseGridNo, bLevel, pDBStructureRef, sExclusionID, fAddingForReal, sSoldierID ) );
|
return( InternalOkayToAddStructureToWorld( sBaseGridNo, bLevel, pDBStructureRef, sExclusionID, fAddingForReal, sSoldierID ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
static BOOLEAN AddStructureToTile( MAP_ELEMENT * pMapElement, STRUCTURE * pStructure, UINT16 usStructureID )
|
BOOLEAN AddStructureToTile( MAP_ELEMENT * pMapElement, STRUCTURE * pStructure, UINT16 usStructureID )
|
||||||
{
|
{
|
||||||
// adds a STRUCTURE to a MAP_ELEMENT (adds part of a structure to a location on the map)
|
// adds a STRUCTURE to a MAP_ELEMENT (adds part of a structure to a location on the map)
|
||||||
STRUCTURE * pStructureTail;
|
STRUCTURE * pStructureTail;
|
||||||
@@ -1017,7 +1033,7 @@ static BOOLEAN AddStructureToTile( MAP_ELEMENT * pMapElement, STRUCTURE * pStruc
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static STRUCTURE * InternalAddStructureToWorld( INT32 sBaseGridNo, INT8 bLevel, DB_STRUCTURE_REF * pDBStructureRef, LEVELNODE * pLevelNode )
|
STRUCTURE * InternalAddStructureToWorld( INT32 sBaseGridNo, INT8 bLevel, DB_STRUCTURE_REF * pDBStructureRef, LEVELNODE * pLevelNode )
|
||||||
{
|
{
|
||||||
// Adds a complete structure to the world at a location plus all other locations covered by the structure
|
// Adds a complete structure to the world at a location plus all other locations covered by the structure
|
||||||
INT32 sGridNo;
|
INT32 sGridNo;
|
||||||
@@ -1319,7 +1335,7 @@ BOOLEAN DeleteStructureFromWorld( STRUCTURE * pStructure )
|
|||||||
return( TRUE );
|
return( TRUE );
|
||||||
}
|
}
|
||||||
|
|
||||||
static STRUCTURE * InternalSwapStructureForPartner( INT32 sGridNo, STRUCTURE * pStructure, BOOLEAN fFlipSwitches, BOOLEAN fStoreInMap )
|
STRUCTURE * InternalSwapStructureForPartner( INT32 sGridNo, STRUCTURE * pStructure, BOOLEAN fFlipSwitches, BOOLEAN fStoreInMap )
|
||||||
{
|
{
|
||||||
// switch structure
|
// switch structure
|
||||||
LEVELNODE * pLevelNode;
|
LEVELNODE * pLevelNode;
|
||||||
@@ -2503,13 +2519,13 @@ BOOLEAN AddZStripInfoToVObject( HVOBJECT hVObject, STRUCTURE_FILE_REF * pStructu
|
|||||||
return( TRUE );
|
return( TRUE );
|
||||||
}
|
}
|
||||||
|
|
||||||
static BOOLEAN InitStructureDB( void )
|
BOOLEAN InitStructureDB( void )
|
||||||
{
|
{
|
||||||
gusNextAvailableStructureID = FIRST_AVAILABLE_STRUCTURE_ID;
|
gusNextAvailableStructureID = FIRST_AVAILABLE_STRUCTURE_ID;
|
||||||
return( TRUE );
|
return( TRUE );
|
||||||
}
|
}
|
||||||
|
|
||||||
static BOOLEAN FiniStructureDB( void )
|
BOOLEAN FiniStructureDB( void )
|
||||||
{
|
{
|
||||||
gusNextAvailableStructureID = FIRST_AVAILABLE_STRUCTURE_ID;
|
gusNextAvailableStructureID = FIRST_AVAILABLE_STRUCTURE_ID;
|
||||||
return( TRUE );
|
return( TRUE );
|
||||||
|
|||||||
+14
-10
@@ -122,6 +122,7 @@ BOOLEAN gfInitAnimateLoading = FALSE;
|
|||||||
BOOLEAN LoadTileSurfaces( char pTileSurfaceFilenames[][32], UINT8 ubTilesetID );
|
BOOLEAN LoadTileSurfaces( char pTileSurfaceFilenames[][32], UINT8 ubTilesetID );
|
||||||
BOOLEAN AddTileSurface( SGPFILENAME cFilename, UINT32 ubType, UINT8 ubTilesetID, BOOLEAN fGetFromRoot );
|
BOOLEAN AddTileSurface( SGPFILENAME cFilename, UINT32 ubType, UINT8 ubTilesetID, BOOLEAN fGetFromRoot );
|
||||||
void DestroyTileSurfaces( void );
|
void DestroyTileSurfaces( void );
|
||||||
|
void ProcessTilesetNamesForBPP(void);
|
||||||
BOOLEAN IsRoofVisibleForWireframe( INT32 sMapPos );
|
BOOLEAN IsRoofVisibleForWireframe( INT32 sMapPos );
|
||||||
|
|
||||||
#ifdef JA2UBMAPS
|
#ifdef JA2UBMAPS
|
||||||
@@ -224,7 +225,7 @@ BOOLEAN GridNoIndoors( INT32 iMapIndex )
|
|||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void DOIT( )
|
void DOIT( )
|
||||||
{
|
{
|
||||||
// LEVELNODE * pLand;
|
// LEVELNODE * pLand;
|
||||||
//LEVELNODE * pObject;
|
//LEVELNODE * pObject;
|
||||||
@@ -271,6 +272,9 @@ BOOLEAN InitializeWorld( )
|
|||||||
|
|
||||||
SetNumberOfTiles();
|
SetNumberOfTiles();
|
||||||
|
|
||||||
|
// DB Adds the _8 to the names if we're in 8 bit mode.
|
||||||
|
//ProcessTilesetNamesForBPP();
|
||||||
|
|
||||||
// Memset tileset list
|
// Memset tileset list
|
||||||
memset( TileSurfaceFilenames, '\0', sizeof( TileSurfaceFilenames ) );
|
memset( TileSurfaceFilenames, '\0', sizeof( TileSurfaceFilenames ) );
|
||||||
|
|
||||||
@@ -339,7 +343,7 @@ void DeinitializeWorld()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static BOOLEAN ReloadTilesetSlot( INT32 iSlot )
|
BOOLEAN ReloadTilesetSlot( INT32 iSlot )
|
||||||
{
|
{
|
||||||
return(TRUE);
|
return(TRUE);
|
||||||
}
|
}
|
||||||
@@ -768,7 +772,7 @@ void DestroyTileSurfaces( )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void CompileWorldTerrainIDs( void )
|
void CompileWorldTerrainIDs( void )
|
||||||
{
|
{
|
||||||
INT32 sGridNo;
|
INT32 sGridNo;
|
||||||
INT32 sTempGridNo;
|
INT32 sTempGridNo;
|
||||||
@@ -823,7 +827,7 @@ static void CompileWorldTerrainIDs( void )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static BOOLEAN IsNotRestrictedWindow(STRUCTURE * pStructure)
|
BOOLEAN IsNotRestrictedWindow(STRUCTURE * pStructure)
|
||||||
{
|
{
|
||||||
|
|
||||||
if ( (pStructure->fFlags & STRUCTURE_WALLNWINDOW) && gGameExternalOptions.fCanJumpThroughWindows
|
if ( (pStructure->fFlags & STRUCTURE_WALLNWINDOW) && gGameExternalOptions.fCanJumpThroughWindows
|
||||||
@@ -861,7 +865,7 @@ static BOOLEAN IsNotRestrictedWindow(STRUCTURE * pStructure)
|
|||||||
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
static void CompileTileMovementCosts( INT32 usGridNo )
|
void CompileTileMovementCosts( INT32 usGridNo )
|
||||||
{
|
{
|
||||||
UINT8 ubTerrainID;
|
UINT8 ubTerrainID;
|
||||||
TILE_ELEMENT TileElem;
|
TILE_ELEMENT TileElem;
|
||||||
@@ -2320,7 +2324,7 @@ INT8 bDirectionsForShadowSearch[ NUM_DIR_SEARCHES ] =
|
|||||||
EAST
|
EAST
|
||||||
};
|
};
|
||||||
|
|
||||||
static void OptimizeMapForShadows( )
|
void OptimizeMapForShadows( )
|
||||||
{
|
{
|
||||||
INT32 cnt, dir;
|
INT32 cnt, dir;
|
||||||
INT32 sNewGridNo;
|
INT32 sNewGridNo;
|
||||||
@@ -2350,7 +2354,7 @@ static void OptimizeMapForShadows( )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void SetBlueFlagFlags( void )
|
void SetBlueFlagFlags( void )
|
||||||
{
|
{
|
||||||
INT32 cnt;
|
INT32 cnt;
|
||||||
LEVELNODE * pNode;
|
LEVELNODE * pNode;
|
||||||
@@ -3526,7 +3530,7 @@ void TrashWorld( void )
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
void TrashMapTile(INT32 MapTile)
|
void TrashMapTile(INT16 MapTile)
|
||||||
{
|
{
|
||||||
MAP_ELEMENT *pMapTile;
|
MAP_ELEMENT *pMapTile;
|
||||||
LEVELNODE *pLandNode;
|
LEVELNODE *pLandNode;
|
||||||
@@ -3714,7 +3718,7 @@ void SetLoadOverrideParams( BOOLEAN fForceLoad, BOOLEAN fForceFile, CHAR8 *zLoad
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void AddWireFrame( INT32 sGridNo, UINT16 usIndex, BOOLEAN fForced )
|
void AddWireFrame( INT32 sGridNo, UINT16 usIndex, BOOLEAN fForced )
|
||||||
{
|
{
|
||||||
LEVELNODE *pTopmost, *pTopmostTail;
|
LEVELNODE *pTopmost, *pTopmostTail;
|
||||||
|
|
||||||
@@ -3741,7 +3745,7 @@ static void AddWireFrame( INT32 sGridNo, UINT16 usIndex, BOOLEAN fForced )
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static UINT16 GetWireframeGraphicNumToUseForWall( INT32 sGridNo, STRUCTURE *pStructure )
|
UINT16 GetWireframeGraphicNumToUseForWall( INT32 sGridNo, STRUCTURE *pStructure )
|
||||||
{
|
{
|
||||||
LEVELNODE *pNode = NULL;
|
LEVELNODE *pNode = NULL;
|
||||||
UINT8 ubWallOrientation;
|
UINT8 ubWallOrientation;
|
||||||
|
|||||||
+47
-30
@@ -1,48 +1,65 @@
|
|||||||
/* $Id: sgp.c,v 1.4 2004/03/19 06:16:04 digicrab Exp $ */
|
/* $Id: sgp.c,v 1.4 2004/03/19 06:16:04 digicrab Exp $ */
|
||||||
//its test what doeas it do?
|
//its test what doeas it do?
|
||||||
#include "builddefines.h"
|
#include "types.h"
|
||||||
#include "types.h"
|
#include <windows.h>
|
||||||
#include <windows.h>
|
#include <stdio.h>
|
||||||
#include <string.h>
|
#include <stdarg.h>
|
||||||
#include "sgp.h"
|
#include <string.h>
|
||||||
#include "vobject.h"
|
#include "sgp.h"
|
||||||
#include "Font.h"
|
#include "vobject.h"
|
||||||
#include "local.h"
|
#include "Font.h"
|
||||||
#include "FileMan.h"
|
#include "local.h"
|
||||||
#include "input.h"
|
#include "FileMan.h"
|
||||||
#include "random.h"
|
#include "input.h"
|
||||||
#include "gameloop.h"
|
#include "random.h"
|
||||||
#include "soundman.h"
|
#include "gameloop.h"
|
||||||
#include "JA2 Splash.h"
|
#include "soundman.h"
|
||||||
#include "Timer Control.h"
|
#include "JA2 Splash.h"
|
||||||
#include "Utilities.h"
|
#include "Timer Control.h"
|
||||||
|
#include "LibraryDataBase.h"
|
||||||
|
#include "Utilities.h"
|
||||||
|
|
||||||
#include "GameSettings.h"
|
#include "GameSettings.h"
|
||||||
|
#include "input.h"
|
||||||
#include "zmouse.h"
|
#include "zmouse.h"
|
||||||
|
|
||||||
#include <vfs/Aspects/vfs_settings.h>
|
#include <vfs/Aspects/vfs_settings.h>
|
||||||
#include <vfs/Core/vfs.h>
|
#include <vfs/Core/vfs.h>
|
||||||
#include <vfs/Core/vfs_init.h>
|
#include <vfs/Core/vfs_init.h>
|
||||||
|
#include <vfs/Core/vfs_os_functions.h>
|
||||||
|
#include <vfs/Core/File/vfs_file.h>
|
||||||
#include <vfs/Tools/vfs_log.h>
|
#include <vfs/Tools/vfs_log.h>
|
||||||
|
#include <vfs/Tools/vfs_parser_tools.h>
|
||||||
#include <vfs/Tools/vfs_file_logger.h>
|
#include <vfs/Tools/vfs_file_logger.h>
|
||||||
|
|
||||||
#include "sgp_logger.h"
|
#include "sgp_logger.h"
|
||||||
#include "Text.h"
|
#include "Text.h"
|
||||||
|
#include "LocalizedStrings.h"
|
||||||
#include "ExportStrings.h"
|
#include "ExportStrings.h"
|
||||||
#include "ImportStrings.h"
|
#include "ImportStrings.h"
|
||||||
#include <excpt.h>
|
|
||||||
#include "INIReader.h"
|
|
||||||
#include "connect.h"
|
|
||||||
#include "wine.h"
|
|
||||||
#include "Intro.h"
|
|
||||||
#include <Music Control.h>
|
|
||||||
#include <language.hpp>
|
|
||||||
|
|
||||||
|
|
||||||
#define USE_CONSOLE 0
|
#define USE_CONSOLE 0
|
||||||
|
|
||||||
#ifndef WIN32_LEAN_AND_MEAN
|
#include <iostream>
|
||||||
#define WIN32_LEAN_AND_MEAN
|
#include <excpt.h>
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
|
#include "INIReader.h"
|
||||||
|
#include "Lua Interpreter.h"
|
||||||
|
#include "connect.h"
|
||||||
|
#include "english.h"
|
||||||
|
#include "wine.h"
|
||||||
|
|
||||||
|
#include "builddefines.h"
|
||||||
|
#include "Intro.h"
|
||||||
|
|
||||||
|
#ifndef WIN32_LEAN_AND_MEAN
|
||||||
|
#define WIN32_LEAN_AND_MEAN
|
||||||
|
#endif
|
||||||
|
#include <Music Control.h>
|
||||||
|
|
||||||
|
#include <language.hpp>
|
||||||
|
|
||||||
static void MAGIC(std::string const& aarrrrgggh = "")
|
static void MAGIC(std::string const& aarrrrgggh = "")
|
||||||
{}
|
{}
|
||||||
|
|
||||||
@@ -56,7 +73,7 @@ static vfs::FileLogger *vfslog = NULL;
|
|||||||
|
|
||||||
int iWindowedMode;
|
int iWindowedMode;
|
||||||
|
|
||||||
static void SHOWEXCEPTION(sgp::Exception& ex)
|
void SHOWEXCEPTION(sgp::Exception& ex)
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
_ExceptionMessage(ex);
|
_ExceptionMessage(ex);
|
||||||
@@ -67,7 +84,7 @@ static void SHOWEXCEPTION(sgp::Exception& ex)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void SHOWEXCEPTION(vfs::Exception& ex)
|
void SHOWEXCEPTION(vfs::Exception& ex)
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
_ExceptionMessage(ex);
|
_ExceptionMessage(ex);
|
||||||
@@ -617,7 +634,7 @@ void ShutdownStandardGamingPlatform(void)
|
|||||||
|
|
||||||
#include "MPJoinScreen.h"
|
#include "MPJoinScreen.h"
|
||||||
|
|
||||||
static vfs::String getGameID()
|
vfs::String getGameID()
|
||||||
{
|
{
|
||||||
static vfs::String _id;
|
static vfs::String _id;
|
||||||
static bool has_id = false;
|
static bool has_id = false;
|
||||||
|
|||||||
Reference in New Issue
Block a user