draw rearm pane; exit behavior is broken

Nil transparency has screwed me over; I am uploading this version as
an illustrative example
This commit is contained in:
Kistaro Windrider 2025-01-20 17:43:21 -08:00
parent c88e7c0657
commit 8ff0732cbc
Signed by: kistaro
SSH Key Fingerprint: SHA256:TBE2ynfmJqsAf0CP6gsflA0q5X5wD5fVKWPsZ7eVUg8

View File

@ -185,7 +185,7 @@ function call_move(x)
end end
function updategame() function updategame()
if primary_ship.xp >= primary_ship.xptarget and lframe - primary_ship.last_xp_frame > 0x0.000F then if (primary_ship.xp >= primary_ship.xptarget) and (lframe - primary_ship.last_xp_frame > 0x0.000f) then
mode = rearm_mode.new() mode = rearm_mode.new()
return _update60() return _update60()
end end
@ -275,6 +275,7 @@ function _draw()
end end
function drawgame_top() function drawgame_top()
camera()
fillp(0) fillp(0)
drawgame() drawgame()
if (game_state == game) fadelvl = -45 if (game_state == game) fadelvl = -45
@ -1828,32 +1829,37 @@ function rearm_mode:shuffle()
-- is a thing that exists -- is a thing that exists
self.options = {{ self.options = {{
s=1, s=1,
hdr="hull", hdr=" hull",
body = "\n +1\n max\n health", body = "\n +1\n max\n health",
action = function() end, action = function() end,
},{ },{
s=2, s=37,
hdr="vulc", hdr=" vulc",
body = "\n placeholder", body = "\nplaceholder",
action = function() end, action = function() end,
}} }}
end end
function rearm_mode:draw() function rearm_mode:draw()
drawgame_top()
local frac = self:pos_frac() local frac = self:pos_frac()
camera(frac * 55, 0) camera(frac * 55, 0)
self:draw_option(1) self:draw_option(1)
camera(frac * -128 + (1-frac) * -56, 0) camera(frac * -128 + (1-frac) * -56, 0)
self:draw_option(2) self:draw_option(2)
camera(0, -28 * frac)
-- TODO: draw rearm pane self:glow_box(0,101,111,127,self:frame_col(self.sel < 0),1)
drawhud() spr(96,15,107,4,2)
print("full ammo\nfull shield\n+50% health",54, 106, 6)
end end
function rearm_mode:update_pos() function rearm_mode:update_pos()
local pos = self.pos local pos = self.pos
if (not pos or pos == 0) return if (not pos) return
if (pos <= 0 and primary_ship.xp < primary_ship.xptarget) self.pos += 1 if (pos == 0) then
if (primary_ship.xp < primary_ship.xptarget) self.pos = 1
return
end
if (pos < 0) pos = min(pos + 0x0.05, 0) if (pos < 0) pos = min(pos + 0x0.05, 0)
if pos > 0 then if pos > 0 then
pos -= 0x0.1 pos -= 0x0.1
@ -1949,6 +1955,26 @@ c1111111111d0000c1111111111d0000c1111111111d0000c111eeee111d0000c11e2222e11d0000
c1111111111d0000c1111111111d0000c1111111111d0000c1111111111d0000c111eeee111d0000c1ee2222ee1d0000ce22111122ed0000c2111111112d0000 c1111111111d0000c1111111111d0000c1111111111d0000c1111111111d0000c111eeee111d0000c1ee2222ee1d0000ce22111122ed0000c2111111112d0000
c1111111111d0000c1111111111d0000c1111111111d0000c1111111111d0000c1111111111d0000c111eeee111d0000ceee2222eeed0000c2221111222d0000 c1111111111d0000c1111111111d0000c1111111111d0000c1111111111d0000c1111111111d0000c111eeee111d0000ceee2222eeed0000c2221111222d0000
cddddddddddd0000cddddddddddd0000cddddddddddd0000cddddddddddd0000cddddddddddd0000cddddddddddd0000cddddddddddd0000cddddddddddd0000 cddddddddddd0000cddddddddddd0000cddddddddddd0000cddddddddddd0000cddddddddddd0000cddddddddddd0000cddddddddddd0000cddddddddddd0000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
04444400044444440000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
447777700477777a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
477aaa7a0477aaaa0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
47a0047a047a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
47a0447a047a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
47a4477a047a44400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
477777a00477777a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
477770000422aaaa2222000200000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
47a77700022ee0002eeee002e00022e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
47a4777002ea2e002e002e02ee022ee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
47a0477a22ea2e002e002e02e2e2e2e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
47a0047a2e2222e02e222e02e02e02e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
47a0047a2eeeeeea2eeee002e02e02e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0aa000aa2e7aa2ea2e00e002e02e02e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000002e0002e02e002e02e02e02e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000e0000e00e000e00e00e00e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
__label__ __label__
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007777777777777777 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007777777777777777
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007666666666666665 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007666666666666665