diff --git a/game.exe b/game.exe index 7cbb0df..cd67a67 100755 Binary files a/game.exe and b/game.exe differ diff --git a/game.prj b/game.prj index f863057..12e2a70 100755 Binary files a/game.prj and b/game.prj differ diff --git a/jiles.jor b/jiles.jor index 517ce69..fe20e69 100755 --- a/jiles.jor +++ b/jiles.jor @@ -51,6 +51,7 @@ var jiles-old-draw 31 const ^S 20 const ^T 33 const ^F +19 const ^R 46 const ^C 47 const ^V 73 const ^PgUp @@ -77,6 +78,7 @@ var copysrc ^C key-pressed if spriteindex @ copysrc ! then ^V key-pressed if copysrc @ spriteindex @ paste-tile refresh then ^F key-pressed if spriteindex @ flip-tile refresh then + ^R key-pressed if spriteindex @ vflip-tile refresh then ^PgDn key-pressed if 5 +sprite! then ^PgUp key-pressed if -5 +sprite! then ^UP key-pressed if -1 spriteindex @ nudge-sprite refresh then diff --git a/map.jor b/map.jor index 5e0b470..2da2b02 100755 --- a/map.jor +++ b/map.jor @@ -32,6 +32,13 @@ array tileflags ( storefront ) 0 b, ( space ) 0 b, ( space2 ) BOATABLE b, +( ice ) WALKABLE b, +( ringstl ) WALKABLE b, +( ringstr ) WALKABLE b, +( ringsbl ) WALKABLE b, +( ringsbr ) WALKABLE b, +( hoglinev ) WALKABLE b, +( hoglineh ) WALKABLE b, here tileflags - 1 - const MAXTILE diff --git a/space.jor b/space.jor index ff30391..063aa8f 100755 --- a/space.jor +++ b/space.jor @@ -18,7 +18,7 @@ touch-next 5 11 2= dup touch-next 41 37 2= dup if move-player 5 11 tile>world player entity.pos! then touch-next 44 23 2= dup - if pete say" It's...." say" home." then + if pete say" It's...." say" home?" then touch-last |; ' player-touch redefine s" space.map" load-map diff --git a/testbed.c b/testbed.c index de56553..563fb36 100755 --- a/testbed.c +++ b/testbed.c @@ -519,6 +519,25 @@ void f_fliptile() { } } +void f_vfliptile() { + unsigned int far *dst; + unsigned int far *gfx = editTarget == ET_SPRITE ? sprites : tiles; + unsigned int stride = editTarget == ET_SPRITE ? SPRITE_STRIDE : TILE_STRIDE; + unsigned int y; + unsigned int plane; + + dst = &gfx[TOP().i * stride]; + DROP(1); + for (plane = 0; plane < (editTarget == ET_SPRITE ? 5 : 4); plane ++) { + for (y = 0; y < 8; y ++) { + unsigned int tmp = dst[y]; + dst[y] = dst[15 - y]; + dst[15 - y] = tmp; + } + dst += 16; + } +} + void f_nudgesprite() { unsigned int far *dst = &sprites[TOP().i * SPRITE_STRIDE]; int direction = ST1().i < 0 ? -1 : 1; @@ -604,6 +623,7 @@ void game_f_init(char *exe, char *bootjor) { CDEF("reloadtiles", f_reloadtiles); CDEF("paste-tile", f_pastetile); CDEF("flip-tile", f_fliptile); + CDEF("vflip-tile", f_vfliptile); CDEF("nudge-sprite", f_nudgesprite); f_loadjor(bootjor); diff --git a/tiles.gfx b/tiles.gfx index 751e669..1fc204b 100755 Binary files a/tiles.gfx and b/tiles.gfx differ