diff --git a/fcore/level/player/player.sml b/fcore/level/player/player.sml index 65c755d..c882434 100644 --- a/fcore/level/player/player.sml +++ b/fcore/level/player/player.sml @@ -86,7 +86,7 @@ struct fun helpGetMainAttackPatches (attackHeld, mainAttackPressed, charge, acc) = let val attack = - if attackHeld andalso not mainAttackPressed then MAIN_ATTACKING 1 + if attackHeld andalso not mainAttackPressed then MAIN_ATTACKING 0 else MAIN_NOT_ATTACKING in W_MAIN_ATTACK_PRESSED (attackHeld andalso mainAttackPressed) @@ -484,9 +484,8 @@ struct fun getFieldVec (player: player, width, height) = case #mainAttack player of - MAIN_ATTACKING amt => + MAIN_ATTACKING frame => let - val frame = amt div 2 val {x, y, facing, ...} = player val wratio = width / Constants.worldWidthReal val hratio = height / Constants.worldHeightReal @@ -502,7 +501,7 @@ struct val boxes = case facing of FACING_RIGHT => Vector.sub (Whip.rightFrames, frame) - | FACING_LEFT => Vector.sub (Whip.leftFrames, frame) + | FACING_LEFT => Vector.sub (Whip.leftFrames, frame div 2) in helpGetWhipVec (x, y, wratio, 0.0, yOffset, 0, boxes, width, height, []) @@ -518,7 +517,7 @@ struct val boxes = case facing of FACING_RIGHT => Vector.sub (Whip.rightFrames, frame) - | FACING_LEFT => Vector.sub (Whip.leftFrames, frame) + | FACING_LEFT => Vector.sub (Whip.leftFrames, frame div 2) in helpGetWhipVec (x, y, hratio, xOffset, 0.0, 0, boxes, width, height, []) diff --git a/fcore/level/player/whip.sml b/fcore/level/player/whip.sml index 1e8e969..67f7bd9 100644 --- a/fcore/level/player/whip.sml +++ b/fcore/level/player/whip.sml @@ -13,41 +13,90 @@ struct ] val rf2 = + #[ {x = 66, y = ~15} + , {x = 65, y = 2} + , {x = 64, y = 18} + , {x = 49, y = 25} + ] + + val rf3 = #[ {x = 67, y = ~15} , {x = 66, y = 2} , {x = 64, y = 18} , {x = 49, y = 25} ] - val rf3 = + val rf4 = + #[ {x = 70, y = ~15} + , {x = 68, y = 2} + , {x = 64, y = 18} + , {x = 49, y = 25} + ] + + val rf5 = #[ {x = 73, y = ~15} , {x = 70, y = 2} , {x = 64, y = 18} , {x = 49, y = 25} ] - val rf4 = + val rf6 = + #[ {x = 77, y = ~15} + , {x = 73, y = 2} + , {x = 64, y = 18} + , {x = 49, y = 25} + ] + + val rf7 = #[ {x = 83, y = ~15} , {x = 75, y = 2} , {x = 64, y = 18} , {x = 49, y = 25} ] - val rf5 = + val rf8 = + #[ {x = 85, y = ~15} + , {x = 77, y = 2} + , {x = 64, y = 18} + , {x = 49, y = 25} + ] + + val rf9 = #[ {x = 87, y = ~5} , {x = 79, y = 6} , {x = 64, y = 18} , {x = 49, y = 25} ] - val rf6 = + val rf10 = + #[ {x = 91, y = ~3} + , {x = 79, y = 3} + , {x = 64, y = 18} + , {x = 49, y = 25} + ] + + val rf11 = + #[ {x = 96, y = 5} + , {x = 80, y = 10} + , {x = 64, y = 15} + , {x = 49, y = 25} + ] + + val rf12 = #[ {x = 96, y = 10} , {x = 80, y = 15} , {x = 64, y = 20} , {x = 49, y = 25} ] - val rf7 = + val rf13 = + #[ {x = 96, y = 15} + , {x = 80, y = 20} + , {x = 64, y = 23} + , {x = 49, y = 25} + ] + + val rf14 = #[ {x = 112, y = 25} , {x = 96, y = 28} , {x = 80, y = 25} @@ -55,7 +104,15 @@ struct , {x = 49, y = 25} ] - val rf8 = + val rf15 = + #[ {x = 112, y = 25} + , {x = 96, y = 23} + , {x = 80, y = 25} + , {x = 64, y = 23} + , {x = 49, y = 25} + ] + + val rf16 = #[ {x = 112, y = 25} , {x = 96, y = 28} , {x = 80, y = 25} @@ -63,29 +120,56 @@ struct , {x = 49, y = 25} ] - val rf9 = + val rf17 = + #[ {x = 112, y = 31} + , {x = 96, y = 29} + , {x = 80, y = 27} + , {x = 64, y = 27} + , {x = 49, y = 25} + ] + + val rf18 = #[ {x = 96, y = 31} , {x = 80, y = 29} , {x = 64, y = 27} , {x = 49, y = 25} ] - val rf10 = + val rf19 = + #[ {x = 99, y = 33} + , {x = 80, y = 29} + , {x = 64, y = 27} + , {x = 49, y = 25} + ] + + val rf20 = #[ {x = 80, y = 33} , {x = 64, y = 29} , {x = 49, y = 25} ] - val rf11 = + val rf21 = + #[ {x = 83, y = 35} + , {x = 64, y = 29} + , {x = 49, y = 25} + ] + + val rf22 = #[ {x = 64, y = 31} , {x = 49, y = 25} ] - val rf12 = + val rf23 = + #[ {x = 67, y = 34} + , {x = 49, y = 25} + ] + + val rf24 = #[ {x = 49, y = 25} ] val rightFrames = #[ - rf1, rf2, rf3, rf4, rf5, rf6, rf7, rf8, rf9, rf10, rf11, rf12 + rf1, rf2, rf3, rf4, rf5, rf6, rf7, rf8, rf9, rf10, rf11, rf12, rf13, rf14, + rf15, rf16, rf17, rf18, rf19, rf20, rf21, rf22, rf23, rf24 ] (* left frames *) diff --git a/test b/test new file mode 100644 index 0000000..e69de29