Register | Login | |||||
Main
| Memberlist
| Active users
| Calendar
| Chat
| Online users Ranks | FAQ | ACS | Stats | Color Chart | Search | Photo album |
| |
0 users currently in ROM Hacking. |
Acmlm's Board - I3 Archive - ROM Hacking - Bosses Drop Heart Pieces -- Zelda 3 ASM Hack | New poll | | |
Pages: 1 2 | Add to favorites | Next newer thread | Next older thread |
User | Post | ||
Reshaper256 190 Since: 11-17-05 From: United States Last post: 6473 days Last view: 6430 days |
| ||
Hey, I recently completed a small hack for Zelda 3 which changes all the heart *containers* dropped by bosses into heart *pieces*. While I've tested this hack a lot myself, I have concerns that the way I've managed to get the pendants/crystals to actually fall after collecting the heart piece may cause other heart pieces in the game to *reappear* after getting them and leaving the room. I have tested this myself, and haven't yet found a situation in which this actually occurs - but I really don't understand why this problem isn't coming up, if I understand how the SRAM is supposed to work. I'm posting this here if anyone is bored/curious and wants to try it out - and so I can get some feedback on any bugs I've missed and whatnot.
So enough said, I guess... You can download the most recent version here: bossheartsv11.zip I've included four different versions you can apply in the above ZIP file: ASM headerless, ASM headered, IPS headerless, and IPS headered. Just go to the directory that suits you best, and apply whatever one you like, depending on your ROM (headered/headerless) - they're all the same hack, just different versions of patches for your convenience. edit: New version of the hack - now minibosses don't drop heart pieces, and I'm sure that heart pieces won't start reappearing after you collect them. (edited by Reshaper256 on 05-27-06 10:41 PM) |
|||
Deleted User Banned Since: 05-08-06 Last post: None Last view: 6431 days |
| ||
How long did this take? | |||
spel werdz rite Since: 11-19-05 Last post: 6431 days Last view: 6430 days |
| ||
If you could find a way so that the bosses don't drop heart containers after you beat them once, that would be nice! | |||
noha420 Paragoomba Since: 05-17-06 Last post: 6432 days Last view: 6482 days |
| ||
Always cool, thanks for sharing. Are you going to do more work on this? | |||
Reshaper256 190 Since: 11-17-05 From: United States Last post: 6473 days Last view: 6430 days |
| ||
Originally posted by PhinsfanAbout a day, mostly because I didn't have any savestates and had to actually play through the game to get to all the bosses. Of course, this isn't a very complicated hack. It was pretty easy to locate the values that control what item is dropped by each boss - actually most of them are the *same* value, and is tied into the 'exploding' boss death routine. The only hard part was really determining what actually causes the pendant/crystal to drop, which turned out to be in the code for the heart container. The code for the heart container sets bit 7 of $0403 in RAM - and when this bit is set, the game knows that the boss has been defeated, the heart container has been picked up, and it needs to drop the pendant/crystal. I altered some of the code for the heart *piece* so that it also sets that bit when it is collected, causing the treasure to fall. Originally posted by spel werdz rite +Do you mean making it so bosses reappear in the boss-rooms even after you beat them, so you can fight them again - but also so that you would only receive a heart and pendant/crystal the first time you won the fight? That's an interesting thought... I'll store that one away. Originally posted by noha420Yes, I actually want to try to make a hack that would allow *any* boss to drop *any* item you wanted it to. That would be many times more complicated, however - this was a very simple hack, as you can tell if you go in and look at the ASM file. |
|||
Euclid Since: 11-17-05 From: Australia hmm... Last post: 6437 days Last view: 6431 days |
| ||
Regarding making sure the mid bosses dont' drop hearts, make the kill boss again header work for all dungeons, currently it's hardcoded to the last dungeon, and it only requires the nop of a branch to make it work for all. | |||
Ninetales banned by request Since: 11-17-05 From: Gone. Last post: 6431 days Last view: 6431 days |
| ||
Would it have been easier to simply change the code for the heart container to make it act like a heart piece, but with the added code needed to drop the crystal? It would (I think) alleviate the problem of other heart pieces reappearing if they were different sprites altogether.
--Kamek77 |
|||
Reshaper256 190 Since: 11-17-05 From: United States Last post: 6473 days Last view: 6430 days |
| ||
It wouldn't have been easier, but yeah, I also had that idea when starting the hack. The problem I had with doing it that way is that it keeps you from using heart containers elsewhere in the game (unless you went in and changed the heart *piece* code into a heart container as well...) but like a said, this was pretty easy to do.
All this hack does is change the items dropped by the bosses to heart pieces, and makes it so the heart pieces still cause the treasure to drop - and actually I've went back in and fixed what I *thought* could cause heart pieces to reappear, so that now I'm sure they won't. It was actually a simple oversight - when I first changed the values that are written to $0403, I didn't really know why it worked, just that it did. I changed them from #$40 (setting bit 6) and #$20 (setting bit 5), both to #$80 so they would always set bit 7 and the treasure would drop. Now that I understand that that's why it worked, I went in and changed it so that they set the "old" bits they were supposed to, along with bit 7 - so I don't think the whole 'heart pieces reappearing' thing will be a problem anymore. Before I post an updated version of the hack, however, I also want to take care of the biggest problem concerning this hack, which is that it allows the "mini-bosses" in Ganon's Tower to drop heart pieces, meaning you could go back in and fight them repeatedly, and they'd just keep dropping more heart pieces. It shouldn't be too hard to fix - all I have to do is move the code that Euclid mentioned above from the heart container's routine to the heart piece's routine, so that the heart piece checks the dungeon it's in, and if it's Ganon's Tower, it self-terminates before it appears. (edited by Reshaper256 on 05-26-06 02:05 PM) |
|||
Euclid Since: 11-17-05 From: Australia hmm... Last post: 6437 days Last view: 6431 days |
| ||
I got a codes for you.
05EF4CC9 and it's done, the kill boss again will work in all dungeons (that is including caves) |
|||
Dude Man Shyguy Since: 11-18-05 From: Wareham MA Last post: 6482 days Last view: 6482 days |
| ||
I have an interesting story.
I was play testing Agahims dungeon for Zelda DP. I set a hole and forgot to change it's pointer and when going down landed in the boss room of Dungeon two. Which at the time was the same room Arghus was in in the original. And Arghus was the boss. I killed him just for kicks and a medallion dropped instead of the pendant. Not just graphically either. and as a side note. I was using the mountain tower boss room so the pendant fell in the middle of the room. -Fell into boss room of another dungeon -Was using the Mountain tower boss room which made the pendant fall in the middle -was fighting Arghus in his room from the original -pendant was replaced with a medallion. This was a while ago... maybe a year. I haven't replecated the glitch yet. |
|||
Reshaper256 190 Since: 11-17-05 From: United States Last post: 6473 days Last view: 6430 days |
| ||
Originally posted by EuclidOh, this is a game genie code, lol, it took me a while to figure that out. I've never actually messed with them in hacking before. So what this code does is changes $05:EF4C from a BNE (branch if we're not in Ganon's tower) to a CMP, which basically causes it to do nothing, so the game will always assume you are in Ganon's tower when it drops the heart container, thus causing the container to *self destruct*. The problem with this code is that it won't allow even regular bosses to drop heart containers, therefore you wouldn't be able to collect the pendants/crystals either. You probably already know that, though. I've already made a work-around for this hack that JSLs to a new routine before it does the heart *piece* code, which checks whether you are in one of the three rooms which contain minibosses, and if so, it kills the heart piece before it even appears. And since this new check is room-based instead of dungeon-based, it'll enable you to put minibosses in any dungeon, and just add their rooms to the list of miniboss rooms to check. (Of course, assuming you're also using this hack to make all bosses drop heart pieces.) Originally posted by Dude ManI've actually encountered a similar situation, easy to replicate - just walk into the room with the Agahnim battle (I did it in the first one, but both may work) with the value at $0403 in RAM frozen as #$80: Agahnim won't be there, and the ether medallian will drop. Here, I'll even attach an SNES9x savestate, right at Agahnim: |
|||
Euclid Since: 11-17-05 From: Australia hmm... Last post: 6437 days Last view: 6431 days |
| ||
That gets the "Kill boss again" header working, so in a room where that room header does not exist and instead have say the normal "Clear room to end level" or something, the game acts normally when you kill the boss and drops the heart container (or whatever you set them to), just look in Hyrule Magic if you don't get what i mean, it works, you don't need any other asm code to make it work.
As for the Agahnim 1 dungeon, that's normal when it drops a ether medallion, that's why that door is locked after you beat him. |
|||
Reshaper256 190 Since: 11-17-05 From: United States Last post: 6473 days Last view: 6430 days |
| ||
That is a game genie code, right?
Could you explain how it affects the kill boss again tag? From what I can see, it edits a value in the middle of the heart container's 'self destruct' routine, making all heart containers in the game instantly disappear when they try to spawn onto the screen. I enabled the code and beat Trinexx in an unaltered ROM, and it didn't drop a heart container, leaving me stranded in the bossroom when I couldn't make the crystal fall down. In my hack it wouldn't even affect heart *pieces* because it doesn't edit anything in the heart piece code; the edit is in the heart container code. By the way, I've completed a new version of the hack - now minibosses don't drop heart pieces, and I'm sure that heart pieces won't start reappearing after you collect them. You can download the most recent version here: bossheartsv11.zip (edited by Reshaper256 on 05-28-06 12:23 AM) (edited by Reshaper256 on 05-28-06 12:24 AM) (edited by Reshaper256 on 05-28-06 12:28 AM) |
|||
MathOnNapkins 1100 In SPC700 HELL Since: 11-18-05 Last post: 6431 days Last view: 6430 days |
| ||
As I recall, the "Kill Boss Again" tag does pretty much nothing. Might just be a placeholder. | |||
Dude Man Shyguy Since: 11-18-05 From: Wareham MA Last post: 6482 days Last view: 6482 days |
| ||
Like what Euclid said, The kill boss again tag is enabled only in Agahim 2 (or any entrance that uses it)
Other dungeons/houses/caves can not use that tag. |
|||
Reshaper256 190 Since: 11-17-05 From: United States Last post: 6473 days Last view: 6430 days |
| ||
What do you and Euclid think this tag does? MON just said that it "does pretty much nothing", so are you two saying that the tag has some sort of effect he doesn't know about? If MON's right, I see no reason to even worry about the tag. (edited by Reshaper256 on 05-28-06 12:14 PM) |
|||
MathOnNapkins 1100 In SPC700 HELL Since: 11-18-05 Last post: 6431 days Last view: 6430 days |
| ||
well... I tested it out in the lanmolas' room in Ganon's Tower while disabling the SW Kill enemy to open door. While the 'kill boss again' tag seems to do some of the same work that the 'sw kill enemy to open door' tag might do, it wasn't enough to open the doors. It just checks to see if all sprites in the room are dead and returns a value based on that. It then zeroes out its tag value, and zeroes out $7E0FFC. I don't know what $0FFC is used for at this point.
So yeah, I'm having a hard time seeing how this tag is useful. |
|||
Euclid Since: 11-17-05 From: Australia hmm... Last post: 6437 days Last view: 6431 days |
| ||
Didn't i like told you what that tag does already?
Kill boss again with agahnim 2 as dungeon with a boss in the room = no heart drop. With that code you can eliminate the agahnim 2 bit and apply it to every dungeon/caves/house/whatever room. |
|||
MathOnNapkins 1100 In SPC700 HELL Since: 11-18-05 Last post: 6431 days Last view: 6430 days |
| ||
Originally posted by Euclid In clear English, no. I looked at the code for "Kill Boss Again," it does not appear to do anything useful. |
|||
Reshaper256 190 Since: 11-17-05 From: United States Last post: 6473 days Last view: 6430 days |
| ||
Originally posted by EuclidI was basically asking both of you for a better explanation of what you thought the tag did, since MON had just said that it didn't do anything. I could have either asked you to explain your thinking a little better - or I could have just decided that you were totally wrong and that MON was right about it, without even asking you again why you thought the tag was so important. Originally posted by EuclidOkay, now I clearly see why you wanted me to do this to start with: 1. You believed that the "kill boss again" tag is needed for bosses to not drop hearts. 2. You believed that the code you gave me will stop *any* item from being dropped from a boss, including heart *pieces*. The "kill boss again" tag isn't why hearts don't drop in those miniboss rooms - the game won't allow heart containers *anywhere* in Ganon's Tower, even in rooms without the "kill boss again" tag. The heart container code always checks what dungeon you're in, and makes the heart container instantly "go away" when you're in any room of Ganon's Tower. This will occur with or without the "kill boss again" tag being set in the room. Also, the code you gave me only affects bosses dropping heart *containers* - if the boss is dropping a heart *piece*, the code has no effect whatsoever. Originally posted by EuclidSince the "kill boss again" tag doesn't control whether heart containers drop from bosses or not, and the game genie code you gave me causes the heart container code to always think you're in Ganon's Tower, heart containers will *always* instantly disappear, everywhere - in every room of the game - regardless of whether the "kill boss again" tag is set in that room. This means that even normal bosses won't drop heart containers, so you can't receive any pendants or crystals - clearly a problem. |
Pages: 1 2 | Add to favorites | Next newer thread | Next older thread |
Acmlm's Board - I3 Archive - ROM Hacking - Bosses Drop Heart Pieces -- Zelda 3 ASM Hack | | |