mirror of
https://github.com/kichikuou/system3-sdl2.git
synced 2026-10-14 18:19:03 +03:00
GameId: Remove '_ENG' variants from Game enum
Use GameId::language field if necessary.
This commit is contained in:
+3
-7
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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
@@ -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.
|
||||
|
||||
@@ -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
@@ -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
@@ -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
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user