--[[ -------------------- playerstruct -------------------- +0 / +0 : playercache* +4 / +4 : playerID +8 / +8 : playerindex -------------------- playercache -------------------- +0: name(0~2C) ... +30: displayname(30~5C) ... +60: authorname(60~8C) ... +378: airjump.num +37C: airjump.height +42C: stateptr* ======================================== -------------------- stateptr -------------------- +0: defbase* -------------------- +0: 0 +4: defarraysize +8: defcount +C: defcount +10: 1 +14: defcount +18: definfo* +1C: deflist* +20: 0 +24: 0 +28: defcount-1 -------------------- deflist -------------------- [deflist]+0x10*n: each def +0: 1 +4: def index +8: def ID +C: 0 -------------------- definfo -------------------- [definfo]+0x9C*n: each def +0: stecon* -------------------- stecon -------------------- +0: 0 +4: steconarraysize +8: steconcount +C: steconcount +10: 1 +14: steconcount +18: steconinfo* +1C: steconlist* +20: ? +24: 0 +28: steconcount-1 -------------------- steconlist -------------------- [steconlist]+0x10*n: each stecon +0: 1 +4: stecon index +8: stecon type +C: -1 -------------------- steconinfo -------------------- [steconinfo]+0x68*n: each stecon +0: trigger* +4: triggercount(number only) +8: persistent +C: ignorehitpause +10: stecon ID +14: 0 +18: is different for each stecon(18->60) +64: ?* [BASIC Expression Structure] BASE+0 = PARAM VALUE if Const BASE+4 = 0 If PARAM VALUE Const BASE+8 = -1 If PARAM VALUE Const In the basic structure, values that are always consts (enumerators) are also 0x08 each. !!! Maximum amount of parameters/data is exactly 6 without extended properties !!! Ranges from 0x18~0x5C However, in extended properties (con+0x60) Always Fixed values are typically 4 bytes only. Since they are specialized for each controller type. --]] CONTYPE_ChangeState = 01 --[[ 0x18/0x1C/0x20 = VALUE (STATE) 0x24/0x28/0x2C = CTRL (Default -1) 0x30/0x34/0x38 = ANIM (Default -1) --]] CONTYPE_SelfState = 02 --[[ 0x18/0x1C/0x20 = VALUE (STATE) 0x24/0x28/0x2C = CTRL (Default -1) 0x30/0x34/0x38 = ANIM (Default -1) --]] CONTYPE_Turn = 03 CONTYPE_VarSet = 04 --[[ 0x18/0x1C/0x20 = VALUE (VAR) 0x24/0x28/0x2C = VAR 0x30/0x34/0x38 = TYPE (0 Var, 1 FVar) --]] CONTYPE_VarAdd = 05 --[[ 0x18/0x1C/0x20 = VALUE (VAR) 0x24/0x28/0x2C = VAR 0x30/0x34/0x38 = TYPE (0 Var, 1 FVar) --]] CONTYPE_VarRandom = 06 --[[ 0x18/0x1C/0x20 = LOW_RANGE (0x1C appears to be ESP/Stack?) 0x24/0x28/0x2C = VAR 0x30/0x34/0x38 = HIGH_RANGE --]] CONTYPE_VarRangeSet = 07 --[[ 0x18/0x1C/0x20 = FIRST_INDEX 0x24/0x28/0x2C = LAST_INDEX 0x30/0x34/0x38 = VALUE (VAR) --]] CONTYPE_LifeSet = 10 --[[ 0x18/0x1C/0x20 = VALUE (LIFE) --]] CONTYPE_LifeAdd = 11 --[[ 0x18/0x1C/0x20 = VALUE (LIFE) 0x24/0x28/0x2C = KILL 0x30/0x34/0x38 = ABSOLUTE --]] CONTYPE_PowerSet = 12 --[[ 0x18/0x1C/0x20 = VALUE (POWER) --]] CONTYPE_PowerAdd = 13 --[[ 0x18/0x1C/0x20 = VALUE (POWER) --]] CONTYPE_CtrlSet = 20 --[[ 0x18/0x1C/0x20 = VALUE (CTRL) --]] CONTYPE_PosSet = 21 --[[ 0x18/0x1C/0x20 = SET POS X BOOL 0x24/0x28/0x2C = SET POS Y BOOL 0x30/0x34/0x38 = ??? 0x3C/0x40/0x44 = Pos X 0x48/0x4C/0x50 = Pos Y --]] CONTYPE_PosAdd = 22 --[[ 0x18/0x1C/0x20 = ADD POS X BOOL 0x24/0x28/0x2C = ADD POS Y BOOL 0x30/0x34/0x38 = ??? 0x3C/0x40/0x44 = Pos X 0x48/0x4C/0x50 = Pos Y --]] CONTYPE_PosFreeze = 23 --[[ 0x18/0x1C/0x20 = VALUE (FREEZE) --]] CONTYPE_VelSet = 24 --[[ 0x18/0x1C/0x20 = SET POS X BOOL 0x24/0x28/0x2C = SET POS Y BOOL 0x30/0x34/0x38 = ??? 0x3C/0x40/0x44 = Vel X 0x48/0x4C/0x50 = Vel Y --]] CONTYPE_VelAdd = 25 --[[ 0x18/0x1C/0x20 = ADD POS X BOOL 0x24/0x28/0x2C = ADD POS Y BOOL 0x30/0x34/0x38 = ??? 0x3C/0x40/0x44 = Pos X 0x48/0x4C/0x50 = Pos Y --]] CONTYPE_VelMul = 26 --[[ 0x18/0x1C/0x20 = MUL POS X BOOL 0x24/0x28/0x2C = MUL POS Y BOOL 0x30/0x34/0x38 = ??? 0x3C/0x40/0x44 = Pos X 0x48/0x4C/0x50 = Pos Y --]] CONTYPE_Gravity = 27 CONTYPE_Offset = 28 --[[ 0x18/0x1C/0x20 = SET POS X BOOL 0x24/0x28/0x2C = SET POS Y BOOL 0x30/0x34/0x38 = ??? 0x3C/0x40/0x44 = Pos X 0x48/0x4C/0x50 = Pos Y --]] CONTYPE_HitBy = 30 --[[ 0x18/0x1C/0x20 = Attr Flag 0x24/0x28/0x2C = TIME 0x30/0x34/0x38 = Value Param (0 = Value1, 1 = Value2) --]] CONTYPE_ChangeAnim = 32 --[[ 0x18/0x1C/0x20 = VALUE (ANIM) 0x24/0x28/0x2C = ELEM (Default 0) --]] CONTYPE_ChangeAnim2 = 33 --[[ 0x18/0x1C/0x20 = VALUE (ANIM) 0x24/0x28/0x2C = ELEM (Default 0) --]] CONTYPE_PlaySnd = 34 --[[ 0x60 = PROPERTIES PROP + 0x00/0x04/0x08 = Sound Channel PROP + 0x0C/0x10/0x14 = Value GroupNo PROP + 0x18/0x1C/0x20 = Value SoundNo ~~~ PROP + 0x30/0x34/0x38 = VolumeScale Probably Volume? ~~~ PROP + 0x40/0x44/0x48 = LowPriority PROP + 0x4C/0x50/0x54 = FreqMul PROP + 0x58/0x5C/0x60 = Loop ~~~ PROP + 0x68/0x6C/0x79 = Pan/AbsPan --]] CONTYPE_StopSnd = 35 --[[ 0x18/0x1C/0x20 = Stop Channel --]] CONTYPE_SndPan = 36 --[[ 0x18/0x1C/0x20 = Channel 0x24/0x28/0x2C = Pan/AbsPan --]] CONTYPE_HitDef = 37 --[[ 0x60 = PROPERTIES PROP + 0x000 = AffectTeam (F = 1, E = 2, B = 3) PROP + 0x004 = HitDefAttr (Fixed) PROP + 0x008/0x00C/0x010 = Hitdef ID PROP + 0x014/0x018/0x01C = ChainID PROP + 0x020/0x024/0x028 = NoChainID A PROP + 0x02C/0x030/0x034 = NoChainID B PROP + 0x038/0x03C/0x040 = Kill PROP + 0x044/0x048/0x04C = Guard.Kill PROP + 0x050/0x054/0x058 = Fall.Kill PROP + 0x05C/0x060/0x064 = HitOnce PROP + 0x068/0x06C/0x070 = Air.Juggle (Proj Only) PROP + 0x074/0x078/0x07C = Hit Damage PROP + 0x080/0x084/0x088 = Guard Damage PROP + 0x08C/0x090/0x094 = GetPower Hit PROP + 0x098/0x09C/0x0A0 = GetPower Guard PROP + 0x0A4/0x0A8/0x0AC = GivePower Hit PROP + 0x0B0/0x0B4/0x0B8 = GivePower Guard PROP + 0x0BC/0x0C0/0x0C4 = Hit HitShakeTime PROP + 0x0C8/0x0CC/0x0D0 = Hit HitPauseTime PROP + 0x0D4/0x0D8/0x0DC = NumHits PROP + 0x0E0/0x0E4/0x0E8 = Hit Sound Group PROP + 0x0EC/0x0F0/0x0F4 = Hit Sound Index PROP + 0x0F8 = HitSound S-Bool (Use Own Sounds) PROP + 0x0FC/0x100/0x104 = Guard Sound Group PROP + 0x108/0x10C/0x110 = Guard Sound Index PROP + 0x114 = GuardSound S-Bool (Use Own Sounds) PROP + 0x118 = GuardFlag PROP + 0x11C = HitFlag (Bit 1 for Fall is not present in the actual hitflag) PROP + 0x120/0x124/0x128 = PriorityHit PROP + 0x12C = PriorityType ~~~ PROP + 0x130/0x134/0x138 = P1StateNo PROP + 0x13C/0x140/0x144 = P2StateNo PROP + 0x148/0x14C/0x150 = P2GetP1State ~~~ PROP + 0x160/0x164/0x168 = P1SprPriority PROP + 0x16C/0x170/0x174 = P2SprPriority PROP + 0x178 = AnimType PROP + 0x17C/0x180/0x184 = ForceStand PROP + 0x188/0x18C/0x190 = ForceNoFall ~~~ PROP + 0x19C/0x1A0/0x1A4 = Fall.Damage PROP + 0x1A8 = Fall.AnimType PROP + 0x1AC/0x1B0/0x1B4 = Fall.XVelocity PROP + 0x1B8/0x1BC/0x1C0 = Fall.YVelocity PROP + 0x1C4/0x1C8/0x1CC = Fall.Recover PROP + 0x1D0/0x1D4/0x1D8 = Fall.RecoverTime PROP + 0x1DC/0x1E0/0x1E4 = Fall.EnvShakeTime ~~~ PROP + 0x1F4/0x1F8/0x1FC = Fall.EnvShakeFreq PROP + 0x200/0x204/0x208 = Fall.EnvShakeAmpl PROP + 0x20C/0x210/0x214 = Fall.EnvShake.Phase ~~~ 0x21C/0x220/0x224 = Fall -> HitFlag 1 ~~~ PROP + 0x228/0x22C/0x230 = SparkNo PROP + 0x234 = SparkNo S-Bool (Use Own Animations) PROP + 0x238/0x23C/0x240 = Guard.SparkNo PROP + 0x244 = GuardSparkNo S-Bool (Use Own Animations) PROP + 0x248/0x24C/0x250 = SparkX PROP + 0x254/0x258/0x25C = SparkY PROP + 0x260/0x264/0x268 = P1Facing PROP + 0x26C/0x270/0x274 = P2GetP1Facing Snap modifies MinDist and MaxDist to be the same PROP + 0x278/0x27C/0x280 = MinDistX PROP + 0x284/0x288/0x28C = MinDistY PROP + 0x290/0x294/0x298 = MaxDistX PROP + 0x29C/0x2A0/0x2A4 = MaxDistY PROP + 0x2A8/0x2AC/0x2B0 = P2Facing PROP + 0x2B4 = Ground.Type PROP + 0x2B8/0x2BC/0x2C0 = Ground.HitTime PROP + 0x2C4/0x2C8/0x2CC = Ground.SlideTime PROP + 0x2D0/0x2D4/0x2D8 = Ground.Vel X PROP + 0x2DC/0x2E0/0x2E4 = Ground.Vel Y PROP + 0x2E8/0x2EC/0x2F0 = Ground.Cornerpush.VelOff PROP + 0x2F4 = Air.Type PROP + 0x2F8 = Air.AnimType PROP + 0x2FC/0x230/0x234 = Air.HitTime ~~~ PROP + 0x308/0x30C/0x310 = Air.Fall PROP + 0x314/0x318/0x31C = Air.Vel X PROP + 0x320/0x324/0x328 = Air.Vel Y PROP + 0x32C/0x330/0x334 = Air.CornerPush.VelOff PROP + 0x338/0x33C/0x340 = Down.Bounce PROP + 0x344/0x348/0x34C = Down.HitTime PROP + 0x350/0x354/0x358 = Down.Vel X PROP + 0x35C/0x360/0x364 = Down.Vel Y PROP + 0x368/0x36C/0x370 = Down.CornerPush.VelOff PROP + 0x374/0x378/0x37C = Guard.Velocity PROP + 0x380/0x384/0x388 = Guard.HitTime PROP + 0x38C/0x390/0x394 = Guard.SlideTime PROP + 0x398/0x39C/0x3A0 = Guard.CtrlTime PROP + 0x3A4/0x3A8/0x3AC = Guard.Dist PROP + 0x3B0/0x3B4/0x3B8 = Guard HitShakeTime PROP + 0x3BC/0x3C0/0x3C4 = Guard HitPauseTime PROP + 0x3C8/0x3CC/0x3D0 = Guard.CornerPush.VelOff PROP + 0x3D4/0x3D8/0x3DC = AirGuard.Velocity.X PROP + 0x3E0/0x3E4/0x3E8 = AirGuard.Velocity.X PROP + 0x3EC/0x3F0/0x3F4 = AirGuard.CtrlTime PROP + 0x3F8/0x3FC/0x400 = AirGuard.CornerPush.VelOff PROP + 0x404/0x408/0x40C = YAccel? ~~~ PROP + 0x414/0x418/0x41C = PalFX.Time ~~~ PROP + 0x42C/0x430/0x434 = PalFX.AddR PROP + 0x438/0x43C/0x440 = PalFX.AddG PROP + 0x444/0x448/0x44C = PalFX.AddB PROP + 0x450/0x454/0x458 = PalFX.MulR PROP + 0x45C/0x460/0x464 = PalFX.MulG PROP + 0x468/0x46C/0x470 = PalFX.MulB ~~~ PROP + 0x4B0/0x4B4/0x4B8 = EnvShake.Time ~~~ PROP + 0x4C8/0x4CC/0x4D0 = EnvShake.Freq PROP + 0x4D4/0x4D8/0x4DC = EnvShake.Ampl PROP + 0x4E0/0x4E4/0x4E8 = EnvShake.Phase --]] CONTYPE_ReversalDef = 38 --[[ 0x60 = PROPERTIES PROP + 0x0BC/0x0C0/0x0C4 = P2 HitPauseTime PROP + 0x0C8/0x0CC/0x0D0 = P1 HitPauseTime PROP + 0x198 = Reversal.Attr PROP + 0x19C/0x1A0/0x1A4 = Fall.Damage (Reversal OK) --]] CONTYPE_Projectile = 39 --[[ 0x60 = PROPERTIES PROP + 0x000/0x004/0x008 = ProjID PROP + 0x00C/0x010/0x014 = Offset X PROP + 0x018/0x01C/0x020 = Offset Y PROP + 0x024 = PosType PROP + 0x028/0x02C/0x030 = ProjRemove PROP + 0x034/0x038/0x03C = ProjRemoveTime PROP + 0x040/0x044/0x048 = ProjMissTime PROP + 0x04C/0x050/0x054 = ProjEdgeBound PROP + 0x058/0x05C/0x060 = ProjStageBound PROP + 0x064/0x068/0x06C = ProjHeightBound Low PROP + 0x070/0x074/0x078 = ProjHeightBound High PROP + 0x07C/0x080/0x084 = ProjHits PROP + 0x088/0x08C/0x090 = ProjPriority PROP + 0x094/0x098/0x09C = ProjAnim PROP + 0x0A0/0x0A4/0x0A8 = ProjHitAnim PROP + 0x0AC/0x0B0/0x0B4 = ProjRemAnim PROP + 0x0B8/0x0BC/0x0C0 = ProjCancelAnim PROP + 0x0C4/0x0C8/0x0CC = ProjShadow ~~~ PROP + 0x0E8/0x0EC/0x0F0 = ProjSprPriority PROP + 0x0F4/0x0F8/0x0FC = Vel X PROP + 0x100/0x104/0x108 = Vel Y PROP + 0x10C/0x110/0x114 = VelMul X PROP + 0x118/0x11C/0x120 = VelMul Y PROP + 0x124/0x128/0x12C = Rem Vel X PROP + 0x130/0x134/0x138 = Rem Vel Y PROP + 0x13C/0x140/0x144 = Accel X PROP + 0x148/0x14C/0x150 = Accel Y PROP + 0x154/0x158/0x15C = ProjScale X PROP + 0x158/0x15C/0x160 = ProjScale Y ~~~ PROP + 0x16C/0x170/0x174 = SuperMoveTime (Proj) PROP + 0x178/0x17C/0x180 = PauseMoveTime (Proj) PROP + 0x184/0x188/0x18C = OwnPal (Proj) PROP + 0x190/0x194/0x198 = RemapPal Source (Proj) PROP + 0x194/0x198/0x19C = RemapPal Group (Proj) ~~~ [HITDEF STRUCTURE for PROJ] Simply add 0x1A8 to any HitDef structure address to get the equivalent for projectiles. PROP + 0x1A8 = AffectTeam (F = 1, E = 2, B = 3) PROP + 0x1AC = HitDefAttr (Fixed) PROP + 0x1B0/0x1B4/0x1B8 = Proj HitdefID PROP + 0x1BC/0x1C0/0x1C4 = ChainID PROP + 0x1C8/0x1CC/0x1D0 = NoChainID A PROP + 0x1D4/0x1D8/0x1DC = NoChainID B PROP + 0x1E0/0x1E4/0x1E8 = Kill PROP + 0x1EC/0x1F0/0x1F4 = Guard.Kill PROP + 0x1F8/0x1FC/0x200 = Fall.Kill PROP + 0x204/0x208/0x20C = HitOnce PROP + 0x210/0x214/0x218 = Air.Juggle (Proj Only) PROP + 0x21C/0x220/0x224 = Hit Damage PROP + 0x228/0x22C/0x230 = Guard Damage PROP + 0x234/0x238/0x23C = GetPower Hit PROP + 0x240/0x244/0x248 = GetPower Guard PROP + 0x24C/0x250/0x254 = GivePower Hit PROP + 0x258/0x25C/0x260 = GivePower Guard PROP + 0x264/0x268/0x26C = Hit HitShakeTime PROP + 0x270/0x274/0x278 = Hit HitPauseTime PROP + 0x27C/0x280/0x284 = NumHits PROP + 0x288/0x28C/0x290 = Hit Sound Group PROP + 0x294/0x298/0x29C = Hit Sound Index PROP + 0x2A0 = HitSound S-Bool (Use Own Sounds) PROP + 0x2A4/0x2A8/0x2AC = Guard Sound Group PROP + 0x2B0/0x2B4/0x2B8 = Guard Sound Index PROP + 0x2BC = GuardSound S-Bool (Use Own Sounds) PROP + 0x2C0 = GuardFlag PROP + 0x2C4 = HitFlag (Bit 1 for Fall is not present in the actual hitflag) PROP + 0x2C8/0x2CC/0x2D0 = PriorityHit PROP + 0x2D4 = PriorityType PROP + 0x2D8/0x2DC/0x2E0 = P1StateNo PROP + 0x2E4/0x2E8/0x2EC = P2StateNo PROP + 0x2F0/0x2F4/0x2F8 = P2GetP1State PROP + 0x308/0x30C/0x310 = P1SprPriority PROP + 0x314/0x318/0x31C = P2SprPriority PROP + 0x320 = AnimType PROP + 0x324/0x328/0x32C = ForceStand PROP + 0x330/0x334/0x338 = ForceNoFall PROP + 0x344/0x348/0x34C = Fall.Damage PROP + 0x350 = Fall.AnimType PROP + 0x354/0x358/0x35C = Fall.XVelocity PROP + 0x360/0x364/0x368 = Fall.YVelocity PROP + 0x36C/0x370/0x374 = Fall.Recover PROP + 0x378/0x37C/0x380 = Fall.RecoverTime PROP + 0x384/0x388/0x38C = Fall.EnvShakeTime PROP + 0x39C/0x3A0/0x3A4 = Fall.EnvShakeFreq PROP + 0x3A8/0x3AC/0x3B0 = Fall.EnvShakeAmpl PROP + 0x3B4/0x3B8/0x3BC = Fall.EnvShake.Phase PROP + 0x3D0/0x3D4/0x3D8 = SparkNo PROP + 0x3DC = SparkNo S-Bool (Use Own Animations) PROP + 0x3E0/0x3E4/0x3E8 = Guard.SparkNo PROP + 0x3EC = GuardSparkNo S-Bool (Use Own Animations) PROP + 0x3F0/0x3F4/0x3F8 = SparkX PROP + 0x3FC/0x400/0x404 = SparkY PROP + 0x408/0x40C/0x410 = P1Facing PROP + 0x414/0x418/0x41C = P2GetP1Facing PROP + 0x420/0x424/0x428 = MinDistX PROP + 0x42C/0x430/0x434 = MinDistY PROP + 0x438/0x43C/0x440 = MaxDistX PROP + 0x444/0x448/0x44C = MaxDistY PROP + 0x450/0x454/0x458 = P2Facing PROP + 0x45C = Ground.Type PROP + 0x460/0x464/0x468 = Ground.HitTime PROP + 0x46C/0x470/0x474 = Ground.SlideTime PROP + 0x478/0x47C/0x480 = Ground.Vel X PROP + 0x484/0x488/0x48C = Ground.Vel Y PROP + 0x490/0x494/0x498 = Ground.Cornerpush.VelOff PROP + 0x49C = Air.Type PROP + 0x4A0 = Air.AnimType PROP + 0x4A4/0x3D8/0x3DC = Air.HitTime PROP + 0x4B0/0x4B4/0x4B8 = Air.Fall PROP + 0x4BC/0x4C0/0x4C4 = Air.Vel X PROP + 0x4C8/0x4CC/0x4D0 = Air.Vel Y PROP + 0x4D4/0x4D8/0x4DC = Air.CornerPush.VelOff PROP + 0x4E0/0x4E4/0x4E8 = Down.Bounce PROP + 0x4EC/0x4F0/0x4F4 = Down.HitTime PROP + 0x4F8/0x4FC/0x500 = Down.Vel X PROP + 0x504/0x508/0x50C = Down.Vel Y PROP + 0x510/0x514/0x518 = Down.CornerPush.VelOff PROP + 0x51C/0x520/0x524 = Guard.Velocity PROP + 0x528/0x52C/0x530 = Guard.HitTime PROP + 0x534/0x538/0x53C = Guard.SlideTime PROP + 0x540/0x544/0x548 = Guard.CtrlTime PROP + 0x54C/0x550/0x554 = Guard.Dist PROP + 0x558/0x55C/0x560 = Guard HitShakeTime PROP + 0x564/0x568/0x56C = Guard HitPauseTime PROP + 0x570/0x574/0x578 = Guard.CornerPush.VelOff PROP + 0x57C/0x580/0x584 = AirGuard.Velocity.X PROP + 0x588/0x58C/0x590 = AirGuard.Velocity.X PROP + 0x594/0x598/0x59C = AirGuard.CtrlTime PROP + 0x5A0/0x5A4/0x5A8 = AirGuard.CornerPush.VelOff PROP + 0x5AC/0x5B0/0x5B4 = YAccel? PROP + 0x5BC/0x5C0/0x5C4 = PalFX.Time PROP + 0x5D4/0x5D8/0x5DC = PalFX.AddR PROP + 0x5E0/0x5E4/0x5E8 = PalFX.AddG PROP + 0x5EC/0x5F0/0x5F4 = PalFX.AddB PROP + 0x5F8/0x5FC/0x600 = PalFX.MulR PROP + 0x604/0x608/0x60C = PalFX.MulG PROP + 0x610/0x614/0x618 = PalFX.MulB PROP + 0x658/0x65C/0x660 = EnvShake.Time PROP + 0x670/0x674/0x678 = EnvShake.Freq PROP + 0x67C/0x680/0x684 = EnvShake.Ampl PROP + 0x688/0x68C/0x690 = EnvShake.Phase ~~~ PROP + 0x1A8 = AffectTeam PROP + 0x1AC = Attr PROP + 0x1B0/0x1B4/0x1B8 = ID (Proj) ~~~ PROP + 0x2D8/0x2DC/0x2E0 = P1StateNo (Proj) PROP + 0x2E4/0x2E8/0x2EC = P2StateNo (Proj) ~~~ PROP + 0x698 = AfterImage Data Pointer --]] CONTYPE_Width = 40 --[[ 0x18/0x1C/0x20 = WidthEdgeFront 0x24/0x28/0x2C = WidthEdgeBack 0x30/0x34/0x38 = PlayerEdgeFront 0x3C/0x40/0x44 = PlayerEdgeBack --]] CONTYPE_ScreenBound = 50 --[[ 0x18/0x1C/0x20 = Value (Bound) 0x24/0x28/0x2C = MoveCameraX 0x30/0x34/0x38 = MoveCameraY --]] CONTYPE_SprPriority = 51 --[[ 0x18/0x1C/0x20 = Value (Priority) --]] CONTYPE_AngleDraw = 60 --[[ 0x3C/0x40/0x44 = Value (Angle) 0x48/0x4C/0x50 = ScaleX 0x54/0x58/0x5C = ScaleY --]] CONTYPE_AngleSet = 61 --[[ 0x3C/0x40/0x44 = Value (Angle) --]] CONTYPE_AngleAdd = 62 --[[ 0x3C/0x40/0x44 = Value (Angle) --]] CONTYPE_AngleMul = 63 --[[ 0x3C/0x40/0x44 = Value (Angle) --]] CONTYPE_Trans = 65 --[[ 0x18/0x1C/0x20 = TransType 0x24/0x28/0x2C = AlphaSource 0x30/0x34/0x38 = AlphaDest --]] CONTYPE_TargetBind = 70 --[[ 0x18/0x1C/0x20 = Time ~~~ 0x30/0x34/0x38 = BindID 0x3C/0x40/0x44 = Bind Pos X 0x48/0x4C/0x50 = Bind Pos Y --]] CONTYPE_BindToTarget = 71 --[[ 0x18/0x1C/0x20 = Time ~~~ 0x30/0x34/0x38 = BindID 0x3C/0x40/0x44 = Bind Pos X 0x48/0x4C/0x50 = Bind Pos Y --]] CONTYPE_TargetState = 72 --[[ 0x18/0x1C/0x20 = Value (State) ~~~ 0x30/0x34/0x38 = TargetID --]] CONTYPE_TargetPowerAdd = 73 --[[ 0x18/0x1C/0x20 = Value (Power) ~~~ 0x30/0x34/0x38 = TargetID --]] CONTYPE_TargetLifeAdd = 74 --[[ 0x18/0x1C/0x20 = Value (Life) 0x24/0x28/0x2C = Kill 0x30/0x34/0x38 = Absolute ~~~ 0x54/0x58/0x5C = TargetID --]] CONTYPE_TargetVelSet = 75 0x30/0x34/0x38 = TargetID 0x3C/0x40/0x44 = TargetVelX 0x48/0x4C/0x50 = TargetVelY CONTYPE_TargetVelAdd = 76 --[[ 0x30/0x34/0x38 = TargetID 0x3C/0x40/0x44 = TargetVelX 0x48/0x4C/0x50 = TargetVelY --]] CONTYPE_TargetFacing = 77 --[[ 0x18/0x1C/0x20 = Value (Facing) ~~~ 0x30/0x34/0x38 = TargetID --]] CONTYPE_TargetDrop = 78 --[[ 0x18/0x1C/0x20 = ExcludeID 0x24/0x28/0x2C = KeepOne --]] CONTYPE_AttackDist = 90 --[[ 0x18/0x1C/0x20 = Value (AttackDist) --]] CONTYPE_PlayerPush = 91 --[[ 0x18/0x1C/0x20 = Value (Push) --]] CONTYPE_HitFallSet = 100 --[[ 0x18/0x1C/0x20 = Value (Fall) ~~~ 0x3C/0x40/0x44 = Fall Vel X 0x48/0x4C/0x50 = Fall Vel Y --]] CONTYPE_HitVelSet = 101 --[[ 0x18/0x1C/0x20 = Vel X 0x24/0x28/0x2C = Vel Y --]] CONTYPE_HitFallDamage = 102 CONTYPE_HitFallVel = 103 CONTYPE_HitAdd = 104 --[[ 0x18/0x1C/0x20 = Value (NumHits) --]] CONTYPE_AttackMulSet = 105 --[[ 0x3C/0x40/0x44 = Value (AttackMul) --]] CONTYPE_DefenceMulSet = 106 --[[ 0x3C/0x40/0x44 = Value (DefenceMul) --]] CONTYPE_StateTypeSet = 110 --[[ 0x18/0x1C/0x20 = StateType 0x24/0x28/0x2C = MoveType 0x30/0x34/0x38 = Physics --]] CONTYPE_HitOverRide = 120 --[[ 0x00 = OverRide-Slot 0x60 = PROPERTIES PROP + 0x000 = Attr Flag ~~~ PROP + 0x010/0x014/0x018 = TIME PROP + 0x01C/0x020/0x024 = ForceAir --]] CONTYPE_MoveHitReset = 130 CONTYPE_VictoryQuote = 140 --[[ 0x18/0x1C/0x20 = Value (Quote) --]] CONTYPE_AssertSpecial = 150 --[[ Instead of having unique values per flag, values are shared based on if they affect player or not. Disgusting misuse of enumerators. -1 = NONE 0 = Player>NoStandGuard OR System>INTRO 1 = Player>NoCrouchGuard OR System>RoundNotOver 2 = Player>NoAirGuard OR System>NoKo 3 = Player>NoAutoTurn OR System>NoKoSnd 4 = Player>NoKoSlow OR System>NoShadow 5 = Player>NoJuggleCheck OR System>NoMusic 6 = Player>NoWalk OR System>GlobalNoShadow 7 = Player>Unguardable OR System>TimerFreeze 8 = Player>Invisible OR System>NoBarDisplay 9 = System>NoBG 10 = System>NoFG 0x18/0x1C/0x20 = Flag1 0x24/0x28/0x2C = Flag2 0x30/0x34/0x38 = Flag3 0x3C/0x40/0x44 = Flag1Mode (0 System 1 Player) 0x48/0x4C/0x50 = Flag2Mode (0 System 1 Player) 0x54/0x58/0x5C = Flag3Mode (0 System 1 Player) --]] CONTYPE_Zoom = 151 --[[ 0x18/0x1C/0x20 = ZoomPosX 0x24/0x28/0x2C = ZoomPosY ~~~ 0x30/0x34/0x38 = ? ~~~ 0x3C/0x40/0x44 = Scale 0x48/0x4C/0x50 = Lag --]] CONTYPE_EnvShake = 200 --[[ 0x60 = PROPERTIES PROP + 0x00/0x04/0x08 = TIME ~~~ PROP + 0x18/0x1C/0x20 = Freq PROP + 0x24/0x28/0x2C = Ampl PROP + 0x30/0x34/0x38 = Phase --]] CONTYPE_FallEnvShake = 201 CONTYPE_EnvColor = 202 --[[ 0x24/0x28/0x2C = Time 0x30/0x34/0x38 = Under 0x3C/0x40/0x44 = Red 0x48/0x4C/0x50 = Blue 0x54/0x58/0x5C = Green --]] CONTYPE_GameMakeAnim = 203 --[[ 0x18/0x1C/0x20 = Value 0x24/0x28/0x2C = Under 0x30/0x34/0x38 = Random 0x3C/0x40/0x44 = PosX 0x48/0x4C/0x50 = PosY --]] CONTYPE_AfterImage = 210 --[[ 0x60 = PROPERTIES PROP + 0x00/0x04/0x08 = TIME PROP + 0x0C/0x10/0x14 = LENGTH PROP + 0x18/0x1C/0x20 = TIMEGAP PROP + 0x24/0x28/0x2C = FRAMEGAP PROP + 0x30/0x34/0x38 = PalColor PROP + 0x3C/0x40/0x44 = PalInvertAll ~~~ PROP + ??? PalBright Red appears to be bugged and isn't loaded. PROP + 0x054/0x058/0x05C = PalBright Green PROP + 0x060/0x064/0x068 = PalBright Blue PROP + 0x06C/0x070/0x074 = PalContrast Red PROP + 0x078/0x07C/0x080 = PalContrast Green PROP + 0x084/0x088/0x08C = PalContrast Blue PROP + 0x090/0x094/0x098 = PalPostBright Red PROP + 0x09C/0x0A0/0x0A4 = PalPostBright Green PROP + 0x0A8/0x0AC/0x0B0 = PalPostBright Blue PROP + 0x0B4/0x0B8/0x0BC = PalAdd Red PROP + 0x0C0/0x0C4/0x0C8 = PalAdd Green PROP + 0x0CC/0x0D0/0x0D4 = PalAdd Blue PROP + 0x0D8/0x0DC/0x0E0 = PalMul Red PROP + 0x0E4/0x0E8/0x0EC = PalMul Green PROP + 0x0F0/0x0F4/0x0F8 = PalMul Blue --]] CONTYPE_AfterImageTime = 211 --[[ 0x18/0x1C/0x20 = TIME --]] CONTYPE_Pause = 212 --[[ 0x60 = PROPERTIES PROP + 0x000/0x004/0x008 = Time PROP + 0x00C/0x010/0x014 = MoveTime PROP + 0x018/0x01C/0x020 = EndCmdBufTime (Why didn't you make it two Fs? FFuck you.) ~~~ PROP + 0x05C/0x060/0x064 = PauseBG --]] CONTYPE_SuperPause = 214 --[[ 0x60 = PROPERTIES PROP + 0x000/0x004/0x008 = Time PROP + 0x00C/0x010/0x014 = MoveTime PROP + 0x018/0x01C/0x020 = EndCmdBufTime PROP + 0x024/0x028/0x02C = PauseBG ~~~ PROP + 0x034/0x038/0x03C = Anim PROP + 0x040/0x044/0x048 = AnimPosX PROP + 0x04C/0x050/0x054 = AnimPosY PROP + 0x058/0x05C/0x060 = Darken PROP + 0x064/0x068/0x06C = P2DefMul PROP + 0x070/0x074/0x078 = PowerAdd PROP + 0x07C/0x080/0x084 = Unhittable ~~~ PROP + 0x08C/0x090/0x094 SoundGroup(Superpause) PROP + 0x098/0x09C/0x0A0 SoundIndex(Superpause) --]] CONTYPE_MakeDust = 215 --[[ 0x18/0x1C/0x20 = Pos1 X 0x24/0x28/0x2C = Pos1 Y 0x30/0x34/0x38 = Spacing 0x3C/0x40/0x44 = Pos2 X 0x48/0x4C/0x50 = Pos2 Y 0x54/0x58/0x5C = ?? --]] CONTYPE_PalFX = 216 --[[ 0x60 = PROPERTIES PROP + 0x000 = PalFXType (0 PalFX, 1 = BGPalFX, 2 = AllPalFX) PROP + 0x004/0x008/0x00C = Time PROP + 0x010/0x014/0x018 = Color PROP + 0x01C/0x020/0x024 = Add Red PROP + 0x028/0x02C/0x030 = Add Blue PROP + 0x034/0x038/0x03C = Add Green PROP + 0x040/0x044/0x048 = Mul Red PROP + 0x04C/0x050/0x054 = Mul Blue PROP + 0x058/0x05C/0x060 = Mul Green PROP + 0x064/0x068/0x06C = SinAdd Red PROP + 0x070/0x074/0x078 = SinAdd Blue PROP + 0x07C/0x080/0x084 = SinAdd Green PROP + 0x088/0x08C/0x090 = InvertAll PROP + 0x094/0x098/0x09C = SinAdd Period --]] CONTYPE_RemapPal = 217 --[[ 0x18/0x1C/0x20 = SourceGroup 0x24/0x28/0x2C = SourceIndex 0x30/0x34/0x38 = ? 0x3C/0x40/0x44 = DestGroup 0x48/0x4C/0x50 = DestIndex --]] CONTYPE_Explod = 220 --[[ 0x60 = PROPERTIES PROP + 0x000/0x004/0x008 = ExplodID PROP + 0x00C/0x010/0x014 = ExplodAnim PROP + 0x018 = UseFightFX PROP + 0x01C/0x020/0x024 = PosX PROP + 0x020/0x024/0x028 = PosY ~~~ PROP + 0x034/0x038/0x03C = VelX PROP + 0x040/0x044/0x048 = VelY PROP + 0x04C/0x050/0x054 = Accel X PROP + 0x058/0x05C/0x060 = Accel Y PROP + 0x064/0x068/0x06C = RandomX (Explod) PROP + 0x070/0x074/0x078 = RandomY (Explod) PROP + 0x07C/0x080/0x084 = SuperMove (Explod) ~~~ PROP + 0x088/0x08C/0x090 = SuperMoveTime PROP + 0x094/0x098/0x09C = PauseMoveTime PROP + 0x0AC/0x0B0/0x0B4 = Scale X PROP + 0x0B8/0x0BC/0x0C0 = Scale Y PROP + 0x0C4/0x0C8/0x0CC = Angle PROP + 0x0D0/0x0D4/0x0D8 = YAngle PROP + 0x0DC/0x0E0/0x0E4 = XAngle ~~~ PROP + 0x0E8 = ??? PROP + 0x0EC = PosType ~~~ PROP + 0x0A8/0x0AC/0x0B0 = RemoveTime ~~~ PROP + 0x0E8 = Space ~~~ PROP + 0x0F0/0x0F4/0x0F8 = BindID PROP + 0x0FC/0x100/0x104 = BindTime PROP + 0x108/0x10C/0x110 = SprPriority PROP + 0x114/0x118/0x11C = OnTop ~~~ PROP + 0x120/0x124/0x128 = Facing PROP + 0x12C/0x130/0x134 = VFacing PROP + 0x138/0x13C/0x140 = Shadow ~~~ PROP + 0x15C/0x160/0x164 = OwnPal PROP + 0x168/0x16C/0x170 = RemapPal Group PROP + 0x174/0x178/0x17C = RemapPal Index PROP + 0x180/0x184/0x188 = RemoveOnGetHit PROP + 0x18C/0x190/0x194 = IgnoreHitPause (Explod) PROP + 0x198 = TransType (Explod) --]] CONTYPE_RemoveExplod = 221 --[[ 0x18/0x1C/0x20 = RemoveID --]] CONTYPE_ExplodBindTime = 222 --[[ 0x18/0x1C/0x20 = BindID 0x24/0x28/0x2C = BindTime --]] CONTYPE_ModifyExplod = 223 --[[ --]] CONTYPE_Helper = 300 --[[ Name Pointer = ? 0x60 = PROP PROP + 0x030/0x034/0x038 = HelperID PROP + 0x03C = HelperType (0 = Normal, 1 = Player) PROP + 0x040/0x044/0x048 = PosX (Helper) PROP + 0x04C/0x050/0x054 = PosY (Helper) PROP + 0x058 = PosType (Helper) PROP + 0x05C/0x060/0x064 = Facing PROP + 0x068/0x06C/0x070 = StateNo (Helper) PROP + 0x074/0x078/0x07C = KeyCtrl PROP + 0x080/0x084/0x088 = OwnPal PROP + 0x08C/0x090/0x094 = RemapPal Source PROP + 0x098/0x09C/0x0A0 = RemapPal Group PROP + 0x0A4/0x0A8/0x0AC = SuperMoveTime PROP + 0x0B0/0x0B4/0x0B8 = PauseMoveTime PROP + 0x0BC/0x0C0/0x0C4 = Size XScale (Helper) PROP + 0x0C8/0x0CC/0x0D0 = Size YScale (Helper) PROP + 0x0D4/0x0D8/0x0DC = Size GroundBack (Helper) PROP + 0x0E0/0x0E4/0x0E8 = Size GroundFront (Helper) PROP + 0x0EC/0x0F0/0x0F4 = Size AirBack (Helper) PROP + 0x0F8/0x0FC/0x100 = Size AirFront (Helper) PROP + 0x104/0x108/0x10C = Size Height (Helper) PROP + 0x110/0x114/0x118 = Size Proj DoScale (Helper) PROP + 0x11C/0x120/0x124 = Size Head Pos X (Helper) PROP + 0x128/0x12C/0x130 = Size Head Pos Y (Helper) PROP + 0x134/0x138/0x13C = Size Mid Pos X (Helper) PROP + 0x140/0x144/0x148 = Size Mid Pos Y (Helper) PROP + 0x140/0x144/0x148 = Size ShadowOffset (Helper) --]] CONTYPE_DestroySelf = 301 --[[ 0x18/0x1C/0x20 = Recursive 0x24/0x28/0x2C = RemoveExplods --]] CONTYPE_ParentVarSet = 304 --[[ 0x18/0x1C/0x20 = Value 0x24/0x28/0x2C = VarIndex 0x30/0x34/0x38 = VarType (Var = 0, FVar = 1) --]] CONTYPE_ParentVarAdd = 305 --[[ 0x18/0x1C/0x20 = Value 0x24/0x28/0x2C = VarIndex 0x30/0x34/0x38 = VarType (Var = 0, FVar = 1) --]] CONTYPE_DisplayToClipboard = 310 --[[ --]] CONTYPE_AppendToClipboard = 311 --[[ --]] CONTYPE_ClearClipboard = 312 --[[ --]] CONTYPE_BindToParent = 320 --[[ 0x18/0x1C/0x20 = BindTime 0x24/0x28/0x2C = Facing ~~~ 0x3C/0x40/0x44 = BindPosX 0x48/0x4C/0x50 = BindPosY --]] CONTYPE_BindToRoot = 321 --[[ 0x18/0x1C/0x20 = BindTime 0x24/0x28/0x2C = Facing ~~~ 0x3C/0x40/0x44 = BindPosX 0x48/0x4C/0x50 = BindPosY --]] CONTYPE_LuaExec = 353 --[[ --]] CONTYPE_LuaFile = 354 --[[ --]]