scale player.sml in the same way that wall.sml is being scaled, and also: make 'x' and 'y' arguments to Block.lerp Real32.real values rather than int values (with calling code making the necessary changes) as the code was converting between int and real multiple times

This commit is contained in:
2024-12-17 09:16:22 +00:00
parent 18bd81134b
commit 507c1c331c
3 changed files with 35 additions and 30 deletions

View File

@@ -14,26 +14,6 @@ struct
fun generateTree wallVec = helpGenerateTree (0, wallVec, QuadTree.empty)
val preferredAspectRatio: Real32.real = 1920.0 / 1080.0
fun helpGetDrawVecPreferred (pos, wallVec, acc, winWidth, winHeight) =
if pos = Vector.length wallVec then
Vector.concat acc
else
let
val wall = Vector.sub (wallVec, pos)
val {x, y, width, height, id = _} = wall
val width = Real32.fromInt width
val height = Real32.fromInt height
val block = Block.lerp
(x, y, width, height, winWidth, winHeight, 0.0, 0.0, 0.0)
val acc = block :: acc
in
helpGetDrawVecPreferred (pos + 1, wallVec, acc, winWidth, winHeight)
end
(* when actual aspect ratio > preferredAspectRatio *)
fun helpGetDrawVecWider
(pos, wallVec, acc, winWidth, winHeight, ratio, yOffset) =
if pos = Vector.length wallVec then
@@ -44,10 +24,7 @@ struct
val {x, y, width, height, id = _} = wall
val x = Real32.fromInt x * ratio
val x = Real32.toInt IEEEReal.TO_NEAREST x
val y = Real32.fromInt y * ratio + yOffset
val y = Real32.toInt IEEEReal.TO_NEAREST y
val width = Real32.fromInt width * ratio
val height = Real32.fromInt height * ratio
@@ -60,7 +37,6 @@ struct
(pos + 1, wallVec, acc, winWidth, winHeight, ratio, yOffset)
end
(* when actual aspect ratio < preferredAspectRatio *)
fun helpGetDrawVecTaller
(pos, wallVec, acc, winWidth, winHeight, ratio, xOffset) =
if pos = Vector.length wallVec then
@@ -71,10 +47,7 @@ struct
val {x, y, width, height, id = _} = wall
val x = Real32.fromInt x * ratio + xOffset
val x = Real32.toInt IEEEReal.TO_NEAREST x
val y = Real32.fromInt y * ratio
val y = Real32.toInt IEEEReal.TO_NEAREST y
val width = Real32.fromInt width * ratio
val height = Real32.fromInt height * ratio