News:

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

Main Menu

[SM] Room states and tile alteration

Started by Munchy, December 20, 2018, 02:55:35 PM

Previous topic - Next topic

Munchy

Hey,

I want to make room states that visually alter the appearance of a room in relatively small ways.  I seem to recall Eris using some fairly clever state changes to make a volcano room erupt after an event in a room elsewhere; this made its design drastically different thereafter (though it may have done that by repointing the doors at a guess since the change is so significant). I need to dust off my ASM knowledge but I shouldn't have too much trouble doing one of the following.

in my case: I'd like to have - for example - a "solid" block bridge destroyed by an event triggered in another room.

to me I see three options:
1. simply dress a bunch of inanimate enemies to look like a solid blocks then have them disappear when the event changes.
* the draw back is - if memory serves me - samus can glitch through these enemies with the right jump combo can't she (see the switched off walker robots in wrecked ship)?

... that brings me to option 2

2. as with 1 above but also create some special "solid" blocks with bts that I can then wire up to become air blocks when the state is changed.

... but ideally, I'd like to roll with option 3

3. create some "solid" tiles with a special BTS that sets them to become "air" tiles and repaints them as "invisible" when the room state is changed

I know all 3 of the above probably aren't too hard to pull off but, since I haven't found any discussion of this subject elsewhere, I wondered if anyone had any thoughts/advice on the subject?  I'm probably going to investigate option 3 over the next few days, see where I get to.


Quote58

Easiest would just be a plm that turns solid blocks along a set path into air tiles. You can change the gfx if you want as well. You could even have the bridge crumble when you walk in the room if you feel like it. Event states work just fine, but that's a lot of extra data for no benefit.

Munchy

Quote from: Quote58 on December 20, 2018, 04:37:58 PM
Easiest would just be a plm that turns solid blocks along a set path into air tiles. You can change the gfx if you want as well. You could even have the bridge crumble when you walk in the room if you feel like it. Event states work just fine, but that's a lot of extra data for no benefit.

Thanks, I hadn't thought of going down that route actually, but that makes a lot of sense.  As I see it, I can register the change in RAM (since the change will be occurring in a different room) and then have the PLM "listen" to that piece of RAM to decide the type of block.

... and as luck would have, Kejardon's breaking block (http://www.metroidconstruction.com/resource.php?id=237) might save me a bunch of programming to figure this out.