forked from pyrex/chameleonic
		
	main #21
| @@ -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 | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user