DX: marc decoratiu al voltant del HUD
This commit is contained in:
+38
-6
@@ -21,6 +21,15 @@ BLOC3 = 178
|
||||
PEPE_C = 2
|
||||
MALO_C = 88
|
||||
|
||||
-- Glifs del marc del HUD. Codis triats per a no col·lidir amb cap glif
|
||||
-- de cap skin (la native usa 224, 233, 216-220, etc.).
|
||||
FRAME_H = 240
|
||||
FRAME_V = 241
|
||||
FRAME_TL = 242
|
||||
FRAME_TR = 243
|
||||
FRAME_BL = 244
|
||||
FRAME_BR = 245
|
||||
|
||||
-- Skins: cada skin es una taula tile_id → codi_de_glif_a_pintar.
|
||||
-- "custom" usa els mateixos codis CP437 (redibuixats amb setchar).
|
||||
-- "native" remapeja als glifs que ja existeixen al ROM d'ascii
|
||||
@@ -126,6 +135,16 @@ function definir_glifs()
|
||||
setchar(88, 0x00,0xC3,0x66,0x3C,0x18,0x3C,0x66,0xC3) -- MALO X
|
||||
end
|
||||
|
||||
-- Glifs del marc del HUD (sempre, independent de la skin del joc)
|
||||
function definir_marc()
|
||||
setchar(FRAME_H, 0x00,0x00,0x00,0xFF,0xFF,0x00,0x00,0x00) -- horitzontal centrada
|
||||
setchar(FRAME_V, 0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18) -- vertical centrada
|
||||
setchar(FRAME_TL, 0x00,0x00,0x00,0x1F,0x1F,0x18,0x18,0x18) -- ┌
|
||||
setchar(FRAME_TR, 0x00,0x00,0x00,0xF8,0xF8,0x18,0x18,0x18) -- ┐
|
||||
setchar(FRAME_BL, 0x18,0x18,0x18,0x1F,0x1F,0x00,0x00,0x00) -- └
|
||||
setchar(FRAME_BR, 0x18,0x18,0x18,0xF8,0xF8,0x00,0x00,0x00) -- ┘
|
||||
end
|
||||
|
||||
-- ====================================================================
|
||||
-- SFX (l'original no tenia so — afegim els minims raonables)
|
||||
-- ====================================================================
|
||||
@@ -676,13 +695,25 @@ end
|
||||
function pintar_hud()
|
||||
color(colors.hud_text, colors.hud_bg)
|
||||
local blank = " "
|
||||
-- Banda inferior completa (5 files, rows 25..29) per a un HUD equilibrat:
|
||||
-- 25: filler superior
|
||||
-- 26: LEVEL / SCORE / LIVES (text centrat amb gaps regulars)
|
||||
-- 27: filler intermig
|
||||
-- 28: HI-SCORE i nom (centrat)
|
||||
-- 29: filler inferior
|
||||
-- Banda inferior completa (5 files, rows 25..29) amb marc decoratiu
|
||||
-- al voltant (cantoneres + linies fines) i text als rows 26 i 28.
|
||||
for y = 25, 29 do print(blank, 0, y) end
|
||||
|
||||
-- Marc
|
||||
print(chr(FRAME_TL), 0, 25)
|
||||
print(chr(FRAME_TR), 39, 25)
|
||||
print(chr(FRAME_BL), 0, 29)
|
||||
print(chr(FRAME_BR), 39, 29)
|
||||
for x = 1, 38 do
|
||||
print(chr(FRAME_H), x, 25)
|
||||
print(chr(FRAME_H), x, 29)
|
||||
end
|
||||
for y = 26, 28 do
|
||||
print(chr(FRAME_V), 0, y)
|
||||
print(chr(FRAME_V), 39, y)
|
||||
end
|
||||
|
||||
-- Text dins del marc
|
||||
print("NIVELL "..string.format("%02d", level), 3, 26)
|
||||
print("PUNTS "..string.format("%03d", score), 16, 26)
|
||||
print("VIDES "..tostr(pepe.vides), 29, 26)
|
||||
@@ -713,6 +744,7 @@ function init()
|
||||
border(colors.border)
|
||||
color(colors.bg, colors.bg) -- ink no importa, paper=bg perque el cls() final empleni amb bg
|
||||
definir_glifs()
|
||||
definir_marc()
|
||||
carregar_records()
|
||||
init_title()
|
||||
set_estat(ESTAT_TITLE)
|
||||
|
||||
Reference in New Issue
Block a user