@@ 8,10 8,7 @@
1 2 3 - select brush
TODO:
- Copy in 2 bits mode, copies 2 tiles
Save/load/rename
- Inject a new tile at location
- Delete tile at location
Tile Modifiers
Zoom
Brushes
@@ 19,6 16,7 @@
Move focus with arrows
Select focus
Display tile preview view
+ Hilight selected tiles
)
%+ { ADD } %- { SUB } %* { MUL } %/ { DIV }
@@ 30,6 28,7 @@
%VER { #10 }
%WIDTH { HOR TOS #0008 ** }
%HEIGHT { VER TOS #0008 ** }
+%LENGTH { HOR TOS VER TOS ** #0010 ** }
%RTN { JMP2r }
%CPY { STHkr }
@@ 49,6 48,7 @@
%INCR { SWP #01 + SWP }
%INCR2 { SWP2 #0001 ++ SWP2 }
+%DECR2 { SWP2 #0001 -- SWP2 }
%GET-ITERATORS { SWP2k POP SWP POP }
%SIZE-TO-RECT {
@@ 66,6 66,7 @@
%BANK { #2000 }
%GET-ADDR { .settings/selection LDZ TOS #0010 ** BANK ++ }
%GET-COLOR { STHk #02 / + DEI STHr #01 #02 MOD - #04 * SFT #0f AND }
+%RELEASE-MOUSE { #00 .Mouse/state DEO }
( devices )
@@ 230,6 231,20 @@ BRK
;draw-dataview JSR2
;draw-preview JSR2
BRK &no-selector
+ DUP #02 = .Mouse/state DEI #01 = #0101 !! ,&no-insert JCN
+ POP
+ ;get-tile-addr JSR2
+ ;shift-memory-right JSR2
+ ;redraw JSR2
+ RELEASE-MOUSE
+ BRK &no-insert
+ DUP #02 = .Mouse/state DEI #10 = #0101 !! ,&no-delete JCN
+ POP
+ ;get-tile-addr JSR2
+ ;shift-memory-left JSR2
+ ;redraw JSR2
+ RELEASE-MOUSE
+ BRK &no-delete
POP
POP2 POP2
@@ 252,7 267,7 @@ BRK
&no-tool
POP
&end
- ( release ) #00 .Mouse/state DEO
+ RELEASE-MOUSE
BRK
@@ 263,16 278,16 @@ BRK
DUP #40 ! ,&no-move-up JCN
GET-ADDR ;op-shiftup JSR2
GET-ADDR #0008 ++ ;op-shiftup JSR2
- ( release ) #00 .Mouse/state DEO
+ RELEASE-MOUSE
;redraw JSR2 POP BRK &no-move-up
DUP #41 ! ,&no-move-down JCN
GET-ADDR ;op-shiftdown JSR2
GET-ADDR #0008 ++ ;op-shiftdown JSR2
- ( release ) #00 .Mouse/state DEO
+ RELEASE-MOUSE
;redraw JSR2 POP BRK &no-move-down
POP
- ( release ) #00 .Mouse/state DEO
+ RELEASE-MOUSE
BRK
@@ 281,7 296,7 @@ BRK
.Mouse/x DEI2 .blendview/x1 LDZ2 -- #0008 // TOB
.Mouse/y DEI2 .blendview/y1 LDZ2 -- #0008 // TOB #04 * +
.settings/blending STZ
- ( release ) #00 .Mouse/state DEO
+ RELEASE-MOUSE
;redraw JSR2
BRK
@@ 327,7 342,7 @@ BRK
#40 SFT + #11 +
.settings/ratio STZ
- ( release ) #00 .Mouse/state DEO
+ RELEASE-MOUSE
;redraw JSR2
@@ 340,6 355,30 @@ BRK
RTN
+@shift-memory-left ( addr* -- )
+
+ DUP2 LENGTH ++
+ &loop
+ OVR2 #0010 ++ LDA STH
+ OVR2 STHr ROT ROT STA
+ INCR2
+ NEQ2k ,&loop JCN
+ POP2 POP2
+
+RTN
+
+@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-shiftup ( addr* -- )
STH2
@@ 724,6 763,5 @@ RTN
007c 8202 7e82 827e 00fc 8282 fc82 82fc
007c 8280 8080 827c 00fc 8282 8282 82fc
007c 8280 f080 827c 007c 8280 f080 8080
-
@filepath1
"example.chr $1