From 073da3464b9150ada26fa6515246a1c258e2d657 Mon Sep 17 00:00:00 2001 From: kichikuou Date: Fri, 6 Jun 2025 07:32:34 +0900 Subject: [PATCH] AGS: Refactor CG loading functions to take std::vector& --- src/sys/ags.h | 10 +++++----- src/sys/ags_draw.cpp | 24 ++++++++++++------------ src/sys/ags_gl3.cpp | 2 +- src/sys/ags_gm3.cpp | 2 +- src/sys/ags_pms.cpp | 2 +- src/sys/ags_vsp.cpp | 2 +- src/sys/ags_vsp2l.cpp | 2 +- 7 files changed, 22 insertions(+), 22 deletions(-) diff --git a/src/sys/ags.h b/src/sys/ags.h index 66be2c7..5baced4 100644 --- a/src/sys/ags.h +++ b/src/sys/ags.h @@ -52,12 +52,12 @@ private: SDL_Cursor* hCursor[10]; // AGS - void load_gm3(uint8* data, int transparent); // Intruder -桜屋敷の探索- - void load_vsp2l(uint8* data, int transparent); // Little Vampire - void load_gl3(uint8* data, bool set_palette, int transparent); - void load_pms(uint8* data, bool set_palette, int transparent); + void load_gm3(const std::vector& data, int transparent); // Intruder -桜屋敷の探索- + void load_vsp2l(const std::vector& data, int transparent); // Little Vampire + void load_gl3(const std::vector& data, bool set_palette, int transparent); + void load_pms(const std::vector& data, bool set_palette, int transparent); void load_bmp(const char* file_name); // あゆみちゃん物語 フルカラー実写版 - void load_vsp(uint8* data, bool set_palette, int transparent); + void load_vsp(const std::vector& data, bool set_palette, int transparent); void draw_char(int dest, int dest_x, int dest_y, uint16 code, TTF_Font* font, uint8 color); void draw_char_antialias(int dest, int dest_x, int dest_y, uint16 code, TTF_Font* font, uint8 color, uint8 cache[]); diff --git a/src/sys/ags_draw.cpp b/src/sys/ags_draw.cpp index 9e548d7..cf004b2 100644 --- a/src/sys/ags_draw.cpp +++ b/src/sys/ags_draw.cpp @@ -33,35 +33,35 @@ void AGS::load_cg(int page, int transparent) switch (game_id.game) { case GameId::BUNKASAI: case GameId::GAKUEN: - load_vsp(data.data(), set_palette, transparent); + load_vsp(data, set_palette, transparent); break; case GameId::INTRUDER: - // load_gm3(data.data(), transparent); - load_vsp(data.data(), set_palette, transparent); // 暫定 + // load_gm3(data, transparent); + load_vsp(data, set_palette, transparent); // 暫定 break; case GameId::LITTLE_VAMPIRE: - load_vsp2l(data.data(), transparent); + load_vsp2l(data, transparent); break; default: - load_gl3(data.data(), set_palette, transparent); + load_gl3(data, set_palette, transparent); break; } break; case 2: if (game_id.is(GameId::AYUMI_PROTO)) { // あゆみちゃん物語 PROTO - load_gl3(data.data(), set_palette, transparent); + load_gl3(data, set_palette, transparent); } else if (game_id.is(GameId::AYUMI_FD) || game_id.is(GameId::AYUMI_HINT)) { // あゆみちゃん物語 - load_vsp(data.data(), set_palette, transparent); + load_vsp(data, set_palette, transparent); } else if (game_id.is_sdps()) { // Super D.P.S - load_pms(data.data(), set_palette, transparent); + load_pms(data, set_palette, transparent); } else { if(data[0x8] == 0) { - load_vsp(data.data(), set_palette, transparent); + load_vsp(data, set_palette, transparent); } else { - load_pms(data.data(), set_palette, transparent); + load_pms(data, set_palette, transparent); } } break; @@ -69,10 +69,10 @@ void AGS::load_cg(int page, int transparent) if(data[0x8] == 0) { if (game_id.is(GameId::FUNNYBEE_FD) || game_id.is(GameId::FUNNYBEE_CD)) set_palette = !ignore_palette.count(page); - load_vsp(data.data(), set_palette, transparent); + load_vsp(data, set_palette, transparent); } else { set_palette = set_palette || game_id.is(GameId::FUNNYBEE_CD); - load_pms(data.data(), set_palette, transparent); + load_pms(data, set_palette, transparent); } break; } diff --git a/src/sys/ags_gl3.cpp b/src/sys/ags_gl3.cpp index fb497db..30ca342 100644 --- a/src/sys/ags_gl3.cpp +++ b/src/sys/ags_gl3.cpp @@ -7,7 +7,7 @@ #include "ags.h" #include -void AGS::load_gl3(uint8* data, bool set_palette, int transparent) +void AGS::load_gl3(const std::vector& data, bool set_palette, int transparent) { // ヘッダ取得 uint16 tmp = (data[0x30] | (data[0x31] << 8)) - 0x8000; diff --git a/src/sys/ags_gm3.cpp b/src/sys/ags_gm3.cpp index a2ce54a..9a8cd16 100644 --- a/src/sys/ags_gm3.cpp +++ b/src/sys/ags_gm3.cpp @@ -7,7 +7,7 @@ #include "ags.h" #include -void AGS::load_gm3(uint8* data, int transparent) +void AGS::load_gm3(const std::vector& data, int transparent) { // ヘッダ取得 uint16 tmp = (data[0x30] | (data[0x31] << 8)) - 0x8000; diff --git a/src/sys/ags_pms.cpp b/src/sys/ags_pms.cpp index 2166aaa..10bef81 100644 --- a/src/sys/ags_pms.cpp +++ b/src/sys/ags_pms.cpp @@ -8,7 +8,7 @@ #include "game_id.h" #include -void AGS::load_pms(uint8* data, bool set_palette, int transparent) +void AGS::load_pms(const std::vector& data, bool set_palette, int transparent) { // ヘッダ取得 int sx = data[0x0] | (data[0x1] << 8); diff --git a/src/sys/ags_vsp.cpp b/src/sys/ags_vsp.cpp index b715453..acd5dda 100644 --- a/src/sys/ags_vsp.cpp +++ b/src/sys/ags_vsp.cpp @@ -8,7 +8,7 @@ #include "game_id.h" #include -void AGS::load_vsp(uint8* data, bool set_palette, int transparent) +void AGS::load_vsp(const std::vector& data, bool set_palette, int transparent) { // ヘッダ取得 int sx = data[0] | (data[1] << 8); diff --git a/src/sys/ags_vsp2l.cpp b/src/sys/ags_vsp2l.cpp index 3d60ba3..203f287 100644 --- a/src/sys/ags_vsp2l.cpp +++ b/src/sys/ags_vsp2l.cpp @@ -7,7 +7,7 @@ #include "ags.h" #include -void AGS::load_vsp2l(uint8* data, int transparent) +void AGS::load_vsp2l(const std::vector& data, int transparent) { // ヘッダ取得 int sx = data[0] | (data[1] << 8);