From 4a8892612b0915e1c91a670ff59172181bc9407b Mon Sep 17 00:00:00 2001 From: Synth_Magic Date: Sun, 29 Dec 2024 18:36:27 +0800 Subject: [PATCH] chores: Add missing game data & Add ATI GPU warning --- src/lindbergh/config.c | 31 +++++++++++++++++++++++++++++++ src/lindbergh/config.h | 1 + src/lindbergh/hook.c | 11 ++++++++++- 3 files changed, 42 insertions(+), 1 deletion(-) diff --git a/src/lindbergh/config.c b/src/lindbergh/config.c index 76b571c..aa38125 100644 --- a/src/lindbergh/config.c +++ b/src/lindbergh/config.c @@ -96,6 +96,7 @@ static int detectGame(uint32_t elf_crc) config.gameID = "SBLS"; config.gameDVP = "DVP-0010"; config.gameStatus = WORKING; + config.gameType = SHOOTING; config.width = 1024; config.height = 768; return 0; @@ -109,6 +110,7 @@ static int detectGame(uint32_t elf_crc) config.emulateRideboard = 1; config.gameDVP = "DVP-0010B"; config.gameStatus = WORKING; + config.gameType = SHOOTING; config.width = 1024; config.height = 768; return 0; @@ -121,6 +123,7 @@ static int detectGame(uint32_t elf_crc) { config.gameTitle = "The House of the Dead EX"; config.gameStatus = WORKING; + config.gameType = SHOOTING; config.gameDVP = "DVP-0063"; config.gameID = "SBRC"; return 0; @@ -162,6 +165,7 @@ static int detectGame(uint32_t elf_crc) config.gameDVP = "DVP-0008"; config.gameID = "SBLM"; config.gameStatus = WORKING; + config.gameType = FIGHTING; return 0; } break; @@ -172,6 +176,7 @@ static int detectGame(uint32_t elf_crc) config.gameDVP = "DVP-0008A"; config.gameID = "SBLM"; config.gameStatus = WORKING; + config.gameType = FIGHTING; return 0; } break; @@ -182,6 +187,7 @@ static int detectGame(uint32_t elf_crc) config.gameDVP = "DVP-0008B"; config.gameID = "SBLM"; config.gameStatus = WORKING; + config.gameType = FIGHTING; return 0; } break; @@ -201,7 +207,9 @@ static int detectGame(uint32_t elf_crc) { config.gameTitle = "Virtua Fighter 5 Export"; config.gameDVP = "DVP-0043"; + config.gameID = "SBLM"; config.gameStatus = WORKING; + config.gameType = FIGHTING; return 0; } break; @@ -212,6 +220,7 @@ static int detectGame(uint32_t elf_crc) config.gameDVP = "DVP-XXXX"; config.gameID = "SBQU"; config.gameStatus = WORKING; + config.gameType = FIGHTING; return 0; } break; @@ -222,6 +231,7 @@ static int detectGame(uint32_t elf_crc) config.gameDVP = "DVP-XXXX"; config.gameID = "SBQU"; config.gameStatus = WORKING; + config.gameType = FIGHTING; return 0; } break; @@ -232,6 +242,7 @@ static int detectGame(uint32_t elf_crc) config.gameDVP = "DVP-XXXX"; config.gameID = "SBQU"; config.gameStatus = WORKING; + config.gameType = FIGHTING; return 0; } break; @@ -241,6 +252,8 @@ static int detectGame(uint32_t elf_crc) config.gameTitle = "Virtua Fighter 5 Final Showdown"; config.gameDVP = "DVP-SBUV"; config.gameID = "SBUV"; + config.gameType = FIGHTING; + config.gameStatus = WORKING; return 0; } break; @@ -250,6 +263,8 @@ static int detectGame(uint32_t elf_crc) config.gameTitle = "Virtua Fighter 5 Final Showdown REV A"; config.gameDVP = "DVP-5019A"; config.gameID = "SBUV"; + config.gameType = FIGHTING; + config.gameStatus = WORKING; return 0; } break; @@ -259,6 +274,8 @@ static int detectGame(uint32_t elf_crc) config.gameTitle = "Virtua Fighter 5 Final Showdown REV B"; config.gameDVP = "DVP-5019B"; config.gameID = "SBUV"; + config.gameType = FIGHTING; + config.gameStatus = WORKING; return 0; } break; @@ -268,6 +285,8 @@ static int detectGame(uint32_t elf_crc) config.gameTitle = "Virtua Fighter 5 Final Showdown REV B ver 6.0000"; config.gameDVP = "DVP-5020"; config.gameID = "SBUV"; + config.gameType = FIGHTING; + config.gameStatus = WORKING; return 0; } break; @@ -277,6 +296,7 @@ static int detectGame(uint32_t elf_crc) config.gameTitle = "Let's Go Jungle! Lost on the Island of Spice!"; config.gameDVP = "DVP-0011"; config.gameID = "SBLU"; + config.gameType = SHOOTING; config.gameStatus = WORKING; return 0; } @@ -287,6 +307,8 @@ static int detectGame(uint32_t elf_crc) config.gameTitle = "Let's Go Jungle! Special!"; config.emulateRideboard = 1; config.gameID = "SBNR"; + config.gameDVP = "DVP-0036"; + config.gameType = SHOOTING; config.gameStatus = WORKING; return 0; } @@ -468,6 +490,7 @@ static int detectGame(uint32_t elf_crc) config.gameTitle = "SEGA Race TV"; config.emulateDriveboard = 1; config.gameDVP = "DVP-0044"; + config.gameID = "SBPF"; config.gameStatus = WORKING; config.gameType = DRIVING; return 0; @@ -488,6 +511,8 @@ static int detectGame(uint32_t elf_crc) case R_TUNED: { config.gameTitle = "R Tuned"; + config.gameDVP = "DVP-0060"; + config.gameID = "SBQW"; config.emulateDriveboard = 1; config.gameStatus = WORKING; config.gameType = DRIVING; @@ -524,6 +549,7 @@ static int detectGame(uint32_t elf_crc) config.gameTitle = "Virtua Tennis 3 Rev A"; config.gameDVP = "DVP-0005A"; config.gameID = "SBKX"; + config.gameType = VT3; config.gameStatus = WORKING; return 0; } @@ -535,6 +561,7 @@ static int detectGame(uint32_t elf_crc) config.gameTitle = "Virtua Tennis 3 Rev B"; config.gameDVP = "DVP-0005B"; config.gameID = "SBKX"; + config.gameType = VT3; config.gameStatus = WORKING; return 0; } @@ -546,6 +573,7 @@ static int detectGame(uint32_t elf_crc) config.gameTitle = "Virtua Tennis 3 Rev C"; config.gameDVP = "DVP-0005C"; config.gameID = "SBKX"; + config.gameType = VT3; config.gameStatus = WORKING; return 0; } @@ -568,6 +596,7 @@ static int detectGame(uint32_t elf_crc) config.gameStatus = WORKING; config.gameDVP = "DVP-0029A"; config.gameID = "SBNJ"; + config.gameType = SHOOTING; config.jvsIOType = SEGA_TYPE_1; return 0; } @@ -666,6 +695,7 @@ static int detectGame(uint32_t elf_crc) config.gameTitle = "Let's Go Jungle! Lost on the Island of Spice! Rev A"; config.gameDVP = "DVP-0011A"; config.gameID = "SBLU"; + config.gameType = SHOOTING; config.gameStatus = WORKING; return 0; } @@ -676,6 +706,7 @@ static int detectGame(uint32_t elf_crc) config.gameTitle = "Harley Davidson"; config.gameType = HARLEY; config.gameDVP = "DVP-5007"; + config.gameID = "SBRG"; config.gameStatus = WORKING; return 0; } diff --git a/src/lindbergh/config.h b/src/lindbergh/config.h index 9aaf98c..d72ac34 100644 --- a/src/lindbergh/config.h +++ b/src/lindbergh/config.h @@ -109,6 +109,7 @@ typedef enum DRIVING, HARLEY, FIGHTING, + VT3, ABC } GameType; diff --git a/src/lindbergh/hook.c b/src/lindbergh/hook.c index d35ae37..84e1d9b 100644 --- a/src/lindbergh/hook.c +++ b/src/lindbergh/hook.c @@ -234,7 +234,16 @@ void __attribute__((constructor)) hook_init() } } printf("\n"); - + if (getConfig()->GPUVendor == ATI_GPU + && ((getConfig()->crc32 == LETS_GO_JUNGLE) || (getConfig()->crc32 == LETS_GO_JUNGLE_REVA) || + (getConfig()->crc32 == LETS_GO_JUNGLE_SPECIAL) || (getConfig()->crc32 == AFTER_BURNER_CLIMAX) || + (getConfig()->crc32 == AFTER_BURNER_CLIMAX_REVA) || (getConfig()->crc32 == AFTER_BURNER_CLIMAX_REVB) || + (getConfig()->crc32 == AFTER_BURNER_CLIMAX_SDX) || (getConfig()->crc32 == AFTER_BURNER_CLIMAX_SDX_REVA) || + (getConfig()->crc32 == AFTER_BURNER_CLIMAX_SE) || (getConfig()->crc32 == AFTER_BURNER_CLIMAX_SE_REVA) || + (getConfig()->crc32 == INITIALD_5_JAP_REVA) || (getConfig()->crc32 == INITIALD_5_JAP_REVF) || + (getConfig()->crc32 == INITIALD_5_EXP_30) || (getConfig()->crc32 == INITIALD_5_EXP_40))) { + printf("WARNING: Game %s is unsupported in AMD GPU with ATI driver\n",getGameName()); + } if (getConfig()->lgjRenderWithMesa && ((getConfig()->crc32 == LETS_GO_JUNGLE) || (getConfig()->crc32 == LETS_GO_JUNGLE_REVA) || (getConfig()->crc32 == LETS_GO_JUNGLE_SPECIAL)))