Primary Zelda Hacking
April 21, 2014, 10:04:11 PM *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
News: Current Zelda Oracles Hacking Suite beta version: 0.05
 
   Home   Help Search Login Register  
Pages: [1]
  Print  
Author Topic: The Raft?  (Read 251 times)
Tii
Newcomer
*
Offline Offline

Posts: 6


View Profile
« on: January 16, 2011, 04:20:15 AM »

Hi, does anyone know how to get the raft introduced right before reaching Crescent Island into any point you want in the game? Or is this even possible?
Thanks in advance.
Logged
Jigglysaint
Hacking Guru
Full Member
*****
Offline Offline

Posts: 150


View Profile
« Reply #1 on: January 16, 2011, 03:25:26 PM »

Well according to the game, the Raft's ID is E6 01.  There must be somewhere in ram that tells the game that Link is on the raft.  The raft event is set when you get the rope and chart and talk to the raft guy, and I believe the raft disappears when you activate the Cressent island event.

I suppose it's possible to change it, but it would require alot of ASM, and require the termination of the Cressent island event(which in turns means even more free space).
Logged
Lin
ZOLE Creator
Administrator
Hero Member
*****
Online Online

Posts: 580



View Profile
« Reply #2 on: January 16, 2011, 09:12:27 PM »

If you want I'll create a patch for it. However, since ZOLE 1.14 won't be out for a bit, I'll tell you what byte(s) to change.

Open a hex editor and open your ROM. Navigate to 0x43E72. Change the bytes there to: CD F3 31

The raft will now appear no matter what.
Logged
Jigglysaint
Hacking Guru
Full Member
*****
Offline Offline

Posts: 150


View Profile
« Reply #3 on: January 16, 2011, 10:22:51 PM »

I can do one better:  43E6D:  18 06.  See, what's happening is the game is doing a check to see if a specific event is activated, and if not, 05 3B is where all nul interactions are sent.  That is to say that when an interaction is to disappear, that rouotine is where the game is sent to.  F3 31 is the routine that makes a check for global event flags.  In fact, it would be a good idea to compile a list of subroutines that do various things so that people can get an idea about how to ASM in certain events(if scripts won't allow).
Logged
Jigglysaint
Hacking Guru
Full Member
*****
Offline Offline

Posts: 150


View Profile
« Reply #4 on: January 16, 2011, 10:38:19 PM »

Edit:  Did a quick test.  I placed E601 inside a dungeon as a regular interaction, along with water.  It works perfectly, though I would believe that if it was placed as a static interaction, it would work much better.  Also only water and deep water tiles can be crossed.  If it's a pit, it's uncrossable.  If it's land, you disembark.  It should be possible for a raft to spawn due to a script.  It could also be possible to set up other qualifiers for the raft to appear, or even create multiple indexes that could allow for specific rafts to appear at specific times.  Since this code is near the end of the bank anyway, it should be very easy to retool it to have different indexes have different requirements.  Still need to test E6 00, which seems to control the first Dimitri event.
Logged
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2013, Simple Machines Valid XHTML 1.0! Valid CSS!