diff --git a/boot.jim b/boot.jim index da91200..41bafc2 100755 Binary files a/boot.jim and b/boot.jim differ diff --git a/debug.jim b/debug.jim index c7987aa..bd062ff 100755 Binary files a/debug.jim and b/debug.jim differ diff --git a/defs.jim b/defs.jim index 68a868f..b7cd8bc 100755 Binary files a/defs.jim and b/defs.jim differ diff --git a/defs.jor b/defs.jor index 546116c..cec823c 100755 --- a/defs.jor +++ b/defs.jor @@ -75,7 +75,7 @@ >r dup r@ @ <= if drop 0 r@ ! else r@ @ 0 < if - r@ ! + 1 - r@ ! else drop then then rdrop ; : +!cycle ( n var lim -- ) diff --git a/entity.jim b/entity.jim index 57f21ae..9340a5f 100755 Binary files a/entity.jim and b/entity.jim differ diff --git a/footer.jim b/footer.jim index 0cc5541..112bd52 100755 Binary files a/footer.jim and b/footer.jim differ diff --git a/game.jim b/game.jim index caff913..7c913cf 100755 Binary files a/game.jim and b/game.jim differ diff --git a/input.jim b/input.jim index 694262a..fc3f50c 100755 Binary files a/input.jim and b/input.jim differ diff --git a/jiles.jim b/jiles.jim index 0ea761f..dc35150 100755 Binary files a/jiles.jim and b/jiles.jim differ diff --git a/job.jim b/job.jim index af1dff0..b179a36 100755 Binary files a/job.jim and b/job.jim differ diff --git a/lev00001.jim b/lev00001.jim index d8b99d2..43abddd 100755 Binary files a/lev00001.jim and b/lev00001.jim differ diff --git a/lev00002.jim b/lev00002.jim new file mode 100755 index 0000000..f1a62f3 Binary files /dev/null and b/lev00002.jim differ diff --git a/lev00003.jim b/lev00003.jim new file mode 100755 index 0000000..519c250 Binary files /dev/null and b/lev00003.jim differ diff --git a/lev00004.jim b/lev00004.jim new file mode 100755 index 0000000..70f2b34 Binary files /dev/null and b/lev00004.jim differ diff --git a/lev00005.jim b/lev00005.jim new file mode 100755 index 0000000..acab31f Binary files /dev/null and b/lev00005.jim differ diff --git a/level.jim b/level.jim index 548ff55..ee80f4e 100755 Binary files a/level.jim and b/level.jim differ diff --git a/map.jim b/map.jim index cf6657f..b2c740d 100755 Binary files a/map.jim and b/map.jim differ diff --git a/neuttowr.exe b/neuttowr.exe index 157a3ad..4bf375c 100755 Binary files a/neuttowr.exe and b/neuttowr.exe differ diff --git a/neuttowr.prj b/neuttowr.prj index 07915c2..897ed73 100755 Binary files a/neuttowr.prj and b/neuttowr.prj differ diff --git a/state.jim b/state.jim index f84e7bf..a71d548 100755 Binary files a/state.jim and b/state.jim differ diff --git a/testbed.c b/testbed.c index 77d015f..0cce2dd 100755 --- a/testbed.c +++ b/testbed.c @@ -357,11 +357,16 @@ void f_textc() { // ( col line c color -- ) } void f_rawtextc() { // ( offset c color -- ) + unsigned int color = TOP().u; + unsigned int inverse = (~color) & 0x0f; setWriteMode(0); - setPlaneColor(TOP().u); - DROP(1); - text_draw_char(ST1().u, TOP().i, 40); - DROP(2); + if (inverse) { + setPlaneColor(inverse); + text_draw_char(ST2().u, ' ', 40); + } + setPlaneColor(color); + text_draw_char(ST2().u, ST1().i, 40); + DROP(3); } void f_text() { // ( col line s color -- ) diff --git a/timer.jim b/timer.jim index 92f5daf..e589bae 100755 Binary files a/timer.jim and b/timer.jim differ diff --git a/title.jim b/title.jim index a415474..36e2e31 100755 Binary files a/title.jim and b/title.jim differ diff --git a/title.jor b/title.jor index 59be7b2..ec533f2 100755 --- a/title.jor +++ b/title.jor @@ -16,25 +16,27 @@ : strlen ( s -- n ) 0 swap begin dup b@ while 1 + swap 1 + swap repeat drop ; : titles ( s -- ) begin dup b@ dup while titlec 1 + repeat drop drop ; -: optionbg ( y -- ) texty ! 20 boxmid -8 texty +! ; +: optionbg ( c -- ) dup 10 textx ! titlec 27 textx ! titlec ; : option ( s -- ) dup strlen 1 >> 19 swap - textx ! titles ; : startgame ( n -- ) s" title" loadscr s" start.jor" loadjor ; : menu-opts s" New Game" :| 1 startgame |; yield s" Continue" ' noop yield - s" Register Today!" ' noop yield + s" Help" ' noop yield + s" Register" ' noop yield s" Quit" ' quit yield done ; var menu-selected -: menu-y ( i -- y ) 10 * 90 + ; +: menu-y ( i -- y ) 12 * 90 + ; : draw-menu 0 menu-opts each drop - over menu-y optionbg - over menu-selected @ = if LCYAN else WHITE then text-color ! - option + over menu-y texty ! + over menu-selected @ = if LGREEN else WHITE then text-color ! option + dup menu-selected @ = if 15 else sp then optionbg 1 + more drop ; +: redraw-menu 21 11 8 72 box draw-menu ; : exec-selected 0 menu-opts each swap drop over menu-selected @ = if execute break else drop then @@ -45,9 +47,7 @@ var menu-selected : menu-select ( di -- ) menu-selected menu-count +!cycle draw-menu ; :noname - fuck s" title" loadscr - 20 9 9 72 box - draw-menu + fuck s" title" loadscr redraw-menu :| ^ENTER key-pressed if exec-selected then ^UP key-pressed if -1 menu-select then ^DOWN key-pressed if 1 menu-select then