;/THIS IS FOR GENERAL INFOS #define Gravity 00 ;/WARNING NOW USELESS, we specify in states what speed they add to the current speed anyway #define Floa 01 #define Traction 02 #define MaxJumps 03 #define MaxHspeed 04 #define GroundState 06 #define AirState 08 #define DashState 10 #define JumpState 12 #define AirJumpState 14 #define LandState 16 #define BGN 18 ;/B attack Ground None #define BGLR 20 ;/B attack Ground Left/Right #define BGD 22 ;/B attack Ground Down #define BGU 24 ;/B attack Ground Up #define BAN 26 ;/B attack Air None #define BALR 28 ;/B attack Air Left/Right #define BAD 30 ;/B attack Air Down #define BAU 32 ;/B attack Air Up #define DashAttack 34 #define SideSmash 36 #define DownSmash 38 #define UpSmash 40 #define NeutralAir 42 #define FrontAir 44 #define BackAir 46 #define DownAir 48 #define UpAir 50 #define LedgeState 52 ;/THIS IS FOR STATE INFOS #define StateSprite 00 #define StateTeleport 04 #define StateFlags 06 #define StateDirX 07 #define StateDirY 09 #define KeysInfluence 11 #define DefaultNext 12 #define ToParse 14 ;/THIS IS FOR STATEFLAGS #define Inv %10000000 #define Piv %01000000 #define AbsX %00100000 #define AbsY %00010000 #define HalfPiv %00001000 #define Type %00000111 ;/Now we are studying this state's type #define GroundNull %00000000 ;/on ground, doesn't allow moves (jump and attacks) #define GroundOK %00000001 ;/on ground, allows moves #define GroundDash %00000010 ;/on ground, allows dash moves #define AirNull %00000011 ;/in air, doesn't allow aerial moves #define AirOK %00000100 ;/in air, allows aerial moves #define Aerial %00000101 ;/in aerial attack (useful to L-cancel) #define Ledge %00000110 ;/THIS IS FOR KEYS #define MLeft %10000000 #define MBackward MLeft #define MRight %01000000 #define MForward MRight #define MDown %00100000 #define MUp %00010000 #define MKeyFlag %00001000 #define MNone %00001000 ;/touches qu'on peut détecter en même temps #define MA %00001001 #define MLR %00001010 ;/on peut encore mettre une touche ici ;/touches qui se detectent toutes seules (ça ne veut rien dire) #define MQuit %00000000 #define MClear MQuit #define MJump %00000001 #define MStart %00000010 #define MPause MStart #define MCLeft %00000011 #define MCRight %00000100 #define MCDown %00000101 #define MCUp %00000110 #define MB %00000111 ;/COMMANDS #define IJX %01100000 #define IJNX %01000000 #define REPEAT %00100000 #define SETCHRONO %00010000 #define UNUSED %00001000 ;UNUSED !!! #define ONGROUND %00000100 #define HITBOX %00000101 #define HIT %00000110 #define OBJECT %00000111 #define DJZ %00000011 #define DJNZ %00000010 #define ONKEY %00000001 ;/THIS IS FOR HITBOXES #define BoxFlags 00 #define SetKnockback %10000000 #define Pivot %01000000 #define SetAlreadyHit %00100000 #define NbBoxes %00011111 #define Radius 01 #define NextPState 02 #define NextAState 04 #define NextAPosX 06 #define NextAPosY 07 #define HitStun 08 #define Damages 09 #define ProjDir 10 #define ProjAngle 11 #define ProjSpeed 12 #define List 14 ;/THIS IS FOR PLAYER'S DIRECTION #define DirLeft 0 #define DirRight 2 ;/THIS IS FOR OBJECT CREATION (field positions, starting at 1) #define ODirection 01 #define OFlags ODirection #define OInputMethod 02 #define OState 04 #define OX 06 #define OY 08 #define OVX 10 #define OVY 12 #define OCharacter 14 #define ONbAttributes 16 ;/THIS IS FOR OBJECT CREATION (flags) #define OFAssociate %10000000 ;/if the object should be associated with its creator or not (if associated, hitboxes do nothing on its creator) #define OFAbsX %01000000 ;/those two flags can be useful to make something fall or come from #define OFAbsY %00100000 ;/the left/right but not necessarily from the object creator ;- #define OFDirection %00000011 #define OFDestroy %11111111 ;/WARNING this might change someday #define MapSprite %10000000 #define MapRectangle 0 #define LeftLedge %01000000 #define RightLedge %00100000 #define Move %00010000