misc: chore: [ci skip] Move the play report analyzer definition into a PlayReport static class to avoid polluting the Discord integration module
This commit is contained in:
parent
bf713a80d6
commit
8117e160c2
@ -82,36 +82,6 @@ namespace Ryujinx.Ava
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static string MarioKart8(object obj)
|
|
||||||
{
|
|
||||||
return obj switch
|
|
||||||
{
|
|
||||||
// Single Player
|
|
||||||
"Single" => "Single Player",
|
|
||||||
// Multiplayer
|
|
||||||
"Multi-2players" => "Multiplayer 2 Players",
|
|
||||||
"Multi-3players" => "Multiplayer 3 Players",
|
|
||||||
"Multi-4players" => "Multiplayer 4 Players",
|
|
||||||
// Wireless/LAN Play
|
|
||||||
"Local-Single" => "Wireless/LAN Play",
|
|
||||||
"Local-2players" => "Wireless/LAN Play 2 Players",
|
|
||||||
// CC Classes
|
|
||||||
"50cc" => "50cc",
|
|
||||||
"100cc" => "100cc",
|
|
||||||
"150cc" => "150cc",
|
|
||||||
"Mirror" => "Mirror (150cc)",
|
|
||||||
"200cc" => "200cc",
|
|
||||||
// Modes
|
|
||||||
"GrandPrix" => "Grand Prix",
|
|
||||||
"TimeAttack" => "Time Trials",
|
|
||||||
"VS" => "VS Races",
|
|
||||||
"Battle" => "Battle Mode",
|
|
||||||
"RaceStart" => "Selecting a Course",
|
|
||||||
"Race" => "Racing",
|
|
||||||
_ => "Playing Mario Kart 8 Deluxe"
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void Use(Optional<string> titleId)
|
public static void Use(Optional<string> titleId)
|
||||||
{
|
{
|
||||||
if (titleId.TryGet(out string tid))
|
if (titleId.TryGet(out string tid))
|
||||||
@ -155,45 +125,13 @@ namespace Ryujinx.Ava
|
|||||||
_discordClient?.SetPresence(_discordPresenceMain);
|
_discordClient?.SetPresence(_discordPresenceMain);
|
||||||
_discordPresencePlaying = null;
|
_discordPresencePlaying = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static readonly PlayReportAnalyzer _playReportAnalyzer = new PlayReportAnalyzer()
|
|
||||||
.AddSpec( // Breath of the Wild
|
|
||||||
"01007ef00011e000",
|
|
||||||
gameSpec =>
|
|
||||||
gameSpec.AddValueFormatter("IsHardMode", val => val is 1 ? "Playing Master Mode" : "Playing Normal Mode")
|
|
||||||
)
|
|
||||||
.AddSpec( // Super Mario Odyssey
|
|
||||||
"0100000000010000",
|
|
||||||
gameSpec =>
|
|
||||||
gameSpec.AddValueFormatter("is_kids_mode", val => val is 1 ? "Playing in Assist Mode" : "Playing in Regular Mode")
|
|
||||||
)
|
|
||||||
.AddSpec( // Super Mario Odyssey (China)
|
|
||||||
"010075000ECBE000",
|
|
||||||
gameSpec =>
|
|
||||||
gameSpec.AddValueFormatter("is_kids_mode", val => val is 1 ? "Playing in 帮助模式" : "Playing in 普通模式")
|
|
||||||
)
|
|
||||||
.AddSpec( // Super Mario 3D World + Bowser's Fury
|
|
||||||
"010028600EBDA000",
|
|
||||||
gameSpec =>
|
|
||||||
gameSpec.AddValueFormatter("mode", val => val is 0 ? "Playing Super Mario 3D World" : "Playing Bowser's Fury")
|
|
||||||
)
|
|
||||||
.AddSpec( // Mario Kart 8 Deluxe
|
|
||||||
"0100152000022000",
|
|
||||||
gameSpec =>
|
|
||||||
gameSpec.AddValueFormatter("To", MarioKart8)
|
|
||||||
)
|
|
||||||
.AddSpec( // Mario Kart 8 Deluxe (China)
|
|
||||||
"010075100E8EC000",
|
|
||||||
gameSpec =>
|
|
||||||
gameSpec.AddValueFormatter("To", MarioKart8)
|
|
||||||
);
|
|
||||||
|
|
||||||
private static void HandlePlayReport(MessagePackObject playReport)
|
private static void HandlePlayReport(MessagePackObject playReport)
|
||||||
{
|
{
|
||||||
if (!TitleIDs.CurrentApplication.Value.HasValue) return;
|
if (!TitleIDs.CurrentApplication.Value.HasValue) return;
|
||||||
if (_discordPresencePlaying is null) return;
|
if (_discordPresencePlaying is null) return;
|
||||||
|
|
||||||
Optional<string> details = _playReportAnalyzer.Run(TitleIDs.CurrentApplication.Value, playReport);
|
Optional<string> details = PlayReport.Analyzer.Run(TitleIDs.CurrentApplication.Value, playReport);
|
||||||
|
|
||||||
if (!details.HasValue) return;
|
if (!details.HasValue) return;
|
||||||
|
|
||||||
|
76
src/Ryujinx/Utilities/PlayReport.cs
Normal file
76
src/Ryujinx/Utilities/PlayReport.cs
Normal file
@ -0,0 +1,76 @@
|
|||||||
|
using Ryujinx.Common.Helper;
|
||||||
|
|
||||||
|
namespace Ryujinx.Ava.Utilities
|
||||||
|
{
|
||||||
|
public static class PlayReport
|
||||||
|
{
|
||||||
|
public static PlayReportAnalyzer Analyzer { get; } = new PlayReportAnalyzer()
|
||||||
|
.AddSpec(
|
||||||
|
"01007ef00011e000",
|
||||||
|
spec => spec.AddValueFormatter("IsHardMode", BreathOfTheWild_MasterMode)
|
||||||
|
)
|
||||||
|
.AddSpec( // Super Mario Odyssey
|
||||||
|
"0100000000010000",
|
||||||
|
spec =>
|
||||||
|
spec.AddValueFormatter("is_kids_mode", SuperMarioOdyssey_AssistMode)
|
||||||
|
)
|
||||||
|
.AddSpec( // Super Mario Odyssey (China)
|
||||||
|
"010075000ECBE000",
|
||||||
|
spec =>
|
||||||
|
spec.AddValueFormatter("is_kids_mode", SuperMarioOdysseyChina_AssistMode)
|
||||||
|
)
|
||||||
|
.AddSpec( // Super Mario 3D World + Bowser's Fury
|
||||||
|
"010028600EBDA000",
|
||||||
|
spec => spec.AddValueFormatter("mode", SuperMario3DWorldOrBowsersFury)
|
||||||
|
)
|
||||||
|
.AddSpec( // Mario Kart 8 Deluxe
|
||||||
|
"0100152000022000",
|
||||||
|
spec => spec.AddValueFormatter("To", MarioKart8Deluxe_Mode)
|
||||||
|
)
|
||||||
|
.AddSpec( // Mario Kart 8 Deluxe (China)
|
||||||
|
"010075100E8EC000",
|
||||||
|
spec => spec.AddValueFormatter("To", MarioKart8Deluxe_Mode)
|
||||||
|
);
|
||||||
|
|
||||||
|
private static string BreathOfTheWild_MasterMode(object val)
|
||||||
|
=> val is 1 ? "Playing Master Mode" : "Playing Normal Mode";
|
||||||
|
|
||||||
|
private static string SuperMarioOdyssey_AssistMode(object val)
|
||||||
|
=> val is 1 ? "Playing in Assist Mode" : "Playing in Regular Mode";
|
||||||
|
|
||||||
|
private static string SuperMarioOdysseyChina_AssistMode(object val)
|
||||||
|
=> val is 1 ? "Playing in 帮助模式" : "Playing in 普通模式";
|
||||||
|
|
||||||
|
private static string SuperMario3DWorldOrBowsersFury(object val)
|
||||||
|
=> val is 0 ? "Playing Super Mario 3D World" : "Playing Bowser's Fury";
|
||||||
|
|
||||||
|
private static string MarioKart8Deluxe_Mode(object obj)
|
||||||
|
=> obj switch
|
||||||
|
{
|
||||||
|
// Single Player
|
||||||
|
"Single" => "Single Player",
|
||||||
|
// Multiplayer
|
||||||
|
"Multi-2players" => "Multiplayer 2 Players",
|
||||||
|
"Multi-3players" => "Multiplayer 3 Players",
|
||||||
|
"Multi-4players" => "Multiplayer 4 Players",
|
||||||
|
// Wireless/LAN Play
|
||||||
|
"Local-Single" => "Wireless/LAN Play",
|
||||||
|
"Local-2players" => "Wireless/LAN Play 2 Players",
|
||||||
|
// CC Classes
|
||||||
|
"50cc" => "50cc",
|
||||||
|
"100cc" => "100cc",
|
||||||
|
"150cc" => "150cc",
|
||||||
|
"Mirror" => "Mirror (150cc)",
|
||||||
|
"200cc" => "200cc",
|
||||||
|
// Modes
|
||||||
|
"GrandPrix" => "Grand Prix",
|
||||||
|
"TimeAttack" => "Time Trials",
|
||||||
|
"VS" => "VS Races",
|
||||||
|
"Battle" => "Battle Mode",
|
||||||
|
"RaceStart" => "Selecting a Course",
|
||||||
|
"Race" => "Racing",
|
||||||
|
//TODO: refactor value formatting system to pass in the name from the content archive so this can be localized properly
|
||||||
|
_ => "Playing Mario Kart 8 Deluxe"
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user