mirror of
https://github.com/1dot13/source.git
synced 2026-08-05 14:00:23 +02:00
Merged from revision: 7163
Externalized keys and locks to xml (by anv) - Locks (TableData/Items/Locks.xml): Originally 64 locks were kept in BinaryData/LOCKS.BIN. Now up to 255 locks can be specified in TableData/Locks.xml. If it isn't found, LOCKS.BIN will be loaded normally. - Keys (TableData/Items/Keys.xml): Originally 10 keys were hardcoded in KeyTable[]. Now up to 255 keys can be specified in TableData/Keys.xml. If it isn't found, hardcoded array will be used normally. see: http://www.bears-pit.com/board/ubbthreads.php/topics/331900.html git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@7164 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
+44
-2
@@ -132,6 +132,8 @@
|
||||
#include "mercs.h"
|
||||
#endif
|
||||
|
||||
#include "XML.h"
|
||||
|
||||
// OJW - 20090419
|
||||
UINT8 giMAXIMUM_NUMBER_OF_PLAYER_MERCS = CODE_MAXIMUM_NUMBER_OF_PLAYER_MERCS;
|
||||
UINT8 giMAXIMUM_NUMBER_OF_PLAYER_VEHICLES = CODE_MAXIMUM_NUMBER_OF_PLAYER_VEHICLES;
|
||||
@@ -571,8 +573,48 @@ BOOLEAN InitTacticalEngine( )
|
||||
InitializeTacticalInterface( ); // Init Interface stuff
|
||||
InitializeGameVideoObjects( ); // Init system objects
|
||||
LoadPaletteData( ); // Init palette system
|
||||
if( !LoadLockTable() )
|
||||
return(FALSE);
|
||||
//if( !LoadLockTable() )
|
||||
// return(FALSE);
|
||||
|
||||
// anv: externalised locks and keys
|
||||
//WriteLocks("WriteLocks.xml");
|
||||
char fileName[MAX_PATH];
|
||||
strcpy(fileName, TABLEDATA_DIRECTORY);
|
||||
strcat(fileName, LOCKSFILENAME);
|
||||
if ( FileExists(fileName) )
|
||||
{
|
||||
DebugMsg (TOPIC_JA2,DBG_LEVEL_3,String("LoadExternalGameplayData, fileName = %s", fileName));
|
||||
SGP_THROW_IFFALSE(ReadInLocks(fileName,FALSE), LOCKSFILENAME);
|
||||
}
|
||||
else
|
||||
{
|
||||
DebugMsg (TOPIC_JA2,DBG_LEVEL_3,String("FileName = %s not found, trying to load LOCKS.BIN instead", fileName));
|
||||
if( !LoadLockTable() )
|
||||
return(FALSE);
|
||||
}
|
||||
#ifndef ENGLISH
|
||||
AddLanguagePrefix(fileName);
|
||||
if ( FileExists(fileName) )
|
||||
{
|
||||
DebugMsg (TOPIC_JA2,DBG_LEVEL_3,String("LoadExternalGameplayData, fileName = %s", fileName));
|
||||
SGP_THROW_IFFALSE(ReadInLocks(fileName,TRUE), LOCKSFILENAME);
|
||||
}
|
||||
#endif
|
||||
|
||||
strcpy(fileName, TABLEDATA_DIRECTORY);
|
||||
strcat(fileName, KEYSFILENAME);
|
||||
if ( FileExists(fileName) )
|
||||
{
|
||||
DebugMsg (TOPIC_JA2,DBG_LEVEL_3,String("LoadExternalGameplayData, fileName = %s", fileName));
|
||||
SGP_THROW_IFFALSE(ReadInKeys(fileName), KEYSFILENAME);
|
||||
}
|
||||
else
|
||||
{
|
||||
DebugMsg (TOPIC_JA2,DBG_LEVEL_3,String("FileName = %s not found, hardcoded values will be used", fileName));
|
||||
}
|
||||
|
||||
|
||||
|
||||
InitInteractiveTileManagement( );
|
||||
if (!InitPathAI()) // init path code
|
||||
return( FALSE );
|
||||
|
||||
Reference in New Issue
Block a user