News:

Don't forget to visit the main site! There's lots of helpful docs, patches, and more!

Main Menu

[SM] Shot / Bomb blocks returning to original state - not CRE.

Started by Quietus, October 28, 2011, 09:00:47 AM

Previous topic - Next topic

Quietus

I'm looking (hoping) for some simple tweaks to have any blocks that are bombed or shot return to their original state, like the hidden-in-scenery expansions, rather than changing to the horrible, grey (unless you've changed them) tiles in the CRE.

Many thanks. :^_^:

Scyzer

There is no "easy tweak" way to do it. It would require hijacking the instruction tables for each respawning block, and running a small routine to write back the original block data, rather than the standard shot/bomb block from the CRE.

The easiest work around to do it is to use a SCE item of all the same index, which at that point, must have already been picked up (same as morph ball for example, or the zebes awake event bit). The item will still "technically" be there, but there won't be anything inside, which just leaves a shootable / bombable block which returns to normal after a while.

If you want to go ahead with the hijacking, lemme know and I'll make a patch for you.

Quietus

I think I understand what you're saying about the SCE.  I'd use something like the Morph-in-wall item with the same index as the ACTUAL powerup (already collected) in numerous places, and you'd be able to 'open' it repeatedly, but it'd just be space inside?  If so, I'd have to have that powerup as an early item to have it already used, right?  How would I get around this is all of my main items are the in the usual orbs, as I can't see how that'd work in the middle of a wall, and I'm not keen on having to have an item in a wall? :^_^:

Thinking about it, it would probably be much less to stay aware of when hacking if the routine were just hijacked permanently.  I'm not planning on having anything return to the normal CRE appearance, so if you are happy to make the patch, that'd be great.

Scyzer

QuoteI'd use something like the Morph-in-wall item with the same index as the ACTUAL powerup (already collected) in numerous places, and you'd be able to 'open' it repeatedly, but it'd just be space inside?

^ This. The actual pickup itself can be anything. A missile tank, morph ball in the chozo ball, even an event bit. The items just need to use the same bit index.

I'll track down all the hijacks and make a patch today then :3

begrimed

If Quietus wouldn't mind it, something like this'd be a great public release. I'm sure lots of folks have wanted respawning blocks to retain their original appearance for awhile now.

Scyzer

And here it is:

http://sadiztyk.metroidconstruction.com/tank/patches/blocks/blockrespawn.asm

This will affect ALL respawning blocks. No code needed for grapple blocks, as they already return to normal. Free space was used at $84F800, but it's easy to repoint if needed. I've also labelled each hijack with which block type it affects, in case people only want it to apply to certain blocks.

Edit:
I found a mistake with the ASM file which caused bomb blocks to break from any projectile. This has been fixed. If you downloaded the ASM file prior to this, you'll need to redownload. You do not need to revert to a backup (just apply over the rom).

Lunaria

So the BTS for bomb and shoot blocks will now act as the hidden item PLM?

Quietus

Quote from: Scyzer on October 29, 2011, 12:38:33 AMAnd here it is:
Thanks a bunch! (I would have said so sooner, but it got marked as read somehow :O_o:)

Quote from: Grime on October 29, 2011, 12:07:28 AMIf Quietus wouldn't mind it, something like this'd be a great public release.
No problem at all. :^_^:

Vener

Oh , that's a very great idea ! I wanted this thing in my hack  :P

Question : About special BTS like super missils blocks , speed booster blocks , etc ... it work also ?
I mean , being revealed , the special BTS block show the CRE tile , and respawn after the same delay as the normal respawning blocks :
 

Or , it's maybe another story ?