From 510d13398e4e78a26c4d36763fe6bf83ef009019 Mon Sep 17 00:00:00 2001 From: Bobby Dilley Date: Fri, 20 Feb 2026 00:04:55 +0000 Subject: [PATCH] Try to render like chihiro in 640x480 --- src/lindbergh/resolution.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/lindbergh/resolution.c b/src/lindbergh/resolution.c index 94b5fd0..79687b5 100644 --- a/src/lindbergh/resolution.c +++ b/src/lindbergh/resolution.c @@ -200,6 +200,11 @@ void glViewport(GLint x, GLint y, GLsizei width, GLsizei height) height = 480; } } + + // Force proper 4:3 rendering at 640x480 to match Chihiro Version of game + if(addr == (void *)0x804d8cb && width == 640) { width = 800; x = x - 40;} + if(addr == (void *)0x80f4082 && width == 640) { width = 800; x = x - 40;} + if(addr == (void *)0x80fff23 && width == 640) { width = 800;} } else if (gId == SEGA_RACE_TV) { @@ -295,7 +300,7 @@ 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, unsigned int type, const void *pixels) = dlsym(RTLD_NEXT, "glTexImage2D"); - + if (gGrp == GROUP_OUTRUN) { if (gWidth != 800 || gHeight != 480) @@ -316,6 +321,12 @@ void glTexImage2D(unsigned int target, int level, int internalformat, int width, height = 480; } } + + // Force proper 4:3 rendering at 640x480 to match Chihiro Version of game + if(width == 640) + { + width = 800; + } } _glTexImage2D(target, level, internalformat, width, height, border, format, type, pixels); }