This sling pack contains four different slings: The silver sling shoots diagonally and drags mario up, the Golden sling shoots horizontally and acts as a swing, the blue sling shoots vertically and acts as a rope and the red sling shoots horizontally and spawns a platform.
These slings won't work on a Map16 tile of your choice.
Be sure to put the file "GetDistanceSprMario.asm" in PIXI's routines folder and set the define !SpriteNumber in RedSling.asm to the RedSlingPlatform's sprite number in PIXI's list.txt
I would advise against using this sprite with the Retry System Patch as it will have messed up graphics and will flash rapidly on the screen if you select retry or exit. I learned if you want to use both you can cancel the retry prompt in retry_table.asm and it will work without causing epilepsy issues. Really cool sprite!
They're definitively cool sprites, especially now that the gold sling doesn't kill you now as easily. That you can't snatch onto any block is also interesting, though it would be even better if you allow the users a black list instead of blacklisting a single tile.
That being said, there still are some things in the gold sling where you could have coded better, though:
You don't have to ORA $16 with $18 because the highest two bits of $18 are already or'd with $16 i.e. if you press A then you also have B pressed.
Checking for the highest bit can also be simplified a bit: If the highest bit of a binary value is set, said value is negative. As a result, AND #$10000000 : BEQ $xx can be simplified to BPL $xx
Speaking of AND: AND #%11111111 is completely redundant, it doesn't mask out any sprite (similar to how multiplying with 1 does nothing, especially because the AND operation is often compared with multiplication).
Lastly, GetMarioSpeed still can be optimised. When I mentioned to use Y instead of scratch, I didn't mean it in the sense of holding an alternative storage (in fact, you don't even need to use Y in the way you have done) but rather remove redundant code i.e. A holds the angular speed and there is only one STA !187B,x. And what's the RTS doing after a BRA?
The blue sling code to handle jumping also could have been improved like in the gold sling. This includes moving Mario up and down when the sling holds onto something. Hint: Use tables for the up and down movement.
And a gameplay issue: The silver sling has got the issue that if Mario's back is right behind a wall, the silver sling might not work.