project-slippi/Ishiiruka/pull/249

This commit is contained in:
Nikhil Narayana 2021-12-17 20:43:26 -08:00
commit 722b986d50
2 changed files with 13 additions and 0 deletions

View file

@ -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<uint16_t, NAMETAG_SIZE> nametag;
std::array<uint8_t, DISPLAY_NAME_SIZE> displayName;
std::array<uint8_t, CONNECT_CODE_SIZE> connectCode;
} PlayerSettings;
typedef struct {
@ -90,6 +94,8 @@ namespace Slippi {
std::unordered_map<uint8_t, PlayerSettings> players;
uint8_t isPAL;
uint8_t isFrozenPS;
uint8_t minorScene;
uint8_t majorScene;
std::vector<uint8_t> geckoCodes;
} GameSettings;

View file

@ -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());