OoT-Randomizer icon indicating copy to clipboard operation
OoT-Randomizer copied to clipboard

Static addresses in hacks need to be updated for extended heap size.

Open mracsys opened this issue 3 years ago • 2 comments

Context: https://discord.com/channels/274180765816848384/512048482677424138/994123986994737202

The following is a list of most if not all hard-coded addresses in the asm files. Some of these should be replaced with dynamic addresses accounting for changes in the GI object segment in the heap. This is required for eventually supporting medallions and spiritual stones as in-world objects with reward shuffle, and possible custom models for keyrings.

Search regex: "j(al)? *[0-9]"

  C:\git\OoT-Randomizer-Fork\ASM\src\bigocto.asm (1 hit)
	Line 57:     jal     0x80020EB4       ;Actor_Kill 
  C:\git\OoT-Randomizer-Fork\ASM\src\bonk.asm (3 hits)
	Line  11:     jal     0x80390B18  ; func_80838178, static location as part of player overlay
	Line 137:     j       0x8038D018 ; skips jal 0x8006B6FC (OnePointCutscene_Init), static location as part of player overlay
	Line 137:     j       0x8038D018 ; skips jal 0x8006B6FC (OnePointCutscene_Init), static location as part of player overlay
  C:\git\OoT-Randomizer-Fork\ASM\src\boot.asm (1 hit)
	Line 28:     jal     0x80000DF0
  C:\git\OoT-Randomizer-Fork\ASM\src\cow.asm (1 hit)
	Line 39:     jal     0x80071A94
  C:\git\OoT-Randomizer-Fork\ASM\src\cutscenes.asm (11 hits)
	Line 198:     jal     0xD6218
	Line 362:     jal     0x800288B4
	Line 511:     jal     0x8006D8E0    ;Interface_ChangeAlpha, hide hud
	Line 518:     jal     0x800DD400    ;show song staff
	Line 552:     jal     0x800DCE14    ;show text
	Line 555:     jal     0x800646F0    ;play "correct" sound
	Line 563:     jal     0x8006FDCC     ;Item_Give
	Line 566:     jal     0x8006D8E0     ;Interface_ChangeAlpha, bring hud back
	Line 574:     jal     0x80022AD0     ;func_8002F334 in decomp, checks for closed text
	Line 640:     jal     0x800204D0     ;set switch flag
	Line 707:     jal     0x80020F88         ; set actor scale to 0.1
  C:\git\OoT-Randomizer-Fork\ASM\src\gossip_hints.asm (1 hit)
	Line 48:     jal     0x79B44
  C:\git\OoT-Randomizer-Fork\ASM\src\hacks.asm (25 hits)
	Line   46:     jal     0x800B8654
	Line   63:     jal     0x80057030 //memcopy
	Line   66:     jal     0x800B3D18
	Line   69:     jal     0x800B3DDC
	Line  102:     jal     0x80002E80
	Line  138:     jal     0x80081628          //check if object file is loaded
	Line  184: ;   jal     8006FDCC ; Give Item
	Line  275: ;   jal     0x80071420
	Line  298: ;   jal     0x8006FDCC
	Line  308: ;   jal     0x80071420
	Line  323: ;    jal     0x0006FDCC        ; call ex_06fdcc(ctx, 0x0071); VROM: 0xAE5D2C
	Line  330: ;    jal     0x000DCE14        ; call ex_0dce14(ctx, 0x00b4, 0)
	Line  368: ;   jal     0x80013498 ; Piece of Heart draw function
	Line  373: ;   jal     0x80013498 ; Collectable draw function
	Line  525: ;   jal     0x8002049C
	Line  728: ;   jal     0x800288B4
	Line  861: ;   jal     0xD6218
	Line  871: ;   jal     0x80057030 ; copies Scarecrow Song from active space to save context
	Line 1912: ; Replaces: jal     0x80022AD0
	Line 2141: ; Replaces: jal     0x800DD400 ;plays song demo
	Line 2211: ; Replaces: jal      0x8008C178
	Line 2232: ; Replaces: jal       0x8006B6FC
	Line 2237: ; Replaces: jal       0x8006B6FC
	Line 2242: ; Replaces: jal       0x8006B6FC
	Line 2296: ;Replaces: jal    0x800DD400
  C:\git\OoT-Randomizer-Fork\ASM\src\horseback_archery.asm (1 hit)
	Line 10:     jal     0x80022AD0          ; displaced call
  C:\git\OoT-Randomizer-Fork\ASM\src\item_overrides.asm (1 hit)
	Line 107:     jal     0x80071420
  C:\git\OoT-Randomizer-Fork\ASM\src\lake_hylia.asm (3 hits)
	Line  37:     jal     0x800DCE14
	Line  81:     jal 0x800255C4
	Line 167:     jal     0x80023108 
  C:\git\OoT-Randomizer-Fork\ASM\src\link_anim.asm (2 hits)
	Line  7:     jal     0x8008A194      ;SkelAnime_GetFrameCount            
	Line 26:     jal     0x8008C000       ;SkelAnime_ChangeLinkAnim
  C:\git\OoT-Randomizer-Fork\ASM\src\malon.asm (1 hit)
	Line 109:     jal     0x00020eb4
  C:\git\OoT-Randomizer-Fork\ASM\src\malon_hooks.asm (4 hits)
	Line  20:     jal     0x800DD400 ;show staff
	Line  76:     jal     0x800DCE14   ;show song text
	Line  79:     jal     0x800646F0   ;play "correct" sound
	Line 122:     jal     0x800DD464     ;returns dialog state
  C:\git\OoT-Randomizer-Fork\ASM\src\scarecrow.asm (2 hits)
	Line 38:     jal     0x57030             ; shift scarecrow song over by 1 note
	Line 48:     j       0x57030
  C:\git\OoT-Randomizer-Fork\ASM\src\timers.asm (2 hits)
	Line 10:     j       0x80073930 ; skip storing new timer state
	Line 13:     j       0x80073914 ; back to the normal code. 
  C:\git\OoT-Randomizer-Fork\ASM\src\time_travel.asm (1 hit)
	Line  49:     j       0x06F80C ; Swap Link Ages
  C:\git\OoT-Randomizer-Fork\ASM\src\twinrova_wait.asm (7 hits)
	Line  23:     jal     0x800CAA70     ;set background music
	Line  69:     jal     0x80064280     ;Math_SmoothScaleMaxF
	Line  79:     jal     0x80064280     ;Math_SmoothScaleMaxF
	Line 150:     jal     0x80022FD0     ;Audio_PlayActorSound2
	Line 162:     jal     0x80064280     ;Math_SmoothScaleMaxF
	Line 166:     jal     0x8008C9C0     ;Skelanime_FrameUpdateMatrix
	Line 169:     jal     0x80022FD0     ;Audio_PlayActorSound2

mracsys avatar Jul 06 '22 22:07 mracsys

What's the status here? Have the addresses not fixed in #1834 been confirmed to be fine?

fenhl avatar Mar 06 '23 21:03 fenhl

The only address I'm not sure about is the one in Malon's actor. The rest are in the code region and should be OK as far as I know. I reran the search on 7.1.74 and didn't see anything else outside code.

mracsys avatar Mar 06 '23 23:03 mracsys