From ebccf3b2e99bf7cb00843b77b8a553de71f12838 Mon Sep 17 00:00:00 2001 From: R2DLiu Date: Tue, 1 Aug 2023 16:15:02 -0400 Subject: [PATCH] pull 5287899c4d374b38a9ae870db33615b53f29a61e --- Source/Core/Core/HW/EXI/EXI_DeviceSlippi.cpp | 3 ++- Source/Core/Core/Slippi/SlippiGame.cpp | 7 +++---- Source/Core/Core/Slippi/SlippiGame.h | 1 + 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/Source/Core/Core/HW/EXI/EXI_DeviceSlippi.cpp b/Source/Core/Core/HW/EXI/EXI_DeviceSlippi.cpp index 7f17aff19a..b3edfa9a26 100644 --- a/Source/Core/Core/HW/EXI/EXI_DeviceSlippi.cpp +++ b/Source/Core/Core/HW/EXI/EXI_DeviceSlippi.cpp @@ -885,7 +885,7 @@ void CEXISlippi::prepareCharacterFrameData(Slippi::FrameData* frame, u8 port, u8 source = isFollower ? frame->followers : frame->players; // This must be updated if new data is added - int characterDataLen = 49; + int characterDataLen = 50; // Check if player exists if (!source.count(port)) @@ -918,6 +918,7 @@ void CEXISlippi::prepareCharacterFrameData(Slippi::FrameData* frame, u8 port, u8 appendWordToBuffer(&m_read_queue, *(u32*)&data.facingDirection); appendWordToBuffer(&m_read_queue, static_cast(data.animation)); m_read_queue.push_back(data.joystickXRaw); + m_read_queue.push_back(data.joystickYRaw); appendWordToBuffer(&m_read_queue, *(u32*)&data.percent); // NOTE TO DEV: If you add data here, make sure to increase the size above } diff --git a/Source/Core/Core/Slippi/SlippiGame.cpp b/Source/Core/Core/Slippi/SlippiGame.cpp index 6fd5df770d..bd5b494bae 100644 --- a/Source/Core/Core/Slippi/SlippiGame.cpp +++ b/Source/Core/Core/Slippi/SlippiGame.cpp @@ -255,14 +255,13 @@ void handlePreFrameUpdate(Game* game, uint32_t maxSize) p.lTrigger = readFloat(data, idx, maxSize, 0); p.rTrigger = readFloat(data, idx, maxSize, 0); - if (asmEvents[EVENT_PRE_FRAME_UPDATE] >= 59) - { - p.joystickXRaw = readByte(data, idx, maxSize, 0); - } + p.joystickXRaw = readByte(data, idx, maxSize, 0); uint32_t noPercent = 0xFFFFFFFF; p.percent = readFloat(data, idx, maxSize, *(float*)(&noPercent)); + p.joystickYRaw = readByte(data, idx, maxSize, 0); + // Add player data to frame std::unordered_map* target; target = isFollower ? &frame->followers : &frame->players; diff --git a/Source/Core/Core/Slippi/SlippiGame.h b/Source/Core/Core/Slippi/SlippiGame.h index a88b49b2c9..2be3477f5f 100644 --- a/Source/Core/Core/Slippi/SlippiGame.h +++ b/Source/Core/Core/Slippi/SlippiGame.h @@ -68,6 +68,7 @@ typedef struct float rTrigger; uint8_t joystickXRaw; + uint8_t joystickYRaw; } PlayerFrameData; typedef struct FrameData