From 04a3c26790b0cca820094f1d566b9ed2c9cb8f7b Mon Sep 17 00:00:00 2001 From: Nathaniel Rook Date: Sat, 27 Apr 2024 20:13:25 -0400 Subject: [PATCH] Fix spell card ID --- project/thscoreboard/replays/replay_parsing.py | 6 +++--- project/thscoreboard/replays/test_replay_parsing.py | 4 ++++ 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/project/thscoreboard/replays/replay_parsing.py b/project/thscoreboard/replays/replay_parsing.py index bd999965..41bc44ef 100644 --- a/project/thscoreboard/replays/replay_parsing.py +++ b/project/thscoreboard/replays/replay_parsing.py @@ -451,9 +451,9 @@ def _Parse095(rep_raw): encrypted_replay = th095_encrypted.Th095Encrypted.from_bytes(rep_raw) # This is goofy and probably not a good idea - spell_card_id = int(encrypted_replay.userdata.level.value) << 8 + int( - encrypted_replay.userdata.scene.value - ) + spell_level = int(encrypted_replay.userdata.level.value) + spell_scene = int(encrypted_replay.userdata.scene.value) + spell_card_id = (spell_level << 8) + spell_scene return ReplayInfo( game=game_ids.GameIDs.TH095, diff --git a/project/thscoreboard/replays/test_replay_parsing.py b/project/thscoreboard/replays/test_replay_parsing.py index 7025fcb2..3c7b6a59 100644 --- a/project/thscoreboard/replays/test_replay_parsing.py +++ b/project/thscoreboard/replays/test_replay_parsing.py @@ -218,6 +218,8 @@ def testOne(self): r.timestamp, datetime.datetime(2024, 4, 27, 16, 42, tzinfo=datetime.timezone.utc), ) + self.assertEqual(r.spell_card_id >> 8, 3) + self.assertEqual(r.spell_card_id & 0xFF, 1) self.assertEqual(r.name, "nrook3.1") self.assertEqual(r.slowdown, 0.00) @@ -229,6 +231,8 @@ def testTwo(self): r.timestamp, datetime.datetime(2024, 4, 27, 19, 54, tzinfo=datetime.timezone.utc), ) + self.assertEqual(r.spell_card_id >> 8, 2) + self.assertEqual(r.spell_card_id & 0xFF, 5) self.assertEqual(r.name, "nrook ") self.assertEqual(r.slowdown, 0.00)