Removed option AI_DECISION_INFO.

Added quest debug logging to Logs\QuestInfo.txt

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@9177 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
Sevenfm
2021-10-14 08:35:32 +00:00
parent 9f787dd73d
commit 0a717c2697
13 changed files with 107 additions and 12 deletions
+49 -3
View File
@@ -216,6 +216,7 @@ STR szAction[] = {
// sevenfm
UINT32 guiAIStartCounter = 0, guiAILastCounter = 0;
//UINT8 gubAISelectedSoldier = NOBODY;
BOOLEAN gfLogsEnabled = TRUE;
void DebugAI( INT8 bMsgType, SOLDIERTYPE *pSoldier, STR szOutput, INT8 bAction )
{
@@ -223,10 +224,8 @@ void DebugAI( INT8 bMsgType, SOLDIERTYPE *pSoldier, STR szOutput, INT8 bAction )
CHAR8 msg[1024];
CHAR8 buf[1024];
if (!gGameExternalOptions.fAIDecisionInfo)
{
if (!gfLogsEnabled)
return;
}
memset(buf, 0, 1024 * sizeof(char));
@@ -307,6 +306,12 @@ void DebugAI( INT8 bMsgType, SOLDIERTYPE *pSoldier, STR szOutput, INT8 bAction )
fputs("\n", DebugFile);
fclose(DebugFile);
}
else
{
// cannot open file in Logs folder, stop logging
gfLogsEnabled = FALSE;
return;
}
// also log to individual file for selected soldier
sprintf(buf, "Logs\\AI_Decisions [%d].txt", pSoldier->ubID);
@@ -322,6 +327,46 @@ void DebugAI( INT8 bMsgType, SOLDIERTYPE *pSoldier, STR szOutput, INT8 bAction )
}
}
extern UINT32 guiDay;
extern UINT32 guiHour;
extern UINT32 guiMin;
void DebugQuestInfo(STR szOutput)
{
/*CHAR16 buf16[1024];
memset(buf16, 0, 1024 * sizeof(wchar_t));
if (strlen(szOutput) > 0)
{
mbstowcs(buf16, szOutput, 1024 - 1);
AddTacticalDebugMessage(buf16);
}*/
CHAR8 buf[1024];
if (!gfLogsEnabled)
return;
FILE* DebugFile;
DebugFile = fopen("Logs\\QuestInfo.txt", "a+t");
if (DebugFile != NULL)
{
// first write game clock and date/time
sprintf(buf, "%d Day %d %d:%d ", GetJA2Clock(), guiDay, guiHour, guiMin);
fputs(buf, DebugFile);
fputs(szOutput, DebugFile);
fputs("\n", DebugFile);
fclose(DebugFile);
}
else
{
// cannot open file in Logs folder, stop logging
gfLogsEnabled = FALSE;
return;
}
}
BOOLEAN InitAI( void )
{
@@ -354,6 +399,7 @@ BOOLEAN InitAI( void )
// sevenfm: Clear the AI debug txt file to prevent it from getting huge
remove("Logs\\AI_Decisions.txt");
//remove("Logs\\QuestInfo.txt");
// remove all individual files
CHAR8 buf[1024];
+9
View File
@@ -1871,6 +1871,7 @@ void ResetOncePerConvoRecordsForNPC( UINT8 ubNPC )
return;
}
ResetOncePerConvoRecords( gpNPCQuoteInfoArray[ ubNPC ] );
DebugQuestInfo(String("reset QUOTE_FLAG_SAID for profile %d", ubNPC));
}
void ResetOncePerConvoRecordsForAllNPCsInLoadedSector( void )
@@ -1933,6 +1934,8 @@ void Converse( UINT8 ubNPC, UINT8 ubMerc, INT8 bApproach, UINT32 uiApproachData
SOLDIERTYPE * pNPC;
BOOLEAN fAttemptingToGiveItem;
DebugQuestInfo(String("Converse: merc<%d> to NPC <%d> %d data %d", ubMerc, ubNPC, bApproach, uiApproachData));
// we have to record whether an item is being given in order to determine whether,
// in the case where the approach is overridden, we need to return the item to the
// player
@@ -1986,6 +1989,7 @@ void Converse( UINT8 ubNPC, UINT8 ubMerc, INT8 bApproach, UINT32 uiApproachData
{
case NPC_INITIAL_QUOTE:
// reset stuff
DebugQuestInfo(String("ResetOncePerConvoRecords for <%d>", ubNPC));
ResetOncePerConvoRecords( pNPCQuoteInfoArray );
// CHEAP HACK
@@ -1994,6 +1998,7 @@ void Converse( UINT8 ubNPC, UINT8 ubMerc, INT8 bApproach, UINT32 uiApproachData
if ( ubNPC == DARREN && CheckFact( 281, DARREN ) == FALSE )
{
TURN_FLAG_OFF( pNPCQuoteInfoArray[11].fFlags, QUOTE_FLAG_SAID );
DebugQuestInfo(String("reset QUOTE_FLAG_SAID for <%d> 'DARREN'", ubNPC));
}
// turn the NPC to face us
@@ -2769,6 +2774,8 @@ void TriggerNPCRecord( UINT8 ubTriggerNPC, UINT8 ubTriggerNPCRec )
NPCQuoteInfo *pQuotePtr;
BOOLEAN fDisplayDialogue = TRUE;
DebugQuestInfo(String("TriggerNPCRecord: <%d> record %d", ubTriggerNPC, ubTriggerNPCRec));
if (EnsureQuoteFileLoaded( ubTriggerNPC ) == FALSE)
{
// error!!!
@@ -2797,6 +2804,8 @@ void TriggerNPCRecordImmediately( UINT8 ubTriggerNPC, UINT8 ubTriggerNPCRec )
NPCQuoteInfo *pQuotePtr;
BOOLEAN fDisplayDialogue = TRUE;
DebugQuestInfo(String("TriggerNPCRecordImmediately: <%d> record %d", ubTriggerNPC, ubTriggerNPCRec));
if (EnsureQuoteFileLoaded( ubTriggerNPC ) == FALSE)
{
// error!!!
+1
View File
@@ -183,6 +183,7 @@ BOOLEAN CanAutoBandage( BOOLEAN fDoFullCheck );
void DebugAI( STR szOutput );
enum { AI_MSG_START, AI_MSG_DECIDE, AI_MSG_INFO, AI_MSG_TOPIC };
void DebugAI(INT8 bMsgType, SOLDIERTYPE *pSoldier, STR szOutput, INT8 bAction = -1);
void DebugQuestInfo(STR szOutput);
INT8 DecideAction(SOLDIERTYPE *pSoldier);
INT8 DecideActionBlack(SOLDIERTYPE *pSoldier);
INT8 DecideActionEscort(SOLDIERTYPE *pSoldier);