mirror of
https://github.com/1dot13/source.git
synced 2026-09-16 14:47:17 +02:00
Fixed (by Buggler)
- Externalized victory sector and gridno - Fixed initial game loading screen not using file specified in SectorLoadscreens.xml when starting other than A9 sector - Fixed no time delay for interrogation meanwhile scene - Added space to 'moveitem' string git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@6518 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
@@ -2530,6 +2530,10 @@ void LoadModSettings(){
|
|||||||
gModSettings.ubMeanwhileAddMadlabSector3Y = iniReader.ReadInteger("Meanwhile", "ADD_MADLAB_SECTOR_3_Y", 9);
|
gModSettings.ubMeanwhileAddMadlabSector3Y = iniReader.ReadInteger("Meanwhile", "ADD_MADLAB_SECTOR_3_Y", 9);
|
||||||
gModSettings.ubMeanwhileAddMadlabSector4X = iniReader.ReadInteger("Meanwhile", "ADD_MADLAB_SECTOR_4_X", 4);
|
gModSettings.ubMeanwhileAddMadlabSector4X = iniReader.ReadInteger("Meanwhile", "ADD_MADLAB_SECTOR_4_X", 4);
|
||||||
gModSettings.ubMeanwhileAddMadlabSector4Y = iniReader.ReadInteger("Meanwhile", "ADD_MADLAB_SECTOR_4_Y", 5);
|
gModSettings.ubMeanwhileAddMadlabSector4Y = iniReader.ReadInteger("Meanwhile", "ADD_MADLAB_SECTOR_4_Y", 5);
|
||||||
|
|
||||||
|
gModSettings.ubEndGameVictorySectorX = iniReader.ReadInteger("End Game", "VICTORY_SECTOR_X", 3);
|
||||||
|
gModSettings.ubEndGameVictorySectorY = iniReader.ReadInteger("End Game", "VICTORY_SECTOR_Y", 16);
|
||||||
|
gModSettings.iEndGameVictoryGridNo = iniReader.ReadInteger("End Game", "VICTORY_POSITION", 5687);
|
||||||
}
|
}
|
||||||
|
|
||||||
// silversurfer: load item property modifiers
|
// silversurfer: load item property modifiers
|
||||||
|
|||||||
@@ -1876,6 +1876,11 @@ typedef struct
|
|||||||
UINT8 ubMeanwhileAddMadlabSector4X;
|
UINT8 ubMeanwhileAddMadlabSector4X;
|
||||||
UINT8 ubMeanwhileAddMadlabSector4Y;
|
UINT8 ubMeanwhileAddMadlabSector4Y;
|
||||||
|
|
||||||
|
//victory celebration stuff
|
||||||
|
UINT8 ubEndGameVictorySectorX;
|
||||||
|
UINT8 ubEndGameVictorySectorY;
|
||||||
|
INT32 iEndGameVictoryGridNo;
|
||||||
|
|
||||||
}MOD_SETTINGS;
|
}MOD_SETTINGS;
|
||||||
|
|
||||||
// silversurfer: item property modifiers
|
// silversurfer: item property modifiers
|
||||||
|
|||||||
+8
-13
@@ -121,21 +121,16 @@ UINT8 GetLoadScreenID(INT16 sSectorX, INT16 sSectorY, INT8 bSectorZ)
|
|||||||
/* User made system - BEGIN */
|
/* User made system - BEGIN */
|
||||||
if (gGameExternalOptions.gfUseExternalLoadscreens)
|
if (gGameExternalOptions.gfUseExternalLoadscreens)
|
||||||
{
|
{
|
||||||
if (bSectorZ != 0)
|
|
||||||
{
|
|
||||||
szSector = szSectorMap [sSectorY][sSectorX]; // not really necessary, I guess
|
|
||||||
return UNDERGROUND;
|
|
||||||
}
|
|
||||||
|
|
||||||
switch( ubSectorID )
|
|
||||||
{
|
|
||||||
case SEC_A9:
|
|
||||||
szSector = "A9";
|
|
||||||
return DidGameJustStart() ? HELI : (fNight ? NIGHT : DAY);
|
|
||||||
default:
|
|
||||||
szSector = szSectorMap [sSectorY][sSectorX];
|
szSector = szSectorMap [sSectorY][sSectorX];
|
||||||
|
if (DidGameJustStart())
|
||||||
|
return DidGameJustStart() ? HELI : (fNight ? NIGHT : DAY);
|
||||||
|
|
||||||
|
else if (bSectorZ != 0)
|
||||||
|
return UNDERGROUND;
|
||||||
|
|
||||||
|
else
|
||||||
return fNight ? NIGHT : DAY;
|
return fNight ? NIGHT : DAY;
|
||||||
}
|
|
||||||
} /* WANNE: User made System - END */
|
} /* WANNE: User made System - END */
|
||||||
|
|
||||||
/* WANNE: Sir-Tech System - BEGIN */
|
/* WANNE: Sir-Tech System - BEGIN */
|
||||||
|
|||||||
@@ -2074,17 +2074,7 @@ void EndCaptureSequence( )
|
|||||||
gStrategicStatus.uiFlags |= STRATEGIC_PLAYER_CAPTURED_FOR_ESCAPE;
|
gStrategicStatus.uiFlags |= STRATEGIC_PLAYER_CAPTURED_FOR_ESCAPE;
|
||||||
|
|
||||||
// OK! - Schedule Meanwhile now!
|
// OK! - Schedule Meanwhile now!
|
||||||
{
|
HandleInterrogationMeanwhileScene();
|
||||||
MEANWHILE_DEFINITION MeanwhileDef;
|
|
||||||
|
|
||||||
MeanwhileDef.sSectorX = gModSettings.ubMeanwhileInterrogatePOWSectorX; //7
|
|
||||||
MeanwhileDef.sSectorY = gModSettings.ubMeanwhileInterrogatePOWSectorY; //14
|
|
||||||
MeanwhileDef.ubNPCNumber = QUEEN;
|
|
||||||
MeanwhileDef.usTriggerEvent = 0;
|
|
||||||
MeanwhileDef.ubMeanwhileID = INTERROGATION;
|
|
||||||
|
|
||||||
ScheduleMeanwhileEvent( &MeanwhileDef, 10 );
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
// CJC Dec 1 2002: fixing multiple captures
|
// CJC Dec 1 2002: fixing multiple captures
|
||||||
else
|
else
|
||||||
|
|||||||
+23
-18
@@ -61,6 +61,9 @@ BOOLEAN gfPlayersLaptopWasntWorkingAtEndOfGame;
|
|||||||
class OBJECTTYPE;
|
class OBJECTTYPE;
|
||||||
class SOLDIERTYPE;
|
class SOLDIERTYPE;
|
||||||
|
|
||||||
|
//victory ending scene sector
|
||||||
|
#define VICTORY_X gModSettings.ubEndGameVictorySectorX
|
||||||
|
#define VICTORY_Y gModSettings.ubEndGameVictorySectorY
|
||||||
|
|
||||||
INT32 sStatueGridNos[] = { 13829, 13830, 13669, 13670 };
|
INT32 sStatueGridNos[] = { 13829, 13830, 13669, 13670 };
|
||||||
|
|
||||||
@@ -257,16 +260,16 @@ void DoneFadeOutKilledQueen( void )
|
|||||||
if ( pSoldier->bActive && pSoldier->stats.bLife >= OKLIFE && pSoldier->bInSector && pSoldier->bAssignment == CurrentSquad( ) )
|
if ( pSoldier->bActive && pSoldier->stats.bLife >= OKLIFE && pSoldier->bInSector && pSoldier->bAssignment == CurrentSquad( ) )
|
||||||
{
|
{
|
||||||
gfTacticalTraversal = TRUE;
|
gfTacticalTraversal = TRUE;
|
||||||
SetGroupSectorValue( 3, MAP_ROW_P, 0, pSoldier->ubGroupID );
|
SetGroupSectorValue( VICTORY_X, VICTORY_Y, 0, pSoldier->ubGroupID );
|
||||||
|
|
||||||
// Set next sectore
|
// Set next sectore
|
||||||
pSoldier->sSectorX = 3;
|
pSoldier->sSectorX = VICTORY_X;
|
||||||
pSoldier->sSectorY = MAP_ROW_P;
|
pSoldier->sSectorY = VICTORY_Y;
|
||||||
pSoldier->bSectorZ = 0;
|
pSoldier->bSectorZ = 0;
|
||||||
|
|
||||||
// Set gridno
|
// Set gridno
|
||||||
pSoldier->ubStrategicInsertionCode = INSERTION_CODE_GRIDNO;
|
pSoldier->ubStrategicInsertionCode = INSERTION_CODE_GRIDNO;
|
||||||
pSoldier->usStrategicInsertionData = 5687;//dnl!!!
|
pSoldier->usStrategicInsertionData = gModSettings.iEndGameVictoryGridNo; //5687 dnl!!!
|
||||||
// Set direction to face....
|
// Set direction to face....
|
||||||
pSoldier->ubInsertionDirection = 100 + NORTHWEST;
|
pSoldier->ubInsertionDirection = 100 + NORTHWEST;
|
||||||
}
|
}
|
||||||
@@ -299,33 +302,35 @@ void DoneFadeOutKilledQueen( void )
|
|||||||
|
|
||||||
SetMusicMode( MUSIC_TACTICAL_VICTORY );
|
SetMusicMode( MUSIC_TACTICAL_VICTORY );
|
||||||
|
|
||||||
HandleMoraleEvent( NULL, MORALE_QUEEN_BATTLE_WON, 3, MAP_ROW_P, 0 );
|
HandleMoraleEvent( NULL, MORALE_QUEEN_BATTLE_WON, VICTORY_X, VICTORY_Y, 0 );
|
||||||
HandleGlobalLoyaltyEvent( GLOBAL_LOYALTY_QUEEN_BATTLE_WON, 3, MAP_ROW_P, 0 );
|
HandleGlobalLoyaltyEvent( GLOBAL_LOYALTY_QUEEN_BATTLE_WON, VICTORY_X, VICTORY_Y, 0 );
|
||||||
|
|
||||||
SetMusicMode( MUSIC_TACTICAL_VICTORY );
|
SetMusicMode( MUSIC_TACTICAL_VICTORY );
|
||||||
|
|
||||||
SetThisSectorAsPlayerControlled( gWorldSectorX, gWorldSectorY, gbWorldSectorZ, TRUE );
|
SetThisSectorAsPlayerControlled( gWorldSectorX, gWorldSectorY, gbWorldSectorZ, TRUE );
|
||||||
|
|
||||||
// ATE: Force change of level set z to 1
|
// ATE: Force change of level set z to 1 to allow reloading of same sector
|
||||||
gbWorldSectorZ = 1;
|
gbWorldSectorZ = 1;
|
||||||
|
|
||||||
// Clear out dudes.......
|
// Clear out dudes.......
|
||||||
SectorInfo[ SEC_P3 ].ubNumAdmins = 0;
|
SectorInfo[ SECTOR( VICTORY_X, VICTORY_Y ) ].ubNumAdmins = 0;
|
||||||
SectorInfo[ SEC_P3 ].ubNumTroops = 0;
|
SectorInfo[ SECTOR( VICTORY_X, VICTORY_Y ) ].ubNumTroops = 0;
|
||||||
SectorInfo[ SEC_P3 ].ubNumElites = 0;
|
SectorInfo[ SECTOR( VICTORY_X, VICTORY_Y ) ].ubNumElites = 0;
|
||||||
SectorInfo[ SEC_P3 ].ubAdminsInBattle = 0;
|
SectorInfo[ SECTOR( VICTORY_X, VICTORY_Y ) ].ubAdminsInBattle = 0;
|
||||||
SectorInfo[ SEC_P3 ].ubTroopsInBattle = 0;
|
SectorInfo[ SECTOR( VICTORY_X, VICTORY_Y ) ].ubTroopsInBattle = 0;
|
||||||
SectorInfo[ SEC_P3 ].ubElitesInBattle = 0;
|
SectorInfo[ SECTOR( VICTORY_X, VICTORY_Y ) ].ubElitesInBattle = 0;
|
||||||
|
|
||||||
// ATE: GEt rid of elliot in P3...
|
// ATE: banish elliot... dead or alive
|
||||||
gMercProfiles[ ELLIOT ].sSectorX = 1;
|
gMercProfiles[ ELLIOT ].sSectorX = 0;
|
||||||
|
gMercProfiles[ ELLIOT ].sSectorY = 0;
|
||||||
|
gMercProfiles[ ELLIOT ].bSectorZ = 0;
|
||||||
|
|
||||||
ChangeNpcToDifferentSector( DEREK, 3, MAP_ROW_P, 0 );
|
ChangeNpcToDifferentSector( DEREK, VICTORY_X, VICTORY_Y, 0 );
|
||||||
ChangeNpcToDifferentSector( OLIVER, 3, MAP_ROW_P, 0 );
|
ChangeNpcToDifferentSector( OLIVER, VICTORY_X, VICTORY_Y, 0 );
|
||||||
|
|
||||||
|
|
||||||
// OK, insertion data found, enter sector!
|
// OK, insertion data found, enter sector!
|
||||||
SetCurrentWorldSector( 3, MAP_ROW_P, 0 );
|
SetCurrentWorldSector( VICTORY_X, VICTORY_Y, 0 );
|
||||||
|
|
||||||
// OK, once down here, adjust the above map with crate info....
|
// OK, once down here, adjust the above map with crate info....
|
||||||
gfTacticalTraversal = FALSE;
|
gfTacticalTraversal = FALSE;
|
||||||
|
|||||||
@@ -1660,7 +1660,7 @@ STR16 pAssignmentStrings[] =
|
|||||||
L"M.Miliz", //training moving militia units
|
L"M.Miliz", //training moving militia units
|
||||||
L"Trainer", // training a teammate
|
L"Trainer", // training a teammate
|
||||||
L"Rekrut", // being trained by someone else
|
L"Rekrut", // being trained by someone else
|
||||||
L"Umzug", // move items // TODO.Translate
|
L"Umzug", // move items
|
||||||
L"Betrieb", // operating a strategic facility
|
L"Betrieb", // operating a strategic facility
|
||||||
L"Essen", // eating at a facility (cantina etc.)
|
L"Essen", // eating at a facility (cantina etc.)
|
||||||
L"Pause", // Resting at a facility
|
L"Pause", // Resting at a facility
|
||||||
@@ -1790,7 +1790,7 @@ STR16 pLongAssignmentStrings[] =
|
|||||||
L"Trainiere Mobile",
|
L"Trainiere Mobile",
|
||||||
L"Trainer",
|
L"Trainer",
|
||||||
L"Rekrut",
|
L"Rekrut",
|
||||||
L"MoveItem", // move items
|
L"Umzug", // move items
|
||||||
L"Betriebspersonal",
|
L"Betriebspersonal",
|
||||||
L"Betriebspause",
|
L"Betriebspause",
|
||||||
L"Gefangene verhören", // Flugente: interrogate prisoners
|
L"Gefangene verhören", // Flugente: interrogate prisoners
|
||||||
|
|||||||
Reference in New Issue
Block a user