DX: marc decoratiu al voltant del HUD
This commit is contained in:
+38
-6
@@ -21,6 +21,15 @@ BLOC3 = 178
|
|||||||
PEPE_C = 2
|
PEPE_C = 2
|
||||||
MALO_C = 88
|
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.
|
-- Skins: cada skin es una taula tile_id → codi_de_glif_a_pintar.
|
||||||
-- "custom" usa els mateixos codis CP437 (redibuixats amb setchar).
|
-- "custom" usa els mateixos codis CP437 (redibuixats amb setchar).
|
||||||
-- "native" remapeja als glifs que ja existeixen al ROM d'ascii
|
-- "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
|
setchar(88, 0x00,0xC3,0x66,0x3C,0x18,0x3C,0x66,0xC3) -- MALO X
|
||||||
end
|
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)
|
-- SFX (l'original no tenia so — afegim els minims raonables)
|
||||||
-- ====================================================================
|
-- ====================================================================
|
||||||
@@ -676,13 +695,25 @@ end
|
|||||||
function pintar_hud()
|
function pintar_hud()
|
||||||
color(colors.hud_text, colors.hud_bg)
|
color(colors.hud_text, colors.hud_bg)
|
||||||
local blank = " "
|
local blank = " "
|
||||||
-- Banda inferior completa (5 files, rows 25..29) per a un HUD equilibrat:
|
-- Banda inferior completa (5 files, rows 25..29) amb marc decoratiu
|
||||||
-- 25: filler superior
|
-- al voltant (cantoneres + linies fines) i text als rows 26 i 28.
|
||||||
-- 26: LEVEL / SCORE / LIVES (text centrat amb gaps regulars)
|
|
||||||
-- 27: filler intermig
|
|
||||||
-- 28: HI-SCORE i nom (centrat)
|
|
||||||
-- 29: filler inferior
|
|
||||||
for y = 25, 29 do print(blank, 0, y) end
|
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("NIVELL "..string.format("%02d", level), 3, 26)
|
||||||
print("PUNTS "..string.format("%03d", score), 16, 26)
|
print("PUNTS "..string.format("%03d", score), 16, 26)
|
||||||
print("VIDES "..tostr(pepe.vides), 29, 26)
|
print("VIDES "..tostr(pepe.vides), 29, 26)
|
||||||
@@ -713,6 +744,7 @@ function init()
|
|||||||
border(colors.border)
|
border(colors.border)
|
||||||
color(colors.bg, colors.bg) -- ink no importa, paper=bg perque el cls() final empleni amb bg
|
color(colors.bg, colors.bg) -- ink no importa, paper=bg perque el cls() final empleni amb bg
|
||||||
definir_glifs()
|
definir_glifs()
|
||||||
|
definir_marc()
|
||||||
carregar_records()
|
carregar_records()
|
||||||
init_title()
|
init_title()
|
||||||
set_estat(ESTAT_TITLE)
|
set_estat(ESTAT_TITLE)
|
||||||
|
|||||||
Reference in New Issue
Block a user