Tomodachi Life: Living the Dream Rich Presence

Adds play report formatting for Tomodachi Life: Living the Dream, based on mii count, fountain level, and total money.
This commit is contained in:
Mabel 2026-05-17 14:59:36 -07:00 committed by sh0inx
parent 004a12005e
commit 882c2d55d2
2 changed files with 16 additions and 1 deletions

View file

@ -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}";
}
}
}

View file

@ -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}";