Super Bomb as a regular item and weapon!

Page 1 of 2 1, 2  Next

View previous topic View next topic Go down

Super Bomb as a regular item and weapon!

Post by Erockbrox on Tue 1 Oct 2013 - 3:32

Remember the Super Bomb from Zelda 3 and remember how it's only used once to get to the great fairy an order to get silver arrows?

Well, what if you could use a Super Bomb anywhere you wanted at anytime and it was a weapon as well and would hurt enemies?

I honestly think that this would be a really awesome idea, but how would it work?

I don't think anyone would want to have it follow you all the time like the normal Super Bomb because that would just be annoying.

So it could be just like a regular bomb where you can just place one on the ground. It could have it's own item slot in the item menu. You could have a separate counter to indicate how many Super Bombs you have, but instead of going though all that mess of adding another counter, why not let the Super Bomb just deduct a certain amount of bombs from your bomb counter?

I looked at the Super Bomb explosion and it looks like the Super Bomb is really the total of 9 regular bombs going off at the same time. So maybe the Super Bomb could deduct like 9 bombs away from the regular bomb counter.

The graphic should be pink just like the Super Bomb is pink in Zelda 3 and it would be cool if it were the same size too (bigger than the regular bomb), but if that can't be done then just color a regular bomb pink to make it look like the Super Bomb.

All I know is that if there were a ton of enemies in a small room, I would LOVE to just use a Super Bomb and blast them all away in one big explosion! Hahahaah!!

Also the Super Bomb wouldn't need its regular countdown timer displayed on the screen, but I guess it would hurt to have it and wouldn't be set off by dashing like it does in Zelda 3 because it wouldn't be following you, but would be more like the standard bombs, but only it explodes like the Super Bomb does and it hurts enemies!

Okay so there you have it! BAMB! Another whole new weapon and item!!! WOW! FREAKING AMAZING IDEA!!! And this way an item that you only get to see once in the entire game is made to be more useful.

Go to 3:00 in the video to see the Super Bomb explode!

avatar
Erockbrox



Since : 2013-02-05

Back to top Go down

Re: Super Bomb as a regular item and weapon!

Post by Erockbrox on Tue 1 Oct 2013 - 13:18

I just can't thinking about this idea. Seriously this should be made to be able to be used as a regular item in the game. Otherwise its really wasted because it's only used once!

Oh, and I forgot to say it should also open up cracks in wall just like regular bombs do too in addition to killing enemies.



It would be great to give Link a whole new arsenal of weapons. Now, he would be packing some serious fire power!

I was also thinking that this could be like an upgrade to the regular bombs, but because these bombs are so huge they might just have to be separate because what if every bomb you set off is the Super Bomb once you get the upgrade? Then you will be like exploding everything and it then may be just a little to much.
avatar
Erockbrox



Since : 2013-02-05

Back to top Go down

Re: Super Bomb as a regular item and weapon!

Post by Conn on Tue 1 Oct 2013 - 16:14

I must admit it is a nice idea. However, there might be some problems with the big tile - I'd simplify it by mapping the big explosion to normal bombs and just make a palette change on those (from blue to red as with the dynamite)... also where to get this upgrade and what's the point having it (increased damage, more unique bombable walls?)

For now I won't start new projects, but... I say this frequently. However, maybe another "asm genius" wants to get into it Wink
avatar
Conn



Since : 2013-06-30

Back to top Go down

Re: Super Bomb as a regular item and weapon!

Post by Erockbrox on Tue 1 Oct 2013 - 16:40

Mapping the explosion to normal bombs and changing the palette are just fine. The whole purpose is to have a really big bomb which can kill tons of enemies in one shot!

I pointed this out because its a weapon in the game that's already coded yet really isn't used. If you had to code the whole thing from scratch that would probably be too much, but the explosion already exists.

It would just be very cool to see it used as a weapon/item in game and its MASSIVE DESTRUCTION!
avatar
Erockbrox



Since : 2013-02-05

Back to top Go down

Re: Super Bomb as a regular item and weapon!

Post by Conn on Tue 1 Oct 2013 - 19:37

Just pm:ed with Euclid, how he added the 1/4 magic into pw. He used the upgrade fairy. So we could use the fat fairy in the pyramid to upgrade magic (by throwing in your pouch) and bombs (by throwing them in). Since you need the super bomb to access her, this won't spoil this event.

But for now I do not know whether I'll go for this (there's also a real life beyond hex and I was doing this for months now...). If there's another hacker who wants to implement this, please do so Wink
avatar
Conn



Since : 2013-06-30

Back to top Go down

Re: Super Bomb as a regular item and weapon!

Post by Euclid on Wed 2 Oct 2013 - 10:08

Here's my take on it.

The big bomb is a follow sprite - might be able to quickly hack it in via pressing a button on a certain condition (ie "arm the bomb" by making it following you) - follow sprites can be enabled quite easily via some tickling of ram addresses i believe (i remember accidentally make zelda appear behind me). Once you have that working then the game takes care of itself as you get to control when to release it - with the countdown timer too.

I might have a quick look over the weekend.

Which reminds me - i should test if that number got wiped from the Parallel Universe HUD XD
avatar
Euclid



Since : 2012-06-21

Back to top Go down

Re: Super Bomb as a regular item and weapon!

Post by Conn on Wed 2 Oct 2013 - 11:03

Would be awesome if you can take a look at it and your idea is great Wink

In the meanwhile I was able to get the magic meter to 1/4 through the fairy:
http://bszelda.zeldalegends.net/stuff/Con/x3magic.zip
hook addresses:
03/49d8 - monologue that you have a magic meter upgrade
03/4904 - asm to get 7e-f37b-02 when dropping pouch into pool

If you manage for PU and couple it to second wishing well, you could post the hack, I can then port it to the 24 items menu, since I may have used the similar addresses to hook for above magic meter upgrade (which already is part of PU).
avatar
Conn



Since : 2013-06-30

Back to top Go down

Re: Super Bomb as a regular item and weapon!

Post by Conn on Wed 2 Oct 2013 - 16:32

Just sent you the asm how I got the powder into the fairy pond per mail, in case you want to get the upgrade there as well Smile

Found that
7e/f3cc-0d coupled with
7e/f3cd-81
makes the super bomb follow you. It is however not the correct tile (girl, vram transfer needed), but it explodes with countdown like the super bomb... this is somehow disabled in pu however Sad
avatar
Conn



Since : 2013-06-30

Back to top Go down

Re: Super Bomb as a regular item and weapon!

Post by Erockbrox on Wed 2 Oct 2013 - 17:41

I need to actually check if the Super Bomb causes damage on enemies. From what I remember the Super Bomb doesn't hurt Link or any enemies, but only opens that one special cracked wall entrance.

I think the best way for this to be used in the game would be to have it like Conn stated, like a regular bomb but only a pallet change.

For it to be best used as a weapon, it would be best if you could pick it up and throw it just like a regular bomb. How else would you be able to destroy monsters with it? If you had to have it follow you and then set it off then you would have to get close to your enemies which would cause damage to you.

So I think being able to throw it like a regular bomb and not having it follow you is the best way to do this.

And I also need to check if the Super Bomb opens regular cracks in the wall to entrances. For some reason I don't think it does.
avatar
Erockbrox



Since : 2013-02-05

Back to top Go down

Re: Super Bomb as a regular item and weapon!

Post by Conn on Wed 2 Oct 2013 - 18:13

you're right, it doesn't hurt enemies. Maybe this can be enabled. At least it opens normal bombable walls, too. Further, the countdown is way too long if you want to hit enemies with 3 seconds, they are long gone.

But what if you need normal bombs (riddle solving through throwing)? Might it be possible to make a button press combination to enable the big bomb? Like "L+Y" and if only press Y you place a normal bomb?

Making a palette change for upgrade is pain in the ass if you want to change everything (picking it up below bushes, buying and so, but I think it is ok to leave them normal). Luckily the bomb already is red (suggest for PU blue or green since dynamite is red). So everything needed is to actually change the menu (where I suggest a single tile with "2" or something overlying the top left corner of the bomb in case we make a button combination. If it will be the standard bomb, I'd suggest making all 4 tiles red):




Other possibility still would be to map the big explosion on small bombs, but this has also its difficulties...
avatar
Conn



Since : 2013-06-30

Back to top Go down

Re: Super Bomb as a regular item and weapon!

Post by Euclid on Thu 3 Oct 2013 - 18:49

For some reason I remember the super bomb killing that... bouncy enemies which is always around that pyramid hole.
avatar
Euclid



Since : 2012-06-21

Back to top Go down

Re: Super Bomb as a regular item and weapon!

Post by Conn on Thu 3 Oct 2013 - 19:49

I was trying with both above cheats and getting a bomb... unfortunately not Sad
avatar
Conn



Since : 2013-06-30

Back to top Go down

Re: Super Bomb as a regular item and weapon!

Post by Euclid on Fri 4 Oct 2013 - 11:10

1. Do this on a clean lttp rom without header.

0x3F900 (should be all FFs) - A9 0D 8F CC F3 7E 22 23 D4 00 6B
0x3F910 (should be all FFs) - A5 F2 29 20 D0 01 6B AF CC F3 7E F0 E3 6B
0x6FBDA (don't worry i'm just overwriting useless HUD code) - 22 10 F9 07 EA EA EA EA EA EA EA EA EA EA EA EA EA EA EA (bytes after this should be AF 6D F3 7E, if not you got the wrong HUD!)

2. start game, on your play screen, press L
3. ???
4. Profit!

(sorry just had to do that, if anyone wants more info i'll explain it tomorrow, it's 1am)
avatar
Euclid



Since : 2012-06-21

Back to top Go down

Re: Super Bomb as a regular item and weapon!

Post by Conn on Fri 4 Oct 2013 - 12:15

awesome!!! Smile

Only noticed that 0x3f900 is already coded in PU... maybe you can map it to 0x3fb00 instead?

The most difficult part should be done by this (only missing: damage to enemies, upgrade (at fairy pond?), bomb use (equipped in Y-box and reduced by utilizing the super bomb) ^^
if you use the fairy pond as upgrade we should merge the hack with the L3 magic since it uses the same hook (sent you the PU patch). As for the menu marker it's maybe best to add a "L" letter to the bombs...?
avatar
Conn



Since : 2013-06-30

Back to top Go down

Re: Super Bomb as a regular item and weapon!

Post by Euclid on Fri 4 Oct 2013 - 21:08

The code there i wrote last night was just a proof of concept - there's a lot more which needs to be done as you've pointed out, you would've noticed the 0x6FBDA area (the hud area in the original game) has a JSL to the 0x3F910 area.

In 0x3F910 area the code is simply like this:
if (user pressed L)
{
if (bomb is not already following you (0x0D in that ram address))
{
call 0x3F900
}
]

0x3F900 is where the "meat" the code is - it is simply an extract of the bomb shop code when you receive the bomb minus the message and 100 rupees.

I have noticed weird palette changes with the pink bomb out while i'm testing on soldiers which i don't think i can do much about, it's also missing the code to copy the location of the sprite to where the bomb is initially (thus you'll see the bomb "zoom" to you when you start moving after pressing L).

In terms of priority though, i'll have a look at hooking it up with the damage thing sometime today - however it might mean link will also get hurt from the bomb - attaching to $202 as an item can come a bit later.
avatar
Euclid



Since : 2012-06-21

Back to top Go down

Re: Super Bomb as a regular item and weapon!

Post by Conn on Fri 4 Oct 2013 - 21:26

Even if not can be debugged completely it is something absolutely fantastic to have this item. I guess Nintendo set the damage off due to the big radius the bomb has.
But if players play with such a super bomb and cannot handle it good, it's their own fault ^^ If I can be of any help, let me know.

In further good news, I just was able to get access to the triforce chamber with:
01/5e26: ff ff -> 89 01 (a pointer that leads to the triforce chamber). Was ff ff so it shouldn't affect anything
01/5e76: ff -> 48 IMPORTANT since this is the screen number. Native it is 88. Then I checked the double overlay and it adds 40 each time, so the screen number must be 48!
This is the result. I do not know how the screens are overlayed, but I think 48 is the overlay of screen 08, so maybe an exception must be coded here.

avatar
Conn



Since : 2013-06-30

Back to top Go down

Re: Super Bomb as a regular item and weapon!

Post by Euclid on Sat 5 Oct 2013 - 0:33

looks like the super bomb is missing an entire callback similar to the normal bombs, and bomb collusion code is in there. I think this one's beyond me for now.
avatar
Euclid



Since : 2012-06-21

Back to top Go down

Re: Super Bomb as a regular item and weapon!

Post by Erockbrox on Sat 5 Oct 2013 - 1:37

What is a call back? I'm guessing its something that's coded for the regular bombs, but is not included for the super bomb.
avatar
Erockbrox



Since : 2013-02-05

Back to top Go down

Re: Super Bomb as a regular item and weapon!

Post by Conn on Sat 5 Oct 2013 - 8:37

I was looking for some addresses and here is what I found:
The pointer for the super bomb is pc 04/03f1:8d f1. If you change this pointer to the normal bomb pointer (04/03f1: 5a 95) the routine that hurts is loaded.
(pointer called here: $08/837C 6C 00 00 JMP ($0000)

The super bomb can then hurt in any case you (dunno whether it hurts enemies, the radius of the explosion is rather small unfortunately). But the code goes close to the hurt enemy routine that is
$08/8309 22 B7 EC 06 JSL $06ECB7[$06:ECB7]

damage dealt to an enemy is $06/ED25 8D F2 0C    STA $0CF2
avatar
Conn



Since : 2013-06-30

Back to top Go down

Re: Super Bomb as a regular item and weapon!

Post by Euclid on Sat 5 Oct 2013 - 10:02

i was going to try something different - making the normal bomb explode bigger instead.

The superbomb timer's at $4B4, positions are all stored in that $7EF3CD-$7EF3D0 (x and y coordinate of the follow item)

this spot determines if it should explode or not (while the timer is on)

$09/A2E7 AF CC F3 7E LDA $7EF3CC[$7E:F3CC] ; load type of follower
$09/A2EB C9 0D CMP #$0D ; is it a super bomb following you?
$09/A2ED D0 17 BNE $17 [$A306]
$09/A2EF A5 1B LDA $1B [$00:001B] ; yes it's superbomb, are you in dungeon (NOTE disabling this doesn't mean it works in dungeons, there's more to it)
$09/A2F1 D0 13 BNE $13 [$A306]
$09/A2F3 AD B4 04 LDA $04B4 [$09:04B4] ; in overworld, now has the timer reach 0?
$09/A2F6 D0 0E BNE $0E [$A306] ; if it has continue - explosion code.

; superbomb explosion trigger code
$09/A2F8 A0 00 LDY #$00
$09/A2FA A9 3A LDA #$3A
$09/A2FC 22 F9 8D 09 JSL $098DF9[$09:8DF9]
$09/A300 A9 00 LDA #$00
$09/A302 8F D3 F3 7E STA $7EF3D3[$7E:F3D3]

$09/A306 82 47 01 BRL $0147 [$A450]

It'll all be easy if it actually does reuse the bomb code - in which case pointing the 098DF9 jump to the correct spot would do the trick, but that doesn't seem to be it - and the code within that routine gets very messy very quickly.
avatar
Euclid



Since : 2012-06-21

Back to top Go down

Re: Super Bomb as a regular item and weapon!

Post by Conn on Sat 5 Oct 2013 - 10:32

It'd be great if it would work this way. Let's see, I think there are 9 explosions, so from the center explosion the x/y of the other must be calculated so that there are sort of "9 bombs placed". But the coordinate calculating routine should be easy to find when tracing how data gets written to the oam at $800.

Edit: Tried a lot to get it done but failed for now... the closest I can get is the pointer 04/03f1: :8d f1 -> 5a 95 bomb pointer. Then half of an explosion is displayed that hurts you (enemies are not hurt, because the routine leading to $08/8309 22 B7 EC 06 JSL $06ECB7 is for some reasons not executed.
avatar
Conn



Since : 2013-06-30

Back to top Go down

Re: Super Bomb as a regular item and weapon!

Post by Conn on Sat 5 Oct 2013 - 16:15

I made some progress! With this code, the super bomb will deal damage. However, this code unfortunately isn't perfect. The damage radius is that of a normal bomb, but maybe it is something you can build upon (somewhere the xy coordinates of the bomb radius for collision are set) Wink

http://bszelda.zeldalegends.net/stuff/Con/damagesuperbomb.zip

What this patch does:
pc: 04/03f1: 8d f1 -> e0 ff (remaps superbomb pointer to free space so we can write some more stuff. points to snes 08/ffe0, pc 04/7fe0). Hopefully this really is free space since this bank is crowded. Was the only place looking like free space I was able to find.

pc: 04/7fe0:
jsr $f18d  ; this is the superbomb pointer we deleted
jsr $9815 ; this leads to the normal bomb enemy damage deal
rts  

Then we need to specify the damage the super bomb deals (default no damage)!
pc: 03/6cbf: bf 7e ec 06 -> 22 e7 ff 08 (jsl to after above rts)
cpx #$3a ; 3a is for some reason the x of the super bomb
bne $02
ldx #$07 ; if super bomb, load normal bomb value 07
lda $06ec7e,x ; load damage the bomb shall deal
rtl
thereafter immediately a plx is executed, so the rewrite of the x-register will not cause anything buggy.


Edit:
the damage radius is somewhere calculated here:
$06/83E6 20 36 F8
.....
$06/F84E 69 80       ADC #$80 ; If A does not exceed FF (carry is NOT set)...
$06/F859 75 06       ADC $06,x. ;....a value for the sprites is added,
$06/F85B C5 0F CMP $0F ; compared to the value at $7e000F and a carry set or not (if none is set, no damge is dealt as far I understand)
$08/82DF 90 43       BCC $43    [$8324] ;...will NOT branch and damage is dealt!


Last edited by Conn on Sun 6 Oct 2013 - 13:05; edited 1 time in total
avatar
Conn



Since : 2013-06-30

Back to top Go down

Re: Super Bomb as a regular item and weapon!

Post by Erockbrox on Sat 5 Oct 2013 - 19:54

Gosh dang! I am seriously going to have to learn some ASM. Conn where the heck did you learn all of this!

I HATE not being able to do stuff like you can. It's like all I get to do is watch a baseball game instead of actually being in the game!

When you make all of these hacks are you using free space? I thought that there was very little room in this game because the data was so tightly packed?

That's it!!! I'm going to learn this shit once and for fucking all!!! I'm tried of not being able to hack anything!!!!
avatar
Erockbrox



Since : 2013-02-05

Back to top Go down

Re: Super Bomb as a regular item and weapon!

Post by Conn on Sat 5 Oct 2013 - 20:14

Hack 10 years bszelda and it should be a shame if you do not know a piece ^^''
But above code isn't a masterpiece; it just rows 2 existing codes together (explosion of super bomb and damage of normal bomb) so that we have the combined effect for a working superbomb Wink

Edit: an idea that I just had. Maybe the explosion radius can be increased by decreasing
$06/F84E 69 80       ADC #$80
to #$40 or something (needs to be tested and known what exactly is calculated here)

and adding a second
$06/F859 75 06       ADC $06,x

in case you use the super bomb. This could extend the radius. I can't test it right now, it's pretty late here in europe.

Edit2: seems to be not that easy. Tried a lot as well but didn't work.
I think we must tinker somewhere here:

Code:

$06/F859  ADC $06,x  
$06/F85B CMP $0F    ; here the carry is set (or not)
$06/F85D BCC $03    
$06/F85F DEX                    
$06/F860  BPL $D7    
$06/F862 PLX  
$06/F863 RTS                    

$06/83E9   RTL                    

$08/82DF  BCC $43   ; if carry is set, don't branch and deal damage!
Maybe it is possible to increase the value at $0f, (so that the carry isn't set) when a super bomb is placed to increase the radius?
The $0f is written in the same jsr a bit further above
Code:
$06/F841 75 06       ADC $06,x  
$06/F843 85 0F       STA $0F    
We could double it, but there is no free register so Y or X must be placed in an untermediate ram, code will look like

ADC $06,x ; add the $06,x
sty $xxxx ; store Y to intermediate, maybe $021B
lda $0c4e
cpy $3a     ; check if super bomb explosion
bne $01    
lsr A         ; half A
Sta $0f
ldy $xxxx   ;reload Y from intermediate ram
avatar
Conn



Since : 2013-06-30

Back to top Go down

Re: Super Bomb as a regular item and weapon!

Post by Conn on Sun 6 Oct 2013 - 14:01

I think this works, check it out:
http://bszelda.zeldalegends.net/stuff/Con/damagesuperbomb.zip

damage_superbomb2.ips is the new one. Added to the old version (damage_superbomb.ips, that enables damage) following code:

- added the L-button code to 03/Fb00, 03/fb10
- added radius increase:
Code:
03/7841 75 06 85 0f - > 22 20 fb 07
03/fb20:
sty $021b ; store Y to intermediate ram
adc $06,x ; deleted code 75 06
ldy $0c4e ; load super bomb explosion flag to y
cpy #$3a ; check superbomb explosion
bne $01
lsrA       ; if superbomb, half A
sta $0f ; second part of overwritten code
ldy $021b ; regain original Y.
RTL
Isn't working completely bugfree: the radius down is too great and right too little... also Link isn't for some reasons hurt when standing right of the explosion and hurt standing out of the radius to the left. Guess it must be centered somehow...

anybody can test this by applying damage_superbomb2.ips on a native zelda rom and pressing "L"-button.
Good trick is icing the enemies with ether to check out the radius of the explosion Wink
avatar
Conn



Since : 2013-06-30

Back to top Go down

Page 1 of 2 1, 2  Next

View previous topic View next topic Back to top


 
Permissions in this forum:
You cannot reply to topics in this forum