- Fix Chaos Code (Nesica) running from D:\
- Fix Chaos Code (Nesica) running from D:\, also saves\loads test menu fine
This commit is contained in:
parent
5deeed3338
commit
c6254811e4
@ -297,6 +297,18 @@ static InitFunction initFunction_VampireSavior([]()
|
||||
#endif
|
||||
}, GameID::VampireSavior);
|
||||
|
||||
static InitFunction initFunction_ChaosCode([]()
|
||||
{
|
||||
init_FastIoEmu();
|
||||
init_RfidEmu();
|
||||
init_RegHooks();
|
||||
if (GameDetect::enableNesysEmu)
|
||||
init_NesysEmu();
|
||||
#if _M_IX86
|
||||
init_CryptoPipe(GameDetect::NesicaKey);
|
||||
#endif
|
||||
}, GameID::ChaosCode);
|
||||
|
||||
static InitFunction initFunction_Theatrhythm([]()
|
||||
{
|
||||
uintptr_t imageBase = (uintptr_t)GetModuleHandleA(0);
|
||||
|
@ -891,6 +891,22 @@ LPCSTR ParseFileNamesA(LPCSTR lpFileName)
|
||||
return lpFileName;
|
||||
}
|
||||
|
||||
if (GameDetect::currentGame == GameID::ChaosCode)
|
||||
{
|
||||
if (!strncmp(lpFileName, "D:/ChaosCode/save/TYPEX2_RECORD.rcd", 35) || !strncmp(lpFileName, "D:/ChaosCode/save/TYPEX2_SETTING.rcd", 36) || !strncmp(lpFileName, "D:/ChaosCode/save/", 18) || !strncmp(lpFileName, "D:/ChaosCode/", 14))
|
||||
{
|
||||
memset(moveBuf, 0, 256);
|
||||
if (lpFileName[2] == '\\' || lpFileName[2] == '/')
|
||||
{
|
||||
sprintf(moveBuf, ".\\OpenParrot\\%s", lpFileName + 3);
|
||||
}
|
||||
|
||||
return moveBuf;
|
||||
}
|
||||
|
||||
return lpFileName;
|
||||
}
|
||||
|
||||
if (!strncmp(lpFileName, "D:", 2) || !strncmp(lpFileName, "d:", 2))
|
||||
{
|
||||
memset(moveBuf, 0, 256);
|
||||
@ -1028,6 +1044,21 @@ LPCWSTR ParseFileNamesW(LPCWSTR lpFileName)
|
||||
return lpFileName;
|
||||
}
|
||||
|
||||
if (GameDetect::currentGame == GameID::ChaosCode)
|
||||
{
|
||||
if (!wcsncmp(lpFileName, L"D:/ChaosCode/save/TYPEX2_RECORD.rcd", 35) || !wcsncmp(lpFileName, L"D:/ChaosCode/save/TYPEX2_SETTING.rcd", 36) || !wcsncmp(lpFileName, L"D:/ChaosCode/save/TYPEX2_SETTING.rcd", 36) || !wcsncmp(lpFileName, L"D:/ChaosCode/save/", 18) || !wcsncmp(lpFileName, L"D:/ChaosCode/", 14))
|
||||
{
|
||||
memset(moveBufW, 0, 256);
|
||||
if (lpFileName[2] == '\\' || lpFileName[2] == '/')
|
||||
{
|
||||
swprintf(moveBufW, L".\\OpenParrot\\%s", lpFileName + 3);
|
||||
}
|
||||
return moveBufW;
|
||||
}
|
||||
|
||||
return lpFileName;
|
||||
}
|
||||
|
||||
if (!wcsncmp(lpFileName, L"D:", 2) || !wcsncmp(lpFileName, L"d:", 2))
|
||||
{
|
||||
memset(moveBufW, 0, 256);
|
||||
|
@ -490,12 +490,12 @@ void GameDetect::DetectCurrentGame()
|
||||
isNesica = true;
|
||||
break;
|
||||
case 0xac86efec: //Chaos Code v1.03
|
||||
currentGame = GameID::Nesica;
|
||||
currentGame = GameID::ChaosCode;
|
||||
NesicaKey = NesicaKey::None;
|
||||
isNesica = true;
|
||||
break;
|
||||
case 0xa742a607: //Chaos Code v2.11
|
||||
currentGame = GameID::Nesica;
|
||||
currentGame = GameID::ChaosCode;
|
||||
NesicaKey = NesicaKey::None;
|
||||
isNesica = true;
|
||||
break;
|
||||
|
@ -79,5 +79,6 @@ enum class GameID
|
||||
StreetFighter3rdStrike,
|
||||
RumbleFish2,
|
||||
KOF98Nesica,
|
||||
VampireSavior
|
||||
VampireSavior,
|
||||
ChaosCode
|
||||
};
|
Loading…
x
Reference in New Issue
Block a user