mirror of
https://github.com/CraftyBoss/SuperMarioOdysseyOnline.git
synced 2024-11-04 18:55:05 +00:00
new hide & seek players list
Cherry picked this from the original commit and did the romfs change for all languages (not just for `USen`). All players are shown now with an icon indicating their gamemode role. I also changed the approach on how to change the font. Instead of changing existing characters I added completely new characters to the font (in all languages). That way the game icons don't appear unintended elsewhere in the game. It's also possible to do it for all languages now (`%`, &`, and `©` aren't available in all languages). Sadly I couldn't get UTF-32 characters to work (e.g. to use unicode codes for emojis that fit the icon). So I had to limit myself to UTF-16 and chose the private use area of unicode: - 0xE000 for a penguin icon (why not? :D) - 0xE001 for the hider icon (formerly `%`) - 0xE002 for the seeker icon (formerly `&`) - 0xE003 for the sardine icon (formerly `©`) - 0xE004 for the sardines can icon (formerly `@`) I included the sardines icons already, because in the future I might create separate PRs to get these gamemodes into the main mod. The font changes are inside `romfs/LocalizedData/${lang}/LayoutData/FontData.szs`. The update in the `romfs/LayoutData/HideAndSeekIcon.szs` changes the title for the players list from `Teammates` to `Players`. It also adds a shadow to the font of the list to increase readability.f8eef7fb97
2a0d0e7724
(cherry picked from commitf8eef7fb97
) (cherry picked from commit2a0d0e7724
) Co-authored-by: Robin C. Ladiges <rcl.git@blackpinguin.de>
This commit is contained in:
parent
ad79fe1732
commit
d600412e73
15 changed files with 18 additions and 7 deletions
Binary file not shown.
BIN
romfs/LocalizedData/CNzh/LayoutData/FontData.szs
Normal file
BIN
romfs/LocalizedData/CNzh/LayoutData/FontData.szs
Normal file
Binary file not shown.
BIN
romfs/LocalizedData/EUde/LayoutData/FontData.szs
Normal file
BIN
romfs/LocalizedData/EUde/LayoutData/FontData.szs
Normal file
Binary file not shown.
BIN
romfs/LocalizedData/EUen/LayoutData/FontData.szs
Normal file
BIN
romfs/LocalizedData/EUen/LayoutData/FontData.szs
Normal file
Binary file not shown.
BIN
romfs/LocalizedData/EUes/LayoutData/FontData.szs
Normal file
BIN
romfs/LocalizedData/EUes/LayoutData/FontData.szs
Normal file
Binary file not shown.
BIN
romfs/LocalizedData/EUfr/LayoutData/FontData.szs
Normal file
BIN
romfs/LocalizedData/EUfr/LayoutData/FontData.szs
Normal file
Binary file not shown.
BIN
romfs/LocalizedData/EUit/LayoutData/FontData.szs
Normal file
BIN
romfs/LocalizedData/EUit/LayoutData/FontData.szs
Normal file
Binary file not shown.
BIN
romfs/LocalizedData/EUnl/LayoutData/FontData.szs
Normal file
BIN
romfs/LocalizedData/EUnl/LayoutData/FontData.szs
Normal file
Binary file not shown.
BIN
romfs/LocalizedData/EUru/LayoutData/FontData.szs
Normal file
BIN
romfs/LocalizedData/EUru/LayoutData/FontData.szs
Normal file
Binary file not shown.
BIN
romfs/LocalizedData/JPja/LayoutData/FontData.szs
Normal file
BIN
romfs/LocalizedData/JPja/LayoutData/FontData.szs
Normal file
Binary file not shown.
BIN
romfs/LocalizedData/TWzh/LayoutData/FontData.szs
Normal file
BIN
romfs/LocalizedData/TWzh/LayoutData/FontData.szs
Normal file
Binary file not shown.
BIN
romfs/LocalizedData/USen/LayoutData/FontData.szs
Normal file
BIN
romfs/LocalizedData/USen/LayoutData/FontData.szs
Normal file
Binary file not shown.
BIN
romfs/LocalizedData/USes/LayoutData/FontData.szs
Normal file
BIN
romfs/LocalizedData/USes/LayoutData/FontData.szs
Normal file
Binary file not shown.
BIN
romfs/LocalizedData/USfr/LayoutData/FontData.szs
Normal file
BIN
romfs/LocalizedData/USfr/LayoutData/FontData.szs
Normal file
Binary file not shown.
|
@ -86,13 +86,24 @@ void HideAndSeekIcon::exeWait() {
|
||||||
|
|
||||||
char playerNameBuf[0x100] = {0}; // max of 16 player names if player name size is 0x10
|
char playerNameBuf[0x100] = {0}; // max of 16 player names if player name size is 0x10
|
||||||
|
|
||||||
sead::BufferedSafeStringBase<char> playerList =
|
sead::BufferedSafeStringBase<char> playerList = sead::BufferedSafeStringBase<char>(playerNameBuf, 0x200);
|
||||||
sead::BufferedSafeStringBase<char>(playerNameBuf, 0x200);
|
|
||||||
|
|
||||||
for (size_t i = 0; i < playerCount; i++) {
|
// Add your own name to the list at the top
|
||||||
|
playerList.appendWithFormat("%s %s\n", mInfo->mIsPlayerIt ? "\uE002" : "\uE001", Client::instance()->getClientName());
|
||||||
|
|
||||||
|
// Add all seekers to the list
|
||||||
|
for (int i = 0; i < playerCount; i++) {
|
||||||
PuppetInfo* curPuppet = Client::getPuppetInfo(i);
|
PuppetInfo* curPuppet = Client::getPuppetInfo(i);
|
||||||
if (curPuppet && curPuppet->isConnected && (curPuppet->isIt == mInfo->mIsPlayerIt)) {
|
if (curPuppet && curPuppet->isConnected && curPuppet->isIt) {
|
||||||
playerList.appendWithFormat("%s\n", curPuppet->puppetName);
|
playerList.appendWithFormat("\uE002 %s\n", curPuppet->puppetName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Add all hiders to the list
|
||||||
|
for (int i = 0; i < playerCount; i++) {
|
||||||
|
PuppetInfo* curPuppet = Client::getPuppetInfo(i);
|
||||||
|
if (curPuppet && curPuppet->isConnected && !curPuppet->isIt) {
|
||||||
|
playerList.appendWithFormat("\uE001 %s\n", curPuppet->puppetName);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue