summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIru Cai <mytbk920423@gmail.com>2018-11-16 21:52:34 +0800
committerIru Cai <mytbk920423@gmail.com>2018-11-16 21:52:34 +0800
commitbefedcdb8dab02ff4a9b904810eade49c0890cc5 (patch)
tree8b0d396ba14c83f9591ea20de91de58da48fd1ef
parent9b8b43847065d9124fd0e2f0bfa79d91f0bcc9e7 (diff)
downloadrich4-befedcdb8dab02ff4a9b904810eade49c0890cc5.tar.xz
write mciSendStringA functions in misc.c
-rw-r--r--csrc/game_init.c2
-rw-r--r--csrc/global.h1
-rw-r--r--csrc/main.c8
-rw-r--r--csrc/misc.c18
4 files changed, 24 insertions, 5 deletions
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 <windows.h>
+#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;
+}