diff --git a/Module.mk b/Module.mk index 1b31a4f..b4a30d1 100644 --- a/Module.mk +++ b/Module.mk @@ -142,6 +142,7 @@ include src/main/jbio-p4io/Module.mk include src/main/jbio/Module.mk include src/main/jbiotest/Module.mk include src/main/jbhook-util/Module.mk +include src/main/jbhook-util-p3io/Module.mk include src/main/jbhook1/Module.mk include src/main/jbhook2/Module.mk include src/main/jbhook3/Module.mk diff --git a/src/main/jbhook-util-p3io/Module.mk b/src/main/jbhook-util-p3io/Module.mk new file mode 100644 index 0000000..8d31cd6 --- /dev/null +++ b/src/main/jbhook-util-p3io/Module.mk @@ -0,0 +1,6 @@ +libs += jbhook-util-p3io + +src_jbhook-util-p3io := \ + gfx.c \ + mixer.c \ + p3io.c \ diff --git a/src/main/jbhook-util/gfx.c b/src/main/jbhook-util-p3io/gfx.c similarity index 75% rename from src/main/jbhook-util/gfx.c rename to src/main/jbhook-util-p3io/gfx.c index c8c8c53..9e53559 100644 --- a/src/main/jbhook-util/gfx.c +++ b/src/main/jbhook-util-p3io/gfx.c @@ -14,7 +14,7 @@ #include "imports/glhelper.h" -#include "jbhook-util/gfx.h" +#include "jbhook-util-p3io/gfx.h" #include "util/defs.h" #include "util/log.h" @@ -47,71 +47,6 @@ static const struct hook_symbol jbhook_infodisp_hook_syms[] = { .patch = hook_infodispcore_set_angle}, }; -static DWORD STDCALL my_GetGlyphOutline( - HDC hdc, - UINT uChar, - UINT uFormat, - LPGLYPHMETRICS lpgm, - DWORD cbBuffer, - LPVOID lpvBuffer, - const MAT2 *lpmat2); - -static DWORD(STDCALL *real_GetGlyphOutline)( - HDC hdc, - UINT uChar, - UINT uFormat, - LPGLYPHMETRICS lpgm, - DWORD cbBuffer, - LPVOID lpvBuffer, - const MAT2 *lpmat2); - -static const struct hook_symbol gfx_hook_syms[] = { - {.name = "GetGlyphOutlineA", - .patch = my_GetGlyphOutline, - .link = (void **) &real_GetGlyphOutline}, - { - .name = "IsDBCSLeadByteEx", - .patch = my_GetGlyphOutline, // !?? - .link = (void **) &real_GetGlyphOutline // !?? - }, -}; - -static DWORD STDCALL my_GetGlyphOutline( - HDC hdc, - UINT uChar, - UINT uFormat, - LPGLYPHMETRICS lpgm, - DWORD cbBuffer, - LPVOID lpvBuffer, - const MAT2 *lpmat2) -{ - if (IsDBCSLeadByteEx(CP_ACP, uChar & 0xFF)) { - log_warning("!!!!!!!!"); - - char tmp[2]; - - tmp[0] = uChar & 0xFF; - tmp[1] = (uChar >> 8) & 0xFF; - - MultiByteToWideChar( - CP_ACP, MB_USEGLYPHCHARS, tmp, 2, lpvBuffer, cbBuffer); - } - - return real_GetGlyphOutline( - hdc, uChar, uFormat, lpgm, cbBuffer, lpvBuffer, lpmat2); -} - -void jbhook_util_gfx_hook_init(void) -{ - hook_table_apply(NULL, "gdi32.dll", gfx_hook_syms, lengthof(gfx_hook_syms)); - - log_info("Inserted gfx hooks"); -} - -void jbhook_util_gfx_set_windowed(bool framed) -{ -} - void jbhook_util_gfx_install_vertical_hooks(void) { hook_table_apply( NULL, diff --git a/src/main/jbhook-util-p3io/gfx.h b/src/main/jbhook-util-p3io/gfx.h new file mode 100644 index 0000000..a7d2dbc --- /dev/null +++ b/src/main/jbhook-util-p3io/gfx.h @@ -0,0 +1,4 @@ +/** + * Rotate a horizontal-by-default jubeat window to vertical + */ +void jbhook_util_gfx_install_vertical_hooks(void); diff --git a/src/main/jbhook-util/mixer.c b/src/main/jbhook-util-p3io/mixer.c similarity index 100% rename from src/main/jbhook-util/mixer.c rename to src/main/jbhook-util-p3io/mixer.c diff --git a/src/main/jbhook-util/mixer.h b/src/main/jbhook-util-p3io/mixer.h similarity index 100% rename from src/main/jbhook-util/mixer.h rename to src/main/jbhook-util-p3io/mixer.h diff --git a/src/main/jbhook-util/p3io.c b/src/main/jbhook-util-p3io/p3io.c similarity index 99% rename from src/main/jbhook-util/p3io.c rename to src/main/jbhook-util-p3io/p3io.c index 95c8b92..2317742 100644 --- a/src/main/jbhook-util/p3io.c +++ b/src/main/jbhook-util-p3io/p3io.c @@ -5,7 +5,7 @@ #include "bemanitools/jbio.h" -#include "jbhook-util/p3io.h" +#include "jbhook-util-p3io/p3io.h" #include "p3ioemu/emu.h" #include "p3ioemu/uart.h" diff --git a/src/main/jbhook-util/p3io.h b/src/main/jbhook-util-p3io/p3io.h similarity index 100% rename from src/main/jbhook-util/p3io.h rename to src/main/jbhook-util-p3io/p3io.h diff --git a/src/main/jbhook-util/Module.mk b/src/main/jbhook-util/Module.mk index c013e76..06f22b7 100644 --- a/src/main/jbhook-util/Module.mk +++ b/src/main/jbhook-util/Module.mk @@ -6,8 +6,5 @@ libs_jbhook-util := \ src_jbhook-util := \ acio.c \ eamuse.c \ - gfx.c \ - mixer.c \ locale.c \ - p3io.c \ p4io.c \ diff --git a/src/main/jbhook-util/gfx.h b/src/main/jbhook-util/gfx.h deleted file mode 100644 index 4d4bb0b..0000000 --- a/src/main/jbhook-util/gfx.h +++ /dev/null @@ -1,25 +0,0 @@ -#ifndef JBHOOK_D3D8_H -#define JBHOOK_D3D8_H - -#include - -/** - * Hook some gfx related functions to patch gfx related stuff - * like enabling window mode. - */ -void jbhook_util_gfx_hook_init(void); - -/** - * Set the game to window mode. - * - * @param framed True to add a window frame and make the window - * movable, resizable, minizable. False for no frame. - */ -void jbhook_util_gfx_set_windowed(bool framed); - -/** - * Rotate a horizontal-by-default jubeat window to vertical - */ -void jbhook_util_gfx_install_vertical_hooks(void); - -#endif diff --git a/src/main/jbhook1/Module.mk b/src/main/jbhook1/Module.mk index f598045..b5e4777 100644 --- a/src/main/jbhook1/Module.mk +++ b/src/main/jbhook1/Module.mk @@ -2,7 +2,7 @@ avsdlls += jbhook1 imps += glhelper deplibs_jbhook1 := \ - avs \ + avs \ glhelper \ ldflags_jbhook1 := \ @@ -15,7 +15,8 @@ libs_jbhook1 := \ cconfig \ eamio \ jbio \ - jbhook-util \ + jbhook-util \ + jbhook-util-p3io \ p3ioemu \ p3io \ hook \ diff --git a/src/main/jbhook1/dllmain.c b/src/main/jbhook1/dllmain.c index d210e3b..69efeba 100644 --- a/src/main/jbhook1/dllmain.c +++ b/src/main/jbhook1/dllmain.c @@ -24,9 +24,10 @@ #include "jbhook-util/acio.h" #include "jbhook-util/eamuse.h" -#include "jbhook-util/gfx.h" -#include "jbhook-util/mixer.h" -#include "jbhook-util/p3io.h" + +#include "jbhook-util-p3io/gfx.h" +#include "jbhook-util-p3io/mixer.h" +#include "jbhook-util-p3io/p3io.h" #include "p3ioemu/devmgr.h" #include "p3ioemu/emu.h" diff --git a/src/main/jbhook2/Module.mk b/src/main/jbhook2/Module.mk index 7961994..2573867 100644 --- a/src/main/jbhook2/Module.mk +++ b/src/main/jbhook2/Module.mk @@ -14,6 +14,7 @@ libs_jbhook2 := \ eamio \ jbio \ jbhook-util \ + jbhook-util-p3io \ p3ioemu \ p3io \ p4ioemu \ diff --git a/src/main/jbhook2/dllmain.c b/src/main/jbhook2/dllmain.c index 6c1ce59..6f376ce 100644 --- a/src/main/jbhook2/dllmain.c +++ b/src/main/jbhook2/dllmain.c @@ -22,8 +22,9 @@ #include "jbhook-util/acio.h" #include "jbhook-util/eamuse.h" -#include "jbhook-util/gfx.h" -#include "jbhook-util/p3io.h" + +#include "jbhook-util-p3io/gfx.h" +#include "jbhook-util-p3io/p3io.h" #include "p3ioemu/devmgr.h" #include "p3ioemu/emu.h" @@ -214,7 +215,6 @@ BOOL WINAPI DllMain(HMODULE mod, DWORD reason, void *ctx) adapter_hook_init(); } - jbhook_util_gfx_hook_init(); jbhook_util_eamuse_hook_init(); return TRUE; diff --git a/src/main/jbhook3/dllmain.c b/src/main/jbhook3/dllmain.c index f88865f..60ad183 100644 --- a/src/main/jbhook3/dllmain.c +++ b/src/main/jbhook3/dllmain.c @@ -21,7 +21,6 @@ #include "jbhook-util/acio.h" #include "jbhook-util/eamuse.h" -#include "jbhook-util/gfx.h" #include "jbhook-util/p4io.h" #include "p4ioemu/device.h" @@ -143,7 +142,6 @@ BOOL WINAPI DllMain(HMODULE mod, DWORD reason, void *ctx) adapter_hook_init(); } - jbhook_util_gfx_hook_init(); jbhook_util_eamuse_hook_init(); return TRUE;