From 54aa7157c34a8e814461f3fe34b66994ab8538d4 Mon Sep 17 00:00:00 2001 From: LeonarthCG Date: Fri, 16 Aug 2019 00:28:15 +0200 Subject: [PATCH 1/6] clean dungeon item display before drawing --- .../improvements/asm/dungeonDisplay.dmp | Bin 284 -> 284 bytes .../Patches/improvements/asm/dungeonDisplay.s | 24 +++++++++--------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/Resources/Patches/improvements/asm/dungeonDisplay.dmp b/Resources/Patches/improvements/asm/dungeonDisplay.dmp index 1b5474cb52514d04847652d0a69143d4f1122c14..9360020dea48612d676104ab7ff7f60b2a27a8b4 100644 GIT binary patch delta 210 zcmbQkG>57F!xmGI21QQ>6YqI$3_nafOguRy7?hY2SPVLxeqS{55~^U)a=&Qj@n4b0 zfw6)?)A7PWC&mj*20xy=REXPX_-grS`)hlcdTM)dXD|bGu^3Kp`gu{)!$Fc!k>P{h z4~tkvMGglB4VDY4KrvNMh7T%0F(#;(k~vUN7^qMRD98d8lmm*%0Tl}TFo@;UV7SSt tz^3ToEUCyTAqkXW_`vex|MQ94w753-Ff%!@Ffc4}nfOePg*}6d0|4u_Jf{Ev delta 210 zcmbQkG>57F!xmGI21QQ>6YqI$3_nb~geq9H{4Y9r{8!|0V60%!biA<8iSYuH!H?%I z72-C!zPf&T{(2sko_b!~8O#YR1}ugXoPJ)^@ocyGrV11j2C7p6im`yi%z+9Ofr3C6e31BI5X-5-aFbJkP0_*X@k$iS9%-{EDQ|n8C)Cy0qHx< diff --git a/Resources/Patches/improvements/asm/dungeonDisplay.s b/Resources/Patches/improvements/asm/dungeonDisplay.s index 2d62ae8f..4cb4c123 100644 --- a/Resources/Patches/improvements/asm/dungeonDisplay.s +++ b/Resources/Patches/improvements/asm/dungeonDisplay.s @@ -8,6 +8,17 @@ ldr r3,=#0x801D668 mov lr,r3 .short 0xF800 +clean: +ldr r0,=#0x2034CB0 +ldr r1,=#0x440 +add r1,r0 +mov r2,#0 +cleanLoop: +str r2,[r0] +add r0,#4 +cmp r0,r1 +bne cleanLoop + @check current map mode ldr r2,=#0x20344A4 ldrb r2,[r2] @@ -21,7 +32,7 @@ and r4,r1 loop: ldrb r1,[r0] cmp r1,#0 -beq clean +beq end cmp r1,r4 beq match add r0,#2 @@ -103,17 +114,6 @@ add r0,r5 bl draw b end -clean: -ldr r0,=#0x2034CB0 -ldr r1,=#0x440 -add r1,r0 -mov r2,#0 -cleanLoop: -str r2,[r0] -add r0,#4 -cmp r0,r1 -bne cleanLoop - end: pop {r4-r7} ldr r3,=#0x80A6807 From 0cfb87c32353dcdd1ec84582c13bfd935049db49 Mon Sep 17 00:00:00 2001 From: LeonarthCG Date: Fri, 16 Aug 2019 01:25:17 +0200 Subject: [PATCH 2/6] elements fix --- .../Patches/logicfixes/asm/elementsFix.dmp | Bin 0 -> 56 bytes .../Patches/logicfixes/asm/elementsFix.s | 38 ++++++++++++++++++ Resources/Patches/logicfixes/installer.event | 14 +++++++ 3 files changed, 52 insertions(+) create mode 100644 Resources/Patches/logicfixes/asm/elementsFix.dmp create mode 100644 Resources/Patches/logicfixes/asm/elementsFix.s diff --git a/Resources/Patches/logicfixes/asm/elementsFix.dmp b/Resources/Patches/logicfixes/asm/elementsFix.dmp new file mode 100644 index 0000000000000000000000000000000000000000..677e0f15b7cc179cfb9ea75350ce0a45cd570128 GIT binary patch literal 56 zcmY$C$ue|M;3!y7#p%IV=~T(-Em6Us!FHj;iRofQ#RMnj3(Uq}pF1cpJeX0z=q=&? Mft!K3`WGh$0Nyka)&Kwi literal 0 HcmV?d00001 diff --git a/Resources/Patches/logicfixes/asm/elementsFix.s b/Resources/Patches/logicfixes/asm/elementsFix.s new file mode 100644 index 00000000..fe0407f4 --- /dev/null +++ b/Resources/Patches/logicfixes/asm/elementsFix.s @@ -0,0 +1,38 @@ +.thumb +mov r1,r4 +add r1,#0x6A +mov r0,#0x40 +strb r0,[r1] +ldrb r0,[r4,#0x0A] + +ldr r0,=#0x3000BF0 +ldrb r1,[r0,#4] +ldrb r2,[r0,#5] +ldr r3,poin +loop: +ldrb r0,[r3] +cmp r0,#0 +beq noMatch +cmp r0,r1 +bne next +ldrb r0,[r3,#1] +cmp r0,r2 +beq match +next: +add r3,#3 +b loop + +noMatch: +mov r0,#0x40 +b end + +match: +ldrb r0,[r3,#2] + +end: +ldr r3,=#0x809FA7B +bx r3 + +.align +.ltorg +poin: diff --git a/Resources/Patches/logicfixes/installer.event b/Resources/Patches/logicfixes/installer.event index c342636a..2ec8490d 100644 --- a/Resources/Patches/logicfixes/installer.event +++ b/Resources/Patches/logicfixes/installer.event @@ -228,3 +228,17 @@ PUSH; ORG $9E2A27; String("You should try"); BYTE 0x20 2 1; String("Figuresanity PUSH; ORG $9E39AA; String("You should try"); BYTE 0x20 2 1; String("Figuresanity"); BYTE 2 0 0x2E 0x0A; String("You'll"); BYTE 0x20 2 1; String("love"); BYTE 0x20 2 0; String("it, trust me"); BYTE 0; POP PUSH; ORG $9E4A08; String("You should try"); BYTE 0x20 2 1; String("Figuresanity"); BYTE 2 0 0x2E 0x0A; String("You'll"); BYTE 0x20 2 1; String("love"); BYTE 0x20 2 0; String("it, trust me"); BYTE 0; POP PUSH; ORG $9E54A7; String("You should try"); BYTE 0x20 2 1; String("Figuresanity"); BYTE 2 0 0x2E 0x0A; String("You'll"); BYTE 0x20 2 1; String("love"); BYTE 0x20 2 0; String("it, trust me"); BYTE 0; POP + +//fix elements hardcoded movement +PUSH; ORG $9FA70; jumpToHack(elementsFix); POP +ALIGN 4 +elementsFix: +#incbin "asm/elementsFix.dmp" +POIN elementsTable +ALIGN 4 +elementsTable: +BYTE 0x49 0x00 0x40 +BYTE 0x51 0x00 0x41 +BYTE 0x60 0x0E 0x42 +BYTE 0x70 0x00 0x43 +BYTE 0x00 0x00 0x00 //terminator From 1fc7e3483b23fe6c5d473455d8ee28b5c4bc54d5 Mon Sep 17 00:00:00 2001 From: LeonarthCG Date: Fri, 16 Aug 2019 04:03:31 +0200 Subject: [PATCH 3/6] grip scrub fix --- Resources/Patches/asm/gripScrub1.dmp | Bin 0 -> 52 bytes Resources/Patches/asm/gripScrub1.s | 25 +++++++++++++++++++++++++ Resources/Patches/asm/gripScrub2.dmp | Bin 0 -> 56 bytes Resources/Patches/asm/gripScrub2.s | 27 +++++++++++++++++++++++++++ Resources/Patches/asm/gripScrub3.dmp | Bin 0 -> 52 bytes Resources/Patches/asm/gripScrub3.s | 23 +++++++++++++++++++++++ Resources/Patches/scrubs.event | 14 ++++++++++++++ 7 files changed, 89 insertions(+) create mode 100644 Resources/Patches/asm/gripScrub1.dmp create mode 100644 Resources/Patches/asm/gripScrub1.s create mode 100644 Resources/Patches/asm/gripScrub2.dmp create mode 100644 Resources/Patches/asm/gripScrub2.s create mode 100644 Resources/Patches/asm/gripScrub3.dmp create mode 100644 Resources/Patches/asm/gripScrub3.s diff --git a/Resources/Patches/asm/gripScrub1.dmp b/Resources/Patches/asm/gripScrub1.dmp new file mode 100644 index 0000000000000000000000000000000000000000..74f97c3bf1cdbd8e40f65cfbeba7e01738bc2d85 GIT binary patch literal 52 zcmZSBdLW;n%0+|gBD)8dBD?oIH-;Y!8jKeh6c`>bDlqJ2_KwkzaA#mxqQ}7W;3^}B I3@De=+rUzFUIp$Af I;;02;0IH7 Date: Fri, 16 Aug 2019 04:11:28 +0200 Subject: [PATCH 4/6] element spots can now have sub ids --- Resources/Patches/improvements/installer.event | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Resources/Patches/improvements/installer.event b/Resources/Patches/improvements/installer.event index 7a3e071c..13312e4b 100644 --- a/Resources/Patches/improvements/installer.event +++ b/Resources/Patches/improvements/installer.event @@ -146,3 +146,6 @@ BYTE 0x1A 0x1C //pow BYTE 0x12 0x1D //dhc BYTE 0x0F 0x1E //rc BYTE 0x00 0x00 //terminator + +//element object can have sub ids +PUSH; ORG $9FB64; SHORT 0x7AE1; POP From c50a8057059206b5e99f6ec1a58d5dcef9ab543b Mon Sep 17 00:00:00 2001 From: Mike Nisbet Date: Fri, 16 Aug 2019 15:12:48 +0100 Subject: [PATCH 5/6] remove extra grayblade --- Resources/default.logic | 1 - 1 file changed, 1 deletion(-) diff --git a/Resources/default.logic b/Resources/default.logic index 75951557..6360cec8 100644 --- a/Resources/default.logic +++ b/Resources/default.logic @@ -116,7 +116,6 @@ CrenelHeartCaveHeartPiece; Minor; 0FB32B; Locations.AccessLowerCrenel, Items.Bom CrenelFairyHeartPiece; Minor; 0FB0BB; Locations.AccessCrenel, Items.BombBag CrenelGripScrub; Major; gripScrubItem:Define:FirstByte, gripScrubSub:Define:SecondByte; Locations.AccessCrenel, Items.Shield, Items.BombBag; Items.GripRing GraybladeLeft; Minor; 25-00-00; Locations.AccessCrenel, Helpers.CanSplit2, Items.GripRing -GraybladeLeft; Minor; 25-00-00; Locations.AccessCrenel, Helpers.CanSplit2, Items.GripRing GraybladeRight; Minor; 25-00-01; Locations.AccessCrenel, Helpers.CanSplit2, Items.GripRing GraybladeHeartPiece; Minor; 0D752B; Locations.AccessCrenel, Helpers.CanSplit2, Items.GripRing CrenelBombFairy; Major; 00B828; Locations.AccessCrenel, Items.BombBag, Items.GripRing From 5d71d803d069b6111c882745a501f0e09b7c0dbb Mon Sep 17 00:00:00 2001 From: Mike Nisbet Date: Fri, 16 Aug 2019 15:13:29 +0100 Subject: [PATCH 6/6] update version --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1705e52f..baa76d5d 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ This program creates a randomized version of The Legend of Zelda: The Minish Cap. -Current version: `0.2.0a` +Current version: `0.2.1a` ### Logic The following things are randomized: