Full debug diagnostics display for autobrake_test
This commit is contained in:
parent
edbde8e689
commit
aa25f87c46
@ -43,21 +43,27 @@ end
|
|||||||
function _init()
|
function _init()
|
||||||
pal(1,129,1)
|
pal(1,129,1)
|
||||||
the_ship = ship.new()
|
the_ship = ship.new()
|
||||||
slomo = 0
|
constraints:setup()
|
||||||
|
slomo = 1
|
||||||
sloc = 0
|
sloc = 0
|
||||||
reroll()
|
reroll()
|
||||||
end
|
end
|
||||||
|
|
||||||
function reroll()
|
function reroll()
|
||||||
|
frames=0
|
||||||
|
sloc=0
|
||||||
the_ship:reroll()
|
the_ship:reroll()
|
||||||
end
|
end
|
||||||
|
|
||||||
function _update60()
|
function _update60()
|
||||||
if (btnp(4)) reroll()
|
if (btnp(4)) reroll()
|
||||||
slomo += btnp(2) and -1 or btnp(3) and 1 or 0
|
if (btnp(5)) constraints:cycle()
|
||||||
slomo = (slomo < 0) and 0 or (slomo > 60) and 60 or slomo
|
if (btnp(3)) slomo <<= 1
|
||||||
|
if (btnp(2)) slomo >>= 1
|
||||||
|
slomo = (slomo < 1) and 1 or (slomo > 8192) and 8192 or slomo
|
||||||
sloc += 1
|
sloc += 1
|
||||||
if sloc > slomo then
|
if sloc >= slomo then
|
||||||
|
frames += 1
|
||||||
the_ship:update()
|
the_ship:update()
|
||||||
sloc=0
|
sloc=0
|
||||||
end
|
end
|
||||||
@ -65,7 +71,33 @@ end
|
|||||||
|
|
||||||
function _draw()
|
function _draw()
|
||||||
cls(1)
|
cls(1)
|
||||||
|
constraints:draw()
|
||||||
the_ship:draw()
|
the_ship:draw()
|
||||||
|
print("frames: " .. frames, 4, 64, 7)
|
||||||
|
print("speed: 1/" .. slomo, 8, 70, 7)
|
||||||
|
|
||||||
|
print("thrust: ".. actual_t, 4, 80, 7)
|
||||||
|
meter(80, 80, 128, 84, actual_t/the_ship.thrust/2)
|
||||||
|
print("dx: ".. the_ship.dx, 20, 86, 7)
|
||||||
|
meter(80, 86, 128, 90, the_ship.dx/the_ship.maxspd/2)
|
||||||
|
print("x: "..the_ship.x, 24, 92, 7)
|
||||||
|
|
||||||
|
print("xmin:"..tostr(constraints.xmin), 12, 102, 7)
|
||||||
|
print("xmax:"..tostr(constraints.xmax), 12, 108, 7)
|
||||||
|
end
|
||||||
|
|
||||||
|
function meter(x0, y0, x1, y1, frac)
|
||||||
|
local c = 11
|
||||||
|
if frac < 0 then
|
||||||
|
frac = -frac
|
||||||
|
c = 8
|
||||||
|
end
|
||||||
|
local range = x1-x0
|
||||||
|
local midpoint = x0 + (range/2)
|
||||||
|
rectfill(x0, y0-1, x0, y1+1, 13)
|
||||||
|
rectfill(midpoint, y0-1, midpoint, y1 + 1, 13)
|
||||||
|
local width = range * frac
|
||||||
|
if (width ~= 0) rectfill(x0, y0, x0 + width, y1, c)
|
||||||
end
|
end
|
||||||
|
|
||||||
-->8
|
-->8
|
||||||
@ -99,7 +131,7 @@ end
|
|||||||
function ship:update()
|
function ship:update()
|
||||||
local t = btn(0) and -1 or btn(1) and 1 or 0
|
local t = btn(0) and -1 or btn(1) and 1 or 0
|
||||||
t *= self.thrust
|
t *= self.thrust
|
||||||
t = constrain(self, t)
|
t = constraints:constrain(self, t)
|
||||||
local s,lim=self.dx+t,self.maxspd
|
local s,lim=self.dx+t,self.maxspd
|
||||||
local sg = sgn(s)
|
local sg = sgn(s)
|
||||||
s -= sg*self.drag
|
s -= sg*self.drag
|
||||||
@ -109,6 +141,7 @@ function ship:update()
|
|||||||
self.x += s
|
self.x += s
|
||||||
self.dx = s
|
self.dx = s
|
||||||
self:add_sparks(t)
|
self:add_sparks(t)
|
||||||
|
actual_t = t
|
||||||
end
|
end
|
||||||
|
|
||||||
function ship:add_sparks(t)
|
function ship:add_sparks(t)
|
||||||
@ -117,10 +150,44 @@ end
|
|||||||
-->8
|
-->8
|
||||||
-- constraints
|
-- constraints
|
||||||
|
|
||||||
function constrain(s, want)
|
constraints = {
|
||||||
|
ymin=20,
|
||||||
|
ymax=52,
|
||||||
|
}
|
||||||
|
|
||||||
|
function constraints:constrain(s, want)
|
||||||
return want
|
return want
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function constraints:cycle()
|
||||||
|
if self.ctype=="bounds" then
|
||||||
|
self.ctype="point"
|
||||||
|
elseif self.ctype=="point" then
|
||||||
|
self.ctype="off"
|
||||||
|
else
|
||||||
|
self.ctype="bounds"
|
||||||
|
end
|
||||||
|
self:setup()
|
||||||
|
end
|
||||||
|
|
||||||
|
function constraints:setup()
|
||||||
|
if self.ctype=="point" then
|
||||||
|
self.xmin = 64
|
||||||
|
self.xmax = 64
|
||||||
|
elseif self.ctype=="bounds" then
|
||||||
|
self.xmin = 32
|
||||||
|
self.xmax = 96
|
||||||
|
else
|
||||||
|
self.xmin = nil
|
||||||
|
self.xmax = nil
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function constraints:draw()
|
||||||
|
if (not self.xmin) return
|
||||||
|
rect(self.xmin, self.ymin, self.xmax, self.ymax, 10)
|
||||||
|
end
|
||||||
|
|
||||||
-->8
|
-->8
|
||||||
-- fx
|
-- fx
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user