From 3da93a2eb08d13060b83d5d1fa629cf1f4907288 Mon Sep 17 00:00:00 2001 From: Jeremy Penner Date: Thu, 16 May 2019 21:05:40 -0400 Subject: [PATCH] rename r> and r< to >r and 118667 bytes game.jor | 16 ++++++++-------- game.prj | Bin 5815 -> 5633 bytes jopl.exe | Bin 67056 -> 66720 bytes jopl.jor | 21 +++++++++++++-------- jopl.prj | Bin 4547 -> 4547 bytes jorth.c | 4 ++-- map.jor | 12 ++++++------ timer.jor | 10 +++++----- 11 files changed, 50 insertions(+), 45 deletions(-) diff --git a/boot.jor b/boot.jor index 3c94606..eb75bbd 100755 --- a/boot.jor +++ b/boot.jor @@ -50,7 +50,7 @@ key " const '"' then ; : interpreter begin word dup b@ while compileword repeat drop ; -: load-input swap-input r> r> interpreter r< r< swap-input ; +: load-input swap-input >r >r interpreter execute r< factivate ; +: preservefp ( xt -- ) fdeactivate >r execute r> interpretjor - r< r< imagefilename overwrite saveimage close postload + here over >r >r interpretjor + rot 2dup r@ >rot r< ; -: 4dup r> r> 2dup r@ >rot rswap r@ >rot r< r< swap ; +: 3dup >r 2dup r@ >rot r >r 2dup r@ >rot rswap r@ >rot r >rot r< >rot ; + >r >rot rot ; : negate 0 swap - ; : abs dup 0 < if negate then ; : ~ -1 ^ ; : f! ( b v flag -- ) - >rot r> r@ @ >rot ( val flag b r: v ) - if | else ~ & then r< ! ; + >rot >r r@ @ >rot ( val flag b r: v ) + if | else ~ & then if 1 + else 1 - then ; : for ( from to -- ) - ' r> , [ ' begin , ] ( from r: to ) + ' >r , [ ' begin , ] ( from r: to ) ' dup , ' r@ , ' != , [ ' while , ] - ' r> , ; immediate ( r: to from ) + ' >r , ; immediate ( r: to from ) : i ' r@ , ; immediate : next - ' r< , ' r@ , ' +towards , ( from+1 r: to ) + ' rswap ; +: done rdrop 0 >r rswap ; : ;done ' done , ] ; immediate : each [ ' begin , ] ' r@ , [ ' while , ] ; immediate : more ' yield , [ ' repeat , ] ' rdrop , ; immediate @@ -76,9 +76,9 @@ : intern create latest wordname , does> @ ; : preserving ( cp 0 vars... -- ) - 0 r> begin dup while dup @ r> r> repeat drop + 0 >r begin dup while dup @ >r >r repeat drop execute - begin r@ while r< r< swap ! repeat rdrop ; + begin r@ while -FV7;D^|u`i<;>(z;|b}*qZ0_I^1V^?AJ!)$?B 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 delta 39648 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 Kko7+6$NnE1jj2Zf diff --git a/game.jor b/game.jor index cd449d5..a5dbd32 100755 --- a/game.jor +++ b/game.jor @@ -19,9 +19,9 @@ defer entities : entity-at ( x y -- entity|0 ) 0 >rot - entities each r> 2dup ( 0 x y x y r:e ) + entities each >r 2dup ( 0 x y x y r:e ) r@ entity.x @ r@ entity.y @ world>tile 2= ( 0 x y eq r:e ) - if rot break ( e x y ) + if rot break ( e x y ) else rdrop then ( 0 x y ) more drop drop ; @@ -49,8 +49,8 @@ defer player 12 9 N ' {player} defentity player : entity-dst ( e -- x y ) - r> r@ entity.dir @ dir>pos - r@ entity.x @ r< entity.y @ world>tile +pos ; + >r r@ entity.dir @ dir>pos + r@ entity.x @ tile +pos ; : move-entity ( e -- ) dup entity.dir @ dir>pos ( e dx dy ) @@ -63,9 +63,9 @@ defer player player move-entity player.prevdir @ party each dup player != if - dup entity.dir @ r> + dup entity.dir @ >r dup >rot entity.dir ! - move-entity r< + move-entity r@ entity.x @ r@ entity.y @ - r@ entity.dir @ r< entity>sprite + >r r@ entity.x @ r@ entity.y @ + r@ entity.dir @ sprite draw-sprite ; var showmouse diff --git a/game.prj b/game.prj index f65f3d2a1514ba08c482604f32784cf400cbed3b..f55542b7eecaad27e6007d79e19a8e53e75db662 100755 GIT binary patch delta 255 zcmdn4+o-caosHRM#fHsVY$w=w4OVRMV^(Hh_~^{QaBuT}o@ypuL!gik69a=c0|P_w z9i2|4T6HGp%M!U^vd0%=8<` z|Ns99!xV-Dpy?b8Yz%I-Q~fj<6gXnU#2A8>tngz8v;VXF=U-elSyotFS)74&`39&k eH&~JdO!6Q!O};FoyV*q8mWdf?!sZfDXGQ=v2}}|I delta 453 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 r@ 4 + b@ r@ 3 + b@ r@ 2 + b@ r@ 1 + b@ r< b@ loadop ; + >r r@ 4 + b@ r@ 3 + b@ r@ 2 + b@ r@ 1 + b@ @@ -129,7 +129,7 @@ array tracks 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , : track ( i -- p ) cells tracks + ; : dotrack ( ip -- ip ) - dup if dup 1 + swap ub@ r> + dup if dup 1 + swap ub@ >r r@ 0xff = if dup @ swap cell + swap execute then r@ 0xfe = if @ dotrack then r@ 0xfd = if noteoff then @@ -265,13 +265,13 @@ var stopkeys 77 key-pressed if 1 +voice! then ; : dokeys ( cp -- ) - r> 0 stopkeys ! key-start begin + >r 0 stopkeys ! key-start begin key-debounce r@ execute suspend stopkeys @ until key-end rdrop ; : nextnote ( ip -- ip ) dup if - dup ub@ r> + dup ub@ >r r@ 0xff = if drop 0 else r@ 0xfe = if 1 + @ nextnote then then rdrop @@ -328,13 +328,17 @@ defer onselect : change-selection ( dy -- ) deselect-menu menuy +!pos select-menu onselect ; + +: page-selection ( redraw dy -- 1 ) + dup menuscroll +!pos menuy +!pos drop 1 ; + : key-menu ( -- redraw ) :| 0 ( redraw ) 72 key-pressed if -1 change-selection then 80 key-pressed if 1 change-selection then - 73 key-pressed if drop 1 r> -10 menuscroll +!pos then - 81 key-pressed if drop 1 r> 10 menuscroll +!pos then + 73 key-pressed if -10 page-selection then + 81 key-pressed if 10 page-selection then |; draw-menu ; : draw-filemenu ( glob -- ) @@ -352,9 +356,10 @@ defer onselect |; dokeys |; 66 1 13 menu-at ; +: dune ( -- ) s" dune" chdir inst s" .." chdir ; + :noname 9 -1 for i voice ! default next startt2 ' emit-direct task-emit ! - s" dune" chdir ; ' onload redefine diff --git a/jopl.prj b/jopl.prj index 9d1b09f6e63e465e9f8caef40b6e0382d2d92f7f..19fab05609a5bbe6309e00dee906d2aa60e6ce36 100755 GIT binary patch delta 83 zcmX@Cd{}vdIvew^6&p5du^nS$6=pC1GQaXTGKrfoOlGuTWMTaOKZC)9fq{X8ft`VM k`G(0e`4zc<%>N1;F=BdplU?`&HlN^6V`K)&846AU07n8Cwg3PC delta 80 zcmX@Cd{}vdIvaD+k`1bEBFIg*%@YT hSUTC4Uy=}0RTmJ8rA>+ diff --git a/jorth.c b/jorth.c index 4e63e4a..a124805 100755 --- a/jorth.c +++ b/jorth.c @@ -1143,8 +1143,8 @@ void f_init(char *exe) { CDEF("drop", f_drop); CDEF("swap", f_swap); CDEF("", f_rput); - CDEF("r<", f_rtake); + CDEF(">r", f_rput); + CDEF(" ( oldw neww r: y ) + >r ( oldw neww r: y ) 2dup min >rot ( copyw neww oldw ) r@ * map + ( copyw neww src ) - swap r< * map + ( copyw src dst ) + swap ( newh neww oldw r: oldh ) - 2dup < if 1 r< else r< 1 - 0 then ( newh neww copyw ystart ylim ) + swap mapsize >r ( newh neww oldw r: oldh ) + 2dup < if 1 ( dx dy r: h ) + maph over abs - >r ( dx dy r: h ) swap mapw over abs - >rot ( w dy dx r: h ) 2dup map swap offset-map swap mapw * offset-map >rot ( w end dy dx r: h ) map swap negate offset-map swap mapw * negate offset-map ( w end start r: h ) 2dup > if r@ mapw * + swap r@ mapw * + swap then - r< 0 for + range ( start end -- start range ) over - ; : >range r< r >range >range r< ratio lerpr ; + >r >range ratio lerpr ; : lerp ( start end duration start -- i ) ticks udelta ( start end duration delta ) >ratio lerpr ; : triggered ( duration timer -- b ) - dup r> @ ticks udelta ( duration delta ) - 2dup <= if drop r< +! 1 else drop drop rdrop 0 then ; + dup >r @ ticks udelta ( duration delta ) + 2dup <= if drop @ >rot ticks ( from to duration start ) + dup >r @ >rot ticks ( from to duration start ) begin 4dup lerp r@ !