mirror of
https://github.com/1dot13/source.git
synced 2026-07-22 13:40:22 +02:00
Compare commits
1
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
58c134bd8e |
@@ -77,7 +77,7 @@ jobs:
|
||||
arch: x86
|
||||
- name: Prepare build
|
||||
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
|
||||
run: |
|
||||
cmake --build build/ -- -v
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
#include "Font Control.h"
|
||||
#include "Cursors.h"
|
||||
#include "Font.h"
|
||||
#include "WordWrap.h"
|
||||
#include "sysutil.h"
|
||||
#include "input.h"
|
||||
#include "english.h"
|
||||
|
||||
+37
-24
@@ -1,27 +1,40 @@
|
||||
#include "types.h"
|
||||
#include "FeaturesScreen.h"
|
||||
#include "video.h"
|
||||
#include "Font Control.h"
|
||||
#include "Game Clock.h"
|
||||
#include "Text Input.h"
|
||||
#include "WordWrap.h"
|
||||
#include "SaveLoadScreen.h"
|
||||
#include "Render Dirty.h"
|
||||
#include "WCheck.h"
|
||||
#include "Utilities.h"
|
||||
#include "Sound Control.h"
|
||||
#include "Ambient Control.h"
|
||||
#include "GameSettings.h"
|
||||
#include "Game Init.h"
|
||||
#include "english.h"
|
||||
#include "Cursors.h"
|
||||
#include "sysutil.h"
|
||||
#include "Text.h"
|
||||
#include "Interface Control.h"
|
||||
#include "message.h"
|
||||
#include "Multi Language Graphic Utils.h"
|
||||
#include "connect.h"
|
||||
#include "mainmenuscreen.h"
|
||||
#include "types.h"
|
||||
#include "FeaturesScreen.h"
|
||||
#include "video.h"
|
||||
#include "Font Control.h"
|
||||
#include "Game Clock.h"
|
||||
#include "Text Input.h"
|
||||
#include "WordWrap.h"
|
||||
#include "SaveLoadScreen.h"
|
||||
#include "Render Dirty.h"
|
||||
#include "WordWrap.h"
|
||||
#include "WCheck.h"
|
||||
#include "Utilities.h"
|
||||
#include "DEBUG.H"
|
||||
#include "Sound Control.h"
|
||||
#include "Ambient Control.h"
|
||||
#include "WorldDat.h"
|
||||
#include "worlddef.h"
|
||||
#include "GameSettings.h"
|
||||
#include "Game Init.h"
|
||||
#include "english.h"
|
||||
#include "Overhead.h"
|
||||
#include "GAP.H"
|
||||
#include "Cursors.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)
|
||||
|
||||
|
||||
@@ -1,30 +1,38 @@
|
||||
#include "types.h"
|
||||
#include "GameInitOptionsScreen.h"
|
||||
#include "GameSettings.h"
|
||||
#include "Utilities.h"
|
||||
#include "WCheck.h"
|
||||
#include "Font Control.h"
|
||||
#include "WordWrap.h"
|
||||
#include "Render Dirty.h"
|
||||
#include "input.h"
|
||||
#include "Options Screen.h"
|
||||
#include "english.h"
|
||||
#include "sysutil.h"
|
||||
#include "Fade Screen.h"
|
||||
#include "Cursor Control.h"
|
||||
#include "Music Control.h"
|
||||
#include "Cursors.h"
|
||||
#include "Intro.h"
|
||||
#include "Text.h"
|
||||
#include "_Ja25EnglishText.h"
|
||||
#include "Soldier Profile.h"
|
||||
#include "SaveLoadScreen.h"
|
||||
#include <vfs/Core/vfs.h>
|
||||
#include <vfs/Tools/vfs_property_container.h>
|
||||
#include "types.h"
|
||||
#include "GameInitOptionsScreen.h"
|
||||
#include "GameSettings.h"
|
||||
#include "Utilities.h"
|
||||
#include "WCheck.h"
|
||||
#include "Font Control.h"
|
||||
#include "WordWrap.h"
|
||||
#include "Render Dirty.h"
|
||||
#include "input.h"
|
||||
#include "Options Screen.h"
|
||||
#include "english.h"
|
||||
#include "sysutil.h"
|
||||
#include "Fade Screen.h"
|
||||
#include "Cursor Control.h"
|
||||
#include "Music Control.h"
|
||||
#include "Cursors.h"
|
||||
#include "Intro.h"
|
||||
#include "Text.h"
|
||||
#include "_Ja25EnglishText.h"
|
||||
#include "Soldier Profile.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
|
||||
#include "ub_config.h"
|
||||
|
||||
// *********************************
|
||||
// Unfinished Business: Initial Game Screen
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
#include "HelpScreen.h"
|
||||
#include "INIReader.h"
|
||||
#include "Shade Table Util.h"
|
||||
#include "soldier profile type.h"
|
||||
#include "random.h"
|
||||
#include "SaveLoadGame.h"
|
||||
#include "sgp.h"
|
||||
@@ -35,6 +36,7 @@
|
||||
#include "connect.h"
|
||||
#include "sgp_logger.h"
|
||||
|
||||
#include "Map Information.h"
|
||||
|
||||
#include "GameInitOptionsScreen.h"
|
||||
|
||||
@@ -154,7 +156,7 @@ BOOLEAN UsingInventoryCostsAPSystem()
|
||||
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
|
||||
for(unsigned int i=0;i<strToConvert.length();i++)
|
||||
{
|
||||
@@ -183,7 +185,7 @@ BOOLEAN IsNIVModeValid(bool checkRes)
|
||||
return isValid;
|
||||
}
|
||||
|
||||
static void UpdateFeatureFlags()
|
||||
void UpdateFeatureFlags()
|
||||
{
|
||||
// do we need to override some ini settings?
|
||||
if (gGameSettings.fFeatures[FF_FEATURES_SCREEN])
|
||||
|
||||
+25
-20
@@ -1,23 +1,27 @@
|
||||
#include "sgp.h"
|
||||
#include "sysutil.h"
|
||||
#include "WCheck.h"
|
||||
#include "Cursors.h"
|
||||
#include "Font Control.h"
|
||||
#include "Render Dirty.h"
|
||||
#include "Text.h"
|
||||
#include "Utilities.h"
|
||||
#include "WordWrap.h"
|
||||
#include "HelpScreen.h"
|
||||
#include "HelpScreenText.h"
|
||||
#include "line.h"
|
||||
#include "Game Clock.h"
|
||||
#include "GameSettings.h"
|
||||
#include "laptop.h"
|
||||
#include "Text Input.h"
|
||||
#include "english.h"
|
||||
#include "renderworld.h"
|
||||
#include "Game Init.h"
|
||||
#include "Overhead.h"
|
||||
#include "sgp.h"
|
||||
#include "sysutil.h"
|
||||
#include "vobject_blitters.h"
|
||||
#include "WCheck.h"
|
||||
#include "Cursors.h"
|
||||
#include "Font Control.h"
|
||||
#include "Cursor Control.h"
|
||||
#include "Render Dirty.h"
|
||||
#include "Text.h"
|
||||
#include "Utilities.h"
|
||||
#include "WordWrap.h"
|
||||
#include "Font Control.h"
|
||||
#include "Text.h"
|
||||
#include "HelpScreen.h"
|
||||
#include "HelpScreenText.h"
|
||||
#include "line.h"
|
||||
#include "Game Clock.h"
|
||||
#include "GameSettings.h"
|
||||
#include "laptop.h"
|
||||
#include "Text Input.h"
|
||||
#include "english.h"
|
||||
#include "renderworld.h"
|
||||
#include "Game Init.h"
|
||||
#include "Overhead.h"
|
||||
|
||||
extern INT16 gsVIEWPORT_END_Y;
|
||||
extern void PrintDate( void );
|
||||
@@ -304,6 +308,7 @@ void SelectHelpScrollAreaCallBack( MOUSE_REGION * pRegion, INT32 iReason );
|
||||
|
||||
// region to mask the background
|
||||
MOUSE_REGION gHelpScreenScrollAreaArrows;
|
||||
void SelectHelpScrollAreaArrowsCallBack( MOUSE_REGION * pRegion, INT32 iReason );
|
||||
|
||||
|
||||
//checkbox to toggle show help again toggle
|
||||
|
||||
+143
-45
@@ -1,47 +1,55 @@
|
||||
#include "builddefines.h"
|
||||
#include <stdio.h>
|
||||
#include "sgp.h"
|
||||
#include "Screens.h"
|
||||
#include "vobject_blitters.h"
|
||||
#include "sysutil.h"
|
||||
#include "worlddef.h"
|
||||
#include "Animation Data.h"
|
||||
#include "Overhead.h"
|
||||
#include "Font Control.h"
|
||||
#include <himage.h>
|
||||
#include <vobject.h>
|
||||
#include "Timer Control.h"
|
||||
#include "Utilities.h"
|
||||
#include "Render Dirty.h"
|
||||
#include "Sound Control.h"
|
||||
#include "lighting.h"
|
||||
#include "Cursor Control.h"
|
||||
#include "Music Control.h"
|
||||
#include "video.h"
|
||||
#include "maputility.h"
|
||||
#include "strategic.h"
|
||||
#include "Dialogue Control.h"
|
||||
#include "Text.h"
|
||||
#include "laptop.h"
|
||||
#include "MercTextBox.h"
|
||||
#include "Tile Cache.h"
|
||||
#include "strategicmap.h"
|
||||
#include "Map Information.h"
|
||||
#include "Shade Table Util.h"
|
||||
#include "Exit Grids.h"
|
||||
#include "Summary Info.h"
|
||||
#include "GameSettings.h"
|
||||
#include "Game Init.h"
|
||||
#include "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 "builddefines.h"
|
||||
#include <stdio.h>
|
||||
#include "sgp.h"
|
||||
#include "gameloop.h"
|
||||
#include "Screens.h"
|
||||
#include "INIReader.h"
|
||||
#include "vobject_blitters.h"
|
||||
#include "renderworld.h"
|
||||
#include "mousesystem.h"
|
||||
#include "sysutil.h"
|
||||
#include "worlddef.h"
|
||||
#include "Animation Data.h"
|
||||
#include "Overhead.h"
|
||||
#include "Font Control.h"
|
||||
#include "Button System.h"
|
||||
#include "Timer Control.h"
|
||||
#include "Utilities.h"
|
||||
#include "Radar Screen.h"
|
||||
#include "Render Dirty.h"
|
||||
#include "Sound Control.h"
|
||||
#include "Event Pump.h"
|
||||
#include "lighting.h"
|
||||
#include "Cursor Control.h"
|
||||
#include "Music Control.h"
|
||||
#include "video.h"
|
||||
#include "mapscreen.h"
|
||||
#include "Interface Items.h"
|
||||
#include "maputility.h"
|
||||
#include "strategic.h"
|
||||
#include "Dialogue Control.h"
|
||||
#include "Text.h"
|
||||
#include "laptop.h"
|
||||
#include "NPC.h"
|
||||
#include "MercTextBox.h"
|
||||
#include "Tile Cache.h"
|
||||
#include "strategicmap.h"
|
||||
#include "Map Information.h"
|
||||
#include "Shade Table Util.h"
|
||||
#include "Exit Grids.h"
|
||||
#include "Summary Info.h"
|
||||
#include "GameSettings.h"
|
||||
#include "Game Init.h"
|
||||
#include "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 "MPXmlTeams.hpp"
|
||||
#include "Strategic Mines LUA.h"
|
||||
@@ -49,6 +57,8 @@
|
||||
#include "lua_state.h"
|
||||
|
||||
#include "Interface.h"
|
||||
#include "Strategic Town Loyalty.h"
|
||||
#include "Soldier Profile.h"
|
||||
#include "aim.h"
|
||||
#include "mainmenuscreen.h"
|
||||
#include "email.h"
|
||||
@@ -60,6 +70,7 @@
|
||||
#include "ub_config.h"
|
||||
|
||||
|
||||
#include "Civ Quotes.h"
|
||||
#include "LuaInitNPCs.h"
|
||||
#include "BriefingRoom_Data.h"
|
||||
#include "AimArchives.h"
|
||||
@@ -85,6 +96,20 @@ extern BOOLEAN GetCDromDriveLetter( STR8 pString );
|
||||
extern BOOLEAN gfUseConsecutiveQuickSaveSlots;
|
||||
#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;
|
||||
|
||||
@@ -115,7 +140,7 @@ static void AddLanguagePrefix(STR fileName)
|
||||
AddLanguagePrefix( fileName, GetLanguagePrefix());
|
||||
}
|
||||
|
||||
static void ResetEmptyRPCFaceSlots()
|
||||
void ResetEmptyRPCFaceSlots()
|
||||
{
|
||||
//legion by jazz (load small faces from rpcs)
|
||||
// reset empty slots with "-1"
|
||||
@@ -1387,6 +1412,11 @@ if( g_lang != i18n::Lang::en ) {
|
||||
|
||||
UINT32 InitializeJA2(void)
|
||||
{
|
||||
|
||||
#ifdef LASERLOCK_ENABLED
|
||||
HandleLaserLockResult( PrepareLaserLockSystem() );
|
||||
#endif
|
||||
|
||||
HandleJA2CDCheck( );
|
||||
|
||||
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()
|
||||
{
|
||||
gubMaxActionPoints[REGMALE] = APBPConstants[AP_MAXIMUM];
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
#include "LogicalBodyTypes/SurfaceDB.h"
|
||||
#include "LogicalBodyTypes/FilterDB.h"
|
||||
#include "LogicalBodyTypes/EnumeratorDB.h"
|
||||
#include "LogicalBodyTypes/BodyTypeDB.h"
|
||||
#include "LogicalBodyTypes/PaletteDB.h"
|
||||
|
||||
#include <iostream>
|
||||
|
||||
+36
-13
@@ -1,18 +1,41 @@
|
||||
#include "sgp.h"
|
||||
#include "sysutil.h"
|
||||
#include "Cursor Control.h"
|
||||
#include "Render Dirty.h"
|
||||
#include "Utilities.h"
|
||||
#include "Intro.h"
|
||||
#include "Cinematics.h"
|
||||
#include "Cinematics Bink.h"
|
||||
#include "mainmenuscreen.h"
|
||||
#include "Music Control.h"
|
||||
#include "english.h"
|
||||
#include "sgp_logger.h"
|
||||
#include "INIReader.h"
|
||||
#include "sgp.h"
|
||||
#include "sysutil.h"
|
||||
#include "vobject_blitters.h"
|
||||
#include "Font Control.h"
|
||||
#include "Cursor Control.h"
|
||||
#include "Render Dirty.h"
|
||||
#include "Text.h"
|
||||
#include "Utilities.h"
|
||||
#include "WordWrap.h"
|
||||
#include "Text.h"
|
||||
#include "line.h"
|
||||
#include "Intro.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"
|
||||
#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 "XML.h"
|
||||
#include <language.hpp>
|
||||
|
||||
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
|
||||
#include "Networking.h"
|
||||
#include "NetworkEvent.h"
|
||||
#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
|
||||
|
||||
#include "Ja25_Tactical.h"
|
||||
#include "Ja25 Strategic Ai.h"
|
||||
|
||||
INT16 JA2_5_START_SECTOR_X;
|
||||
INT16 JA2_5_START_SECTOR_Y;
|
||||
|
||||
@@ -5,6 +5,11 @@
|
||||
|
||||
#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
|
||||
extern INT16 JA2_5_START_SECTOR_X;
|
||||
extern INT16 JA2_5_START_SECTOR_Y;
|
||||
|
||||
@@ -19,6 +19,7 @@ extern HVSURFACE ghFrameBuffer;
|
||||
extern BOOLEAN gfSchedulesHosed;
|
||||
|
||||
#ifdef JA2UB
|
||||
#include "Ja25_Tactical.h"
|
||||
#include "Ja25 Strategic Ai.h"
|
||||
#endif
|
||||
UINT8 gubLastLoadingScreenID = LOADINGSCREEN_NOTHING;
|
||||
@@ -343,7 +344,7 @@ static void BuildLoadscreenFilename(std::string& dst, const char* path, int reso
|
||||
dst.append(".sti");
|
||||
}
|
||||
|
||||
static std::string GetResolutionSuffix(SCREEN_RESOLUTION resolution)
|
||||
std::string GetResolutionSuffix(SCREEN_RESOLUTION 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))
|
||||
{
|
||||
|
||||
+21
-20
@@ -1,23 +1,24 @@
|
||||
#include "sgp.h"
|
||||
#include "screenids.h"
|
||||
#include "Timer Control.h"
|
||||
#include "Fade Screen.h"
|
||||
#include "sysutil.h"
|
||||
#include "vobject_blitters.h"
|
||||
#include "MercTextBox.h"
|
||||
#include "Cursors.h"
|
||||
#include "Font Control.h"
|
||||
#include "Map Screen Interface.h"
|
||||
#include "renderworld.h"
|
||||
#include "gameloop.h"
|
||||
#include "english.h"
|
||||
#include "GameSettings.h"
|
||||
#include "Cursor Control.h"
|
||||
#include "Text.h"
|
||||
#include "Text Input.h"
|
||||
#include "overhead map.h"
|
||||
#include "MPChatScreen.h"
|
||||
#include "WordWrap.h"
|
||||
#include "sgp.h"
|
||||
#include "screenids.h"
|
||||
#include "Timer Control.h"
|
||||
#include "Fade Screen.h"
|
||||
#include "sysutil.h"
|
||||
#include "vobject_blitters.h"
|
||||
#include "MercTextBox.h"
|
||||
#include "Cursors.h"
|
||||
#include "Font Control.h"
|
||||
#include "Map Screen Interface.h"
|
||||
#include "renderworld.h"
|
||||
#include "gameloop.h"
|
||||
#include "english.h"
|
||||
#include "GameSettings.h"
|
||||
#include "Cursor Control.h"
|
||||
#include "laptop.h"
|
||||
#include "Text.h"
|
||||
#include "Text Input.h"
|
||||
#include "overhead map.h"
|
||||
#include "MPChatScreen.h"
|
||||
#include "WordWrap.h"
|
||||
#include "message.h"
|
||||
#include "Utilities.h"
|
||||
#include "connect.h"
|
||||
|
||||
+33
-22
@@ -1,28 +1,38 @@
|
||||
#include "sgp.h"
|
||||
#include "screenids.h"
|
||||
#include "Timer Control.h"
|
||||
#include "sysutil.h"
|
||||
#include "Cursors.h"
|
||||
#include "Font Control.h"
|
||||
#include "mainmenuscreen.h"
|
||||
#include "Cursor Control.h"
|
||||
#include "Render Dirty.h"
|
||||
#include "Music Control.h"
|
||||
#include "sgp.h"
|
||||
#include "screenids.h"
|
||||
#include "Timer Control.h"
|
||||
#include "sysutil.h"
|
||||
#include "vobject_blitters.h"
|
||||
#include "MercTextBox.h"
|
||||
#include "Cursors.h"
|
||||
#include "Font Control.h"
|
||||
#include "mainmenuscreen.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 "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 "strategic.h"
|
||||
#include "Strategic Movement.h"
|
||||
#include "Overhead.h"
|
||||
#include "Init.h"
|
||||
#include "XML.h"
|
||||
#include <vfs/Core/vfs.h>
|
||||
#include <vfs/Core/vfs_profile.h>
|
||||
|
||||
@@ -73,6 +83,7 @@ void MenuButtonCallback(GUI_BUTTON *btn, INT32 reason);
|
||||
void HandleMainMenuKeyboardInput();
|
||||
void HandleMainMenuInput();
|
||||
void HandleMainMenuScreen();
|
||||
void DisplayAssignmentText();
|
||||
void ClearMainMenu();
|
||||
void SelectMainMenuBackGroundRegionCallBack(MOUSE_REGION * pRegion, INT32 iReason );
|
||||
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)
|
||||
{
|
||||
|
||||
@@ -14,10 +14,12 @@
|
||||
#include "GameSettings.h"
|
||||
#include "Interface Control.h"
|
||||
#include "Cursor Control.h"
|
||||
#include "laptop.h"
|
||||
#include "Text.h"
|
||||
#include "Text Input.h"
|
||||
#include "overhead map.h"
|
||||
#include "DropDown.h" // added by Flugente
|
||||
#include "Utilities.h" // added by Flugente for FilenameForBPP(...)
|
||||
#include "FeaturesScreen.h"
|
||||
|
||||
#define MSGBOX_DEFAULT_WIDTH 300
|
||||
|
||||
+207
-112
@@ -1,126 +1,162 @@
|
||||
#include "types.h"
|
||||
#include "Soldier Profile.h"
|
||||
#include "FileMan.h"
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
#include "DEBUG.H"
|
||||
#include "Overhead.h"
|
||||
#include "Keys.h"
|
||||
#include "finances.h"
|
||||
#include "history.h"
|
||||
#include "files.h"
|
||||
#include "Font.h"
|
||||
#include "Font Control.h"
|
||||
#include "email.h"
|
||||
#include "strategicmap.h"
|
||||
#include "Game Events.h"
|
||||
#include "Game Clock.h"
|
||||
#include "Soldier Create.h"
|
||||
#include "worlddef.h"
|
||||
#include "LaptopSave.h"
|
||||
#include "Queen Command.h"
|
||||
#include "SaveLoadGame.h"
|
||||
#include "Tactical Save.h"
|
||||
#include "Squads.h"
|
||||
#include "environment.h"
|
||||
#include "lighting.h"
|
||||
#include "Strategic Movement.h"
|
||||
#include "strategic.h"
|
||||
#include "Isometric Utils.h"
|
||||
#include "Quests.h"
|
||||
#include "opplist.h"
|
||||
#include "message.h"
|
||||
#include "NPC.h"
|
||||
#include "Merc Hiring.h"
|
||||
#include "SaveLoadScreen.h"
|
||||
#include "GameVersion.h"
|
||||
#include "GameSettings.h"
|
||||
#include "Music Control.h"
|
||||
#include "Options Screen.h"
|
||||
#include "ai.h"
|
||||
#include "renderworld.h"
|
||||
#include "SmokeEffects.h"
|
||||
#include "random.h"
|
||||
#include "Map Screen Interface.h"
|
||||
#include "Map Screen Interface Border.h"
|
||||
#include "Map Screen Interface Bottom.h"
|
||||
#include "Interface.h"
|
||||
#include "Map Screen Helicopter.h"
|
||||
#include "Arms Dealer Init.h"
|
||||
#include "Tactical Placement GUI.h"
|
||||
#include "Strategic Mines.h"
|
||||
#include "Strategic Town Loyalty.h"
|
||||
#include "Vehicles.h"
|
||||
#include "Merc Contract.h"
|
||||
#include "Bullets.h"
|
||||
#include "Air Raid.h"
|
||||
#include "physics.h"
|
||||
#include "Strategic Pathing.h"
|
||||
#include "TeamTurns.h"
|
||||
#include "Explosion Control.h"
|
||||
#include "Creature Spreading.h"
|
||||
#include "Strategic Status.h"
|
||||
#include "PreBattle Interface.h"
|
||||
#include "Boxing.h"
|
||||
#include "Strategic AI.h"
|
||||
#include "Map Screen Interface Map.h"
|
||||
#include "Meanwhile.h"
|
||||
#include "Dialogue Control.h"
|
||||
#include "Text.h"
|
||||
#include "LightEffects.h"
|
||||
#include "HelpScreen.h"
|
||||
#include "Animated ProgressBar.h"
|
||||
#include "MercTextBox.h"
|
||||
#include "Render Dirty.h"
|
||||
#include "Map Information.h"
|
||||
#include "Interface Items.h"
|
||||
#include "Civ Quotes.h"
|
||||
#include "Scheduling.h"
|
||||
#include "Animation Data.h"
|
||||
#include "Game Init.h"
|
||||
#include "Cheats.h"
|
||||
#include "Strategic Event Handler.h"
|
||||
#include "Interface Panels.h"
|
||||
#include "interface Dialogue.h"
|
||||
#include "Assignments.h"
|
||||
#include "ShopKeeper Interface.h"
|
||||
#include "PostalService.h"
|
||||
#include "MilitiaSquads.h"
|
||||
#include "Facilities.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 "types.h"
|
||||
#include "Soldier Profile.h"
|
||||
#include "FileMan.h"
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
#include "DEBUG.H"
|
||||
#include "Overhead.h"
|
||||
#include "Keys.h"
|
||||
#include "finances.h"
|
||||
#include "history.h"
|
||||
#include "files.h"
|
||||
#include "laptop.h"
|
||||
#include "INIReader.h"
|
||||
#include "email.h"
|
||||
#include "strategicmap.h"
|
||||
#include "Game Events.h"
|
||||
#include "Game Clock.h"
|
||||
#include "Soldier Create.h"
|
||||
#include "worlddef.h"
|
||||
#include "LaptopSave.h"
|
||||
#include "strategicmap.h"
|
||||
#include "Queen Command.h"
|
||||
#include "SaveLoadGame.h"
|
||||
#include "Tactical Save.h"
|
||||
#include "Squads.h"
|
||||
#include "environment.h"
|
||||
#include "lighting.h"
|
||||
#include "Strategic Movement.h"
|
||||
#include "strategic.h"
|
||||
#include "Isometric Utils.h"
|
||||
#include "Quests.h"
|
||||
#include "opplist.h"
|
||||
#include "message.h"
|
||||
#include "NPC.h"
|
||||
#include "Merc Hiring.h"
|
||||
#include "SaveLoadScreen.h"
|
||||
#include "GameVersion.h"
|
||||
#include "GameSettings.h"
|
||||
#include "Music Control.h"
|
||||
#include "Options Screen.h"
|
||||
#include "ai.h"
|
||||
#include "renderworld.h"
|
||||
#include "SmokeEffects.h"
|
||||
#include "random.h"
|
||||
#include "Map Screen Interface.h"
|
||||
#include "Map Screen Interface Border.h"
|
||||
#include "Map Screen Interface Bottom.h"
|
||||
|
||||
#include "Interface.h"
|
||||
#include "Map Screen Helicopter.h"
|
||||
#include "environment.h"
|
||||
#include "Arms Dealer Init.h"
|
||||
#include "Tactical Placement GUI.h"
|
||||
|
||||
#include "Strategic Mines.h"
|
||||
#include "Strategic Town Loyalty.h"
|
||||
#include "Vehicles.h"
|
||||
#include "Merc Contract.h"
|
||||
#include "Bullets.h"
|
||||
#include "Air Raid.h"
|
||||
#include "physics.h"
|
||||
#include "Strategic Pathing.h"
|
||||
|
||||
#include "TeamTurns.h"
|
||||
|
||||
#include "Explosion Control.h"
|
||||
#include "Creature Spreading.h"
|
||||
#include "Strategic Status.h"
|
||||
#include "PreBattle Interface.h"
|
||||
#include "Boxing.h"
|
||||
#include "Strategic AI.h"
|
||||
#include "Map Screen Interface Map.h"
|
||||
|
||||
#include "Meanwhile.h"
|
||||
#include "Dialogue Control.h"
|
||||
#include "Text.h"
|
||||
#include "Map Screen Interface.h"
|
||||
#include "LightEffects.h"
|
||||
#include "HelpScreen.h"
|
||||
#include "Animated ProgressBar.h"
|
||||
#include "MercTextBox.h"
|
||||
#include "Render Dirty.h"
|
||||
#include "Map Information.h"
|
||||
#include "Interface Items.h"
|
||||
#include "Civ Quotes.h"
|
||||
#include "Scheduling.h"
|
||||
#include "Animation Data.h"
|
||||
#include "Game Init.h"
|
||||
#include "Cheats.h"
|
||||
#include "Strategic Event Handler.h"
|
||||
#include "Interface Panels.h"
|
||||
#include "interface Dialogue.h"
|
||||
#include "Assignments.h"
|
||||
#include "Interface Items.h"
|
||||
#include "ShopKeeper Interface.h"
|
||||
#include "PostalService.h"
|
||||
// HEADROCK HAM B1: Additional Include for HAM
|
||||
#include "MilitiaSquads.h"
|
||||
// HEADROCK HAM 3.5: Another include for HAM
|
||||
#include "Facilities.h"
|
||||
// HEADROCK HAM 3.6: Yet another include, goddammit
|
||||
#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 "BobbyRMailOrder.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 "Vehicles.h"
|
||||
#include "BriefingRoom_Data.h"
|
||||
|
||||
#include <vfs/Core/vfs.h>
|
||||
//rain
|
||||
//end rain
|
||||
|
||||
#include "connect.h"
|
||||
#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(...)
|
||||
/////////////////////////////////////////////////////
|
||||
//
|
||||
// Local Defines
|
||||
//
|
||||
/////////////////////////////////////////////////////
|
||||
#include <language.hpp>
|
||||
|
||||
#ifdef JA2UB
|
||||
#include "Ja25 Strategic Ai.h"
|
||||
#include "Ja25_Tactical.h"
|
||||
#include "Strategic Movement.h"
|
||||
#include "LuaInitNPCs.h"
|
||||
#include "ub_config.h"
|
||||
#include "Ja25Update.h"
|
||||
#endif
|
||||
|
||||
#include "LuaInitNPCs.h"
|
||||
#include <language.hpp>
|
||||
|
||||
|
||||
#ifdef JA2UB
|
||||
//void ConvertWeapons( SOLDIERTYPE *pSoldier );
|
||||
extern void MakeBadSectorListFromMapsOnHardDrive( BOOLEAN fDisplayMessages ); // ja25 UB
|
||||
#endif
|
||||
|
||||
@@ -169,6 +205,8 @@ extern BOOLEAN gfCreatureMeanwhileScenePlayed;
|
||||
BOOLEAN gMusicModeToPlay = FALSE;
|
||||
|
||||
|
||||
//extern BOOLEAN gfFirstTimeInGameHeliCrash;
|
||||
|
||||
#ifdef JA2BETAVERSION
|
||||
BOOLEAN gfDisplaySaveGamesNowInvalidatedMsg = FALSE;
|
||||
#endif
|
||||
@@ -176,13 +214,14 @@ BOOLEAN gfDisplaySaveGamesNowInvalidatedMsg = FALSE;
|
||||
BOOLEAN gfUseConsecutiveQuickSaveSlots = FALSE;
|
||||
UINT32 guiCurrentQuickSaveNumber = 0;
|
||||
UINT32 guiLastSaveGameNum = 1;
|
||||
BOOLEAN DoesAutoSaveFileExist( BOOLEAN fLatestAutoSave );
|
||||
|
||||
UINT32 guiJA2EncryptionSet = 0;
|
||||
UINT32 CalcJA2EncryptionSet( SAVED_GAME_HEADER * pSaveGameHeader );
|
||||
|
||||
typedef struct
|
||||
{
|
||||
//The screen that the game was saved from
|
||||
//The screen that the gaem was saved from
|
||||
UINT32 uiCurrentScreen;
|
||||
|
||||
UINT32 uiCurrentUniqueSoldierId;
|
||||
@@ -493,6 +532,10 @@ BOOLEAN LoadSavedMercProfiles( HWFILE hwFile );
|
||||
BOOLEAN SaveSoldierStructure( 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 LoadPtrInfo( PTR *pData, UINT32 uiSizeOfObject, HWFILE hFile );
|
||||
|
||||
@@ -580,7 +623,28 @@ void ValidateStrategicGroups();
|
||||
//if all that sounds compilcated, it is
|
||||
|
||||
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 )
|
||||
{
|
||||
UINT32 uiNumBytesRead;
|
||||
@@ -596,7 +660,7 @@ BOOLEAN LBENODE::Load( HWFILE hFile )
|
||||
//when combined with copy assignment which makes a new LBENODE
|
||||
gLastLBEUniqueID = uniqueID + 1;
|
||||
}
|
||||
int size = 0;
|
||||
int size;
|
||||
if ( !FileRead( hFile, &size, sizeof(int), &uiNumBytesRead ) )
|
||||
{
|
||||
return(FALSE);
|
||||
@@ -661,7 +725,7 @@ BOOLEAN LBENODE::Save( HWFILE hFile, bool fSavingMap )
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static BOOLEAN LoadArmsDealerInventoryFromSavedGameFile( HWFILE hFile )
|
||||
BOOLEAN LoadArmsDealerInventoryFromSavedGameFile( HWFILE hFile )
|
||||
{
|
||||
UINT32 uiNumBytesRead;
|
||||
UINT8 ubArmsDealer;
|
||||
@@ -672,7 +736,7 @@ static BOOLEAN LoadArmsDealerInventoryFromSavedGameFile( HWFILE hFile )
|
||||
|
||||
if (guiCurrentSaveGameVersion >= NIV_SAVEGAME_DATATYPE_CHANGE)
|
||||
{
|
||||
int dealers = 0;
|
||||
int dealers;
|
||||
if (!FileRead( hFile, &dealers, sizeof( int ), &uiNumBytesRead ))
|
||||
{
|
||||
return( FALSE );
|
||||
@@ -700,7 +764,7 @@ static BOOLEAN LoadArmsDealerInventoryFromSavedGameFile( HWFILE hFile )
|
||||
//loop through all the dealers inventories
|
||||
for( ubArmsDealer=0; ubArmsDealer<dealers; ++ubArmsDealer )
|
||||
{
|
||||
int size = 0;
|
||||
int size;
|
||||
if (!FileRead( hFile, &size, sizeof( int ), &uiNumBytesRead ))
|
||||
{
|
||||
return( FALSE );
|
||||
@@ -1441,7 +1505,7 @@ BOOLEAN MERCPROFILESTRUCT::Load(HWFILE hFile, bool forceLoadOldVersion, bool for
|
||||
numBytesRead = ReadFieldByField(hFile, &filler, sizeof(filler), sizeof(UINT8), numBytesRead);
|
||||
|
||||
//DBrot: More rooms
|
||||
int size = 0;
|
||||
int size;
|
||||
if ( numBytesRead + buffer != SIZEOF_MERCPROFILESTRUCT_POD )
|
||||
{
|
||||
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
|
||||
Menptr[cnt].ubNextToPreviousAttackerID = NOBODY;
|
||||
@@ -8664,7 +8732,7 @@ BOOLEAN SaveGeneralInfo( HWFILE hFile )
|
||||
extern UINT32 guiRainLoop;
|
||||
//end rain
|
||||
|
||||
static void EnsureValidLoadScreen( UINT32* puiScreen )
|
||||
void EnsureValidLoadScreen( UINT32* puiScreen )
|
||||
{
|
||||
if (!puiScreen)
|
||||
return;
|
||||
@@ -9734,3 +9802,30 @@ UINT32 CalcJA2EncryptionSet( SAVED_GAME_HEADER * pSaveGameHeader )
|
||||
|
||||
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 "WordWrap.h"
|
||||
#include "strategicmap.h"
|
||||
#include "finances.h"
|
||||
#include "WCheck.h"
|
||||
#include "Utilities.h"
|
||||
#include "Cursors.h"
|
||||
@@ -18,6 +19,7 @@
|
||||
#include "Options Screen.h"
|
||||
#include "GameVersion.h"
|
||||
#include "sysutil.h"
|
||||
#include "Tactical Save.h"
|
||||
#include "Overhead.h"
|
||||
#include "gamescreen.h"
|
||||
#include "GameSettings.h"
|
||||
@@ -29,6 +31,7 @@
|
||||
#include "message.h"
|
||||
#include "Map Screen Interface.h"
|
||||
#include "Multi Language Graphic Utils.h"
|
||||
#include "Campaign Types.h"
|
||||
#include "PostalService.h"
|
||||
|
||||
#include "connect.h"
|
||||
@@ -38,6 +41,10 @@
|
||||
#include <vfs/Core/vfs_file_raii.h>
|
||||
|
||||
#ifdef JA2UB
|
||||
#include "Strategic Movement.h"
|
||||
|
||||
//#include "Strategic Movement Costs.h"
|
||||
|
||||
#include "LuaInitNPCs.h"
|
||||
#endif
|
||||
|
||||
|
||||
+29
-21
@@ -1,22 +1,30 @@
|
||||
#include "builddefines.h"
|
||||
#include <stdio.h>
|
||||
#include <types.h>
|
||||
#include <video.h>
|
||||
#include <MemMan.h>
|
||||
#include <Overhead Types.h>
|
||||
#include <Soldier Control.h>
|
||||
#include "renderworld.h"
|
||||
#include "input.h"
|
||||
#include "Font.h"
|
||||
#include "screenids.h"
|
||||
#include "Overhead.h"
|
||||
#include "Font Control.h"
|
||||
#include "Animation Control.h"
|
||||
#include "Animation Data.h"
|
||||
#include "Render Dirty.h"
|
||||
#include "Sys Globals.h"
|
||||
#include "english.h"
|
||||
#include "MessageBoxScreen.h"
|
||||
#include "builddefines.h"
|
||||
#include <stdio.h>
|
||||
#include <time.h>
|
||||
#include "sgp.h"
|
||||
#include "gameloop.h"
|
||||
#include "himage.h"
|
||||
#include "vobject.h"
|
||||
#include "vobject_blitters.h"
|
||||
#include "worlddef.h"
|
||||
#include "renderworld.h"
|
||||
#include "input.h"
|
||||
#include "Font.h"
|
||||
#include "screenids.h"
|
||||
#include "Overhead.h"
|
||||
#include "sysutil.h"
|
||||
#include "Font Control.h"
|
||||
#include "Animation Control.h"
|
||||
#include "Animation Data.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
|
||||
class OBJECTTYPE;
|
||||
@@ -36,7 +44,7 @@ static UINT8 ubNumStates = 0;
|
||||
static UINT16 *pusStates = NULL;
|
||||
static INT8 ubCurLoadedState = 0;
|
||||
|
||||
static void CycleAnimations( )
|
||||
void CycleAnimations( )
|
||||
{
|
||||
INT32 cnt;
|
||||
|
||||
@@ -310,7 +318,7 @@ UINT32 AniEditScreenHandle(void)
|
||||
}
|
||||
|
||||
|
||||
static UINT16 GetAnimStateFromName( STR8 zName )
|
||||
UINT16 GetAnimStateFromName( STR8 zName )
|
||||
{
|
||||
INT32 cnt;
|
||||
|
||||
|
||||
+6
-1
@@ -1,3 +1,4 @@
|
||||
#include <stdio.h>
|
||||
#include <time.h>
|
||||
#include "sgp.h"
|
||||
#include "gameloop.h"
|
||||
@@ -16,16 +17,20 @@
|
||||
#include "Tactical Save.h"
|
||||
#include "Interface.h"
|
||||
#include "GameSettings.h"
|
||||
#include "mapscreen.h"
|
||||
#include "Interface Control.h"
|
||||
#include "Text.h"
|
||||
#include "HelpScreen.h"
|
||||
#include "PreBattle Interface.h"
|
||||
#include "Tactical Placement GUI.h"//dnl ch45 071009
|
||||
#include "Map Screen Interface Map Inventory.h"//dnl ch51 081009
|
||||
#include "World Items.h"//dnl ch77 191113
|
||||
#include "Overhead.h" // added by Flugente
|
||||
#include "Ambient Control.h" // sevenfm
|
||||
|
||||
#include "SaveLoadScreen.h"
|
||||
|
||||
#include "Lua Interpreter.h"
|
||||
//**ddd direct link libraries
|
||||
#pragma comment (lib, "user32.lib")
|
||||
#pragma comment (lib, "gdi32.lib")
|
||||
@@ -75,7 +80,7 @@ void HandleNewScreenChange( UINT32 uiNewScreen, UINT32 uiOldScreen );
|
||||
|
||||
#ifdef JA2BETAVERSION
|
||||
BOOLEAN gubReportMapscreenLock = 0;
|
||||
static void ReportMapscreenErrorLock()
|
||||
void ReportMapscreenErrorLock()
|
||||
{
|
||||
switch( gubReportMapscreenLock )
|
||||
{
|
||||
|
||||
+81
-64
@@ -1,68 +1,85 @@
|
||||
#include "builddefines.h"
|
||||
#include <stdio.h>
|
||||
#include "sgp.h"
|
||||
#include "gameloop.h"
|
||||
#include <Overhead Types.h>
|
||||
#include <Soldier Control.h>
|
||||
#include "renderworld.h"
|
||||
#include "Font.h"
|
||||
#include "screenids.h"
|
||||
#include "Screens.h"
|
||||
#include <Meanwhile.h>
|
||||
#include "HelpScreen.h"
|
||||
#include "Overhead.h"
|
||||
#include "Event Pump.h"
|
||||
#include "Font Control.h"
|
||||
#include "Timer Control.h"
|
||||
#include "Radar Screen.h"
|
||||
#include "Render Dirty.h"
|
||||
#include "Interface.h"
|
||||
#include "Handle UI.h"
|
||||
#include "Cursors.h"
|
||||
#include "vobject_blitters.h"
|
||||
#include "Button System.h"
|
||||
#include "lighting.h"
|
||||
#include "Sys Globals.h"
|
||||
#include "environment.h"
|
||||
#include "Bullets.h"
|
||||
#include <mousesystem.h>
|
||||
#include "message.h"
|
||||
#include "overhead map.h"
|
||||
#include "Strategic Exit GUI.h"
|
||||
#include "Tactical Placement GUI.h"
|
||||
#include "Air Raid.h"
|
||||
#include "Game Clock.h"
|
||||
#include "Game Init.h"
|
||||
#include "builddefines.h"
|
||||
#include <stdio.h>
|
||||
#include <time.h>
|
||||
#include "sgp.h"
|
||||
#include "gameloop.h"
|
||||
#include "vobject.h"
|
||||
#include "worlddef.h"
|
||||
#include "renderworld.h"
|
||||
#include "Font.h"
|
||||
#include "screenids.h"
|
||||
#include "Screens.h"
|
||||
#include "Overhead.h"
|
||||
#include "Isometric Utils.h"
|
||||
#include "sysutil.h"
|
||||
#include "input.h"
|
||||
#include "Event Pump.h"
|
||||
#include "Font Control.h"
|
||||
#include "Timer Control.h"
|
||||
#include "Radar Screen.h"
|
||||
#include "Render Dirty.h"
|
||||
#include "Interface.h"
|
||||
#include "Handle UI.h"
|
||||
#include <wchar.h>
|
||||
#include <tchar.h>
|
||||
#include "Cursors.h"
|
||||
#include "vobject_blitters.h"
|
||||
#include "Button System.h"
|
||||
#include "lighting.h"
|
||||
#include "renderworld.h"
|
||||
#include "Sys Globals.h"
|
||||
#include "environment.h"
|
||||
#include "Bullets.h"
|
||||
#include "Assignments.h"
|
||||
#include "message.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"
|
||||
|
||||
#ifdef JA2UB
|
||||
|
||||
+52
-39
@@ -1,38 +1,51 @@
|
||||
#include "builddefines.h"
|
||||
#include <cstdio>
|
||||
#include "sgp.h"
|
||||
#include "gameloop.h"
|
||||
#include "himage.h"
|
||||
#include "vobject.h"
|
||||
#include "vobject_blitters.h"
|
||||
#include "WCheck.h"
|
||||
#include "input.h"
|
||||
#include "Font.h"
|
||||
#include "screenids.h"
|
||||
#include "Screens.h"
|
||||
#include "Font Control.h"
|
||||
#include <Overhead Types.h>
|
||||
#include <Soldier Control.h>
|
||||
#include "Timer Control.h"
|
||||
#include "Sys Globals.h"
|
||||
#include <Handle UI.h>
|
||||
#include "Overhead.h"
|
||||
#include "Utilities.h"
|
||||
#include "Render Dirty.h"
|
||||
#include "jascreens.h"
|
||||
#include "mainmenuscreen.h"
|
||||
#include "Game Init.h"
|
||||
#include "Init.h"
|
||||
#include "Cursor Control.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 "Text.h"
|
||||
#include "INIReader.h"
|
||||
#include "builddefines.h"
|
||||
#include <stdio.h>
|
||||
#include <time.h>
|
||||
#include "sgp.h"
|
||||
#include "gameloop.h"
|
||||
#include "himage.h"
|
||||
#include "vobject.h"
|
||||
#include "vobject_blitters.h"
|
||||
#include "WCheck.h"
|
||||
#include "input.h"
|
||||
#include "Font.h"
|
||||
#include "timer.h"
|
||||
#include "mousesystem.h"
|
||||
#include "screenids.h"
|
||||
#include "Screens.h"
|
||||
#include "Font Control.h"
|
||||
#include "sysutil.h"
|
||||
#include "tiledef.h"
|
||||
#include "worlddef.h"
|
||||
#include "editscreen.h"
|
||||
#include <wchar.h>
|
||||
#include <tchar.h>
|
||||
#include "Timer Control.h"
|
||||
#include "Sys Globals.h"
|
||||
#include "Interface.h"
|
||||
#include "Overhead.h"
|
||||
#include "Utilities.h"
|
||||
#include "Render Dirty.h"
|
||||
#include "jascreens.h"
|
||||
#include "gameloop.h"
|
||||
#include "Event Pump.h"
|
||||
#include "Animation Cache.h"
|
||||
#include "lighting.h"
|
||||
#include "mainmenuscreen.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 <language.hpp>
|
||||
@@ -650,7 +663,7 @@ UINT32 DebugScreenInit(void)
|
||||
}
|
||||
|
||||
|
||||
static BOOLEAN CheckForAndExitTacticalDebug( )
|
||||
BOOLEAN CheckForAndExitTacticalDebug( )
|
||||
{
|
||||
if ( gfExitDebugScreen )
|
||||
{
|
||||
@@ -667,7 +680,7 @@ static BOOLEAN CheckForAndExitTacticalDebug( )
|
||||
return( FALSE );
|
||||
}
|
||||
|
||||
static void ExitDebugScreen( )
|
||||
void ExitDebugScreen( )
|
||||
{
|
||||
if ( guiCurrentScreen == DEBUG_SCREEN )
|
||||
{
|
||||
@@ -922,7 +935,7 @@ UINT32 DemoExitScreenInit(void)
|
||||
}
|
||||
|
||||
|
||||
static void DoneFadeOutForDemoExitScreen( void )
|
||||
void DoneFadeOutForDemoExitScreen( void )
|
||||
{
|
||||
gfProgramIsRunning = FALSE;
|
||||
}
|
||||
@@ -930,7 +943,7 @@ static void DoneFadeOutForDemoExitScreen( void )
|
||||
// unused
|
||||
//extern INT8 gbFadeSpeed;
|
||||
|
||||
static void DisplayTopwareGermanyAddress()
|
||||
void DisplayTopwareGermanyAddress()
|
||||
{
|
||||
VOBJECT_DESC vo_desc;
|
||||
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.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);
|
||||
|
||||
//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.HandleAddingEnemiesToTunnelMaps = iniReader.ReadBoolean("Unfinished Business Settings","HANDLE_ADDING_ENEMIES_TO_TUNNEL_MAPS", TRUE);
|
||||
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.ubEndDefaultSectorZ = iniReader.ReadInteger("Unfinished Business Settings","DEFAULT_END_SECTOR_Z", 0, 0, 16);
|
||||
|
||||
@@ -224,14 +224,6 @@ typedef struct
|
||||
INT16 BettyBloodCatSectorX;
|
||||
INT16 BettyBloodCatSectorY;
|
||||
INT8 BettyBloodCatSectorZ;
|
||||
|
||||
INT16 Tunnel1_SectorX;
|
||||
INT16 Tunnel1_SectorY;
|
||||
INT8 Tunnel1_SectorZ;
|
||||
|
||||
INT16 Tunnel2_SectorX;
|
||||
INT16 Tunnel2_SectorY;
|
||||
INT8 Tunnel2_SectorZ;
|
||||
} GAME_UB_OPTIONS;
|
||||
|
||||
extern GAME_UB_OPTIONS gGameUBOptions;
|
||||
|
||||
+2
-1
@@ -3,6 +3,7 @@
|
||||
#include "Utilities.h"
|
||||
#include "WCheck.h"
|
||||
#include "Timer Control.h"
|
||||
#include "DEBUG.H"
|
||||
#include "WordWrap.h"
|
||||
#include "Encrypted File.h"
|
||||
#include "email.h"
|
||||
@@ -15,7 +16,7 @@
|
||||
#include "sysutil.h"
|
||||
|
||||
#include "LocalizedStrings.h"
|
||||
#include <soldier profile type.h>
|
||||
#include "Soldier Profile.h"
|
||||
|
||||
UINT8 MAX_NUMBER_MERCS = 0;
|
||||
|
||||
|
||||
+104
-89
@@ -1,81 +1,96 @@
|
||||
#include "Assignments.h"
|
||||
#include "strategic.h"
|
||||
#include "Items.h"
|
||||
#include "Overhead.h"
|
||||
#include "Game Clock.h"
|
||||
#include "stdlib.h"
|
||||
#include "message.h"
|
||||
#include "Font Control.h"
|
||||
#include "Map Screen Interface.h"
|
||||
#include "soldier profile type.h"
|
||||
#include "Soldier Profile.h"
|
||||
#include "Campaign.h"
|
||||
#include "Queen Command.h"
|
||||
#include "strategicmap.h"
|
||||
#include "Text.h"
|
||||
#include "Dialogue Control.h"
|
||||
#include "NPC.h"
|
||||
#include "Strategic Town Loyalty.h"
|
||||
#include "Animation Control.h"
|
||||
#include "mapscreen.h"
|
||||
#include "Squads.h"
|
||||
#include "Map Screen Helicopter.h"
|
||||
#include "PopUpBox.h"
|
||||
#include "Vehicles.h"
|
||||
#include "Merc Contract.h"
|
||||
#include "Map Screen Interface Map.h"
|
||||
#include "Strategic Movement.h"
|
||||
#include "laptop.h"
|
||||
#include "finances.h"
|
||||
#include "LaptopSave.h"
|
||||
#include "renderworld.h"
|
||||
#include "Interface Control.h"
|
||||
#include "Interface.h"
|
||||
#include "Soldier Find.h"
|
||||
#include <Rotting Corpses.h>
|
||||
#include "Utilities.h"
|
||||
#include "random.h"
|
||||
#include "Soldier Add.h"
|
||||
#include "GameSettings.h"
|
||||
#include "Isometric Utils.h"
|
||||
#include "Soldier macros.h"
|
||||
#include "Explosion Control.h"
|
||||
#include "SkillCheck.h"
|
||||
#include "Quests.h"
|
||||
#include "Town Militia.h"
|
||||
#include "Map Screen Interface Border.h"
|
||||
#include "math.h"
|
||||
#include "Game Event Hook.h"
|
||||
#include "Map Information.h"
|
||||
#include "Strategic Status.h"
|
||||
#include "history.h"
|
||||
#include "Map Screen Interface Map Inventory.h"
|
||||
#include "interface Dialogue.h"
|
||||
// added by SANDRO
|
||||
#include "AIInternals.h"
|
||||
#include "Morale.h"
|
||||
#include "Food.h"
|
||||
#include "Tactical Save.h" // added by Flugente
|
||||
#include "Campaign Types.h" // added by Flugente
|
||||
#include "DynamicDialogue.h" // added by Flugente
|
||||
#include "Disease.h" // added by Flugente
|
||||
#include "PMC.h" // added by Flugente
|
||||
#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 "Assignments.h"
|
||||
#include "strategic.h"
|
||||
#include "Items.h"
|
||||
#include "Overhead.h"
|
||||
#include "Game Clock.h"
|
||||
#include "stdlib.h"
|
||||
#include "message.h"
|
||||
#include "Font Control.h"
|
||||
#include "Map Screen Interface.h"
|
||||
#include "soldier profile type.h"
|
||||
#include "Soldier Profile.h"
|
||||
#include "Campaign.h"
|
||||
#include "Queen Command.h"
|
||||
#include "strategicmap.h"
|
||||
#include "Text.h"
|
||||
#include "Dialogue Control.h"
|
||||
#include "NPC.h"
|
||||
#include "Strategic Town Loyalty.h"
|
||||
#include "Animation Control.h"
|
||||
#include "mapscreen.h"
|
||||
#include "Squads.h"
|
||||
#include "Map Screen Helicopter.h"
|
||||
#include "PopUpBox.h"
|
||||
#include "Vehicles.h"
|
||||
#include "Merc Contract.h"
|
||||
#include "Map Screen Interface Map.h"
|
||||
#include "Strategic Movement.h"
|
||||
#include "laptop.h"
|
||||
#include "finances.h"
|
||||
#include "LaptopSave.h"
|
||||
#include "renderworld.h"
|
||||
#include "Interface Control.h"
|
||||
#include "Interface.h"
|
||||
#include "Soldier Find.h"
|
||||
#include "ai.h"
|
||||
#include "Utilities.h"
|
||||
#include "random.h"
|
||||
#include "line.h"
|
||||
#include "Soldier Add.h"
|
||||
#include "GameSettings.h"
|
||||
#include "Isometric Utils.h"
|
||||
#include "Soldier macros.h"
|
||||
#include "Explosion Control.h"
|
||||
#include "SkillCheck.h"
|
||||
#include "Quests.h"
|
||||
#include "Town Militia.h"
|
||||
#include "Map Screen Interface Border.h"
|
||||
#include "math.h"
|
||||
#include "SkillCheck.h"
|
||||
#include "Strategic Pathing.h"
|
||||
#include "Game Event Hook.h"
|
||||
#include "Strategic Event Handler.h"
|
||||
#include "Map Information.h"
|
||||
#include "Strategic Status.h"
|
||||
#include "history.h"
|
||||
#include "Map Screen Interface Map Inventory.h"
|
||||
#include "interface Dialogue.h"
|
||||
// added by SANDRO
|
||||
#include "AIInternals.h"
|
||||
#include "Morale.h"
|
||||
#include "Food.h"
|
||||
#include "Tactical Save.h" // added by Flugente
|
||||
#include "Campaign Types.h" // added by Flugente
|
||||
#include "Strategic Town Loyalty.h"
|
||||
#include "DynamicDialogue.h" // added by Flugente
|
||||
#include "Disease.h" // added by Flugente
|
||||
#include "Queen Command.h" // added by Flugente
|
||||
#include "PMC.h" // added by Flugente
|
||||
#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 <queue>
|
||||
|
||||
#include "Vehicles.h"
|
||||
|
||||
#include "GameInitOptionsScreen.h"
|
||||
#include "Facilities.h"
|
||||
|
||||
//forward declarations of common classes to eliminate includes
|
||||
class OBJECTTYPE;
|
||||
class SOLDIERTYPE;
|
||||
extern int POP_UP_BOX_X;
|
||||
extern WorldItems gAllWorldItems;
|
||||
|
||||
#include "MilitiaSquads.h"
|
||||
// HEADROCK HAM 3.5: Include Facility data
|
||||
#include "Facilities.h"
|
||||
|
||||
#include "Vehicles.h"
|
||||
|
||||
#ifdef JA2UB
|
||||
#include "Explosion Control.h"
|
||||
@@ -767,7 +782,7 @@ void ChangeSoldiersAssignment( SOLDIERTYPE *pSoldier, INT8 bAssignment )
|
||||
fMapPanelDirty = TRUE;
|
||||
}
|
||||
|
||||
static BOOLEAN BasicCanCharacterAssignment( SOLDIERTYPE * pSoldier, BOOLEAN fNotInCombat )
|
||||
BOOLEAN BasicCanCharacterAssignment( SOLDIERTYPE * pSoldier, BOOLEAN fNotInCombat )
|
||||
{
|
||||
AssertNotNIL(pSoldier);
|
||||
// global conditions restricting all assignment changes
|
||||
@@ -1350,7 +1365,7 @@ BOOLEAN DoesCharacterHaveAnyItemsToRepair( SOLDIERTYPE *pSoldier, INT8 bHighestP
|
||||
return( FALSE );
|
||||
}
|
||||
|
||||
static BOOLEAN BasicCanCharacterRepair( SOLDIERTYPE * pSoldier )
|
||||
BOOLEAN BasicCanCharacterRepair( SOLDIERTYPE * pSoldier )
|
||||
{
|
||||
AssertNotNIL(pSoldier);
|
||||
|
||||
@@ -2433,7 +2448,7 @@ BOOLEAN CanCharacterTrainTeammates( SOLDIERTYPE *pSoldier )
|
||||
return( TRUE );
|
||||
}
|
||||
|
||||
static BOOLEAN CanCharacterBeTrainedByOther( SOLDIERTYPE *pSoldier )
|
||||
BOOLEAN CanCharacterBeTrainedByOther( SOLDIERTYPE *pSoldier )
|
||||
{
|
||||
AssertNotNIL(pSoldier);
|
||||
|
||||
@@ -2818,7 +2833,7 @@ BOOLEAN CanCharacterSnitch( SOLDIERTYPE *pSoldier )
|
||||
return( FALSE );
|
||||
}
|
||||
|
||||
static BOOLEAN CanCharacterSpreadPropaganda( SOLDIERTYPE *pSoldier )
|
||||
BOOLEAN CanCharacterSpreadPropaganda( SOLDIERTYPE *pSoldier )
|
||||
{
|
||||
AssertNotNIL(pSoldier);
|
||||
|
||||
@@ -2849,7 +2864,7 @@ static BOOLEAN CanCharacterSpreadPropaganda( SOLDIERTYPE *pSoldier )
|
||||
return( TRUE );
|
||||
}
|
||||
|
||||
static BOOLEAN CanCharacterGatherInformation( SOLDIERTYPE *pSoldier )
|
||||
BOOLEAN CanCharacterGatherInformation( SOLDIERTYPE *pSoldier )
|
||||
{
|
||||
AssertNotNIL(pSoldier);
|
||||
|
||||
@@ -2880,7 +2895,7 @@ static BOOLEAN CanCharacterGatherInformation( SOLDIERTYPE *pSoldier )
|
||||
return( TRUE );
|
||||
}
|
||||
|
||||
static BOOLEAN CanCharacterSnitchInPrison( SOLDIERTYPE *pSoldier )
|
||||
BOOLEAN CanCharacterSnitchInPrison( SOLDIERTYPE *pSoldier )
|
||||
{
|
||||
AssertNotNIL(pSoldier);
|
||||
|
||||
@@ -3158,7 +3173,7 @@ UINT8 GetNumberThatCanBeDoctored( SOLDIERTYPE *pDoctor, BOOLEAN fThisHour, BOOLE
|
||||
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;
|
||||
SOLDIERTYPE *pSoldier = MercPtrs[0], *pTeamSoldier = NULL;
|
||||
@@ -3579,7 +3594,7 @@ UINT32 CalculatePrisonGuardValue(SOLDIERTYPE *pSoldier )
|
||||
return( usValue );
|
||||
}
|
||||
|
||||
static UINT32 CalculateSnitchGuardValue(SOLDIERTYPE *pSoldier )
|
||||
UINT32 CalculateSnitchGuardValue(SOLDIERTYPE *pSoldier )
|
||||
{
|
||||
// this is an assignment
|
||||
UINT32 usValue = 0;
|
||||
@@ -3615,7 +3630,7 @@ static UINT32 CalculateSnitchGuardValue(SOLDIERTYPE *pSoldier )
|
||||
return( usValue );
|
||||
}
|
||||
|
||||
static UINT32 CalculateAllGuardsValueInPrison( INT16 sMapX, INT16 sMapY, INT8 bZ )
|
||||
UINT32 CalculateAllGuardsValueInPrison( INT16 sMapX, INT16 sMapY, INT8 bZ )
|
||||
{
|
||||
UINT32 prisonguardvalue = 0;
|
||||
|
||||
@@ -3636,7 +3651,7 @@ static UINT32 CalculateAllGuardsValueInPrison( INT16 sMapX, INT16 sMapY, INT8 bZ
|
||||
return( prisonguardvalue );
|
||||
}
|
||||
|
||||
static UINT32 CalculateAllSnitchesGuardValueInPrison( INT16 sMapX, INT16 sMapY, INT8 bZ )
|
||||
UINT32 CalculateAllSnitchesGuardValueInPrison( INT16 sMapX, INT16 sMapY, INT8 bZ )
|
||||
{
|
||||
UINT32 prisonguardvalue = 0;
|
||||
|
||||
@@ -3657,7 +3672,7 @@ static UINT32 CalculateAllSnitchesGuardValueInPrison( INT16 sMapX, INT16 sMapY,
|
||||
return( prisonguardvalue );
|
||||
}
|
||||
|
||||
static UINT32 CalculateAllGuardsNumberInPrison( INT16 sMapX, INT16 sMapY, INT8 bZ )
|
||||
UINT32 CalculateAllGuardsNumberInPrison( INT16 sMapX, INT16 sMapY, INT8 bZ )
|
||||
{
|
||||
UINT8 numprisonguards = 0;
|
||||
|
||||
@@ -3832,7 +3847,7 @@ INT16 GetTrainWorkerPts(SOLDIERTYPE *pSoldier)
|
||||
}
|
||||
|
||||
// anv: handle prisoners exposing snitch as a snitch
|
||||
static BOOL HandleSnitchExposition(SOLDIERTYPE *pSoldier)
|
||||
BOOL HandleSnitchExposition(SOLDIERTYPE *pSoldier)
|
||||
{
|
||||
UINT32 uiSuspicion = 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
|
||||
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;
|
||||
UINT16 usDamagePts, usPtsFixed;
|
||||
@@ -6814,7 +6829,7 @@ struct admintmpstruct
|
||||
FLOAT percentage;
|
||||
};
|
||||
|
||||
static UINT16 GetNumberofAdministratableMercs( INT16 sX, INT16 sY )
|
||||
UINT16 GetNumberofAdministratableMercs( INT16 sX, INT16 sY )
|
||||
{
|
||||
UINT16 num = 0;
|
||||
UINT8 townid_origin = GetTownIdForSector( sX, sY );
|
||||
@@ -7927,7 +7942,7 @@ BOOLEAN TrainTownInSector( SOLDIERTYPE *pTrainer, INT16 sMapX, INT16 sMapY, INT1
|
||||
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;
|
||||
|
||||
@@ -11454,7 +11469,7 @@ void ClearScreenMaskForMapScreenExit( void )
|
||||
CreateDestroyMouseRegionsForPrisonerMenu( );
|
||||
}
|
||||
|
||||
static void CreateDestroyMouseRegions( void )
|
||||
void CreateDestroyMouseRegions( void )
|
||||
{
|
||||
static BOOLEAN fCreated = FALSE;
|
||||
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
|
||||
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 )
|
||||
{
|
||||
@@ -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.
|
||||
static void PayFacilityDebtManuallyYesNoBoxCallback( UINT8 bExitValue )
|
||||
void PayFacilityDebtManuallyYesNoBoxCallback( UINT8 bExitValue )
|
||||
{
|
||||
// This callback should only be called if the player can pay off the ENTIRE debt!!
|
||||
Assert( LaptopSaveInfo.iCurrentBalance >= giTotalOwedForFacilityOperationsToday );
|
||||
|
||||
+97
-90
@@ -1,68 +1,75 @@
|
||||
#include "builddefines.h"
|
||||
#include <stdio.h>
|
||||
#include "types.h"
|
||||
#include "Auto Resolve.h"
|
||||
#include "Strategic Movement.h"
|
||||
#include "Queen Command.h"
|
||||
#include "Music Control.h"
|
||||
#include "PreBattle Interface.h"
|
||||
#include "Player Command.h"
|
||||
#include "mousesystem.h"
|
||||
#include "Button System.h"
|
||||
#include "gameloop.h"
|
||||
#include "screenids.h"
|
||||
#include "mapscreen.h"
|
||||
#include "vobject.h"
|
||||
#include "video.h"
|
||||
#include "input.h"
|
||||
#include "gamescreen.h"
|
||||
#include "Render Dirty.h"
|
||||
#include "vobject_blitters.h"
|
||||
#include "sysutil.h"
|
||||
#include "Font Control.h"
|
||||
#include "Soldier Create.h"
|
||||
#include "Overhead.h"
|
||||
#include "Items.h"
|
||||
#include "Weapons.h"
|
||||
#include "Sound Control.h"
|
||||
#include "Game Clock.h"
|
||||
#include "Soldier Profile.h"
|
||||
#include "Campaign.h"
|
||||
#include "Tactical Save.h"
|
||||
#include "Strategic Status.h"
|
||||
#include "Text.h"
|
||||
#include "WordWrap.h"
|
||||
#include "Squads.h"
|
||||
#include "random.h"
|
||||
#include "line.h"
|
||||
#include "english.h"
|
||||
#include "Strategic Merc Handler.h"
|
||||
#include "strategic.h"
|
||||
#include "message.h"
|
||||
#include "Town Militia.h"
|
||||
#include "Animation Data.h"
|
||||
#include "Creature Spreading.h"
|
||||
#include "Strategic AI.h"
|
||||
#include "Morale.h"
|
||||
#include "Strategic Town Loyalty.h"
|
||||
#include "GameSettings.h"
|
||||
#include "Soldier macros.h"
|
||||
#include "strategicmap.h"
|
||||
#include "Quests.h"
|
||||
#include "Meanwhile.h"
|
||||
#include "Inventory Choosing.h"
|
||||
#include "Game Event Hook.h"
|
||||
#include "Assignments.h"
|
||||
#include "Cheats.h"
|
||||
#include "Map Information.h"
|
||||
#include "MilitiaSquads.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 "builddefines.h"
|
||||
#include <stdio.h>
|
||||
#include "types.h"
|
||||
#include "Auto Resolve.h"
|
||||
#include "Strategic Movement.h"
|
||||
#include "Queen Command.h"
|
||||
#include "Music Control.h"
|
||||
#include "PreBattle Interface.h"
|
||||
#include "Player Command.h"
|
||||
#include "mousesystem.h"
|
||||
#include "Button System.h"
|
||||
#include "gameloop.h"
|
||||
#include "screenids.h"
|
||||
#include "mapscreen.h"
|
||||
#include "vobject.h"
|
||||
#include "video.h"
|
||||
#include "input.h"
|
||||
#include "gamescreen.h"
|
||||
#include "Render Dirty.h"
|
||||
#include "vobject_blitters.h"
|
||||
#include "sysutil.h"
|
||||
#include "Font Control.h"
|
||||
#include "Soldier Create.h"
|
||||
#include "Overhead.h"
|
||||
#include "Interface.h"
|
||||
#include "Items.h"
|
||||
#include "Weapons.h"
|
||||
#include "Sound Control.h"
|
||||
#include "Game Clock.h"
|
||||
#include "Soldier Profile.h"
|
||||
#include "Campaign.h"
|
||||
#include "Tactical Save.h"
|
||||
#include "Strategic Status.h"
|
||||
#include "Map Screen Interface.h"
|
||||
#include "Text.h"
|
||||
#include "WordWrap.h"
|
||||
#include "Squads.h"
|
||||
#include "random.h"
|
||||
#include "line.h"
|
||||
#include "english.h"
|
||||
#include "Strategic Pathing.h"
|
||||
#include "Strategic Merc Handler.h"
|
||||
#include "strategic.h"
|
||||
#include "message.h"
|
||||
#include "Town Militia.h"
|
||||
#include "Animation Data.h"
|
||||
#include "Creature Spreading.h"
|
||||
#include "Strategic AI.h"
|
||||
#include "SkillCheck.h"
|
||||
#include "rt time defines.h"
|
||||
#include "Morale.h"
|
||||
#include "Strategic Town Loyalty.h"
|
||||
#include "GameSettings.h"
|
||||
#include "Soldier macros.h"
|
||||
#include "strategicmap.h"
|
||||
#include "Quests.h"
|
||||
#include "Meanwhile.h"
|
||||
#include "Inventory Choosing.h"
|
||||
#include "Game Event Hook.h"
|
||||
#include "Assignments.h"
|
||||
#include "Cheats.h"
|
||||
#include "Map Information.h"
|
||||
#include "MilitiaSquads.h"
|
||||
// #include "Strategic AI.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"
|
||||
|
||||
//#define INVULNERABILITY
|
||||
@@ -330,7 +337,7 @@ SOLDIERCELL *gpCivs = NULL;
|
||||
SOLDIERCELL *gpEnemies = NULL;
|
||||
|
||||
//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 )
|
||||
{
|
||||
@@ -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 )
|
||||
{
|
||||
@@ -349,7 +356,7 @@ static void PlayAutoResolveSampleFromFile( STR8 szFileName, UINT32 usRate, UINT3
|
||||
|
||||
extern void ClearPreviousAIGroupAssignment( GROUP *pGroup );
|
||||
|
||||
static void EliminateAllMercs()
|
||||
void EliminateAllMercs()
|
||||
{
|
||||
SOLDIERCELL *pAttacker = NULL;
|
||||
INT32 i, iNum = 0;
|
||||
@@ -380,7 +387,7 @@ static void EliminateAllMercs()
|
||||
}
|
||||
}
|
||||
|
||||
static void EliminateAllFriendlies()
|
||||
void EliminateAllFriendlies()
|
||||
{
|
||||
INT32 i;
|
||||
if( gpAR )
|
||||
@@ -496,7 +503,7 @@ void EliminateAllEnemies( UINT8 ubSectorX, UINT8 ubSectorY )
|
||||
#define ORIG_RIGHT 92
|
||||
#define ORIG_BOTTOM 84
|
||||
|
||||
static void DoTransitionFromPreBattleInterfaceToAutoResolve()
|
||||
void DoTransitionFromPreBattleInterfaceToAutoResolve()
|
||||
{
|
||||
SGPRect SrcRect, DstRect;
|
||||
UINT32 uiStartTime, uiCurrTime;
|
||||
@@ -727,7 +734,7 @@ UINT32 AutoResolveScreenHandle()
|
||||
return AUTORESOLVE_SCREEN;
|
||||
}
|
||||
|
||||
static void RefreshMerc( SOLDIERTYPE *pSoldier )
|
||||
void RefreshMerc( SOLDIERTYPE *pSoldier )
|
||||
{
|
||||
pSoldier->stats.bLife = pSoldier->stats.bLifeMax;
|
||||
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
|
||||
//stationary groups first.
|
||||
static void AssociateEnemiesWithStrategicGroups()
|
||||
void AssociateEnemiesWithStrategicGroups()
|
||||
{
|
||||
SECTORINFO *pSector;
|
||||
GROUP *pGroup;
|
||||
@@ -1186,7 +1193,7 @@ void CalculateSoldierCells( BOOLEAN fReset )
|
||||
}
|
||||
|
||||
|
||||
static INT32 DetermineCellID( SOLDIERCELL *pCell )
|
||||
INT32 DetermineCellID( SOLDIERCELL *pCell )
|
||||
{
|
||||
INT32 iIndex;
|
||||
|
||||
@@ -1205,7 +1212,7 @@ static INT32 DetermineCellID( SOLDIERCELL *pCell )
|
||||
return 0;
|
||||
}
|
||||
|
||||
static BOOLEAN IsItAllowedToRender( SOLDIERCELL *pCell )
|
||||
BOOLEAN IsItAllowedToRender( SOLDIERCELL *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 ) ) );
|
||||
}
|
||||
|
||||
static void BuildInterfaceBuffer()
|
||||
void BuildInterfaceBuffer()
|
||||
{
|
||||
VSURFACE_DESC vs_desc;
|
||||
UINT16 usUselessWidth, usUselessHeight;
|
||||
@@ -1430,7 +1437,7 @@ static void BuildInterfaceBuffer()
|
||||
SetClippingRect( &ClipRect );
|
||||
}
|
||||
|
||||
static void ExpandWindow()
|
||||
void ExpandWindow()
|
||||
{
|
||||
SGPRect OldRect;
|
||||
UINT32 uiDestPitchBYTES;
|
||||
@@ -1525,7 +1532,7 @@ static void ExpandWindow()
|
||||
|
||||
}
|
||||
|
||||
static OBJECTTYPE* FindMedicalKit()
|
||||
OBJECTTYPE* FindMedicalKit()
|
||||
{
|
||||
INT32 i;
|
||||
INT32 iSlot;
|
||||
@@ -1540,7 +1547,7 @@ static OBJECTTYPE* FindMedicalKit()
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static UINT32 AutoBandageMercs()
|
||||
UINT32 AutoBandageMercs()
|
||||
{
|
||||
INT32 i, iBest;
|
||||
UINT32 uiPointsUsed, uiCurrPointsUsed, uiMaxPointsUsed, uiParallelPointsUsed;
|
||||
@@ -3723,7 +3730,7 @@ void RenderSoldierCellHealth( SOLDIERCELL *pCell )
|
||||
mprintf( xp, yp, pStr );
|
||||
}
|
||||
|
||||
static UINT8 GetUnusedMercProfileID()
|
||||
UINT8 GetUnusedMercProfileID()
|
||||
{
|
||||
UINT8 ubRandom=0;
|
||||
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 = (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 )
|
||||
{
|
||||
@@ -4108,7 +4115,7 @@ void DrawDebugText( SOLDIERCELL *pCell )
|
||||
}
|
||||
}
|
||||
|
||||
static SOLDIERCELL* ChooseTarget( SOLDIERCELL *pAttacker )
|
||||
SOLDIERCELL* ChooseTarget( SOLDIERCELL *pAttacker )
|
||||
{
|
||||
INT32 iAvailableTargets;
|
||||
INT32 index;
|
||||
@@ -4178,7 +4185,7 @@ static SOLDIERCELL* ChooseTarget( SOLDIERCELL *pAttacker )
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static BOOLEAN FireAShot( SOLDIERCELL *pAttacker )
|
||||
BOOLEAN FireAShot( SOLDIERCELL *pAttacker )
|
||||
{
|
||||
OBJECTTYPE *pItem;
|
||||
SOLDIERTYPE *pSoldier;
|
||||
@@ -4232,7 +4239,7 @@ static BOOLEAN FireAShot( SOLDIERCELL *pAttacker )
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static BOOLEAN FireTankCannon( SOLDIERCELL *pAttacker )
|
||||
BOOLEAN FireTankCannon( SOLDIERCELL *pAttacker )
|
||||
{
|
||||
OBJECTTYPE *pItem;
|
||||
SOLDIERTYPE *pSoldier;
|
||||
@@ -4274,7 +4281,7 @@ static BOOLEAN FireTankCannon( SOLDIERCELL *pAttacker )
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static BOOLEAN FireAntiTankWeapon( SOLDIERCELL *pAttacker )
|
||||
BOOLEAN FireAntiTankWeapon( SOLDIERCELL *pAttacker )
|
||||
{
|
||||
OBJECTTYPE *pItem;
|
||||
SOLDIERTYPE *pSoldier;
|
||||
@@ -4329,7 +4336,7 @@ static BOOLEAN FireAntiTankWeapon( SOLDIERCELL *pAttacker )
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static BOOLEAN AttackerHasKnife( SOLDIERCELL *pAttacker )
|
||||
BOOLEAN AttackerHasKnife( SOLDIERCELL *pAttacker )
|
||||
{
|
||||
UINT8 invsize = pAttacker->pSoldier->inv.size();
|
||||
for( UINT8 i = 0; i < invsize; ++i )
|
||||
@@ -4344,7 +4351,7 @@ static BOOLEAN AttackerHasKnife( SOLDIERCELL *pAttacker )
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static BOOLEAN TargetHasLoadedGun( SOLDIERTYPE *pSoldier )
|
||||
BOOLEAN TargetHasLoadedGun( SOLDIERTYPE *pSoldier )
|
||||
{
|
||||
OBJECTTYPE *pItem;
|
||||
UINT8 invsize = pSoldier->inv.size();
|
||||
@@ -4366,7 +4373,7 @@ static BOOLEAN TargetHasLoadedGun( SOLDIERTYPE *pSoldier )
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static void AttackTarget( SOLDIERCELL *pAttacker, SOLDIERCELL *pTarget )
|
||||
void AttackTarget( SOLDIERCELL *pAttacker, SOLDIERCELL *pTarget )
|
||||
{
|
||||
INT16 sAttack;
|
||||
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;
|
||||
SOLDIERCELL *pAttacker;
|
||||
@@ -5300,7 +5307,7 @@ static void TargetHitCallback( SOLDIERCELL *pTarget, INT32 index )
|
||||
pTarget->uiFlags |= CELL_HITBYATTACKER | CELL_DIRTY;
|
||||
}
|
||||
|
||||
static void Delay( UINT32 uiMilliseconds )
|
||||
void Delay( UINT32 uiMilliseconds )
|
||||
{
|
||||
INT32 iTime;
|
||||
iTime = GetJA2Clock();
|
||||
|
||||
@@ -3,6 +3,8 @@
|
||||
#include "Campaign Init.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"
|
||||
@@ -13,6 +15,7 @@
|
||||
#include "Tactical Save.h"
|
||||
|
||||
#include "connect.h"
|
||||
#include <vfs/Core/vfs.h>
|
||||
#include "XMLWriter.h"
|
||||
|
||||
#include "UndergroundInit.h"
|
||||
@@ -306,7 +309,7 @@ void InitKnowFacilitiesFlags( )
|
||||
|
||||
|
||||
//Mobile groups are handled separately from sectors, because they are on the move.
|
||||
static void GeneratePatrolGroups()
|
||||
void GeneratePatrolGroups()
|
||||
{
|
||||
GROUP *pGroup;
|
||||
UINT8 ubNumTroops;
|
||||
@@ -524,7 +527,7 @@ void BuildUndergroundSectorInfoList()
|
||||
// Lesh: this function creates randomized world
|
||||
// every sector can be randomized between common and alternative, chances 50/50
|
||||
// randomization of individual sectors can be switched off via array RandomSector[]
|
||||
static void InitWorld()
|
||||
void InitWorld()
|
||||
{
|
||||
INT16 sSectorCounter;
|
||||
|
||||
|
||||
@@ -24,11 +24,16 @@
|
||||
#include "Animation Data.h"
|
||||
#include "opplist.h"
|
||||
#include "Meanwhile.h"
|
||||
#include "Strategic AI.h"
|
||||
#include "MessageBoxScreen.h"
|
||||
#include "Map Information.h"
|
||||
#include "Queen Command.h"
|
||||
#include "ai.h" // added by Flugente
|
||||
#include "Isometric Utils.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 "GameInitOptionsScreen.h"
|
||||
@@ -155,7 +160,7 @@ extern SECTOR_EXT_DATA SectorExternalData[256][4];
|
||||
//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;
|
||||
UINT8 ubSectorX, ubSectorY;
|
||||
@@ -273,7 +278,7 @@ void InitLairGrumm()
|
||||
}
|
||||
*/
|
||||
|
||||
static void InitLair(INT32 iChosenMine)
|
||||
void InitLair(INT32 iChosenMine)
|
||||
{
|
||||
CREATURE_DIRECTIVE *curr;
|
||||
giLairID = iChosenMine;
|
||||
@@ -512,7 +517,7 @@ void InitCreatureQuest()
|
||||
}
|
||||
}
|
||||
|
||||
static void AddCreatureToNode( CREATURE_DIRECTIVE *node )
|
||||
void AddCreatureToNode( CREATURE_DIRECTIVE *node )
|
||||
{
|
||||
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");
|
||||
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;
|
||||
SOLDIERTYPE *pSoldier;
|
||||
@@ -759,7 +764,7 @@ static void AddCreaturesToBattle( UINT8 ubNumYoungMales, UINT8 ubNumYoungFemales
|
||||
AllTeamsLookForAll( FALSE );
|
||||
}
|
||||
|
||||
static void AddCreaturesToBattle_Other( UINT8 ubNum )
|
||||
void AddCreaturesToBattle_Other( UINT8 ubNum )
|
||||
{
|
||||
SOLDIERTYPE *pSoldier;
|
||||
MAPEDGEPOINTINFO MapEdgepointInfo = {};
|
||||
@@ -846,7 +851,7 @@ static void AddCreaturesToBattle_Other( UINT8 ubNum )
|
||||
AllTeamsLookForAll( FALSE );
|
||||
}
|
||||
|
||||
static void ChooseTownSectorToAttack( UINT8 ubSectorID, BOOLEAN fOverrideTest )
|
||||
void ChooseTownSectorToAttack( UINT8 ubSectorID, BOOLEAN fOverrideTest )
|
||||
{
|
||||
INT32 iRandom, i;
|
||||
UINT8 ubSectorX, ubSectorY;
|
||||
@@ -1477,7 +1482,7 @@ void ChooseCreatureQuestStartDay()
|
||||
}
|
||||
}
|
||||
|
||||
static void DeleteDirectiveNode( CREATURE_DIRECTIVE **node )
|
||||
void DeleteDirectiveNode( CREATURE_DIRECTIVE **node )
|
||||
{
|
||||
if( (*node)->next )
|
||||
DeleteDirectiveNode( &((*node)->next) );
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
#include "Facilities.h"
|
||||
#include "Soldier Control.h"
|
||||
#include "Map Screen Interface.h"
|
||||
#include "Overhead.h"
|
||||
#include "Assignments.h"
|
||||
#include "GameSettings.h"
|
||||
#include "LaptopSave.h"
|
||||
@@ -28,7 +29,10 @@
|
||||
#include "Interface.h"
|
||||
#include "message.h"
|
||||
#include "Morale.h"
|
||||
#include "Points.h"
|
||||
#include "Soldier Control.h"
|
||||
#include "Isometric Utils.h"
|
||||
#include "MilitiaSquads.h"
|
||||
#include "Tactical Save.h"
|
||||
#include <random>
|
||||
|
||||
@@ -1993,8 +1997,8 @@ INT32 GetTotalFacilityHourlyCosts( BOOLEAN fPositive )
|
||||
pSoldier = gCharactersList[ ubCounter ].usSolID;
|
||||
|
||||
// Is character truly valid?
|
||||
if( pSoldier != NULL && !( pSoldier->flags.uiStatusFlags & SOLDIER_VEHICLE ) &&
|
||||
pSoldier->bSectorZ == 0 &&
|
||||
if( !( pSoldier->flags.uiStatusFlags & SOLDIER_VEHICLE ) &&
|
||||
pSoldier->bSectorZ == 0 && pSoldier != NULL &&
|
||||
pSoldier->stats.bLife >= OKLIFE &&
|
||||
!(pSoldier->flags.fMercAsleep) )
|
||||
{
|
||||
|
||||
+25
-21
@@ -1,24 +1,28 @@
|
||||
#include "sgp.h"
|
||||
#include "Game Clock.h"
|
||||
#include "Font.h"
|
||||
#include "Render Dirty.h"
|
||||
#include "Timer Control.h"
|
||||
#include "Overhead.h"
|
||||
#include "environment.h"
|
||||
#include "message.h"
|
||||
#include <mousesystem.h>
|
||||
#include "MercTextBox.h"
|
||||
#include "renderworld.h"
|
||||
#include "lighting.h"
|
||||
#include "Map Screen Interface.h"
|
||||
#include "Event Pump.h"
|
||||
#include "Text.h"
|
||||
#include "Interface Control.h"
|
||||
#include "Map Screen Interface Map.h"
|
||||
#include "Map Screen Interface Bottom.h"
|
||||
#include "gamescreen.h"
|
||||
#include "Map Information.h"
|
||||
#include "GameSettings.h"
|
||||
#include "sgp.h"
|
||||
#include "Game Clock.h"
|
||||
#include "Font.h"
|
||||
#include "Render Dirty.h"
|
||||
#include "Timer Control.h"
|
||||
#include "Overhead.h"
|
||||
#include "environment.h"
|
||||
#include "Game Clock.h"
|
||||
#include "message.h"
|
||||
#include "Game Events.h"
|
||||
#include "Assignments.h"
|
||||
#include "MercTextBox.h"
|
||||
#include "renderworld.h"
|
||||
#include "lighting.h"
|
||||
#include "Map Screen Interface.h"
|
||||
#include "PreBattle Interface.h"
|
||||
#include "Event Pump.h"
|
||||
#include "Text.h"
|
||||
#include "Interface Control.h"
|
||||
#include "Map Screen Interface Map.h"
|
||||
#include "Map Screen Interface Bottom.h"
|
||||
#include "gamescreen.h"
|
||||
#include "Map Information.h"
|
||||
#include "GameSettings.h"
|
||||
|
||||
#include "LuaInitNPCs.h"
|
||||
|
||||
//#define DEBUG_GAME_CLOCK
|
||||
|
||||
@@ -17,12 +17,14 @@
|
||||
#include "Strategic Movement.h"
|
||||
#include "Assignments.h"
|
||||
#include "Strategic Mines.h"
|
||||
#include "Strategic Town Loyalty.h"
|
||||
#include "message.h"
|
||||
#include "Map Screen Interface.h"
|
||||
#include "Map Screen Helicopter.h"
|
||||
#include "Scheduling.h"
|
||||
#include "Arms Dealer Init.h"
|
||||
#include "strategic town reputation.h"
|
||||
#include "Air Raid.h"
|
||||
#include "Meanwhile.h"
|
||||
#include "Overhead.h"
|
||||
#include "random.h"
|
||||
@@ -30,6 +32,7 @@
|
||||
#include "Strategic AI.h"
|
||||
#include "Merc Contract.h"
|
||||
#include "Strategic Status.h"
|
||||
#include "INIReader.h"
|
||||
#include "GameSettings.h"
|
||||
#include "english.h"
|
||||
#include "input.h"
|
||||
@@ -47,6 +50,7 @@
|
||||
#include "Rebel Command.h"
|
||||
#include "interface Dialogue.h"
|
||||
|
||||
#include "connect.h"
|
||||
|
||||
#ifdef JA2UB
|
||||
#include "Explosion Control.h"
|
||||
@@ -81,7 +85,7 @@ void CrippledVersionEndGameCheck();
|
||||
|
||||
|
||||
|
||||
static BOOLEAN DelayEventIfBattleInProgress( STRATEGICEVENT *pEvent )
|
||||
BOOLEAN DelayEventIfBattleInProgress( STRATEGICEVENT *pEvent )
|
||||
{
|
||||
STRATEGICEVENT *pNewEvent;
|
||||
if( gTacticalStatus.fEnemyInSector )
|
||||
|
||||
@@ -214,7 +214,7 @@ BOOLEAN DeleteEventsWithDeletionPending()
|
||||
}
|
||||
|
||||
|
||||
static void AdjustClockToEventStamp( STRATEGICEVENT *pEvent, UINT32 *puiAdjustment )
|
||||
void AdjustClockToEventStamp( STRATEGICEVENT *pEvent, UINT32 *puiAdjustment )
|
||||
{
|
||||
UINT32 uiDiff;
|
||||
|
||||
|
||||
+13
-4
@@ -9,9 +9,11 @@
|
||||
#include "Soldier Profile.h"
|
||||
#include "strategicmap.h"
|
||||
#include "Game Init.h"
|
||||
#include "finances.h"
|
||||
#include "Animation Data.h"
|
||||
#include "finances.h"
|
||||
#include "Soldier Create.h"
|
||||
#include "strategic.h"
|
||||
#include "Soldier Init List.h"
|
||||
#include "strategic.h"
|
||||
#include "history.h"
|
||||
#include "merc entering.h"
|
||||
#include "Squads.h"
|
||||
@@ -29,10 +31,12 @@
|
||||
#include "Creature Spreading.h"
|
||||
#include "Quests.h"
|
||||
#include "Strategic AI.h"
|
||||
#include "LaptopSave.h"
|
||||
#include "AimMembers.h"
|
||||
#include "Dialogue Control.h"
|
||||
#include "NPC.h"
|
||||
#include "GameSettings.h"
|
||||
#include "interface Dialogue.h"
|
||||
#include "Map Screen Interface Border.h"
|
||||
#include "Map Screen Helicopter.h"
|
||||
#include "Vehicles.h"
|
||||
@@ -47,17 +51,22 @@
|
||||
// HEADROCK HAM 3.6: Include for adding facility debt reset
|
||||
#include "Facilities.h"
|
||||
// HEADROCK HAM 4: Include for initializing Manual Restrictions
|
||||
#include "MilitiaSquads.h"
|
||||
#include "Map Screen Interface Map Inventory.h"//dnl ch51 081009
|
||||
#include "CampaignStats.h" // added by Flugente
|
||||
#include "PMC.h" // added by Flugente
|
||||
#include "ASD.h" // added by Flugente
|
||||
#include "MiniEvents.h"
|
||||
#include "Rebel Command.h"
|
||||
#include "World Items.h"
|
||||
|
||||
#include "Vehicles.h"
|
||||
#include "Text.h"
|
||||
#include "connect.h"
|
||||
#include "XML.h"
|
||||
#include "mercs.h"
|
||||
#include "aim.h"
|
||||
#include "Map Screen Interface.h"
|
||||
#ifdef JA2UB
|
||||
#include "Ja25 Strategic Ai.h"
|
||||
#include "Ja25_Tactical.h"
|
||||
@@ -96,14 +105,14 @@ UINT8 gubCheatLevel = STARTING_CHEAT_LEVEL;
|
||||
UINT8 gubScreenCount=0;
|
||||
|
||||
#ifdef JA2UB
|
||||
static void InitCustomStrategicLayer ( void )
|
||||
void InitCustomStrategicLayer ( void )
|
||||
{
|
||||
LetLuaGameInit(2); //load custom InitStrategicLayer
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
static void InitNPCs( void )
|
||||
void InitNPCs( void )
|
||||
{
|
||||
|
||||
#ifdef LUA_GAME_INIT_NPCS
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
#include "Strategic Mines.h"
|
||||
#include "Campaign.h"
|
||||
#include "Morale.h"
|
||||
#include "Quests.h"
|
||||
#include "Game Clock.h"
|
||||
#include "Overhead.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;
|
||||
std::vector<WORLDITEM> pWorldItem;//dnl ch75 271013
|
||||
@@ -984,7 +985,7 @@ static BOOLEAN RemoveItemInSector( INT16 sSectorX, INT16 sSectorY, INT8 bSectorZ
|
||||
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 uiTotalNumberOfRealItems = 0;
|
||||
|
||||
@@ -145,6 +145,8 @@ void InitJohnKulbaInitialSector();
|
||||
|
||||
void FixEnemyCounterInSectorBug();
|
||||
|
||||
void AddEnemiesToFirstTunnelSector();
|
||||
void AddEnemiesToSecondTunnelSector();
|
||||
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 );
|
||||
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()
|
||||
{
|
||||
UINT8 ubNumEnemies = 0;
|
||||
UINT8 ubNumAdmins = 0;
|
||||
UINT8 ubNumTroops = 0;
|
||||
UINT8 ubNumElites = 0;
|
||||
BOOLEAN fInCombat = ( gTacticalStatus.uiFlags & INCOMBAT );
|
||||
UINT8 ubNumEnemies=0;
|
||||
|
||||
//if the player has been in the complex
|
||||
if( HaveMercsEverBeenInComplex() )
|
||||
@@ -1341,35 +1284,21 @@ void HandleAddingEnemiesToTunnelMaps()
|
||||
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( !isPlayerInFirstTunnel && !isPlayerInSecondTunnel )
|
||||
if( !AreAnyPlayerMercsStillInSector( 14, 10, 1 ) &&
|
||||
!AreAnyPlayerMercsStillInSector( 14, 11, 1 ) )
|
||||
{
|
||||
// Add enemies to both sectors if fan was blown up
|
||||
if ( gJa25SaveStruct.ubHowPlayerGotThroughFan == PG__PLAYER_BLEW_UP_FAN_TO_GET_THROUGH )
|
||||
{
|
||||
AddEnemiesToFirstTunnelSector();
|
||||
AddEnemiesToSecondTunnelSector();
|
||||
}
|
||||
AddEnemiesToJa25TunnelMaps();
|
||||
}
|
||||
|
||||
//else if the player IS NOT in the 2nd sector but is in the first sector
|
||||
else if( isPlayerInFirstTunnel && !isPlayerInSecondTunnel )
|
||||
//else if the player IS NOT in the 2nd sector but in the first sector
|
||||
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
|
||||
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
|
||||
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( 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
|
||||
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 )
|
||||
{
|
||||
@@ -1418,11 +1388,6 @@ UINT8 NumEnemiesToAttackFirstTunnelSector( UINT8 *pAdmins, UINT8 *pTroops, UINT8
|
||||
ubNumTroops = 4 + Random( 0 );
|
||||
ubNumElites = 4 + Random( 0 );
|
||||
break;
|
||||
case DIF_LEVEL_INSANE:
|
||||
ubNumAdmins = 0 + Random(0);
|
||||
ubNumTroops = 0 + Random(0);
|
||||
ubNumElites = 8 + Random(0);
|
||||
break;
|
||||
}
|
||||
|
||||
if( pAdmins )
|
||||
@@ -1475,11 +1440,6 @@ UINT8 NumEnemiesToAttackSecondTunnelSector( UINT8 *pAdmins, UINT8 *pTroops, UINT
|
||||
ubNumTroops = 6 + Random( 0 );
|
||||
ubNumElites = 4 + Random( 3 );
|
||||
break;
|
||||
case DIF_LEVEL_INSANE:
|
||||
ubNumAdmins = 0 + Random(0);
|
||||
ubNumTroops = 0 + Random(0);
|
||||
ubNumElites = 10 + Random(0);
|
||||
break;
|
||||
}
|
||||
|
||||
if( pAdmins )
|
||||
|
||||
@@ -199,6 +199,7 @@ BOOLEAN SaveJa25SaveInfoToSaveGame( HWFILE hFile );
|
||||
BOOLEAN LoadJa25SaveInfoFromSavedGame( HWFILE hFile );
|
||||
|
||||
|
||||
void AddEnemiesToJa25TunnelMaps();
|
||||
void HandleAddingEnemiesToTunnelMaps();
|
||||
|
||||
void SetJa25GeneralFlag( UINT32 uiFlagToSet );
|
||||
|
||||
+12
-31
@@ -5,8 +5,7 @@
|
||||
#include "Strategic Mines.h"
|
||||
#include "BobbyRMailOrder.h"
|
||||
#include "Tactical Save.h"
|
||||
#include "Strategic Movement.h"
|
||||
#include <Soldier Create.h>
|
||||
#include "connect.h"
|
||||
#include "FileMan.h"
|
||||
#include "GameSettings.h"
|
||||
#include "Game Init.h"
|
||||
@@ -30,6 +29,7 @@
|
||||
#include "Explosion Control.h"
|
||||
#include "soldier tile.h"
|
||||
#include "Soldier Profile.h"
|
||||
#include "Soldier Functions.h"
|
||||
#include "Action Items.h"
|
||||
#include "AIInternals.h"
|
||||
#include "Handle Doors.h"
|
||||
@@ -72,6 +72,7 @@ extern "C" {
|
||||
#include "lua_state.h"
|
||||
#include "lua_function.h"
|
||||
|
||||
#include "Encrypted File.h"
|
||||
|
||||
#include "BriefingRoom_Data.h"
|
||||
#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);
|
||||
@@ -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_setglobal(L, "ProfileId");
|
||||
@@ -999,7 +1000,7 @@ static void IniGlobal_1(lua_State* L)
|
||||
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);
|
||||
@@ -2242,38 +2243,18 @@ static int l_SetNumberOfJa25BloodCatsInSector(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 sSectorY = lua_tointeger(L, 2);
|
||||
UINT8 ubNumAdmins = lua_tointeger(L, 3);
|
||||
UINT8 ubNumTroops = 0;
|
||||
UINT8 ubNumElites = 0;
|
||||
UINT8 ubNumTanks = 0;
|
||||
UINT8 ubNumTroops = lua_tointeger(L, 4);
|
||||
UINT8 ubNumElites = lua_tointeger(L, 5);
|
||||
UINT8 ubNumTanks = lua_tointeger(L, 6);
|
||||
//TODO: expand lua call to include these two
|
||||
UINT8 ubNumJeeps = 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);
|
||||
}
|
||||
|
||||
@@ -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
|
||||
// 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
|
||||
static SOLDIERTYPE* FindSoldierByProfileID2(UINT8 ubProfileID, BOOLEAN fPlayerMercsOnly)
|
||||
SOLDIERTYPE* FindSoldierByProfileID2(UINT8 ubProfileID, BOOLEAN fPlayerMercsOnly)
|
||||
{
|
||||
SoldierID soldier = gTacticalStatus.Team[CIV_TEAM].bFirstID;
|
||||
SoldierID lastid = gTacticalStatus.Team[CIV_TEAM].bLastID;
|
||||
|
||||
@@ -1,41 +1,48 @@
|
||||
#include "Map Screen Helicopter.h"
|
||||
#include "LaptopSave.h"
|
||||
#include "Map Screen Helicopter.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 "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 "history.h"
|
||||
|
||||
@@ -503,7 +510,7 @@ BOOLEAN ReadInHeliInfo(STR fileName)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static BOOLEAN WriteInInfo(STR fileName)
|
||||
BOOLEAN WriteInInfo(STR fileName)
|
||||
{
|
||||
HWFILE hFile;
|
||||
|
||||
@@ -2439,7 +2446,7 @@ BOOLEAN WillAirRaidBeStopped( INT16 sSectorX, INT16 sSectorY )
|
||||
return( FALSE );
|
||||
}
|
||||
|
||||
static void HeliCrashSoundStopCallback( void *pData )
|
||||
void HeliCrashSoundStopCallback( void *pData )
|
||||
{
|
||||
SkyriderDestroyed( );
|
||||
}
|
||||
@@ -2582,7 +2589,7 @@ BOOLEAN CanHelicopterTakeOff( void )
|
||||
return( FALSE );
|
||||
}
|
||||
|
||||
static void AddHeliPiece( INT32 iGridNo, UINT16 sOStruct )
|
||||
void AddHeliPiece( INT32 iGridNo, UINT16 sOStruct )
|
||||
{
|
||||
UINT16 usDummy;
|
||||
|
||||
|
||||
+13
-13
@@ -303,7 +303,7 @@ BOOLEAN BeginAirRaid( )
|
||||
}
|
||||
|
||||
|
||||
static INT32 PickLocationNearAnyMercInSector( )
|
||||
INT32 PickLocationNearAnyMercInSector( )
|
||||
{
|
||||
UINT16 ubMercsInSector[ 20 ] = { 0 };
|
||||
UINT16 ubNumMercs = 0;
|
||||
@@ -344,7 +344,7 @@ static INT32 PickLocationNearAnyMercInSector( )
|
||||
return( NOWHERE );
|
||||
}
|
||||
|
||||
static INT32 PickRandomLocationAtMinSpacesAway( INT32 sGridNo, INT16 sMinValue, INT16 sRandomVar )
|
||||
INT32 PickRandomLocationAtMinSpacesAway( INT32 sGridNo, INT16 sMinValue, INT16 sRandomVar )
|
||||
{
|
||||
INT32 sNewGridNo = NOWHERE;
|
||||
INT16 sX, sY, sNewX, sNewY;
|
||||
@@ -382,7 +382,7 @@ static INT32 PickRandomLocationAtMinSpacesAway( INT32 sGridNo, INT16 sMinValue,
|
||||
return( sNewGridNo );
|
||||
}
|
||||
|
||||
static void TryToStartRaid( )
|
||||
void TryToStartRaid( )
|
||||
{
|
||||
// OK, check conditions,
|
||||
|
||||
@@ -414,7 +414,7 @@ static void TryToStartRaid( )
|
||||
|
||||
}
|
||||
|
||||
static void AirRaidStart( )
|
||||
void AirRaidStart( )
|
||||
{
|
||||
DebugMsg(TOPIC_JA2,DBG_LEVEL_3,String("AirRaidStart"));
|
||||
// Begin ambient sound....
|
||||
@@ -434,7 +434,7 @@ static void AirRaidStart( )
|
||||
}
|
||||
}
|
||||
|
||||
static void AirRaidLookForDive( )
|
||||
void AirRaidLookForDive( )
|
||||
{
|
||||
BOOLEAN fDoDive = FALSE;
|
||||
BOOLEAN fDoQuote = FALSE;
|
||||
@@ -558,7 +558,7 @@ static void AirRaidLookForDive( )
|
||||
}
|
||||
|
||||
|
||||
static void AirRaidStartEnding( )
|
||||
void AirRaidStartEnding( )
|
||||
{
|
||||
DebugMsg(TOPIC_JA2,DBG_LEVEL_3,String("AirRaidStartEnding"));
|
||||
// Fade out sound.....
|
||||
@@ -566,7 +566,7 @@ static void AirRaidStartEnding( )
|
||||
}
|
||||
|
||||
|
||||
static void BeginBombing( )
|
||||
void BeginBombing( )
|
||||
{
|
||||
INT32 sGridNo;
|
||||
UINT32 iSoundStartDelay;
|
||||
@@ -623,7 +623,7 @@ static void BeginBombing( )
|
||||
|
||||
|
||||
|
||||
static void BeginDive( )
|
||||
void BeginDive( )
|
||||
{
|
||||
INT32 sGridNo;
|
||||
UINT32 iSoundStartDelay;
|
||||
@@ -681,7 +681,7 @@ static void BeginDive( )
|
||||
}
|
||||
|
||||
|
||||
static void MoveDiveAirplane( FLOAT dAngle )
|
||||
void MoveDiveAirplane( FLOAT dAngle )
|
||||
{
|
||||
FLOAT dDeltaPos;
|
||||
|
||||
@@ -701,7 +701,7 @@ static void MoveDiveAirplane( FLOAT dAngle )
|
||||
}
|
||||
|
||||
|
||||
static void DoDive( )
|
||||
void DoDive( )
|
||||
{
|
||||
INT16 sRange;
|
||||
INT32 sGridNo, sOldGridNo;
|
||||
@@ -877,7 +877,7 @@ static void DoDive( )
|
||||
}
|
||||
|
||||
|
||||
static void DoBombing( )
|
||||
void DoBombing( )
|
||||
{
|
||||
INT16 sRange;
|
||||
INT32 sGridNo, sOldGridNo, sBombGridNo;
|
||||
@@ -1498,7 +1498,7 @@ void EndAirRaid( )
|
||||
}
|
||||
|
||||
// Madd
|
||||
static void CheckForAndSetupAirRaid ()
|
||||
void CheckForAndSetupAirRaid ()
|
||||
{
|
||||
//INT16 sSectorX;
|
||||
//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;
|
||||
|
||||
|
||||
@@ -1,14 +1,19 @@
|
||||
#include "builddefines.h"
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include "stdlib.h"
|
||||
#include "DEBUG.H"
|
||||
#include "Animation Control.h"
|
||||
#include "Animation Data.h"
|
||||
#include "FileMan.h"
|
||||
#include "Weapons.h"
|
||||
#include "message.h"
|
||||
#include "structure.h"
|
||||
#include "worlddef.h"
|
||||
#include "worldman.h"
|
||||
#include "Rotting Corpses.h"
|
||||
#include "Debug Control.h"
|
||||
#include "random.h"
|
||||
#include "Soldier Control.h"
|
||||
|
||||
#include "connect.h"
|
||||
@@ -3725,7 +3730,7 @@ BOOLEAN LoadAnimationStateInstructions( )
|
||||
}
|
||||
|
||||
//ddd Trick for loading more than 320 animation files (?)
|
||||
UINT16 fuckTheBoundz[320][100] {};
|
||||
UINT16 fuckTheBoundz[320][100];
|
||||
|
||||
//Read in block
|
||||
//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;
|
||||
|
||||
|
||||
@@ -1,17 +1,20 @@
|
||||
#include "types.h"
|
||||
#include <cstdlib>
|
||||
#include "stdlib.h"
|
||||
#include "Arms Dealer Init.h"
|
||||
#include "string.h"
|
||||
#include "DEBUG.H"
|
||||
#include "random.h"
|
||||
#include "Weapons.h"
|
||||
#include "FileMan.h"
|
||||
#include "Game Clock.h"
|
||||
#include "ArmsDealerInvInit.h"
|
||||
#include "message.h"
|
||||
#include "Soldier Profile.h"
|
||||
#include "Handle Items.h"
|
||||
#include "Quests.h"
|
||||
#include "Scheduling.h"
|
||||
#include "GameSettings.h"
|
||||
#include "Overhead.h" // added by Flugente for MercPtrs[]
|
||||
#include "LuaInitNPCs.h" // added by Flugente
|
||||
|
||||
#ifdef JA2UB
|
||||
@@ -73,6 +76,8 @@ UINT8 DetermineDealerItemCondition( UINT8 ubArmsDealer, UINT16 usItemIndex );
|
||||
BOOLEAN DoesItemAppearInDealerInventoryList( UINT8 ubArmsDealer, UINT16 usItemIndex, BOOLEAN fPurchaseFromPlayer );
|
||||
|
||||
#ifdef JA2UB
|
||||
UINT8 GetFirstValidSpecialItemFromDealer( UINT8 ubArmsDealer, INT16 sItemIndex );
|
||||
|
||||
void AddTexsVideosToBettysInventory();
|
||||
BOOLEAN CanThisItemBeSoldToSimulatedCustomer( UINT8 ubArmsDealerID, UINT16 usItemIndex );
|
||||
#endif
|
||||
@@ -197,7 +202,7 @@ void AddArmsDealerAdditionalIntelData( UINT16 ausDealer, UINT16 usItem, INT16 sI
|
||||
gArmsDealerAdditionalIntelData[ausDealer].push_back( data );
|
||||
}
|
||||
|
||||
static void ArmsDealers_ReadIntelData()
|
||||
void ArmsDealers_ReadIntelData()
|
||||
{
|
||||
gArmsDealerAdditionalIntelData.clear();
|
||||
|
||||
@@ -982,7 +987,6 @@ UINT32 GetArmsDealerItemTypeFromItemNumber( UINT16 usItem )
|
||||
return( 0 );
|
||||
}
|
||||
// else treat as blade
|
||||
[[fallthrough]];
|
||||
case IC_BLADE:
|
||||
case IC_THROWING_KNIFE:
|
||||
return( ARMS_DEALER_BLADE );
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
#include "LaptopSave.h"
|
||||
#include "BobbyR.h"
|
||||
#include "random.h"
|
||||
#include "ShopKeeper Interface.h"
|
||||
#include "connect.h"
|
||||
#include "Rebel Command.h"
|
||||
|
||||
@@ -688,7 +689,7 @@ DEALER_POSSIBLE_INV gArmsDealerAdditional[ADDITIONAL_ARMS_DEALERS][MAXITEMS+1];
|
||||
|
||||
// prototypes
|
||||
|
||||
static INT8 GetMaxItemAmount( DEALER_POSSIBLE_INV *pInv, UINT16 usItemIndex )
|
||||
INT8 GetMaxItemAmount( DEALER_POSSIBLE_INV *pInv, UINT16 usItemIndex )
|
||||
{
|
||||
UINT16 usCnt = 0;
|
||||
|
||||
@@ -926,7 +927,7 @@ DEALER_POSSIBLE_INV *GetPointerToDealersPossibleInventory( UINT16 ubArmsDealerID
|
||||
}
|
||||
|
||||
//Madd: added boolean fUsed
|
||||
static UINT8 GetCurrentSuitabilityForItem( INT8 bArmsDealer, UINT16 usItemIndex, BOOLEAN fUsed )
|
||||
UINT8 GetCurrentSuitabilityForItem( INT8 bArmsDealer, UINT16 usItemIndex, BOOLEAN fUsed )
|
||||
{
|
||||
unsigned ubItemCoolness;
|
||||
unsigned ubMinCoolness, ubMaxCoolness;
|
||||
|
||||
@@ -21,9 +21,12 @@
|
||||
#include "Map Screen Interface.h"
|
||||
#include "Soldier Profile.h"
|
||||
#include "Assignments.h"
|
||||
#include "WordWrap.h"
|
||||
#include "Cursors.h"
|
||||
#include "english.h"
|
||||
#include "SkillCheck.h" // added by Flugente
|
||||
|
||||
#include "Music Control.h"
|
||||
|
||||
// max number of merc faces per row in autobandage box
|
||||
#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;
|
||||
|
||||
void BeginAutoBandageCallBack( UINT8 bExitValue );
|
||||
void CancelAutoBandageCallBack( UINT8 bExitValue );
|
||||
|
||||
// the update box for autobandaging mercs
|
||||
void CreateTerminateAutoBandageButton( INT16 sX, INT16 sY );
|
||||
void DestroyTerminateAutoBandageButton( void );
|
||||
void DisplayAutoBandageUpdatePanel( void );
|
||||
void EndAutobandageButtonCallback(GUI_BUTTON *btn,INT32 reason);
|
||||
void SetUpAutoBandageUpdatePanel( void );
|
||||
BOOLEAN AddFacesToAutoBandageBox( void );
|
||||
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
|
||||
UINT16 ubDoctor[CODE_MAXIMUM_NUMBER_OF_PLAYER_SLOTS], ubDoctors = 0;
|
||||
|
||||
+4
-3
@@ -8,6 +8,7 @@
|
||||
#include "NPC.h"
|
||||
#include "opplist.h"
|
||||
#include "ai.h"
|
||||
#include "Dialogue Control.h"
|
||||
#include "Handle UI.h"
|
||||
#include "Points.h"
|
||||
#include "Interface.h"
|
||||
@@ -18,9 +19,9 @@
|
||||
#include "strategicmap.h"
|
||||
#include "Game Clock.h"
|
||||
#include "Animation Data.h"
|
||||
#include "Font Control.h"
|
||||
#include "message.h"
|
||||
#include "GameSettings.h" // added by SANDRO
|
||||
#include <Font Control.h>
|
||||
#include <message.h>
|
||||
|
||||
INT32 gsBoxerGridNo[ NUM_BOXERS ] = { 11393, 11233, 11073 };
|
||||
SoldierID gubBoxerID[ NUM_BOXERS ] = { NOBODY, NOBODY, NOBODY };
|
||||
@@ -209,7 +210,7 @@ UINT8 CountPeopleInBoxingRing( void )
|
||||
return( ubTotalInRing );
|
||||
}
|
||||
|
||||
static void CountPeopleInBoxingRingAndDoActions( void )
|
||||
void CountPeopleInBoxingRingAndDoActions( void )
|
||||
{
|
||||
UINT32 uiLoop;
|
||||
UINT8 ubTotalInRing = 0;
|
||||
|
||||
@@ -1,13 +1,16 @@
|
||||
#include "builddefines.h"
|
||||
#include <wchar.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include "stdlib.h"
|
||||
#include "DEBUG.H"
|
||||
#include "MemMan.h"
|
||||
#include "Overhead Types.h"
|
||||
|
||||
#include "random.h"
|
||||
#include "Campaign.h"
|
||||
#include "Dialogue Control.h"
|
||||
#include "Font Control.h"
|
||||
#include "Map Screen Interface.h"
|
||||
#include "message.h"
|
||||
#include "Game Clock.h"
|
||||
#include "Strategic Mines.h"
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
#include "sgp.h"
|
||||
//#include "Soldier Control.h"
|
||||
#include "Encrypted File.h"
|
||||
#include "faces.h"
|
||||
#include "WCheck.h"
|
||||
@@ -38,6 +39,7 @@
|
||||
#include "Meanwhile.h"
|
||||
#include "SkillCheck.h"
|
||||
#include "Interface Control.h"
|
||||
#include "finances.h"
|
||||
#include "Civ Quotes.h"
|
||||
#include "Map Screen Interface Map.h"
|
||||
#include "opplist.h"
|
||||
@@ -48,8 +50,10 @@
|
||||
#include "End Game.h"
|
||||
#include "LOS.h"
|
||||
#include "qarray.h"
|
||||
#include "Soldier Profile.h"
|
||||
#include <vector>
|
||||
#include <queue>
|
||||
#include "Auto Resolve.h"
|
||||
|
||||
#include "connect.h"
|
||||
#ifdef JA2UB
|
||||
@@ -58,9 +62,9 @@
|
||||
#include "Ja25 Strategic Ai.h"
|
||||
#include "Ja25_Tactical.h"
|
||||
#include "Animation Control.h"
|
||||
#include "ub_config.h"
|
||||
#endif
|
||||
|
||||
#include "ub_config.h"
|
||||
|
||||
#include "history.h"
|
||||
#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( )
|
||||
{
|
||||
@@ -1343,6 +1331,8 @@ void HandleDialogue( )
|
||||
|
||||
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 );
|
||||
}
|
||||
|
||||
@@ -2190,6 +2180,21 @@ BOOLEAN ExecuteSnitchCharacterDialogue( UINT8 ubCharacterNum, UINT16 usQuoteNum,
|
||||
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 )
|
||||
{
|
||||
@@ -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 zFileNameHelper[164];
|
||||
@@ -2439,7 +2444,7 @@ static CHAR8 *GetDialogueDataFilename( UINT8 ubCharacterNum, UINT16 usQuoteNum,
|
||||
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_Used[164];
|
||||
@@ -2488,7 +2493,7 @@ BOOLEAN DialogueDataFileExistsForProfile( UINT8 ubCharacterNum, UINT16 usQuoteNu
|
||||
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;
|
||||
|
||||
@@ -3608,7 +3613,7 @@ void UnSetEngagedInConvFromPCAction( SOLDIERTYPE *pSoldier )
|
||||
}
|
||||
|
||||
|
||||
static BOOLEAN IsStopTimeQuote( UINT16 usQuoteNum )
|
||||
BOOLEAN IsStopTimeQuote( UINT16 usQuoteNum )
|
||||
{
|
||||
INT32 cnt;
|
||||
|
||||
|
||||
@@ -8,7 +8,9 @@
|
||||
#include "Overhead.h"
|
||||
#include "random.h"
|
||||
#include "Assignments.h"
|
||||
#include "message.h"
|
||||
#include "Soldier Profile.h"
|
||||
#include "Map Screen Interface Map.h"
|
||||
#include "Queen Command.h"
|
||||
#include "Quests.h"
|
||||
#include "finances.h"
|
||||
@@ -16,7 +18,9 @@
|
||||
#include "LaptopSave.h"
|
||||
#include "strategic.h"
|
||||
#include "DynamicDialogue.h"
|
||||
#include <math.h>
|
||||
#include "Drugs And Alcohol.h" // for DoesMercHaveDisability( ... )
|
||||
#include "environment.h"
|
||||
|
||||
//GLOBALS
|
||||
DISEASE Disease[NUM_DISEASES];
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#include "builddefines.h"
|
||||
#include "types.h"
|
||||
#include "Isometric Utils.h"
|
||||
//#include "Soldier Control.h"
|
||||
#include "Overhead.h"
|
||||
#include "DisplayCover.h"
|
||||
#include "Font Control.h"
|
||||
@@ -9,6 +10,8 @@
|
||||
#include "GameSettings.h"
|
||||
#include "renderworld.h"
|
||||
#include "Interface.h"
|
||||
#include "DEBUG.H"
|
||||
#include "PATHAI.H"
|
||||
#include "worldman.h"
|
||||
#include "opplist.h"
|
||||
#include "LOS.h"
|
||||
@@ -16,6 +19,9 @@
|
||||
#include "Game Clock.h"
|
||||
#include "Animation Control.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)
|
||||
#include "UI Cursors.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);
|
||||
|
||||
|
||||
static TileDefines GetOverlayIndex( INT8 bOverlayType )
|
||||
TileDefines GetOverlayIndex( INT8 bOverlayType )
|
||||
{
|
||||
switch ( bOverlayType )
|
||||
{
|
||||
@@ -435,7 +441,7 @@ void RemoveCoverObjectsFromViewArea()
|
||||
gNoRedraw = (gubDrawMode == DRAW_MODE_OFF);
|
||||
}
|
||||
|
||||
static void updateCoverViewArea()
|
||||
void updateCoverViewArea()
|
||||
{
|
||||
INT16 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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -1,9 +1,13 @@
|
||||
|
||||
#include "Overhead.h"
|
||||
#include "Render Fun.h"
|
||||
#include "random.h"
|
||||
#include "worldman.h"
|
||||
#include "Soldier Profile.h"
|
||||
#include "NPC.h"
|
||||
#include "ai.h"
|
||||
#include "Dialogue Control.h"
|
||||
#include "Handle UI.h"
|
||||
#include "End Game.h"
|
||||
#include "Intro.h"
|
||||
#include "Exit Grids.h"
|
||||
@@ -37,7 +41,6 @@
|
||||
#include "Game Init.h"
|
||||
#include "interface Dialogue.h"
|
||||
#include "ub_config.h"
|
||||
#include "Handle UI.h"
|
||||
|
||||
void HandleAddingTheEndGameEmails();
|
||||
void EndFadeToCredits( void );
|
||||
@@ -146,7 +149,7 @@ void ChangeO3SectorStatue( BOOLEAN fFromExplosion )
|
||||
#ifdef JA2UB
|
||||
//Ja25 no queen
|
||||
#else
|
||||
static void DeidrannaTimerCallback( void )
|
||||
void DeidrannaTimerCallback( void )
|
||||
{
|
||||
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 );
|
||||
}
|
||||
|
||||
static void DoneFadeInKilledQueen( void )
|
||||
void DoneFadeInKilledQueen( void )
|
||||
{
|
||||
SOLDIERTYPE *pNPCSoldier;
|
||||
|
||||
@@ -235,7 +238,7 @@ static void DoneFadeInKilledQueen( void )
|
||||
|
||||
}
|
||||
|
||||
static void DoneFadeOutKilledQueen( void )
|
||||
void DoneFadeOutKilledQueen( void )
|
||||
{
|
||||
SoldierID cnt;
|
||||
SOLDIERTYPE *pSoldier, *pTeamSoldier;
|
||||
@@ -417,7 +420,7 @@ EndQueenDeathEndgame( );
|
||||
|
||||
|
||||
|
||||
static void QueenBitchTimerCallback( void )
|
||||
void QueenBitchTimerCallback( void )
|
||||
{
|
||||
#ifdef JA2UB
|
||||
//no Ub
|
||||
|
||||
@@ -3,8 +3,11 @@
|
||||
#include "DEBUG.H"
|
||||
#include "Items.h"
|
||||
#include "GameSettings.h"
|
||||
#include "screenids.h"
|
||||
#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 "Overhead.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 AutoPlaceObjectInInventoryStash( OBJECTTYPE *pItemPtr, INT32 sGridNo );
|
||||
|
||||
static bool checkObjectLBEIntegrity(OBJECTTYPE * object) {
|
||||
bool checkObjectLBEIntegrity(OBJECTTYPE * object) {
|
||||
bool integrityCheck = TRUE;
|
||||
|
||||
|
||||
@@ -1586,7 +1589,6 @@ OBJECTTYPE& OBJECTTYPE::operator=(const OLD_OBJECTTYPE_101& src)
|
||||
case IC_KEY:
|
||||
(*this)[0]->data.key.ubKeyID = src.ugYucky.ubKeyID;
|
||||
break;
|
||||
case IC_MISC:
|
||||
case IC_GRENADE:
|
||||
case IC_BOMB:
|
||||
(*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",
|
||||
ddRawHorizAngle, ddRawVerticAngle,
|
||||
ddHorizAngle, ddVerticAngle,
|
||||
pFirer->ubID.i, ubLoop, ubShots,
|
||||
pFirer->ubID, ubLoop, ubShots,
|
||||
gpSpreadPattern[ubSpreadIndex].method, gSpreadPatternMethodNames[gpSpreadPattern[ubSpreadIndex].method],
|
||||
ubSpreadIndex, gpSpreadPattern[ubSpreadIndex].Name,
|
||||
NULL
|
||||
|
||||
+42
-34
@@ -5,6 +5,7 @@
|
||||
#include "WCheck.h"
|
||||
#include "stdlib.h"
|
||||
#include "DEBUG.H"
|
||||
#include "math.h"
|
||||
#include "worlddef.h"
|
||||
#include "worldman.h"
|
||||
#include "renderworld.h"
|
||||
@@ -15,6 +16,7 @@
|
||||
#include "Isometric Utils.h"
|
||||
#include "Event Pump.h"
|
||||
#include "Timer Control.h"
|
||||
#include "Render Fun.h"
|
||||
#include "Render Dirty.h"
|
||||
#include "mousesystem.h"
|
||||
#include "Interface.h"
|
||||
@@ -35,6 +37,7 @@
|
||||
#include "screenids.h"
|
||||
#include "Weapons.h"
|
||||
#include "Rotting Corpses.h"
|
||||
#include "lighting.h"
|
||||
#include "Handle UI Plan.h"
|
||||
#include "structure.h"
|
||||
#include "Interface Panels.h"
|
||||
@@ -62,6 +65,7 @@
|
||||
#include "Quests.h"
|
||||
#include "NPC.h"
|
||||
#include "strategicmap.h"
|
||||
#include "Soldier Profile.h"
|
||||
#include "Soldier Functions.h"
|
||||
#include "Auto Bandage.h"
|
||||
#include "Game Event Hook.h"
|
||||
@@ -100,6 +104,7 @@
|
||||
#include "PreBattle Interface.h"
|
||||
#include "Militia Control.h"
|
||||
#include "Lua Interpreter.h"
|
||||
#include "Bullets.h"
|
||||
#include "Inventory Choosing.h" // added by Flugente for TakeMilitiaEquipmentfromSector()
|
||||
#include "CampaignStats.h" // added by Flugente
|
||||
#include "DynamicDialogue.h" // added by Flugente for HandleDynamicOpinions()
|
||||
@@ -113,7 +118,9 @@
|
||||
|
||||
#include "Luaglobal.h"
|
||||
#include "LuaInitNPCs.h"
|
||||
#include "Interface.h"
|
||||
#include "Vehicles.h"
|
||||
#include "Music Control.h"
|
||||
#ifdef JA2UB
|
||||
#include "Ja25 Strategic Ai.h"
|
||||
#include "Ja25_Tactical.h"
|
||||
@@ -440,7 +447,7 @@ INT32 GetFreeMercSlot()
|
||||
}
|
||||
|
||||
// WTF?
|
||||
static void RecountMercSlots( )
|
||||
void RecountMercSlots( )
|
||||
{
|
||||
INT32 iCount;
|
||||
if ( guiNumMercSlots > 0 )
|
||||
@@ -485,7 +492,7 @@ BOOLEAN RemoveMercSlot( SOLDIERTYPE *pSoldier )
|
||||
return( FALSE );
|
||||
}
|
||||
|
||||
static INT32 GetFreeAwaySlot( )
|
||||
INT32 GetFreeAwaySlot( )
|
||||
{
|
||||
UINT32 uiCount;
|
||||
for(uiCount=0; uiCount < guiNumAwaySlots; uiCount++)
|
||||
@@ -498,7 +505,7 @@ static INT32 GetFreeAwaySlot( )
|
||||
return(-1);
|
||||
}
|
||||
|
||||
static void RecountAwaySlots( )
|
||||
void RecountAwaySlots( )
|
||||
{
|
||||
INT32 iCount;
|
||||
if ( guiNumAwaySlots > 0 )
|
||||
@@ -829,7 +836,7 @@ BOOLEAN GetSoldier( SOLDIERTYPE **ppSoldier, SoldierID usSoldierIndex )
|
||||
|
||||
}
|
||||
|
||||
static BOOLEAN NextAIToHandle( UINT32 uiCurrAISlot )
|
||||
BOOLEAN NextAIToHandle( UINT32 uiCurrAISlot )
|
||||
{
|
||||
UINT32 cnt;
|
||||
|
||||
@@ -2006,7 +2013,7 @@ BOOLEAN ExecuteOverhead( )
|
||||
return( TRUE );
|
||||
}
|
||||
|
||||
static void HaltGuyFromNewGridNoBecauseOfNoAPs( SOLDIERTYPE *pSoldier )
|
||||
void HaltGuyFromNewGridNoBecauseOfNoAPs( SOLDIERTYPE *pSoldier )
|
||||
{
|
||||
HaltMoveForSoldierOutOfPoints( pSoldier );
|
||||
pSoldier->usPendingAnimation = NO_PENDING_ANIMATION;
|
||||
@@ -2023,7 +2030,7 @@ static void HaltGuyFromNewGridNoBecauseOfNoAPs( SOLDIERTYPE *pSoldier )
|
||||
UnSetEngagedInConvFromPCAction( pSoldier );
|
||||
}
|
||||
|
||||
static void HandleLocateToGuyAsHeWalks( SOLDIERTYPE *pSoldier )
|
||||
void HandleLocateToGuyAsHeWalks( SOLDIERTYPE *pSoldier )
|
||||
{
|
||||
// Our guys if option set,
|
||||
if ( pSoldier->bTeam == gbPlayerNum )
|
||||
@@ -2269,15 +2276,15 @@ BOOLEAN HandleGotoNewGridNo( SOLDIERTYPE *pSoldier, BOOLEAN *pfKeepMoving, BOOLE
|
||||
if ( !( gTacticalStatus.uiFlags & INCOMBAT ) )
|
||||
{
|
||||
SOLDIERTYPE *pSoldier2;
|
||||
SoldierID id = gTacticalStatus.Team[gbPlayerNum].bFirstID;
|
||||
SoldierID id = gTacticalStatus.Team[ gbPlayerNum ].bLastID;
|
||||
|
||||
// look for all mercs on the same team,
|
||||
for ( ; id < gTacticalStatus.Team[gbPlayerNum].bLastID; ++id )
|
||||
for ( ; id >= gTacticalStatus.Team[ gbPlayerNum ].bFirstID; --id )
|
||||
{
|
||||
pSoldier2 = id;
|
||||
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 );
|
||||
}
|
||||
|
||||
static void HandleMaryArrival( SOLDIERTYPE * pSoldier )
|
||||
void HandleMaryArrival( SOLDIERTYPE * pSoldier )
|
||||
{
|
||||
INT32 sDist;
|
||||
|
||||
@@ -2689,7 +2696,7 @@ static void HandleMaryArrival( SOLDIERTYPE * pSoldier )
|
||||
|
||||
}
|
||||
|
||||
static void HandleJohnArrival( SOLDIERTYPE * pSoldier )
|
||||
void HandleJohnArrival( SOLDIERTYPE * pSoldier )
|
||||
{
|
||||
SOLDIERTYPE * pSoldier2 = NULL;
|
||||
INT32 sDist;
|
||||
@@ -2975,15 +2982,15 @@ BOOLEAN HandleAtNewGridNo( SOLDIERTYPE *pSoldier, BOOLEAN *pfKeepMoving )
|
||||
if ( !( gTacticalStatus.uiFlags & INCOMBAT ) )
|
||||
{
|
||||
SOLDIERTYPE *pSoldier2;
|
||||
SoldierID cnt2 = gTacticalStatus.Team[ gbPlayerNum ].bFirstID;
|
||||
SoldierID cnt2 = gTacticalStatus.Team[ gbPlayerNum ].bLastID;
|
||||
|
||||
// look for all mercs on the same team,
|
||||
for ( ; cnt2 < gTacticalStatus.Team[gbPlayerNum].bLastID; ++cnt2 )
|
||||
for ( ; cnt2 >= gTacticalStatus.Team[ gbPlayerNum ].bFirstID; --cnt2 )
|
||||
{
|
||||
pSoldier2 = cnt2;
|
||||
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;
|
||||
|
||||
@@ -5173,7 +5180,7 @@ BOOLEAN NewOKDestination( SOLDIERTYPE * pCurrSoldier, INT32 sGridNo, BOOLEAN fPe
|
||||
}
|
||||
|
||||
// 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;
|
||||
STRUCTURE *pStructure;
|
||||
@@ -6716,7 +6723,7 @@ void SetEnemyPresence()
|
||||
|
||||
extern SoldierID gfLastMercTalkedAboutKillingID;
|
||||
|
||||
static BOOLEAN SoldierHasSeenEnemiesLastFewTurns( SOLDIERTYPE *pTeamSoldier )
|
||||
BOOLEAN SoldierHasSeenEnemiesLastFewTurns( SOLDIERTYPE *pTeamSoldier )
|
||||
{
|
||||
SOLDIERTYPE *pSoldier;
|
||||
INT32 cnt;
|
||||
@@ -6796,7 +6803,7 @@ BOOLEAN NobodyAlerted( )
|
||||
}
|
||||
|
||||
|
||||
static BOOLEAN WeSawSomeoneThisTurn( )
|
||||
BOOLEAN WeSawSomeoneThisTurn( )
|
||||
{
|
||||
UINT32 uiLoop, uiLoop2;
|
||||
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
|
||||
SoldierID ubMercsInSector[ CODE_MAXIMUM_NUMBER_OF_PLAYER_SLOTS ] = {};
|
||||
@@ -7040,7 +7047,7 @@ BOOLEAN CheckForEndOfCombatMode( BOOLEAN fIncrementTurnsNotSeen )
|
||||
}
|
||||
|
||||
|
||||
static void DeathNoMessageTimerCallback( )
|
||||
void DeathNoMessageTimerCallback( )
|
||||
{
|
||||
//CheckAndHandleUnloadingOfCurrentWorld();
|
||||
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
|
||||
static BOOLEAN GetPlayerControlledPrisonList( std::vector<UINT8>& arSectorIDVector )
|
||||
BOOLEAN GetPlayerControlledPrisonList( std::vector<UINT8>& arSectorIDVector )
|
||||
{
|
||||
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
|
||||
INT16 gsNumPrisoner[PRISONER_MAX] = {0};
|
||||
|
||||
static void PrisonerMessageBoxCallBack( UINT8 ubExitValue )
|
||||
void PrisonerMessageBoxCallBack( UINT8 ubExitValue )
|
||||
{
|
||||
if ( DropDownTemplate<DROPDOWNNR_MSGBOX_1>::getInstance().GetSelectedEntryKey() < 0 )
|
||||
{
|
||||
@@ -7157,7 +7164,7 @@ static void PrisonerMessageBoxCallBack( UINT8 ubExitValue )
|
||||
|
||||
CHAR16 gPrisonSectorNamesStr[256][128];
|
||||
|
||||
static void RemoveCapturedEnemiesFromSectorInfo( INT16 sMapX, INT16 sMapY, INT8 bMapZ )
|
||||
void RemoveCapturedEnemiesFromSectorInfo( INT16 sMapX, INT16 sMapY, INT8 bMapZ )
|
||||
{
|
||||
SOLDIERTYPE* pTeamSoldier;
|
||||
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.
|
||||
// Each time we are wounded, we set a 'wounded'-flag
|
||||
// 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;
|
||||
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
|
||||
{
|
||||
@@ -8572,7 +8579,7 @@ BOOLEAN KillIncompacitatedEnemyInSector( )
|
||||
|
||||
|
||||
|
||||
static BOOLEAN AttackOnGroupWitnessed( SOLDIERTYPE * pSoldier, SOLDIERTYPE * pTarget )
|
||||
BOOLEAN AttackOnGroupWitnessed( SOLDIERTYPE * pSoldier, SOLDIERTYPE * pTarget )
|
||||
{
|
||||
UINT32 uiSlot;
|
||||
SOLDIERTYPE * pGroupMember;
|
||||
@@ -8728,7 +8735,7 @@ INT8 CalcSuppressionTolerance( SOLDIERTYPE * pSoldier )
|
||||
|
||||
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 );
|
||||
}
|
||||
|
||||
static SOLDIERTYPE *InternalReduceAttackBusyCount( )
|
||||
SOLDIERTYPE *InternalReduceAttackBusyCount( )
|
||||
{
|
||||
// Strange as this may seem, this function returns a pointer to
|
||||
// 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....
|
||||
InternalLeaveTacticalScreen( MAINMENU_SCREEN );
|
||||
@@ -10234,7 +10241,7 @@ void InitializeTacticalStatusAtBattleStart( )
|
||||
}
|
||||
|
||||
|
||||
static void DoneFadeOutDemoCreatureLevel( )
|
||||
void DoneFadeOutDemoCreatureLevel( )
|
||||
{
|
||||
// OK, insertion data found, enter sector!
|
||||
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 void TurnCoatAttemptMessageBoxCallBack( UINT8 ubExitValue )
|
||||
void TurnCoatAttemptMessageBoxCallBack( UINT8 ubExitValue )
|
||||
{
|
||||
// check ubExitValue to see whether we actually want to go through (2)
|
||||
if ( ubExitValue != 2
|
||||
@@ -10966,7 +10973,7 @@ void HandleTurncoatAttempt( SOLDIERTYPE* pSoldier )
|
||||
}
|
||||
}
|
||||
|
||||
static void EscapeTimerCallback()
|
||||
void EscapeTimerCallback()
|
||||
{
|
||||
const bool chanceToEscape = Chance(75);
|
||||
bool escaped = false;
|
||||
@@ -11069,7 +11076,7 @@ void AttemptToCapturePlayerSoldiers()
|
||||
#endif
|
||||
}
|
||||
|
||||
static void PrisonerSurrenderMessageBoxCallBack( UINT8 ubExitValue )
|
||||
void PrisonerSurrenderMessageBoxCallBack( UINT8 ubExitValue )
|
||||
{
|
||||
SOLDIERTYPE *pSoldier = NULL;
|
||||
BOOLEAN success = FALSE;
|
||||
@@ -11962,6 +11969,7 @@ BOOLEAN IsCivFactionMemberAliveInSector( UINT8 usCivilianGroup )
|
||||
|
||||
BOOLEAN IsFreeSlotAvailable( int aTeam )
|
||||
{
|
||||
SOLDIERTYPE *pSoldier;
|
||||
SoldierID cnt = gTacticalStatus.Team[aTeam].bFirstID;
|
||||
|
||||
// run through list
|
||||
|
||||
@@ -72,6 +72,7 @@
|
||||
#include "Morale.h"
|
||||
#include "Meanwhile.h"
|
||||
#include "Drugs And Alcohol.h"
|
||||
#include "SkillCheck.h"
|
||||
#include "Boxing.h"
|
||||
#include "overhead map.h"
|
||||
#include "Map Information.h"
|
||||
@@ -112,6 +113,7 @@
|
||||
|
||||
#include "fresh_header.h"
|
||||
|
||||
#include "Dialogue Control.h"
|
||||
|
||||
#include "IMP Skill Trait.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];
|
||||
}
|
||||
|
||||
BOOLEAN IsValidSecondHandShot( SOLDIERTYPE *pSoldier );
|
||||
|
||||
UINT8 *gubpNumReplacementsPerRange;
|
||||
PaletteSubRangeType *gpPaletteSubRanges;
|
||||
@@ -1738,6 +1741,7 @@ UINT16 PickSoldierReadyAnimation( SOLDIERTYPE *pSoldier, BOOLEAN fEndReady, BOOL
|
||||
BOOLEAN CheckForFullStruct( INT32 sGridNo, UINT16 *pusIndex );
|
||||
void SetSoldierLocatorOffsets( SOLDIERTYPE *pSoldier );
|
||||
void CheckForFullStructures( SOLDIERTYPE *pSoldier );
|
||||
UINT16 GetNewSoldierStateFromNewStance( SOLDIERTYPE *pSoldier, UINT8 ubDesiredStance );
|
||||
void SetSoldierAniSpeed( SOLDIERTYPE *pSoldier );
|
||||
void AdjustForFastTurnAnimation( SOLDIERTYPE *pSoldier );
|
||||
UINT16 SelectFireAnimation( SOLDIERTYPE *pSoldier, UINT8 ubHeight );
|
||||
|
||||
+12
-2
@@ -1,10 +1,19 @@
|
||||
#include "builddefines.h"
|
||||
#include "math.h"
|
||||
#include <stdio.h>
|
||||
#include <errno.h>
|
||||
|
||||
#include "worlddef.h"
|
||||
#include "renderworld.h"
|
||||
#include "vsurface.h"
|
||||
#include "sysutil.h"
|
||||
#include "WCheck.h"
|
||||
#include "video.h"
|
||||
#include "vobject_blitters.h"
|
||||
#include "faces.h"
|
||||
#include "Utilities.h"
|
||||
#include "Overhead.h"
|
||||
#include "Soldier Profile.h"
|
||||
#include "Bullets.h"
|
||||
#include "LOS.h"
|
||||
#include "worldman.h"
|
||||
@@ -12,6 +21,7 @@
|
||||
#include "GameSettings.h"
|
||||
#include "FileMan.h"
|
||||
#include "lighting.h"
|
||||
#include "Buildings.h"
|
||||
|
||||
// Defines
|
||||
// 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
|
||||
//afp-end
|
||||
|
||||
static INT32 GetFreeBullet(void)
|
||||
INT32 GetFreeBullet(void)
|
||||
{
|
||||
UINT32 uiCount;
|
||||
|
||||
@@ -45,7 +55,7 @@ static INT32 GetFreeBullet(void)
|
||||
}
|
||||
|
||||
|
||||
static void RecountBullets(void)
|
||||
void RecountBullets(void)
|
||||
{
|
||||
INT32 uiCount;
|
||||
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
#include "worldman.h"
|
||||
#include "strategicmap.h"
|
||||
#include "Campaign Types.h"
|
||||
#include "renderworld.h"
|
||||
#include "Render Fun.h"
|
||||
#include "fov.h"
|
||||
#include "worlddef.h"
|
||||
@@ -15,6 +16,7 @@
|
||||
#include "GameSettings.h"
|
||||
#include "Smell.h"
|
||||
|
||||
#include <vfs/Core/vfs.h>
|
||||
//SB: make size of gpRevealedMap dependable from variable tactical map dimensions
|
||||
#define NUM_REVEALED_BYTES (WORLD_MAX/8)
|
||||
|
||||
@@ -173,7 +175,7 @@ typedef std::map<ModifiedMapFile::Key, ModifiedMapFile, ltMMF> ModifiedMapFileSe
|
||||
ModifiedMapFileSet g_mapFileSet;
|
||||
BOOLEAN g_useSaveCache;
|
||||
|
||||
static void ClearTempFileSets()
|
||||
void ClearTempFileSets()
|
||||
{
|
||||
//for (ModifiedMapFileSet::iterator itr = g_mapFileSet.begin(), end = g_mapFileSet.end(); itr != end; ++itr )
|
||||
//{
|
||||
@@ -193,7 +195,7 @@ BOOLEAN EnableModifiedFileSetCache(BOOLEAN value)
|
||||
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)
|
||||
return false;
|
||||
@@ -209,7 +211,7 @@ static bool TryGetModifiedMapFile( UINT32 uiType, INT16 sMapX, INT16 sMapY, INT8
|
||||
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;
|
||||
if ( TryGetModifiedMapFile(uiType, sMapX, sMapY, bMapZ, &pResult) )
|
||||
|
||||
@@ -133,7 +133,7 @@ void SelectNextUnplacedUnit();
|
||||
BOOLEAN gfNorthValid, gfEastValid, gfSouthValid, gfWestValid;
|
||||
BOOLEAN gfChangedEntrySide = FALSE;
|
||||
|
||||
static void FindValidInsertionCode( UINT8 *pubStrategicInsertionCode )
|
||||
void FindValidInsertionCode( UINT8 *pubStrategicInsertionCode )
|
||||
{
|
||||
if( gMapInformation.sNorthGridNo == -1 &&
|
||||
gMapInformation.sEastGridNo == -1 &&
|
||||
@@ -202,7 +202,7 @@ static void FindValidInsertionCode( UINT8 *pubStrategicInsertionCode )
|
||||
}
|
||||
}
|
||||
|
||||
static void CheckForValidMapEdge( UINT8 *pubStrategicInsertionCode )
|
||||
void CheckForValidMapEdge( UINT8 *pubStrategicInsertionCode )
|
||||
{
|
||||
switch( *pubStrategicInsertionCode )
|
||||
{
|
||||
@@ -1464,7 +1464,7 @@ void RenderTacticalPlacementGUI()
|
||||
}
|
||||
}
|
||||
|
||||
static void EnsureDoneButtonStatus()
|
||||
void EnsureDoneButtonStatus()
|
||||
{
|
||||
INT32 i;
|
||||
//static BOOLEAN fInside = FALSE;
|
||||
@@ -1783,7 +1783,7 @@ void KillTacticalPlacementGUI()
|
||||
MemFree( gMercPlacement);
|
||||
}
|
||||
|
||||
static void ChooseRandomEdgepoints()
|
||||
void ChooseRandomEdgepoints()
|
||||
{
|
||||
INT32 i;
|
||||
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 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
|
||||
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)
|
||||
{
|
||||
@@ -653,7 +655,7 @@ static void ShowRiotShield( SOLDIERTYPE* pSoldier, UINT16 *pBuffer, UINT32 uiDes
|
||||
INT32 gDecalBackgroundRectangle[MAX_DECALS_ONSCREEN] = { 0 };
|
||||
int gDecalBackgroundRectableCounter = 0;
|
||||
|
||||
static void ClearBackgroundRectanglesForDecal()
|
||||
void ClearBackgroundRectanglesForDecal()
|
||||
{
|
||||
for ( int i = 0; i < gDecalBackgroundRectableCounter; ++i )
|
||||
{
|
||||
@@ -667,7 +669,7 @@ static void ClearBackgroundRectanglesForDecal()
|
||||
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 )
|
||||
{
|
||||
@@ -687,7 +689,7 @@ static bool SetupBackgroundRectanglesForDecal( UINT32 uiFlags, INT16 *pSaveArea,
|
||||
}
|
||||
|
||||
// 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
|
||||
if ( gGameExternalOptions.fAdditionalDecals
|
||||
@@ -994,7 +996,7 @@ void ResetSpecificLayerOptimizing( UINT32 uiRowFlag )
|
||||
}
|
||||
|
||||
|
||||
static void SumAddiviveLayerOptimization( void )
|
||||
void SumAddiviveLayerOptimization( void )
|
||||
{
|
||||
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;
|
||||
// Shade guy always lighter than scene default!
|
||||
@@ -1184,7 +1186,7 @@ inline static UINT16 * GetShadeTable(LEVELNODE * pNode, SOLDIERTYPE * pSoldier,
|
||||
/*
|
||||
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
|
||||
@@ -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;
|
||||
INT16 sTempX_W, sTempY_W;
|
||||
@@ -9009,7 +9011,7 @@ void RenderCoverDebug( )
|
||||
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 );
|
||||
}
|
||||
|
||||
+63
-47
@@ -1,39 +1,52 @@
|
||||
#include <string.h>
|
||||
#include "types.h"
|
||||
#include "WCheck.h"
|
||||
#include "DEBUG.H"
|
||||
#include "FileMan.h"
|
||||
#include "MemMan.h"
|
||||
#include "structure.h"
|
||||
#include "tiledef.h"
|
||||
#include "worlddef.h"
|
||||
#include "worldman.h"
|
||||
#include "Interface.h"
|
||||
#include "Isometric Utils.h"
|
||||
#include "Font.h"
|
||||
#include "Font Control.h"
|
||||
#include "Smell.h"
|
||||
#include "SaveLoadMap.h"
|
||||
#include "strategicmap.h"
|
||||
#include "sgp_logger.h"
|
||||
#include "Sys Globals.h" //for access to gfEditMode flag
|
||||
//Kris:
|
||||
#ifdef JA2EDITOR
|
||||
#include "Editor Undo.h" //for access to AddToUndoList( iMapIndex )
|
||||
#endif
|
||||
#include "Explosion Control.h"
|
||||
#include "Sound Control.h"
|
||||
#include "Buildings.h"
|
||||
#include "random.h"
|
||||
#include "Tile Animation.h"
|
||||
// anv: for ramming people with vehicles
|
||||
#include "Soldier macros.h"
|
||||
#include "Overhead.h"
|
||||
#include "Animation Control.h"
|
||||
#include "ASD.h" // added by Flugente
|
||||
#include "renderworld.h" // added by Flugente for SetRenderFlags( RENDER_FLAG_FULL );
|
||||
#include <vfs/Core/vfs.h>
|
||||
#include "XML_StructureData.hpp"
|
||||
#include <string.h>
|
||||
#include "types.h"
|
||||
#include "WCheck.h"
|
||||
#include "DEBUG.H"
|
||||
#include "FileMan.h"
|
||||
#include "MemMan.h"
|
||||
#include "structure.h"
|
||||
#include "tiledef.h"
|
||||
#include "worlddef.h"
|
||||
#include "worldman.h"
|
||||
|
||||
#include "Interface.h"
|
||||
|
||||
#include "Isometric Utils.h"
|
||||
#include "Font.h"
|
||||
#include "Font Control.h"
|
||||
#include "LOS.h"
|
||||
|
||||
#include "lighting.h"
|
||||
#include "Smell.h"
|
||||
#include "SaveLoadMap.h"
|
||||
#include "strategicmap.h"
|
||||
#include "sgp_logger.h"
|
||||
|
||||
#include "Sys Globals.h" //for access to gfEditMode flag
|
||||
|
||||
//Kris:
|
||||
#ifdef JA2EDITOR
|
||||
#include "Editor Undo.h" //for access to AddToUndoList( iMapIndex )
|
||||
#endif
|
||||
|
||||
#include "Explosion Control.h"
|
||||
#include "Sound Control.h"
|
||||
|
||||
#include "Buildings.h"
|
||||
|
||||
#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
|
||||
extern UINT32 guiSuccessfulPathChecks;
|
||||
@@ -149,7 +162,7 @@ index 25, indestructable metal
|
||||
};
|
||||
|
||||
// Function operating on a structure tile
|
||||
static UINT8 FilledTilePositions( DB_STRUCTURE_TILE * pTile )
|
||||
UINT8 FilledTilePositions( DB_STRUCTURE_TILE * pTile )
|
||||
{
|
||||
UINT8 ubFilled = 0, ubShapeValue;
|
||||
INT8 bLoopX, bLoopY, bLoopZ;
|
||||
@@ -254,7 +267,7 @@ BOOLEAN FreeStructureFile( STRUCTURE_FILE_REF * pStructureFile )
|
||||
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 )
|
||||
{
|
||||
// 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 );
|
||||
}
|
||||
|
||||
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
|
||||
// structure definitions contained within
|
||||
@@ -425,8 +438,11 @@ static BOOLEAN CreateFileStructureArrays( STRUCTURE_FILE_REF * pFileRef, UINT32
|
||||
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)
|
||||
{
|
||||
@@ -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
|
||||
STRUCTURE * pStructure;
|
||||
@@ -616,7 +632,7 @@ static STRUCTURE * CreateStructureFromDB( DB_STRUCTURE_REF * pDBStructureRef, UI
|
||||
|
||||
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
|
||||
DB_STRUCTURE * pDBStructure;
|
||||
@@ -990,7 +1006,7 @@ BOOLEAN OkayToAddStructureToWorld( INT32 sBaseGridNo, INT8 bLevel, DB_STRUCTURE_
|
||||
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)
|
||||
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
|
||||
INT32 sGridNo;
|
||||
@@ -1319,7 +1335,7 @@ BOOLEAN DeleteStructureFromWorld( STRUCTURE * pStructure )
|
||||
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
|
||||
LEVELNODE * pLevelNode;
|
||||
@@ -2503,13 +2519,13 @@ BOOLEAN AddZStripInfoToVObject( HVOBJECT hVObject, STRUCTURE_FILE_REF * pStructu
|
||||
return( TRUE );
|
||||
}
|
||||
|
||||
static BOOLEAN InitStructureDB( void )
|
||||
BOOLEAN InitStructureDB( void )
|
||||
{
|
||||
gusNextAvailableStructureID = FIRST_AVAILABLE_STRUCTURE_ID;
|
||||
return( TRUE );
|
||||
}
|
||||
|
||||
static BOOLEAN FiniStructureDB( void )
|
||||
BOOLEAN FiniStructureDB( void )
|
||||
{
|
||||
gusNextAvailableStructureID = FIRST_AVAILABLE_STRUCTURE_ID;
|
||||
return( TRUE );
|
||||
|
||||
+14
-10
@@ -122,6 +122,7 @@ BOOLEAN gfInitAnimateLoading = FALSE;
|
||||
BOOLEAN LoadTileSurfaces( char pTileSurfaceFilenames[][32], UINT8 ubTilesetID );
|
||||
BOOLEAN AddTileSurface( SGPFILENAME cFilename, UINT32 ubType, UINT8 ubTilesetID, BOOLEAN fGetFromRoot );
|
||||
void DestroyTileSurfaces( void );
|
||||
void ProcessTilesetNamesForBPP(void);
|
||||
BOOLEAN IsRoofVisibleForWireframe( INT32 sMapPos );
|
||||
|
||||
#ifdef JA2UBMAPS
|
||||
@@ -224,7 +225,7 @@ BOOLEAN GridNoIndoors( INT32 iMapIndex )
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static void DOIT( )
|
||||
void DOIT( )
|
||||
{
|
||||
// LEVELNODE * pLand;
|
||||
//LEVELNODE * pObject;
|
||||
@@ -271,6 +272,9 @@ BOOLEAN InitializeWorld( )
|
||||
|
||||
SetNumberOfTiles();
|
||||
|
||||
// DB Adds the _8 to the names if we're in 8 bit mode.
|
||||
//ProcessTilesetNamesForBPP();
|
||||
|
||||
// Memset tileset list
|
||||
memset( TileSurfaceFilenames, '\0', sizeof( TileSurfaceFilenames ) );
|
||||
|
||||
@@ -339,7 +343,7 @@ void DeinitializeWorld()
|
||||
}
|
||||
|
||||
|
||||
static BOOLEAN ReloadTilesetSlot( INT32 iSlot )
|
||||
BOOLEAN ReloadTilesetSlot( INT32 iSlot )
|
||||
{
|
||||
return(TRUE);
|
||||
}
|
||||
@@ -768,7 +772,7 @@ void DestroyTileSurfaces( )
|
||||
}
|
||||
}
|
||||
|
||||
static void CompileWorldTerrainIDs( void )
|
||||
void CompileWorldTerrainIDs( void )
|
||||
{
|
||||
INT32 sGridNo;
|
||||
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
|
||||
@@ -861,7 +865,7 @@ static BOOLEAN IsNotRestrictedWindow(STRUCTURE * pStructure)
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
static void CompileTileMovementCosts( INT32 usGridNo )
|
||||
void CompileTileMovementCosts( INT32 usGridNo )
|
||||
{
|
||||
UINT8 ubTerrainID;
|
||||
TILE_ELEMENT TileElem;
|
||||
@@ -2320,7 +2324,7 @@ INT8 bDirectionsForShadowSearch[ NUM_DIR_SEARCHES ] =
|
||||
EAST
|
||||
};
|
||||
|
||||
static void OptimizeMapForShadows( )
|
||||
void OptimizeMapForShadows( )
|
||||
{
|
||||
INT32 cnt, dir;
|
||||
INT32 sNewGridNo;
|
||||
@@ -2350,7 +2354,7 @@ static void OptimizeMapForShadows( )
|
||||
}
|
||||
}
|
||||
|
||||
static void SetBlueFlagFlags( void )
|
||||
void SetBlueFlagFlags( void )
|
||||
{
|
||||
INT32 cnt;
|
||||
LEVELNODE * pNode;
|
||||
@@ -3526,7 +3530,7 @@ void TrashWorld( void )
|
||||
|
||||
|
||||
|
||||
void TrashMapTile(INT32 MapTile)
|
||||
void TrashMapTile(INT16 MapTile)
|
||||
{
|
||||
MAP_ELEMENT *pMapTile;
|
||||
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;
|
||||
|
||||
@@ -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;
|
||||
UINT8 ubWallOrientation;
|
||||
|
||||
+47
-30
@@ -1,48 +1,65 @@
|
||||
/* $Id: sgp.c,v 1.4 2004/03/19 06:16:04 digicrab Exp $ */
|
||||
//its test what doeas it do?
|
||||
#include "builddefines.h"
|
||||
#include "types.h"
|
||||
#include <windows.h>
|
||||
#include <string.h>
|
||||
#include "sgp.h"
|
||||
#include "vobject.h"
|
||||
#include "Font.h"
|
||||
#include "local.h"
|
||||
#include "FileMan.h"
|
||||
#include "input.h"
|
||||
#include "random.h"
|
||||
#include "gameloop.h"
|
||||
#include "soundman.h"
|
||||
#include "JA2 Splash.h"
|
||||
#include "Timer Control.h"
|
||||
#include "Utilities.h"
|
||||
#include "types.h"
|
||||
#include <windows.h>
|
||||
#include <stdio.h>
|
||||
#include <stdarg.h>
|
||||
#include <string.h>
|
||||
#include "sgp.h"
|
||||
#include "vobject.h"
|
||||
#include "Font.h"
|
||||
#include "local.h"
|
||||
#include "FileMan.h"
|
||||
#include "input.h"
|
||||
#include "random.h"
|
||||
#include "gameloop.h"
|
||||
#include "soundman.h"
|
||||
#include "JA2 Splash.h"
|
||||
#include "Timer Control.h"
|
||||
#include "LibraryDataBase.h"
|
||||
#include "Utilities.h"
|
||||
|
||||
#include "GameSettings.h"
|
||||
#include "input.h"
|
||||
#include "zmouse.h"
|
||||
|
||||
#include <vfs/Aspects/vfs_settings.h>
|
||||
#include <vfs/Core/vfs.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_parser_tools.h>
|
||||
#include <vfs/Tools/vfs_file_logger.h>
|
||||
|
||||
#include "sgp_logger.h"
|
||||
#include "Text.h"
|
||||
#include "LocalizedStrings.h"
|
||||
#include "ExportStrings.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
|
||||
|
||||
#ifndef WIN32_LEAN_AND_MEAN
|
||||
#define WIN32_LEAN_AND_MEAN
|
||||
#endif
|
||||
#include <iostream>
|
||||
#include <excpt.h>
|
||||
|
||||
|
||||
#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 = "")
|
||||
{}
|
||||
|
||||
@@ -56,7 +73,7 @@ static vfs::FileLogger *vfslog = NULL;
|
||||
|
||||
int iWindowedMode;
|
||||
|
||||
static void SHOWEXCEPTION(sgp::Exception& ex)
|
||||
void SHOWEXCEPTION(sgp::Exception& ex)
|
||||
{
|
||||
try {
|
||||
_ExceptionMessage(ex);
|
||||
@@ -67,7 +84,7 @@ static void SHOWEXCEPTION(sgp::Exception& ex)
|
||||
}
|
||||
}
|
||||
|
||||
static void SHOWEXCEPTION(vfs::Exception& ex)
|
||||
void SHOWEXCEPTION(vfs::Exception& ex)
|
||||
{
|
||||
try {
|
||||
_ExceptionMessage(ex);
|
||||
@@ -617,7 +634,7 @@ void ShutdownStandardGamingPlatform(void)
|
||||
|
||||
#include "MPJoinScreen.h"
|
||||
|
||||
static vfs::String getGameID()
|
||||
vfs::String getGameID()
|
||||
{
|
||||
static vfs::String _id;
|
||||
static bool has_id = false;
|
||||
|
||||
Reference in New Issue
Block a user