mirror of
https://github.com/1dot13/source.git
synced 2026-07-22 13:40:22 +02:00
Added missing #includes Added LUA scripting and console Changed the way tracers are visualized, so they work more like real tracers instead of a light fountain Fixed signedness of many grid variables used in GetMouseMapPos calls Fixed enemy weapon choosing: Sometimes a mortar is chosen but later rejected, but the grenade class was not reset. Caused assertion failure Added checks so enemies don't try to chuck RPG grenades with their hands Now possible to shoot a someone in the head if he's in water Fixed InitSightArrays to also clear soldier interrupt duel points. This was causing an assertion failure elsewhere in the code because the interrupt list still had soldiers on it sometimes when this function was called. Soldiers are much less willing to forfeit their turn over an attempt to use more APs than they have Removed early setting of muzzle flash. This would allow enemies to get an interrupt before you even fired. Fixed item dropping by AI. If AI tried to drop something while standing it would cause deadlock Change to greatly speed up closing the sector inventory window in an unloaded sector Added conditional compile flag to always give robot weapon ready advantage, even for 360 degree sighting Check builddefines.h for the conditional flags. Of greatest interest might be LUA_CONSOLE. This will cause the game to bring up a command console when run. However this console is severely lacking in many areas. If anybody knows of an open-source terminal/console that could be used instead, it would be appreciated. The existing console does bad things when you try to close it, and since it counts as a separate app, it pauses the game while it has focus. LUA scripting is very limited, basically just proof of concept. There is one global variable, the Soldiers array. An array index gives you the soldier in that slot in the currently loaded sector. The soldier has a few things that can be accessed: name (short name); fullname (long name); grid (current grid #, can be changed); walkto(grid) (function to walk to another grid); runto(grid) (function to run to another grid) git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@924 3b4a5df2-a311-0410-b5c6-a8a6f20db521
83 lines
2.0 KiB
C
83 lines
2.0 KiB
C
#ifndef _SAVE_LOAD_GAME_H_
|
|
#define _SAVE_LOAD_GAME_H_
|
|
|
|
#include "Soldier Control.h"
|
|
#include "GameSettings.h"
|
|
|
|
#define BYTESINMEGABYTE 1048576 //1024*1024
|
|
#define REQUIRED_FREE_SPACE (20 * BYTESINMEGABYTE)
|
|
|
|
#define SIZE_OF_SAVE_GAME_DESC 128
|
|
|
|
#define GAME_VERSION_LENGTH 16
|
|
|
|
#define SAVE__ERROR_NUM 99
|
|
#define SAVE__END_TURN_NUM 98
|
|
|
|
typedef struct
|
|
{
|
|
UINT32 uiSavedGameVersion;
|
|
CHAR8 zGameVersionNumber[ GAME_VERSION_LENGTH ];
|
|
|
|
CHAR16 sSavedGameDesc[ SIZE_OF_SAVE_GAME_DESC ];
|
|
|
|
UINT32 uiFlags;
|
|
|
|
#ifdef CRIPPLED_VERSION
|
|
UINT8 ubCrippleFiller[20];
|
|
#endif
|
|
|
|
|
|
//The following will be used to quickly access info to display in the save/load screen
|
|
UINT32 uiDay;
|
|
UINT8 ubHour;
|
|
UINT8 ubMin;
|
|
INT16 sSectorX;
|
|
INT16 sSectorY;
|
|
INT8 bSectorZ;
|
|
UINT8 ubNumOfMercsOnPlayersTeam;
|
|
INT32 iCurrentBalance;
|
|
|
|
UINT32 uiCurrentScreen;
|
|
|
|
BOOLEAN fAlternateSector;
|
|
|
|
BOOLEAN fWorldLoaded;
|
|
|
|
UINT8 ubLoadScreenID; //The load screen that should be used when loading the saved game
|
|
|
|
GAME_OPTIONS sInitialGameOptions; //need these in the header so we can get the info from it on the save load screen.
|
|
|
|
UINT32 uiRandom;
|
|
|
|
UINT8 ubFiller[110];
|
|
|
|
} SAVED_GAME_HEADER;
|
|
|
|
|
|
extern UINT32 guiScreenToGotoAfterLoadingSavedGame;
|
|
extern UINT32 guiSaveGameVersion;
|
|
|
|
void CreateSavedGameFileNameFromNumber( UINT8 ubSaveGameID, STR pzNewFileName );
|
|
|
|
|
|
BOOLEAN InitSaveDir();
|
|
|
|
BOOLEAN SaveGame( UINT8 ubSaveGameID, STR16 pGameDesc );
|
|
BOOLEAN LoadSavedGame( UINT8 ubSavedGameID );
|
|
|
|
BOOLEAN CopySavedSoldierInfoToNewSoldier( SOLDIERTYPE *pDestSourceInfo, SOLDIERTYPE *pSourceInfo );
|
|
|
|
BOOLEAN SaveFilesToSavedGame( STR pSrcFileName, HWFILE hFile );
|
|
BOOLEAN LoadFilesFromSavedGame( STR pSrcFileName, HWFILE hFile );
|
|
|
|
BOOLEAN DoesUserHaveEnoughHardDriveSpace();
|
|
|
|
void GetBestPossibleSectorXYZValues( INT16 *psSectorX, INT16 *psSectorY, INT8 *pbSectorZ );
|
|
|
|
|
|
extern UINT32 guiLastSaveGameNum;
|
|
INT8 GetNumberForAutoSave( BOOLEAN fLatestAutoSave );
|
|
|
|
#endif
|