Advertisement
dragonbane

nice wrong warps

Dec 9th, 2019
371
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.85 KB | None | 0 0
  1. Drown replicate:
  2. 75, reduce air to 1 (test 71-76)
  3.  
  4. after grey, 9-10 frames until impact
  5.  
  6. 56-58 sword pull
  7.  
  8. 56 no
  9. 57 tested
  10. 58 tested
  11. 59 tested
  12.  
  13. Big Break:
  14. -Reset Links Exit ID value to 0x00 just when it gets set to 0x3F on death would allow Faron Twilight Clear (Coro's house), Eldin Twilight Clear, Lanayru Twilight Clear, Early Zora Armour, Early Snowpeak 2nd Half (without map glitch), potential earliest MS from Grove entrance
  15. -Forcing gstarts to stay locked at 0x00 would allow Early Desert, Faron Twilight Clear, Lanayru Twilight Clear, almost MDH skip if done after Morpheel (unlikely)
  16. -Being able to spawn the wagon escort wagon makes a void automatically take exit 0 on the Stage (unlikely)
  17.  
  18. Big Break 2:
  19. -Test fortune teller which story flags make her show City and AG heartpieces
  20.  
  21. Notes:
  22. -0x3F is always set exactly one time on game over start (not repeated). gstarts overwrite it again until you can trigger the load
  23. -Void death branches of Link execute at 0x800C9CF0 checkRestartRoom__9daAlink_cFv
  24. -Other deaths branch of checkDeadAction__9daAlink_cFi
  25. -Link execute at 0x800C9638 __ptmf_scall can call procLargeDamageUp__9daAlink_cFv
  26.  
  27. -detect a store halfword at address: IDA: , 0x3012( Ghidra: ,0x3012(
  28. -detect the general game over flag: Ghidra: ,0x2FE8(
  29. -Link class start: 0x8009d87c
  30.  
  31. General occurences:
  32. -daAlink_c::setAtCollision(void)
  33. -daAlink_c::procFallInit --> 0 and 1
  34. -daAlink_c::procFall --> -1
  35. -daAlink_c::procCoMetamorphoseInit --> 0
  36. -daAlink_c::procCoMetamorphose ---> 1
  37. -daAlink_c::onSceneChangeDead (used every frame from GStarts when dead)
  38. -daAlink_c::checkCutTurnCharge ---> incremental and 0 (originates from a proc)
  39. -daAlink_c::procCutNormalInit__9daAlink_cFi resets value to 0 at start, can originate at 0x800C9638 (same as death, bad)
  40. -daAlink_c::procCutFinishInit ---> 0
  41. -daAlink_c::procCutFinishJumpUpInit ---> 0
  42. -daAlink_c::procCutFinishJumpUpLandInit ---> 0
  43. -daAlink_c::procCutReverseInit ---> 0
  44. -daAlink_c::procCutTurnInit ---> incremental
  45. -daAlink_c::procCoLargeDamage ---> incremental or subtracting
  46. -daAlink_c::procGuardSlipInit ---> 0 or 1
  47. -daAlink_c::procGuardAttackInit ---> 0
  48. -daAlink_c::procGuardAttack ---> 0 or 1
  49. -daAlink_c::procCoPushMoveInit ---> 1
  50. -daAlink_c::procCoPushMove ---> 1 or 0
  51. -daAlink_c::procPullMoveInit ---> N/A
  52. -daAlink_c::procPullMove ---> 1 or 0
  53. -daAlink_c::cancelGoronThrowEvent ---> 1
  54. -daAlink_c::procGoatCatchInit ---> 0
  55. -daAlink_c::procSumouActionInit ---> 0
  56. -daAlink_c::procSumouAction
  57. -daAlink_c::procHorseCutInit ---> 0
  58. -daAlink_c::procHorseDamageInit
  59. -daAlink_c::procHorseRunInit ---> 0
  60. -daAlink_c::procHorseHangInit ---> 0 or 1
  61. -daAlink_c::procBoarRunInit ---> 0
  62. -daAlink_c::procCanoeWaitInit
  63. -daAlink_c::pprocBossBodyHangInit ---> 0
  64. -daAlink_c::procBossBodyHang ---> incremental
  65. -daAlink_c::procClimbUpStart ---> 0
  66. -daAlink_c::setSwimMoveAnime ---> 0 or 1 (originates from a proc)
  67. -daAlink_c::procHookshotFlyInit ---> 0
  68. -daAlink_c::procSpinnerWait --> variance
  69. -daAlink_c::procWolfSideStep
  70. -daAlink_c::procWolfFall
  71. -daAlink_c::procWolfDigInit
  72. -daAlink_c::procWolfGanonCatch
  73.  
  74.  
  75. ToDo:
  76. -Record oocoo wrong warp on KB1 map
  77. -Record TWW Exit ID 0 warp
  78.  
  79. Test:
  80. Figure out how after first hidden skill stores the return warp, can maybe save before Morpheel, beat MDH, howl in early hidden village, trigger skill at castle, store the warp, reset to pre Morpheel file and trigger another skill to wrong warp to EHC?
  81. 804b7d94 fishing rod play_camera can trigger a load to room ID 0, exit 2!? Since related to a cursor, this might be the return to henna message prompt in the fishing hole (resets on title screen)
  82.  
  83. Unlikely:
  84. -daAlink_c::skipPortalObjWarp (would need to fake an object warp for this, triggers ID: 0x02, possibly unused)
  85. -daAlink_c::checkWarpStart (triggerSpecialLoad can be triggered how?)
  86. -check this procWolfHowl r3, 0x3008(r31) (0x80130FCC) (can manipulate it?) (could clear faron, eldin, lanayru this way)
  87.  
  88. Outset/sea anywhere to FF2 (outside in water)
  89. majroom (FF 3 interior) to FF1 exterior
  90. ma2room (FF 1 interior) to FF2 (inside)
  91.  
  92. 8011ede4 = daPy_lk_c::changeDeadProc
  93. 8011f184 = daPy_lk_c::checkFallCode
  94.  
  95. 4 bytes at 0xC in STAG chunk must resolve to 0x7 for void to trigger special exit ID
  96.  
  97. what happens if there is no 0x00 = assert?
  98.  
  99. Twilight only clears when DK_tag with params:
  100.  
  101. FF0D0100
  102. 0.00
  103. 0.00
  104. -1.32
  105.  
  106. is present
  107.  
  108. Ooccoo exit is stored at STAG + 0x10
  109. Oocoo Item ID: 0x25
  110.  
  111. Cancelling a warp requires TriggerLoading to be set to 0 and the Event Flag stored 415 bytes later needs to be set to 0 or 2
  112.  
  113. GC:
  114. Actor: DK_tag:FF0D0100 found in F_SP108->Stage (Global)
  115. Actor: DK_tag:FF0D0100 found in F_SP109->Stage (Global)
  116. Actor: DK_tag:FF0D0100 found in F_SP110->Stage (Global)
  117. Actor: DK_tag:FF0D0100 found in F_SP111->Stage (Global)
  118. Actor: DK_tag:FF0D0100 found in F_SP112->Stage (Global)
  119. Actor: DK_tag:FF0D0100 found in F_SP113->Stage (Global)
  120. Actor: DK_tag:FF0D0100 found in F_SP115->Stage (Global)
  121. Actor: DK_tag:FF0D0100 found in F_SP116->Stage (Global)
  122. Actor: DK_tag:FF0D0100 found in F_SP126->Stage (Global)
  123. Actor: DK_tag:FF0D0100 found in R_SP108->Stage (Global)
  124. Actor: DK_tag:FF0D0100 found in R_SP109->Stage (Global)
  125. Actor: DK_tag:FF0D0100 found in R_SP209->Stage (Global)
  126.  
  127. Wii:
  128.  
  129.  
  130. Actor: DK_tag:FF0D0100 found in F_SP108->Stage (Global)
  131. Actor: DK_tag:FF0D0100 found in F_SP109->Stage (Global)
  132. Actor: DK_tag:FF0D0100 found in F_SP110->Stage (Global)
  133. Actor: DK_tag:FF0D0100 found in F_SP111->Stage (Global)
  134. Actor: DK_tag:FF0D0100 found in F_SP112->Stage (Global)
  135. Actor: DK_tag:FF0D0100 found in F_SP113->Stage (Global)
  136. Actor: DK_tag:FF0D0100 found in F_SP115->Stage (Global)
  137. Actor: DK_tag:FF0D0100 found in F_SP116->Stage (Global)
  138. Actor: DK_tag:FF0D0100 found in F_SP126->Stage (Global)
  139. Actor: DK_tag:FF0D0100 found in R_SP108->Stage (Global)
  140. Actor: DK_tag:FF0D0100 found in R_SP109->Stage (Global)
  141. Actor: DK_tag:FF0D0100 found in R_SP209->Stage (Global)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement