diff --git a/src/Ryujinx/Systems/PlayReport/PlayReports.Formatters.cs b/src/Ryujinx/Systems/PlayReport/PlayReports.Formatters.cs index 649c3cad6..06d5741e4 100644 --- a/src/Ryujinx/Systems/PlayReport/PlayReports.Formatters.cs +++ b/src/Ryujinx/Systems/PlayReport/PlayReports.Formatters.cs @@ -1,5 +1,6 @@ using Gommon; using Humanizer; +using LibHac.Fs; using MsgPack; using System; using System.Buffers.Binary; @@ -1070,6 +1071,13 @@ namespace Ryujinx.Ava.Systems.PlayReport _ => FormattedValue.ForceReset }; - + private static FormattedValue TomodachiLifeLTD_Status(MultiValue values) + { + int miiCount = values.Matched[0].IntValue; + int fountainLevel = values.Matched[1].IntValue; + int money = values.Matched[2].IntValue; + + return $"Looking after {"Mii".ToQuantity(miiCount)}, Fountain Lvl. {fountainLevel}, ${((float)money / 100):F2}"; + } } } diff --git a/src/Ryujinx/Systems/PlayReport/PlayReports.cs b/src/Ryujinx/Systems/PlayReport/PlayReports.cs index d483515bb..d11e5f982 100644 --- a/src/Ryujinx/Systems/PlayReport/PlayReports.cs +++ b/src/Ryujinx/Systems/PlayReport/PlayReports.cs @@ -119,6 +119,13 @@ namespace Ryujinx.Ava.Systems.PlayReport "based on what game you first launch.\n\nNSO emulators do not print any Play Report information past the first game launch so it's all we got.") .AddValueFormatter("launch_title_id", NsoEmulator_LaunchedGame) ) + .AddSpec( + [ "010051f0207b2000", "0100ca502552a000" ], // Tomodachi Life: Living the Dream + Demo + spec => spec + .WithDescription( + "based on your mii count, total money, and fountain level.") + .AddMultiValueFormatter(["CountMii", "FountainLevel","Money"], TomodachiLifeLTD_Status) + ) ); private static string Playing(string game) => $"Playing {game}";