mirror of
https://github.com/djhackersdev/bemanitools.git
synced 2025-02-21 12:52:07 +01:00
jbhook: Finalise half-baked "rotate window" hooks
This commit is contained in:
parent
8de259c639
commit
b42c9aa93b
3
dist/jb/jbhook-01.conf
vendored
3
dist/jb/jbhook-01.conf
vendored
@ -1,6 +1,9 @@
|
||||
# Run the game windowed
|
||||
gfx.windowed=false
|
||||
|
||||
# rotate the normally-horizontal game window to be vertical
|
||||
gfx.vertical=false
|
||||
|
||||
# URL (e.g. http://my.eamuse.server:80/whatever) or IPV4 (e.g. 127.0.0.1:80) of the target eamuse server. The port is optional but defaults to 80.
|
||||
eamuse.server=localhost:80
|
||||
|
||||
|
3
dist/jb/jbhook-02.conf
vendored
3
dist/jb/jbhook-02.conf
vendored
@ -1,6 +1,9 @@
|
||||
# Run the game windowed
|
||||
gfx.windowed=false
|
||||
|
||||
# rotate the normally-horizontal game window to be vertical
|
||||
gfx.vertical=false
|
||||
|
||||
# URL (e.g. http://my.eamuse.server:80/whatever) or IPV4 (e.g. 127.0.0.1:80) of the target eamuse server. The port is optional but defaults to 80.
|
||||
eamuse.server=localhost:80
|
||||
|
||||
|
@ -146,8 +146,10 @@ static void fb_init(void) {
|
||||
|
||||
static void __stdcall hook_glFlush(void) {
|
||||
// 3 bytes per RGB pixel
|
||||
uint8_t pixels_raw[W*H*3];
|
||||
uint8_t pixels_rot[W*H*3];
|
||||
// these could really be stack variables but they are too big for gcc's
|
||||
// default stack size, and it's no problem for 6MiB of data to hang around
|
||||
static uint8_t pixels_raw[W*H*3];
|
||||
static uint8_t pixels_rot[W*H*3];
|
||||
|
||||
glReadPixels(0, 0, H, W, GL_RGB, GL_UNSIGNED_BYTE, pixels_raw);
|
||||
|
||||
@ -185,7 +187,7 @@ static void __stdcall hook_glFlush(void) {
|
||||
// insufficiently generic compared to something in opengl32.dll, but the render
|
||||
// loop of the game makes it very difficult to "catch" the rendering at the
|
||||
// right place otherwise. This works with all horizontal jubeats, and they
|
||||
// stopped needing rotation past copious.
|
||||
// stopped needing rotation fixes starting with saucer.
|
||||
static void hook_glBindFramebufferEXT(GLenum target, GLuint framebuffer) {
|
||||
fb_init();
|
||||
|
||||
|
@ -42,8 +42,6 @@ static struct options options;
|
||||
|
||||
static bool my_dll_entry_init(char *sidcode, struct property_node *param)
|
||||
{
|
||||
jbhook_util_gfx_install_vertical_hooks();
|
||||
|
||||
bool eam_io_ok;
|
||||
bool jb_io_ok;
|
||||
|
||||
@ -52,6 +50,10 @@ static bool my_dll_entry_init(char *sidcode, struct property_node *param)
|
||||
|
||||
log_info("--- Begin jbhook dll_entry_init ---");
|
||||
|
||||
if(options.vertical) {
|
||||
jbhook_util_gfx_install_vertical_hooks();
|
||||
}
|
||||
|
||||
if (!options.disable_p3ioemu) {
|
||||
log_assert(sidcode != NULL);
|
||||
// pcbid and eamid are only used here for sec check, the ones used for
|
||||
@ -157,9 +159,11 @@ static HWND CDECL my_mwindow_create(
|
||||
log_info("---------------- Begin jbhook mwindow_create ----------------");
|
||||
log_info("-------------------------------------------------------------");
|
||||
|
||||
DWORD tmp = window_width;
|
||||
window_width = window_height;
|
||||
window_height = tmp;
|
||||
if(options.vertical) {
|
||||
DWORD tmp = window_width;
|
||||
window_width = window_height;
|
||||
window_height = tmp;
|
||||
}
|
||||
|
||||
return real_mwindow_create(
|
||||
hinstance,
|
||||
|
@ -65,6 +65,11 @@ bool options_read_cmdline(struct options *options, int argc, const char **argv)
|
||||
break;
|
||||
}
|
||||
|
||||
case 'v': {
|
||||
options->vertical = true;
|
||||
break;
|
||||
}
|
||||
|
||||
case 'a': {
|
||||
options->disable_adapteremu = true;
|
||||
break;
|
||||
@ -96,6 +101,7 @@ void options_print_usage(void)
|
||||
" -h Print this usage message\n"
|
||||
" -w Run the game windowed\n"
|
||||
" -f Run the game in a framed window (needs -w option)\n"
|
||||
" -v Rotate the normally-horizontal game window to be vertical\n"
|
||||
" -a Disable adapter hook\n"
|
||||
" -c Disable card emulation (e.g. when running on a "
|
||||
"real cab)\n"
|
||||
|
@ -7,6 +7,7 @@
|
||||
struct options {
|
||||
bool windowed;
|
||||
bool window_framed;
|
||||
bool vertical;
|
||||
bool disable_p3ioemu;
|
||||
bool disable_cardemu;
|
||||
bool disable_adapteremu;
|
||||
|
Loading…
x
Reference in New Issue
Block a user