diff --git a/ako10x10.chr b/etc/ako10x10.chr similarity index 100% rename from ako10x10.chr rename to etc/ako10x10.chr diff --git a/etc/cibo10x10.icn b/etc/cibo10x10.icn new file mode 100644 index 0000000..1cb540c Binary files /dev/null and b/etc/cibo10x10.icn differ diff --git a/makefile b/makefile index cb16433..84e8665 100644 --- a/makefile +++ b/makefile @@ -10,7 +10,8 @@ all: ${ROM} lint: @ ${LIN} src/${ID}.tal test: - @ ${EMU} ${ROM} ako10x10.chr + @ ${EMU} ${ROM} etc/ako10x10.chr + @ ${EMU} ${ROM} etc/cibo10x10.icn run: all @ ${EMU} ${ROM} clean: diff --git a/src/nasu.tal b/src/nasu.tal index f23e02a..ac0b22b 100644 --- a/src/nasu.tal +++ b/src/nasu.tal @@ -48,15 +48,15 @@ #00 .settings/brush STZ set-focus ( place ) - .Screen/width DEI2 #01 SFT2 .frame/width LDZ2 #01 SFT2 SUB2 #001b .frame/width LDZ2 .frame/height LDZ2 ;frame set-size - .frame/x1 LDZ2 #0001 SUB2 .frame/y1 LDZ2 #0038 ADD2 #007f DUP2 ;tileview set-size - .frame/x1 LDZ2 #0089 ADD2 .frame/y1 LDZ2 #0038 ADD2 #007f DUP2 ;nametableview set-size - .frame/x1 LDZ2 #0001 SUB2 .frame/y1 LDZ2 #001f #002f ;zoomview set-size - .frame/x1 LDZ2 #002f ADD2 .frame/y1 LDZ2 #001f #002f ;preview set-size - .frame/x1 LDZ2 #005f ADD2 .frame/y1 LDZ2 #0020 #002f ;colorview set-size - .frame/x1 LDZ2 #008f ADD2 .frame/y1 LDZ2 #001f #002f ;blendview set-size - .frame/x1 LDZ2 #00bf ADD2 .frame/y1 LDZ2 #0048 #002f ;dataview set-size - .tileview/x1 LDZ2 .tileview/y2 LDZ2 #0008 ADD2 .frame/width LDZ2 #0008 ;toolview set-size + .Screen/width DEI2 #01 SFT2 .frame/width LDZ2 #01 SFT2 SUB2 #001b .frame/width LDZ2 .frame/height LDZ2 ;frame + .frame/x1 LDZ2 #0001 SUB2 .frame/y1 LDZ2 #0038 ADD2 #007f DUP2 ;tileview + .frame/x1 LDZ2 #0089 ADD2 .frame/y1 LDZ2 #0038 ADD2 #007f DUP2 ;nametableview + .frame/x1 LDZ2 #0001 SUB2 .frame/y1 LDZ2 #001f #002f ;zoomview + .frame/x1 LDZ2 #002f ADD2 .frame/y1 LDZ2 #001f #002f ;preview + .frame/x1 LDZ2 #005f ADD2 .frame/y1 LDZ2 #0020 #002f ;colorview + .frame/x1 LDZ2 #008f ADD2 .frame/y1 LDZ2 #001f #002f ;blendview + .frame/x1 LDZ2 #00bf ADD2 .frame/y1 LDZ2 #0048 #002f ;dataview + .tileview/x1 LDZ2 .tileview/y2 LDZ2 #0008 ADD2 .frame/width LDZ2 #0008 ;toolview ( static drawings ) load-theme draw-once @@ -71,7 +71,7 @@ BRK ( name ) "Nasu 0a ( details ) "A 20 "Sprite 20 "Editor 0a ( author ) "By 20 "Hundred 20 "Rabbits 0a - ( date ) "6 20 "Jun 20 "2024 00 + ( date ) "30 20 "Jun 20 "2024 00 01 ( icon ) 83 =appicon @@ -129,7 +129,7 @@ BRK ;on-button .Controller/vector DEO2 ;on-mouse .Mouse/vector DEO2 #01 draw-filepath - ( release mouse ) #00 .Mouse/state DEO + ( release mouse ) [ LIT2 00 -Mouse/state ] DEO JMP2r @@ -140,7 +140,7 @@ JMP2r ;on-mouse-trap .Mouse/vector DEO2 ( clear cursor ) #40 draw-cursor - ( release mouse ) #00 .Mouse/state DEO + ( release mouse ) [ LIT2 00 -Mouse/state ] DEO JMP2r @@ -260,7 +260,7 @@ BRK set-selection-zoom toggle-zoom redraw - ( release mouse ) #00 .Mouse/state DEO + ( release mouse ) [ LIT2 00 -Mouse/state ] DEO BRK @@ -303,7 +303,7 @@ BRK @on-touch-toolview ( -> ) - ( release mouse ) #00 .Mouse/state DEO + ( release mouse ) [ LIT2 00 -Mouse/state ] DEO .Mouse/x DEI2 .toolview/x1 LDZ2 SUB2 #03 SFT2 NIP [ #20 ] NEQk NIP ?&no-save file-save POP BRK &no-save [ #1e ] NEQk NIP ?&no-load file-open POP BRK &no-load @@ -327,7 +327,7 @@ BRK DUP #01 EQU .Mouse/state DEI #01 EQU #0101 NEQ2 ?&no-sr ;op-shiftr run &no-sr DUP #01 EQU .Mouse/state DEI #01 GTH #0101 NEQ2 ?&no-shiftleft ;op-shiftl run &no-shiftleft POP - ( release mouse ) #00 .Mouse/state DEO + ( release mouse ) [ LIT2 00 -Mouse/state ] DEO !&finish &no-mod @@ -347,7 +347,7 @@ BRK ( x ) .Mouse/x DEI2 .preview/x1 LDZ2 SUB2 #03 SFT2 NIP #40 SFT ADD #11 ADD .settings/ratio STZ draw-preview - ( release mouse ) #00 .Mouse/state DEO + ( release mouse ) [ LIT2 00 -Mouse/state ] DEO BRK @@ -387,7 +387,7 @@ BRK POP draw-blendview draw-preview - ( release mouse ) #00 .Mouse/state DEO + ( release mouse ) [ LIT2 00 -Mouse/state ] DEO BRK @@ -514,6 +514,13 @@ JMP2r !redraw +@is-mono ( filepath -- f ) + scap #0004 SUB2 + ( ) LDA2k [ LIT2 ".i ] EQU2 STH + ( ) INC2 INC2 LDA2 [ LIT2 "cn ] EQU2 STHr + AND + JMP2r + ( @|filter ) @@ -559,7 +566,7 @@ JMP2r ( ) ADD2 LTH2 ?{ POP2 POP2 JMP2r } ( write ) DUP2 ,&y1 STR2 - [ LIT2 00 -selection/y2 ] LDZ INC #30 SFT2 #0001 SUB2 SWP2 SUB2 + [ LIT2 00 -selection/y2 ] LDZ INC #30 SFT2 #0001 SUB2 SWP2 SUB2 [ LIT2 00 -selection/y1 ] LDZ #30 SFT2 ADD2 ,&y2 STR2 DUP2 [ LIT2 &y1 $2 ] get-pixel ,&c1 STR DUP2 [ LIT2 &y2 $2 ] get-pixel ,&c2 STR @@ -1269,7 +1276,7 @@ JMP2r !redraw @file-open ( -- ) - + ;filepath is-mono ?file-open-mono ( clear ) ;spritesheet #1300 mclr load-theme @@ -1305,6 +1312,7 @@ JMP2r !redraw @file-save ( -- ) + ;filepath is-mono ?file-save-mono ( spritesheet ) ;filepath .File/name DEO2 @@ -1456,7 +1464,7 @@ JMP2r ( generics ) -@set-size ( x1 y1 w* h* rect* -- ) +@ ( x1 y1 w* h* rect* -- ) STH2 ( size to rect )