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) =
|
||||
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, [])
|
||||
|
||||
@@ -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 *)
|
||||
|
||||
Reference in New Issue
Block a user