GameId: Remove '_ENG' variants from Game enum

Use GameId::language field if necessary.
This commit is contained in:
kichikuou
2025-01-03 08:52:30 +09:00
parent 7f7ff91439
commit a274aaee57
9 changed files with 14 additions and 33 deletions
+3 -7
View File
@@ -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;
}
-2
View File
@@ -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:
+2 -2
View File
@@ -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.
-3
View File
@@ -96,7 +96,6 @@ std::vector<uint8> 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<uint8> 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)
+4 -4
View File
@@ -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},
+1 -6
View File
@@ -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;
}
};
+1 -1
View File
@@ -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);
+3 -6
View File
@@ -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);
-2
View File
@@ -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: