From 04019da9acf7c924e9aa335fcf93cd6b33d404ee Mon Sep 17 00:00:00 2001 From: Keeboy99 Date: Thu, 29 Jan 2026 11:43:10 +1300 Subject: [PATCH] importer fix + extras --- titles/chuni/index.py | 10 ++++++++-- titles/chuni/read.py | 3 ++- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/titles/chuni/index.py b/titles/chuni/index.py index ce331f1..376ea85 100644 --- a/titles/chuni/index.py +++ b/titles/chuni/index.py @@ -121,7 +121,9 @@ class ChuniServlet(BaseServlet): f"{ChuniConstants.VER_CHUNITHM_LUMINOUS}_chn": 8, ChuniConstants.VER_CHUNITHM_LUMINOUS_PLUS: 56, ChuniConstants.VER_CHUNITHM_VERSE: 42, + f"{ChuniConstants.VER_CHUNITHM_VERSE}_chn": 37, ChuniConstants.VER_CHUNITHM_X_VERSE: 14, + f"{ChuniConstants.VER_CHUNITHM_X_VERSE}_int": 96, } for version, keys in self.game_cfg.crypto.keys.items(): @@ -306,8 +308,10 @@ class ChuniServlet(BaseServlet): internal_ver = ChuniConstants.VER_CHUNITHM_LUMINOUS elif version >= 135 and version < 140: # LUMINOUS PLUS internal_ver = ChuniConstants.VER_CHUNITHM_LUMINOUS_PLUS - elif version >= 140: + elif version >= 140 and version < 150: # VERSE internal_ver = ChuniConstants.VER_CHUNITHM_VERSE + elif version >= 150: # X-VERSE + internal_ver = ChuniConstants.VER_CHUNITHM_X_VERSE elif game_code == "SDHJ": # Chn if version < 110: # NEW internal_ver = ChuniConstants.VER_CHUNITHM_NEW @@ -315,8 +319,10 @@ class ChuniServlet(BaseServlet): version >= 110 and version < 120 ): # NEW *Cursed but needed due to different encryption key internal_ver = ChuniConstants.VER_CHUNITHM_NEW_PLUS - elif version >= 120: # LUMINOUS + elif version >= 120 and version < 130: # LUMINOUS internal_ver = ChuniConstants.VER_CHUNITHM_LUMINOUS + elif version >= 130: # VERSE + internal_ver = ChuniConstants.VER_CHUNITHM_VERSE if all(c in string.hexdigits for c in endpoint) and len(endpoint) == 32: # If we get a 32 character long hex string, it's a hash and we're diff --git a/titles/chuni/read.py b/titles/chuni/read.py index 84432c9..3c9513d 100644 --- a/titles/chuni/read.py +++ b/titles/chuni/read.py @@ -69,7 +69,8 @@ class ChuniReader(BaseReader): await self.read_system_voice(f"{dir}/systemVoice", this_opt_id) await self.read_unlock_challenge(f"{dir}/unlockChallenge") await self.read_linked_verse(f"{dir}/linkedVerse") - await self.read_stage(f"{dir}/stage", this_opt_id) + if self.version >= ChuniConstants.VER_CHUNITHM_X_VERSE: + await self.read_stage(f"{dir}/stage", this_opt_id) async def read_login_bonus(self, root_dir: str, opt_id: Optional[int] = None) -> None: for root, dirs, files in walk(f"{root_dir}loginBonusPreset"):