Jump to content

Random Questions


mzxrules
 Share

Recommended Posts

Two things for now. Does anyone know how item restrictions are set for 

  • Equipping equipment screen items for old/young link? (for allowing Child to equip a mirror shield)
  • Equipping C-Items to buttons (Child Megaton hammer, Adult Boomerang sort of deal)
  • Item restrictions for a particular scene
Link to comment
Share on other sites

Thanks for the inventory screen stuff. What are the "Offsets for Item Highlight" for?

 

Also remembered another thing, anyone know how to customize alternate scene setup loading? Like...

I know this much: According to my memory watcher, setups 0 - 3 are typically expected to be for child link day, night, adult link day, night, then setups 4+ are for cutscene setups. The hangup though is that this isn't true for Kokiri Forest... setup 2 is used for the adult version before the Forest Temple is cleared, while setup 3 is the after. 

 

Also, how do you set it so that the Sun's Song works in a dungeon?

Link to comment
Share on other sites

Without the "Item Highlight" the icon in the inventory screen won't have any color as if it's still disabled. You can select it but the icon will still be greyed out.

 

As for the alternate scene loading, you know about the 0x18 scene command right? Also, I don't think that Kokiri Forest has a night time? So perhaps they're using the night scene since there isn't technically a night time in the forest.

 

Also, I haven't looked into it but I'm pretty sure Sun's Song only works in "Outside" maps. Modifying the current time and skybox settings might reveal some insight on that.

Link to comment
Share on other sites

Without the "Item Highlight" the icon in the inventory screen won't have any color as if it's still disabled. You can select it but the icon will still be greyed out.

 

Huh... that's pretty silly.

 

As for the alternate scene loading, you know about the 0x18 scene command right? Also, I don't think that Kokiri Forest has a night time? So perhaps they're using the night scene since there isn't technically a night time in the forest.

 

Child Kokiri Forest does not have a nighttime version, but neither does Lot's of Pots. I played with this a little at the Lot's O Pots scene and what appears to happen is that if the game encounters a 00000000 record in the alternate headers list, it will try the previous index, and possibly if none of them work, it falls back on the main header. Was able to get this to work by setting the last header (Adult Night) to point back to the first scene header (Child Day, after the 0x18 command), causing the child music to play. So there must be something that manages the edge case stuff like Kokiri Forest.

 

Also, I haven't looked into it but I'm pretty sure Sun's Song only works in "Outside" maps. Modifying the current time and skybox settings might reveal some insight on that.

Not entirely true. The Sun's Song does not work in the Deku Tree scene, but it does so in the Boss Room scene.In any case, I found it... it's set by command 0x08, a map command of all things... must play around with this a bit.

Link to comment
Share on other sites

  • 2 weeks later...

Another couple questions: Do any moderators think that this thread should be moved to the Q & A section?

 

Second, a number core dungeon/puzzle related actors have different styles depending on the dungeon they're in, rather than setting a different actor variable (for example, sliding doors in Deku Tree are wooden where sliding doors in Shadow are metalic, and buttons in Jabu Jabu's belly). Is there a way to change what style of door is used? I want to be able to add a boss door/key doors to child dungeons.

Link to comment
Share on other sites

Second, a number core dungeon/puzzle related actors have different styles depending on the dungeon they're in, rather than setting a different actor variable (for example, sliding doors in Deku Tree are wooden where sliding doors in Shadow are metalic, and buttons in Jabu Jabu's belly). Is there a way to change what style of door is used? I want to be able to add a boss door/key doors to child dungeons.

http://wiki.spinout182.com/w/Modification_and_Addition_of_Switches#Alternate_Door_Skins

^ That should explain a lot of things. If you have trouble then try contacting Arcaith

How do I incorporate the codes into the game?

Patching codes is a common question around here; unfortunately, there is no simple singular answer. The difficulty can range from extremely easy where you only have to change a few values in the ROM... to dealing with advanced concepts such as creating an assembly routine in order to DMA a block of data from the ROM to RAM. The amount of difficulty really depends on the GS code. I would have to write a lot to explain it, but if you're interested you should look at this: http://spinout182.com/?a=z&p=zhk

How does one go about having child Link pick and use an adult item? I'd like to incorporate this in the mod, but there aren't tutorials on it.

I'll start by saying this: it's easier to have Adult Link use all weapons than it is for Child Link to use all weapons. In fact, I'm not even entirely sure if it's possible with Young Link. Anyways, porting items from the different aged Link's is a matter of combining the knowledge gained from these bits of information:

[*]Young and Old counterpart display list pointers: http://wiki.spinout182.com/w/Code_notes#Link_stuff

[*]Enabling icon selection and highlighting of the items via the item menu: https://sites.google.com/site/deathbasketslair/zelda/ocarina-of-time/hacking-information/adultchild-item-usability

[*]Display list porting between ZOBJ... Flotonic's program: http://www.the-gcn.com/topic/1192-display-list-porter/ or a manual tutorial (doesn't teach you how to port textures): https://sites.google.com/site/flotonic65/modding/n64zeldatut/portingdlists

The hardest items to port to Adult Link are the slingshot and the Deku sticks (and possibly the masks). The hardest things to port for Child Link are the bow and hookshot. I don't think the hookshot is possible. I haven't tried porting deku sticks or the hookshot yet, but here's something that will help for the slingshot/bow if you take the information used there and apply it with a couple of changes where needed: http://www.the-gcn.com/topic/1600-young-link-using-the-bow/

Link to comment
Share on other sites

The hardest things to port for Child Link are the bow and hookshot. I don't think the hookshot is possible.

 

Actually, I found out that you can make the hookshot function for young Link by changing a single byte in the ROM. Sanguinetti will have the details on that if you need to know, I don't have them available at the moment. I never did find out how the reposition the bow string though, its vertices seem to be pretty much in fixed positions on one or more axes so I don't know much about that. At this point it's completely possible to have both Links use all items afaik but to have them available to both at the same time would probably take much more work.

Link to comment
Share on other sites

Another couple questions: Do any moderators think that this thread should be moved to the Q & A section?

 

Second, a number core dungeon/puzzle related actors have different styles depending on the dungeon they're in, rather than setting a different actor variable (for example, sliding doors in Deku Tree are wooden where sliding doors in Shadow are metalic, and buttons in Jabu Jabu's belly). Is there a way to change what style of door is used? I want to be able to add a boss door/key doors to child dungeons.

For the alternate door skins, you should see the link provided by Jason777.

But for the buttons in Jabu Jabu's belly: They are another actor than the basic switch. The actor number of the basic switch is 012A, while the number of the Jabu Jabu switch is 00E6. Keep in mind that the Jabu Jabu switch is much more limited than the basic switch.

 

Thank you for reading!

Link to comment
Share on other sites

  • 2 months later...

Another thing.

 

I've been trying to build a list of cutscene pointer values for the purpose of discovering new wrong warping ideas, and one thing I've noticed is that some cutscenes like introduction cutscenes (cutscenes which play when entering a scene via a specific entrance the first time) are stored within scene files, but nothing within the scene file itself is pointed towards the cutscene. Does anyone know of a way to find all the cutscenes within a scene file?

Link to comment
Share on other sites

Nowhere near all of them. For example, the Deku Tree has no alternate headers, yet I've found that the intro cutscene for the Deku Tree is located at an offset of 0xB650 (for the debug rom, -0x10 for 1.0) from the start of the Deku Tree Scene file. 

 

In any case I discovered where the intro cutscenes are defined. Gonna spend some time to investigate it.

Link to comment
Share on other sites

  • 2 weeks later...

I really don't know as I've always just relied on a tool to do it for me :P I took a snippet of SoulofDiety's (KaminoTamashi) code...

printf("oknrecalculating crc...   ");   uint32_t crc[2], d, r, t1, t2, t3, t4, t5, t6 = 0xDF26F436;   t1 = t2 = t3 = t4 = t5 = t6;   rewind(fp);   fread(data, 1, 0x00101000, fp);   for (i = 0x00001000; i < 0x00101000; i += 4) {      d = (data[i] << 24) | (data[i + 1] << 16) | (data[i + 2] << 8) | data[i + 3];      if ((t6 + d) < t6) t4++;      t6 += d;      t3 ^= d;      r = (d << (d & 0x1F)) | (d >> (32 - (d & 0x1F)));      t5 += r;      if (t2 > d) t2 ^= r;      else t2 ^= t6 ^ d;      t1 += ((data[0x00000750 + (i & 0xFF)] << 24) | (data[0x00000751 + (i & 0xFF)] << 16) |            (data[0x00000752 + (i & 0xFF)] << 8) | data[0x00000753 + (i & 0xFF)]) ^ d;   }   crc[0] = t6 ^ t4 ^ t3;   crc[1] = t5 ^ t2 ^ t1;   crc[0] = (crc[0] >> 24) | ((crc[0] >> 8) & 0xFF00) | ((crc[0] << 8) & 0xFF0000) | ((crc[0] << 24) & 0xFF000000);   crc[1] = (crc[1] >> 24) | ((crc[1] >> 8) & 0xFF00) | ((crc[1] << 8) & 0xFF0000) | ((crc[1] << 24) & 0xFF000000);   fseek(fp, 0x10, SEEK_SET);   fwrite(crc, 1, 8, fp);   printf("okn");
Taken from: http://www.the-gcn.com/topic/2251-sods-software/?p=34693
Link to comment
Share on other sites

  • 4 weeks later...

I would like to know where the display lists for Link's bow is called. I have the offsets, but I want the location in ram/rom that loads those offsets when Link equips the bow. The actual MIPS code that is used. I tried digging for it, but the origins are still a mystery. It could be a stack point somewhere that loads it, and that's a pain in the arse to find.

Link to comment
Share on other sites

  • 4 weeks later...
I looked for this data as soon as you posted the question a while back, but my attempts came up blank. So I thought to approach it with my expanded knowledge and the answer is... predictable I'll say that much.
 
When you enter water the game looks at what four items you have equipped. Checks to see if they are either the Hookshot or the Longshot and blanks out everything else. To change what items are allowed you would change...
 
0x836A0 ROM: 0xAFA840 - 241F000A - Hookshot allowed to be used underwater. (Technically it passes through a check which tests the value against the current item)
0x836AC ROM: 0xAFA84C - 2401000B - Longshot allowed to be used underwater.
 
But this isn't all! While the icon will no longer be opaque, you won't be able to use the action associated with the item. Looks like they were thorough (a little needlessly so) for this particular part.
 
 
0x3D6198 ROM: 0xC04E98 - 24010010 - Hookshot Action allowed to be used underwater.
0x3D61AC ROM: 0xC04EAC - 24010011 - Longshot Action allowed to be used underwater.
 
Posted Image
 
While I wish I could find how to make all items usable underwater (though that would get a bit silly.) this should be good enough for now.
 
Refer to the list here...
 

Action Parameters Mapping
 
3F403C - 06 = Deku Stick
3F403D - 1B = Deku Nuts
3F403E - 12 = Bombs
3F403F - 08 = Bow
3F4040 - 09 = Fire Arrow
3F4041 - 1A = Din's Fire
3F4042 - 0F = Slingshot
3F4043 - 1C = Fairy Ocarina
3F4044 - 1D = OCarina of Time
3F4045 - 13 = Bombchu
3F4046 - 10 = Hookshot
3F4047 - 11 = Longshot
3F4048 - 0A = Ice Arrow
3F4049 - 18 = Farore's Wind
3F404A - 14 = Boomerang
3F404B - 42 = Lens of Truth
3F404C - 2E = Magic Beans 
3F404D - 07 = Megaton Hammer
3F404E - 0B = Light Arrow
3F404F - 19 = Nayru's Love
 
3F4050 - 1E = Swing Empty Bottle
3F4051 - 25 = Drink Red Potion
3F4052 - 27 = Drink Green Potion
3F4053 - 36 = Drink Blue Potion
3F4054 - 2A = Letting Fairy out of Bottle
3F4055 - 1F = Empty Bottle containing Fish
3F4056 - 28 = Drinks Empty Bottle? (Lon Lon Milk Maybe?)
3F4057 - 24 = Ruto's Letter in Bottle
3F4058 - 20 = Empties Bottle containing Blue Fire
3F4059 - 21 = Empties Bottle containing Bugs
3F405A - 23 = Shows bottle containing Big Poe
3F405B - 29 = Drinks Empty Bottle? (Lon Lon Milk Maybe?)
3F405C - 22 = Drinks Poe
 
3F405D - 2C = Shows Egg 
3F405E - 2D = Shows Cucco  
3F405F - 2B = Shows Zelda's Letter 
3F4060 - 3A = Put Keaton Mask On
3F4061 - 3B = Put Skull Mask On
3F4062 - 3C = Put Spooky Mask On
3F4063 - 3D = Put Bunny Hood On
3F4064 - 3E = Put Goron Mask On
3F4065 - 3F = Put Zora Mask on
3F4066 - 40 = Put Gerudo Mask On
3F4067 - 41 = Put Mask of Truth On
 
3F4068 - 03 = Swings Sword (Likely used for "Sold Out"
3F4069 - 2F = Shows Egg (Likely Adult version) - 03
3F406A - 30 = Shows Pocket Cucco  - 04
3F406B - 31 = Shows Cojiro - 05
3F406C - 32 = Shows Mushroom
3F406D - 33 = Shows Odd Potion
3F406E - 34 = Shows Poacher's Saw
3F406F - 35 = Shows Broken Goron's Sword
3F4070 - 36 = Shows Prescription
3F4071 - 37 = Shows Eyeball Frog
3F4072 - 38 = Shows Eyedrops
3F4073 - 39 = Shows Claim Check
 
3F4074 - 09 = Fire Arrow
3F4075 - 0A = Ice Arrow
3F4076 - 0B = Light Arrows
 
3F4077 - 04 = Swings Sword (Kokiri Sword) 
3F4078 - 03 = Swings Sword (Master Sword)
3F4079 - 05 = Pulls out Two-Handed Sword

 
  • Like 1
Link to comment
Share on other sites

I can understand those problems.

 

I had problems with this in RAM, if you didn't breakpoint of a write on the changed value it wouldn't count and even then if you didn't follow the command through while in a breakpoint for the action mapping it acted as if unchanged. Thankfully changing it in ROM changes it for everything.

Link to comment
Share on other sites

 Share

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.