mirror of
https://github.com/lindbergh-loader/lindbergh-loader.git
synced 2026-10-14 09:59:08 +03:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
feaa6a912e | ||
|
|
b129220822 | ||
|
|
e7d8c5a80a | ||
|
|
55fd8955c1 | ||
|
|
ea35dcdad2 | ||
|
|
fb557044d7 |
@@ -8,7 +8,7 @@ jobs:
|
|||||||
linux-appimage:
|
linux-appimage:
|
||||||
name: "Build"
|
name: "Build"
|
||||||
runs-on: ubuntu-22.04
|
runs-on: ubuntu-22.04
|
||||||
timeout-minutes: 120
|
timeout-minutes: 30
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
@@ -17,11 +17,15 @@ jobs:
|
|||||||
- name: Install Packages
|
- name: Install Packages
|
||||||
run: scripts/appimage/install-packages.sh
|
run: scripts/appimage/install-packages.sh
|
||||||
|
|
||||||
|
- name: Build Deps
|
||||||
|
run: scripts/appimage/build-deps.sh
|
||||||
|
|
||||||
- name: Compile Build
|
- name: Compile Build
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
make
|
make
|
||||||
scripts/appimage/make-appimage.sh
|
scripts/appimage/make-appimage.sh
|
||||||
|
|
||||||
- name: Upload AppImage
|
- name: Upload AppImage
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
|
|||||||
+5
-6
@@ -12,9 +12,8 @@ set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/build)
|
|||||||
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/build)
|
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/build)
|
||||||
|
|
||||||
# Source files for various targets
|
# Source files for various targets
|
||||||
file(GLOB LIND_OBJS "src/lindbergh/*.c" "src/lindbergh/*.cpp")
|
file(GLOB LIND_OBJS "src/lindbergh/*.c")
|
||||||
list(FILTER LIND_OBJS EXCLUDE REGEX "src/lindbergh/lindbergh.o")
|
list(FILTER LIND_OBJS EXCLUDE REGEX "src/lindbergh/lindbergh.c")
|
||||||
list(FILTER LIND_OBJS EXCLUDE REGEX "src/lindbergh/evdevinput.o")
|
|
||||||
|
|
||||||
file(GLOB XDIFF_SRCS "src/libxdiff/xdiff/*.c")
|
file(GLOB XDIFF_SRCS "src/libxdiff/xdiff/*.c")
|
||||||
|
|
||||||
@@ -27,12 +26,12 @@ set(LINDBERGH_CXX_FLAGS ${LINDBERGH_C_FLAGS} -std=c++11)
|
|||||||
set(LIBXDIFF_C_FLAGS -DHAVE_CONFIG_H -fPIC -m32)
|
set(LIBXDIFF_C_FLAGS -DHAVE_CONFIG_H -fPIC -m32)
|
||||||
set(LIBSEGAAPI_CXX_FLAGS -m32 -fPIC -shared)
|
set(LIBSEGAAPI_CXX_FLAGS -m32 -fPIC -shared)
|
||||||
set(LIBSEGAAPI_LINKER_FLAGS -m32 -lFAudio)
|
set(LIBSEGAAPI_LINKER_FLAGS -m32 -lFAudio)
|
||||||
set(SHARED_LINKER_FLAGS -m32 -Wl,-z,defs -rdynamic -static-libstdc++ -static-libgcc -lc -ldl -lGL -lglut -lX11 -lSDL2 -lm -lpthread -shared -lstdc++ -nostdlib -lasound)
|
set(SHARED_LINKER_FLAGS -m32 -Wl,-z,defs -rdynamic -static-libstdc++ -static-libgcc -lc -ldl -lGL -lglut -lX11 -lXcursor -lSDL2 -lm -lpthread -shared -lstdc++ -nostdlib -lasound)
|
||||||
|
|
||||||
# Build executable for lindbergh
|
# Build executable for lindbergh
|
||||||
add_executable(lindyloader src/lindbergh/lindbergh.c src/lindbergh/evdevinput.c src/lindbergh/evdevinput.h)
|
add_executable(lindyloader src/lindbergh/lindbergh.c src/lindbergh/evdevinput.c src/lindbergh/evdevinput.h src/lindbergh/log.c src/lindbergh/log.h src/lindbergh/jvs.c src/lindbergh/jvs.h src/lindbergh/config.h src/lindbergh/config.c)
|
||||||
set_target_properties(lindyloader PROPERTIES OUTPUT_NAME "lindbergh")
|
set_target_properties(lindyloader PROPERTIES OUTPUT_NAME "lindbergh")
|
||||||
set_target_properties(lindyloader PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} LINK_FLAGS "-m32")
|
set_target_properties(lindyloader PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} LINK_FLAGS "-m32 -lm")
|
||||||
target_compile_options(lindyloader PRIVATE ${LINDBERGH_EXE})
|
target_compile_options(lindyloader PRIVATE ${LINDBERGH_EXE})
|
||||||
|
|
||||||
# Build static library libxdiff.a with its own flags
|
# Build static library libxdiff.a with its own flags
|
||||||
|
|||||||
Executable
+30
@@ -0,0 +1,30 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
APPIMAGEDIRNAME=lindbergh-loader.AppDir
|
||||||
|
OUTPUT_FOLDER=$(realpath "./$APPIMAGEDIRNAME")
|
||||||
|
|
||||||
|
mkdir build-deps
|
||||||
|
cd build-deps
|
||||||
|
|
||||||
|
# Build openal
|
||||||
|
wget https://github.com/kcat/openal-soft/archive/refs/tags/openal-soft-1.17.2.tar.gz
|
||||||
|
tar -xzf openal-soft-1.17.2.tar.gz
|
||||||
|
cd openal-soft-openal-soft-1.17.2/build
|
||||||
|
|
||||||
|
CFLAGS="-m32 -mstackrealign" CXXFLAGS="-m32 -std=c++14 -mstackrealign" cmake ../ -DALSOFT_BACKEND_PULSEAUDIO=ON -DALSOFT_BACKEND_ALSA=ON -DALSOFT_BACKEND_JACK=OFF -DALSOFT_BACKEND_SNDIO=ON
|
||||||
|
|
||||||
|
make -j4
|
||||||
|
sudo cp libopenal.so.1.17.2 /usr/lib/i386-linux-gnu/libopenal.so.0
|
||||||
|
cd ../../
|
||||||
|
|
||||||
|
# Build libSSL and libCrypto
|
||||||
|
wget https://github.com/openssl/openssl/archive/refs/tags/OpenSSL_0_9_7.tar.gz
|
||||||
|
tar -xzf OpenSSL_0_9_7.tar.gz
|
||||||
|
cd openssl-OpenSSL_0_9_7
|
||||||
|
cp ../../scripts/appimage/patches/openssl-0.9.7.patch .
|
||||||
|
./Configure shared 386 no-asm no-krb5 linux-pentium -m32
|
||||||
|
patch -p1 < openssl-0.9.7.patch
|
||||||
|
CFLAGS=-m32 make
|
||||||
|
sudo cp libcrypto.so.0.9.7 /usr/lib/i386-linux-gnu
|
||||||
|
sudo cp libssl.so.0.9.7 /usr/lib/i386-linux-gnu
|
||||||
|
|
||||||
@@ -2,10 +2,10 @@
|
|||||||
|
|
||||||
echo "Install Packages Running..."
|
echo "Install Packages Running..."
|
||||||
sudo dpkg --add-architecture i386
|
sudo dpkg --add-architecture i386
|
||||||
sudo apt-get update
|
sudo apt update
|
||||||
sudo apt-get -y install --no-install-recommends \
|
sudo apt -y install --no-install-recommends \
|
||||||
build-essential gcc-multilib fuse freeglut3-dev:i386 libsdl2-dev:i386 libfaudio-dev:i386 libvdpau1:i386 \
|
build-essential gcc-multilib g++-multilib cmake fuse freeglut3-dev:i386 libsdl2-dev:i386 libfaudio-dev:i386 libvdpau1:i386 \
|
||||||
libstdc++5:i386 libxmu6:i386 libpcsclite1:i386 libncurses5:i386 unzip
|
libstdc++5:i386 libxmu6:i386 libpcsclite1:i386 libncurses5:i386 unzip libsndio-dev:i386
|
||||||
|
|
||||||
sudo add-apt-repository ppa:kisak/kisak-mesa -y
|
sudo add-apt-repository ppa:kisak/kisak-mesa -y
|
||||||
sudo apt-get -y update && sudo apt -y dist-upgrade
|
sudo apt update -y && sudo apt upgrade -y
|
||||||
@@ -13,6 +13,8 @@ declare -a ADDED_LIBS=(
|
|||||||
"libGLU.so.1"
|
"libGLU.so.1"
|
||||||
"libglut.so.3"
|
"libglut.so.3"
|
||||||
"libglapi.so.0"
|
"libglapi.so.0"
|
||||||
|
"libICE.so.6"
|
||||||
|
"libSM.so.6"
|
||||||
"libX11.so.6"
|
"libX11.so.6"
|
||||||
"libX11-xcb.so.1"
|
"libX11-xcb.so.1"
|
||||||
"libxcb.so.1"
|
"libxcb.so.1"
|
||||||
@@ -25,6 +27,11 @@ declare -a ADDED_LIBS=(
|
|||||||
"libstdc++.so.5"
|
"libstdc++.so.5"
|
||||||
"libdrm.so.2"
|
"libdrm.so.2"
|
||||||
"libexpat.so.1"
|
"libexpat.so.1"
|
||||||
|
"libm.so.6"
|
||||||
|
"libopenal.so.0"
|
||||||
|
"libcrypto.so.0.9.7"
|
||||||
|
"libssl.so.0.9.7"
|
||||||
|
"libuuid.so.1"
|
||||||
)
|
)
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
@@ -71,10 +78,7 @@ cp lindbergh.so $OUTPUT_FOLDER/usr/lib
|
|||||||
cp libposixtime.so $OUTPUT_FOLDER/usr/lib
|
cp libposixtime.so $OUTPUT_FOLDER/usr/lib
|
||||||
mv lindbergh $OUTPUT_FOLDER/usr/bin
|
mv lindbergh $OUTPUT_FOLDER/usr/bin
|
||||||
mkdir -p $OUTPUT_FOLDER/usr/lib/dri
|
mkdir -p $OUTPUT_FOLDER/usr/lib/dri
|
||||||
cp /usr/lib/i386-linux-gnu/dri/* $OUTPUT_FOLDER/usr/lib/dri
|
cp /usr/lib/i386-linux-gnu/dri/* $OUTPUT_FOLDER/usr/lib/dri
|
||||||
cp ../libs/libcrypto.so.0.9.7 $OUTPUT_FOLDER/usr/lib
|
|
||||||
cp ../libs/libssl.so.0.9.7 $OUTPUT_FOLDER/usr/lib
|
|
||||||
cp ../libs/libopenal.so.0 $OUTPUT_FOLDER/usr/lib
|
|
||||||
cd ..
|
cd ..
|
||||||
|
|
||||||
echo "Running linuxdeploy to create AppDir..."
|
echo "Running linuxdeploy to create AppDir..."
|
||||||
@@ -86,9 +90,6 @@ mv $OUTPUT_FOLDER/usr/lib/libkswapapi.so $OUTPUT_FOLDER/usr/lib32
|
|||||||
mv $OUTPUT_FOLDER/usr/lib/libsegaapi.so $OUTPUT_FOLDER/usr/lib32
|
mv $OUTPUT_FOLDER/usr/lib/libsegaapi.so $OUTPUT_FOLDER/usr/lib32
|
||||||
mv $OUTPUT_FOLDER/usr/lib/lindbergh.so $OUTPUT_FOLDER/usr/lib32
|
mv $OUTPUT_FOLDER/usr/lib/lindbergh.so $OUTPUT_FOLDER/usr/lib32
|
||||||
mv $OUTPUT_FOLDER/usr/lib/libposixtime.so $OUTPUT_FOLDER/usr/lib32
|
mv $OUTPUT_FOLDER/usr/lib/libposixtime.so $OUTPUT_FOLDER/usr/lib32
|
||||||
mv $OUTPUT_FOLDER/usr/lib/libcrypto.so.0.9.7 $OUTPUT_FOLDER/usr/lib32
|
|
||||||
mv $OUTPUT_FOLDER/usr/lib/libssl.so.0.9.7 $OUTPUT_FOLDER/usr/lib32
|
|
||||||
mv $OUTPUT_FOLDER/usr/lib/libopenal.so.0 $OUTPUT_FOLDER/usr/lib32
|
|
||||||
mv $OUTPUT_FOLDER/usr/lib/dri $OUTPUT_FOLDER/usr/lib32
|
mv $OUTPUT_FOLDER/usr/lib/dri $OUTPUT_FOLDER/usr/lib32
|
||||||
|
|
||||||
unzip libs/Cg-3.1.zip -d $OUTPUT_FOLDER/usr/lib32
|
unzip libs/Cg-3.1.zip -d $OUTPUT_FOLDER/usr/lib32
|
||||||
|
|||||||
@@ -0,0 +1,13 @@
|
|||||||
|
diff -ruN openssl-OpenSSL_0_9_7.orig/Makefile.ssl openssl-OpenSSL_0_9_7/Makefile.ssl
|
||||||
|
--- openssl-OpenSSL_0_9_7.orig/Makefile.ssl 2025-04-14 05:05:11.162340308 +0000
|
||||||
|
+++ openssl-OpenSSL_0_9_7/Makefile.ssl 2025-04-14 05:06:22.261420144 +0000
|
||||||
|
@@ -198,7 +198,7 @@
|
||||||
|
SHARED_SSL=libssl$(SHLIB_EXT)
|
||||||
|
SHARED_LIBS=$(SHARED_CRYPTO) $(SHARED_SSL)
|
||||||
|
SHARED_LIBS_LINK_EXTS=.so.$(SHLIB_MAJOR) .so
|
||||||
|
-SHARED_LDFLAGS=
|
||||||
|
+SHARED_LDFLAGS=-m32
|
||||||
|
|
||||||
|
GENERAL= Makefile
|
||||||
|
BASENAME= openssl
|
||||||
|
|
||||||
@@ -61,6 +61,8 @@ int selectReply = -1;
|
|||||||
int jvsFileDescriptor = -1;
|
int jvsFileDescriptor = -1;
|
||||||
int jvsPacketSize = -1;
|
int jvsPacketSize = -1;
|
||||||
|
|
||||||
|
char serialString[1024] = {0};
|
||||||
|
|
||||||
int initBaseboard()
|
int initBaseboard()
|
||||||
{
|
{
|
||||||
char *sramPath = getConfig()->sramPath;
|
char *sramPath = getConfig()->sramPath;
|
||||||
@@ -90,6 +92,26 @@ int initBaseboard()
|
|||||||
startJVSFrameThread(&jvsFileDescriptor);
|
startJVSFrameThread(&jvsFileDescriptor);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
strcpy(serialString, SERIAL_STRING);
|
||||||
|
|
||||||
|
time_t t = time(NULL); // Get current time
|
||||||
|
struct tm *tm_info = localtime(&t); // Convert to local time structure
|
||||||
|
|
||||||
|
int month = tm_info->tm_mon + 1; // tm_mon is 0-based (0 = Jan, 4 = May)
|
||||||
|
int day = tm_info->tm_mday; // tm_mday is the day of the month
|
||||||
|
|
||||||
|
if (month == 1 && day == 18) {
|
||||||
|
strcpy(serialString, "HAPPY BIRTHDAY!!");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (month == 5 && day == 20) {
|
||||||
|
strcpy(serialString, "HAPPY BIRTHDAY!!");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (month == 5 && day == 21) {
|
||||||
|
strcpy(serialString, "HAPPY BIRTHDAY!!");
|
||||||
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -236,7 +258,7 @@ int baseboardIoctl(int fd, unsigned int request, void *data)
|
|||||||
|
|
||||||
case BASEBOARD_GET_SERIAL:
|
case BASEBOARD_GET_SERIAL:
|
||||||
{
|
{
|
||||||
memcpy(&sharedMemory[serialCommand.destAddress + 96], SERIAL_STRING, strlen(SERIAL_STRING));
|
memcpy(&sharedMemory[serialCommand.destAddress + 96], serialString, strlen(serialString));
|
||||||
_data[1] = 1; // Set the status to success
|
_data[1] = 1; // Set the status to success
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -338,9 +338,13 @@ void setEnvironmentVariables(const char *ldLibPath, const char *originalDir, con
|
|||||||
setenv("__NV_PRIME_RENDER_OFFLOAD", "1", 1);
|
setenv("__NV_PRIME_RENDER_OFFLOAD", "1", 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
char libglDriPath[MAX_PATH_LENGTH];
|
char *appImgRoot = getenv("APP_IMG_ROOT");
|
||||||
sprintf(libglDriPath, "%s/usr/lib32/dri", getenv("APP_IMG_ROOT"));
|
if (appImgRoot != NULL)
|
||||||
setenv("LIBGL_DRIVERS_PATH", libglDriPath, 1);
|
{
|
||||||
|
char libglDriPath[MAX_PATH_LENGTH];
|
||||||
|
sprintf(libglDriPath, "%s/usr/lib32/dri", appImgRoot);
|
||||||
|
setenv("LIBGL_DRIVERS_PATH", libglDriPath, 1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void printUsage(char *argv[])
|
void printUsage(char *argv[])
|
||||||
|
|||||||
+14
-29
@@ -185,14 +185,12 @@ void glViewport(GLint x, GLint y, GLsizei width, GLsizei height)
|
|||||||
case OUTRUN_2_SP_SDX_REVA_TEST:
|
case OUTRUN_2_SP_SDX_REVA_TEST:
|
||||||
case OUTRUN_2_SP_SDX_REVA_TEST2:
|
case OUTRUN_2_SP_SDX_REVA_TEST2:
|
||||||
{
|
{
|
||||||
if (gWidth != 800 && gHeight != 480)
|
|
||||||
{
|
|
||||||
if ((width >= 800) && (width != 1024))
|
|
||||||
{
|
|
||||||
width = gWidth;
|
width = gWidth;
|
||||||
height = gHeight;
|
height = gHeight;
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -294,26 +292,23 @@ void glTexImage2D(unsigned int target, int level, int internalformat, int width,
|
|||||||
void (*_glTexImage2D)(unsigned int target, int level, int internalformat, int width, int height, int border, unsigned int format,
|
void (*_glTexImage2D)(unsigned int target, int level, int internalformat, int width, int height, int border, unsigned int format,
|
||||||
unsigned int type, const void *pixels) = dlsym(RTLD_NEXT, "glTexImage2D");
|
unsigned int type, const void *pixels) = dlsym(RTLD_NEXT, "glTexImage2D");
|
||||||
|
|
||||||
if (gWidth != 800 && gHeight != 480)
|
|
||||||
{
|
|
||||||
switch (gId)
|
switch (gId)
|
||||||
{
|
{
|
||||||
case OUTRUN_2_SP_SDX:
|
case OUTRUN_2_SP_SDX:
|
||||||
case OUTRUN_2_SP_SDX_REVA:
|
case OUTRUN_2_SP_SDX_REVA:
|
||||||
{
|
{
|
||||||
void *addr = __builtin_return_address(0);
|
void *addr = __builtin_return_address(0);
|
||||||
if ((width >= 800) && (width != 1024) && (addr != (void *)0x80d78d5) && (addr != (void *)0x080d7941))
|
|
||||||
{
|
|
||||||
width = gWidth;
|
width = gWidth;
|
||||||
height = gHeight;
|
height = gHeight;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
_glTexImage2D(target, level, internalformat, width, height, border, format, type, pixels);
|
||||||
_glTexImage2D(target, level, internalformat, width, height, border, format, type, pixels);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void glTexParameteri(unsigned int target, unsigned int pname, int param)
|
void glTexParameteri(unsigned int target, unsigned int pname, int param)
|
||||||
@@ -2486,19 +2481,15 @@ int initResolutionPatches()
|
|||||||
break;
|
break;
|
||||||
case OUTRUN_2_SP_SDX:
|
case OUTRUN_2_SP_SDX:
|
||||||
{
|
{
|
||||||
if (gWidth <= 800 && gHeight <= 480)
|
|
||||||
break;
|
|
||||||
// If resolution is not the native of the game this patch kind of fix the Sun when the LensGlare effect is
|
|
||||||
// shown.
|
|
||||||
if ((gWidth > 800) && (gHeight > 480))
|
|
||||||
{
|
|
||||||
patchMemory(0x080e8e72, "9090909090"); // removes a call to a light function
|
patchMemory(0x080e8e72, "9090909090"); // removes a call to a light function
|
||||||
patchMemory(0x080e8e83, "9090909090"); // removes a call to a light function
|
patchMemory(0x080e8e83, "9090909090"); // removes a call to a light function
|
||||||
if (!getConfig()->outrunLensGlareEnabled)
|
if (!getConfig()->outrunLensGlareEnabled)
|
||||||
{
|
{
|
||||||
detourFunction(0x080e8b34, stubReturn); // Completely disables the lens glare effect
|
detourFunction(0x080e8b34, stubReturn); // Completely disables the lens glare effect
|
||||||
}
|
}
|
||||||
}
|
|
||||||
setVariable(0x080b913a, 0x44200000);
|
setVariable(0x080b913a, 0x44200000);
|
||||||
setVariable(0x081dae28, 0x44200000);
|
setVariable(0x081dae28, 0x44200000);
|
||||||
setVariable(0x081dae30, 0x44200000);
|
setVariable(0x081dae30, 0x44200000);
|
||||||
@@ -2512,19 +2503,14 @@ int initResolutionPatches()
|
|||||||
break;
|
break;
|
||||||
case OUTRUN_2_SP_SDX_REVA:
|
case OUTRUN_2_SP_SDX_REVA:
|
||||||
{
|
{
|
||||||
if (gWidth <= 800 && gHeight <= 480)
|
|
||||||
break;
|
|
||||||
// If resolution is not the native of the game this patch kind of fix the Sun when the LensGlare effect is
|
|
||||||
// shown.
|
|
||||||
if ((gWidth > 800) && (gHeight > 480))
|
|
||||||
{
|
|
||||||
patchMemory(0x080e8e06, "9090909090"); // removes a call to a light function
|
patchMemory(0x080e8e06, "9090909090"); // removes a call to a light function
|
||||||
patchMemory(0x080e8e17, "9090909090"); // removes a call to a light function
|
patchMemory(0x080e8e17, "9090909090"); // removes a call to a light function
|
||||||
if (!getConfig()->outrunLensGlareEnabled)
|
if (!getConfig()->outrunLensGlareEnabled)
|
||||||
{
|
{
|
||||||
detourFunction(0x080e8ac8, stubReturn); // Completely disables the lens glare effect
|
detourFunction(0x080e8ac8, stubReturn); // Completely disables the lens glare effect
|
||||||
}
|
}
|
||||||
}
|
|
||||||
setVariable(0x080b913a, 0x44200000);
|
setVariable(0x080b913a, 0x44200000);
|
||||||
setVariable(0x081dada8, 0x44200000);
|
setVariable(0x081dada8, 0x44200000);
|
||||||
setVariable(0x081dadb0, 0x44200000);
|
setVariable(0x081dadb0, 0x44200000);
|
||||||
@@ -2550,8 +2536,7 @@ int initResolutionPatches()
|
|||||||
case OUTRUN_2_SP_SDX_REVA_TEST:
|
case OUTRUN_2_SP_SDX_REVA_TEST:
|
||||||
case OUTRUN_2_SP_SDX_REVA_TEST2:
|
case OUTRUN_2_SP_SDX_REVA_TEST2:
|
||||||
{
|
{
|
||||||
if (gWidth <= 800 && gHeight <= 480)
|
|
||||||
break;
|
|
||||||
setVariable(0x0804a490, gWidth);
|
setVariable(0x0804a490, gWidth);
|
||||||
setVariable(0x0804a4ad, gHeight);
|
setVariable(0x0804a4ad, gHeight);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user