Merge upstream changes: CRC32 updates

- Check CRC32 of both ADISK.DAT (storead as crc32_a) and BDISK.DAT (crc32_b)
- Update the CRC32 database adding more titles
This commit is contained in:
kichikuou
2020-05-22 16:09:55 +09:00
parent e8d254328a
commit 657057fa64
12 changed files with 185 additions and 158 deletions
+9 -10
View File
@@ -13,8 +13,8 @@
#include "../fileio.h"
#include "texthook.h"
NACT_Sys3::NACT_Sys3(uint32 crc32, const char* font_file, const char* playlist)
: NACT(3, crc32, font_file, playlist)
NACT_Sys3::NACT_Sys3(uint32 crc32_a, uint32 crc32_b, const char* font_file, const char* playlist)
: NACT(3, crc32_a, crc32_b, font_file, playlist)
{
}
@@ -431,10 +431,9 @@ void NACT_Sys3::cmd_b()
if(cmd == 1) {
// あゆみちゃん物語
if(crc32 == CRC32_AYUMI_CD || crc32 == CRC32_AYUMI_JISSHA_256 || crc32 == CRC32_AYUMI_JISSHA_FULL) {
if(crc32_a == CRC32_AYUMI_CD || crc32_a == CRC32_AYUMI_JISSHA_256 || crc32_a == CRC32_AYUMI_JISSHA_FULL) {
p5 = 1;
}
ags->menu_w[index - 1].sx = column ? p1 * 8 : p1 & 0xfff8;
ags->menu_w[index - 1].sy = p2;
ags->menu_w[index - 1].ex = column ? p3 * 8 - 1 : (p3 & 0xfff8) - 1;
@@ -469,7 +468,7 @@ void NACT_Sys3::cmd_b()
} else if(cmd == 4) {
if(p5 == 0) {
// ウィンドウ退避
if(crc32 == CRC32_PROSTUDENTG_CD && p4) {
if(crc32_a == CRC32_PROSTUDENTG_CD && p4) {
// prostudent G オープニング画面化け対策
if(ags->text_w[index - 1].window) {
free(ags->text_w[index - 1].window);
@@ -586,7 +585,7 @@ void NACT_Sys3::cmd_i()
// X方向はカラム単位で切り捨て
sx = column ? sx * 8 : sx & 0xfff8;
ex = column ? ex * 8 - 1 : (crc32 == CRC32_NINGYO) ? (ex & 0xfff8) + 7 : (ex & 0xfff8) - 1;
ex = column ? ex * 8 - 1 : (crc32_a == CRC32_NINGYO) ? (ex & 0xfff8) + 7 : (ex & 0xfff8) - 1;
dx = column ? dx * 8 : dx & 0xfff8;
ags->copy(sx, sy, ex, ey, dx, dy);
}
@@ -1075,7 +1074,7 @@ void NACT_Sys3::cmd_u()
output_console("\nU %d,%d:", page, transparent);
if(crc32 == CRC32_RANCE41 || crc32 == CRC32_RANCE42) {
if(crc32_a == CRC32_RANCE41 || crc32_a == CRC32_RANCE42) {
transparent = (transparent == 28) ? 12 : transparent;
}
ags->load_cg(page, transparent);
@@ -1413,7 +1412,7 @@ void NACT_Sys3::cmd_y()
case 231:
D01 = 640;
D02 = (param == 1) ? ags->screen_height : 480;
D03 = (crc32 == CRC32_YAKATA3_FD) ? 16 : 256;
D03 = (crc32_a == CRC32_YAKATA3_FD) ? 16 : 256;
break;
case 232:
if(ags->screen_height != param ? 480 : 400) {
@@ -1500,13 +1499,13 @@ void NACT_Sys3::cmd_y()
column = param ? false : true;
break;
case 252:
RND = (crc32 == CRC32_YAKATA3_FD) ? 4 : 8;
RND = (crc32_a == CRC32_YAKATA3_FD) ? 4 : 8;
break;
case 253:
show_push = (param == 0) ? true : false;
break;
case 254:
RND = (crc32 == CRC32_YAKATA3_CD || crc32 == CRC32_YAKATA3_FD || crc32 == CRC32_NINGYO) ? 1 : 0;
RND = (crc32_a == CRC32_YAKATA3_CD || crc32_a == CRC32_YAKATA3_FD || crc32_a == CRC32_NINGYO) ? 1 : 0;
break;
case 255:
post_quit = (param == 1) ? true : false;