Newitems
Fix magic bar & file select HUD
This commit is contained in:
@@ -59,7 +59,6 @@ incsrc vanillalabels.asm
|
||||
|
||||
;org $208000 ; bank #$20
|
||||
org $A08000 ; bank #$A0
|
||||
incsrc newitems.asm ; LEAVE THIS AS FIRST
|
||||
incsrc itemdowngrade.asm
|
||||
incsrc bugfixes.asm
|
||||
incsrc darkworldspawn.asm
|
||||
@@ -67,7 +66,6 @@ incsrc lampmantlecone.asm
|
||||
incsrc floodgatesoftlock.asm
|
||||
incsrc heartpieces.asm
|
||||
incsrc npcitems.asm
|
||||
incsrc utilities.asm
|
||||
incsrc hextodec.asm
|
||||
incsrc flipperkill.asm
|
||||
incsrc pendantcrystalhud.asm
|
||||
@@ -163,7 +161,8 @@ warnpc $A58000
|
||||
|
||||
org $A28000
|
||||
incsrc decompresseditemgraphics.asm
|
||||
|
||||
incsrc newitems.asm
|
||||
incsrc utilities.asm
|
||||
|
||||
org $A38000
|
||||
incsrc stats/main.asm
|
||||
|
||||
@@ -61,17 +61,20 @@ TransferRupeesProperly:
|
||||
;===================================================================================================
|
||||
|
||||
TransferItemReceiptToBuffer_using_ReceiptID:
|
||||
PHP
|
||||
PHB
|
||||
PHP : PHB
|
||||
|
||||
REP #$30
|
||||
PHX
|
||||
PHY
|
||||
PHX : PHY
|
||||
|
||||
++ AND.w #$00FF
|
||||
ASL
|
||||
TAX
|
||||
ASL : TAX
|
||||
|
||||
LDA.l BusyItem : BNE +
|
||||
LDA.l StandingItemGraphicsOffsets,X
|
||||
BRA .have_address
|
||||
+
|
||||
LDA.l ItemReceiptGraphicsOffsets,X
|
||||
.have_address
|
||||
BMI TransferItemReceiptToBuffer_using_ExplicitBufferAddress
|
||||
|
||||
.rom_address
|
||||
@@ -525,21 +528,21 @@ Unrolled3BPPConvert:
|
||||
;===================================================================================================
|
||||
|
||||
ItemReceiptGraphicsOffsets:
|
||||
dw $0860 ; 00 - Fighter sword
|
||||
dw BigDecompressionBuffer+$11C0 ; 01 - Master sword
|
||||
dw BigDecompressionBuffer+$11C0 ; 02 - Tempered sword
|
||||
dw BigDecompressionBuffer+$11C0 ; 03 - Butter sword
|
||||
dw BigDecompressionBuffer+$09E0 ; 04 - Fighter shield
|
||||
dw BigDecompressionBuffer+$1940 ; 05 - Fire shield
|
||||
dw BigDecompressionBuffer+$0C80 ; 06 - Mirror shield
|
||||
dw BigDecompressionBuffer+$1C80 ; 07 - Fire rod
|
||||
dw BigDecompressionBuffer+$1C80 ; 08 - Ice rod
|
||||
dw $0860 ; 00 - Fighter Sword and Shield
|
||||
dw BigDecompressionBuffer+$11C0 ; 01 - Master Sword
|
||||
dw BigDecompressionBuffer+$11C0 ; 01 - Tempered Sword
|
||||
dw BigDecompressionBuffer+$11C0 ; 03 - Butter Sword
|
||||
dw BigDecompressionBuffer+$09E0 ; 04 - Fighter Shield
|
||||
dw BigDecompressionBuffer+$1940 ; 05 - Fire Shield
|
||||
dw BigDecompressionBuffer+$0C80 ; 06 - Mirror Shield
|
||||
dw BigDecompressionBuffer+$1C80 ; 07 - Fire Rod
|
||||
dw BigDecompressionBuffer+$1C80 ; 08 - Ice Rod
|
||||
dw BigDecompressionBuffer+$1CA0 ; 09 - Hammer
|
||||
dw BigDecompressionBuffer+$1C60 ; 0A - Hookshot
|
||||
dw BigDecompressionBuffer+$1C00 ; 0B - Bow
|
||||
dw BigDecompressionBuffer+$1DE0 ; 0C - Boomerang
|
||||
dw BigDecompressionBuffer+$1CC0 ; 0D - Powder
|
||||
dw BigDecompressionBuffer+$09A0 ; 0E - Bottle refill (bee)
|
||||
dw BigDecompressionBuffer+$09A0 ; 0E - Bottle Refill (bee)
|
||||
dw BigDecompressionBuffer+$1440 ; 0F - Bombos
|
||||
dw BigDecompressionBuffer+$1400 ; 10 - Ether
|
||||
dw BigDecompressionBuffer+$1480 ; 11 - Quake
|
||||
@@ -548,7 +551,7 @@ ItemReceiptGraphicsOffsets:
|
||||
dw BigDecompressionBuffer+$0C40 ; 14 - Flute
|
||||
dw BigDecompressionBuffer+$1C40 ; 15 - Somaria
|
||||
dw BigDecompressionBuffer+$14C0 ; 16 - Bottle
|
||||
dw BigDecompressionBuffer+$0C00 ; 17 - Heart piece
|
||||
dw BigDecompressionBuffer+$0C00 ; 17 - Heartpiece
|
||||
dw BigDecompressionBuffer+$1C40 ; 18 - Byrna
|
||||
dw BigDecompressionBuffer+$1100 ; 19 - Cape
|
||||
dw BigDecompressionBuffer+$1040 ; 1A - Mirror
|
||||
@@ -559,11 +562,11 @@ ItemReceiptGraphicsOffsets:
|
||||
dw BigDecompressionBuffer+$1180 ; 1F - Pearl
|
||||
dw BigDecompressionBuffer+$08A0 ; 20 - Crystal
|
||||
dw BigDecompressionBuffer+$0860 ; 21 - Net
|
||||
dw BigDecompressionBuffer+$1900 ; 22 - Blue mail
|
||||
dw BigDecompressionBuffer+$1900 ; 23 - Red mail
|
||||
dw BigDecompressionBuffer+$1DC0 ; 24 - Small key
|
||||
dw BigDecompressionBuffer+$1900 ; 22 - Blue Mail
|
||||
dw BigDecompressionBuffer+$1900 ; 23 - Red Mail
|
||||
dw BigDecompressionBuffer+$1DC0 ; 24 - Small Key
|
||||
dw BigDecompressionBuffer+$1140 ; 25 - Compbutt
|
||||
dw BigDecompressionBuffer+$18C0 ; 26 - Heart container from 4/4
|
||||
dw BigDecompressionBuffer+$18C0 ; 26 - Heart Container from 4/4
|
||||
dw BigDecompressionBuffer+$1080 ; 27 - Bomb
|
||||
dw BigDecompressionBuffer+$1840 ; 28 - 3 bombs
|
||||
dw BigDecompressionBuffer+$1540 ; 29 - Mushroom
|
||||
@@ -615,12 +618,12 @@ ItemReceiptGraphicsOffsets:
|
||||
dw $0 ; 55 - Programmable item 1
|
||||
dw $0 ; 56 - Programmable item 2
|
||||
dw $0 ; 57 - Programmable item 3
|
||||
dw $0 ; 58 - Upgrade-only silver arrows
|
||||
dw $05E0 ; 58 - Upgrade-only silver arrows
|
||||
dw $0 ; 59 - Rupoor
|
||||
dw $0020 ; 5A - Nothing
|
||||
dw $0 ; 5B - Red clock
|
||||
dw $0 ; 5C - Blue clock
|
||||
dw $0 ; 5D - Green clock
|
||||
dw $0DE0 ; 5B - Red clock
|
||||
dw $0DE0 ; 5C - Blue clock
|
||||
dw $0DE0 ; 5D - Green clock
|
||||
dw $0 ; 5E - Progressive sword
|
||||
dw $0 ; 5F - Progressive shield
|
||||
dw $0 ; 60 - Progressive armor
|
||||
@@ -629,16 +632,16 @@ ItemReceiptGraphicsOffsets:
|
||||
dw $0 ; 63 - RNG pool item (multi)
|
||||
dw $0 ; 64 - Progressive bow
|
||||
dw $0 ; 65 - Progressive bow
|
||||
dw $0 ; 66 -
|
||||
dw $0 ; 67 -
|
||||
dw $0 ; 68 -
|
||||
dw $0 ; 69 -
|
||||
dw $0 ; 66 -
|
||||
dw $0 ; 67 -
|
||||
dw $0 ; 68 -
|
||||
dw $0 ; 69 -
|
||||
dw $0060 ; 6A - Triforce
|
||||
dw $0 ; 6B - Power star
|
||||
dw $0 ; 6C -
|
||||
dw $11E0 ; 6B - Power star
|
||||
dw $0 ; 6C -
|
||||
dw $0 ; 6D - Server request item
|
||||
dw $0 ; 6E - Server request item (dungeon drop)
|
||||
dw $0 ; 6F -
|
||||
dw $0 ; 6F -
|
||||
|
||||
dw BigDecompressionBuffer+$1580 ; 70 - Map of Light World
|
||||
dw BigDecompressionBuffer+$1580 ; 71 - Map of Dark World
|
||||
@@ -708,85 +711,354 @@ ItemReceiptGraphicsOffsets:
|
||||
dw $0 ; AE - Reserved
|
||||
dw BigDecompressionBuffer+$1DC0 ; AF - Generic small key
|
||||
|
||||
dw $0 ; B0 -
|
||||
dw $0 ; B1 -
|
||||
dw $0 ; B2 -
|
||||
dw $0 ; B3 -
|
||||
dw $0 ; B4 -
|
||||
dw $0 ; B5 -
|
||||
dw $0 ; B6 -
|
||||
dw $0 ; B7 -
|
||||
dw $0 ; B8 -
|
||||
dw $0 ; B9 -
|
||||
dw $0 ; BA -
|
||||
dw $0 ; BB -
|
||||
dw $0 ; BC -
|
||||
dw $0 ; BD -
|
||||
dw $0 ; BE -
|
||||
dw $0 ; BF -
|
||||
dw $0 ; C0 -
|
||||
dw $0 ; C1 -
|
||||
dw $0 ; C2 -
|
||||
dw $0 ; C3 -
|
||||
dw $0 ; C4 -
|
||||
dw $0 ; C5 -
|
||||
dw $0 ; C6 -
|
||||
dw $0 ; C7 -
|
||||
dw $0 ; C8 -
|
||||
dw $0 ; C9 -
|
||||
dw $0 ; CA -
|
||||
dw $0 ; CB -
|
||||
dw $0 ; CC -
|
||||
dw $0 ; CD -
|
||||
dw $0 ; CE -
|
||||
dw $0 ; CF -
|
||||
dw $0 ; D0 -
|
||||
dw $0 ; D1 -
|
||||
dw $0 ; D2 -
|
||||
dw $0 ; D3 -
|
||||
dw $0 ; D4 -
|
||||
dw $0 ; D5 -
|
||||
dw $0 ; D6 -
|
||||
dw $0 ; D7 -
|
||||
dw $0 ; D8 -
|
||||
dw $0 ; D9 -
|
||||
dw $0 ; DA -
|
||||
dw $0 ; DB -
|
||||
dw $0 ; DC -
|
||||
dw $0 ; DD -
|
||||
dw $0 ; DE -
|
||||
dw $0 ; DF -
|
||||
dw $0 ; E0 -
|
||||
dw $0 ; E1 -
|
||||
dw $0 ; E2 -
|
||||
dw $0 ; E3 -
|
||||
dw $0 ; E4 -
|
||||
dw $0 ; E5 -
|
||||
dw $0 ; E6 -
|
||||
dw $0 ; E7 -
|
||||
dw $0 ; E8 -
|
||||
dw $0 ; E9 -
|
||||
dw $0 ; EA -
|
||||
dw $0 ; EB -
|
||||
dw $0 ; EC -
|
||||
dw $0 ; ED -
|
||||
dw $0 ; EE -
|
||||
dw $0 ; EF -
|
||||
dw $0 ; F0 -
|
||||
dw $0 ; F1 -
|
||||
dw $0 ; F2 -
|
||||
dw $0 ; F3 -
|
||||
dw $0 ; F4 -
|
||||
dw $0 ; F5 -
|
||||
dw $0 ; F6 -
|
||||
dw $0 ; F7 -
|
||||
dw $0 ; F8 -
|
||||
dw $0 ; F9 -
|
||||
dw $0 ; FA -
|
||||
dw $0 ; FB -
|
||||
dw $0 ; FC -
|
||||
dw $0 ; FD -
|
||||
dw $0 ; B0 -
|
||||
dw $0 ; B1 -
|
||||
dw $0 ; B2 -
|
||||
dw $0 ; B3 -
|
||||
dw $0 ; B4 -
|
||||
dw $0 ; B5 -
|
||||
dw $0 ; B6 -
|
||||
dw $0 ; B7 -
|
||||
dw $0 ; B8 -
|
||||
dw $0 ; B9 -
|
||||
dw $0 ; BA -
|
||||
dw $0 ; BB -
|
||||
dw $0 ; BC -
|
||||
dw $0 ; BD -
|
||||
dw $0 ; BE -
|
||||
dw $0 ; BF -
|
||||
dw $0 ; C0 -
|
||||
dw $0 ; C1 -
|
||||
dw $0 ; C2 -
|
||||
dw $0 ; C3 -
|
||||
dw $0 ; C4 -
|
||||
dw $0 ; C5 -
|
||||
dw $0 ; C6 -
|
||||
dw $0 ; C7 -
|
||||
dw $0 ; C8 -
|
||||
dw $0 ; C9 -
|
||||
dw $0 ; CA -
|
||||
dw $0 ; CB -
|
||||
dw $0 ; CC -
|
||||
dw $0 ; CD -
|
||||
dw $0 ; CE -
|
||||
dw $0 ; CF -
|
||||
dw $0 ; D0 -
|
||||
dw $0 ; D1 -
|
||||
dw $0 ; D2 -
|
||||
dw $0 ; D3 -
|
||||
dw $0 ; D4 -
|
||||
dw $0 ; D5 -
|
||||
dw $0 ; D6 -
|
||||
dw $0 ; D7 -
|
||||
dw $0 ; D8 -
|
||||
dw $0 ; D9 -
|
||||
dw $0 ; DA -
|
||||
dw $0 ; DB -
|
||||
dw $0 ; DC -
|
||||
dw $0 ; DD -
|
||||
dw $0 ; DE -
|
||||
dw $0 ; DF -
|
||||
dw $0 ; E0 -
|
||||
dw $0 ; E1 -
|
||||
dw $0 ; E2 -
|
||||
dw $0 ; E3 -
|
||||
dw $0 ; E4 -
|
||||
dw $0 ; E5 -
|
||||
dw $0 ; E6 -
|
||||
dw $0 ; E7 -
|
||||
dw $0 ; E8 -
|
||||
dw $0 ; E9 -
|
||||
dw $0 ; EA -
|
||||
dw $0 ; EB -
|
||||
dw $0 ; EC -
|
||||
dw $0 ; ED -
|
||||
dw $0 ; EE -
|
||||
dw $0 ; EF -
|
||||
dw $0 ; F0 -
|
||||
dw $0 ; F1 -
|
||||
dw $0 ; F2 -
|
||||
dw $0 ; F3 -
|
||||
dw $0 ; F4 -
|
||||
dw $0 ; F5 -
|
||||
dw $0 ; F6 -
|
||||
dw $0 ; F7 -
|
||||
dw $0 ; F8 -
|
||||
dw $0 ; F9 -
|
||||
dw $0 ; FA -
|
||||
dw $0 ; FB -
|
||||
dw $0 ; FC -
|
||||
dw $0 ; FD -
|
||||
dw $0 ; FE - Server request (async)
|
||||
dw $0 ; FF -
|
||||
dw $0 ; FF -
|
||||
|
||||
;===================================================================================================
|
||||
; The table below is for "standing" items, either in heart piece locations, boss heart locations
|
||||
; or shops etc. Generally we do not and shouldn't use different gfx for this purpose, so this is
|
||||
; mostly a copy of the previous table. However some items, such as swords, use a separate sprite
|
||||
; for receipt and non-receipt drawing.
|
||||
;===================================================================================================
|
||||
StandingItemGraphicsOffsets:
|
||||
dw $0860 ; 00 - Fighter Sword and Shield
|
||||
dw $00E0 ; 01 - Master Sword
|
||||
dw $0120 ; 02 - Tempered Sword
|
||||
dw $0160 ; 03 - Butter Sword
|
||||
dw BigDecompressionBuffer+$09E0 ; 04 - Fighter Shield
|
||||
dw BigDecompressionBuffer+$1940 ; 05 - Fire Shield
|
||||
dw BigDecompressionBuffer+$0C80 ; 06 - Mirror Shield
|
||||
dw BigDecompressionBuffer+$1C80 ; 07 - Fire Rod
|
||||
dw BigDecompressionBuffer+$1C80 ; 08 - Ice Rod
|
||||
dw BigDecompressionBuffer+$1CA0 ; 09 - Hammer
|
||||
dw BigDecompressionBuffer+$1C60 ; 0A - Hookshot
|
||||
dw BigDecompressionBuffer+$1C00 ; 0B - Bow
|
||||
dw BigDecompressionBuffer+$1DE0 ; 0C - Boomerang
|
||||
dw BigDecompressionBuffer+$1CC0 ; 0D - Powder
|
||||
dw BigDecompressionBuffer+$09A0 ; 0E - Bottle Refill (bee)
|
||||
dw BigDecompressionBuffer+$1440 ; 0F - Bombos
|
||||
dw BigDecompressionBuffer+$1400 ; 10 - Ether
|
||||
dw BigDecompressionBuffer+$1480 ; 11 - Quake
|
||||
dw BigDecompressionBuffer+$10C0 ; 12 - Lamp
|
||||
dw BigDecompressionBuffer+$11E0 ; 13 - Shovel
|
||||
dw BigDecompressionBuffer+$0C40 ; 14 - Flute
|
||||
dw BigDecompressionBuffer+$1C40 ; 15 - Somaria
|
||||
dw BigDecompressionBuffer+$14C0 ; 16 - Bottle
|
||||
dw BigDecompressionBuffer+$0C00 ; 17 - Heartpiece
|
||||
dw BigDecompressionBuffer+$1C40 ; 18 - Byrna
|
||||
dw BigDecompressionBuffer+$1100 ; 19 - Cape
|
||||
dw BigDecompressionBuffer+$1040 ; 1A - Mirror
|
||||
dw BigDecompressionBuffer+$1D40 ; 1B - Glove
|
||||
dw BigDecompressionBuffer+$1D40 ; 1C - Mitts
|
||||
dw BigDecompressionBuffer+$1D80 ; 1D - Book
|
||||
dw BigDecompressionBuffer+$1000 ; 1E - Flippers
|
||||
dw BigDecompressionBuffer+$1180 ; 1F - Pearl
|
||||
dw BigDecompressionBuffer+$08A0 ; 20 - Crystal
|
||||
dw BigDecompressionBuffer+$0860 ; 21 - Net
|
||||
dw BigDecompressionBuffer+$1900 ; 22 - Blue Mail
|
||||
dw BigDecompressionBuffer+$1900 ; 23 - Red Mail
|
||||
dw BigDecompressionBuffer+$1DC0 ; 24 - Small Key
|
||||
dw BigDecompressionBuffer+$1140 ; 25 - Compbutt
|
||||
dw BigDecompressionBuffer+$18C0 ; 26 - Heart Container from 4/4
|
||||
dw BigDecompressionBuffer+$1080 ; 27 - Bomb
|
||||
dw BigDecompressionBuffer+$1840 ; 28 - 3 bombs
|
||||
dw BigDecompressionBuffer+$1540 ; 29 - Mushroom
|
||||
dw BigDecompressionBuffer+$1DE0 ; 2A - Red boomerang
|
||||
dw BigDecompressionBuffer+$1500 ; 2B - Full bottle (red)
|
||||
dw BigDecompressionBuffer+$1500 ; 2C - Full bottle (green)
|
||||
dw BigDecompressionBuffer+$1500 ; 2D - Full bottle (blue)
|
||||
dw BigDecompressionBuffer+$1500 ; 2E - Potion refill (red)
|
||||
dw BigDecompressionBuffer+$1500 ; 2F - Potion refill (green)
|
||||
dw BigDecompressionBuffer+$1500 ; 30 - Potion refill (blue)
|
||||
dw BigDecompressionBuffer+$1D00 ; 31 - 10 bombs
|
||||
dw BigDecompressionBuffer+$15C0 ; 32 - Big key
|
||||
dw BigDecompressionBuffer+$1580 ; 33 - Map
|
||||
dw BigDecompressionBuffer+$0800 ; 34 - 1 rupee
|
||||
dw BigDecompressionBuffer+$0800 ; 35 - 5 rupees
|
||||
dw BigDecompressionBuffer+$0800 ; 36 - 20 rupees
|
||||
dw BigDecompressionBuffer+$0080 ; 37 - Green pendant
|
||||
dw BigDecompressionBuffer+$0080 ; 38 - Blue pendant
|
||||
dw BigDecompressionBuffer+$0080 ; 39 - Red pendant
|
||||
dw BigDecompressionBuffer+$0920 ; 3A - Tossed bow
|
||||
dw BigDecompressionBuffer+$08E0 ; 3B - Silvers
|
||||
dw BigDecompressionBuffer+$09A0 ; 3C - Full bottle (bee)
|
||||
dw BigDecompressionBuffer+$0960 ; 3D - Full bottle (fairy)
|
||||
dw BigDecompressionBuffer+$18C0 ; 3E - Boss heart
|
||||
dw BigDecompressionBuffer+$18C0 ; 3F - Sanc heart
|
||||
dw BigDecompressionBuffer+$0D20 ; 40 - 100 rupees
|
||||
dw BigDecompressionBuffer+$0D60 ; 41 - 50 rupees
|
||||
dw BigDecompressionBuffer+$0CC0 ; 42 - Heart
|
||||
dw BigDecompressionBuffer+$0DD0 ; 43 - Arrow
|
||||
dw BigDecompressionBuffer+$1880 ; 44 - 10 arrows
|
||||
dw BigDecompressionBuffer+$0CE0 ; 45 - Small magic
|
||||
dw BigDecompressionBuffer+$0DA0 ; 46 - 300 rupees
|
||||
dw BigDecompressionBuffer+$0000 ; 47 - 20 rupees green
|
||||
dw BigDecompressionBuffer+$09A0 ; 48 - Full bottle (good bee)
|
||||
dw BigDecompressionBuffer+$1C20 ; 49 - Tossed fighter sword
|
||||
dw BigDecompressionBuffer+$09A0 ; 4A - Bottle refill (good bee)
|
||||
dw BigDecompressionBuffer+$0040 ; 4B - Boots
|
||||
|
||||
; Rando items
|
||||
dw $04A0 ; 4C - Bomb capacity (50)
|
||||
dw $05A0 ; 4D - Arrow capacity (70)
|
||||
dw $01A0 ; 4E - 1/2 magic
|
||||
dw $01E0 ; 4F - 1/4 magic
|
||||
dw $00E0 ; 50 - Safe master sword
|
||||
dw $0420 ; 51 - Bomb capacity (+5)
|
||||
dw $0460 ; 52 - Bomb capacity (+10)
|
||||
dw $0520 ; 53 - Arrow capacity (+5)
|
||||
dw $0560 ; 54 - Arrow capacity (+10)
|
||||
dw $0 ; 55 - Programmable item 1
|
||||
dw $0 ; 56 - Programmable item 2
|
||||
dw $0 ; 57 - Programmable item 3
|
||||
dw $05E0 ; 58 - Upgrade-only silver arrows
|
||||
dw $0 ; 59 - Rupoor
|
||||
dw $0020 ; 5A - Nothing
|
||||
dw $0DE0 ; 5B - Red clock
|
||||
dw $0DE0 ; 5C - Blue clock
|
||||
dw $0DE0 ; 5D - Green clock
|
||||
dw $0 ; 5E - Progressive sword
|
||||
dw $0 ; 5F - Progressive shield
|
||||
dw $0 ; 60 - Progressive armor
|
||||
dw $0 ; 61 - Progressive glove
|
||||
dw $0 ; 62 - RNG pool item (single)
|
||||
dw $0 ; 63 - RNG pool item (multi)
|
||||
dw $0 ; 64 - Progressive bow
|
||||
dw $0 ; 65 - Progressive bow
|
||||
dw $0 ; 66 -
|
||||
dw $0 ; 67 -
|
||||
dw $0 ; 68 -
|
||||
dw $0 ; 69 -
|
||||
dw $0060 ; 6A - Triforce
|
||||
dw $11E0 ; 6B - Power star
|
||||
dw $0 ; 6C -
|
||||
dw $0 ; 6D - Server request item
|
||||
dw $0 ; 6E - Server request item (dungeon drop)
|
||||
dw $0 ; 6F -
|
||||
|
||||
dw BigDecompressionBuffer+$1580 ; 70 - Map of Light World
|
||||
dw BigDecompressionBuffer+$1580 ; 71 - Map of Dark World
|
||||
dw BigDecompressionBuffer+$1580 ; 72 - Map of Ganon's Tower
|
||||
dw BigDecompressionBuffer+$1580 ; 73 - Map of Turtle Rock
|
||||
dw BigDecompressionBuffer+$1580 ; 74 - Map of Thieves' Town
|
||||
dw BigDecompressionBuffer+$1580 ; 75 - Map of Tower of Hera
|
||||
dw BigDecompressionBuffer+$1580 ; 76 - Map of Ice Palace
|
||||
dw BigDecompressionBuffer+$1580 ; 77 - Map of Skull Woods
|
||||
dw BigDecompressionBuffer+$1580 ; 78 - Map of Misery Mire
|
||||
dw BigDecompressionBuffer+$1580 ; 79 - Map of Dark Palace
|
||||
dw BigDecompressionBuffer+$1580 ; 7A - Map of Swamp Palace
|
||||
dw BigDecompressionBuffer+$1580 ; 7B - Map of Agahnim's Tower
|
||||
dw BigDecompressionBuffer+$1580 ; 7C - Map of Desert Palace
|
||||
dw BigDecompressionBuffer+$1580 ; 7D - Map of Eastern Palace
|
||||
dw BigDecompressionBuffer+$1580 ; 7E - Map of Hyrule Castle
|
||||
dw BigDecompressionBuffer+$1580 ; 7F - Map of Sewers
|
||||
|
||||
dw BigDecompressionBuffer+$1140 ; 80 - Compass of Light World
|
||||
dw BigDecompressionBuffer+$1140 ; 81 - Compass of Dark World
|
||||
dw BigDecompressionBuffer+$1140 ; 82 - Compass of Ganon's Tower
|
||||
dw BigDecompressionBuffer+$1140 ; 83 - Compass of Turtle Rock
|
||||
dw BigDecompressionBuffer+$1140 ; 84 - Compass of Thieves' Town
|
||||
dw BigDecompressionBuffer+$1140 ; 85 - Compass of Tower of Hera
|
||||
dw BigDecompressionBuffer+$1140 ; 86 - Compass of Ice Palace
|
||||
dw BigDecompressionBuffer+$1140 ; 87 - Compass of Skull Woods
|
||||
dw BigDecompressionBuffer+$1140 ; 88 - Compass of Misery Mire
|
||||
dw BigDecompressionBuffer+$1140 ; 89 - Compass of Dark Palace
|
||||
dw BigDecompressionBuffer+$1140 ; 8A - Compass of Swamp Palace
|
||||
dw BigDecompressionBuffer+$1140 ; 8B - Compass of Agahnim's Tower
|
||||
dw BigDecompressionBuffer+$1140 ; 8C - Compass of Desert Palace
|
||||
dw BigDecompressionBuffer+$1140 ; 8D - Compass of Eastern Palace
|
||||
dw BigDecompressionBuffer+$1140 ; 8E - Compass of Hyrule Castle
|
||||
dw BigDecompressionBuffer+$1140 ; 8F - Compass of Sewers
|
||||
dw $0 ; 90 - Skull key
|
||||
dw $0 ; 91 - Reserved
|
||||
|
||||
dw BigDecompressionBuffer+$15C0 ; 92 - Big key of Ganon's Tower
|
||||
dw BigDecompressionBuffer+$15C0 ; 93 - Big key of Turtle Rock
|
||||
dw BigDecompressionBuffer+$15C0 ; 94 - Big key of Thieves' Town
|
||||
dw BigDecompressionBuffer+$15C0 ; 95 - Big key of Tower of Hera
|
||||
dw BigDecompressionBuffer+$15C0 ; 96 - Big key of Ice Palace
|
||||
dw BigDecompressionBuffer+$15C0 ; 97 - Big key of Skull Woods
|
||||
dw BigDecompressionBuffer+$15C0 ; 98 - Big key of Misery Mire
|
||||
dw BigDecompressionBuffer+$15C0 ; 99 - Big key of Dark Palace
|
||||
dw BigDecompressionBuffer+$15C0 ; 9A - Big key of Swamp Palace
|
||||
dw BigDecompressionBuffer+$15C0 ; 9B - Big key of Agahnim's Tower
|
||||
dw BigDecompressionBuffer+$15C0 ; 9C - Big key of Desert Palace
|
||||
dw BigDecompressionBuffer+$15C0 ; 9D - Big key of Eastern Palace
|
||||
dw BigDecompressionBuffer+$15C0 ; 9E - Big key of Hyrule Castle
|
||||
dw BigDecompressionBuffer+$15C0 ; 9F - Big key of Sewers
|
||||
|
||||
dw BigDecompressionBuffer+$1DC0 ; A0 - Small key of Sewers
|
||||
dw BigDecompressionBuffer+$1DC0 ; A1 - Small key of Hyrule Castle
|
||||
dw BigDecompressionBuffer+$1DC0 ; A2 - Small key of Eastern Palace
|
||||
dw BigDecompressionBuffer+$1DC0 ; A3 - Small key of Desert Palace
|
||||
dw BigDecompressionBuffer+$1DC0 ; A4 - Small key of Agahnim's Tower
|
||||
dw BigDecompressionBuffer+$1DC0 ; A5 - Small key of Swamp Palace
|
||||
dw BigDecompressionBuffer+$1DC0 ; A6 - Small key of Dark Palace
|
||||
dw BigDecompressionBuffer+$1DC0 ; A7 - Small key of Misery Mire
|
||||
dw BigDecompressionBuffer+$1DC0 ; A8 - Small key of Skull Woods
|
||||
dw BigDecompressionBuffer+$1DC0 ; A9 - Small key of Ice Palace
|
||||
dw BigDecompressionBuffer+$1DC0 ; AA - Small key of Tower of Hera
|
||||
dw BigDecompressionBuffer+$1DC0 ; AB - Small key of Thieves' Town
|
||||
dw BigDecompressionBuffer+$1DC0 ; AC - Small key of Turtle Rock
|
||||
dw BigDecompressionBuffer+$1DC0 ; AD - Small key of Ganon's Tower
|
||||
dw $0 ; AE - Reserved
|
||||
dw BigDecompressionBuffer+$1DC0 ; AF - Generic small key
|
||||
|
||||
dw $0 ; B0 -
|
||||
dw $0 ; B1 -
|
||||
dw $0 ; B2 -
|
||||
dw $0 ; B3 -
|
||||
dw $0 ; B4 -
|
||||
dw $0 ; B5 -
|
||||
dw $0 ; B6 -
|
||||
dw $0 ; B7 -
|
||||
dw $0 ; B8 -
|
||||
dw $0 ; B9 -
|
||||
dw $0 ; BA -
|
||||
dw $0 ; BB -
|
||||
dw $0 ; BC -
|
||||
dw $0 ; BD -
|
||||
dw $0 ; BE -
|
||||
dw $0 ; BF -
|
||||
dw $0 ; C0 -
|
||||
dw $0 ; C1 -
|
||||
dw $0 ; C2 -
|
||||
dw $0 ; C3 -
|
||||
dw $0 ; C4 -
|
||||
dw $0 ; C5 -
|
||||
dw $0 ; C6 -
|
||||
dw $0 ; C7 -
|
||||
dw $0 ; C8 -
|
||||
dw $0 ; C9 -
|
||||
dw $0 ; CA -
|
||||
dw $0 ; CB -
|
||||
dw $0 ; CC -
|
||||
dw $0 ; CD -
|
||||
dw $0 ; CE -
|
||||
dw $0 ; CF -
|
||||
dw $0 ; D0 -
|
||||
dw $0 ; D1 -
|
||||
dw $0 ; D2 -
|
||||
dw $0 ; D3 -
|
||||
dw $0 ; D4 -
|
||||
dw $0 ; D5 -
|
||||
dw $0 ; D6 -
|
||||
dw $0 ; D7 -
|
||||
dw $0 ; D8 -
|
||||
dw $0 ; D9 -
|
||||
dw $0 ; DA -
|
||||
dw $0 ; DB -
|
||||
dw $0 ; DC -
|
||||
dw $0 ; DD -
|
||||
dw $0 ; DE -
|
||||
dw $0 ; DF -
|
||||
dw $0 ; E0 -
|
||||
dw $0 ; E1 -
|
||||
dw $0 ; E2 -
|
||||
dw $0 ; E3 -
|
||||
dw $0 ; E4 -
|
||||
dw $0 ; E5 -
|
||||
dw $0 ; E6 -
|
||||
dw $0 ; E7 -
|
||||
dw $0 ; E8 -
|
||||
dw $0 ; E9 -
|
||||
dw $0 ; EA -
|
||||
dw $0 ; EB -
|
||||
dw $0 ; EC -
|
||||
dw $0 ; ED -
|
||||
dw $0 ; EE -
|
||||
dw $0 ; EF -
|
||||
dw $0 ; F0 -
|
||||
dw $0 ; F1 -
|
||||
dw $0 ; F2 -
|
||||
dw $0 ; F3 -
|
||||
dw $0 ; F4 -
|
||||
dw $0 ; F5 -
|
||||
dw $0 ; F6 -
|
||||
dw $0 ; F7 -
|
||||
dw $0 ; F8 -
|
||||
dw $0 ; F9 -
|
||||
dw $0 ; FA -
|
||||
dw $0 ; FB -
|
||||
dw $0 ; FC -
|
||||
dw $0 ; FD -
|
||||
dw $0 ; FE - Server request (async)
|
||||
dw $0 ; FF -
|
||||
|
||||
@@ -557,30 +557,30 @@ FileSelectItems:
|
||||
|
||||
;--------------------------------------------------------------------------------
|
||||
FileSelectDrawHudBar:
|
||||
LDA.w #$029B|!FS_COLOR_GREEN : %fs_draw16x8(0,10)
|
||||
LDA.l DisplayRupeesSRAM
|
||||
JSL.l HexToDec
|
||||
LDA.l HexToDecDigit2 : AND.w #$00FF : !ADD.w #$210+!FS_COLOR_BW : %fs_draw8x8(1,9)
|
||||
LDA.l HexToDecDigit3 : AND.w #$00FF : !ADD.w #$210+!FS_COLOR_BW : %fs_draw8x8(1,10)
|
||||
LDA.l HexToDecDigit4 : AND.w #$00FF : !ADD.w #$210+!FS_COLOR_BW : %fs_draw8x8(1,11)
|
||||
LDA.l HexToDecDigit5 : AND.w #$00FF : !ADD.w #$210+!FS_COLOR_BW : %fs_draw8x8(1,12)
|
||||
LDA.w #$029B|!FS_COLOR_GREEN : %fs_draw16x8(0,10)
|
||||
LDA.l DisplayRupeesSRAM
|
||||
JSL.l HUDHex4Digit_Long
|
||||
LDA.b Scrap04 : AND.w #$00FF : !ADD.w #$210+!FS_COLOR_BW : %fs_draw8x8(1,9)
|
||||
LDA.b Scrap05 : AND.w #$00FF : !ADD.w #$210+!FS_COLOR_BW : %fs_draw8x8(1,10)
|
||||
LDA.b Scrap06 : AND.w #$00FF : !ADD.w #$210+!FS_COLOR_BW : %fs_draw8x8(1,11)
|
||||
LDA.b Scrap07 : AND.w #$00FF : !ADD.w #$210+!FS_COLOR_BW : %fs_draw8x8(1,12)
|
||||
|
||||
LDA.w #$028B|!FS_COLOR_BLUE : %fs_draw16x8(0,14)
|
||||
LDA.l BombsEquipmentSRAM : AND.w #$00FF
|
||||
JSL.l HexToDec
|
||||
LDA.l HexToDecDigit4 : AND.w #$00FF : !ADD.w #$210+!FS_COLOR_BW : %fs_draw8x8(1,14)
|
||||
LDA.l HexToDecDigit5 : AND.w #$00FF : !ADD.w #$210+!FS_COLOR_BW : %fs_draw8x8(1,15)
|
||||
LDA.w #$028B|!FS_COLOR_BLUE : %fs_draw16x8(0,14)
|
||||
LDA.l BombsEquipmentSRAM : AND.w #$00FF
|
||||
JSL.l HUDHex2Digit_Long
|
||||
TYA : AND.w #$00FF : !ADD.w #$210+!FS_COLOR_BW : %fs_draw8x8(1,14)
|
||||
TXA : AND.w #$00FF : !ADD.w #$210+!FS_COLOR_BW : %fs_draw8x8(1,15)
|
||||
|
||||
LDA.l BowTrackingSRAM : AND.w #$0040 : BEQ +
|
||||
LDA.w #$0299|!FS_COLOR_RED : %fs_draw16x8(0,17)
|
||||
BRA ++
|
||||
+
|
||||
LDA.w #$0289|!FS_COLOR_BROWN : %fs_draw16x8(0,17)
|
||||
++
|
||||
LDA.l CurrentArrowsSRAM : AND.w #$00FF
|
||||
JSL.l HexToDec
|
||||
LDA.l HexToDecDigit4 : AND.w #$00FF : !ADD.w #$210+!FS_COLOR_BW : %fs_draw8x8(1,17)
|
||||
LDA.l HexToDecDigit5 : AND.w #$00FF : !ADD.w #$210+!FS_COLOR_BW : %fs_draw8x8(1,18)
|
||||
LDA.l BowTrackingSRAM : AND.w #$0040 : BEQ +
|
||||
LDA.w #$0299|!FS_COLOR_RED : %fs_draw16x8(0,17)
|
||||
BRA ++
|
||||
+
|
||||
LDA.w #$0289|!FS_COLOR_BROWN : %fs_draw16x8(0,17)
|
||||
++
|
||||
LDA.l CurrentArrowsSRAM : AND.w #$00FF
|
||||
JSL.l HUDHex2Digit_Long
|
||||
TYA : AND.w #$00FF : !ADD.w #$210+!FS_COLOR_BW : %fs_draw8x8(1,17)
|
||||
TXA : AND.w #$00FF : !ADD.w #$210+!FS_COLOR_BW : %fs_draw8x8(1,18)
|
||||
RTS
|
||||
;--------------------------------------------------------------------------------
|
||||
AltBufferTable:
|
||||
|
||||
@@ -12,7 +12,6 @@ HeartPieceGet:
|
||||
|
||||
.skipLoad
|
||||
|
||||
STZ.w ItemReceiptMethod ; 0 = Receiving item from an NPC or message
|
||||
|
||||
CPY.b #$26 : BNE .notHeart ; don't add a 1/4 heart if it's not a heart piece
|
||||
LDA.l HeartPieceQuarter : INC A : AND.b #$03 : STA.l HeartPieceQuarter : BNE .unfinished_heart ; add up heart quarters
|
||||
@@ -21,6 +20,8 @@ HeartPieceGet:
|
||||
.notHeart
|
||||
.giveItem
|
||||
JSL.l $0791B3 ; Player_HaltDashAttackLong
|
||||
STZ.w ItemReceiptMethod ; 0 = Receiving item from an NPC or message
|
||||
|
||||
JSL.l Link_ReceiveItem
|
||||
CLC ; return false
|
||||
JMP .done ; finished
|
||||
@@ -41,7 +42,6 @@ HeartContainerGet:
|
||||
; if for any reason the item value is 0 reload it, just in case
|
||||
JSL.l LoadHeartContainerRoomValue : TAY
|
||||
+
|
||||
|
||||
BRA HeartPieceGet_skipLoad
|
||||
;--------------------------------------------------------------------------------
|
||||
DrawHeartPieceGFX:
|
||||
|
||||
14
hooks.asm
14
hooks.asm
@@ -883,7 +883,8 @@ org $00D557 ; 5557 - Bank00.asm:3486 (LDA $00 : ADC $D469, X)
|
||||
JSL.l GetAnimatedSpriteBufferPointer : NOP
|
||||
|
||||
org $0799F7 ; 399F7 - Bank07.asm:4107 (JSL AddReceivedItem)
|
||||
JSL.l AddReceivedItemExpanded
|
||||
JSL.l AddReceivedItemLong
|
||||
;JSL.l AddReceivedItemExpanded
|
||||
|
||||
org $098611 ; 48611 - ancilla_init.asm:720 (LDA .item_target_addr+0, X)
|
||||
LDA.w ItemReceipts_target+0, X
|
||||
@@ -900,7 +901,7 @@ org $098635 ; 48635 - ancilla_init.asm:727 (LDA .item_values, Y)
|
||||
LDA.w ItemReceipts_value, Y
|
||||
|
||||
org $0986AA ; 486AA - ancilla_init.asm:848 (LDA .item_masks, X)
|
||||
LDA.w AddReceivedItemExpanded_item_masks, X
|
||||
LDA.w DungeonItemMasks, X
|
||||
|
||||
org $098769 ; 48769 - ancilla_init.asm:1005 (LDA .item_graphics_indices, Y)
|
||||
LDA.w ItemReceipts_graphics, Y
|
||||
@@ -927,8 +928,8 @@ LDA.l ItemReceipts_width, X
|
||||
org $08C6F9 ; 446F9 - ancilla_receive_item.asm:570 (LDA AddReceiveItem.properties, X)
|
||||
JSL CheckReceivedItemPropertiesBeforeLoad
|
||||
|
||||
org $08C70F ; 4470F - ancilla_receive_item.asm : 582 - (LDA.b #$00 : STA ($92), Y)
|
||||
JSL.l LoadNarrowObject
|
||||
;org $08C70F ; 4470F - ancilla_receive_item.asm : 582 - (LDA.b #$00 : STA ($92), Y)
|
||||
;JSL.l LoadNarrowObject
|
||||
|
||||
org $0985ED ; 485ED - ancilla_init.asm:693 (LDA $02E9 : CMP.b #$01)
|
||||
JSL.l AddReceivedItemExpandedGetItem : NOP
|
||||
@@ -1949,6 +1950,7 @@ JSL.l DrawHeartPieceGFX
|
||||
;--------------------------------------------------------------------------------
|
||||
org $05F08A ; <- 2F08A - sprite_heart_upgrades.asm : 324 - (LDA $7EF36B : INC A : AND.b #$03 : STA $7EF36B : BNE .got_4_piecese) item determination
|
||||
JSL.l HeartPieceGet
|
||||
JSL.l DynamicDrawCleanup
|
||||
JSL.l IsMedallion
|
||||
BCS + : BRA Sprite_EB_HeartPiece_handle_flags : + ; Don't change OW flags if we're
|
||||
STZ.w SpriteAITable, X : RTS ; getting a tablet item
|
||||
@@ -2518,7 +2520,3 @@ org $098C85 : JSL TransferItemReceiptToBuffer_using_GraphicsID
|
||||
; gt cutscene
|
||||
org $099BBE : JSL TransferItemReceiptToBuffer_using_GraphicsID
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
25
newhud.asm
25
newhud.asm
@@ -257,19 +257,24 @@ NewHUD_DrawMagicMeter:
|
||||
TAY
|
||||
|
||||
LDA.b FrameCounter
|
||||
AND.b #$0C
|
||||
REP #$30
|
||||
AND.w #$000C
|
||||
LSR
|
||||
BRA .recolor
|
||||
|
||||
.set_index ; this branch is always 0000 when taken
|
||||
REP #$30
|
||||
TDC
|
||||
.recolor
|
||||
TAX
|
||||
|
||||
LDA.l MagicMeterColorMasks,X
|
||||
|
||||
TYX
|
||||
TAY : AND.l DrawMagicMeter_mp_tilemap+0,X : STA.w HUDTileMapBuffer+$046
|
||||
TYA : AND.l DrawMagicMeter_mp_tilemap+0,X : STA.w HUDTileMapBuffer+$086
|
||||
TYA : AND.l DrawMagicMeter_mp_tilemap+0,X : STA.w HUDTileMapBuffer+$0C6
|
||||
TYA : AND.l DrawMagicMeter_mp_tilemap+0,X : STA.w HUDTileMapBuffer+$106
|
||||
TAY : AND.l DrawMagicMeter_mp_tilemap+0,X : STA.l HUDTileMapBuffer+$046
|
||||
TYA : AND.l DrawMagicMeter_mp_tilemap+2,X : STA.l HUDTileMapBuffer+$086
|
||||
TYA : AND.l DrawMagicMeter_mp_tilemap+4,X : STA.l HUDTileMapBuffer+$0C6
|
||||
TYA : AND.l DrawMagicMeter_mp_tilemap+6,X : STA.l HUDTileMapBuffer+$106
|
||||
|
||||
;===================================================================================================
|
||||
|
||||
@@ -338,3 +343,13 @@ HUDHex4Digit:
|
||||
RTS
|
||||
|
||||
;===================================================================================================
|
||||
|
||||
HUDHex2Digit_Long:
|
||||
JSR HUDHex2Digit
|
||||
REP #$20
|
||||
RTL
|
||||
|
||||
HUDHex4Digit_Long:
|
||||
JSR HUDHex4Digit
|
||||
REP #$20
|
||||
RTL
|
||||
|
||||
1025
newitems.asm
1025
newitems.asm
File diff suppressed because it is too large
Load Diff
5
ram.asm
5
ram.asm
@@ -264,6 +264,9 @@ TileMapTile32 = $7E0698 ; Tilemap location of new tile32 objects, such
|
||||
SkipOAM = $7E0710 ; Set to skip OAM updates. High byte written $FF with exploding walls
|
||||
OWScreenSize = $7E0712 ; Flags overworld screen size.
|
||||
;
|
||||
OAMBuffer = $7E0800 ; Main OAM buffer sent to OAM. $200 bytes.
|
||||
OAMBuffer2 = $7E0A00 ;
|
||||
;
|
||||
OWTransitionFlag = $7E0ABF ; Used for certain transitions like smith, witch, etc.
|
||||
;
|
||||
ItemGFXPtr = $7E0AFA ; Pointer for item receipt graphics transfers
|
||||
@@ -737,6 +740,8 @@ endmacro
|
||||
%assertRAM(TileMapTile32, $7E0698)
|
||||
%assertRAM(SkipOAM, $7E0710)
|
||||
%assertRAM(OWScreenSize, $7E0712)
|
||||
%assertRAM(OAMBuffer, $7E0800)
|
||||
%assertRAM(OAMBuffer2, $7E0A00)
|
||||
%assertRAM(OWTransitionFlag, $7E0ABF)
|
||||
%assertRAM(TreePullKills, $7E0CFB)
|
||||
%assertRAM(TreePullHits, $7E0CFC)
|
||||
|
||||
@@ -33,8 +33,6 @@ SpawnTabletItem:
|
||||
PHA
|
||||
JSL.l PrepDynamicTile
|
||||
|
||||
JSL.l GetSpriteID
|
||||
|
||||
LDA.b #$EB
|
||||
STA.l MiniGameTime
|
||||
JSL Sprite_SpawnDynamically
|
||||
|
||||
@@ -480,9 +480,8 @@ RTL
|
||||
PrepDynamicTile:
|
||||
PHA : PHX : PHY
|
||||
JSR.w LoadDynamicTileOAMTable
|
||||
JSL.l GetSpriteID ; convert loot id to sprite id
|
||||
;JSL.l GetAnimatedSpriteTile_variable
|
||||
JSL TransferItemReceiptToBuffer_using_GraphicsID
|
||||
JSL TransferItemReceiptToBuffer_using_ReceiptID
|
||||
SEP #$30
|
||||
PLY : PLX : PLA
|
||||
RTL
|
||||
;--------------------------------------------------------------------------------
|
||||
@@ -799,3 +798,21 @@ RTL
|
||||
;This feature makes it easy to draw the same tile repeatedly. If this bit is set, the length bits should be set to 2 times the number of copies of the tile to upload. (Without subtracting 1!)
|
||||
;It is followed by a single tile (word). Combining this this with the D bit makes it easy to draw large horizontal or vertical runs of a tile without using much space. Geat for erasing or drawing horizontal or verical box edges.
|
||||
;================================================================================
|
||||
|
||||
|
||||
DynamicDrawCleanup:
|
||||
PHA
|
||||
REP #$20
|
||||
LDA.w #$F000
|
||||
STA.w OAMBuffer
|
||||
STA.w OAMBuffer+$04
|
||||
STA.w OAMBuffer+$08
|
||||
STA.w OAMBuffer+$0C
|
||||
STZ.w OAMBuffer+$02
|
||||
STZ.w OAMBuffer+$06
|
||||
STZ.w OAMBuffer+$0A
|
||||
STZ.w OAMBuffer+$0E
|
||||
SEP #$20
|
||||
PLA
|
||||
RTL
|
||||
|
||||
|
||||
Reference in New Issue
Block a user