1
0
mirror of synced 2024-11-14 06:57:34 +01:00

- Fix The Rumble Fish 2 crash when running from D

- Fix The Rumble Fish 2 crash when running from D: NOTE: WINDOWED MODE CRASHES.
This commit is contained in:
Nezarn 2020-06-17 20:44:03 +02:00
parent d8b308cf24
commit 1e126b7828
4 changed files with 51 additions and 3 deletions

View File

@ -265,6 +265,17 @@ static InitFunction initFunction_StreetFighter3rdStrike([]()
#endif #endif
}, GameID::StreetFighter3rdStrike); }, GameID::StreetFighter3rdStrike);
static InitFunction initFunction_RumbleFish2([]()
{
init_FastIoEmu();
init_RfidEmu();
init_RegHooks();
init_NesysEmu();
#if _M_IX86
init_CryptoPipe(GameDetect::NesicaKey);
#endif
}, GameID::RumbleFish2);
static InitFunction initFunction_Theatrhythm([]() static InitFunction initFunction_Theatrhythm([]()
{ {
uintptr_t imageBase = (uintptr_t)GetModuleHandleA(0); uintptr_t imageBase = (uintptr_t)GetModuleHandleA(0);

View File

@ -827,6 +827,24 @@ LPCSTR ParseFileNamesA(LPCSTR lpFileName)
return lpFileName; return lpFileName;
} }
if (GameDetect::currentGame == GameID::RumbleFish2)
{
//info(true, "ParseFileNamesA: %s", lpFileName);
if (!strncmp(lpFileName, "D:\\eb342", 8))
{
memset(moveBuf, 0, 256);
if (lpFileName[3] == 'e')
{
//info(true, "ParseFileNamesA: %s -> .\\OpenParrot\\%s", lpFileName, lpFileName + 3);
sprintf(moveBuf, ".\\OpenParrot\\%s", lpFileName + 3);
}
return moveBuf;
}
return lpFileName;
}
if (!strncmp(lpFileName, "D:", 2) || !strncmp(lpFileName, "d:", 2)) if (!strncmp(lpFileName, "D:", 2) || !strncmp(lpFileName, "d:", 2))
{ {
memset(moveBuf, 0, 256); memset(moveBuf, 0, 256);
@ -902,6 +920,24 @@ LPCWSTR ParseFileNamesW(LPCWSTR lpFileName)
return lpFileName; return lpFileName;
} }
if (GameDetect::currentGame == GameID::RumbleFish2)
{
//info(true, "ParseFileNamesW: %s", lpFileName);
if (!wcsncmp(lpFileName, L"D:\\eb342", 4))
{
memset(moveBufW, 0, 256);
if (lpFileName[3] == 'e')
{
//info(true, "ParseFileNamesW: %s -> .\\OpenParrot\\%s", lpFileName, lpFileName + 3);
swprintf(moveBufW, L".\\OpenParrot\\%s", lpFileName + 3);
}
return moveBufW;
}
return lpFileName;
}
if (!wcsncmp(lpFileName, L"D:", 2) || !wcsncmp(lpFileName, L"d:", 2)) if (!wcsncmp(lpFileName, L"D:", 2) || !wcsncmp(lpFileName, L"d:", 2))
{ {
memset(moveBufW, 0, 256); memset(moveBufW, 0, 256);

View File

@ -533,8 +533,8 @@ void GameDetect::DetectCurrentGame()
NesicaKey = NesicaKey::None; NesicaKey = NesicaKey::None;
isNesica = true; isNesica = true;
break; break;
case 0xbd4c12a5: //some fishing shit idk case 0xbd4c12a5: // Rumble Fish 2
currentGame = GameID::Nesica; currentGame = GameID::RumbleFish2;
NesicaKey = NesicaKey::None; NesicaKey = NesicaKey::None;
isNesica = true; isNesica = true;
break; break;

View File

@ -76,5 +76,6 @@ enum class GameID
KOFXIIIClimax, KOFXIIIClimax,
HyperStreetFighterII, HyperStreetFighterII,
StreetFigherZero3, StreetFigherZero3,
StreetFighter3rdStrike StreetFighter3rdStrike,
RumbleFish2
}; };