~rabbits/nasu

1a6d0a6b4865cdb974d89dacfe776a324f5b4505 — neauoire 1 year, 7 months ago 29b0b84
Improved erase
1 files changed, 26 insertions(+), 27 deletions(-)

M src/main.tal
M src/main.tal => src/main.tal +26 -27
@@ 13,6 13,8 @@
	ctrl+r - rename
	ctrl+o - load
	ctrl+s - save
	ctrl+c - copy
	ctrl+v - paste
 )

%+  { ADD }  %-  { SUB }  %*  { MUL }  %/  { DIV }


@@ 207,11 209,7 @@ BRK
		DUP #34 ! ,&no-4 JCN
			( color ) #03 .settings/color STZ ;draw-toolview JSR2 &no-4
		DUP #08 ! ,&no-delete JCN
			( delete ) .settings/focus LDZ2 ;op-shift-memory-left JSR2 
			SET-STATE ;redraw JSR2 &no-delete
		DUP #0d ! ,&no-insert JCN
			( insert ) .settings/focus LDZ2 ;op-shift-memory-right JSR2 
			SET-STATE ;redraw JSR2 &no-insert
			( delete ) ;erase-selection JSR2 SET-STATE ;redraw JSR2 &no-delete
		DUP #20 ! ,&no-zoom JCN
			( zoom ) .settings/zoom TOGGLE ;redraw JSR2 &no-zoom
		DUP #71 ! ,&no-tool0 JCN


@@ 619,28 617,6 @@ BRK

RTN

@op-shift-memory-left ( addr* -- )

	DUP2 LENGTH ++
	&loop
		OVR2 #0010 ++ LDA STH
		OVR2 STHr ROT ROT STA
		INCR2 NEQ2k ,&loop JCN
	POP2 POP2
	
RTN

@op-shift-memory-right ( addr* -- )

	DUP2 LENGTH ++ SWP2 #0001 --
	&loop
		OVR2 LDA STH
		OVR2 #0010 ++ STHr ROT ROT STA
		DECR2 NEQ2k ,&loop JCN
	POP2 POP2
	
RTN

@op-shift-tile-up ( addr* -- )
	
	STH2


@@ 1149,8 1125,31 @@ RTN

RTN

@erase-tile ( addr* -- )
	
	STH2
	#10 #00
	&loop
		( get )
		DUP TOS STH2kr ++ #00 ROT ROT STA
		#01 + GTHk ,&loop JCN
	POP2
	POP2r

RTN

@erase-selection ( -- )

	.selection/y2 LDZ #01 + .selection/y1 LDZ
	&ver
		.selection/x2 LDZ #01 + .selection/x1 LDZ
		&hor
			( write char ) GET-ITER GET-ADDR ;erase-tile JSR2
			#01 + GTHk ,&hor JCN
		POP2
		#01 + GTHk ,&ver JCN
	POP2

RTN

@clamp-selection ( -- )