From befedcdb8dab02ff4a9b904810eade49c0890cc5 Mon Sep 17 00:00:00 2001 From: Iru Cai Date: Fri, 16 Nov 2018 21:52:34 +0800 Subject: write mciSendStringA functions in misc.c --- csrc/game_init.c | 2 +- csrc/global.h | 1 + csrc/main.c | 8 ++++---- csrc/misc.c | 18 ++++++++++++++++++ 4 files changed, 24 insertions(+), 5 deletions(-) create mode 100644 csrc/misc.c diff --git a/csrc/game_init.c b/csrc/game_init.c index 3969189..d2905b5 100644 --- a/csrc/game_init.c +++ b/csrc/game_init.c @@ -127,7 +127,7 @@ int init_new_game(int a0) eax = dw_48a3b8 + 12 + edx; dw_48a39c = crop_graph(eax, 0, 157, 216, 23, 24); - sub.WINMM.dll_mciSendStringA_9cf(0x8001); /* TODO: 0x4549cf */ + playmid_4549cf(0x8001); /* TODO: 0x4549cf */ int res = register_wait_callback(0x404e44, a0); *(int*)(esp + 4) = res; diff --git a/csrc/global.h b/csrc/global.h index adf8941..a564023 100644 --- a/csrc/global.h +++ b/csrc/global.h @@ -32,6 +32,7 @@ extern RECT g_rect; /* struct tagRECT { left, top, right, bottom } @ 0x46cadc */ extern int16_t game_stage; extern int16_t game_map; extern int price_index; +extern char mid_status[7]; // 0x46cb00 /* card.c */ extern uint8_t card_amount[30]; diff --git a/csrc/main.c b/csrc/main.c index d59a4b7..6a0fd08 100644 --- a/csrc/main.c +++ b/csrc/main.c @@ -170,9 +170,9 @@ static LRESULT CALLBACK entryCallback(HWND hWnd, UINT message, WPARAM wParam, LP break; case 2: fcn_00402460(0); - sub.WINMM.dll_mciSendStringA_acb(); + close_mid_454acb(); options_ui(0); - sub.WINMM.dll_mciSendStringA_9cf(0); + playmid_4549cf(0); IDirectDrawSurface_Lock(pddrawsf2, NULL, &sfdesc1, 1, 0); overlay_fullscreen(sfdesc1.lpSurface, &data1->chunk_tab[0], 0, 0); IDirectDrawSurface_Unlock(pddrawsf2, NULL); @@ -223,9 +223,9 @@ static int ui_entry() create_some_font(0x10, 0xf0f0f0, 0x101010, 3, 1); draw_some_text(&data1->chunk_tab[0], "V3.11", 638, 470, 6); - sub.WINMM.dll_mciSendStringA_9cf(0); + playmid_4549cf(0); int ret = register_wait_callback(entryCallback, 0); - sub.WINMM.dll_mciSendStringA_acb(); + close_mid_454acb(); free(data1); return ret; } diff --git a/csrc/misc.c b/csrc/misc.c new file mode 100644 index 0000000..b7651c9 --- /dev/null +++ b/csrc/misc.c @@ -0,0 +1,18 @@ +#include +#include "global.h" + +char b_47e772; + +void playmid_4549cf(int x) +{ + /* TODO */ +} + +void close_mid_454acb(void) +{ + if (mid_status[3] != 0) { + mciSendStringA("close mid wait", 0, 0, 0); + } + mid_status[3] = 0; + b_47e772 = 0; +} -- cgit v1.2.3