hints through room 3; two line hints #19

Merged
pyrex merged 1 commits from kistaro/chameleonic:hints into main 2023-01-01 21:30:29 +00:00
Showing only changes of commit 35003bca9a - Show all commits

View File

@ -1743,20 +1743,41 @@ function rot13(s)
end
return chr(unpack(sord))
end
--hint file format:
-- each row is one hint. 4 columns per row
-- separated with a grave (`) character
-- room# ` X (screen px) ` Y (screen px) ` message
-- message is ROT13d; works for a-zA-Z
-- each row is one hint.
-- 4 or 5 columns
-- separated with a
-- grave (`) character
-- [1] room#
-- [2] x coord
-- [3] y coord
-- [4] message line 1 (rot13)
-- [5] message llne 2 (rot13)
-- row 5 can be omitted
-- for a 1-line hint
--
-- multiple hints for the same
-- room are revealed in order
hints = {}
add(real_modules,hints)
function hints:init()
local h = gsv[[0`64`64`zYRZ
0`32`32`fCYHOC]]
local h = gsv[[0`42`57`🅾️ yVPX` ■
0`42`73`❎, ❎ cHYY
1`35`34`⁘ sVYY
1`99`82`■ cHYY
1`42`98`⁘`VTABER
2`75`65`i <`⁘
2`104`73` ■`cHYY
2`27`42`⁘
3`51`106`■ cHYY
3`27`81`⁘ HAOYBPX ZR
3`91`33`■ FGNAQ` URER]]
for rec in all(h) do
rec[4]=rot13(rec[4])
if(rec[5]) rec[5]=rot13(rec[5])
local lh = self[rec[1]]
if lh then
add(lh,rec)
@ -1770,6 +1791,11 @@ function hints:init()
poke(0x5f2d,1)
end
function shdprint(txt,x,y,c)
print(txt,x-1,y+1,1)
print(txt,x,y,c)
end
hintflicker={7,10,9,8,8,9,10,7}
function hints:draw2()
pal()
@ -1783,9 +1809,9 @@ function hints:draw2()
for i,h in ipairs(self[level.ix]) do
if (i > level.hintlevel) return
local _,x,y,txt=unpack(h)
print(txt,x-1,y+1,1)
print(txt,x,y,c)
local _,x,y,txt,txt2=unpack(h)
shdprint(txt,x,y,c)
if (txt2) shdprint(txt2,x,y+8,c)
end
end