Browse code

Progress on orca

neauoire authored on 07/04/2021 19:52:16
Showing 1 changed files
... ...
@@ -1,16 +1,23 @@
1 1
 ( Orca 
2 2
 	
3 3
 	TODO
4
+		- Display guides
4 5
 		- Clamp selection to grid
5
-		- Chorded copy/paste
6
+		- Synthax highlight
6 7
 		- Locking ports
7 8
 		- Detect capitalization
8
-		- Fill grid with . characters on start
9
-		- Display guides
10
-		- Draw Frame number in UI
9
+		- Draw Interface
10
+			- Position
11
+			- Frame
12
+			- BPM
13
+			- Toggle Guides
14
+			- New
15
+			- Save
16
+			- Load
11 17
 		- Comments
12 18
 		- Load/Save
13 19
 		- Copy/Paste
20
+		- Copy/paste(chorded)
14 21
 )
15 22
 
16 23
 %RTN { JMP2r }
... ...
@@ -36,7 +43,7 @@
36 43
 
37 44
 |0200
38 45
 
39
-	( theme ) #0faf =System.r #0fff =System.g #0f5f =System.b
46
+	( theme ) #08f3 =System.r #08fc =System.g #08f9 =System.b
40 47
 	( vectors ) ,on-button =Controller.vector
41 48
 	( vectors ) ,on-key =Keys.vector
42 49
 	( vectors ) ,on-mouse =Mouse.vector
... ...
@@ -196,6 +203,24 @@ RTN
196 203
 
197 204
 RTN
198 205
 
206
+@get-char-sprite-grid ( x y -- addr )
207
+	
208
+	DUP2 ,get-char JSR2 
209
+	( if character is dot )
210
+	DUP #2e NEQ ^$no-bar JNZ
211
+		( check if x,y is grid )
212
+		POP
213
+		#08 MOD #00 EQU
214
+		SWP
215
+		#08 MOD #00 EQU
216
+		( make it a + ) #0101 EQU2 #00 SWP #0058 MUL2 ,font ADD2
217
+		RTN
218
+	$no-bar
219
+	STH POP2 STHr
220
+	#20 SUB #00 SWP #0008 MUL2 ,font ADD2
221
+
222
+RTN
223
+
199 224
 @op-a ( x y char -- )
200 225
 
201 226
 	POP
... ...
@@ -210,7 +235,13 @@ RTN
210 235
 
211 236
 @op-b ( x y char -- )
212 237
 	
213
-	POP POP2
238
+	POP
239
+	( get left ) DUP2 SWP #01 SUB SWP ,get-value JSR2 STH
240
+	( get right ) DUP2 SWP #01 ADD SWP ,get-value JSR2 STH
241
+	( incr y ) #01 ADD 
242
+	( get result ) SUBr STHr 
243
+	,get-value-char JSR2 
244
+	,put-char JSR2
214 245
 
215 246
 RTN
216 247
 
... ...
@@ -240,7 +271,6 @@ RTN
240 271
 			( get x,y ) SWP2 OVR STH SWP2 OVR STHr DUP2 
241 272
 			,get-char JSR2 
242 273
 			,run-char JSR2 
243
-			$next-char
244 274
 			( incr )    SWP #01 ADD SWP
245 275
 			DUP2 LTH ^$hor JNZ
246 276
 		POP2
... ...
@@ -260,8 +290,8 @@ RTN
260 290
 		$hor
261 291
 			( pos-x )   OVR #00 SWP #0008 MUL2 =Sprite.x 
262 292
 			( get x,y ) SWP2 OVR STH SWP2 OVR STHr 
263
-			( sprite )  DUP2 ,get-char-sprite JSR2 =Sprite.addr
264
-			( draw )    ,is-selected JSR2 #08 MUL #01 ADD =Sprite.color
293
+			( sprite )  DUP2 ,get-char-sprite-grid JSR2 =Sprite.addr
294
+			( draw )    ,is-selected JSR2 #0d MUL #01 ADD =Sprite.color
265 295
 			( incr )    SWP #01 ADD SWP
266 296
 			DUP2 LTH ^$hor JNZ
267 297
 		POP2