make whip attack smoother when facing right (by doubling frames and manually coding interpolations)
This commit is contained in:
@@ -86,7 +86,7 @@ struct
|
|||||||
fun helpGetMainAttackPatches (attackHeld, mainAttackPressed, charge, acc) =
|
fun helpGetMainAttackPatches (attackHeld, mainAttackPressed, charge, acc) =
|
||||||
let
|
let
|
||||||
val attack =
|
val attack =
|
||||||
if attackHeld andalso not mainAttackPressed then MAIN_ATTACKING 1
|
if attackHeld andalso not mainAttackPressed then MAIN_ATTACKING 0
|
||||||
else MAIN_NOT_ATTACKING
|
else MAIN_NOT_ATTACKING
|
||||||
in
|
in
|
||||||
W_MAIN_ATTACK_PRESSED (attackHeld andalso mainAttackPressed)
|
W_MAIN_ATTACK_PRESSED (attackHeld andalso mainAttackPressed)
|
||||||
@@ -484,9 +484,8 @@ struct
|
|||||||
|
|
||||||
fun getFieldVec (player: player, width, height) =
|
fun getFieldVec (player: player, width, height) =
|
||||||
case #mainAttack player of
|
case #mainAttack player of
|
||||||
MAIN_ATTACKING amt =>
|
MAIN_ATTACKING frame =>
|
||||||
let
|
let
|
||||||
val frame = amt div 2
|
|
||||||
val {x, y, facing, ...} = player
|
val {x, y, facing, ...} = player
|
||||||
val wratio = width / Constants.worldWidthReal
|
val wratio = width / Constants.worldWidthReal
|
||||||
val hratio = height / Constants.worldHeightReal
|
val hratio = height / Constants.worldHeightReal
|
||||||
@@ -502,7 +501,7 @@ struct
|
|||||||
val boxes =
|
val boxes =
|
||||||
case facing of
|
case facing of
|
||||||
FACING_RIGHT => Vector.sub (Whip.rightFrames, frame)
|
FACING_RIGHT => Vector.sub (Whip.rightFrames, frame)
|
||||||
| FACING_LEFT => Vector.sub (Whip.leftFrames, frame)
|
| FACING_LEFT => Vector.sub (Whip.leftFrames, frame div 2)
|
||||||
in
|
in
|
||||||
helpGetWhipVec
|
helpGetWhipVec
|
||||||
(x, y, wratio, 0.0, yOffset, 0, boxes, width, height, [])
|
(x, y, wratio, 0.0, yOffset, 0, boxes, width, height, [])
|
||||||
@@ -518,7 +517,7 @@ struct
|
|||||||
val boxes =
|
val boxes =
|
||||||
case facing of
|
case facing of
|
||||||
FACING_RIGHT => Vector.sub (Whip.rightFrames, frame)
|
FACING_RIGHT => Vector.sub (Whip.rightFrames, frame)
|
||||||
| FACING_LEFT => Vector.sub (Whip.leftFrames, frame)
|
| FACING_LEFT => Vector.sub (Whip.leftFrames, frame div 2)
|
||||||
in
|
in
|
||||||
helpGetWhipVec
|
helpGetWhipVec
|
||||||
(x, y, hratio, xOffset, 0.0, 0, boxes, width, height, [])
|
(x, y, hratio, xOffset, 0.0, 0, boxes, width, height, [])
|
||||||
|
|||||||
@@ -13,41 +13,90 @@ struct
|
|||||||
]
|
]
|
||||||
|
|
||||||
val rf2 =
|
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 = 67, y = ~15}
|
||||||
, {x = 66, y = 2}
|
, {x = 66, y = 2}
|
||||||
, {x = 64, y = 18}
|
, {x = 64, y = 18}
|
||||||
, {x = 49, y = 25}
|
, {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 = 73, y = ~15}
|
||||||
, {x = 70, y = 2}
|
, {x = 70, y = 2}
|
||||||
, {x = 64, y = 18}
|
, {x = 64, y = 18}
|
||||||
, {x = 49, y = 25}
|
, {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 = 83, y = ~15}
|
||||||
, {x = 75, y = 2}
|
, {x = 75, y = 2}
|
||||||
, {x = 64, y = 18}
|
, {x = 64, y = 18}
|
||||||
, {x = 49, y = 25}
|
, {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 = 87, y = ~5}
|
||||||
, {x = 79, y = 6}
|
, {x = 79, y = 6}
|
||||||
, {x = 64, y = 18}
|
, {x = 64, y = 18}
|
||||||
, {x = 49, y = 25}
|
, {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 = 96, y = 10}
|
||||||
, {x = 80, y = 15}
|
, {x = 80, y = 15}
|
||||||
, {x = 64, y = 20}
|
, {x = 64, y = 20}
|
||||||
, {x = 49, y = 25}
|
, {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 = 112, y = 25}
|
||||||
, {x = 96, y = 28}
|
, {x = 96, y = 28}
|
||||||
, {x = 80, y = 25}
|
, {x = 80, y = 25}
|
||||||
@@ -55,7 +104,15 @@ struct
|
|||||||
, {x = 49, y = 25}
|
, {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 = 112, y = 25}
|
||||||
, {x = 96, y = 28}
|
, {x = 96, y = 28}
|
||||||
, {x = 80, y = 25}
|
, {x = 80, y = 25}
|
||||||
@@ -63,29 +120,56 @@ struct
|
|||||||
, {x = 49, y = 25}
|
, {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 = 96, y = 31}
|
||||||
, {x = 80, y = 29}
|
, {x = 80, y = 29}
|
||||||
, {x = 64, y = 27}
|
, {x = 64, y = 27}
|
||||||
, {x = 49, y = 25}
|
, {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 = 80, y = 33}
|
||||||
, {x = 64, y = 29}
|
, {x = 64, y = 29}
|
||||||
, {x = 49, y = 25}
|
, {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 = 64, y = 31}
|
||||||
, {x = 49, y = 25}
|
, {x = 49, y = 25}
|
||||||
]
|
]
|
||||||
|
|
||||||
val rf12 =
|
val rf23 =
|
||||||
|
#[ {x = 67, y = 34}
|
||||||
|
, {x = 49, y = 25}
|
||||||
|
]
|
||||||
|
|
||||||
|
val rf24 =
|
||||||
#[ {x = 49, y = 25} ]
|
#[ {x = 49, y = 25} ]
|
||||||
|
|
||||||
val rightFrames = #[
|
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 *)
|
(* left frames *)
|
||||||
|
|||||||
Reference in New Issue
Block a user