mirror of
https://github.com/kichikuou/system3-sdl2.git
synced 2026-09-30 02:48:10 +03:00
Avoid virtual functions in NACT
Since NACT functions call asynchronous operations and we use ASYNCIFY_IGNORE_INDIRECT in emscripten.
This commit is contained in:
+50
-39
@@ -144,7 +144,17 @@ void NACT::mainloop()
|
|||||||
int sleep_cnt = 0;
|
int sleep_cnt = 0;
|
||||||
|
|
||||||
while(!terminate) {
|
while(!terminate) {
|
||||||
execute();
|
switch (sys_ver) {
|
||||||
|
case 1:
|
||||||
|
execute(static_cast<NACT_Sys1*>(this));
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
execute(static_cast<NACT_Sys2*>(this));
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
execute(static_cast<NACT_Sys3*>(this));
|
||||||
|
break;
|
||||||
|
}
|
||||||
// 512コマンド実行毎にSleep(10)
|
// 512コマンド実行毎にSleep(10)
|
||||||
if(!(sleep_cnt = (sleep_cnt + 1) & 0x1ff)) {
|
if(!(sleep_cnt = (sleep_cnt + 1) & 0x1ff)) {
|
||||||
SDL_Delay(10);
|
SDL_Delay(10);
|
||||||
@@ -154,7 +164,8 @@ void NACT::mainloop()
|
|||||||
|
|
||||||
// コマンドパーサ
|
// コマンドパーサ
|
||||||
|
|
||||||
void NACT::execute()
|
template <class T>
|
||||||
|
void NACT::execute(T* impl)
|
||||||
{
|
{
|
||||||
// アドレスの確認
|
// アドレスの確認
|
||||||
if(scenario_addr < 2 || scenario_addr >= scenario_size) {
|
if(scenario_addr < 2 || scenario_addr >= scenario_size) {
|
||||||
@@ -171,7 +182,7 @@ void NACT::execute()
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(sys_ver == 1 && scenario_page == 0 && scenario_addr == 2) {
|
if(sys_ver == 1 && scenario_page == 0 && scenario_addr == 2) {
|
||||||
opening();
|
impl->opening();
|
||||||
}
|
}
|
||||||
|
|
||||||
// 1コマンド実行
|
// 1コマンド実行
|
||||||
@@ -185,117 +196,117 @@ void NACT::execute()
|
|||||||
if(verb_obj && cmd != '[' && cmd != ':') {
|
if(verb_obj && cmd != '[' && cmd != ':') {
|
||||||
// 動詞-目的語メニューの表示
|
// 動詞-目的語メニューの表示
|
||||||
scenario_addr--;
|
scenario_addr--;
|
||||||
cmd_open_verb();
|
impl->cmd_open_verb();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
switch(cmd) {
|
switch(cmd) {
|
||||||
case '!':
|
case '!':
|
||||||
cmd_calc();
|
impl->cmd_calc();
|
||||||
break;
|
break;
|
||||||
case '{':
|
case '{':
|
||||||
cmd_branch();
|
impl->cmd_branch();
|
||||||
break;
|
break;
|
||||||
case '}':
|
case '}':
|
||||||
break;
|
break;
|
||||||
case '@':
|
case '@':
|
||||||
cmd_label_jump();
|
impl->cmd_label_jump();
|
||||||
break;
|
break;
|
||||||
case '\\':
|
case '\\':
|
||||||
cmd_label_call();
|
impl->cmd_label_call();
|
||||||
break;
|
break;
|
||||||
case '&':
|
case '&':
|
||||||
cmd_page_jump();
|
impl->cmd_page_jump();
|
||||||
break;
|
break;
|
||||||
case '%':
|
case '%':
|
||||||
cmd_page_call();
|
impl->cmd_page_call();
|
||||||
break;
|
break;
|
||||||
case '$':
|
case '$':
|
||||||
cmd_set_menu();
|
impl->cmd_set_menu();
|
||||||
break;
|
break;
|
||||||
case '[':
|
case '[':
|
||||||
cmd_set_verbobj();
|
impl->cmd_set_verbobj();
|
||||||
break;
|
break;
|
||||||
case ':':
|
case ':':
|
||||||
cmd_set_verbobj2();
|
impl->cmd_set_verbobj2();
|
||||||
break;
|
break;
|
||||||
case ']':
|
case ']':
|
||||||
cmd_open_menu();
|
impl->cmd_open_menu();
|
||||||
break;
|
break;
|
||||||
case 'A':
|
case 'A':
|
||||||
cmd_a();
|
impl->cmd_a();
|
||||||
break;
|
break;
|
||||||
case 'B':
|
case 'B':
|
||||||
cmd_b();
|
impl->cmd_b();
|
||||||
break;
|
break;
|
||||||
case 'D':
|
case 'D':
|
||||||
cmd_d();
|
impl->cmd_d();
|
||||||
break;
|
break;
|
||||||
case 'E':
|
case 'E':
|
||||||
cmd_e();
|
impl->cmd_e();
|
||||||
break;
|
break;
|
||||||
case 'F':
|
case 'F':
|
||||||
cmd_f();
|
impl->cmd_f();
|
||||||
break;
|
break;
|
||||||
case 'G':
|
case 'G':
|
||||||
cmd_g();
|
impl->cmd_g();
|
||||||
break;
|
break;
|
||||||
case 'H':
|
case 'H':
|
||||||
cmd_h();
|
impl->cmd_h();
|
||||||
break;
|
break;
|
||||||
case 'I':
|
case 'I':
|
||||||
cmd_i();
|
impl->cmd_i();
|
||||||
break;
|
break;
|
||||||
case 'J':
|
case 'J':
|
||||||
cmd_j();
|
impl->cmd_j();
|
||||||
break;
|
break;
|
||||||
case 'K':
|
case 'K':
|
||||||
cmd_k();
|
impl->cmd_k();
|
||||||
break;
|
break;
|
||||||
case 'L':
|
case 'L':
|
||||||
cmd_l();
|
impl->cmd_l();
|
||||||
break;
|
break;
|
||||||
case 'M':
|
case 'M':
|
||||||
cmd_m();
|
impl->cmd_m();
|
||||||
break;
|
break;
|
||||||
case 'N':
|
case 'N':
|
||||||
cmd_n();
|
impl->cmd_n();
|
||||||
break;
|
break;
|
||||||
case 'O':
|
case 'O':
|
||||||
cmd_o();
|
impl->cmd_o();
|
||||||
break;
|
break;
|
||||||
case 'P':
|
case 'P':
|
||||||
cmd_p();
|
impl->cmd_p();
|
||||||
break;
|
break;
|
||||||
case 'Q':
|
case 'Q':
|
||||||
cmd_q();
|
impl->cmd_q();
|
||||||
break;
|
break;
|
||||||
case 'R':
|
case 'R':
|
||||||
cmd_r();
|
impl->cmd_r();
|
||||||
break;
|
break;
|
||||||
case 'S':
|
case 'S':
|
||||||
cmd_s();
|
impl->cmd_s();
|
||||||
break;
|
break;
|
||||||
case 'T':
|
case 'T':
|
||||||
cmd_t();
|
impl->cmd_t();
|
||||||
break;
|
break;
|
||||||
case 'U':
|
case 'U':
|
||||||
cmd_u();
|
impl->cmd_u();
|
||||||
break;
|
break;
|
||||||
case 'V':
|
case 'V':
|
||||||
cmd_v();
|
impl->cmd_v();
|
||||||
break;
|
break;
|
||||||
case 'W':
|
case 'W':
|
||||||
cmd_w();
|
impl->cmd_w();
|
||||||
break;
|
break;
|
||||||
case 'X':
|
case 'X':
|
||||||
cmd_x();
|
impl->cmd_x();
|
||||||
break;
|
break;
|
||||||
case 'Y':
|
case 'Y':
|
||||||
cmd_y();
|
impl->cmd_y();
|
||||||
break;
|
break;
|
||||||
case 'Z':
|
case 'Z':
|
||||||
cmd_z();
|
impl->cmd_z();
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
if(cmd == 0x20 || (0xa1 <= cmd && cmd <= 0xdd)) {
|
if(cmd == 0x20 || (0xa1 <= cmd && cmd <= 0xdd)) {
|
||||||
|
|||||||
+130
-174
@@ -85,14 +85,14 @@ class NACT
|
|||||||
public:
|
public:
|
||||||
static NACT* create(const char* game_id, const char* font_file, const char* playlist);
|
static NACT* create(const char* game_id, const char* font_file, const char* playlist);
|
||||||
NACT(int sys_ver, uint32 crc32, const char* font_file, const char* playlist);
|
NACT(int sys_ver, uint32 crc32, const char* font_file, const char* playlist);
|
||||||
virtual ~NACT();
|
~NACT();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
AGS* ags;
|
AGS* ags;
|
||||||
MAKO* mako;
|
MAKO* mako;
|
||||||
|
|
||||||
// コマンドパーサ
|
// コマンドパーサ
|
||||||
void execute();
|
template <class T> void execute(T* impl);
|
||||||
void load_scenario(int page);
|
void load_scenario(int page);
|
||||||
|
|
||||||
bool fatal_error = false;
|
bool fatal_error = false;
|
||||||
@@ -121,51 +121,7 @@ protected:
|
|||||||
char tvar_stack[30][10][22];
|
char tvar_stack[30][10][22];
|
||||||
// int tvar_index;
|
// int tvar_index;
|
||||||
|
|
||||||
// コマンド
|
|
||||||
virtual void cmd_calc() = 0;
|
|
||||||
|
|
||||||
virtual void cmd_branch() = 0;
|
|
||||||
virtual void cmd_label_jump() = 0;
|
|
||||||
virtual void cmd_label_call() = 0;
|
|
||||||
virtual void cmd_page_jump() = 0;
|
|
||||||
virtual void cmd_page_call() = 0;
|
|
||||||
|
|
||||||
virtual void cmd_set_menu() = 0;
|
|
||||||
virtual void cmd_open_menu() = 0;
|
|
||||||
|
|
||||||
virtual void cmd_set_verbobj() = 0;
|
|
||||||
virtual void cmd_set_verbobj2() = 0;
|
|
||||||
virtual void cmd_open_verb() = 0;
|
|
||||||
virtual void cmd_open_obj(int verb) = 0;
|
|
||||||
|
|
||||||
virtual void cmd_a() = 0;
|
|
||||||
virtual void cmd_b() = 0;
|
|
||||||
virtual void cmd_d() = 0;
|
|
||||||
virtual void cmd_e() = 0;
|
|
||||||
virtual void cmd_f() = 0;
|
|
||||||
virtual void cmd_g() = 0;
|
|
||||||
virtual void cmd_h() = 0;
|
|
||||||
virtual void cmd_i() = 0;
|
|
||||||
virtual void cmd_j() = 0;
|
|
||||||
virtual void cmd_k() = 0;
|
|
||||||
virtual void cmd_l() = 0;
|
|
||||||
virtual void cmd_m() = 0;
|
|
||||||
virtual void cmd_n() = 0;
|
|
||||||
virtual void cmd_o() = 0;
|
|
||||||
virtual void cmd_p() = 0;
|
|
||||||
virtual void cmd_q() = 0;
|
|
||||||
virtual void cmd_r() = 0;
|
|
||||||
virtual void cmd_s() = 0;
|
|
||||||
virtual void cmd_t() = 0;
|
|
||||||
virtual void cmd_u() = 0;
|
|
||||||
virtual void cmd_v() = 0;
|
|
||||||
virtual void cmd_w() = 0;
|
|
||||||
virtual void cmd_x() = 0;
|
|
||||||
virtual void cmd_y() = 0;
|
|
||||||
virtual void cmd_z() = 0;
|
|
||||||
|
|
||||||
// SYSTEM1 ----
|
// SYSTEM1 ----
|
||||||
virtual void opening() {}
|
|
||||||
int menu_max; // メニューの改ページ
|
int menu_max; // メニューの改ページ
|
||||||
|
|
||||||
// DPS
|
// DPS
|
||||||
@@ -202,10 +158,12 @@ protected:
|
|||||||
int pcm[MAX_PCM];
|
int pcm[MAX_PCM];
|
||||||
|
|
||||||
// 下位関数
|
// 下位関数
|
||||||
virtual uint16 cali() = 0;
|
uint8 getd() { return scenario_data[scenario_addr++]; }
|
||||||
virtual uint16 cali2() = 0;
|
uint16 getw() {
|
||||||
virtual uint8 getd() = 0;
|
uint16 val = scenario_data[scenario_addr] | (scenario_data[scenario_addr + 1] << 8);
|
||||||
virtual uint16 getw() = 0;
|
scenario_addr += 2;
|
||||||
|
return val;
|
||||||
|
}
|
||||||
|
|
||||||
uint16 random(uint16 range);
|
uint16 random(uint16 range);
|
||||||
uint32 seed;
|
uint32 seed;
|
||||||
@@ -264,141 +222,139 @@ public:
|
|||||||
class NACT_Sys1 : public NACT {
|
class NACT_Sys1 : public NACT {
|
||||||
public:
|
public:
|
||||||
NACT_Sys1(uint32 crc32, const char* font_file, const char* playlist);
|
NACT_Sys1(uint32 crc32, const char* font_file, const char* playlist);
|
||||||
void cmd_calc() override;
|
void cmd_calc();
|
||||||
void cmd_branch() override;
|
void cmd_branch();
|
||||||
void cmd_label_jump() override;
|
void cmd_label_jump();
|
||||||
void cmd_label_call() override;
|
void cmd_label_call();
|
||||||
void cmd_page_jump() override;
|
void cmd_page_jump();
|
||||||
void cmd_page_call() override;
|
void cmd_page_call();
|
||||||
void cmd_set_menu() override;
|
void cmd_set_menu();
|
||||||
void cmd_open_menu() override;
|
void cmd_open_menu();
|
||||||
void cmd_set_verbobj() override;
|
void cmd_set_verbobj();
|
||||||
void cmd_set_verbobj2() override;
|
void cmd_set_verbobj2();
|
||||||
void cmd_open_verb() override;
|
void cmd_open_verb();
|
||||||
void cmd_open_obj(int verb) override;
|
void cmd_open_obj(int verb);
|
||||||
void cmd_a() override;
|
void cmd_a();
|
||||||
void cmd_b() override;
|
void cmd_b();
|
||||||
void cmd_d() override;
|
void cmd_d();
|
||||||
void cmd_e() override;
|
void cmd_e();
|
||||||
void cmd_f() override;
|
void cmd_f();
|
||||||
void cmd_g() override;
|
void cmd_g();
|
||||||
void cmd_h() override;
|
void cmd_h();
|
||||||
void cmd_i() override;
|
void cmd_i();
|
||||||
void cmd_j() override;
|
void cmd_j();
|
||||||
void cmd_k() override;
|
void cmd_k();
|
||||||
void cmd_l() override;
|
void cmd_l();
|
||||||
void cmd_m() override;
|
void cmd_m();
|
||||||
void cmd_n() override;
|
void cmd_n();
|
||||||
void cmd_o() override;
|
void cmd_o();
|
||||||
void cmd_p() override;
|
void cmd_p();
|
||||||
void cmd_q() override;
|
void cmd_q();
|
||||||
void cmd_r() override;
|
void cmd_r();
|
||||||
void cmd_s() override;
|
void cmd_s();
|
||||||
void cmd_t() override;
|
void cmd_t();
|
||||||
void cmd_u() override;
|
void cmd_u();
|
||||||
void cmd_v() override;
|
void cmd_v();
|
||||||
void cmd_w() override;
|
void cmd_w();
|
||||||
void cmd_x() override;
|
void cmd_x();
|
||||||
void cmd_y() override;
|
void cmd_y();
|
||||||
void cmd_z() override;
|
void cmd_z();
|
||||||
void opening() override;
|
void opening();
|
||||||
uint16 cali() override;
|
private:
|
||||||
uint16 cali2() override;
|
uint16 cali();
|
||||||
uint8 getd() override;
|
uint16 cali2();
|
||||||
uint16 getw() override;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
class NACT_Sys2 : public NACT {
|
class NACT_Sys2 : public NACT {
|
||||||
public:
|
public:
|
||||||
NACT_Sys2(uint32 crc32, const char* font_file, const char* playlist);
|
NACT_Sys2(uint32 crc32, const char* font_file, const char* playlist);
|
||||||
void cmd_calc() override;
|
void cmd_calc();
|
||||||
void cmd_branch() override;
|
void cmd_branch();
|
||||||
void cmd_label_jump() override;
|
void cmd_label_jump();
|
||||||
void cmd_label_call() override;
|
void cmd_label_call();
|
||||||
void cmd_page_jump() override;
|
void cmd_page_jump();
|
||||||
void cmd_page_call() override;
|
void cmd_page_call();
|
||||||
void cmd_set_menu() override;
|
void cmd_set_menu();
|
||||||
void cmd_open_menu() override;
|
void cmd_open_menu();
|
||||||
void cmd_set_verbobj() override;
|
void cmd_set_verbobj();
|
||||||
void cmd_set_verbobj2() override;
|
void cmd_set_verbobj2();
|
||||||
void cmd_open_verb() override;
|
void cmd_open_verb();
|
||||||
void cmd_open_obj(int verb) override;
|
void cmd_open_obj(int verb);
|
||||||
void cmd_a() override;
|
void cmd_a();
|
||||||
void cmd_b() override;
|
void cmd_b();
|
||||||
void cmd_d() override;
|
void cmd_d();
|
||||||
void cmd_e() override;
|
void cmd_e();
|
||||||
void cmd_f() override;
|
void cmd_f();
|
||||||
void cmd_g() override;
|
void cmd_g();
|
||||||
void cmd_h() override;
|
void cmd_h();
|
||||||
void cmd_i() override;
|
void cmd_i();
|
||||||
void cmd_j() override;
|
void cmd_j();
|
||||||
void cmd_k() override;
|
void cmd_k();
|
||||||
void cmd_l() override;
|
void cmd_l();
|
||||||
void cmd_m() override;
|
void cmd_m();
|
||||||
void cmd_n() override;
|
void cmd_n();
|
||||||
void cmd_o() override;
|
void cmd_o();
|
||||||
void cmd_p() override;
|
void cmd_p();
|
||||||
void cmd_q() override;
|
void cmd_q();
|
||||||
void cmd_r() override;
|
void cmd_r();
|
||||||
void cmd_s() override;
|
void cmd_s();
|
||||||
void cmd_t() override;
|
void cmd_t();
|
||||||
void cmd_u() override;
|
void cmd_u();
|
||||||
void cmd_v() override;
|
void cmd_v();
|
||||||
void cmd_w() override;
|
void cmd_w();
|
||||||
void cmd_x() override;
|
void cmd_x();
|
||||||
void cmd_y() override;
|
void cmd_y();
|
||||||
void cmd_z() override;
|
void cmd_z();
|
||||||
uint16 cali() override;
|
void opening() {}
|
||||||
uint16 cali2() override;
|
private:
|
||||||
uint8 getd() override;
|
uint16 cali();
|
||||||
uint16 getw() override;
|
uint16 cali2();
|
||||||
};
|
};
|
||||||
|
|
||||||
class NACT_Sys3 : public NACT {
|
class NACT_Sys3 : public NACT {
|
||||||
public:
|
public:
|
||||||
NACT_Sys3(uint32 crc32, const char* font_file, const char* playlist);
|
NACT_Sys3(uint32 crc32, const char* font_file, const char* playlist);
|
||||||
void cmd_calc() override;
|
void cmd_calc();
|
||||||
void cmd_branch() override;
|
void cmd_branch();
|
||||||
void cmd_label_jump() override;
|
void cmd_label_jump();
|
||||||
void cmd_label_call() override;
|
void cmd_label_call();
|
||||||
void cmd_page_jump() override;
|
void cmd_page_jump();
|
||||||
void cmd_page_call() override;
|
void cmd_page_call();
|
||||||
void cmd_set_menu() override;
|
void cmd_set_menu();
|
||||||
void cmd_open_menu() override;
|
void cmd_open_menu();
|
||||||
void cmd_set_verbobj() override;
|
void cmd_set_verbobj();
|
||||||
void cmd_set_verbobj2() override;
|
void cmd_set_verbobj2();
|
||||||
void cmd_open_verb() override;
|
void cmd_open_verb();
|
||||||
void cmd_open_obj(int verb) override;
|
void cmd_open_obj(int verb);
|
||||||
void cmd_a() override;
|
void cmd_a();
|
||||||
void cmd_b() override;
|
void cmd_b();
|
||||||
void cmd_d() override;
|
void cmd_d();
|
||||||
void cmd_e() override;
|
void cmd_e();
|
||||||
void cmd_f() override;
|
void cmd_f();
|
||||||
void cmd_g() override;
|
void cmd_g();
|
||||||
void cmd_h() override;
|
void cmd_h();
|
||||||
void cmd_i() override;
|
void cmd_i();
|
||||||
void cmd_j() override;
|
void cmd_j();
|
||||||
void cmd_k() override;
|
void cmd_k();
|
||||||
void cmd_l() override;
|
void cmd_l();
|
||||||
void cmd_m() override;
|
void cmd_m();
|
||||||
void cmd_n() override;
|
void cmd_n();
|
||||||
void cmd_o() override;
|
void cmd_o();
|
||||||
void cmd_p() override;
|
void cmd_p();
|
||||||
void cmd_q() override;
|
void cmd_q();
|
||||||
void cmd_r() override;
|
void cmd_r();
|
||||||
void cmd_s() override;
|
void cmd_s();
|
||||||
void cmd_t() override;
|
void cmd_t();
|
||||||
void cmd_u() override;
|
void cmd_u();
|
||||||
void cmd_v() override;
|
void cmd_v();
|
||||||
void cmd_w() override;
|
void cmd_w();
|
||||||
void cmd_x() override;
|
void cmd_x();
|
||||||
void cmd_y() override;
|
void cmd_y();
|
||||||
void cmd_z() override;
|
void cmd_z();
|
||||||
uint16 cali() override;
|
void opening() {}
|
||||||
uint16 cali2() override;
|
|
||||||
uint8 getd() override;
|
|
||||||
uint16 getw() override;
|
|
||||||
private:
|
private:
|
||||||
|
uint16 cali();
|
||||||
|
uint16 cali2();
|
||||||
int menu_select(int num_items);
|
int menu_select(int num_items);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -1579,16 +1579,3 @@ uint16 NACT_Sys1::cali2()
|
|||||||
}
|
}
|
||||||
return val;
|
return val;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint8 NACT_Sys1::getd()
|
|
||||||
{
|
|
||||||
return scenario_data[scenario_addr++];
|
|
||||||
}
|
|
||||||
|
|
||||||
uint16 NACT_Sys1::getw()
|
|
||||||
{
|
|
||||||
uint16 val = scenario_data[scenario_addr] | (scenario_data[scenario_addr + 1] << 8);
|
|
||||||
scenario_addr += 2;
|
|
||||||
return val;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|||||||
@@ -1661,16 +1661,3 @@ uint16 NACT_Sys2::cali2()
|
|||||||
}
|
}
|
||||||
return val;
|
return val;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint8 NACT_Sys2::getd()
|
|
||||||
{
|
|
||||||
return scenario_data[scenario_addr++];
|
|
||||||
}
|
|
||||||
|
|
||||||
uint16 NACT_Sys2::getw()
|
|
||||||
{
|
|
||||||
uint16 val = scenario_data[scenario_addr] | (scenario_data[scenario_addr + 1] << 8);
|
|
||||||
scenario_addr += 2;
|
|
||||||
return val;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|||||||
@@ -1775,16 +1775,3 @@ uint16 NACT_Sys3::cali2()
|
|||||||
}
|
}
|
||||||
return val;
|
return val;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint8 NACT_Sys3::getd()
|
|
||||||
{
|
|
||||||
return scenario_data[scenario_addr++];
|
|
||||||
}
|
|
||||||
|
|
||||||
uint16 NACT_Sys3::getw()
|
|
||||||
{
|
|
||||||
uint16 val = scenario_data[scenario_addr] | (scenario_data[scenario_addr + 1] << 8);
|
|
||||||
scenario_addr += 2;
|
|
||||||
return val;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user