2. Das ist ein modifizierter SlideAttack, was im Prinzip Sternenkraft mit runterdrücken und bestimmten Speed bedeutet. Das Original ist bestimmt irgwo auf SMWC
3. Alles ist dokumentiert, hoffentlich ist es so einfacher für euch zu lesen(und zu helfen )
gamemode_14:
LDA $1696 ;\ FreeRamCheck for Slippery Level
BEQ Mainuscode ; | Branch if 0 to real code
STZ $86 ;/ Otherwise: remove Slippery Effect for Sliding effectively!
Mainuscode: ;---- The real SlideAttack is here
LDA $7B ;\ Check if you're moving the correct speed
SEC ; |
SBC #$2A ; | value A
CMP #$AC ; | value B-A
BCS Bla ;/ Not between the values
LDA $73 ;\ check if you're ducking
BEQ return12 ;/
LDA $1470 ;\ Check if you're carrying something
BNE Bla ;/
LDA $77 ;\
AND #$04 ; |-- Check if your in the air
BEQ Bla ;/
LDA $1490 ;\ Check if you already have Star Power
BNE skipstar ;/ If yes: Skip the next part
LDA #$12 ;\ Give Star Power, higher values give a better effect
STA $1490 ;/ and store it in the Star Power Timer
LDA #$12 ;\ Set timer for pallete to stop setting
STA $13E6 ;/ (without this it blinks after you stop sliding...)
LDA $18D2 ;\
BEQ skipstar ; | 18D2 is about the Score, basically, don't allow 1Ups!
STZ $18D2 ;/
skipstar:
LDA $86 ;\ The secret to a good slide attack
CMP #$80 ; | can be found here!
BEQ chatto ;/
LDA #$81 ;\ Load a wierd value here, one that SMW doesn't use
STA $86 ;/ To get the Slippery Effect
LDA #$01 ;\ Load the 01 in the FreeRam
STA $1696 ;/ To complete the Slippery Check!
chatto:
PHX ;\
LDA $14 ; | timer that increases each frame
LSR ; |
LSR ; |
AND #$03 ; | animate between 00,01,02 and 03 (4 frames)
TAX ; | and put that value into X
LDA Poses,x ; | Load from the table
PLX ; |
STA $13E0 ;/ store into pose address
Bla:
LDA $13E6 ;\ Check free ram
BEQ RealReturn ; |
DEC $13E6 ; | Decrease free ram
BRA RealReturn ;/
Poses: ; The table is here for one simple reason: It is otherwise out of reach. Worth the one extra BRA command
db $30,$32,$36,$38 ; Burned, Fight, Hand Up, Bend over
return12:
LDA $1696 ; Load the Empty Ram Adress
BEQ RealReturn ; If it is empty, go to the Realreturn
STZ $1696 ; Otherwise...0 it and 0
STZ $86 ; the Slippery Flag
RealReturn:
LDA $15 ;\ check if you're truly ducking
CMP #%0000100 ; | Controller buttons newly pressed this frame. Format:0000 0000 byet UDLR
BEQ ForRealReturn ; |
STZ $1490 ;/ Remove Starpower, doesn't work!
ForRealReturn:
RTS