I have a question about this block, particularly about the switch_act.asm one.
The define !act is usable for any of the original map16 blocks or I am missunderstanding something? For instance, if I put !act = $0006, it will act as intended; a vine only when the switch set is pressed? If so, you can basically made everything switch-based?
Yes, that is how it works.
One acts-like setting is pulled from the value you put in LM, while the other is the one set in the block's ASM. Professional frame-by-frame time wizard. YouTube - Twitter - SMW Glitch List - SMW Randomizer
I'm testing stuff with Zuma's Frog and I'd like the extended sprite to not have a random palette when spawning.
Basically, right now, it can spawn with either palette A, B, C or D and it alternates.
To avoid conflicts with throw blocks, I'd like to make it only one palette possible.
But I can't really find anything related to palette in both sprite ASM and extended ASM (meaning it's not explicit enough that I can find it).
If I could choose which palette it uses, it would be cool too.
Found it for you. Apparently, there's a define called !NextBallColor, which actually points to a RAM that control every balls' palette from this sprite. Thing is, you'd need to edit all references to this define and then make it a constant in order to get the balls to use a single palette.
The idea of NaroGugul's code is that Peach's rescue sprite uses $C2 as a state pointer. So, since you're loading #$05 to $C2 in the init routine, the sprite actually starts running by the referred state.
i have no idea if this would work.. but try putting this in the init:
find line 84
print "INIT ",pc
and put this:
print "INIT ",pc
LDA #$05 : STA $C2,x
It seems to work although I get a few weird stuff:
- around the end of my text, Mario's graphics disappear.
- after the text is done, I have a green dot that spawns way up on the screen (above "TIME")
- after the green dot (and a couple of seconds more), I get a "M" that spawns near the lives counter ("M" also is the first letter of my text, don't know if that linked)
I tried deleting steps 6 and 7, it doesn't fix the issues (but doesn't glitch the level or the sprite, which is good). I thought the spot could be because of the fireworks step.
The most concerning though is Mario's graphics. I thought it might be sprite overload (I use the no more sprite tile limit patch) but not sure at all
I've been wondering if it's possible to make sprites go behind layer 2. I know they can go behind layer 1, like the piranha plants, but layer 2?
I searched the ram map and through some custom sprites but i couldn't find any information to that.
To make it more complicated, i only want some specific sprites to go behind L2, so HDMA is not the answear to my question.
In most levels, BG2 is on the subscreen, while sprites are on the main screen. This means it's normally impossible to make a sprite go behind BG2. You're interested in $7E0D9D and $7E0D9E, which are set by the level mode (inside the "Change Properties in Header" dialog in Lunar Magic; the value of $7E0D9D is "TM & TMW", while $7E0D9E is "TS & TSW"). You're looking for a level mode which places BG2 on the main screen, which would give it standard priority rules with sprites. Alternatively, you could set $212C/$212E and $212D/$212F (see their description in regs.txt) during level init.
After you've got BG2 on the main screen, search for "mode 1" in regs.txt (you're interested in the third match) to see which priority you'd need to set your sprite tiles to.
I'm currently trying to hijack the overworld animation table so I can add more animations to the ow sprite.
Unfortunally I'm kind of stuck since the code I wrote just destroys the player overworld animation entirely on an otherwise clean rom (glitchy gfx, strange palettes etc.).
It shouldn't do anything in it's current form though.
I'm making time add block but when I touch it on 90 sec, timer overflows like *A*. How Can I prevent overflow in timer?
I would like to see your code before saying anything.
Also, maybe you can take a look at the Timer Coins I made for the C3 which function similarly in order to adapt them (caution, the code is really unoptimized and messy, which is why I decided to not release them in the blocks section).