Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
57 changes: 36 additions & 21 deletions Strategic/LuaInitNPCs.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -13633,43 +13633,58 @@ static int l_GetNumHostilesInSector( lua_State *L )

void LuaGetIntelAndQuestMapData( INT32 aLevel )
{
const char* filename = "scripts\\strategicmap.lua";

LuaScopeState _LS( true );
static LuaScopeState _LS(true);
static bool isInitialized = false;

IniFunction( _LS.L(), TRUE );
IniGlobalGameSetting( _LS.L() );

SGP_THROW_IFFALSE( _LS.L.EvalFile( filename ), _BS( "Cannot open file: " ) << filename << _BS::cget );
// Initialize only once during lifetime of program
if (!isInitialized)
{
isInitialized = true;
IniFunction(_LS.L(), TRUE);
IniGlobalGameSetting(_LS.L());
const char* filename = "scripts\\strategicmap.lua";
SGP_THROW_IFFALSE(_LS.L.EvalFile(filename), _BS("Cannot open file: ") << filename << _BS::cget);
}

IniGlobalGameSetting(_LS.L());
LuaFunction( _LS.L, "GetIntelAndQuestMapData" ).Param<int>( aLevel ).Call( 1 );
}

void SetFactoryLeftoverProgress( INT16 sSectorX, INT16 sSectorY, INT8 bSectorZ, UINT16 usFacilityType, UINT16 usProductionNumber, INT32 sProgressLeft )
{
const char* filename = "scripts\\strategicmap.lua";
static LuaScopeState _LS(true);
static bool isInitialized = false;

LuaScopeState _LS( true );

IniFunction( _LS.L(), TRUE );
IniGlobalGameSetting( _LS.L() );

SGP_THROW_IFFALSE( _LS.L.EvalFile( filename ), _BS( "Cannot open file: " ) << filename << _BS::cget );
// Initialize only once during lifetime of program
if (!isInitialized)
{
isInitialized = true;
IniFunction(_LS.L(), TRUE);
IniGlobalGameSetting(_LS.L());
const char* filename = "scripts\\strategicmap.lua";
SGP_THROW_IFFALSE(_LS.L.EvalFile(filename), _BS("Cannot open file: ") << filename << _BS::cget);
}

IniGlobalGameSetting(_LS.L());
LuaFunction( _LS.L, "SetFactoryLeftoverProgress" ).Param<int>( sSectorX ).Param<int>( sSectorY ).Param<int>( bSectorZ ).Param<int>( usFacilityType ).Param<int>( usProductionNumber ).Param<int>( sProgressLeft ).Call( 6 );
}

INT32 GetFactoryLeftoverProgress( INT16 sSectorX, INT16 sSectorY, INT8 bSectorZ, UINT16 usFacilityType, UINT16 usProductionNumber )
{
const char* filename = "scripts\\strategicmap.lua";

LuaScopeState _LS( true );
static LuaScopeState _LS( true );
static bool isInitialized = false;

IniFunction( _LS.L(), TRUE );
IniGlobalGameSetting( _LS.L() );

SGP_THROW_IFFALSE( _LS.L.EvalFile( filename ), _BS( "Cannot open file: " ) << filename << _BS::cget );
// Initialize only once during lifetime of program
if (!isInitialized)
{
isInitialized = true;
IniFunction( _LS.L(), TRUE );
IniGlobalGameSetting(_LS.L());
const char* filename = "scripts\\strategicmap.lua";
SGP_THROW_IFFALSE( _LS.L.EvalFile( filename ), _BS( "Cannot open file: " ) << filename << _BS::cget );
}

IniGlobalGameSetting(_LS.L());
LuaFunction( _LS.L, "GetFactoryLeftoverProgress" ).Param<int>( sSectorX ).Param<int>( sSectorY ).Param<int>( bSectorZ ).Param<int>( usFacilityType ).Param<int>( usProductionNumber ).Call( 5 );

if ( lua_gettop( _LS.L() ) >= 0 )
Expand Down