mirror of
https://github.com/kichikuou/system3-sdl2.git
synced 2026-09-28 01:48:09 +03:00
Merge upstream changes: Improve error messages for unknown commands
Unlike the upstream, we use fatal() because it generates a message box even if DEBUG_CONSOLE is disabled.
This commit is contained in:
+6
-1
@@ -165,6 +165,7 @@ void NACT::execute(T* impl)
|
||||
}
|
||||
|
||||
// 1コマンド実行
|
||||
prev_addr = scenario_addr;
|
||||
uint8 cmd = getd();
|
||||
|
||||
if(set_palette && cmd != 'P') {
|
||||
@@ -345,7 +346,11 @@ void NACT::execute(T* impl)
|
||||
}
|
||||
output_console(string);
|
||||
} else {
|
||||
fatal("Unknown command %2x at %d", cmd, scenario_addr);
|
||||
if(cmd >= 0x20 && cmd < 0x7f) {
|
||||
fatal("Unknown Command: '%c' at page = %d, addr = %d", cmd, scenario_page, prev_addr);
|
||||
} else {
|
||||
fatal("Unknown Command: %02x at page = %d, addr = %d", cmd, scenario_page, prev_addr);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
+1
-1
@@ -109,7 +109,7 @@ protected:
|
||||
int scenario_size;
|
||||
|
||||
// アドレス、ページ管理
|
||||
int scenario_addr;
|
||||
int scenario_addr, prev_addr;
|
||||
int scenario_page;
|
||||
int label_depth;
|
||||
int label_stack[MAX_STACK];
|
||||
|
||||
+20
-1
@@ -127,7 +127,9 @@ void NACT_Sys1::cmd_branch()
|
||||
bool set_menu = false;
|
||||
|
||||
if(!condition) {
|
||||
// 次の'}'命令までスキップする(ネストも考慮する)
|
||||
for(;;) {
|
||||
prev_addr = scenario_addr;
|
||||
uint8 cmd = getd();
|
||||
|
||||
if(cmd == '!') {
|
||||
@@ -209,7 +211,11 @@ void NACT_Sys1::cmd_branch()
|
||||
// message (2 bytes)
|
||||
getd();
|
||||
} else {
|
||||
fatal("cmd_branch: invalid command %2x", cmd);
|
||||
if(cmd >= 0x20 && cmd < 0x7f) {
|
||||
fatal("Unknown Command: '%c' at page = %d, addr = %d", cmd, scenario_page, prev_addr);
|
||||
} else {
|
||||
fatal("Unknown Command: %02x at page = %d, addr = %d", cmd, scenario_page, prev_addr);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -833,16 +839,19 @@ void NACT_Sys1::cmd_a()
|
||||
void NACT_Sys1::cmd_b()
|
||||
{
|
||||
// 未使用
|
||||
fatal("Unknown Command: 'B' at page = %d, addr = %d", scenario_page, prev_addr);
|
||||
}
|
||||
|
||||
void NACT_Sys1::cmd_d()
|
||||
{
|
||||
// 未使用
|
||||
fatal("Unknown Command: 'D' at page = %d, addr = %d", scenario_page, prev_addr);
|
||||
}
|
||||
|
||||
void NACT_Sys1::cmd_e()
|
||||
{
|
||||
// 未使用
|
||||
fatal("Unknown Command: 'E' at page = %d, addr = %d", scenario_page, prev_addr);
|
||||
}
|
||||
|
||||
void NACT_Sys1::cmd_f()
|
||||
@@ -877,21 +886,25 @@ void NACT_Sys1::cmd_g()
|
||||
void NACT_Sys1::cmd_h()
|
||||
{
|
||||
// 未使用
|
||||
fatal("Unknown Command: 'H' at page = %d, addr = %d", scenario_page, prev_addr);
|
||||
}
|
||||
|
||||
void NACT_Sys1::cmd_i()
|
||||
{
|
||||
// 未使用
|
||||
fatal("Unknown Command: 'I' at page = %d, addr = %d", scenario_page, prev_addr);
|
||||
}
|
||||
|
||||
void NACT_Sys1::cmd_j()
|
||||
{
|
||||
// 未使用
|
||||
fatal("Unknown Command: 'J' at page = %d, addr = %d", scenario_page, prev_addr);
|
||||
}
|
||||
|
||||
void NACT_Sys1::cmd_k()
|
||||
{
|
||||
// 未使用
|
||||
fatal("Unknown Command: 'K' at page = %d, addr = %d", scenario_page, prev_addr);
|
||||
}
|
||||
|
||||
void NACT_Sys1::cmd_l()
|
||||
@@ -999,16 +1012,19 @@ void NACT_Sys1::cmd_l()
|
||||
void NACT_Sys1::cmd_m()
|
||||
{
|
||||
// 未使用
|
||||
fatal("Unknown Command: 'M' at page = %d, addr = %d", scenario_page, prev_addr);
|
||||
}
|
||||
|
||||
void NACT_Sys1::cmd_n()
|
||||
{
|
||||
// 未使用
|
||||
fatal("Unknown Command: 'N' at page = %d, addr = %d", scenario_page, prev_addr);
|
||||
}
|
||||
|
||||
void NACT_Sys1::cmd_o()
|
||||
{
|
||||
// 未使用
|
||||
fatal("Unknown Command: 'O' at page = %d, addr = %d", scenario_page, prev_addr);
|
||||
}
|
||||
|
||||
void NACT_Sys1::cmd_p()
|
||||
@@ -1145,6 +1161,7 @@ void NACT_Sys1::cmd_s()
|
||||
void NACT_Sys1::cmd_t()
|
||||
{
|
||||
// 未使用
|
||||
fatal("Unknown Command: 'T' at page = %d, addr = %d", scenario_page, prev_addr);
|
||||
}
|
||||
|
||||
void NACT_Sys1::cmd_u()
|
||||
@@ -1168,11 +1185,13 @@ void NACT_Sys1::cmd_u()
|
||||
void NACT_Sys1::cmd_v()
|
||||
{
|
||||
// 未使用
|
||||
fatal("Unknown Command: 'V' at page = %d, addr = %d", scenario_page, prev_addr);
|
||||
}
|
||||
|
||||
void NACT_Sys1::cmd_w()
|
||||
{
|
||||
// 未使用
|
||||
fatal("Unknown Command: 'W' at page = %d, addr = %d", scenario_page, prev_addr);
|
||||
}
|
||||
|
||||
void NACT_Sys1::cmd_x()
|
||||
|
||||
@@ -80,7 +80,9 @@ void NACT_Sys2::cmd_branch()
|
||||
bool set_menu = false;
|
||||
|
||||
if(!condition) {
|
||||
// 次の'}'命令までスキップする(ネストも考慮する)
|
||||
for(;;) {
|
||||
prev_addr = scenario_addr;
|
||||
uint8 cmd = getd();
|
||||
|
||||
if(cmd == '!') {
|
||||
@@ -226,7 +228,11 @@ void NACT_Sys2::cmd_branch()
|
||||
// message (2 bytes)
|
||||
getd();
|
||||
} else {
|
||||
fatal("cmd_branch: invalid command %2x", cmd);
|
||||
if(cmd >= 0x20 && cmd < 0x7f) {
|
||||
fatal("Unknown Command: '%c' at page = %d, addr = %d", cmd, scenario_page, prev_addr);
|
||||
} else {
|
||||
fatal("Unknown Command: %02x at page = %d, addr = %d", cmd, scenario_page, prev_addr);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -489,6 +489,7 @@ void NACT_Sys3::cmd_b()
|
||||
void NACT_Sys3::cmd_d()
|
||||
{
|
||||
// 未使用
|
||||
fatal("Unknown Command: 'D' at page = %d, addr = %d", scenario_page, prev_addr);
|
||||
}
|
||||
|
||||
void NACT_Sys3::cmd_e()
|
||||
|
||||
Reference in New Issue
Block a user