~rabbits/noodle

473211326460d49339fd096473e3c0eb3b7af4fc — neauoire 4 months ago 7691be4
Added about modal draft
4 files changed, 109 insertions(+), 13 deletions(-)

A etc/atari10x10.icn
M src/assets.tal
M src/manifest.tal
M src/noodle.tal
A etc/atari10x10.icn => etc/atari10x10.icn +0 -0
M src/assets.tal => src/assets.tal +19 -1
@@ 64,6 64,24 @@
	80c0 e0f0 f8e0 1000
	2020 20b8 7c7c 3838

@appicon
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 
0000 0000 0000 0000 0000 0000 0000 0001 0003 0408 0808 c830 00c1 2210 1812 1410 
00f8 0404 0407 0404 0000 0000 f008 0402 0000 0000 0000 0000 0000 0000 0000 0000 
0000 0000 0000 0001 0202 0202 023c c101 0500 0a12 2040 4080 0fe0 0000 0000 0000 
08e0 1804 0300 0000 0202 0204 0887 1060 0000 0000 0080 4020 0000 0000 0000 0000 
0101 0101 0100 0000 0102 0204 0484 2410 0000 0000 0000 0000 0000 0000 0000 0000 
0000 0000 0010 0000 0808 0402 0201 0101 1010 1010 1038 4402 0000 0000 0000 0000 
0000 0102 0101 0000 4888 0808 0808 8884 0004 0000 0000 0000 0000 0000 0000 030c 
0000 0000 0000 fe01 0000 0000 0001 0101 8281 8181 8202 0418 0000 0000 0000 0000 
0000 0000 0000 0000 847f 0405 0408 0808 0000 0001 8060 1806 3040 8000 0000 0000 
0000 0000 0000 0018 c304 0810 2040 8000 e080 4040 4040 4040 0000 0000 0000 0000 
0000 0000 0000 0000 0804 0403 0000 0000 0910 30d0 1008 0403 e01f 0404 0508 10e0 
e205 0404 38c0 0000 00f3 0c00 0000 0000 8000 0000 0000 0000 0000 0000 0000 0000 
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000

@font ( atari8 )
0000 0000 0000 0000 6060 6060 6000 6000
6666 6600 0000 0000 006c fe6c 6cfe 6c00


@@ 112,7 130,7 @@ c060 3018 0c06 0300 3c0c 0c0c 0c0c 3c00
0000 663c 183c 6600 0000 6666 663e 067c
0000 7e0c 1830 7e00 1c30 3060 3030 1c00
1818 1818 1818 1818 380c 0c06 0c0c 3800
0000 60f2 9e0c 0000 0018 1834 3462 7e00
0000 60f2 9e0c 0000 3c42 9985 8599 423c

( chr )


M src/manifest.tal => src/manifest.tal +4 -4
@@ 352,11 352,11 @@ JMP2r
@scpy ( src* dst* -- ) STH2 &w LDAk STH2kr STA INC2r INC2 LDAk ,&w JCN POP2 #00 STH2r STA JMP2r
@mclr ( src* len* -- ) OVR2 ADD2 SWP2 &l STH2k #00 STH2r STA INC2 GTH2k ,&l JCN POP2 POP2 JMP2r

@print ( short* -- )
@phex ( short* -- )

	SWP ,&byte JSR
	&byte ( byte -- ) DUP #04 SFT ,&char JSR
	&char ( char -- ) #0f AND DUP #09 GTH #27 MUL ADD #30 ADD #18 DEO
	SWP ,&b JSR
	&b ( byte -- ) DUP #04 SFT ,&c JSR
	&c ( char -- ) #0f AND DUP #09 GTH #27 MUL ADD #30 ADD #18 DEO

JMP2r


M src/noodle.tal => src/noodle.tal +86 -8
@@ 67,9 67,16 @@

BRK

@info
	( name ) "Noodle $1
	( license ) "Hundred 20 "Rabbits 20 7f 20 "2022 $1
	( version ) "Version 20 "0.99 $1
	$1

@manifest

	05 "Noodle $1
	06 "Noodle $1
		00 00 :about/toggle "About $1
		01 "n :file-new "New $1
		01 "r :trap "Rename $1
		01 "o :file-open "Open $1


@@ 391,6 398,28 @@ BRK
(
@|helpers )

( TODO: Move to manifest )

@about ( about modal handlers )
&on-mouse ( -> )
	.Mouse/state DEI ,&on-control JCN
	BRK
&on-control ( -> )
	,&hide JSR
BRK
&toggle ( -- )
	[ LIT &active 00 ] ,&hide JCN
	#01 ,&active STR
	;draw-about JSR2
	;&on-mouse .Mouse/vector DEO2
	;&on-control .Controller/vector DEO2
JMP2r
&hide ( -- )
	#00 ,&active STR
	;clear-about JSR2
	;untrap ( .. )
JMP2

@tool-pen ( -- ) #00 ;select-tool JMP2
@tool-brush ( -- ) #01 ;select-tool JMP2
@tool-line ( -- ) #02 ;select-tool JMP2


@@ 927,6 956,46 @@ JMP2

JMP2

@draw-about ( -- )

	( frame )
	.Screen/width DEI2 #01 SFT2 #0080 SUB2 STH2k .Screen/x DEO2
	.Screen/height DEI2 #01 SFT2 #0020 SUB2 STH2k .Screen/y DEO2
	#2008 ;frame1-chr ;draw-frame JSR2
	( fill )
	STH2kr .Screen/y DEO2
	OVR2r STH2r .Screen/x DEO2
	#20 #0371 ;fill-icn ;draw-fill-fast JSR2
	( icon )
	STH2kr .Screen/y DEO2
	OVR2r STH2r .Screen/x DEO2
	#08 #0876 ;appicon ;draw-fill-fast JSR2
	( text )
	STH2r #0008 ADD2 .Screen/y DEO2
	LIT2r 0048 ADD2r
	#01 .Screen/auto DEO
	STH2kr .Screen/x DEO2
	;info
	&w
		;draw-str JSR2
		STH2kr .Screen/x DEO2
		.Screen/y DEI2k #000c ADD2 ROT DEO2
		LDAk ,&w JCN
	POP2
	POP2r

JMP2r

@clear-about ( -- )

	.Screen/width DEI2 #01 SFT2 #0088 SUB2 .Screen/x DEO2
	.Screen/height DEI2 #01 SFT2 #0028 SUB2 .Screen/y DEO2
	#22 #0091 ;draw-fill-fast/blank JSR2
	;redraw-all JSR2
	;draw-menu ( .. )

JMP2

@draw-menu-bg ( -- )

	#0000 DUP2 .Screen/x DEO2 .Screen/y DEO2


@@ 1122,13 1191,7 @@ JMP2r
	( fill )
	.panel/x LDZ2 #0004 ADD2 .Screen/x DEO2
	.panel/y LDZ2 #0004 ADD2 .Screen/y DEO2
	#12 .Screen/auto DEO
	;fill-icn .Screen/addr DEO2
	#1000
	&l
		#03 .Screen/sprite DEO
		INC GTHk ,&l JCN
	POP2
	#10 #03 #12 ;fill-icn ;draw-fill-fast JSR2

	( tools )
	,draw-toolpane JSR


@@ 1205,6 1268,21 @@ JMP

JMP2r

@draw-fill-fast ( width color auto addr* -- )

	.Screen/addr DEO2
	&blank
	.Screen/auto DEO
	STH
	#00
	&l2
		STHkr .Screen/sprite DEO
		INC GTHk ,&l2 JCN
	POP2
	POPr

JMP2r

@draw-filestate ( -- )

	#01 .Screen/auto DEO