Estructura DX i escena logo JAILGAMES animada
This commit is contained in:
@@ -0,0 +1,113 @@
|
||||
-- Glifs personalitzats compartits per totes les escenes.
|
||||
--
|
||||
-- Cada glif es defineix com 8 bytes (files de 8 px, MSB esquerra). Ens
|
||||
-- reservem el rang 1..15 (caracters de control que no usem) per als
|
||||
-- glifs propis del joc. Aixi no pisem caracters del CP437 que despres
|
||||
-- voldrem imprimir en text.
|
||||
|
||||
local M = {}
|
||||
|
||||
-- Codis simbolics per evitar magic numbers en la resta del codi.
|
||||
-- IMPORTANT: la ROM d'ascii NO es CP437 estandar — chr(176..178) son
|
||||
-- lletres gregues i chr(219) es un patro quadriculat, no els shades
|
||||
-- esperats. Per aixo redefinim els shades nosaltres a un rang lliure.
|
||||
M.PEPE = 1 -- contorn de pinguinet (Pepe)
|
||||
M.MALO = 2 -- enemic
|
||||
M.POT = 3 -- pot de pintura
|
||||
M.GOTA = 4 -- gota caient
|
||||
M.ARR_AMUNT = 5
|
||||
M.ARR_AVALL = 6
|
||||
M.ARR_ESQ = 7
|
||||
M.ARR_DRETA = 8
|
||||
M.SHADE_25 = 9 -- equivalent a CP437 chr(176) — trama clara
|
||||
M.SHADE_50 = 10 -- equivalent a CP437 chr(177) — trama escacs
|
||||
M.SHADE_75 = 11 -- equivalent a CP437 chr(178) — trama densa
|
||||
M.BLOCK = 12 -- equivalent a CP437 chr(219) — bloc ple
|
||||
|
||||
-- Bitmaps. Cada fila es un byte (8 px). 1 = pixel encés.
|
||||
local BITMAPS = {
|
||||
[M.PEPE] = {
|
||||
0x18, -- ..XX....
|
||||
0x3C, -- .XXXX...
|
||||
0x3C, -- .XXXX...
|
||||
0x18, -- ..XX....
|
||||
0x7E, -- .XXXXXX.
|
||||
0x18, -- ..XX....
|
||||
0x24, -- ..X..X..
|
||||
0x42, -- .X....X.
|
||||
},
|
||||
[M.MALO] = {
|
||||
0x3C,
|
||||
0x66,
|
||||
0xDB, -- ulls
|
||||
0xFF,
|
||||
0xFF,
|
||||
0xDB,
|
||||
0x66,
|
||||
0x3C,
|
||||
},
|
||||
[M.POT] = {
|
||||
0x00,
|
||||
0x7E, -- vora superior
|
||||
0x42,
|
||||
0x42,
|
||||
0x42,
|
||||
0x42,
|
||||
0x7E,
|
||||
0x00,
|
||||
},
|
||||
[M.GOTA] = {
|
||||
0x00,
|
||||
0x18,
|
||||
0x18,
|
||||
0x3C,
|
||||
0x3C,
|
||||
0x18,
|
||||
0x00,
|
||||
0x00,
|
||||
},
|
||||
[M.ARR_AMUNT] = {
|
||||
0x18, 0x3C, 0x7E, 0xFF,
|
||||
0x18, 0x18, 0x18, 0x00,
|
||||
},
|
||||
[M.ARR_AVALL] = {
|
||||
0x00, 0x18, 0x18, 0x18,
|
||||
0xFF, 0x7E, 0x3C, 0x18,
|
||||
},
|
||||
[M.ARR_ESQ] = {
|
||||
0x00, 0x10, 0x30, 0x7F,
|
||||
0x7F, 0x30, 0x10, 0x00,
|
||||
},
|
||||
[M.ARR_DRETA] = {
|
||||
0x00, 0x08, 0x0C, 0xFE,
|
||||
0xFE, 0x0C, 0x08, 0x00,
|
||||
},
|
||||
|
||||
-- Shades CP437 per a fades. Patrons alternats de bits.
|
||||
[M.SHADE_25] = {
|
||||
0x88, 0x22, 0x88, 0x22,
|
||||
0x88, 0x22, 0x88, 0x22,
|
||||
},
|
||||
[M.SHADE_50] = {
|
||||
0x55, 0xAA, 0x55, 0xAA,
|
||||
0x55, 0xAA, 0x55, 0xAA,
|
||||
},
|
||||
[M.SHADE_75] = {
|
||||
0x77, 0xDD, 0x77, 0xDD,
|
||||
0x77, 0xDD, 0x77, 0xDD,
|
||||
},
|
||||
[M.BLOCK] = {
|
||||
0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF,
|
||||
},
|
||||
}
|
||||
|
||||
function M.instala()
|
||||
for codi, fila in pairs(BITMAPS) do
|
||||
setchar(codi,
|
||||
fila[1], fila[2], fila[3], fila[4],
|
||||
fila[5], fila[6], fila[7], fila[8])
|
||||
end
|
||||
end
|
||||
|
||||
return M
|
||||
Reference in New Issue
Block a user