|
377
|
Oracles Hacking / Tools / Re: ZOSE - Zelda Oracles Script Editor [WIP]
|
on: October 30, 2010, 11:46:28 PM
|
|
No we won't. I'm pretty sure that's all assembly, but you never know. If there's anyone who would know the answer to that question, it's Jigglysaint. Even if we did know how the AI works, just remember, it's even hard in regular games so it'll surely be hard in these.
|
|
|
|
|
378
|
Oracles Hacking / Lists / Re: Music List (Ages)
|
on: October 30, 2010, 08:53:07 PM
|
We're also missing one song from this list.
46 - Black Tower Entrance.
Also, I've asked Fatories to edit the list with updated names so people won't have to test the songs themselves just to find what they're looking for. I'd rather people be able to look at the names and immediately know what the song is, y'know?
Actually, there's more music beyond 40 and before 4D, including one from somewhere in the ending 
|
|
|
|
|
379
|
Oracles Hacking / Discussion / The Power of RAM Editing - Custom Bosses via Regular Enemies
|
on: October 30, 2010, 09:41:30 AM
|
|
Well, I decided to take a brief 10 minutes and document the RAM that enemies take up, which is about 0x40 bytes at Dx80. Here's what I got:
Dx80 - In use byte Dx81 - Main ID Dx82 - Sub ID Dx84 - Enemy stage (For example, 09 in a stalfos is walk, 0A is prepare jump, 0B is jumping) Dx86 - Movement timer (How long to walk in a direction unless hits a collision) Dx89 - Movement direction. 00 = up, 08 - right, 10 = down, 18 = left Dx8B - Y Dx8D - X Dx9A - Not sure, but if < 80, enemy disappears Dx9B - Palette echo Dx9C - Palette DxA1 - Sprite index (current step) DxA2 - Lower byte of data DxA3 - Upper byte of data DxA4 - If bit 7 is set, the enemy is vulnerable DxA6 - Collision height radius DxA7 - Collision width radius DxA8 - Damage that gets dealt (FF - [value]) DxA9 - Health - A level 1 sword deals 2 damage DxAE - Frozen timer (boomerang hit)
Okay, so I just threw something at you that you probably have no idea about. What can we do with this? Why should you care? Because ZOSE is nearing its release, and the scripting engine can memory edit. Unless the spawning is changed, the enemies will end up placed in the same positions in RAM. Bosses take up this same space. Get where I'm going at? No? Well here's what. We can take ZOSE and using it alone, place 5 normal blue stalfos in a room and even control their movement patterns. Once you've killed 4, or all 5 and another one spawns, we can make the last one turn red. It will deal twice as much damage and require 5 times as many hits. Sounding familiar any LTTP fans? We could make it so you can't hurt it until you step on a trigger that freezes it for 3 seconds and you have that long to hit it. All this can be done with the power of ZOSE once I add a new opcode that will allow conditional jumps.
So how would we do all this? Simple. We'd take use of the spawnenemy command to firstly place the enemies, and once we killed em all by using the checkenemycount command, we spawn another one. If we want a trigger check, no problem, just use the checkmemorybit command. The enemy will be placed at D080 since it is the final one, so we know what to place in for x. Then, we can use the setmemory to set its health and how much damage it deals, only once. If we want the trigger to freeze the enemy, we set the boomerang freeze delay. With these kinds of things we can do stuff like make the monster auto heal, maybe steal Link's health, all that stuff, and simply with the power of ZOSE and a little imagination.
~Lin
|
|
|
|
|
380
|
Oracles Hacking / Lists / Sound List
|
on: October 30, 2010, 03:14:26 AM
|
|
Here it is. Some I couldn't identify. Thanks to Mue and Lucario for the help on some. The flutes may not be right, so feel free to correct anything wrong and see if anything exists past C0.
4D - Secret 4E - Ploop 4F - Sword charged 50 - Shovel against unbreakable material 53 - Jump 54 - Pulling a rock up 55 - Exit start/select menu 56 - Knocking something into water 5A - Wrong 5B - Special secret (Knocked the turtle enemies into the holes) 5C - Sound used when switching seasons 5E - Acquired a seed 60 - Low health beep 63 - Damaged a boss 64 - Link died 65 - Link fell down a hole 67 - Boss defeated 6A - No idea. Some sort of garble of trash. 6B - Powerswing 6C - Pushed an item into a hole (Click) 6D - Chopped grass 6E - Traveled downstairs 6F - Bomb blew up 70 - Bridge creation 71 - Pushed something heavy 72 - Lit something on fire 73 - Killed an enemy 74 - Sword swing 1 75 - Sword swing 2 78 - Sword swing 3 79 - HUGE explosion (Chaowowoah gurgle gurgle) 7D - Railcart light changing colors 7E - Color cube rotate 1 7F - Color cube rotate 2 80 - Cart moving 81 - Medium explosion 82 - Something like 80 86 - Nothing 89 - Advance text 8B - Capacity upgrade 8D - Teleport 8E - Switch hook swap 95 - The sound playing when you enter the game and the room is defuzzing 9A - Glitch 9B - Odd version of 4D 9D - Ricky's flute 9E - Dimmitri's flute 9F - Moosh's flute A2 - Compass telling you there's a key A4 - Beamos shot A5 - Rock destroyed A6 - Sword swing A8 - Something else destroyed? A9 - Shovel dig AA - Water flowing (Used in Ages when you push the stone, Seasons before Level 3) AB - Sounds like something being pushed into place AC - Hitting a Buzz Blob AD - Tune of Echoes AE - Tune of Currents AF - Tune of Ages B0 - Screen shaking (Earthquake) B1 - Gannon throwing energy B2 - Screen shaking (Earthquake) shorter B3 - Screen shaking (Earthquake) shortest B4 - Traveling somewhere... Represents a flow of energy B5 - That one balloon guy who gives you the map B6 - The green things on Level 3 island B8 - Screen shaking (Earthquake) Shorter than B2, Longer than B3 B9 - B4 but endless BA - Sounds like the Beamos shooting but isn't BB - Not sure. Kinda sounds like another beam BC - Something massive getting destroyed
~Lin
|
|
|
|
|
381
|
Oracles Hacking / Show Off / Custom Event
|
on: October 29, 2010, 02:44:18 AM
|
This is an old post, using an old version of ZOSE. Although the script code will still be provided and some of it can still be used as an example, it is outdated and it is recommended you don't follow it for your script if you are using ZOSE 1.05 or a later versionHere's something I made to test ZOSE. Surprisingly, it all worked great. http://www.youtube.com/watch?v=HTHGiBwLxvEHere's the code for it: writelocation 33FA6 setinteraction72 0 jump3byte 1BA3A
writelocation 1BA3A checkspecialflag setmusic 3A checkmemory d00b 66 setcoords 78 18 createpuff setdelay5 settile CE setdelay6 setdelay6 setcoords 28 28 playsound 41 createpuff setdelay5 setcoords 38 58 playsound 41 createpuff setdelay5 setcoords 68 68 playsound 41 createpuff setdelay6 setdelay6 spawnenemy 31 1 28 28 spawnenemy 31 1 38 58 spawnenemy 31 1 68 68 setmusic 2D checkenemycount setdelay5 setmusic 3A playsound 4D setcoords 28 78 createpuff setdelay5 settile F1 setroomflag 80 setcoords 0 0 ~Lin
|
|
|
|
|
383
|
Oracles Hacking / Tools / Re: ZOSE - Zelda Oracles Script Editor [WIP]
|
on: October 28, 2010, 05:30:53 AM
|
Okay. Although I haven't worked on ZOSE too much due to being sick, I did manage to fix all the interaction 72 and jump3byte (opcode FC) bugs. This is all it takes to make a chest appear with a puff and sound effect when you've killed all enemies: 
|
|
|
|
|
384
|
Other / General Discussion / Re: Spammers that dont spam?
|
on: October 27, 2010, 12:12:42 AM
|
|
Heh... That project died a while ago. It got a lot further than I had posted on the site, but when I stopped it I was too lazy to take it off my YouTube page. I'm surprised anyone actually visited it, and people actually waste their time signing up when nobody even views it. I'll keep it there for the lulz.
|
|
|
|
|
386
|
Oracles Hacking / Tools / Re: ZOSE - Zelda Oracles Script Editor [WIP]
|
on: October 25, 2010, 06:18:13 AM
|
Great news. Following up on the opcode FC change, I rewrote some stuff in ZOSE to allow creating more than one script at once, and later decompile one and decompile whatever it jumps to. In other news, I have created interaction 72 (I destroyed the old one and created my own) which is basically like interaction 20, except the scripts can be used from anywhere, including overworlds and dungeons. This means we can now use ZOSE to create any scripting event we want anywhere, which means hacks will become much better! Here's all it took: gb.WriteBytes(0x2BE09, new byte[] { 0x1E, 0x42, 0x21, 0x19, 0x7E, 0x1A, 0xDF, 0x2A, 0x66, 0x6F, 0xCD, 0x44, 0x25, 0xC3, 0x52, 0x25 }); gb.WriteByte(0x3C6F, 0x09); gb.WriteByte(0x3C70, 0x7E); This new script allows 243 scripts to be used (Sorry it's not 256. There wasn't enough space in bank 0xA). The only problem we face is the space we're left with in bank 0C, but each script we create will only need 6 bytes there. Pretty neat, huh?
|
|
|
|
|
387
|
Oracles Hacking / Tools / Re: ZOSE - Zelda Oracles Script Editor [WIP]
|
on: October 24, 2010, 10:59:52 PM
|
|
Good news. I have overwrote opcode FC, which was the final delay-setting opcode, and made it a 3-byte jump opcode. What happens is it reads from where you tell it to read and writes the bytes in the memory (At C300 since it seems vacant). Then it emulates the data there as normal, so now instead of being with limited space, we have the whole ROM to do as we please. However, we still need to use bank 0C to initialize things, so as soon as we set the write location, we do jump and set the write location to something else!
|
|
|
|
|
389
|
The Site / Announcements / In Need Of Help
|
on: October 24, 2010, 08:45:08 AM
|
|
Well, activity has been at an all-time low here at the home of ZOLE, and I need you fellow members to advertise. I'll be trying to do my share too, but I can only do so much. So if you could, tell your friends about ZOLE, post videos on YouTube spreading it, and have everyone you tell tell everything they know. You'd be doing me a huge favor and the more people I have wanting to use ZOLE, the more motivated I become to work on it!
Thanks a bunch,
~Lin
|
|
|
|
|
390
|
Oracles Hacking / Tools / Re: ZOSE - Zelda Oracles Script Editor [WIP]
|
on: October 24, 2010, 12:00:06 AM
|
|
Well, I've decided to give up on the emulator. There are too many things to worry about and it's too much work to test and work on. So, instead I'll be adding custom interactions and a patch in ZOLE that will allow the scripting of either any interaction or my own interaction ID. Sorry.
|
|
|
|
|