diff --git a/LogWatcher.cs b/LogWatcher.cs index 1eb8dc75..9bc44cd9 100644 --- a/LogWatcher.cs +++ b/LogWatcher.cs @@ -194,6 +194,7 @@ namespace VRCX ParseLogLocation(fileInfo, logContext, line, offset) == true || ParseLogPortalSpawn(fileInfo, logContext, line, offset) == true || ParseLogJoinBlocked(fileInfo, logContext, line, offset) == true || + ParseAvatarPedestalChange(fileInfo, logContext, line, offset) == true || ParseLogVideoPlay(fileInfo, logContext, line, offset) == true || ParseLogVideoError(fileInfo, logContext, line, offset) == true) { @@ -428,6 +429,28 @@ namespace VRCX return true; } + private bool ParseAvatarPedestalChange(FileInfo fileInfo, LogContext logContext, string line, int offset) + { + // 2021.05.07 10:48:19 Log - [Network Processing] RPC invoked SwitchAvatar on AvatarPedestal for User + + if (string.Compare(line, offset, "RPC invoked SwitchAvatar on AvatarPedestal for ", 0, 47, StringComparison.Ordinal) != 0) + { + return false; + } + + var data = line.Substring(offset + 47); + + AppendLog(new[] + { + fileInfo.Name, + ConvertLogTimeToISO8601(line), + "event", + $"{data} changed avatar pedestal" + }); + + return true; + } + private bool ParseLogVideoError(FileInfo fileInfo, LogContext logContext, string line, int offset) { // 2021.04.08 06:37:45 Error - [Video Playback] ERROR: Video unavailable