replace logger

This commit is contained in:
GenZmeY 2023-05-20 19:48:47 +03:00
parent 0b5197f923
commit 98102cf58a
4 changed files with 65 additions and 33 deletions

View File

@ -15,8 +15,9 @@ var config int TraderTime;
var config int Dosh; var config int Dosh;
/** Whether an 'initial' trader time should occur before the first wave. */ /** Whether an 'initial' trader time should occur before the first wave. */
var config bool bStartWithTrader; var config bool bStartWithTrader;
/** Whether mod-specific events should be logged. */ /** Log level. */
var config bool bUseDebug; var config E_LogLevel LogLevel;
/** /**
* The boss override index. For the default boss list, 0-Hans, 1-Patty, 2-King FP, 3-Abomination. Negative * The boss override index. For the default boss list, 0-Hans, 1-Patty, 2-King FP, 3-Abomination. Negative
* values can be used to keep the boss spawn random. * values can be used to keep the boss spawn random.
@ -50,15 +51,15 @@ function InitMutator(string Options, out string ErrorMessage)
Dosh = Max(class'GameInfo'.static.GetIntOption(Options, "Dosh", Dosh), 0); Dosh = Max(class'GameInfo'.static.GetIntOption(Options, "Dosh", Dosh), 0);
Boss = class'GameInfo'.static.GetIntOption(Options, "Boss", Boss); Boss = class'GameInfo'.static.GetIntOption(Options, "Boss", Boss);
bStartWithTrader = GetBoolOption(Options, "bStartWithTrader", bStartWithTrader); bStartWithTrader = GetBoolOption(Options, "bStartWithTrader", bStartWithTrader);
bUseDebug = GetBoolOption(Options, "bUseDebug", bUseDebug); LogLevel = E_LogLevel(class'GameInfo'.static.GetIntOption(Options, "LogLevel", LogLevel));
//DEBUG //DEBUG
`log("StartWave: "$StartWave, bUseDebug, 'StartWave'); `Log_Debug("StartWave: " $ StartWave);
`log("InitialTraderTime: "$InitialTraderTime, bUseDebug, 'StartWave'); `Log_Debug("InitialTraderTime: " $ InitialTraderTime);
`log("TraderTime: "$TraderTime, bUseDebug, 'StartWave'); `Log_Debug("TraderTime: " $ TraderTime);
`log("Dosh: "$Dosh, bUseDebug, 'StartWave'); `Log_Debug("Dosh: " $ Dosh);
`log("Boss: "$Boss, bUseDebug, 'StartWave'); `Log_Debug("Boss: " $ Boss);
`log("bStartWithTrader: "$bStartWithTrader, bUseDebug, 'StartWave'); `Log_Debug("bStartWithTrader: " $ bStartWithTrader);
bOverridenDifficultySettings = false; bOverridenDifficultySettings = false;
bOverridenTraderDuration = false; bOverridenTraderDuration = false;
@ -79,16 +80,14 @@ function InitMutator(string Options, out string ErrorMessage)
//If we want to start with the trader active or alter the starting wave number. //If we want to start with the trader active or alter the starting wave number.
if(bStartWithTrader || StartWave > 1) if(bStartWithTrader || StartWave > 1)
{ {
`log("Calling StartWaveTimer() to alter the start wave or activate the trader initially.", `Log_Debug("Calling StartWaveTimer() to alter the start wave or activate the trader initially.");
bUseDebug, 'StartWave');
SetTimer(0.2, false, nameof(StartWaveTimer)); SetTimer(0.2, false, nameof(StartWaveTimer));
} }
//If we will need to alter TimeBetweenWaves for later activations of the trader. //If we will need to alter TimeBetweenWaves for later activations of the trader.
if(bStartWithTrader && InitialTraderTime != TraderTime) if(bStartWithTrader && InitialTraderTime != TraderTime)
{ {
`log("Calling UpdateTraderDurationTimer() to alter the trader duration later.", bUseDebug, `Log_Debug("Calling UpdateTraderDurationTimer() to alter the trader duration later.");
'StartWave');
SetTimer(1, true, nameof(UpdateTraderDurationTimer)); SetTimer(1, true, nameof(UpdateTraderDurationTimer));
} }
} }
@ -131,7 +130,7 @@ function SetWave(int NewWaveNum, PlayerController PC, optional bool bSkipTraderT
{ {
if(NewWaveNum < 1) if(NewWaveNum < 1)
{ {
`log("SetWave: new wave num must be > 0.", true, 'StartWave'); `Log_Error("SetWave: new wave num must be > 0.");
return; return;
} }
@ -283,11 +282,11 @@ function OverrideBoss()
if(MyKFGI.MyKFGRI.BossIndex == Boss) if(MyKFGI.MyKFGRI.BossIndex == Boss)
{ {
`log("Successfully overrode boss index to "$Boss$" after "$i$" attempts.", bUseDebug, 'StartWave'); `Log_Debug("Successfully overrode boss index to" @ Boss @ "after" @ i @ "attempts.");
} }
else else
{ {
`log("Failed to override boss index after "$i$" attempts.", bUseDebug, 'StartWave'); `Log_Debug("Failed to override boss index after" @ i @ "attempts.");
} }
} }
@ -302,13 +301,13 @@ function OverrideTimer()
//If we've overriden what we need to, don't call this timer again. //If we've overriden what we need to, don't call this timer again.
if(bOverridenDifficultySettings && bOverridenTraderDuration) if(bOverridenDifficultySettings && bOverridenTraderDuration)
{ {
`log("All settings have been overriden.", bUseDebug, 'StartWave'); `Log_Debug("All settings have been overriden.");
return; return;
} }
if(!bOverridenDifficultySettings && MyKFGI.DifficultyInfo != None) if(!bOverridenDifficultySettings && MyKFGI.DifficultyInfo != None)
{ {
`log("Overriding difficulty settings...", bUseDebug, 'StartWave'); `Log_Debug("Overriding difficulty settings...");
bOverridenDifficultySettings = true; bOverridenDifficultySettings = true;
@ -331,7 +330,7 @@ function OverrideTimer()
} }
} }
`log("Starting dosh has been set to: "$Dosh$" dosh.", bUseDebug, 'StartWave'); `Log_Debug("Starting dosh has been set to:" @ Dosh @ "dosh.");
//We need to set the difficulty settings again - normally done in KFGameInfo.InitGame - to apply //We need to set the difficulty settings again - normally done in KFGameInfo.InitGame - to apply
//these changes, since this happens after InitGame is executed. //these changes, since this happens after InitGame is executed.
@ -349,7 +348,7 @@ function OverrideTimer()
//executed, which sets WaveMax. //executed, which sets WaveMax.
if(MyKFGI.SpawnManager != None) if(MyKFGI.SpawnManager != None)
{ {
`log("Overriding trader duration...", bUseDebug, 'StartWave'); `Log_Debug("Overriding trader duration...");
bOverridenTraderDuration = true; bOverridenTraderDuration = true;
@ -358,13 +357,11 @@ function OverrideTimer()
//Now we can override TimeBetweenWaves. //Now we can override TimeBetweenWaves.
KFGI_Surv.TimeBetweenWaves = bInitialTrader ? InitialTraderTime : TraderTime; KFGI_Surv.TimeBetweenWaves = bInitialTrader ? InitialTraderTime : TraderTime;
`log("Trader duration has been set to: "$KFGI_Surv.TimeBetweenWaves$" seconds.", bUseDebug, `Log_Debug("Trader duration has been set to:" @ KFGI_Surv.TimeBetweenWaves @ "seconds.");
'StartWave');
} }
else else
{ {
`log("MyKFGI.SpawnManager hasn't been set yet. Calling StartWaveTimer again.", bUseDebug, `Log_Debug("MyKFGI.SpawnManager hasn't been set yet. Calling StartWaveTimer again.");
'StartWave');
//We don't know WaveMax yet, so we need to wait longer. //We don't know WaveMax yet, so we need to wait longer.
SetTimer(0.1, false, nameof(StartWaveTimer)); SetTimer(0.1, false, nameof(StartWaveTimer));
@ -373,8 +370,7 @@ function OverrideTimer()
} }
else else
{ {
`warn("The game mode does not extend KFGameInfo_Survival. Most features of this mutator are not" `Log_Warn("The game mode does not extend KFGameInfo_Survival. Most features of this mutator are not compatible with non-wave-based game modes.");
$"compatible with non-wave-based game modes.", true, 'StartWave');
} }
} }
@ -402,7 +398,7 @@ function StartWaveTimer()
return; return;
} }
`log("Clearing the current wave.", bUseDebug, 'StartWave'); `Log_Debug("Clearing the current wave.");
//Clear the current wave. //Clear the current wave.
foreach WorldInfo.AllControllers(class'PlayerController', PC) foreach WorldInfo.AllControllers(class'PlayerController', PC)
@ -421,11 +417,11 @@ function StartWaveTimer()
//incremented by 1. //incremented by 1.
KFGI_Surv.WaveNum = StartWave - 1; KFGI_Surv.WaveNum = StartWave - 1;
`log("WaveNum set to: "$KFGI_Surv.WaveNum, bUseDebug, 'StartWave'); `Log_Debug("WaveNum set to:" @ KFGI_Surv.WaveNum);
if(bStartWithTrader) if(bStartWithTrader)
{ {
`log("Switching to state: TraderOpen.", bUseDebug, 'StartWave'); `Log_Debug("Switching to state: TraderOpen.");
//We need to update GRI's WaveNum and update the HUD element that shows the last wave. //We need to update GRI's WaveNum and update the HUD element that shows the last wave.
MyKFGI.MyKFGRI.WaveNum = KFGI_Surv.WaveNum; MyKFGI.MyKFGRI.WaveNum = KFGI_Surv.WaveNum;
@ -436,7 +432,7 @@ function StartWaveTimer()
} }
else else
{ {
`log("Switching to state: PlayingWave.", bUseDebug, 'StartWave'); `Log_Debug("Switching to state: PlayingWave.");
//Start with a wave as usual - but our StartWave number will be used. //Start with a wave as usual - but our StartWave number will be used.
MyKFGI.GotoState('PlayingWave'); MyKFGI.GotoState('PlayingWave');
@ -457,14 +453,13 @@ function UpdateTraderDurationTimer()
{ {
if(KFGameInfo_Survival(MyKFGI) != None) if(KFGameInfo_Survival(MyKFGI) != None)
{ {
`log("Updating trader duration to "$TraderTime$" seconds.", bUseDebug, 'StartWave'); `Log_Debug("Updating trader duration to" @ TraderTime @ "seconds.");
//We can update TimeBetweenWaves to be the TraderTime we specified in the launch command. //We can update TimeBetweenWaves to be the TraderTime we specified in the launch command.
KFGameInfo_Survival(MyKFGI).TimeBetweenWaves = TraderTime; KFGameInfo_Survival(MyKFGI).TimeBetweenWaves = TraderTime;
} }
else else
{ {
`warn("The game mode does not extend KFGameInfo_Survival. Most features of this mutator are not" `Log_Warn("The game mode does not extend KFGameInfo_Survival. Most features of this mutator are not compatible with non-wave-based game modes.");
$"compatible with non-wave-based game modes.", true, 'StartWave');
} }
//We don't need to call this timer again. //We don't need to call this timer again.

View File

@ -0,0 +1,20 @@
class _Logger extends Object
abstract;
enum E_LogLevel
{
LL_WrongLevel,
LL_None,
LL_Fatal,
LL_Error,
LL_Warning,
LL_Info,
LL_Debug,
LL_Trace,
LL_All
};
defaultproperties
{
}

2
StartWave/Globals.uci Normal file
View File

@ -0,0 +1,2 @@
// Imports
`include(Logger.uci)

15
StartWave/Logger.uci Normal file
View File

@ -0,0 +1,15 @@
// Logger
`define Log_Tag 'StartWave'
`define LocationStatic "`{ClassName}::" $ GetFuncName()
`define Log_Base(msg, cond) `log(`msg `if(`cond), `cond`{endif}, `Log_Tag)
`define Log_Fatal(msg) `log("FATAL:" @ `msg, (LogLevel >= LL_Fatal), `Log_Tag)
`define Log_Error(msg) `log("ERROR:" @ `msg, (LogLevel >= LL_Error), `Log_Tag)
`define Log_Warn(msg) `log("WARN:" @ `msg, (LogLevel >= LL_Warning), `Log_Tag)
`define Log_Info(msg) `log("INFO:" @ `msg, (LogLevel >= LL_Info), `Log_Tag)
`define Log_Debug(msg) `log("DEBUG:" @ `msg, (LogLevel >= LL_Debug), `Log_Tag)
`define Log_Trace(msg) `log("TRACE:" @ `Location `if(`msg) @ `msg`{endif}, (LogLevel >= LL_Trace), `Log_Tag)
`define Log_TraceStatic(msg) `log("TRACE:" @ `LocationStatic `if(`msg) @ `msg`{endif}, (LogLevel >= LL_Trace), `Log_Tag)