Language…
24 users online: Aguiar Salsicha,  AmperSam, com_poser, DixyNL, elegist, figuiDOS, Green, Hammerer,  Losoall, Maw, Metal-Yoshi94, OnlySpaghettiCode, ppp9q,  Saphros,  Sayuri, Silver_Revolver, SMW Magic, Sweetdude,  Telinc1, The_Uber_Camper, TheXander,  Thomas, tOaO, VSmario90 - Guests: 303 - Bots: 287
Users: 64,795 (2,374 active)
Latest user: mathew

Customizable Layer 2 Smash (Vanilla version)

CompleteASM

Name
Customizable Layer 2 Smash

Type
UberASM

Description
Thanks to recent efforts by KevinM there are now easily customizable and user friendly alternatives to the vanilla Layer 2 ON/OFF Scroll and autoscroll sprites in the UberASM repository. Another sprite I think should get the same treatment is the Layer 2 Smash sprite (E9). Because I have no experience with disassebmly work I don't know how difficult it would be to make UberASM where you can have different acceleration, hesitation time, etc. on each screen, like Layer 2 Smash 1 and 2. If that is too complicated to create then a customizable version of only the Layer 2 Smash 3 variant where the entire level has the same parameters for the movement would be more than enough and something I think would be helpful to a lot of people. Some things that would be good to have customizable:

- How many frames until it smashes again after returning to it's initial position
- How many frames to hesitate before smashing
- How many frames before moving back up after smashing
- Speed of the smashing movement
- Speed of the rising movement

Extra:
- How much to shake the screen on impact
- Screens with and without smashing, as well as, different parameters at different screens (like in Wendy's Castle)

There exists a sideways version and also one that stuns the player on impact of the smash in the UberASM repository already that could be used as inspiration, but I think there is benefit in also having one that is user-friendly and replicates the vanilla behavior without any extra gimmicks. Editing the existing ones to create a vanilla version is way too difficult for someone like me with only the bare minimum understanding of how to write assembly code.

References
Ideally it should be easy to replicate something like the Layer 2 movement in this level from Storks, Apes and Crocodiles by Morsel.
Long overdue, huh?
I'll work on it this weekend.
It's easily the best thing I've done
So why the empty numb?
Originally posted by Koopster
Long overdue, huh?
I'll work on it this weekend.


Actually, instead of UberASM, couldn't this easily be a custom sprite where you can customize everything via extra bytes wherever accessible? That way, you could make it start at a specific place. Plus, the original generator was a sprite you could place anywhere desirable. The reason why I bring this up is because it bothers me quite a bit that stuff like this is an UberASM code instead of a generator or sprite.
My Mode 0 guide.

My Discord server. It has a lot of archived ASM stuff, so check that out!

Originally posted by Anas
Actually, instead of UberASM, couldn't this easily be a custom sprite where you can customize everything via extra bytes wherever accessible? That way, you could make it start at a specific place. Plus, the original generator was a sprite you could place anywhere desirable. The reason why I bring this up is because it bothers me quite a bit that stuff like this is an UberASM code instead of a generator or sprite.


All the other customizable Layer 2 stuff is UberASM and not a sprite, so for whatever reason it seems to be the preferred option.
Originally posted by Anas
Originally posted by Koopster
Long overdue, huh?
I'll work on it this weekend.


Actually, instead of UberASM, couldn't this easily be a custom sprite where you can customize everything via extra bytes wherever accessible? That way, you could make it start at a specific place. Plus, the original generator was a sprite you could place anywhere desirable. The reason why I bring this up is because it bothers me quite a bit that stuff like this is an UberASM code instead of a generator or sprite.

There's no reason for it to be a sprite. You can make the smash start at a specific position with UberASM, you just have to define it in code instead of spawning a sprite in at a specific spot. UberASM is better in that regard in that you can even define screens for it to run and others for it to not run, instead of having to place several generators/sprites on the desired screens, then finding a way to despawn the active smash command for the screens where you don't want a smash. If something can be done with UberASM then it's pointless to waste a sprite slot by making it sprite code instead.
I understand that, thanks for the clarification.
My Mode 0 guide.

My Discord server. It has a lot of archived ASM stuff, so check that out!

I theorized using generators for a second because I intend to implement the multi-phase feature, but considering they run on spawn and not when you hit the screen they're on, they'd be very annoying to work with, so it's not a very good option ultimately. And like James said, UberASM is generally a much better option for several reasons.
It's easily the best thing I've done
So why the empty numb?
Erik's Savage Layer 2 Smash is already a pretty faithful recreation of how the vanilla layer 2 smash code works (minus the stun part). What this means is that you pretty much can't make an easier to use version without sacrificing some accuracy. I have a version where you can change the parameters for each screen (instead of having to set the start and end ranges yourself), which should be a bit easier to use, but the downside is that you wouldn't be able to replicate the vanilla smashes (since they use ranges that aren't aligned to screen boundaries).
ftr I asked Kevin to take this on, since he already has that code he just mentioned which I think will work nicely for your needs once it's made ready for submission. Not only have I been rather busy, I also couldn't get myself motivated to work on ASM at all for the past few weeks. This was also less fun to work on than I anticipated... I apologise for the long wait and incovenience :( I'll make sure to not claim stuff recklessly again.
It's easily the best thing I've done
So why the empty numb?
Submitted here. Hopefully it's something like you wanted, even if it's not 100% accurate to vanilla (since it's screen based instead of arbitrary range based). At least it should be a bit easier to use than the others (still fairly complicated though :P)

CompleteASM