diff --git a/src/sys/ags.cpp b/src/sys/ags.cpp index 3e64ee9..3876e9f 100644 --- a/src/sys/ags.cpp +++ b/src/sys/ags.cpp @@ -62,7 +62,7 @@ SDL_Texture* create_scanline_texture(SDL_Renderer* renderer, int width, int heig AGS::AGS(const Config& config, const GameId& game_id) : game_id(game_id), dirty(false) { // 画面サイズ - if (game_id.is_gakuen()) { + if (game_id.is(GameId::GAKUEN)) { window_width = 582; screen_width = 512; window_height = screen_height = 424; @@ -259,10 +259,7 @@ AGS::AGS(const Config& config, const GameId& game_id) : game_id(game_id), dirty( break; case GameId::LITTLE_VAMPIRE: SET_TEXT(i, 8, 255, 615, 383, false); - SET_MENU(i, 448, 11, 615, 224, false); - case GameId::LITTLE_VAMPIRE_ENG: - SET_TEXT(i, 8, 255, 615, 383, false); - SET_MENU(i, 448, 11, 615, 234, false); + SET_MENU(i, 448, 11, 615, game_id.language == ENGLISH ? 234 : 224, false); break; case GameId::YAKATA: SET_TEXT(i, 48, 288, 594, 393, false); @@ -281,7 +278,6 @@ AGS::AGS(const Config& config, const GameId& game_id) : game_id(game_id), dirty( SET_MENU(i, 420, 28, 620, 244, true); break; case GameId::GAKUEN: - case GameId::GAKUEN_ENG: SET_TEXT(i, 8, 260, 505, 384, false); if (i == 1) { SET_MENU(i, 128, 32, 337, 178, true); @@ -613,7 +609,7 @@ void AGS::save_screenshot(const char* path) int AGS::calculate_menu_max(int window) { if (game_id.is(GameId::INTRUDER)) return 6; - if (game_id.is_gakuen()) + if (game_id.is(GameId::GAKUEN)) return (menu_w[window - 1].ey - menu_w[window - 1].sy) / (menu_font_size + 4); return 11; } diff --git a/src/sys/ags_draw.cpp b/src/sys/ags_draw.cpp index 5117621..2002357 100644 --- a/src/sys/ags_draw.cpp +++ b/src/sys/ags_draw.cpp @@ -30,7 +30,6 @@ void AGS::load_cg(int page, int transparent) switch (game_id.game) { case GameId::BUNKASAI: case GameId::GAKUEN: - case GameId::GAKUEN_ENG: load_vsp(data.data(), page, transparent); break; case GameId::INTRUDER: @@ -38,7 +37,6 @@ void AGS::load_cg(int page, int transparent) load_vsp(data.data(), page, transparent); // 暫定 break; case GameId::LITTLE_VAMPIRE: - case GameId::LITTLE_VAMPIRE_ENG: load_vsp2l(data.data(), page, transparent); break; default: diff --git a/src/sys/ags_vsp.cpp b/src/sys/ags_vsp.cpp index 9796a35..32e99a8 100644 --- a/src/sys/ags_vsp.cpp +++ b/src/sys/ags_vsp.cpp @@ -143,7 +143,7 @@ void AGS::load_vsp(uint8* data, int page, int transparent) uint32* dest; // Gakuen Senki uses exact sx values rather than 8x. - if (game_id.is_gakuen()) + if (game_id.is(GameId::GAKUEN)) dest = &vram[dest_screen][y + sy][(x * 8) + sx]; else dest = &vram[dest_screen][y + sy][(x + sx) * 8]; @@ -165,7 +165,7 @@ void AGS::load_vsp(uint8* data, int page, int transparent) // 画面更新 if(dest_screen == 0 && extract_cg) { - if (game_id.is_gakuen()) { + if (game_id.is(GameId::GAKUEN)) { // Gakuen Senki's images were converted to VSP for the modern port, but don't always adhere to VSP's width restrictions, which demand // every image width be a factor of 8. Thankfully, the exceptions are designed to fit into specific parts of the GUI, and so have // consistent widths for each output position. diff --git a/src/sys/dri.cpp b/src/sys/dri.cpp index 6791489..f57b2a7 100644 --- a/src/sys/dri.cpp +++ b/src/sys/dri.cpp @@ -96,7 +96,6 @@ std::vector Dri::load_mda(const GameId& game_id, int page) name = "AMUS_T1"; break; case GameId::LITTLE_VAMPIRE: // Little Vampire - case GameId::LITTLE_VAMPIRE_ENG: name = "AMUS_LP2"; break; case GameId::YAKATA: // ALICEの館 @@ -148,11 +147,9 @@ std::vector Dri::load_mda(const GameId& game_id, int page) name = "AMUS_PSG.MDA"; break; case GameId::RANCE41: // Rance 4.1 - case GameId::RANCE41_ENG: name = "AMUS_R41.MDA"; break; case GameId::RANCE42: // Rance 4.2 - case GameId::RANCE42_ENG: name = "AMUS_R42.MDA"; break; case GameId::AYUMI_CD: // あゆみちゃん物語 (CD) diff --git a/src/sys/game_id.cpp b/src/sys/game_id.cpp index 0633b54..637c736 100644 --- a/src/sys/game_id.cpp +++ b/src/sys/game_id.cpp @@ -101,10 +101,10 @@ const struct CRCTable { {GameId::TENGU, "tengu", 1, "あぶないてんぐ伝説", JAPANESE, CRC32_TENGU}, {GameId::TOUSHIN_HINT, "toushin_hint", 1, "闘神都市 ヒントディスク", JAPANESE, CRC32_TOUSHIN_HINT}, {GameId::LITTLE_VAMPIRE, "little_vampire", 1, "Little Vampire", JAPANESE, CRC32_VAMPIRE}, - {GameId::LITTLE_VAMPIRE_ENG, "little_vampire_eng", 1, "Little Vampire", ENGLISH, CRC32_VAMPIRE_ENG}, + {GameId::LITTLE_VAMPIRE, "little_vampire_eng", 1, "Little Vampire", ENGLISH, CRC32_VAMPIRE_ENG}, {GameId::YAKATA, "yakata", 1, "ALICEの館", JAPANESE, CRC32_YAKATA}, {GameId::GAKUEN, "gakuen", 1, "学園戦記", JAPANESE, CRC32_GAKUEN}, - {GameId::GAKUEN_ENG, "gakuen_eng", 1, "Gakuen Senki", ENGLISH, CRC32_GAKUEN_ENG}, + {GameId::GAKUEN, "gakuen_eng", 1, "Gakuen Senki", ENGLISH, CRC32_GAKUEN_ENG}, {GameId::AYUMI_FD, "ayumi_fd", 2, "あゆみちゃん物語", JAPANESE, CRC32_AYUMI_FD}, {GameId::AYUMI_HINT, "ayumi_hint", 2, "あゆみちゃん物語 ヒントディスク", JAPANESE, CRC32_AYUMI_HINT}, @@ -128,9 +128,9 @@ const struct CRCTable { {GameId::PROG_CD, "prog_cd", 3, "Prostudent G", JAPANESE, CRC32_PROSTUDENTG_CD}, {GameId::PROG_OMAKE, "prog_omake", 3, "Prostudent G おまけ", JAPANESE, CRC32_PROG_OMAKE}, {GameId::RANCE41, "rance41", 3, "ランス 4.1 〜お薬工場を救え!〜", JAPANESE, CRC32_RANCE41}, - {GameId::RANCE41_ENG, "rance41_eng", 3, "Rance 4.1 ~Save the Medicine Plant!~", ENGLISH, CRC32_RANCE41_ENG}, + {GameId::RANCE41, "rance41_eng", 3, "Rance 4.1 ~Save the Medicine Plant!~", ENGLISH, CRC32_RANCE41_ENG}, {GameId::RANCE42, "rance42", 3, "ランス 4.2 〜エンジェル組〜", JAPANESE, CRC32_RANCE42}, - {GameId::RANCE42_ENG, "rance42_eng", 3, "Rance 4.2 ~Angel Army~", ENGLISH, CRC32_RANCE42_ENG}, + {GameId::RANCE42, "rance42_eng", 3, "Rance 4.2 ~Angel Army~", ENGLISH, CRC32_RANCE42_ENG}, {GameId::AYUMI_CD, "ayumi_cd", 3, "あゆみちゃん物語", JAPANESE, CRC32_AYUMI_CD}, {GameId::AYUMI_LIVE_256, "ayumi_live_256", 3, "あゆみちゃん物語 実写版", JAPANESE, CRC32_AYUMI_JISSHA_256}, {GameId::AYUMI_LIVE_FULL, "ayumi_live_full", 3, "あゆみちゃん物語 フルカラー実写版", JAPANESE, CRC32_AYUMI_JISSHA_FULL}, diff --git a/src/sys/game_id.h b/src/sys/game_id.h index fbbefe3..fcb5d44 100644 --- a/src/sys/game_id.h +++ b/src/sys/game_id.h @@ -32,10 +32,8 @@ struct GameId { TENGU, TOUSHIN_HINT, LITTLE_VAMPIRE, - LITTLE_VAMPIRE_ENG, YAKATA, GAKUEN, - GAKUEN_ENG, // System 2 AYUMI_FD, @@ -61,9 +59,7 @@ struct GameId { PROG_CD, PROG_OMAKE, RANCE41, - RANCE41_ENG, RANCE42, - RANCE42_ENG, AYUMI_CD, AYUMI_LIVE_256, AYUMI_LIVE_FULL, @@ -86,7 +82,6 @@ struct GameId { explicit GameId(const Config& config); bool is(Game g) const { return game == g; } bool is_valid() const { return game != UNKNOWN; } - bool is_gakuen() const { return game == GAKUEN || game == GAKUEN_ENG; } bool is_system1_dps() const { return DPS <= game && game <= DPS_SG3_SOTSUGYOU; } @@ -94,7 +89,7 @@ struct GameId { return game == SDPS_MARIA || game == SDPS_TONO || game == SDPS_KAIZOKU; } bool is_rance4x() const { - return game == RANCE41 || game == RANCE41_ENG || game == RANCE42 || game == RANCE42_ENG; + return game == RANCE41 || game == RANCE42; } }; diff --git a/src/sys/nact.cpp b/src/sys/nact.cpp index 3cb4565..a959120 100644 --- a/src/sys/nact.cpp +++ b/src/sys/nact.cpp @@ -336,7 +336,7 @@ void NACT::cmd_set_menu() ags->menu_dest_y += 2; ags->draw_menu = true; - if (game_id.is_gakuen()) + if (game_id.is(GameId::GAKUEN)) menu_window = 2; TRACE("$%x,", menu_items.back().addr); diff --git a/src/sys/nact_sys1.cpp b/src/sys/nact_sys1.cpp index 0ca07c2..474a6c5 100644 --- a/src/sys/nact_sys1.cpp +++ b/src/sys/nact_sys1.cpp @@ -96,7 +96,6 @@ void NACT_Sys1::opening() ags->load_cg(74, -1); break; case GameId::LITTLE_VAMPIRE: - case GameId::LITTLE_VAMPIRE_ENG: mako->play_music(4); ags->load_cg(3, -1); WAIT(2000); @@ -105,7 +104,6 @@ void NACT_Sys1::opening() ags->draw_box(0); break; case GameId::GAKUEN: - case GameId::GAKUEN_ENG: mako->set_cd_track(1, 1); ags->load_cg(302, -1); WAIT(3000); @@ -220,7 +218,7 @@ void NACT_Sys1::cmd_open_verb() bool chk[MAX_VERB] = {}; int page = 0; - if (game_id.is_gakuen()) + if (game_id.is(GameId::GAKUEN)) menu_window = 1; int menu_max = ags->calculate_menu_max(menu_window); @@ -418,7 +416,7 @@ void NACT_Sys1::cmd_g() if (game_id.is(GameId::INTRUDER)) { page = (page == 97) ? 96 : (page == 98) ? 97 : page; - } else if (game_id.is_gakuen()) { + } else if (game_id.is(GameId::GAKUEN)) { page = (page == 3) ? 94 : page; } @@ -610,7 +608,7 @@ void NACT_Sys1::cmd_y() WARNING("Unimplemented command: Y %d, %d", cmd, param); break; } - } else if (game_id.is_gakuen()) { + } else if (game_id.is(GameId::GAKUEN)) { switch (cmd) { case 1: RND = (param == 0 || param == 1) ? 0 : random(param); @@ -836,7 +834,6 @@ void NACT_Sys1::cmd_z() break; case GameId::GAKUEN: - case GameId::GAKUEN_ENG: if (param != 30 && (param < 34 || param > 46)) { if (enable_graphics) { ags->load_cg(param + 250, -1); diff --git a/src/win/mako.cpp b/src/win/mako.cpp index 789cced..6d4633f 100644 --- a/src/win/mako.cpp +++ b/src/win/mako.cpp @@ -362,11 +362,9 @@ void MAKO::select_sound(BGMDevice dev) switch (game_id.game) { case GameId::RANCE41: - case GameId::RANCE41_ENG: tracks = RANCE41_tracks; break; case GameId::RANCE42: - case GameId::RANCE42_ENG: tracks = RANCE42_tracks; break; case GameId::DPS_ALL: