From 722b986d509db2bea640e391683075ce3867b474 Mon Sep 17 00:00:00 2001 From: Nikhil Narayana Date: Fri, 17 Dec 2021 20:43:26 -0800 Subject: [PATCH] project-slippi/Ishiiruka/pull/249 --- Externals/SlippiLib/SlippiGame.h | 6 ++++++ Source/Core/Core/HW/EXI/EXI_DeviceSlippi.cpp | 7 +++++++ 2 files changed, 13 insertions(+) diff --git a/Externals/SlippiLib/SlippiGame.h b/Externals/SlippiLib/SlippiGame.h index 03afd296be..a38e6ab95e 100644 --- a/Externals/SlippiLib/SlippiGame.h +++ b/Externals/SlippiLib/SlippiGame.h @@ -22,6 +22,8 @@ namespace Slippi { const uint8_t GAME_INFO_HEADER_SIZE = 78; const uint8_t UCF_TOGGLE_SIZE = 8; const uint8_t NAMETAG_SIZE = 8; + const uint8_t DISPLAY_NAME_SIZE = 31; + const uint8_t CONNECT_CODE_SIZE = 10; const int32_t GAME_FIRST_FRAME = -123; const int32_t PLAYBACK_FIRST_SAVE = -122; const uint8_t GAME_SHEIK_INTERNAL_ID = 0x7; @@ -80,6 +82,8 @@ namespace Slippi { uint8_t playerType; uint8_t controllerPort; std::array nametag; + std::array displayName; + std::array connectCode; } PlayerSettings; typedef struct { @@ -90,6 +94,8 @@ namespace Slippi { std::unordered_map players; uint8_t isPAL; uint8_t isFrozenPS; + uint8_t minorScene; + uint8_t majorScene; std::vector geckoCodes; } GameSettings; diff --git a/Source/Core/Core/HW/EXI/EXI_DeviceSlippi.cpp b/Source/Core/Core/HW/EXI/EXI_DeviceSlippi.cpp index db3f787796..f1eb0ab342 100644 --- a/Source/Core/Core/HW/EXI/EXI_DeviceSlippi.cpp +++ b/Source/Core/Core/HW/EXI/EXI_DeviceSlippi.cpp @@ -726,6 +726,13 @@ void CEXISlippi::prepareGameInfo(u8* payload) // Write should resync setting m_read_queue.push_back(replayCommSettings.shouldResync ? 1 : 0); + // Write display names + for (int i = 0; i < 4; i++) + { + auto displayName = settings->players[i].displayName; + m_read_queue.insert(m_read_queue.end(), displayName.begin(), displayName.end()); + } + // Return the size of the gecko code list prepareGeckoList(); appendWordToBuffer(&m_read_queue, (u32)geckoList.size());