~rabbits/left

741cc8c41729510aedd9e6d6d9230a0de9961be3 — neauoire 4 months ago 502ba82
Added special rune icons
2 files changed, 65 insertions(+), 25 deletions(-)

M src/assets.tal
M src/left.tal
M src/assets.tal => src/assets.tal +20 -0
@@ 19,6 19,26 @@
	0000 0000 00ff 0000 
	0000 0000 0000 0000 
	0000 0000 00ff 0000
@litabs-icn
	0000 0000 1008 7c02
	7c08 1000 0000 0000
	0000 0000 0000 0000
	0000 0000 0000 0000
@litrel-icn
	0000 0000 1008 04fe
	0408 1000 0000 0000
	0000 0000 0000 0000
	0000 0000 0000 0000
@rawabs-icn
	0000 0000 fe82 82fe
	8282 fe00 0000 0000
	0000 0000 0000 0000
	0000 0000 0000 0000
@litzpa-icn
	0000 0000 1028 4492
	4428 1000 0000 0000
	0000 0000 0000 0000
	0000 0000 0000 0000 

@font
0000 0000 0000 0000 000f 0800 0000 0000

M src/left.tal => src/left.tal +45 -25
@@ 30,9 30,9 @@
|0100

	( theme )
	#f056 .System/r DEO2
	#f0b6 .System/g DEO2
	#f0a6 .System/b DEO2
	#f058 .System/r DEO2
	#f0b8 .System/g DEO2
	#f0a8 .System/b DEO2
	;load-theme JSR2
	( size )
	#02a8 .Screen/width DEO2


@@ 320,7 320,7 @@ BRK
	( a ) LIT2r 0000
	&hor
		LDAk #0a EQU ,&hor-end JCN
		;addr-to-width JSR2 STH2 ADD2r
		;walk-width JSR2 STH2 ADD2r
		LTH2kr STHr ,&hor-end JCN
		INC2 LDAk ,&hor JCN
	&hor-end


@@ 438,7 438,7 @@ JMP2r
	DUP2 ;find-line-start JSR2 INC2
	&loop
		EQU2k ,&end JCN
		,addr-to-width JSR STH2 ADD2r
		,walk-width JSR STH2 ADD2r
		INC2 GTH2k ,&loop JCN
	&end
	POP2 POP2


@@ 446,11 446,17 @@ JMP2r

JMP2r

@addr-to-width ( addr* -- width* )
@walk-width ( addr* -- addr* width* )

	LDAk #00 SWP ;font ADD2 LDA #00 SWP
	LDAk
	[ LIT ". ] EQUk NIP ,&special JCN
	[ LIT ", ] EQUk NIP ,&special JCN
	[ LIT "; ] EQUk NIP ,&special JCN
	[ LIT ": ] EQUk NIP ,&special JCN
	#00 SWP ;font ADD2 LDA #00 SWP

JMP2r
	&special POP #0008 JMP2r

@addr-to-line ( addr* -- line* )



@@ 821,27 827,40 @@ JMP2
@draw-token ( str* -- str* )

	;walk-color JSR2 STH
	;is-ul JSR2 ;draw-ufx/ul STA
	;walk-ul JSR2 ;draw-ufx/ul STA
	&w
		,is-selected JSR STH
		,&is-selected JSR STH
		LDAk STH2kr #09 ROT ROT [ JMP SWP POP ] ;draw-ufx JSR2 POPr
		INC2 LDAk #20 GTH ,&w JCN
	#00 ;draw-ufx/ul STA
	&w2
		,is-selected JSR STH
		,&is-selected JSR STH
		LDAk STH2kr #09 ROT ROT [ JMP SWP POP ] ;draw-ufx JSR2 POPr
		INC2 LDAk #21 LTH ,&w2 JCN
	POPr

JMP2r

@is-selected ( addr* -- addr* bool )
&is-selected ( addr* -- addr* bool )

	DUP2 .selection/from LDZ2 #0001 SUB2 GTH2 STH
	DUP2 .selection/to LDZ2 LTH2 STHr AND

JMP2r

@walk-ul ( addr* -- addr* bool )

	,walk-color/c LDR ,&skip JCN
	LDAk LIT ", EQU ,&pass JCN
	LDAk LIT ": EQU ,&pass JCN
	LDAk LIT "; EQU ,&pass JCN
	LDAk LIT ". EQU ,&pass JCN
	&skip
	#00

JMP2r
	&pass #01 JMP2r

@walk-color ( addr* -- addr* color )

	LDAk LIT ") EQU ,&comment-end JCN


@@ 857,27 876,28 @@ JMP2r
JMP2r
	&comment #01 ,&c STR #03 JMP2r
	&comment-end #00 ,&c STR #03 JMP2r
	&parent #08 JMP2r
	&parent #0c JMP2r
	&label #02 JMP2r
	&include #06 JMP2r
	&string #0f JMP2r

@is-ul ( addr* -- addr* bool )

	;walk-color/c LDA ,&skip JCN
	LDAk LIT ", EQU ,&pass JCN
	LDAk LIT ": EQU ,&pass JCN
	LDAk LIT "; EQU ,&pass JCN
	LDAk LIT ". EQU ,&pass JCN
	&skip
	#00

JMP2r
	&pass #01 JMP2r

@draw-ufx ( char color -- )

	,&color STR

	[ LIT ". ] NEQk NIP  ,&no-litzpa JCN
		POP #08 ;litzpa-icn ,&seg JMP
		&no-litzpa
	[ LIT ", ] NEQk NIP  ,&no-litrel JCN
		POP #08 ;litrel-icn ,&seg JMP
		&no-litrel
	[ LIT "; ] NEQk NIP  ,&no-litabs JCN
		POP #08 ;litabs-icn ,&seg JMP
		&no-litabs
	[ LIT ": ] NEQk NIP  ,&no-rawabs JCN
		POP #08 ;rawabs-icn ,&seg JMP
		&no-rawabs

	DUP #20 SUB #5e GTH ,draw-special JCN

&basic ( char -- )