From 4a8892612b0915e1c91a670ff59172181bc9407b Mon Sep 17 00:00:00 2001 From: Synth_Magic Date: Sun, 29 Dec 2024 18:36:27 +0800 Subject: [PATCH 1/3] 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))) From dcdff43f21216dbbeffa8beb3fb84e4fe85e193b Mon Sep 17 00:00:00 2001 From: Synth_Magic Date: Sun, 29 Dec 2024 18:37:21 +0800 Subject: [PATCH 2/3] chores: fix a typo on guide.md --- docs/guide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guide.md b/docs/guide.md index 9014457..b5ac2cd 100644 --- a/docs/guide.md +++ b/docs/guide.md @@ -35,7 +35,7 @@ In the second input mode, inputs are taken directly from the evdev library in li To list the available inputs you should type: ``` -./lindbergh --lits-inputs +./lindbergh --list-inputs ``` From there you will be able to see the controllers and all of the inputs support. Then in the config file you should map an arcade input to a controller input as follows. From 96a21d2cb7a5d1dd1724190f5818fcd6778ae277 Mon Sep 17 00:00:00 2001 From: Synth_Magic Date: Mon, 30 Dec 2024 22:16:58 +0800 Subject: [PATCH 3/3] chores: change Virtua Tennis 3's type to fighting as requested --- src/lindbergh/config.c | 6 +++--- src/lindbergh/config.h | 1 - 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/src/lindbergh/config.c b/src/lindbergh/config.c index aa38125..4bf1cde 100644 --- a/src/lindbergh/config.c +++ b/src/lindbergh/config.c @@ -549,7 +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.gameType = FIGHTING; config.gameStatus = WORKING; return 0; } @@ -561,7 +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.gameType = FIGHTING; config.gameStatus = WORKING; return 0; } @@ -573,7 +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.gameType = FIGHTING; config.gameStatus = WORKING; return 0; } diff --git a/src/lindbergh/config.h b/src/lindbergh/config.h index d72ac34..9aaf98c 100644 --- a/src/lindbergh/config.h +++ b/src/lindbergh/config.h @@ -109,7 +109,6 @@ typedef enum DRIVING, HARLEY, FIGHTING, - VT3, ABC } GameType;