~rabbits/adelie

8b16b64ee4c83dcd5385a61f3c0be308a9ab99cb — Devine Lu Linvega 6 days ago d59bcfb
Added auto pos
3 files changed, 29 insertions(+), 19 deletions(-)

M slides
M src/adelie.tal
M src/tga.tal
M slides => slides +4 -5
@@ 35,15 35,14 @@ WAIT 08

NAME Introduction
FILL 03
GOTO 18,08
GOTO auto
MODE 0c
PICT etc/adelie0.tga
GOTO 04,08
GOTO 04,0d
HEAD Adelie
MOVE 02,07
MOVE 04,07
TEXT A little plain-text slideshow`Click to go to the next slide.


( slide 2 )

NAME Drawing Keywords


@@ 193,7 192,7 @@ HEAD Blending Modes
MOVE 02,07
TEXT The color blending options are as follow:
GOTO 2a,17
    ; blending table
; blending table
MODE 00
HEAD 00
MOVE 07,00

M src/adelie.tal => src/adelie.tal +20 -14
@@ 9,15 9,10 @@

|0000

@src $40

@cursor
	&x $2
	&y $2

@pen
	&x $2
	&y $2
	@src $40
	@cursor &x $2 &y $2
	@pen &x $2 &y $2 &auto $1
	@center &x $2 &y $2

@slideshow
	&stop $1


@@ 45,6 40,9 @@
	( size )
	#0300 .Screen/width DEO2 ( 768 )
	#01c0 .Screen/height DEO2 ( 448 )
	( center )
	.Screen/width DEI2 #01 SFT2 .center/x STZ2
	.Screen/height DEI2 #01 SFT2 .center/y STZ2

	load-theme



@@ 157,8 155,7 @@ BRK
BRK

(

@operations )
@|operations )

@restart ( -- )



@@ 390,29 387,38 @@ JMP2r
@op-pict ( addr* -- addr* )

	#0005 ADD2

	.pen/x LDZ2 .Screen/x DEO2
	.pen/y LDZ2 .Screen/y DEO2

	DUP2 scap #0004 SUB2 ;&tga-ext scmp ?&tga

	DUP2 ;draw-icn ( .. )

JMP2
	&tga DUP2 ;draw-tga JMP2
	&tga DUP2 !draw-tga
	&tga-ext ".tga $1

@op-goto ( addr* -- addr* )

	#00 .pen/auto STZ

	#0005 ADD2

	( set auto )
	DUP2 ;&auto-txt scmp #00 EQU ?&no-auto
		#01 .pen/auto STZ JMP2r
		&no-auto

	DUP2 shex #00 SWP #30 SFT2 .pen/x STZ2
	#0003 ADD2
	DUP2 shex #00 SWP #30 SFT2 .pen/y STZ2

JMP2r
	&auto-txt "auto $1

@op-move ( addr* -- addr* )

	#00 .pen/auto STZ

	#0005 ADD2
	DUP2 shex #00 SWP #30 SFT2 .pen/x LDZ2 ADD2 .pen/x STZ2
	#0003 ADD2

M src/tga.tal => src/tga.tal +5 -0
@@ 19,6 19,11 @@
	( flip endianness )
	;tga/x STH2k LDA2 SWP STH2r STA2 ;tga/y STH2k LDA2 SWP STH2r STA2
	;tga/w STH2k LDA2 SWP STH2r STA2 ;tga/h STH2k LDA2 SWP STH2r STA2
	( is pos auto )
	.pen/auto LDZ #00 EQU ?&no-auto
		.center/x LDZ2 ;tga/w LDA2 #01 SFT2 SUB2 .Screen/x DEO2
		.center/y LDZ2 ;tga/h LDA2 #01 SFT2 SUB2 .Screen/y DEO2
		&no-auto
	( get parser )
	;tga/image-type LDA
	#02 NEQk NIP ?&no-rawt