mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-08-25 19:55:50 +00:00
pull in project-slippi/Ishiiruka/commit/740064ce37023974a62bcb517310fb381f189c0d
This commit is contained in:
parent
7abc89b39c
commit
eb0d6be17c
1 changed files with 32 additions and 2 deletions
|
@ -1873,6 +1873,16 @@ void CEXISlippi::startFindMatch(u8* payload)
|
|||
return;
|
||||
}
|
||||
}
|
||||
else if (search.mode == SlippiMatchmaking::OnlinePlayMode::TEAMS)
|
||||
{
|
||||
// Some special handling for teams since it is being heavily used for unranked
|
||||
if (localSelections.characterId >= 26 &&
|
||||
SConfig::GetInstance().m_melee_version != Melee::Version::MEX)
|
||||
{
|
||||
forcedError = "The character you selected is not allowed in this mode";
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
#ifndef LOCAL_TESTING
|
||||
if (!isEnetInitialized)
|
||||
|
@ -2300,6 +2310,25 @@ void CEXISlippi::prepareOnlineMatchState()
|
|||
return;
|
||||
}
|
||||
}
|
||||
else if (lastSearch.mode == SlippiMatchmaking::OnlinePlayMode::TEAMS)
|
||||
{
|
||||
auto isMEX = SConfig::GetInstance().m_melee_version == Melee::Version::MEX;
|
||||
|
||||
if (!localCharOk && !isMEX)
|
||||
{
|
||||
handleConnectionCleanup();
|
||||
forcedError = "The character you selected is not allowed in this mode";
|
||||
prepareOnlineMatchState();
|
||||
return;
|
||||
}
|
||||
|
||||
if (!remoteCharOk && !isMEX)
|
||||
{
|
||||
handleConnectionCleanup();
|
||||
prepareOnlineMatchState();
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Set rng offset
|
||||
rngOffset = isDecider ? lps.rngOffset : rps[0].rngOffset;
|
||||
|
@ -2371,9 +2400,10 @@ void CEXISlippi::prepareOnlineMatchState()
|
|||
}
|
||||
|
||||
// Turn pause off in unranked/ranked, on in other modes
|
||||
auto pauseAllowed = !SlippiMatchmaking::IsFixedRulesMode(lastSearch.mode) &&
|
||||
lastSearch.mode != SlippiMatchmaking::OnlinePlayMode::TEAMS;
|
||||
u8* gameBitField3 = static_cast<u8*>(&onlineMatchBlock[2]);
|
||||
*gameBitField3 = SlippiMatchmaking::IsFixedRulesMode(lastSearch.mode) ? *gameBitField3 | 0x8 :
|
||||
*gameBitField3 & 0xF7;
|
||||
*gameBitField3 = pauseAllowed ? *gameBitField3 & 0xF7 : *gameBitField3 | 0x8;
|
||||
//*gameBitField3 = *gameBitField3 | 0x8;
|
||||
|
||||
// Group players into left/right side for team splash screen display
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue