even with 9469fe4

This commit is contained in:
R2DLiu 2020-07-25 18:11:07 -04:00
commit 0d2386b312
9 changed files with 64 additions and 64 deletions

View file

@ -1,10 +1,8 @@
# GALE01 - Super Smash Bros. Melee NTSC-U 1.02
# no idea if these even do anything in mainline
[Core]
CPUThread = True
GPUDeterminismMode = fake-completion
PollingMethod = OnSIRead
FastDiscSpeed = True
[Gecko_Enabled]
@ -580,6 +578,7 @@ C216EA30 00000004 #Common/Winners Names are Gold on CSS/Remember Who LRA Started
04261B1C 60000000 #External/Closing CSS Door Preserves Nametag/On Window Close/Skip Nametag ID Reset.asm
04261B30 60000000 #External/Closing CSS Door Preserves Nametag/On Window Close/Skip isUsingNametag Bool Reset.asm
042605FC 38C00003 #External/Unplugging Closes CSS Door/Unplugging Closes CSS Door.asm
041239A8 60000000 #External/FreezeGlitchFix/FreezeGlitchFix.asm
$Required: Slippi Recording [Fizzi, Achilles, UnclePunch]
*Saves replays, Slippi device must be in Slot B.
@ -3416,7 +3415,7 @@ C21BFA20 00000012 #Online/Slippi Online Scene/boot.asm
3D80801B 618C136C
7D8903A6 4E800420
38600001 00000000
C21A45BC 00000114 #Online/Slippi Online Scene/main.asm
C21A45BC 0000011A #Online/Slippi Online Scene/main.asm
7C0802A6 90010004
9421FF50 BE810008
3C80803E 6084DC1C
@ -3425,7 +3424,7 @@ C21A45BC 00000114 #Online/Slippi Online Scene/main.asm
38600000 986DAFA3
986DAFC8 38600008
4800015D 7C8802A6
4800002D 48000838
4800002D 48000868
80830000 5485467A
2C050048 40820014
548401BA 7C840734
@ -3480,8 +3479,8 @@ BA810008 800100B4
03030000 00000000
00000000 05000000
00000000 00000000
04030000 480002F5
48000475 20000000
04030000 48000325
480004A5 20000000
80490880 804D68D0
FF000000 4E800021
81940000 7C0802A6
@ -3517,7 +3516,7 @@ BE810008 7C7E1B78
2C030000 40820000
886DAFCA 2C030000
41820020 48000004
48000389 3C808047
480003B9 3C808047
60849D30 38600005
98640005 48000018
3C808047 60849D30
@ -3545,7 +3544,7 @@ BE810008 7C7F1B78
4E800421 7C7E1B78
887E0001 889E0002
7C032000 4082001C
480002A9 3C808047
480002D9 3C808047
60849D30 38600005
98640005 4800001C
38600000 3D80801A
@ -3560,7 +3559,13 @@ BE810008 3D80801B
4E800421 38600000
3D808000 618C5610
7D8903A6 4E800421
7C7F1B78 887F0003
7C7F1B78 3A800000
3AA00000 7E83A378
48000329 2C030000
41820008 3AB50001
3A940001 2C140004
4180FFE4 2C150001
4082001C 887F0003
48000301 2C030000
4182000C 38600001
48000008 38600000

View file

@ -1,6 +1,5 @@
# GALJ01 - Super Smash Bros. Melee NTSC-J 1.02
# no idea if these even do anything in mainline
[Core]
CPUThread = True
GPUDeterminismMode = fake-completion
@ -580,6 +579,7 @@ C216EA30 00000004 #Common/Winners Names are Gold on CSS/Remember Who LRA Started
04261B1C 60000000 #External/Closing CSS Door Preserves Nametag/On Window Close/Skip Nametag ID Reset.asm
04261B30 60000000 #External/Closing CSS Door Preserves Nametag/On Window Close/Skip isUsingNametag Bool Reset.asm
042605FC 38C00003 #External/Unplugging Closes CSS Door/Unplugging Closes CSS Door.asm
041239A8 60000000 #External/FreezeGlitchFix/FreezeGlitchFix.asm
$Required: Slippi Recording [Fizzi, Achilles, UnclePunch]
*Saves replays, Slippi device must be in Slot B.
@ -3416,7 +3416,7 @@ C21BFA20 00000012 #Online/Slippi Online Scene/boot.asm
3D80801B 618C136C
7D8903A6 4E800420
38600001 00000000
C21A45BC 00000114 #Online/Slippi Online Scene/main.asm
C21A45BC 0000011A #Online/Slippi Online Scene/main.asm
7C0802A6 90010004
9421FF50 BE810008
3C80803E 6084DC1C
@ -3425,7 +3425,7 @@ C21A45BC 00000114 #Online/Slippi Online Scene/main.asm
38600000 986DAFA3
986DAFC8 38600008
4800015D 7C8802A6
4800002D 48000838
4800002D 48000868
80830000 5485467A
2C050048 40820014
548401BA 7C840734
@ -3480,8 +3480,8 @@ BA810008 800100B4
03030000 00000000
00000000 05000000
00000000 00000000
04030000 480002F5
48000475 20000000
04030000 48000325
480004A5 20000000
80490880 804D68D0
FF000000 4E800021
81940000 7C0802A6
@ -3517,7 +3517,7 @@ BE810008 7C7E1B78
2C030000 40820000
886DAFCA 2C030000
41820020 48000004
48000389 3C808047
480003B9 3C808047
60849D30 38600005
98640005 48000018
3C808047 60849D30
@ -3545,7 +3545,7 @@ BE810008 7C7F1B78
4E800421 7C7E1B78
887E0001 889E0002
7C032000 4082001C
480002A9 3C808047
480002D9 3C808047
60849D30 38600005
98640005 4800001C
38600000 3D80801A
@ -3560,7 +3560,13 @@ BE810008 3D80801B
4E800421 38600000
3D808000 618C5610
7D8903A6 4E800421
7C7F1B78 887F0003
7C7F1B78 3A800000
3AA00000 7E83A378
48000329 2C030000
41820008 3AB50001
3A940001 2C140004
4180FFE4 2C150001
4082001C 887F0003
48000301 2C030000
4182000C 38600001
48000008 38600000

View file

@ -18,7 +18,7 @@ namespace Common
#define BUILD_TYPE_STR ""
#endif
#define SLIPPI_REV_STR "2.2.0"
#define SLIPPI_REV_STR "2.2.1"
const std::string scm_slippi_semver_str = SLIPPI_REV_STR;

View file

@ -113,7 +113,6 @@ CEXISlippi::CEXISlippi()
// Update user file and then listen for User
#ifndef IS_PLAYBACK
user->UpdateFile();
user->ListenForLogIn();
#endif
@ -1228,7 +1227,7 @@ void CEXISlippi::prepareFrameData(u8* payload)
g_playbackStatus->isHardFFW = false;
}
bool shouldFFW = shouldFFWFrame(frameIndex);
bool shouldFFW = g_playbackStatus->shouldFFWFrame(frameIndex);
u8 requestResultCode = shouldFFW ? FRAME_RESP_FASTFORWARD : FRAME_RESP_CONTINUE;
if (!isFrameReady)
{
@ -1318,25 +1317,6 @@ void CEXISlippi::prepareFrameData(u8* payload)
}
}
bool CEXISlippi::shouldFFWFrame(int32_t frameIndex)
{
if (!g_playbackStatus->isSoftFFW && !g_playbackStatus->isHardFFW)
{
// If no FFW at all, don't FFW this frame
return false;
}
if (g_playbackStatus->isHardFFW)
{
// For a hard FFW, always FFW until it's turned off
return true;
}
// Here we have a soft FFW, we only want to turn on FFW for single frames once
// every X frames to FFW in a more smooth manner
return frameIndex - g_playbackStatus->lastFFWFrame >= 15;
}
void CEXISlippi::prepareIsStockSteal(u8* payload)
{
// Since we are prepping new data, clear any existing data
@ -1802,10 +1782,6 @@ void CEXISlippi::prepareOnlineMatchState()
SlippiPlayerSelections lps = matchInfo->localPlayerSelections;
SlippiPlayerSelections rps = matchInfo->remotePlayerSelections;
// Overwrite local player character
onlineMatchBlock[0x60 + localPlayerIndex * 0x24] = lps.characterId;
onlineMatchBlock[0x63 + localPlayerIndex * 0x24] = lps.characterColor;
#ifdef LOCAL_TESTING
rps.characterId = 0x2;
rps.characterColor = 2;
@ -1870,7 +1846,6 @@ void CEXISlippi::prepareOnlineMatchState()
// Turn pause on in direct, off in everything else
u8* gameBitField3 = (u8*)& onlineMatchBlock[2];
directMode = SlippiMatchmaking::OnlinePlayMode::DIRECT;
*gameBitField3 = lastSearch.mode == directMode ? *gameBitField3 & 0xF7 : *gameBitField3 | 0x8;
}
@ -2019,9 +1994,7 @@ void CEXISlippi::handleLogInRequest()
bool logInRes = user->AttemptLogin();
if (!logInRes)
{
//#ifndef LINUX_LOCAL_DEV
Host_LowerWindow();
//#endif
user->OpenLogInPage();
user->ListenForLogIn();
}
@ -2035,7 +2008,8 @@ void CEXISlippi::handleLogOutRequest()
void CEXISlippi::handleUpdateAppRequest()
{
#ifdef __APPLE__
CriticalAlertT("Automatic updates are not available for macOS, please update manually.");
CriticalAlertT(
"Automatic updates are not available for macOS, please get the latest update from slippi.gg/netplay.");
#else
Host_LowerWindow();
user->UpdateApp();
@ -2250,5 +2224,4 @@ bool CEXISlippi::IsPresent() const
}
void CEXISlippi::TransferByte(u8& byte) {}
}

View file

@ -190,9 +190,6 @@ namespace ExpansionInterface
u32 stallFrameCount = 0;
bool isConnectionStalled = false;
bool isSoftFFW = false;
bool isHardFFW = false;
int32_t lastFFWFrame = INT_MIN;
std::vector<u8> m_read_queue;
std::unique_ptr<Slippi::SlippiGame> m_current_game = nullptr;
SlippiMatchmaking::MatchSearchSettings lastSearch;

View file

@ -364,8 +364,6 @@ void SlippiMatchmaking::handleMatchmaking()
if (latestVersion != "")
{
// Update file to get new version number when the mm server tells us our version is outdated
m_user->UpdateFile();
m_user->AttemptLogin();
m_user->OverwriteLatestVersion(latestVersion); // Force latest version for people whose file updates dont work
}

View file

@ -267,6 +267,25 @@ void SlippiPlaybackStatus::loadState(s32 closestStateFrame)
}
}
bool SlippiPlaybackStatus::shouldFFWFrame(s32 frameIndex) const
{
if (!isSoftFFW && !isHardFFW)
{
// If no FFW at all, don't FFW this frame
return false;
}
if (isHardFFW)
{
// For a hard FFW, always FFW until it's turned off
return true;
}
// Here we have a soft FFW, we only want to turn on FFW for single frames once
// every X frames to FFW in a more smooth manner
return (frameIndex - lastFFWFrame) >= 15;
}
void SlippiPlaybackStatus::updateWatchSettingsStartEnd()
{
int startFrame = g_replayComm->current.startFrame;

View file

@ -31,6 +31,7 @@ public:
void startThreads(void);
void resetPlayback(void);
bool shouldFFWFrame(s32 frameIndex) const;
void prepareSlippiPlayback(s32& frameIndex);
void SeekToFrame();

View file

@ -11,6 +11,7 @@
#include "Common/MsgHandler.h"
#include "Common/StringUtil.h"
#include "Common/Thread.h"
#include "Common/Version.h"
#include "Common/Common.h"
#include "Core/ConfigManager.h"
@ -177,7 +178,7 @@ void SlippiUser::OpenLogInPage()
void SlippiUser::UpdateApp()
{
#ifdef _WIN32
auto isoPath = SConfig::GetInstance().m_strFilename;
auto isoPath = SConfig::GetInstance().m_strIsoPath;
std::string path = File::GetExeDirectory() + "/dolphin-slippi-tools.exe";
std::string echoMsg = "echo Starting update process. If nothing happen after a few "
@ -185,8 +186,8 @@ void SlippiUser::UpdateApp()
// std::string command =
// "start /b cmd /c " + echoMsg + " && \"" + path + "\" app-update -launch -iso \"" + isoPath + "\"";
std::string command = "start /b cmd /c " + echoMsg + " && \"" + path + "\" app-update -launch -iso \"" + isoPath +
"\" -version \"" + scm_slippi_semver_str + "\"";
WARN_LOG(SLIPPI, "Executing app update command: %s", command);
"\" -version \"" + Common::scm_slippi_semver_str + "\"";
WARN_LOG(SLIPPI, "Executing app update command: %s", command.c_str());
RunSystemCommand(command);
#elif defined(__APPLE__)
#else