Made TextScr.cpp ASM-accurate

Yes! Finally!

Working towards #74
This commit is contained in:
Clownacy 2019-06-20 20:33:47 +01:00
parent fc9270ec8c
commit 078dc440c7
4 changed files with 9 additions and 7 deletions

View file

@ -468,7 +468,7 @@ int ModeAction()
InitFlags(); InitFlags();
InitBossLife(); InitBossLife();
if ((bContinue && LoadProfile(NULL)) || InitializeGame()) if ((bContinue && LoadProfile(NULL)) || InitializeGame(ghWnd))
{ {
while (1) while (1)
{ {

View file

@ -241,8 +241,10 @@ BOOL LoadProfile(const char *name)
return TRUE; return TRUE;
} }
BOOL InitializeGame() BOOL InitializeGame(HWND hWnd)
{ {
(void)hWnd;
InitMyChar(); InitMyChar();
gSelectedArms = 0; gSelectedArms = 0;
gSelectedItem = 0; gSelectedItem = 0;

View file

@ -33,4 +33,4 @@ struct PROFILE
BOOL IsProfile(); BOOL IsProfile();
BOOL SaveProfile(const char *name); BOOL SaveProfile(const char *name);
BOOL LoadProfile(const char *name); BOOL LoadProfile(const char *name);
BOOL InitializeGame(); BOOL InitializeGame(HWND hWnd);

View file

@ -558,6 +558,7 @@ int TextScriptProc()
char c[3]; char c[3];
int w, x, y, z; int w, x, y, z;
int i; int i;
char str[72];
RECT rcSymbol = {64, 48, 72, 56}; RECT rcSymbol = {64, 48, 72, 56};
@ -1164,7 +1165,7 @@ int TextScriptProc()
} }
else if (IS_COMMAND('I','N','I')) else if (IS_COMMAND('I','N','I'))
{ {
InitializeGame(); InitializeGame(ghWnd);
gTS.p_read += 4; gTS.p_read += 4;
} }
else if (IS_COMMAND('S','V','P')) else if (IS_COMMAND('S','V','P'))
@ -1175,7 +1176,7 @@ int TextScriptProc()
else if (IS_COMMAND('L','D','P')) else if (IS_COMMAND('L','D','P'))
{ {
if (!LoadProfile(NULL)) if (!LoadProfile(NULL))
InitializeGame(); InitializeGame(ghWnd);
} }
else if (IS_COMMAND('F','A','C')) else if (IS_COMMAND('F','A','C'))
{ {
@ -1251,7 +1252,7 @@ int TextScriptProc()
char str_0[0x40]; char str_0[0x40];
#ifdef NONPORTABLE #ifdef NONPORTABLE
sprintf(str_0, "不明のコード:<%c%c%c", gTS.data[gTS.p_read + 1], gTS.data[gTS.p_read + 2], gTS.data[gTS.p_read + 3]); sprintf(str_0, "不明のコード:<%c%c%c", gTS.data[gTS.p_read + 1], gTS.data[gTS.p_read + 2], gTS.data[gTS.p_read + 3]);
MessageBoxA(ghWnd, str_0, "エラー", 0); MessageBoxA(0, str_0, "エラー", 0);
#else #else
#ifdef JAPANESE #ifdef JAPANESE
sprintf(str_0, "不明のコード:<%c%c%c", gTS.data[gTS.p_read + 1], gTS.data[gTS.p_read + 2], gTS.data[gTS.p_read + 3]); sprintf(str_0, "不明のコード:<%c%c%c", gTS.data[gTS.p_read + 1], gTS.data[gTS.p_read + 2], gTS.data[gTS.p_read + 3]);
@ -1282,7 +1283,6 @@ int TextScriptProc()
else if (gTS.flags & 0x10) else if (gTS.flags & 0x10)
{ {
//SAT/CAT/TUR printing //SAT/CAT/TUR printing
char str[72];
x = gTS.p_read; x = gTS.p_read;
//Break if reaches command, or new-line //Break if reaches command, or new-line
while (gTS.data[x] != '<' && gTS.data[x] != '\r') while (gTS.data[x] != '<' && gTS.data[x] != '\r')