Jump to content

DeathBasket

Member
  • Posts

    451
  • Joined

  • Last visited

  • Days Won

    17

Everything posted by DeathBasket

  1. It's basically 0xFFFx where x would be the cutscene number from the map select. There's no master list as they are map/scene-specific. If it's a higher number than the number of cutscenes the map/scene has then it'll either crash or load a different scene because there's no entry in the exit table for the cutscene you're trying to load. Example: If you tried to load cutscene 0 in the Deku Tree's boss room (which has no cutscenes) the game would load the Shadow Temple boss room instead because that's the next thing in the exit table. Interestingly this also happens if no cutscene is being loaded but the game was left in cutscene mode.
  2. That's because it tries to load cutscene 1 in any area you give it. When you create a file the game writes the cutscene number of the first map that has to be loaded to that file's data. That number is at 0xB2046A in ROM (0xFFF1 - cutscene 1) so by changing it you can start with any cutscene. iirc 0xFFEC, 0x0000 or 0x0800 are the values the game uses when no cutscene should be loaded. Keep in mind that you have to create a new file each time you change that number or it will not be written to the file's data.
  3. Just a side project I started so I could "take a break" from other hacks... I aim to have you fight all the bosses in a row and time it, rather like . Equipment will be updated after each fight so you'll have the necessary items and I'll have 4 difficulty levels which will just change the amount of damage you receive. The options are working at the moment but that's all. The screen you see replaces the map select and appears when you exit the title screen.I'll probably post this in the community projects forum or something when it's had a little more work.
  4. If it doesn't work this time then PM me a patch of your ROM so I can check what you've done and see why it's not working.
  5. Are you sure you haven't done something wrong? It works perfectly for me in Nemu and PJ64.
  6. What's the error? Did you remove the 16 bytes of code at 0x00018F30 that you wrote last time (needs to be 16 bytes of 00 there)?
  7. Works fine on Nemu for me but you're right about Project 64. To get it to work on Project 64 you need to leave a blank line at the end of the file table. Go back to 0x00B05D24 in ROM and write this line instead: 0800 735C Then write the rest of the code at 0x00018F40 rather than 0x00018F30 and fix the CRC again.
  8. Okay. We need a RAM address that's always going to be in the same spot and isn't going to be overwritten. We can use 0x8001CD60, which is free space at the end of the file table (thanks petrie911). So now we need to convert these RAM addresses to ROM addresses. 0x8008EB84 is in code, at 0x00B05D24 in ROM. Go there and write: 0800 7358 0009 5080 The rest of the code will now be at 0x8001CD60, which turns out to be at 0x00018F30 in ROM so go there and write: 8068 0068 2508 FFC4 1408 0005 014E 7821 3C0E 8012 25CE 5E3C 51CF 0001 25EF FFF0 0802 3AE3 0000 0000 You'll now have to fix the CRC because of where the code was inserted.
  9. First I was like "wat" and then I remembered I posted that code over two years ago, heh. The code I posted earlier in this thread will do exactly the right thing as long as you fix the pointers in ROM that I mentioned. Give it a try. http://core.the-gcn.com/public/style_emoticons/default/thumbsup.gif
  10. Looking good. I prefer the rock to the sand because the sand looks a little out of place here, it's too bright. One thing I would say is that the texture on the bridge needs changing because it looks too unrealistic (a bridge is not one solid piece of wood).
  11. Couldn't we rewrite it as a linear search or would that be too slow in some cases?
  12. I believe Sanguinetti is referring to the texture files themselves, not how they display in-game. Textures output from spinout's wotf.py appear noticeably darker than the original images, as if their brightness was reduced by half. I'd dig out an example but I should be getting to bed about now.
  13. This is looking great. I take it the map in your viewer is before conversion? Do you have any plans for converting to just a display list rather than a map/scene?
  14. Yes. Re-read the post, you just need to correct some pointers to point to your new model.
  15. To be honest I'm not entirely sure what they are, I just know you need to use the same one as the GI object you're replacing uses. As an example, let's say you're replacing the boomerang's chest entry. At 0xC224E2 we see: 0E 80 34 35 00E8 0E = item 80 = flag (?) 34 = shader 35 = message 00E8 = object So to get the Master Sword from this you would just change the item number to 3C, then swap the boomerang's model with your sword. You'd then have: 3C 80 34 35 00E8 But if you changed the object number then you'd have to update the shader. So if your model replaced the GI object for Zelda's Letter instead for example: The entry for your item would now be: 3C 80 3B 35 00EF So then by using a chest with the variable that usually gives you the boomerang you'd get the Master Sword but Zelda's Letter would show up as the GI object and the text would be for the boomerang. Sorry if what I said isn't totally correct, it's been ages since I did this.
  16. Oh, did you mean receiving the item from a chest? In that case, read this. The Master Sword is item 3C, but you'll have to make your own GI object for it. The shader should be the same as for the object you replace. To make it work properly: .org 0x8008EB84 j 0x80700000 sll t2,t1,0x2 .org 0x80700000 lb t0,0x0068(v1) //get b button equip addiu t0,t0,0xFFC4 //-0x3C (Master Sword value) bne t0,$zero,end //if it's not equipped then go to end addu t7,t2,t6 lui t6,0x8012 addiu t6,t6,0x5E3C //what pointer should be if sword is being used beql t7,t6,end //if equal to what pointer is addiu t7,t7,0xFFF0 //-0x10 from it end: j 0x8008EB8C nop gameshark: That will load the (unused?) pointer from 0x10 before the pointer it usually loads if the Master Sword is equipped. You'll want to change the pointers at 0xB9CFCC and 0xB9CFD4 in ROM to point to your new model. If you want to patch the code to ROM then I can show you how and where to put it.
  17. >this >this, but the Master Sword is a special case and needs a hack to work which I'll post tomorrow >I can't help with that one, sorry.
  18. DeathBasket

    Questions...

    You should be able to just select all and then right click and choose reverse faces.
  19. There's probably a pointer somewhere in code to the display list in the object (06xxxxxx), they exist for most (or all) gi objects iirc. You'd need to find and correct it for the object to load. What spinout said would be the best way though.
  20. Found it on google images once when I was looking for a new background; couldn't be bothered to make one at the time. Same goes for the second one though I did edit the colours a little.
  21. currently or sometimes And on the topic of emulators, I much prefer Nemu64 for hacking as it has proper debugging features and is more likely to work even if there's a problem with your hack so it's easier to find and correct it. It also runs pretty smoothly most of the time. I use Project64 just for general gaming because it has a much better controller plugin and less latency in the audio.
  22. Some more stuff I found: Screen transition effects: 0000002D 00000001 xxxx yyyy zzzz zzzz? x = transition (probably the same as entrance/exit transitions) y = start frame z = end frame (seems to be repeated) Exits: 000003E8 00000001 xxxx yyyy zzzz zzzz? x = index for a list of addresses at 8013AF78, the machine code at these addresses sets the exit number to use y = start frame z = end frame (seems to be repeated) End of cutscene data: FFFFFFFF I'll update the wiki page with this too in a bit.
  23. I don't know what the price will actually drop to here, RRP is currently around £230 (about $380 USD). Getting a few free games sounds nice though.
  24. working on getting Saria to follow me...
×
×
  • Create New...

Important Information

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