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
@ -3932,7 +3937,7 @@ C21A5018 00000005
04218D68 C8228000
$Optional: Widescreen 16:9 [Dan Salvato, mirrorbender, Achilles1515, UnclePunch]
*Set Aspect Ratio to "Force 16:9" in Graphics for 16:9 monitors ----------------------
*Set Aspect Ratio to "Force 16:9" in Graphics for 16:9 monitors ----------------------
*Will not cause desyncs when playing online
043BB05C 3EB00000 #External/Widescreen/Fix Screen Flash.asm
C236A4A8 00000006 #External/Widescreen/Overwrite CObj Values.asm
@ -3959,17 +3964,17 @@ C0030000 4800000C
044DDB84 3E89FEFA #External/Widescreen/Nametag Fixes/Adjust Nametag Text X Scale.asm
$Optional: Disable Screen Shake [Achilles1515]
*Will prevent screen from shaking on hits, KOs, collisions, etc -----------------------
*Will prevent screen from shaking on hits, KOs, collisions, etc -----------------------
*Will not cause desyncs when playing online
04030E44 4E800020
$Optional: Center Align 2P HUD [Achilles1515]
*When playing online, character %'s will always be centered -------------------------
*When playing online, character %'s will always be centered -------------------------
*Will not cause desyncs when playing online
0416E9AC 38600002
$Optional: Flash Red on Failed L-Cancel [Achilles1515, Fizzi]
*When playing online, this will only affect your character ---------------------------
*When playing online, this will only affect your character ---------------------------
*Will not cause desyncs when playing online
C20C0148 0000000C #External/FlashRedFailedLCancel/ChangeColor.asm
387F0488 89FE0564

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
@ -3932,7 +3938,7 @@ C21A5018 00000005
04218D68 C8228000
$Optional: Widescreen 16:9 [Dan Salvato, mirrorbender, Achilles1515, UnclePunch]
*Set Aspect Ratio to "Force 16:9" in Graphics for 16:9 monitors ----------------------
*Set Aspect Ratio to "Force 16:9" in Graphics for 16:9 monitors ----------------------
*Will not cause desyncs when playing online
043BB05C 3EB00000 #External/Widescreen/Fix Screen Flash.asm
C236A4A8 00000006 #External/Widescreen/Overwrite CObj Values.asm
@ -3959,17 +3965,17 @@ C0030000 4800000C
044DDB84 3E89FEFA #External/Widescreen/Nametag Fixes/Adjust Nametag Text X Scale.asm
$Optional: Disable Screen Shake [Achilles1515]
*Will prevent screen from shaking on hits, KOs, collisions, etc -----------------------
*Will prevent screen from shaking on hits, KOs, collisions, etc -----------------------
*Will not cause desyncs when playing online
04030E44 4E800020
$Optional: Center Align 2P HUD [Achilles1515]
*When playing online, character %'s will always be centered -------------------------
*When playing online, character %'s will always be centered -------------------------
*Will not cause desyncs when playing online
0416E9AC 38600002
$Optional: Flash Red on Failed L-Cancel [Achilles1515, Fizzi]
*When playing online, this will only affect your character ---------------------------
*When playing online, this will only affect your character ---------------------------
*Will not cause desyncs when playing online
C20C0148 0000000C #External/FlashRedFailedLCancel/ChangeColor.asm
387F0488 89FE0564

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