From a7d4e322735f34b783c2144649b5056abaa57907 Mon Sep 17 00:00:00 2001 From: kichikuou Date: Sat, 21 Dec 2024 16:14:35 +0900 Subject: [PATCH] Set RND after save / load `L [1-26]` should set RND to 0 after load, and `Q [1-26]` should set RND to 1 after save. This behavior is used by the following games: ayumi_fd, prog_fd, funnybee_cd, funnybee_fd, onlyyou, prog_cd, ayumi_cd, yakata3_cd, otome, hashirionna2 Especially in hashirionna2, not setting RND breaks the control flow. --- src/sys/nact_sys2.cpp | 2 ++ src/sys/nact_sys3.cpp | 2 ++ 2 files changed, 4 insertions(+) diff --git a/src/sys/nact_sys2.cpp b/src/sys/nact_sys2.cpp index 79f8be0..b7c0eee 100644 --- a/src/sys/nact_sys2.cpp +++ b/src/sys/nact_sys2.cpp @@ -763,6 +763,7 @@ void NACT_Sys2::cmd_l() sco.page_jump(next_page, next_addr); mako->play_music(next_music); + RND = 0; } } } @@ -918,6 +919,7 @@ void NACT_Sys2::cmd_q() fio->write(buffer, 9510); } + RND = 1; } } diff --git a/src/sys/nact_sys3.cpp b/src/sys/nact_sys3.cpp index 48aa7ec..c788c90 100644 --- a/src/sys/nact_sys3.cpp +++ b/src/sys/nact_sys3.cpp @@ -636,6 +636,7 @@ void NACT_Sys3::cmd_l() sco.page_jump(next_page, next_addr); mako->play_music(next_music); + RND = 0; } } else if(101 <= index && index <= 126) { // ASLEEP_A.DAT - ASLEEP_Z.DAT @@ -873,6 +874,7 @@ void NACT_Sys3::cmd_q() fio->write(buffer, 9510); } + RND = 1; } }