forked from nikita/muzika-gromche
Port logging to BepInEx ManualLogSource
- pros: free namespace by default - cons: Debug level has to be enabled manually in BepInEx.cfg, specifically in the section named [Logging.Console]
This commit is contained in:
parent
8a24448cb6
commit
38c9472cb1
|
|
@ -82,7 +82,7 @@ namespace MuzikaGromche
|
||||||
CachedDiscoBalls.Add(discoBall);
|
CachedDiscoBalls.Add(discoBall);
|
||||||
discoBall.SetActive(false);
|
discoBall.SetActive(false);
|
||||||
|
|
||||||
Debug.Log($"{nameof(MuzikaGromche)} {nameof(DiscoBallManager)} Patched tile '{tile.gameObject.name}'");
|
Plugin.Log.LogDebug($"{nameof(DiscoBallManager)} Patched tile '{tile.gameObject.name}'");
|
||||||
}
|
}
|
||||||
|
|
||||||
static IEnumerable<Animator> FindDiscoBallAnimators(GameObject discoBall)
|
static IEnumerable<Animator> FindDiscoBallAnimators(GameObject discoBall)
|
||||||
|
|
@ -109,7 +109,7 @@ namespace MuzikaGromche
|
||||||
|
|
||||||
public static void Toggle(bool on)
|
public static void Toggle(bool on)
|
||||||
{
|
{
|
||||||
Debug.Log($"{nameof(MuzikaGromche)} {nameof(DiscoBallManager)} Toggle {(on ? "ON" : "OFF")} {CachedDiscoBallAnimators.Count} animators");
|
Plugin.Log.LogDebug($"{nameof(DiscoBallManager)} Toggle {(on ? "ON" : "OFF")} {CachedDiscoBallAnimators.Count} animators");
|
||||||
|
|
||||||
foreach (var discoBall in CachedDiscoBalls)
|
foreach (var discoBall in CachedDiscoBalls)
|
||||||
{
|
{
|
||||||
|
|
@ -133,7 +133,7 @@ namespace MuzikaGromche
|
||||||
|
|
||||||
internal static void Clear()
|
internal static void Clear()
|
||||||
{
|
{
|
||||||
Debug.Log($"{nameof(MuzikaGromche)} {nameof(DiscoBallManager)} Clearing {CachedDiscoBalls.Count} disco balls & {CachedDiscoBallAnimators.Count} animators");
|
Plugin.Log.LogDebug($"{nameof(DiscoBallManager)} Clearing {CachedDiscoBalls.Count} disco balls & {CachedDiscoBallAnimators.Count} animators");
|
||||||
CachedDiscoBallAnimators.Clear();
|
CachedDiscoBallAnimators.Clear();
|
||||||
CachedDiscoBalls.Clear();
|
CachedDiscoBalls.Clear();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
using BepInEx;
|
using BepInEx;
|
||||||
using BepInEx.Configuration;
|
using BepInEx.Configuration;
|
||||||
|
using BepInEx.Logging;
|
||||||
using HarmonyLib;
|
using HarmonyLib;
|
||||||
using LethalConfig;
|
using LethalConfig;
|
||||||
using LethalConfig.ConfigItems;
|
using LethalConfig.ConfigItems;
|
||||||
|
|
@ -26,6 +27,7 @@ namespace MuzikaGromche
|
||||||
[BepInDependency("BMX.LobbyCompatibility", BepInDependency.DependencyFlags.SoftDependency)]
|
[BepInDependency("BMX.LobbyCompatibility", BepInDependency.DependencyFlags.SoftDependency)]
|
||||||
public class Plugin : BaseUnityPlugin
|
public class Plugin : BaseUnityPlugin
|
||||||
{
|
{
|
||||||
|
internal static ManualLogSource Log = null!;
|
||||||
internal new static Config Config { get; private set; } = null!;
|
internal new static Config Config { get; private set; } = null!;
|
||||||
|
|
||||||
// Not all lights are white by default. For example, Mineshaft's neon light is green-ish.
|
// Not all lights are white by default. For example, Mineshaft's neon light is green-ish.
|
||||||
|
|
@ -857,7 +859,7 @@ namespace MuzikaGromche
|
||||||
var rwi = new RandomWeightedIndex(weights);
|
var rwi = new RandomWeightedIndex(weights);
|
||||||
var trackId = rwi.GetRandomWeightedIndex(seed);
|
var trackId = rwi.GetRandomWeightedIndex(seed);
|
||||||
var track = tracks[trackId];
|
var track = tracks[trackId];
|
||||||
Debug.Log($"{nameof(MuzikaGromche)} Seed is {seed}, chosen track is \"{track.Name}\", #{trackId} of {rwi}");
|
Log.LogInfo($"Seed is {seed}, chosen track is \"{track.Name}\", #{trackId} of {rwi}");
|
||||||
return tracks[trackId];
|
return tracks[trackId];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -890,6 +892,8 @@ namespace MuzikaGromche
|
||||||
|
|
||||||
void Awake()
|
void Awake()
|
||||||
{
|
{
|
||||||
|
Log = Logger;
|
||||||
|
|
||||||
// Sort in place by name
|
// Sort in place by name
|
||||||
Array.Sort(Tracks.Select(track => track.Name).ToArray(), Tracks);
|
Array.Sort(Tracks.Select(track => track.Name).ToArray(), Tracks);
|
||||||
|
|
||||||
|
|
@ -1311,7 +1315,7 @@ namespace MuzikaGromche
|
||||||
|
|
||||||
void ISelectableTrack.Debug()
|
void ISelectableTrack.Debug()
|
||||||
{
|
{
|
||||||
Debug.Log($"{nameof(MuzikaGromche)} Track \"{Name}\", Intro={LoadedIntro.length:N4}, Loop={LoadedLoop.length:N4}");
|
Plugin.Log.LogDebug($"Track \"{Name}\", Intro={LoadedIntro.length:N4}, Loop={LoadedLoop.length:N4}");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1337,10 +1341,10 @@ namespace MuzikaGromche
|
||||||
|
|
||||||
void ISelectableTrack.Debug()
|
void ISelectableTrack.Debug()
|
||||||
{
|
{
|
||||||
Debug.Log($"{nameof(MuzikaGromche)} Track Group \"{Name}\", Count={Tracks.Length}");
|
Plugin.Log.LogDebug($"Track Group \"{Name}\", Count={Tracks.Length}");
|
||||||
foreach (var (track, index) in Tracks.Select((x, i) => (x, i)))
|
foreach (var (track, index) in Tracks.Select((x, i) => (x, i)))
|
||||||
{
|
{
|
||||||
Debug.Log($"{nameof(MuzikaGromche)} Track {index} \"{track.Name}\", Intro={track.LoadedIntro.length:N4}, Loop={track.LoadedLoop.length:N4}");
|
Plugin.Log.LogDebug($" Track {index} \"{track.Name}\", Intro={track.LoadedIntro.length:N4}, Loop={track.LoadedLoop.length:N4}");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -1717,11 +1721,10 @@ namespace MuzikaGromche
|
||||||
IsLooping |= timestamp.IsLooping;
|
IsLooping |= timestamp.IsLooping;
|
||||||
|
|
||||||
#if DEBUG && false
|
#if DEBUG && false
|
||||||
Debug.LogFormat("{0} t={1,10:N4} d={2,7:N4} {3} Time={4:N4} norm={5,6:N4} beat={6,7:N4}",
|
Plugin.Log.LogDebug(string.Format("t={0,10:N4} d={1,7:N4} {2} Time={3:N4} norm={4,6:N4} beat={5,7:N4}",
|
||||||
nameof(MuzikaGromche),
|
|
||||||
Time.realtimeSinceStartup, Time.deltaTime,
|
Time.realtimeSinceStartup, Time.deltaTime,
|
||||||
isExtrapolated ? 'E' : '_', time,
|
isExtrapolated ? 'E' : '_', time,
|
||||||
adjustedTimeNormalized, beat);
|
adjustedTimeNormalized, beat));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
return timestamp;
|
return timestamp;
|
||||||
|
|
@ -1783,7 +1786,7 @@ namespace MuzikaGromche
|
||||||
LastKnownLoopOffsetBeat = loopOffsetTimestamp.Beat;
|
LastKnownLoopOffsetBeat = loopOffsetTimestamp.Beat;
|
||||||
var events = GetEvents(loopOffsetTimestamp, loopOffsetSpan, windUpOffsetTimestamp);
|
var events = GetEvents(loopOffsetTimestamp, loopOffsetSpan, windUpOffsetTimestamp);
|
||||||
#if DEBUG
|
#if DEBUG
|
||||||
Debug.Log($"{nameof(MuzikaGromche)} looping? {(LoopLoopingState.IsLooping ? 'X' : '_')}{(WindUpLoopingState.IsLooping ? 'X' : '_')} Loop={loopOffsetSpan} WindUp={windUpOffsetTimestamp} Time={Time.realtimeSinceStartup:N4} events={string.Join(",", events)}");
|
Plugin.Log.LogDebug($"looping? {(LoopLoopingState.IsLooping ? 'X' : '_')}{(WindUpLoopingState.IsLooping ? 'X' : '_')} Loop={loopOffsetSpan} WindUp={windUpOffsetTimestamp} Time={Time.realtimeSinceStartup:N4} events={string.Join(",", events)}");
|
||||||
#endif
|
#endif
|
||||||
return events;
|
return events;
|
||||||
}
|
}
|
||||||
|
|
@ -2611,7 +2614,7 @@ namespace MuzikaGromche
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
Debug.Log($"{nameof(MuzikaGromche)} Unable to parse time series: {e}");
|
Plugin.Log.LogError($"Unable to parse time series: {e}");
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -2628,7 +2631,7 @@ namespace MuzikaGromche
|
||||||
strings.Append(", ");
|
strings.Append(", ");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Debug.Log($"{nameof(MuzikaGromche)} format time series {ts} {strings}");
|
Plugin.Log.LogDebug($"format time series {ts} {strings}");
|
||||||
return strings.ToString();
|
return strings.ToString();
|
||||||
}
|
}
|
||||||
T[]? parseStringArray<T>(string str, Func<string, T> parser, bool sort = false) where T : struct
|
T[]? parseStringArray<T>(string str, Func<string, T> parser, bool sort = false) where T : struct
|
||||||
|
|
@ -2641,7 +2644,7 @@ namespace MuzikaGromche
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
Debug.Log($"{nameof(MuzikaGromche)} Unable to parse array: {e}");
|
Plugin.Log.LogError($"Unable to parse array: {e}");
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -2731,12 +2734,12 @@ namespace MuzikaGromche
|
||||||
.FirstOrDefault(prefab => prefab.Prefab.name == JesterEnemyPrefabName);
|
.FirstOrDefault(prefab => prefab.Prefab.name == JesterEnemyPrefabName);
|
||||||
if (networkPrefab == null)
|
if (networkPrefab == null)
|
||||||
{
|
{
|
||||||
Debug.LogError($"{nameof(MuzikaGromche)} JesterEnemy prefab not found!");
|
Plugin.Log.LogError("JesterEnemy prefab not found!");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
networkPrefab.Prefab.AddComponent<MuzikaGromcheJesterNetworkBehaviour>();
|
networkPrefab.Prefab.AddComponent<MuzikaGromcheJesterNetworkBehaviour>();
|
||||||
Debug.Log($"{nameof(MuzikaGromche)} Patched JesterEnemy");
|
Plugin.Log.LogInfo("Patched JesterEnemy");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -2761,7 +2764,7 @@ namespace MuzikaGromche
|
||||||
var farAudioTransform = gameObject.transform.Find("FarAudio");
|
var farAudioTransform = gameObject.transform.Find("FarAudio");
|
||||||
if (farAudioTransform == null)
|
if (farAudioTransform == null)
|
||||||
{
|
{
|
||||||
Debug.LogError($"{nameof(MuzikaGromche)} JesterEnemy->FarAudio prefab not found!");
|
Plugin.Log.LogError("JesterEnemy->FarAudio prefab not found!");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
@ -2788,7 +2791,7 @@ namespace MuzikaGromche
|
||||||
|
|
||||||
Config.Volume.SettingChanged += UpdateVolume;
|
Config.Volume.SettingChanged += UpdateVolume;
|
||||||
|
|
||||||
Debug.Log($"{nameof(MuzikaGromche)} {nameof(MuzikaGromcheJesterNetworkBehaviour)} Patched JesterEnemy");
|
Plugin.Log.LogInfo($"{nameof(MuzikaGromcheJesterNetworkBehaviour)} Patched JesterEnemy");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -2856,7 +2859,7 @@ namespace MuzikaGromche
|
||||||
[ClientRpc]
|
[ClientRpc]
|
||||||
public void SetTrackClientRpc(string name)
|
public void SetTrackClientRpc(string name)
|
||||||
{
|
{
|
||||||
Debug.Log($"{nameof(MuzikaGromche)} SetTrackClientRpc {name}");
|
Plugin.Log.LogInfo($"SetTrackClientRpc {name}");
|
||||||
if (Plugin.FindTrackNamed(name) is { } track)
|
if (Plugin.FindTrackNamed(name) is { } track)
|
||||||
{
|
{
|
||||||
CurrentTrack = Config.OverrideCurrentTrack(track);
|
CurrentTrack = Config.OverrideCurrentTrack(track);
|
||||||
|
|
@ -2868,7 +2871,7 @@ namespace MuzikaGromche
|
||||||
{
|
{
|
||||||
var selectableTrack = Plugin.ChooseTrack();
|
var selectableTrack = Plugin.ChooseTrack();
|
||||||
var audioTrack = selectableTrack.SelectTrack(SelectedTrackIndex);
|
var audioTrack = selectableTrack.SelectTrack(SelectedTrackIndex);
|
||||||
Debug.Log($"{nameof(MuzikaGromche)} ChooseTrackServerRpc {selectableTrack.Name} #{SelectedTrackIndex} {audioTrack.Name}");
|
Plugin.Log.LogInfo($"ChooseTrackServerRpc {selectableTrack.Name} #{SelectedTrackIndex} {audioTrack.Name}");
|
||||||
SetTrackClientRpc(audioTrack.Name);
|
SetTrackClientRpc(audioTrack.Name);
|
||||||
SelectedTrackIndex += 1;
|
SelectedTrackIndex += 1;
|
||||||
}
|
}
|
||||||
|
|
@ -2877,7 +2880,7 @@ namespace MuzikaGromche
|
||||||
{
|
{
|
||||||
double loopStartDspTime = AudioSettings.dspTime + IntroAudioSource.clip.length - IntroAudioSource.time;
|
double loopStartDspTime = AudioSettings.dspTime + IntroAudioSource.clip.length - IntroAudioSource.time;
|
||||||
LoopAudioSource.PlayScheduled(loopStartDspTime);
|
LoopAudioSource.PlayScheduled(loopStartDspTime);
|
||||||
Debug.Log($"{nameof(MuzikaGromche)} Play Intro: dspTime={AudioSettings.dspTime:N4}, intro.time={IntroAudioSource.time:N4}/{IntroAudioSource.clip.length:N4}, scheduled Loop={loopStartDspTime}");
|
Plugin.Log.LogDebug($"Play Intro: dspTime={AudioSettings.dspTime:N4}, intro.time={IntroAudioSource.time:N4}/{IntroAudioSource.clip.length:N4}, scheduled Loop={loopStartDspTime}");
|
||||||
}
|
}
|
||||||
|
|
||||||
public void OverrideDeathScreenGameOverText()
|
public void OverrideDeathScreenGameOverText()
|
||||||
|
|
@ -2938,7 +2941,7 @@ namespace MuzikaGromche
|
||||||
if (behaviour.CurrentTrack == null)
|
if (behaviour.CurrentTrack == null)
|
||||||
{
|
{
|
||||||
#if DEBUG
|
#if DEBUG
|
||||||
Debug.LogError($"{nameof(MuzikaGromche)} CurrentTrack is not set!");
|
Plugin.Log.LogError("CurrentTrack is not set!");
|
||||||
#endif
|
#endif
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -205,7 +205,7 @@ namespace MuzikaGromche
|
||||||
patch.ManualPatch?.Invoke(animationContainer);
|
patch.ManualPatch?.Invoke(animationContainer);
|
||||||
|
|
||||||
animator.runtimeAnimatorController = patch.AnimatorController;
|
animator.runtimeAnimatorController = patch.AnimatorController;
|
||||||
Debug.Log($"{nameof(MuzikaGromche)} {nameof(PoweredLightsAnimatorsPatch)} {tilePatch.TileName}/{patch.AnimatorContainerPath}: Replaced animator controller");
|
Plugin.Log.LogDebug($"{nameof(PoweredLightsAnimatorsPatch)} {tilePatch.TileName}/{patch.AnimatorContainerPath}: Replaced animator controller");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -223,7 +223,7 @@ namespace MuzikaGromche
|
||||||
#pragma warning restore CS0162 // Unreachable code detected
|
#pragma warning restore CS0162 // Unreachable code detected
|
||||||
}
|
}
|
||||||
targetObject.name = newName;
|
targetObject.name = newName;
|
||||||
Debug.Log($"{nameof(MuzikaGromche)} {nameof(PoweredLightsAnimatorsPatch)} {animatorContainer.name}/{relativePath}: Renamed GameObject");
|
Plugin.Log.LogDebug($"{nameof(PoweredLightsAnimatorsPatch)} {animatorContainer.name}/{relativePath}: Renamed GameObject");
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -80,7 +80,7 @@ namespace MuzikaGromche
|
||||||
var multiplier = Mathf.Lerp(minMultiplier, maxMultiplier, normalizedMultiplierTime);
|
var multiplier = Mathf.Lerp(minMultiplier, maxMultiplier, normalizedMultiplierTime);
|
||||||
|
|
||||||
var newWeight = Mathf.FloorToInt(weights[index] * multiplier);
|
var newWeight = Mathf.FloorToInt(weights[index] * multiplier);
|
||||||
Debug.Log($"{nameof(MuzikaGromche)} {nameof(SpawnRatePatch)} Overriding spawn weight[{index}] {weights[index]} * {multiplier} => {newWeight} for t={SpawnTime}");
|
Plugin.Log.LogInfo($"{nameof(SpawnRatePatch)} Overriding spawn weight[{index}] {weights[index]} * {multiplier} => {newWeight} for t={SpawnTime}");
|
||||||
weights[index] = newWeight;
|
weights[index] = newWeight;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue