Externalizations (by Buggler)

- Queen Palace & Interrogate meanwhile stuff
- Initial POW stuff in Alma
- Sectors for triggering Meduna outskirts meanwhile scene
- Add Iggy to location when game progress condition met
- Add Rat to location after creature meanwhile scene

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@6479 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
Wanne
2013-10-11 06:55:31 +00:00
parent 3ab6da635f
commit f72e4424eb
11 changed files with 159 additions and 78 deletions
+30 -30
View File
@@ -486,7 +486,7 @@ void StartMeanwhile( )
// Force reload of NPC files...
ReloadQuoteFile( QUEEN );
ChangeNpcToDifferentSector( QUEEN, 3, 16, 0 );
ChangeNpcToDifferentSector( QUEEN, gModSettings.ubMeanwhilePalaceSectorX, gModSettings.ubMeanwhilePalaceSectorY, 0 ); //3, 16
}
// SAVE MESSANGER!
@@ -502,7 +502,7 @@ void StartMeanwhile( )
// Force reload of NPC files...
ReloadQuoteFile( ELLIOT );
ChangeNpcToDifferentSector( ELLIOT, 3, 16, 0 );
ChangeNpcToDifferentSector( ELLIOT, gModSettings.ubMeanwhilePalaceSectorX, gModSettings.ubMeanwhilePalaceSectorY, 0 );
}
if ( gCurrentMeanwhileDef.ubMeanwhileID == OUTSKIRTS_MEDUNA )
@@ -520,7 +520,7 @@ void StartMeanwhile( )
// Force reload of NPC files...
ReloadQuoteFile( JOE );
ChangeNpcToDifferentSector( JOE, 3, 16, 0 );
ChangeNpcToDifferentSector( JOE, gModSettings.ubMeanwhilePalaceSectorX, gModSettings.ubMeanwhilePalaceSectorY, 0 );
}
}
@@ -542,7 +542,7 @@ void StartMeanwhile( )
// Force reload of NPC files...
ReloadQuoteFile( QUEEN );
ChangeNpcToDifferentSector( QUEEN, 7, 14, 0 );
ChangeNpcToDifferentSector( QUEEN, gModSettings.ubMeanwhileInterrogatePOWSectorX, gModSettings.ubMeanwhileInterrogatePOWSectorY, 0 ); // 7, 14
}
// SAVE MESSANGER!
@@ -558,7 +558,7 @@ void StartMeanwhile( )
// Force reload of NPC files...
ReloadQuoteFile( ELLIOT );
ChangeNpcToDifferentSector( ELLIOT, 7, 14, 0 );
ChangeNpcToDifferentSector( ELLIOT, gModSettings.ubMeanwhileInterrogatePOWSectorX, gModSettings.ubMeanwhileInterrogatePOWSectorY, 0 );
}
// SAVE JOE!
@@ -574,7 +574,7 @@ void StartMeanwhile( )
// Force reload of NPC files...
ReloadQuoteFile( JOE );
ChangeNpcToDifferentSector( JOE, 7, 14, 0 );
ChangeNpcToDifferentSector( JOE, gModSettings.ubMeanwhileInterrogatePOWSectorX, gModSettings.ubMeanwhileInterrogatePOWSectorY, 0 );
}
break;
@@ -850,7 +850,7 @@ void EndMeanwhile( )
gMercProfiles[ ubProfile ].sSectorX = gNPCSaveData[ cnt ].sX;
gMercProfiles[ ubProfile ].sSectorY = gNPCSaveData[ cnt ].sY;
gMercProfiles[ ubProfile ].bSectorZ = (INT8)gNPCSaveData[ cnt ].sZ;
gMercProfiles[ ubProfile ].sGridNo = (INT8)gNPCSaveData[ cnt ].sGridNo;
gMercProfiles[ ubProfile ].sGridNo = (INT32)gNPCSaveData[ cnt ].sGridNo;
// Ensure NPC files loaded...
ReloadQuoteFile( ubProfile );
@@ -899,7 +899,7 @@ void DoneFadeOutMeanwhileOnceDone( )
gMercProfiles[ ubProfile ].sSectorX = gNPCSaveData[ cnt ].sX;
gMercProfiles[ ubProfile ].sSectorY = gNPCSaveData[ cnt ].sY;
gMercProfiles[ ubProfile ].bSectorZ = (INT8)gNPCSaveData[ cnt ].sZ;
gMercProfiles[ ubProfile ].sGridNo = (INT8)gNPCSaveData[ cnt ].sGridNo;
gMercProfiles[ ubProfile ].sGridNo = (INT32)gNPCSaveData[ cnt ].sGridNo;
// Ensure NPC files loaded...
ReloadQuoteFile( ubProfile );
@@ -975,8 +975,8 @@ void HandleCreatureRelease( void )
UINT32 uiTime = 0;
MEANWHILE_DEFINITION MeanwhileDef;
MeanwhileDef.sSectorX = 3;
MeanwhileDef.sSectorY = 16;
MeanwhileDef.sSectorX = gModSettings.ubMeanwhilePalaceSectorX;
MeanwhileDef.sSectorY = gModSettings.ubMeanwhilePalaceSectorY;
MeanwhileDef.ubNPCNumber = QUEEN;
MeanwhileDef.usTriggerEvent = 0;
@@ -997,8 +997,8 @@ void HandleMeanWhileEventPostingForTownLiberation( UINT8 bTownId )
UINT8 ubId = 0;
BOOLEAN fHandled = FALSE;
MeanwhileDef.sSectorX = 3;
MeanwhileDef.sSectorY = 16;
MeanwhileDef.sSectorX = gModSettings.ubMeanwhilePalaceSectorX;
MeanwhileDef.sSectorY = gModSettings.ubMeanwhilePalaceSectorY;
MeanwhileDef.ubNPCNumber = QUEEN;
MeanwhileDef.usTriggerEvent = 0;
@@ -1053,8 +1053,8 @@ void HandleMeanWhileEventPostingForTownLoss( UINT8 bTownId )
return;
}
MeanwhileDef.sSectorX = 3;
MeanwhileDef.sSectorY = 16;
MeanwhileDef.sSectorX = gModSettings.ubMeanwhilePalaceSectorX;
MeanwhileDef.sSectorY = gModSettings.ubMeanwhilePalaceSectorY;
MeanwhileDef.ubNPCNumber = QUEEN;
MeanwhileDef.usTriggerEvent = 0;
@@ -1084,8 +1084,8 @@ void HandleMeanWhileEventPostingForSAMLiberation( INT8 bSamId )
return;
}
MeanwhileDef.sSectorX = 3;
MeanwhileDef.sSectorY = 16;
MeanwhileDef.sSectorX = gModSettings.ubMeanwhilePalaceSectorX;
MeanwhileDef.sSectorY = gModSettings.ubMeanwhilePalaceSectorY;
MeanwhileDef.ubNPCNumber = QUEEN;
MeanwhileDef.usTriggerEvent = 0;
@@ -1132,8 +1132,8 @@ void HandleFlowersMeanwhileScene( INT8 bTimeCode )
return;
}
MeanwhileDef.sSectorX = 3;
MeanwhileDef.sSectorY = 16;
MeanwhileDef.sSectorX = gModSettings.ubMeanwhilePalaceSectorX;
MeanwhileDef.sSectorY = gModSettings.ubMeanwhilePalaceSectorY;
MeanwhileDef.ubNPCNumber = QUEEN;
MeanwhileDef.usTriggerEvent = 0;
@@ -1165,8 +1165,8 @@ void HandleOutskirtsOfMedunaMeanwhileScene( void )
return;
}
MeanwhileDef.sSectorX = 3;
MeanwhileDef.sSectorY = 16;
MeanwhileDef.sSectorX = gModSettings.ubMeanwhilePalaceSectorX;
MeanwhileDef.sSectorY = gModSettings.ubMeanwhilePalaceSectorY;
MeanwhileDef.ubNPCNumber = QUEEN;
MeanwhileDef.usTriggerEvent = 0;
@@ -1188,8 +1188,8 @@ void HandleKillChopperMeanwhileScene( void )
return;
}
MeanwhileDef.sSectorX = 3;
MeanwhileDef.sSectorY = 16;
MeanwhileDef.sSectorX = gModSettings.ubMeanwhilePalaceSectorX;
MeanwhileDef.sSectorY = gModSettings.ubMeanwhilePalaceSectorY;
MeanwhileDef.ubNPCNumber = QUEEN;
MeanwhileDef.usTriggerEvent = 0;
@@ -1211,8 +1211,8 @@ void HandleScientistAWOLMeanwhileScene( void )
return;
}
MeanwhileDef.sSectorX = 3;
MeanwhileDef.sSectorY = 16;
MeanwhileDef.sSectorX = gModSettings.ubMeanwhilePalaceSectorX;
MeanwhileDef.sSectorY = gModSettings.ubMeanwhilePalaceSectorY;
MeanwhileDef.ubNPCNumber = QUEEN;
MeanwhileDef.usTriggerEvent = 0;
@@ -1234,8 +1234,8 @@ void HandleInterrogationMeanwhileScene( void )
return;
}
MeanwhileDef.sSectorX = 7; // what sector?
MeanwhileDef.sSectorY = MAP_ROW_N;
MeanwhileDef.sSectorX = gModSettings.ubMeanwhileInterrogatePOWSectorX; // interrogate sector
MeanwhileDef.sSectorY = gModSettings.ubMeanwhileInterrogatePOWSectorY;
MeanwhileDef.ubNPCNumber = QUEEN;
MeanwhileDef.usTriggerEvent = 0;
@@ -1258,8 +1258,8 @@ void HandleFirstBattleVictory( void )
return;
}
MeanwhileDef.sSectorX = 3;
MeanwhileDef.sSectorY = 16;
MeanwhileDef.sSectorX = gModSettings.ubMeanwhilePalaceSectorX;
MeanwhileDef.sSectorY = gModSettings.ubMeanwhilePalaceSectorY;
MeanwhileDef.ubNPCNumber = QUEEN;
MeanwhileDef.usTriggerEvent = 0;
@@ -1286,8 +1286,8 @@ void HandleDelayedFirstBattleVictory( void )
return;
}
MeanwhileDef.sSectorX = 3;
MeanwhileDef.sSectorY = 16;
MeanwhileDef.sSectorX = gModSettings.ubMeanwhilePalaceSectorX;
MeanwhileDef.sSectorY = gModSettings.ubMeanwhilePalaceSectorY;
MeanwhileDef.ubNPCNumber = QUEEN;
MeanwhileDef.usTriggerEvent = 0;
+4 -1
View File
@@ -340,7 +340,10 @@ BOOLEAN SetThisSectorAsPlayerControlled( INT16 sMapX, INT16 sMapY, INT8 bMapZ, B
}
// SetSectorFlag( sMapX, sMapY, bMapZ, SF_SECTOR_HAS_BEEN_LIBERATED_ONCE );
if ( bMapZ == 0 && ( ( sMapY == MAP_ROW_M && (sMapX >= 2 && sMapX <= 6) ) || sMapY == MAP_ROW_N && sMapX == 6) )
if ( bMapZ == 0 && ( ( ( sMapX >= gModSettings.ubMeanwhileMedunaOutskirtsRowMinX && sMapX <= gModSettings.ubMeanwhileMedunaOutskirtsRowMaxX ) && //row x range
sMapY == gModSettings.ubMeanwhileMedunaOutskirtsRowY ) || //row y
( sMapX == gModSettings.ubMeanwhileMedunaOutskirtsColX && // col x
( sMapY >= gModSettings.ubMeanwhileMedunaOutskirtsColMinY && sMapY <= gModSettings.ubMeanwhileMedunaOutskirtsColMaxY ) ) ) ) //col y range
{
#if (defined JA2UB)
+22 -19
View File
@@ -85,7 +85,8 @@ extern INT32 giGarrisonArraySize;
extern BOOLEAN gfOverrideSector;
#endif
INT32 gsInterrogationGridNo[3] = { 7756, 7757, 7758 };
//Buggler: Externalized to gModSettings.iMeanwhileInterrogatePOWGridNo
//INT32 gsInterrogationGridNo[3] = { 7756, 7757, 7758 };
#ifdef JA2UB
INT32 gsGridNoForMapEdgePointInfo=-1;
@@ -2076,8 +2077,8 @@ void EndCaptureSequence( )
{
MEANWHILE_DEFINITION MeanwhileDef;
MeanwhileDef.sSectorX = 7;
MeanwhileDef.sSectorY = 14;
MeanwhileDef.sSectorX = gModSettings.ubMeanwhileInterrogatePOWSectorX; //7
MeanwhileDef.sSectorY = gModSettings.ubMeanwhileInterrogatePOWSectorY; //14
MeanwhileDef.ubNPCNumber = QUEEN;
MeanwhileDef.usTriggerEvent = 0;
MeanwhileDef.ubMeanwhileID = INTERROGATION;
@@ -2102,11 +2103,11 @@ void EnemyCapturesPlayerSoldier( SOLDIERTYPE *pSoldier )
BOOLEAN fMadeCorpse;
INT32 iNumEnemiesInSector;
// TODO.WANNE: Hardcoded grid number
static INT32 sAlmaCaptureGridNos[] = { 9208, 9688, 9215 }; //dnl!!!
static INT32 sAlmaCaptureItemsGridNo[] = { 12246, 12406, 13046 }; //dnl!!!
// Buggler: Externalized Hardcoded grid number
//static INT32 sAlmaCaptureGridNos[] = { 9208, 9688, 9215 }; //dnl!!!
//static INT32 sAlmaCaptureItemsGridNo[] = { 12246, 12406, 12086 }; //dnl!!!
static INT32 sInterrogationItemGridNo[] = { 12089, 12089, 12089 }; //dnl!!!
//static INT32 sInterrogationItemGridNo[] = { 12089, 12089, 12089 }; //dnl!!!
AssertNotNIL(pSoldier);
@@ -2142,8 +2143,8 @@ void EnemyCapturesPlayerSoldier( SOLDIERTYPE *pSoldier )
TakeSoldierOutOfVehicle( pSoldier );
// Are there anemies in ALMA? ( I13 )
iNumEnemiesInSector = NumEnemiesInSector( 13, 9 );
// Are there enemies in ALMA? ( I13 )
iNumEnemiesInSector = NumEnemiesInSector( gModSettings.ubInitialPOWSectorX, gModSettings.ubInitialPOWSectorY ); //(13, 9)
// IF there are no enemies, and we need to do alma, skip!
if ( gubQuest[ QUEST_HELD_IN_ALMA ] == QUESTNOTSTARTED && iNumEnemiesInSector == 0 )
@@ -2176,8 +2177,8 @@ void EnemyCapturesPlayerSoldier( SOLDIERTYPE *pSoldier )
if ( gubQuest[ QUEST_HELD_IN_ALMA ] == QUESTNOTSTARTED )
{
//-teleport him to NE Alma sector (not Tixa as originally planned)
pSoldier->sSectorX = 13;
pSoldier->sSectorY = 9;
pSoldier->sSectorX = gModSettings.ubInitialPOWSectorX; //13
pSoldier->sSectorY = gModSettings.ubInitialPOWSectorY; //9
pSoldier->bSectorZ = 0;
// put him on the floor!!
@@ -2189,27 +2190,28 @@ void EnemyCapturesPlayerSoldier( SOLDIERTYPE *pSoldier )
if( pSoldier->inv[ i ].exists() == true )
{
WorldItem.fExists = TRUE;
WorldItem.sGridNo = sAlmaCaptureItemsGridNo[ gStrategicStatus.ubNumCapturedForRescue ];
WorldItem.sGridNo = gModSettings.iInitialPOWItemGridNo[ gStrategicStatus.ubNumCapturedForRescue ];
WorldItem.ubLevel = 0;
WorldItem.usFlags = 0;
WorldItem.bVisible = FALSE;
WorldItem.bRenderZHeightAboveLevel = 0;
pSoldier->inv[ i ].MoveThisObjectTo(WorldItem.object);
AddWorldItemsToUnLoadedSector( 13, 9, 0, sAlmaCaptureItemsGridNo[ gStrategicStatus.ubNumCapturedForRescue ], 1, &WorldItem, FALSE );
AddWorldItemsToUnLoadedSector( gModSettings.ubInitialPOWSectorX, gModSettings.ubInitialPOWSectorY, 0,
gModSettings.iInitialPOWItemGridNo[ gStrategicStatus.ubNumCapturedForRescue ], 1, &WorldItem, FALSE );
}
}
pSoldier->ubStrategicInsertionCode = INSERTION_CODE_GRIDNO;
pSoldier->usStrategicInsertionData = sAlmaCaptureGridNos[ gStrategicStatus.ubNumCapturedForRescue ];
pSoldier->usStrategicInsertionData = gModSettings.iInitialPOWGridNo[ gStrategicStatus.ubNumCapturedForRescue ];
gStrategicStatus.ubNumCapturedForRescue++;
}
else if ( gubQuest[ QUEST_HELD_IN_ALMA ] == QUESTDONE )
{
//-teleport him to N7
pSoldier->sSectorX = 7;
pSoldier->sSectorY = 14;
pSoldier->sSectorX = gModSettings.ubMeanwhileInterrogatePOWSectorX; //7
pSoldier->sSectorY = gModSettings.ubMeanwhileInterrogatePOWSectorY; //14
pSoldier->bSectorZ = 0;
// put him on the floor!!
@@ -2221,19 +2223,20 @@ void EnemyCapturesPlayerSoldier( SOLDIERTYPE *pSoldier )
if( pSoldier->inv[ i ].exists() == true )
{
WorldItem.fExists = TRUE;
WorldItem.sGridNo = sInterrogationItemGridNo[ gStrategicStatus.ubNumCapturedForRescue ];
WorldItem.sGridNo = gModSettings.iMeanwhileInterrogatePOWItemGridNo[ gStrategicStatus.ubNumCapturedForRescue ];
WorldItem.ubLevel = 0;
WorldItem.usFlags = 0;
WorldItem.bVisible = FALSE;
WorldItem.bRenderZHeightAboveLevel = 0;
pSoldier->inv[ i ].MoveThisObjectTo(WorldItem.object);
AddWorldItemsToUnLoadedSector( 7, 14, 0, sInterrogationItemGridNo[ gStrategicStatus.ubNumCapturedForRescue ], 1, &WorldItem, FALSE );
AddWorldItemsToUnLoadedSector( gModSettings.ubMeanwhileInterrogatePOWSectorX, gModSettings.ubMeanwhileInterrogatePOWSectorY, 0,
gModSettings.iMeanwhileInterrogatePOWItemGridNo[ gStrategicStatus.ubNumCapturedForRescue ], 1, &WorldItem, FALSE );
}
}
pSoldier->ubStrategicInsertionCode = INSERTION_CODE_GRIDNO;
pSoldier->usStrategicInsertionData = gsInterrogationGridNo[ gStrategicStatus.ubNumCapturedForRescue ];
pSoldier->usStrategicInsertionData = gModSettings.iMeanwhileInterrogatePOWGridNo[ gStrategicStatus.ubNumCapturedForRescue ];
gStrategicStatus.ubNumCapturedForRescue++;
}
+2 -1
View File
@@ -54,7 +54,8 @@ BOOLEAN PlayerSectorDefended( UINT8 ubSectorID );
BOOLEAN OnlyHostileCivsInSector();
extern INT32 gsInterrogationGridNo[3];
//Buggler: Externalized to gModSettings.iMeanwhileInterrogatePOWGridNo
//extern INT32 gsInterrogationGridNo[3];
#ifdef JA2UB
extern INT32 gsGridNoForMapEdgePointInfo;
+1
View File
@@ -725,6 +725,7 @@ void HandleNPCSystemEvent( UINT32 uiEvent )
SetFactTrue( FACT_KINGPIN_CAN_SEND_ASSASSINS );
gMercProfiles[ SPIKE ].sSectorX = gModSettings.ubSpikeNewSectorX; //5
gMercProfiles[ SPIKE ].sSectorY = gModSettings.ubSpikeNewSectorY; //MAP_ROW_C
gMercProfiles[ SPIKE ].bSectorZ = gModSettings.ubSpikeNewSectorZ; //0
gTacticalStatus.fCivGroupHostile[ KINGPIN_CIV_GROUP ] = CIV_GROUP_WILL_BECOME_HOSTILE;
}
}
+3 -3
View File
@@ -1911,7 +1911,7 @@ void GetMapFileName(INT16 sMapX,INT16 sMapY, INT8 bSectorZ, STR8 bString, BOOLEA
/* Ja25: No meanwhiles */
#else
// If we are in a meanwhile...
if ( AreInMeanwhile( ) && sMapX == 3 && sMapY == 16 && !bSectorZ )//GetMeanwhileID() != INTERROGATION )
if ( AreInMeanwhile( ) && sMapX == gModSettings.ubMeanwhilePalaceSectorX && sMapY == gModSettings.ubMeanwhilePalaceSectorY && !bSectorZ ) //GetMeanwhileID() != INTERROGATION ), (3, 16)
{
if( fAddAlternateMapLetter )
{
@@ -3114,7 +3114,7 @@ void UpdateMercsInSector( INT16 sSectorX, INT16 sSectorY, INT8 bSectorZ )
fPOWSquadSet = TRUE;
// ATE: If we are in i13 - pop up message!
if ( sSectorY == MAP_ROW_I && sSectorX == 13 )
if ( sSectorX == gModSettings.ubInitialPOWSectorX && sSectorY == gModSettings.ubInitialPOWSectorY ) //(13, 9)
{
DoMessageBox( MSG_BOX_BASIC_STYLE, TacticalStr[ POW_MERCS_ARE_HERE ], GAME_SCREEN, ( UINT8 )MSG_BOX_FLAG_OK, NULL, NULL );
}
@@ -3127,7 +3127,7 @@ void UpdateMercsInSector( INT16 sSectorX, INT16 sSectorY, INT8 bSectorZ )
}
else
{
if ( sSectorY != MAP_ROW_I && sSectorX != 13 )
if ( sSectorX != gModSettings.ubInitialPOWSectorX && sSectorY != gModSettings.ubInitialPOWSectorY ) //(13, 9)
{
AddCharacterToSquad( pSoldier, ubPOWSquad );
}