From 6953347770ad1eef7de0029a82687237db8ed31e Mon Sep 17 00:00:00 2001 From: Randy Thiemann Date: Fri, 10 Nov 2023 22:43:02 +0100 Subject: [PATCH] Fix small bug in returning to big mode from final challenge retry and fully implement TGM1 grades. --- bin/DMGTRIS.GBC | Bin 131072 -> 131072 bytes bin/DMGTRIS.map | 4170 ++++++++++++++++++++-------------------- bin/DMGTRIS.pocket | Bin 131072 -> 131072 bytes bin/DMGTRIS.sym | 3704 +++++++++++++++++------------------ src/field.asm | 30 + src/grading.asm | 165 +- src/state_gameplay.asm | 24 + 7 files changed, 4147 insertions(+), 3946 deletions(-) diff --git a/bin/DMGTRIS.GBC b/bin/DMGTRIS.GBC index 16ab336a6ea94993728763b69b183857bcc739ad..054fc69155541af7d738675d75ee18fc9e3bfb0a 100644 GIT binary patch delta 12057 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 delta 11979 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