1
0
mirror of synced 2024-11-15 07:17:35 +01:00

- Fix typo, Fix Street Fighter (Nesica) games file error

- Fix Typo
- Fix Hyper Street Fighter II, Street Fighter Zero 3, Street Fighter 3rd Strike "shader" file open error when running from D: and fix test menu saving (to save in OpenParrot folder and not on D:)
This commit is contained in:
Nezarn 2020-06-16 21:46:27 +02:00
parent ea9636728e
commit 4932541c49
4 changed files with 151 additions and 12 deletions

View File

@ -232,6 +232,39 @@ static InitFunction initFunction_SOR([]()
}
}, GameID::SchoolOfRagnarok);
static InitFunction initFunction_HyperSF4([]()
{
init_FastIoEmu();
init_RfidEmu();
init_RegHooks();
//init_NesysEmu();
#if _M_IX86
init_CryptoPipe(GameDetect::NesicaKey);
#endif
}, GameID::HyperStreetFighterII);
static InitFunction initFunction_StreetFighterZero3([]()
{
init_FastIoEmu();
init_RfidEmu();
init_RegHooks();
//init_NesysEmu();
#if _M_IX86
init_CryptoPipe(GameDetect::NesicaKey);
#endif
}, GameID::StreetFigherZero3);
static InitFunction initFunction_StreetFighter3rdStrike([]()
{
init_FastIoEmu();
init_RfidEmu();
init_RegHooks();
//init_NesysEmu();
#if _M_IX86
init_CryptoPipe(GameDetect::NesicaKey);
#endif
}, GameID::StreetFighter3rdStrike);
static InitFunction initFunction_Theatrhythm([]()
{
uintptr_t imageBase = (uintptr_t)GetModuleHandleA(0);

View File

@ -773,6 +773,60 @@ BOOL __stdcall CloseHandleWrap(HANDLE hObject)
static char moveBuf[256];
LPCSTR ParseFileNamesA(LPCSTR lpFileName)
{
if (GameDetect::currentGame == GameID::HyperStreetFighterII)
{
//info(true, "ParseFileNamesA: %s", lpFileName);
if (!strncmp(lpFileName, "D:\\3", 4))
{
memset(moveBuf, 0, 256);
if (lpFileName[3] == '3')
{
//info(true, "ParseFileNamesA: %s -> .\\OpenParrot\\%s", lpFileName, lpFileName + 3);
sprintf(moveBuf, ".\\OpenParrot\\%s", lpFileName + 3);
}
return moveBuf;
}
return lpFileName;
}
if (GameDetect::currentGame == GameID::StreetFigherZero3)
{
//info(true, "ParseFileNamesA: %s", lpFileName);
if (!strncmp(lpFileName, "D:\\c", 4))
{
memset(moveBuf, 0, 256);
if (lpFileName[3] == 'c')
{
//info(true, "ParseFileNamesA: %s -> .\\OpenParrot\\%s", lpFileName, lpFileName + 3);
sprintf(moveBuf, ".\\OpenParrot\\%s", lpFileName + 3);
}
return moveBuf;
}
return lpFileName;
}
if (GameDetect::currentGame == GameID::StreetFighter3rdStrike)
{
//info(true, "ParseFileNamesA: %s", lpFileName);
if (!strncmp(lpFileName, "D:\\9", 4))
{
memset(moveBuf, 0, 256);
if (lpFileName[3] == '9')
{
//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))
{
memset(moveBuf, 0, 256);
@ -794,9 +848,63 @@ LPCSTR ParseFileNamesA(LPCSTR lpFileName)
static wchar_t moveBufW[256];
LPCWSTR ParseFileNamesW(LPCWSTR lpFileName)
{
if (GameDetect::currentGame == GameID::HyperStreetFighterII)
{
//info(true, "ParseFileNamesA: %s", lpFileName);
if (!wcsncmp(lpFileName, L"D:\\3", 4))
{
memset(moveBufW, 0, 256);
if (lpFileName[3] == '3')
{
//info(true, "ParseFileNamesA: %s -> .\\OpenParrot\\%s", lpFileName, lpFileName + 3);
swprintf(moveBufW, L".\\OpenParrot\\%s", lpFileName + 3);
}
return moveBufW;
}
return lpFileName;
}
if (GameDetect::currentGame == GameID::StreetFigherZero3)
{
//info(true, "ParseFileNamesA: %s", lpFileName);
if (!wcsncmp(lpFileName, L"D:\\c", 4))
{
memset(moveBufW, 0, 256);
if (lpFileName[3] == 'c')
{
//info(true, "ParseFileNamesA: %s -> .\\OpenParrot\\%s", lpFileName, lpFileName + 3);
swprintf(moveBufW, L".\\OpenParrot\\%s", lpFileName + 3);
}
return moveBufW;
}
return lpFileName;
}
if (GameDetect::currentGame == GameID::StreetFighter3rdStrike)
{
//info(true, "ParseFileNamesA: %s", lpFileName);
if (!wcsncmp(lpFileName, L"D:\\9", 4))
{
memset(moveBufW, 0, 256);
if (lpFileName[3] == '9')
{
//info(true, "ParseFileNamesA: %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))
{
memset(moveBuf, 0, 256);
memset(moveBufW, 0, 256);
if (lpFileName[2] == '\\' || lpFileName[2] == '/')
{
swprintf(moveBufW, L".\\OpenParrot\\%ls", lpFileName + 3);

View File

@ -20,11 +20,6 @@ void GameDetect::DetectCurrentGame()
case 0xb8f2836d:
currentGame = GameID::Daytona3;
break;
case 0xd3f62267:
currentGame = GameID::Nesica;
NesicaKey = NesicaKey::None;
isNesica = true;
break;
case 0x4bcfbc4f:
currentGame = GameID::GrooveCoaster2;
isNesica = true;
@ -101,9 +96,9 @@ void GameDetect::DetectCurrentGame()
NesicaKey = NesicaKey::None;
isNesica = true;
break;
// SF 3rd Strike
case 0x9369715e:
currentGame = GameID::Nesica;
case 0x9369715e: // SF 3rd Strike
case 0xd3f62267: // test.exe
currentGame = GameID::StreetFighter3rdStrike;
NesicaKey = NesicaKey::None;
isNesica = true;
GameDetect::enableNesysEmu = false;
@ -178,14 +173,14 @@ void GameDetect::DetectCurrentGame()
break;
case 0x6496a142: // Hyper Street Fighter II
case 0xb686d3ac: // Test.exe
currentGame = GameID::Nesica;
currentGame = GameID::HyperStreetFighterII;
NesicaKey = NesicaKey::None;
isNesica = true;
GameDetect::enableNesysEmu = false;
break;
case 0x6e5c8b5b: // Street Fighter Zero 3
case 0x609d8b35: // Test.exe
currentGame = GameID::Nesica;
currentGame = GameID::StreetFigherZero3;
NesicaKey = NesicaKey::None;
isNesica = true;
GameDetect::enableNesysEmu = false;

View File

@ -73,5 +73,8 @@ enum class GameID
Tekken7Update00,
Tekken7Update12,
BG4_Eng,
KOFXIIIClimax
KOFXIIIClimax,
HyperStreetFighterII,
StreetFigherZero3,
StreetFighter3rdStrike
};