Browse Source

Use map for everything

main
neauoire 3 years ago
parent
commit
3b306173a6
  1. 93
      src/nasu.tal

93
src/nasu.tal

@ -410,6 +410,18 @@ JMP2
JMP2
@clamp-selection ( -- )
.selection/x1 LDZ #0f STHk LTH ,&ok-limitx1 JCN STHkr .selection/x1 STZ &ok-limitx1 POPr
.selection/y1 LDZ #0f STHk LTH ,&ok-limity1 JCN STHkr .selection/y1 STZ &ok-limity1 POPr
.selection/x2 LDZ #0f STHk LTH ,&ok-limitx2 JCN STHkr .selection/x2 STZ &ok-limitx2 POPr
.selection/y2 LDZ #0f STHk LTH ,&ok-limity2 JCN STHkr .selection/y2 STZ &ok-limity2 POPr
( invert )
.selection/x2 LDZ .selection/x1 LDZ STHk GTH ,&ok-flipx JCN STHkr .selection/x2 STZ &ok-flipx POPr
.selection/y2 LDZ .selection/y1 LDZ STHk GTH ,&ok-flipy JCN STHkr .selection/y2 STZ &ok-flipy POPr
JMP2r
@set-selection-zoom ( x y -- )
#7f AND .selection/zy STZ
@ -504,6 +516,9 @@ JMP2
JMP2
(
@|map )
@run ( op* -- )
STH2
@ -511,7 +526,7 @@ JMP2
&ver
.selection/x2 LDZ INC .selection/x1 LDZ
&hor
( write char ) OVR2 NIP OVR SWP ;get-tile-addr JSR2 STH2kr JSR2
OVR2 NIP OVR SWP ;get-tile-addr JSR2 STH2kr JSR2
INC GTHk ,&hor JCN
POP2
INC GTHk ,&ver JCN
@ -598,18 +613,22 @@ JMP2r
JMP2r
@clamp-selection ( -- )
@op-read ( addr* -- )
.selection/x1 LDZ #0f STHk LTH ,&ok-limitx1 JCN STHkr .selection/x1 STZ &ok-limitx1 POPr
.selection/y1 LDZ #0f STHk LTH ,&ok-limity1 JCN STHkr .selection/y1 STZ &ok-limity1 POPr
.selection/x2 LDZ #0f STHk LTH ,&ok-limitx2 JCN STHkr .selection/x2 STZ &ok-limitx2 POPr
.selection/y2 LDZ #0f STHk LTH ,&ok-limity2 JCN STHkr .selection/y2 STZ &ok-limity2 POPr
( invert )
.selection/x2 LDZ .selection/x1 LDZ STHk GTH ,&ok-flipx JCN STHkr .selection/x2 STZ &ok-flipx POPr
.selection/y2 LDZ .selection/y1 LDZ STHk GTH ,&ok-flipy JCN STHkr .selection/y2 STZ &ok-flipy POPr
.File/read DEO2
JMP2r
@op-write ( addr* -- )
[ LIT2 &length $2 ]
DUP2 .File/length DEO2
;&buf SWP2 ;mcpy JSR2
;&buf .File/write DEO2
JMP2r
&buf $10
(
@|drawing )
@ -1253,59 +1272,47 @@ JMP2r
@edit-copy-icn ( -- )
#0008 ;edit-copy/mode STA2
,edit-copy ( .. )
;snarf-txt .File/name DEO2
#0008 ;op-write/length STA2
;op-write ;run JSR2
;redraw ( .. )
JMP
JMP2
@edit-copy-chr ( -- )
#0010 ;edit-copy/mode STA2
@edit-copy ( -- )
;snarf-txt .File/name DEO2
,&mode LDR2 .File/length DEO2
.selection/y2 LDZ INC .selection/y1 LDZ
&ver
.selection/x2 LDZ INC .selection/x1 LDZ
&hor
OVR2 NIP OVR SWP ;get-tile-addr JSR2 ;&buf [ LIT2 &mode $2 ] ;mcpy JSR2
;&buf .File/write DEO2
INC GTHk ,&hor JCN
POP2
INC GTHk ,&ver JCN
POP2
#0010 ;op-write/length STA2
;op-write ;run JSR2
;redraw ( .. )
JMP2
&buf $10
@edit-paste ( -- )
;snarf-txt .File/name DEO2
#0010 .File/length DEO2
.selection/y2 LDZ INC .selection/y1 LDZ
&ver
.selection/x2 LDZ INC .selection/x1 LDZ
&hor
OVR2 NIP OVR SWP ;get-tile-addr JSR2 .File/read DEO2
INC GTHk ,&hor JCN
POP2
INC GTHk ,&ver JCN
POP2
;op-read ;run JSR2
;redraw ( .. )
JMP2
@edit-cut ( -- )
;edit-copy JSR2
;edit-copy-chr JSR2
;op-erase ;run JSR2
;redraw ( .. )
JMP2
@edit-erase ( -- )
;op-erase ;run JSR2
#01 .state/changed STZ ;draw-state JSR2
;redraw ( .. )
JMP2
( select )
@tool-brush ( -- ) #00 ;set-tool JMP2
@ -1335,16 +1342,6 @@ JMP2
@pick-color3 ( -- ) #02 ;set-color JMP2
@pick-color4 ( -- ) #03 ;set-color JMP2
( option )
@edit-erase ( -- )
;op-erase ;run JSR2
#01 .state/changed STZ ;draw-state JSR2
;redraw ( .. )
JMP2
( generics )
@set-size ( x1 y1 w* h* rect* -- )

Loading…
Cancel
Save