New feature: additional dialogue allows modders to play additional dialogue on man occasions, including reactions to other people speaking

For more info, see http://thepit.ja-galaxy-forum.com/index.php?t=tree&goto=351982&#msg_351982 and for a demonstration http://thepit.ja-galaxy-forum.com/index.php?t=tree&goto=351981&#msg_351981

Requires GameDir >= r2400

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@8516 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
Flugente
2018-01-10 23:41:52 +00:00
parent fadb7710e6
commit dd3129ac11
18 changed files with 429 additions and 80 deletions
+7 -7
View File
@@ -20,6 +20,7 @@
#include "dialogue control.h"
#include "Random.h"
#include "gamesettings.h"
#include "Dialogue Control.h" // added by Flugente
#endif
// Room Information
@@ -278,11 +279,10 @@ void RemoveRoomRoof( INT32 sGridNo, UINT16 usRoomNum, SOLDIERTYPE *pSoldier )
// STRUCTURE *pStructure;//, *pBase;
// LOOP THORUGH WORLD AND CHECK ROOM INFO
for ( cnt = 0; cnt < WORLD_MAX; cnt++ )
for ( cnt = 0; cnt < WORLD_MAX; ++cnt )
{
if ( gusWorldRoomInfo[ cnt ] == usRoomNum )
{
SetGridNoRevealedFlag( cnt );//dnl ch56 141009
//RemoveRoofIndexFlagsFromTypeRange( cnt, FIRSTROOF, SECONDSLANTROOF, LEVELNODE_REVEAL );
@@ -319,7 +319,6 @@ void RemoveRoomRoof( INT32 sGridNo, UINT16 usRoomNum, SOLDIERTYPE *pSoldier )
// Get XY
ConvertGridNoToXY( cnt, &sX, &sY );
SetRecalculateWireFrameFlagRadius( sX, sY, 2 );
}
}
@@ -331,17 +330,18 @@ void RemoveRoomRoof( INT32 sGridNo, UINT16 usRoomNum, SOLDIERTYPE *pSoldier )
// }
//}
// Flugente: additional dialogue
if ( pSoldier )
AdditionalTacticalCharacterDialogue_CallsLua( pSoldier, ADE_DISCOVER_ROOM, usRoomNum );
// DIRTY THE WORLD!
InvalidateWorldRedundency();
SetRenderFlags(RENDER_FLAG_FULL );
CalculateWorldWireFrameTiles( FALSE );
}
BOOLEAN AddSpecialTileRange( SGPRect *pSelectRegion )
{
INT32 cnt1, cnt2;
+5 -1
View File
@@ -28,6 +28,7 @@
#include "Strategic Movement.h" // added by Flugente
#include "tiledef.h" // added by Flugente
#include "worldman.h" // added by Flugente
#include "Dialogue Control.h" // added by Flugente
#endif
#include "Text.h"
@@ -906,7 +907,10 @@ void ChangeWeather( UINT8 aSector, UINT8 aType )
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, L"%s: Changed weather from %s to %s", pStrSectorName, szWeatherTypeText[SectorInfo[aSector].usWeather], szWeatherTypeText[aType] );
}
// First turn off whatever rain it is, then turn on the requested rain
// Flugente: additional dialogue
AdditionalTacticalCharacterDialogue_AllInSector( SECTORX( aSector ), SECTORY( aSector ), 0, NO_PROFILE, ADE_WEATHERCHANGE, aType );
// First turn off whatever weather it is, then turn on the requested weather
SectorInfo[aSector].usWeather = aType;
}
}
+8
View File
@@ -32,6 +32,7 @@
#include "environment.h"
#include "GameSettings.h"
#include "Buildings.h"
#include "Dialogue Control.h" // added by Flugente
#endif
#include "Campaign.h"
@@ -2710,6 +2711,13 @@ void HandleArmedObjectImpact( REAL_OBJECT *pObject )
fDoImpact = TRUE;
}
// Flugente: additional dialogue
// any merc nearby that can see this can warn us
if ( ( *pObj )[0]->data.misc.bDelay > 0 && pObject->ubOwner != NOBODY )//&& MercPtrs[pObject->ubOwner]->bTeam != gbPlayerNum )
{
AdditionalTacticalCharacterDialogue_AllInSectorRadiusCall( NO_PROFILE, ADE_GRENADEWARNING, 0, 0, 0, pObject->sGridNo, 5 );
}
if ( fDoImpact )
{
if ( Item[pObject->Obj.usItem].flare )