diff --git a/Makefile b/Makefile index dd1d8fc..5bdf27b 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ CC=gcc -m32 -CFLAGS = -g -O0 -fPIC -m32 -D_GNU_SOURCE -Wall -Werror -Wno-unused-variable -Wno-unused-function +CFLAGS = -g -O0 -fPIC -m32 -Wall -Werror -Wno-unused-variable -Wno-unused-function LD = g++ -m32 LDFLAGS = -Wl,-z,defs -rdynamic -static-libstdc++ -static-libgcc -lc -ldl -lGL -lglut -lX11 -lm -lpthread -shared -nostdlib diff --git a/src/hookcrc32/hookcrc32.so b/src/hookcrc32/hookcrc32.so new file mode 100755 index 0000000..01742de Binary files /dev/null and b/src/hookcrc32/hookcrc32.so differ diff --git a/src/libkswapapi/libkswapapi.o b/src/libkswapapi/libkswapapi.o new file mode 100644 index 0000000..2ffbc24 Binary files /dev/null and b/src/libkswapapi/libkswapapi.o differ diff --git a/src/lindbergh/config.c b/src/lindbergh/config.c index bd0bc31..5ba43db 100644 --- a/src/lindbergh/config.c +++ b/src/lindbergh/config.c @@ -109,6 +109,12 @@ static int detectGame(uint32_t elf_crc) config.game = VT3; return 0; } + + if (elf_crc == 0x1bf1b627) + { + config.game = VF5_REVC; + return 0; + } config.game = UNKNOWN; return 1; @@ -141,6 +147,8 @@ char *getGameName() return "R-Tuned Ultimate Street Racing"; case VT3: return "Virtua Tennis 3"; + case VF5_REVC: + return "Virtua Fighter 5 - RevC"; default: return "Unknown Game"; } diff --git a/src/lindbergh/config.h b/src/lindbergh/config.h index ce1645d..03dece1 100644 --- a/src/lindbergh/config.h +++ b/src/lindbergh/config.h @@ -17,7 +17,8 @@ typedef enum ABC_2007, SRTV, RTUNED, - VT3 + VT3, + VF5_REVC } Game; typedef enum diff --git a/src/lindbergh/patch.c b/src/lindbergh/patch.c index 05b6478..8366481 100644 --- a/src/lindbergh/patch.c +++ b/src/lindbergh/patch.c @@ -180,6 +180,13 @@ int initPatch() setVariable(0x08072195, cpu_vendor.ecx); } break; + case VF5_REVC: + { + detourFunction(0x085c6010, amDongleInit); + detourFunction(0x085c63cc, amDongleIsAvailable); + detourFunction(0x085c62f0, amDongleUpdate); + } + break; default: // Don't do any patches for random games break;