adjustment to player sprite, allowing the inside of the sprite to be a chosen colour
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
structure PlayerSprite =
|
||||
struct
|
||||
fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight) : Real32.real vector =
|
||||
fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector =
|
||||
let
|
||||
val endY = windowHeight - startY
|
||||
val startY = windowHeight - (startY + drawHeight)
|
||||
@@ -8,23 +8,53 @@ struct
|
||||
val windowHeight = windowHeight / 2.0
|
||||
val windowWidth = windowWidth / 2.0
|
||||
in
|
||||
#[ (((startX * (1.0 - 0.3125)) + (endX * 0.3125)) / windowWidth) - 1.0,
|
||||
#[ (((startX * (1.0 - 0.9375)) + (endX * 0.9375)) / windowWidth) - 1.0,
|
||||
(((startY * (1.0 - 0.950000047684)) + (endY * 0.950000047684)) / windowHeight) - 1.0,
|
||||
r,
|
||||
g,
|
||||
b,
|
||||
(((startX * (1.0 - 0.9375)) + (endX * 0.9375)) / windowWidth) - 1.0,
|
||||
(((startY * (1.0 - 0.25)) + (endY * 0.25)) / windowHeight) - 1.0,
|
||||
r,
|
||||
g,
|
||||
b,
|
||||
(((startX * (1.0 - 0.0625)) + (endX * 0.0625)) / windowWidth) - 1.0,
|
||||
(((startY * (1.0 - 0.25)) + (endY * 0.25)) / windowHeight) - 1.0,
|
||||
r,
|
||||
g,
|
||||
b,
|
||||
(((startX * (1.0 - 0.0625)) + (endX * 0.0625)) / windowWidth) - 1.0,
|
||||
(((startY * (1.0 - 0.25)) + (endY * 0.25)) / windowHeight) - 1.0,
|
||||
r,
|
||||
g,
|
||||
b,
|
||||
(((startX * (1.0 - 0.0625)) + (endX * 0.0625)) / windowWidth) - 1.0,
|
||||
(((startY * (1.0 - 0.950000047684)) + (endY * 0.950000047684)) / windowHeight) - 1.0,
|
||||
r,
|
||||
g,
|
||||
b,
|
||||
(((startX * (1.0 - 0.9375)) + (endX * 0.9375)) / windowWidth) - 1.0,
|
||||
(((startY * (1.0 - 0.950000047684)) + (endY * 0.950000047684)) / windowHeight) - 1.0,
|
||||
r,
|
||||
g,
|
||||
b,
|
||||
(((startX * (1.0 - 0.3125)) + (endX * 0.3125)) / windowWidth) - 1.0,
|
||||
(((startY * (1.0 - 0.0)) + (endY * 0.0)) / windowHeight) - 1.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
(((startX * (1.0 - 0.3125)) + (endX * 0.3125)) / windowWidth) - 1.0,
|
||||
(((startY * (1.0 - 0.1875)) + (endY * 0.1875)) / windowHeight) - 1.0,
|
||||
(((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
(((startX * (1.0 - 0.25)) + (endX * 0.25)) / windowWidth) - 1.0,
|
||||
(((startY * (1.0 - 0.1875)) + (endY * 0.1875)) / windowHeight) - 1.0,
|
||||
(((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
(((startX * (1.0 - 0.25)) + (endX * 0.25)) / windowWidth) - 1.0,
|
||||
(((startY * (1.0 - 0.1875)) + (endY * 0.1875)) / windowHeight) - 1.0,
|
||||
(((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
@@ -44,17 +74,17 @@ struct
|
||||
0.0,
|
||||
0.0,
|
||||
(((startX * (1.0 - 0.6875)) + (endX * 0.6875)) / windowWidth) - 1.0,
|
||||
(((startY * (1.0 - 0.1875)) + (endY * 0.1875)) / windowHeight) - 1.0,
|
||||
(((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
(((startX * (1.0 - 0.75)) + (endX * 0.75)) / windowWidth) - 1.0,
|
||||
(((startY * (1.0 - 0.1875)) + (endY * 0.1875)) / windowHeight) - 1.0,
|
||||
(((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
(((startX * (1.0 - 0.75)) + (endX * 0.75)) / windowWidth) - 1.0,
|
||||
(((startY * (1.0 - 0.1875)) + (endY * 0.1875)) / windowHeight) - 1.0,
|
||||
(((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
@@ -67,81 +97,31 @@ struct
|
||||
(((startY * (1.0 - 0.0)) + (endY * 0.0)) / windowHeight) - 1.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
(((startX * (1.0 - 0.0625)) + (endX * 0.0625)) / windowWidth) - 1.0,
|
||||
(((startY * (1.0 - 0.25)) + (endY * 0.25)) / windowHeight) - 1.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
(((startX * (1.0 - 0.9375)) + (endX * 0.9375)) / windowWidth) - 1.0,
|
||||
(((startY * (1.0 - 0.25)) + (endY * 0.25)) / windowHeight) - 1.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
(((startX * (1.0 - 0.9375)) + (endX * 0.9375)) / windowWidth) - 1.0,
|
||||
(((startY * (1.0 - 0.1875)) + (endY * 0.1875)) / windowHeight) - 1.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
(((startX * (1.0 - 0.9375)) + (endX * 0.9375)) / windowWidth) - 1.0,
|
||||
(((startY * (1.0 - 0.1875)) + (endY * 0.1875)) / windowHeight) - 1.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
(((startX * (1.0 - 0.0625)) + (endX * 0.0625)) / windowWidth) - 1.0,
|
||||
(((startY * (1.0 - 0.1875)) + (endY * 0.1875)) / windowHeight) - 1.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
(((startX * (1.0 - 0.0625)) + (endX * 0.0625)) / windowWidth) - 1.0,
|
||||
(((startY * (1.0 - 0.25)) + (endY * 0.25)) / windowHeight) - 1.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
(((startX * (1.0 - 0.9375)) + (endX * 0.9375)) / windowWidth) - 1.0,
|
||||
(((startY * (1.0 - 0.9375)) + (endY * 0.9375)) / windowHeight) - 1.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
(((startX * (1.0 - 1.0)) + (endX * 1.0)) / windowWidth) - 1.0,
|
||||
(((startY * (1.0 - 0.1875)) + (endY * 0.1875)) / windowHeight) - 1.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
(((startX * (1.0 - 1.0)) + (endX * 1.0)) / windowWidth) - 1.0,
|
||||
(((startY * (1.0 - 0.9375)) + (endY * 0.9375)) / windowHeight) - 1.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
(((startX * (1.0 - 0.9375)) + (endX * 0.9375)) / windowWidth) - 1.0,
|
||||
(((startY * (1.0 - 0.1875)) + (endY * 0.1875)) / windowHeight) - 1.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
(((startX * (1.0 - 1.0)) + (endX * 1.0)) / windowWidth) - 1.0,
|
||||
(((startY * (1.0 - 0.1875)) + (endY * 0.1875)) / windowHeight) - 1.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
(((startX * (1.0 - 0.9375)) + (endX * 0.9375)) / windowWidth) - 1.0,
|
||||
(((startY * (1.0 - 0.9375)) + (endY * 0.9375)) / windowHeight) - 1.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
(((startX * (1.0 - 1.0)) + (endX * 1.0)) / windowWidth) - 1.0,
|
||||
(((startY * (1.0 - 0.9375)) + (endY * 0.9375)) / windowHeight) - 1.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
(((startX * (1.0 - 0.0625)) + (endX * 0.0625)) / windowWidth) - 1.0,
|
||||
(((startY * (1.0 - 0.9375)) + (endY * 0.9375)) / windowHeight) - 1.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
(((startX * (1.0 - 0.0625)) + (endX * 0.0625)) / windowWidth) - 1.0,
|
||||
(((startY * (1.0 - 1.0)) + (endY * 1.0)) / windowHeight) - 1.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
(((startX * (1.0 - 0.9375)) + (endX * 0.9375)) / windowWidth) - 1.0,
|
||||
(((startY * (1.0 - 1.0)) + (endY * 1.0)) / windowHeight) - 1.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
(((startX * (1.0 - 0.9375)) + (endX * 0.9375)) / windowWidth) - 1.0,
|
||||
(((startY * (1.0 - 0.950000047684)) + (endY * 0.950000047684)) / windowHeight) - 1.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
(((startX * (1.0 - 0.9375)) + (endX * 0.9375)) / windowWidth) - 1.0,
|
||||
(((startY * (1.0 - 0.950000047684)) + (endY * 0.950000047684)) / windowHeight) - 1.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
(((startX * (1.0 - 0.0625)) + (endX * 0.0625)) / windowWidth) - 1.0,
|
||||
(((startY * (1.0 - 0.950000047684)) + (endY * 0.950000047684)) / windowHeight) - 1.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
(((startX * (1.0 - 0.0625)) + (endX * 0.0625)) / windowWidth) - 1.0,
|
||||
(((startY * (1.0 - 1.0)) + (endY * 1.0)) / windowHeight) - 1.0,
|
||||
@@ -154,12 +134,57 @@ struct
|
||||
0.0,
|
||||
0.0,
|
||||
(((startX * (1.0 - 1.0)) + (endX * 1.0)) / windowWidth) - 1.0,
|
||||
(((startY * (1.0 - 0.9375)) + (endY * 0.9375)) / windowHeight) - 1.0,
|
||||
(((startY * (1.0 - 0.25)) + (endY * 0.25)) / windowHeight) - 1.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
(((startX * (1.0 - 0.0)) + (endX * 0.0)) / windowWidth) - 1.0,
|
||||
(((startY * (1.0 - 0.1875)) + (endY * 0.1875)) / windowHeight) - 1.0,
|
||||
(((startX * (1.0 - 0.9375)) + (endX * 0.9375)) / windowWidth) - 1.0,
|
||||
(((startY * (1.0 - 0.25)) + (endY * 0.25)) / windowHeight) - 1.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
(((startX * (1.0 - 0.9375)) + (endX * 0.9375)) / windowWidth) - 1.0,
|
||||
(((startY * (1.0 - 0.25)) + (endY * 0.25)) / windowHeight) - 1.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
(((startX * (1.0 - 0.9375)) + (endX * 0.9375)) / windowWidth) - 1.0,
|
||||
(((startY * (1.0 - 1.0)) + (endY * 1.0)) / windowHeight) - 1.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
(((startX * (1.0 - 1.0)) + (endX * 1.0)) / windowWidth) - 1.0,
|
||||
(((startY * (1.0 - 1.0)) + (endY * 1.0)) / windowHeight) - 1.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
(((startX * (1.0 - 1.0)) + (endX * 1.0)) / windowWidth) - 1.0,
|
||||
(((startY * (1.0 - 0.25)) + (endY * 0.25)) / windowHeight) - 1.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
(((startX * (1.0 - 0.0625)) + (endX * 0.0625)) / windowWidth) - 1.0,
|
||||
(((startY * (1.0 - 0.25)) + (endY * 0.25)) / windowHeight) - 1.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
(((startX * (1.0 - 0.0625)) + (endX * 0.0625)) / windowWidth) - 1.0,
|
||||
(((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
(((startX * (1.0 - 0.0625)) + (endX * 0.0625)) / windowWidth) - 1.0,
|
||||
(((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
(((startX * (1.0 - 1.0)) + (endX * 1.0)) / windowWidth) - 1.0,
|
||||
(((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
(((startX * (1.0 - 1.0)) + (endX * 1.0)) / windowWidth) - 1.0,
|
||||
(((startY * (1.0 - 0.25)) + (endY * 0.25)) / windowHeight) - 1.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
@@ -172,18 +197,23 @@ struct
|
||||
(((startY * (1.0 - 1.0)) + (endY * 1.0)) / windowHeight) - 1.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
(((startX * (1.0 - 0.0625)) + (endX * 0.0625)) / windowWidth) - 1.0,
|
||||
(((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
(((startX * (1.0 - 0.0)) + (endX * 0.0)) / windowWidth) - 1.0,
|
||||
(((startY * (1.0 - 0.1875)) + (endY * 0.1875)) / windowHeight) - 1.0,
|
||||
(((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
(((startX * (1.0 - 0.0625)) + (endX * 0.0625)) / windowWidth) - 1.0,
|
||||
(((startY * (1.0 - 0.1875)) + (endY * 0.1875)) / windowHeight) - 1.0,
|
||||
(((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
(((startX * (1.0 - 0.0625)) + (endX * 0.0625)) / windowWidth) - 1.0,
|
||||
(((startX * (1.0 - 0.0)) + (endX * 0.0)) / windowWidth) - 1.0,
|
||||
(((startY * (1.0 - 1.0)) + (endY * 1.0)) / windowHeight) - 1.0,
|
||||
0.0,
|
||||
0.0,
|
||||
|
||||
@@ -496,34 +496,18 @@ struct
|
||||
(* block is placeholder asset *)
|
||||
fun helpGetDrawVec
|
||||
(x, y, realWidth, realHeight, width, height, attacked, mainAttack) =
|
||||
case mainAttack of
|
||||
MAIN_NOT_ATTACKING =>
|
||||
(case attacked of
|
||||
NOT_ATTACKED =>
|
||||
PlayerSprite.lerp (x, y, realWidth, realHeight, width, height)
|
||||
| ATTACKED amt =>
|
||||
if amt mod 5 = 0 then
|
||||
PlayerSprite.lerp (x, y, realWidth, realHeight, width, height)
|
||||
else
|
||||
PlayerSprite.lerp (x, y, realWidth, realHeight, width, height))
|
||||
| MAIN_THROWING =>
|
||||
(case attacked of
|
||||
NOT_ATTACKED =>
|
||||
PlayerSprite.lerp (x, y, realWidth, realHeight, width, height)
|
||||
| ATTACKED amt =>
|
||||
if amt mod 5 = 0 then
|
||||
PlayerSprite.lerp (x, y, realWidth, realHeight, width, height)
|
||||
else
|
||||
PlayerSprite.lerp (x, y, realWidth, realHeight, width, height))
|
||||
| MAIN_ATTACKING _ =>
|
||||
(case attacked of
|
||||
NOT_ATTACKED =>
|
||||
PlayerSprite.lerp (x, y, realWidth, realHeight, width, height)
|
||||
| ATTACKED amt =>
|
||||
if amt mod 5 = 0 then
|
||||
PlayerSprite.lerp (x, y, realWidth, realHeight, width, height)
|
||||
else
|
||||
PlayerSprite.lerp (x, y, realWidth, realHeight, width, height))
|
||||
let
|
||||
val (r, g, b) =
|
||||
case attacked of
|
||||
NOT_ATTACKED => (1.0, 1.0, 1.0)
|
||||
| ATTACKED amt =>
|
||||
if amt mod 5 = 0 then
|
||||
(1.0, 1.0, 1.0)
|
||||
else
|
||||
(1.0, 0.75, 0.75)
|
||||
in
|
||||
PlayerSprite.lerp (x, y, realWidth, realHeight, width, height, r, g, b)
|
||||
end
|
||||
|
||||
fun getDrawVec (player: player, width, height) =
|
||||
let
|
||||
|
||||
Reference in New Issue
Block a user