Files
majcostaandGitHub 24425a82b1 More unused stuff removal (#49)
* More unused stuff removal

delete:
- giant 'metaheaders' (JA2 All.h, Laptop All.h, etc), preferring to add #includes directly where needed
- unused ExceptionHandling and DbMan translation units
- unused WizShare.h, Bitmap.h, trle.h, video_private.h headers

* remove mentions from vc proj files too

* remove preprocessor conditionals for unused definitions

find . -iname '*.h' -o -iname '*.cpp' -exec unifdef.exe -m -UPRECOMPILED_HEADERS -UJA2_PRECOMPILED_HEADERS -UWIZ8_PRECOMPILED_HEADERS -UPRECOMPILEDHEADERS {} ';'

then manually fixed a couple files the tool errored out on

* yes, the comments too

as title
2023-01-03 15:51:48 +02:00

164 lines
3.7 KiB
C++

#include "FileMan.h"
#include "QuestDebug.h"
#include "stdarg.h"
#include "stdio.h"
#include "Debug.h"
#include "Message.h"
#define QUEST_DEBUG_FILE "QuestDebug.txt"
//enums used for the current output level flags
enum
{
QD_OUTPUT_NONE, // no output
QD_OUTPUT_LEVEL_1, // Highest level
QD_OUTPUT_LEVEL_2,
QD_OUTPUT_LEVEL_3,
QD_OUTPUT_LEVEL_4,
QD_OUTPUT_LEVEL_ALL, // any message
};
//Mode and priority for the Quest Debug Messages
UINT8 gubQuestDebugOutPutLevel = QD_OUTPUT_LEVEL_ALL;
//Mode and priority for the NPC interaction Debug Messages
UINT8 gubNPCDebugOutPutLevel = QD_OUTPUT_LEVEL_ALL;
//set the current output mode for either the NPC or the quest output
void ToggleQuestDebugModes( UINT8 ubType )
{
CHAR16 sType[16];
UINT8 ubLevel;
if( ubType == QD_NPC_MSG )
{
wcscpy( sType, L"NPC Debug:");
//check to see if its out of range
if( gubNPCDebugOutPutLevel <= QD_OUTPUT_NONE+1 )
gubNPCDebugOutPutLevel = QD_OUTPUT_LEVEL_ALL;
else
{
//decrement
gubNPCDebugOutPutLevel--;
}
ubLevel = gubNPCDebugOutPutLevel;
}
else
{
wcscpy( sType, L"QUEST Debug:");
//check to see if its out of range
if( gubQuestDebugOutPutLevel <= QD_OUTPUT_NONE )
gubQuestDebugOutPutLevel = QD_OUTPUT_LEVEL_ALL;
else
{
//decrement
gubQuestDebugOutPutLevel--;
}
ubLevel = gubQuestDebugOutPutLevel;
}
//Display a messasge to the screen
if( ubLevel == QD_OUTPUT_NONE )
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_BETAVERSION, L"%s No Output", sType );
else if( ubLevel == QD_OUTPUT_LEVEL_ALL )
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_BETAVERSION, L"%s All messages", sType );
else
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_BETAVERSION, L"%s Level %d", sType, ubLevel );
}
void QuestDebugFileMsg( UINT8 ubQuoteType, UINT8 ubPriority, STR pStringA, ...)
{
static BOOLEAN fFirstTimeIn = TRUE;
static UINT32 uiLineNumber = 1;
HWFILE hFile;
UINT32 uiByteWritten;
va_list argptr;
char TempString[1024];
char DestString[1024];
TempString[0] = '\0';
DestString[0] = '\0';
va_start(argptr, pStringA); // Set up variable argument pointer
vsprintf(TempString, pStringA, argptr); // process gprintf string (get output str)
va_end(argptr);
//
//determine if we should display the message
//
// if its a quest message
if( ubQuoteType == QD_QUEST_MSG )
{
//if the message is a lower priority then the current output mode, dont display it
if( ubPriority > gubQuestDebugOutPutLevel )
return;
}
else
{
//if the message is a lower priority then the current output mode, dont display it
if( ubPriority > gubNPCDebugOutPutLevel )
return;
}
//if its the first time in the game
if( fFirstTimeIn )
{
//open a new file for writing
//if the file exists
if( FileExists( QUEST_DEBUG_FILE ) )
{
//delete the file
if( !FileDelete( QUEST_DEBUG_FILE ) )
{
DebugMsg( TOPIC_JA2, DBG_LEVEL_3, String("FAILED to delete %s file", QUEST_DEBUG_FILE) );
return;
}
}
fFirstTimeIn = FALSE;
}
//open the file
hFile = FileOpen( QUEST_DEBUG_FILE, FILE_ACCESS_WRITE, FALSE);
if( !hFile )
{
FileClose(hFile);
DebugMsg( TOPIC_JA2, DBG_LEVEL_3, String("FAILED to open Quest Debug File %s", QUEST_DEBUG_FILE) );
return;
}
sprintf( DestString, "#%5d. P%d:\n\t%s\n\n", uiLineNumber, ubPriority, TempString );
//open the file and append to it
if( !FileWrite( hFile, DestString, strlen(DestString), &uiByteWritten ) )
{
FileClose(hFile);
DebugMsg( TOPIC_JA2, DBG_LEVEL_3, String("FAILED to write to %s", QUEST_DEBUG_FILE) );
return;
}
//increment the line number
uiLineNumber++;
}