#define FalcoGravity 38 #include ./src/smashh.inc .org 0 .db 1 .db "SSBOCHAR",0 .dw HeaderEnd+DataEnd .db $FF,$FF,$80,$01,$9C,$01,$9F,$81,$8F,$C1,$8E,$61,$93,$A1,$97,$31,$BF,$C9,$9F,$11,$C7,$E1,$BC,$21,$86,$D1,$FF,$FF .db "Falco",0 HeaderEnd: .org 0 ;INFO ---------------------------- .db FalcoGravity .db 5 .db 20 .db 2 .dw 255 .dw Stand .dw Air .dw Dash .dw Jump .dw AirJump .dw Land .dw GroundNeutralB .dw AirPhantasm .dw GroundDownB .dw Stand .dw Stand .dw AirPhantasm .dw Stand .dw Stand .dw FDashAttack .dw Stand .dw Stand .dw Stand .dw Stand .dw Stand .dw Stand .dw Stand .dw Stand .dw Ledge ;STATES -------------------------- GroundDownB: .dw StandSpriteR,StandSprite .db 0,0 .db Piv+GroundOK .dw 0,0 .db 0 .dw Stand .db OBJECT .db 0 .dw 0 .dw Stand .dw 0,14 .dw 256,~256 .dw 0 .db 0 GroundNeutralB: .dw StandSpriteR,StandSprite .db 0,0 .db Piv+GroundOK .dw 0,0 .db 0 .dw Stand .db OBJECT .db 0 .dw 0 .dw Laser .dw 0,14 .dw 512,0 .dw 0 .db 0 Laser: .dw LaserSprite,LaserSprite .db 0,0 .db AbsX+AbsY .dw 512,0 .db 0 .dw LaserEnd .db Repeat+31 .db 0 LaserEnd: .dw LaserSprite,LaserSprite .db 0,0 .db AbsX+AbsY .dw 256,0 .db 0 .dw LaserEnd .db OBJECT,OFDestroy .db 0 FUpSmash: Stand: .dw StandSpriteR,StandSprite .db 0,0 .db Piv+GroundOK .dw 0,0 .db 0 .dw Stand .db 0 Air: .dw AirSpriteR,AirSprite .db 0,0 .db AirOK .dw 0,FalcoGravity .db 6 .dw Air .db 0 Helpless: .dw HelplessSprR,HelplessSpr .db 0,0 .db AirNull .dw 0,FalcoGravity .db 6 .dw Helpless .db 0 Dash: .dw LandSpriteR,LandSprite .db 0,0 .db Piv+AbsX+GroundDash .dw 180,0 .db 0 .dw Dash2 .db ONKEY,%10000000 .dw Dash .db REPEAT+7 .db SETCHRONO+15 .db 0 Dash2: .dw Dash2SpriteR,Dash2Sprite .db 0,0 .db AbsX+GroundDash .dw 160,0 .db 0 .dw DashEnd .db DJZ .dw Dash3 .db ONKEY,%01000000 .dw Dash2 .db 0 Dash3: .dw Dash1SpriteR,Dash1Sprite .db 0,0 .db AbsX+GroundDash .dw 160,0 .db 0 .dw DashEnd .db IJX+15 .dw Dash2 .db ONKEY,%01000000 .dw Dash3 .db 0 DashEnd: .dw DashEndSpriteR,DashEndSprite .db 0,0 .db GroundOK .dw -5,0 .db 0 .dw Stand .db REPEAT+10 .db 0 FDashAttack: .dw DashAttackSprR,DashAttackSpr .db 0,0 .db AbsX+AbsY+GroundNull .dw 170,0 .db 0 .dw Dash2 .db HITBOX .db 1 ;flags .db 10 ;rad .dw 0 ;player state .dw 0 ;adv state .db 0,0 ;adv position .db 5 ;hitstun .db 15 ;damages .db 2 ;projdir .db 64 ;projspeed .dw 256 ;projspeed .db 12,14 ;coords .db REPEAT+15 .db 0 Land: .dw LandSpriteR,LandSprite .db 0,0 .db GroundNull .dw 0,0 .db 0 .dw Stand .db REPEAT+7 ;repeat 7 frames .db 0 Jump: ;encore au sol avant de sauter .dw LandSpriteR,LandSprite .db 0,0 .db AirOK+HalfPiv .dw 0,0 .db 0 .dw ShortHop .db ONKEY,MA .dw FUpSmash .db REPEAT+5 .db ONKEY,MJump .dw HighHop .db 0 AirJump: HighHop: .dw AirSpriteR,AirSprite .db 0,0 .db AirOK+AbsY .dw 0,-550 .db 0 .dw Air .db 0 ShortHop: .dw AirSpriteR,AirSprite .db 0,0 .db AirOK+AbsY .dw 0,-256 .db 0 .dw Air .db 0 AirPhantasm: .dw LandSpriteR,LandSprite .db 0,0 .db Piv+AbsX+AbsY+AirNull ;WARNING cet état ne sert qu'à être pivoté, il passe sans plus de tests à AirPhantasm2 .dw 0,0 .db 0 .dw AirPhantasm2 .db 0 AirPhantasm2: .dw LandSpriteR,LandSprite .db 0,0 .db AbsX+AbsY+AirNull .dw 0,0 .db 0 .dw AirPhantasm3 .db REPEAT+10 .db 0 AirPhantasm3: .dw LandSpriteR,LandSprite .db 0,0 .db AbsX+AbsY+AirNull .dw 1024,0 .db 0 .dw AirPhantasm4 .db ONKEY,MB .dw AirPhantasmC .db REPEAT+5 .db 0 AirPhantasm4: .dw LandSpriteR,LandSprite .db 0,0 .db AbsX+AbsY+AirNull .dw 0,-1 .db 0 .dw Helpless .db REPEAT+8 .db 0 AirPhantasmC: .dw LandSpriteR,LandSprite .db 0,0 .db AbsY+AirNull .dw -105,-1 .db 0 .dw Helpless .db REPEAT+8 .db 0 Ledge: .dw LedgeSpriteR,LedgeSprite .db 0,0 .db AbsY+AbsX+AirNull .db 0,0 .db 0 .db FirstHopAir .db REPEAT+31 .db 0 ;SPRITES ------------------------- LaserSprite: .db 3,3 .db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF StandSprite: .db 2,27 .db $07,$00,$07,$E0,$03,$F0,$03,$98,$04,$E8,$05,$CC,$2F,$F2,$67,$C4,$F1,$F8,$6F,$08,$21,$B4,$1C,$E2,$C4,$C7,$74,$CF,$FD,$C8,$3E,$38,$03,$F0,$07,$F8,$0F,$FC,$0F,$3C,$0B,$1C,$07,$96,$03,$DE,$01,$CE,$03,$DE,$03,$9E,$01,$0C StandSpriteR: .db 2,27 .db $00,$E0,$07,$E0,$0F,$C0,$19,$C0,$17,$20,$33,$A0,$4F,$F4,$23,$E6,$1F,$8F,$10,$F6,$2D,$84,$47,$38,$E3,$23,$F3,$2E,$13,$BF,$1C,$7C,$0F,$C0,$1F,$E0,$3F,$F0,$3C,$F0,$38,$D0,$69,$E0,$7B,$C0,$73,$80,$7B,$C0,$79,$C0,$30,$80 AirSprite: .db 2,27 .db $07,$00,$07,$E0,$03,$F0,$03,$98,$04,$E8,$05,$CC,$0F,$F2,$07,$C4,$01,$F8,$7F,$08,$E1,$B4,$3C,$E2,$C4,$C1,$74,$CD,$FD,$CB,$3E,$3B,$03,$F1,$07,$F8,$07,$FC,$07,$BC,$0F,$34,$1B,$78,$3E,$F0,$38,$E0,$3C,$F0,$1C,$70,$08,$20 AirSpriteR: .db 2,27 .db $00,$E0,$07,$E0,$0F,$C0,$19,$C0,$17,$20,$33,$A0,$4F,$F0,$23,$E0,$1F,$80,$10,$FE,$2D,$87,$47,$3C,$83,$23,$B3,$2E,$D3,$BF,$DC,$7C,$8F,$C0,$1F,$E0,$3F,$E0,$3D,$E0,$2C,$F0,$1E,$D8,$0F,$7C,$07,$1C,$0F,$3C,$0E,$38,$04,$10 LandSprite: .db 3,20 .db $00,$00,$00,$00,$03,$80,$00,$03,$F0,$00,$01,$F8,$00,$61,$CC,$00,$92,$74,$31,$0A,$E6,$1A,$57,$F9,$6C,$B3,$E2,$3F,$12,$FC,$0F,$29,$40,$01,$E9,$80,$00,$F9,$F8,$00,$FC,$1C,$0F,$3F,$F0,$1F,$CF,$00,$1F,$F7,$00,$0E,$E7,$C0,$0E,$07,$E0,$07,$03,$E0 LandSpriteR: .db 3,20 .db $00,$00,$00,$01,$C0,$00,$0F,$C0,$00,$1F,$80,$00,$33,$86,$00,$2E,$49,$00,$67,$50,$8C,$9F,$EA,$58,$47,$CD,$36,$3F,$48,$FC,$02,$94,$F0,$01,$97,$80,$1F,$9F,$00,$38,$3F,$00,$0F,$FC,$F0,$00,$F3,$F8,$00,$EF,$F8,$03,$E7,$70,$07,$E0,$70,$07,$C0,$E0 Dash1Sprite: .db 3,22 .db $00,$03,$80,$00,$03,$F0,$00,$01,$F8,$03,$01,$CC,$07,$82,$74,$07,$62,$E6,$03,$1F,$F9,$70,$C5,$E2,$18,$32,$7C,$6C,$11,$A0,$1E,$2B,$C0,$03,$E9,$80,$01,$F9,$00,$01,$FA,$00,$00,$FC,$00,$03,$FC,$00,$07,$F8,$00,$07,$F0,$00,$07,$E0,$00,$02,$F8,$00,$00,$FC,$00,$00,$78,$00 Dash1SpriteR: .db 3,22 .db $01,$C0,$00,$0F,$C0,$00,$1F,$80,$00,$33,$80,$C0,$2E,$41,$E0,$67,$46,$E0,$9F,$F8,$C0,$47,$A3,$0E,$3E,$4C,$18,$05,$88,$36,$03,$D4,$78,$01,$97,$C0,$00,$9F,$80,$00,$5F,$80,$00,$3F,$00,$00,$3F,$C0,$00,$1F,$E0,$00,$0F,$E0,$00,$07,$E0,$00,$1F,$40,$00,$3F,$00,$00,$1E,$00 Dash2Sprite: .db 3,22 .db $00,$03,$80,$00,$03,$F0,$00,$01,$F8,$03,$01,$CC,$07,$82,$74,$07,$62,$E6,$03,$1F,$F9,$70,$C5,$E2,$18,$32,$7C,$6C,$11,$A0,$1E,$2B,$C0,$03,$E9,$80,$00,$F9,$00,$60,$FA,$00,$FB,$FC,$00,$FF,$FE,$00,$FF,$DF,$00,$EF,$0F,$80,$40,$07,$80,$00,$03,$E0,$00,$03,$F0,$00,$01,$E0 Dash2SpriteR: .db 3,22 .db $01,$C0,$00,$0F,$C0,$00,$1F,$80,$00,$33,$80,$C0,$2E,$41,$E0,$67,$46,$E0,$9F,$F8,$C0,$47,$A3,$0E,$3E,$4C,$18,$05,$88,$36,$03,$D4,$78,$01,$97,$C0,$00,$9F,$00,$00,$5F,$06,$00,$3F,$DF,$00,$7F,$FF,$00,$FB,$FF,$01,$F0,$F7,$01,$E0,$02,$07,$C0,$00,$0F,$C0,$00,$07,$80,$00 DashEndSprite: .db 3,24 .db $00,$E0,$00,$00,$FC,$00,$00,$7E,$00,$00,$73,$00,$00,$9D,$00,$08,$B9,$80,$19,$FE,$40,$3C,$F8,$80,$1A,$3F,$00,$09,$E1,$00,$04,$36,$80,$33,$9C,$78,$08,$99,$1C,$3C,$99,$E0,$0E,$B9,$00,$03,$C6,$00,$00,$FF,$00,$01,$FF,$80,$01,$F7,$C0,$01,$63,$E0,$00,$F0,$F0,$00,$78,$7C,$00,$F8,$3E,$00,$F8,$3E DashEndSpriteR: .db 3,24 .db $00,$07,$00,$00,$3F,$00,$00,$7E,$00,$00,$CE,$00,$00,$B9,$00,$01,$9D,$10,$02,$7F,$98,$01,$1F,$3C,$00,$FC,$58,$00,$87,$90,$01,$6C,$20,$1E,$39,$CC,$38,$99,$10,$07,$99,$3C,$00,$9D,$70,$00,$63,$C0,$00,$FF,$00,$01,$FF,$80,$03,$EF,$80,$07,$C6,$80,$0F,$0F,$00,$3E,$1E,$00,$7C,$1F,$00,$7C,$1F,$00 HelplessSpr: .Db 3,17 .db $00,$03,$80,$00,$03,$F0,$00,$01,$F8,$01,$81,$CC,$03,$C2,$74,$13,$B2,$E6,$09,$8F,$F9,$6C,$63,$E2,$3C,$1A,$7C,$0E,$09,$A0,$03,$14,$E0,$70,$F4,$C0,$F9,$FC,$80,$FF,$FD,$00,$FF,$FE,$00,$EF,$F8,$00,$43,$C0,$00 HelplessSprR: .Db 3,17 .db $01,$C0,$00,$0F,$C0,$00,$1F,$80,$00,$33,$81,$80,$2E,$43,$C0,$67,$4D,$C8,$9F,$F1,$90,$47,$C6,$36,$3E,$58,$3C,$05,$90,$70,$07,$28,$C0,$03,$2F,$0E,$01,$3F,$9F,$00,$BF,$FF,$00,$7F,$FF,$00,$1F,$F7,$00,$03,$C2 DashAttackSpr: .db 3,27 .db $07,$00,$00,$07,$E0,$00,$03,$F0,$00,$03,$98,$00,$04,$E8,$00,$05,$CC,$00,$2F,$F2,$00,$67,$C4,$00,$F1,$F8,$00,$6F,$08,$00,$21,$B7,$A0,$1C,$E0,$F8,$C4,$C7,$B8,$74,$C8,$00,$9D,$CF,$76,$7E,$3F,$FF,$07,$FF,$FF,$03,$C0,$0E,$03,$EF,$80,$01,$FF,$C0,$00,$FD,$C0,$00,$71,$C0,$00,$00,$80,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 DashAttackSprR: .db 3,27 .db $00,$00,$E0,$00,$07,$E0,$00,$0F,$C0,$00,$19,$C0,$00,$17,$20,$00,$33,$A0,$00,$4F,$F4,$00,$23,$E6,$00,$1F,$8F,$00,$10,$F6,$05,$ED,$84,$1F,$07,$38,$1D,$E3,$23,$00,$13,$2E,$6E,$F3,$B9,$FF,$FC,$7E,$FF,$FF,$E0,$70,$03,$C0,$01,$F7,$C0,$03,$FF,$80,$03,$BF,$00,$03,$8E,$00,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 LedgeSprite: .db 4,28 .db $00,$00,$03,$8C,$00,$00,$01,$72,$00,$01,$81,$61,$00,$03,$FF,$21,$00,$07,$26,$C2,$00,$0E,$00,$7C,$01,$FE,$3B,$70,$01,$9E,$1B,$D0,$01,$6E,$0F,$D0,$01,$1A,$00,$30,$00,$F1,$00,$30,$00,$E6,$80,$70,$00,$7F,$60,$F0,$00,$5F,$9F,$E0,$00,$87,$FF,$C0,$02,$8B,$FF,$C0,$05,$0B,$FF,$C0,$02,$D2,$FF,$40,$1E,$33,$12,$E0,$09,$93,$F3,$E0,$24,$4B,$F3,$E0,$D8,$33,$F1,$A0,$43,$41,$E0,$C0,$24,$C0,$C0,$00,$62,$80,$00,$00,$4A,$00,$00,$00,$B4,$00,$00,$00,$C0,$00,$00,$00 LedgeSpriteR: .db 4,28 .db $31,$C0,$00,$00,$4E,$80,$00,$00,$86,$81,$80,$00,$84,$FF,$C0,$00,$43,$64,$E0,$00,$3E,$00,$70,$00,$0E,$DC,$7F,$80,$0B,$D8,$79,$80,$0B,$F0,$76,$80,$0C,$00,$58,$80,$0C,$00,$8F,$00,$0E,$01,$67,$00,$0F,$06,$FE,$00,$07,$F9,$FA,$00,$03,$FF,$E1,$00,$03,$FF,$D1,$40,$03,$FF,$D0,$A0,$02,$FF,$4B,$40,$07,$48,$CC,$78,$07,$CF,$C9,$90,$07,$CF,$D2,$24,$05,$8F,$CC,$1B,$03,$07,$82,$C2,$00,$03,$03,$24,$00,$00,$01,$46,$00,$00,$00,$52,$00,$00,$00,$2D,$00,$00,$00,$03 DataEnd: ;DO NOT PUT ANYTHING UNDER THIS