~rabbits/nasu

86547755f54f55b2039c8715c96af49decfdb039 — Devine Lu Linvega 8 months ago d3311c6
Use macros for manifest
2 files changed, 23 insertions(+), 25 deletions(-)

M src/manifest.tal
M src/nasu.tal
M src/manifest.tal => src/manifest.tal +14 -8
@@ 28,7 28,7 @@ BRK
	( when sub active )
	;draw-menu/sel LDA #ff EQU ,&no-sub JCN
		( when sel changed )
		.Mouse/y DEI2 #0004 SUB2 ;draw-sub/height LDA #04 SFT SFT2 NIP #01 SUB
		.Mouse/y DEI2 #0004 SUB2 menu-r SFT2 NIP #01 SUB
		DUP ;draw-sub/sel LDA EQU ,&no-change JCN
			DUP ;draw-sub/sel STA
			;draw-menu/sel LDA #ff ;draw-sub JSR2


@@ 237,7 237,7 @@ JMP2r
	#00 ,&id STR
	;manifest/menu
	&cat
		[ LIT2 &theme 0401 ] [ LIT &sel ff ] [ LIT &id $1 ] EQU [ JMP SWP POP ] ;draw-chr/color STA
		menu-sel menu-def [ LIT &sel ff ] [ LIT &id $1 ] EQU [ JMP SWP POP ] ;draw-chr/color STA
		INC2k ;draw-str JSR2 POP2 #00 .Screen/sprite DEO
		;skip-sub JSR2
		,&id LDR INC ,&id STR


@@ 255,9 255,9 @@ JMP2r
	LDAk STH INC2 ;skip-str JSR2
	STHr #00
	&subcat
		STHk [ LIT2 &theme 0804 ] STHr [ LIT &sel ff ] EQU [ JMP SWP POP ] [ LIT &mask $1 ] AND ;draw-chr/color STA
		STHk menu-hov menu-sel STHr [ LIT &sel ff ] EQU [ JMP SWP POP ] [ LIT &mask $1 ] AND ;draw-chr/color STA
		[ LIT2 &anchor $2 ] .Screen/x DEO2
		#00 OVR INC [ LIT &height 30 ] SFT2 #0004 ADD2 .Screen/y DEO2
		#00 OVR INC menu-l SFT2 #0004 ADD2 .Screen/y DEO2
		SWP2 ;draw-label JSR2 SWP2
		INC GTHk ,&subcat JCN
	POP2 POP2


@@ 268,9 268,16 @@ JMP2r

@draw-label ( label* -- next-label* )

	;draw-label-bg JSR2
	.Screen/x DEI2
	.Screen/y DEI2
		.Screen/auto DEI
			#f2 .Screen/auto DEO
			;blank-icn .Screen/addr DEO2
			;draw-chr/color LDA .Screen/sprite menu-label
		.Screen/auto DEO
	.Screen/y DEO2
	( mod )
	.Screen/x DEI2 STH2k #0078 ADD2 .Screen/x DEO2
	STH2k #0078 ADD2 .Screen/x DEO2
	LDA2k ;get-keymod-str JSR2 ;draw-str-right JSR2 POP2
	STH2r .Screen/x DEO2
	#0004 ADD2 ;draw-str JSR2


@@ 317,7 324,7 @@ JMP2r

@draw-str ( str* -- str* )

	[ LIT &auto 01 ] .Screen/auto DEO
	menu-auto .Screen/auto DEO
	&while
		LDAk ;draw-chr JSR2
		INC2 LDAk ,&while JCN


@@ 430,4 437,3 @@ JMP2r
	2020 20b8 7c7c 3838
@blank-icn
	0000 0000 0000 0000


M src/nasu.tal => src/nasu.tal +9 -17
@@ 7,6 7,14 @@
|90 @Mouse &vector $2 &x $2 &y $2 &state $1 &chord $1
|a0 @File &vector $2 &success $2 &stat $2 &delete $1 &append $1 &name $2 &length $2 &read $2 &write $2

%menu-def { #01 }
%menu-sel { #07 }
%menu-hov { #0d }
%menu-auto { #01 }
%menu-label { DEO }
%menu-l { #30 }
%menu-r { #03 }

|0000

@state


@@ 76,8 84,6 @@
	;draw-once JSR2
	( let's begin! )
	;file-new JSR2
	#0701 ;draw-menu/theme STA2
	#0d07 ;draw-sub/theme STA2
	;draw-menu JSR2

BRK


@@ 1058,25 1064,11 @@ JMP2r

@draw-chr ( char -- )

	#20 SUB #00 SWP #30 SFT2 ;font ADD2 &raw .Screen/addr DEO2
	#20 SUB #00 SWP #30 SFT2 ;font ADD2 .Screen/addr DEO2
	[ LIT &color 01 ] .Screen/sprite DEO

JMP2r

@draw-label-bg ( -- )

	.Screen/x DEI2
	.Screen/y DEI2
		.Screen/auto DEI
			#f2 .Screen/auto DEO
			;blank-icn .Screen/addr DEO2
			;draw-chr/color LDA .Screen/sprite DEO
		.Screen/auto DEO
	.Screen/y DEO2
	.Screen/x DEO2

JMP2r

@get-strw ( str* -- width* )

	;slen JSR2 #30 SFT2