************************************************************************
*                Function: little Object list example		       *
*                          					       *
*                                                                      *
*                Project #:              NATIVE                        *
*                                                                      *
*                Programmer:             Roland Graf                   *
*                Date:                   19.1.98                       *
*					                               *
*                                                                      *
*              COPYRIGHT 1996,1997,1998 Duranik Software               *
*          UNATHORIZED REPRODUCTION, ADAPTATION, DISTRIBUTION,         *
*          PERFORMANCE OR DISPLAY OF THIS COMPUTER PROGRAM OR          *
*        THE ASSOCIATED AUDIOVISUAL WORK IS STRICTLY PROHIBITED.       *
*                            ALL RIGHTS RESERVED.                      *
*                                                                      *
************************************************************************

; activate CLUT of the Walker
	dc.l	198			; X-Pos where CLUT will be activated
	dc.l	0			; not used
	dc.w	COLOR			; MAGIC for activating CLUT
	dc.w	0			; not used
	dc.l	walker+80*96*21		; adress CLUT


; activate the Walker
	dc.l	199			; X-Pos where object became active
	dc.w	0			; Layer offset
	dc.w	TOTAL_ENEMY		; total number of object positions
	dc.w	320			; X-Pos object
	dc.w	132*2+42		; Y-Pos object
	dc.l	walker			; starting adress object graphic data
	dc.w	80			; Object height
	dc.w	96/8			; iwidth
	dc.w	96/8			; dwidth
	dc.b	4			; Flags
	dc.b	0			; Firstpix
	dc.b	0			; object type 
	dc.b	3			; depth
	dc.b	1			; Pitch
	dc.b	0			; Index
	dc.w	0			; Remainder
	dc.b	0			; V-Scale
	dc.b	0			; H-Scale
	dc.l	0			; adress actual scaling list
	dc.l	0			; start adress scaling list
	dc.l	walker_shoot		; start adress shooting list
	dc.l	10			; counter shooting list
	dc.l	walker_anim		; adress actual object graphic list
	dc.l	walker_anim		; start adress object grafic list
	dc.l	walker_kurve		; start adress curve list
	dc.l	0			; Sample
	dc.w	4			; power to destroy object/power of a shoot
	dc.w	200			; points for destroying object/money
	dc.l	explo1_daten		; start adress following object
	dc.w	2			; speed in pics/sec
	dc.w	2			; speed in pics for restart
	dc.l	96			; object width in pixel


; activate a Crawler formation with 10 objects
.i	set	0			; set help variable to 0
	rept	10			; repeat following block 10 times
	
	dc.l	500+.i			; X-Pos where object became active
	dc.w	0			; Layer offset
	dc.w	TOTAL_ENEMY		; total number of object positions
	dc.w	320			; X-Pos object
	dc.w	226+42			; Y-Pos object
	dc.l	crawler			; starting adress object graphic data
	dc.w	30			; Object height
	dc.w	44/4			; iwidth
	dc.w	44/4			; dwidth
	dc.b	4			; Flags
	dc.b	0			; Firstpix
	dc.b	0			; object type 
	dc.b	4			; depth
	dc.b	1			; Pitch
	dc.b	0			; Index
	dc.w	0			; Remainder
	dc.b	0			; V-Scale
	dc.b	0			; H-Scale
	dc.l	0			; adress actual scaling list
	dc.l	0			; start adress scaling list
	dc.l	0			; start adress shooting list
	dc.l	0			; counter shooting list
	dc.l	crawler_anim		; adress actual object graphic list
	dc.l	crawler_anim		; start adress object grafic list
	dc.l	crawler_oben_kurve	; start adress curve list
	dc.l	0			; Sample
	dc.w	0			; power to destroy object/power of a shoot
	dc.w	100			; points for destroying object/money
	dc.l	explo1_daten		; start adress following object
	dc.w	1			; speed in pics/sec
	dc.w	1			; speed in pics for restart
	dc.l	44			; object width in pixel
.i	set	.i+10
	
	endr				; end of the block to repeat

;-------------------------------------------------------------------------
; End of the object list
;-------------------------------------------------------------------------
	dc.l	0			; marks the end of the object list



;-------------------------------------------------------------------------
; shoot list
;-------------------------------------------------------------------------
	.phrase				; keeps the GPU happy
; Walker
walker_shoot:
	rept	5
	dc.l	gegners1_daten,20
	endr
	dc.l	0,0			; marks the end of the shoot list


;-------------------------------------------------------------------------
; object graphic list
;-------------------------------------------------------------------------
	.phrase				; keeps the GPU happy
; Walker
walker_anim:
.i	set	0
	rept	21
	dc.l	walker+(96*80*.i)		
.i	set	.i+1
	endr
	dc.l	0			; marks the end of the object graphic list


	.phrase				; keeps the GPU happy
; Crawler
crawler_anim:
.i	set	0
	rept	10
	dc.l	crawler+(44*30*2*.i)
.i	set	.i+1
	endr
	dc.l	0			; marks the end of the object graphic list


;-------------------------------------------------------------------------
; scaling list
;-------------------------------------------------------------------------
	.phrase


;-------------------------------------------------------------------------
; curve list
;-------------------------------------------------------------------------
	.phrase				; keeps the GPU happy
; Walker
walker_kurve:
	rept	200
	dc.w	-2, 0
	endr
	dc.w	KURVE_ENDE		; marks the end of the curve list

	.phrase				; keeps the GPU happy
; Crawler
crawler_oben_kurve:
	dC.W   -4,   0
	DC.W   -4,   0
	DC.W   -4,   0
	DC.W   -4,   0
	DC.W   -4,   0
	DC.W   -4,   0
	DC.W   -4,  -6
	DC.W   -4,   0
	DC.W   -4,   0
	DC.W   -4,   0
	DC.W   -4,   0
	DC.W   -4,  -6
	DC.W   -4,   0
	DC.W   -4,  -6
	DC.W   -4,   0
	DC.W   -4,  -6
	DC.W   -4,   0
	DC.W   -4,  -6
	DC.W   -4,   0
	DC.W   -4,   0
	DC.W   -4,  -6
	DC.W   -4,  -4
	DC.W   -4,   0
	DC.W   -4,   0
	DC.W   -4,  -6
	DC.W   -4,  -6
	DC.W   -4,  -6
	DC.W   -4,  -6
	DC.W   -4,  -6
	DC.W   -4,  -6
	DC.W   -4,  -6
	DC.W   -4,  -6
	DC.W   -4,   0
	DC.W   -4,  -6
	DC.W   -4,  -6
	DC.W   -4,   0
	DC.W   -4,  -6
	DC.W   -4,  -6
	DC.W   -4,   0
	DC.W   -4,  -6
	DC.W   -4,   0
	DC.W   -4,  -6
	DC.W   -4,   0
	DC.W   -4,  -6
	DC.W   -4,  -6
	DC.W   -4,  -6
	DC.W   -4,  -6
	DC.W   -4,  -6
	DC.W   -4,  -6
	DC.W   -4,   0
	DC.W   -4,  -6
	DC.W   -4,  -6
	DC.W   -4,  -6
	DC.W   -4,   0
	DC.W   -4,  -6
	DC.W   -4,  -6
	DC.W   -4,  -6
	DC.W   -4,  -6
	DC.W   -4,   0
	DC.W   -4,   0
	DC.W   -4,   0
	DC.W   -4,   0
	DC.W   -4,   0
	DC.W   -4,   0
	DC.W   -4,   0
	DC.W   -4,  -6
	DC.W   -4,   0
	DC.W   -4,   0
	DC.W   -4,   0
	DC.W   -4,  -6
	DC.W   -4,   0
	DC.W   -4,   0
	DC.W   -4,   0
	DC.W   -4,   0
	DC.W   -4,   0
	DC.W   -4,   0
	DC.W   -4,   0
	DC.W   -4,   0
	DC.W   -4,   0
	DC.W   -4,   0
	DC.W   -4,   0
	DC.W   -4,   0
	DC.W   -4,   0
	DC.W   -4,   0
	DC.W   -4,   0
	DC.W   -4,   6
	DC.W   -4,   0
	DC.W   -4,   0
	DC.W   -4,   0
	DC.W   -4,   0
	DC.W   -4,   0
	DC.W   -4,   6
	DC.W   -4,   6
	DC.W   -4,   6
	DC.W   -4,   0
	DC.W   -4,   0
	DC.W   -4,   6
	DC.W   -4,   0
	DC.W   -4,   6
	DC.W   -4,   6
	DC.W   -4,   6
	DC.W   -4,   6
	DC.W   -4,   6
	DC.W   -4,   6
	DC.W   -4,   6
	DC.W   -4,   6
	DC.W   -4,   6
	DC.W   -4,   6
	DC.W   -4,   6
	DC.W   -4,   6
	DC.W   -4,   6
	DC.W   -4,   6
	DC.W   -4,   6
	DC.W   -4,   0
	DC.W   -4,   6
	DC.W   -4,   6
	DC.W   -4,   6
	DC.W   -4,   0
	DC.W   -4,   6
	DC.W   -4,   0
	DC.W   -4,   6
	DC.W   -4,   6
	DC.W   -4,   6
	DC.W   -4,   0
	DC.W   -4,   6
	DC.W   -4,   6
	DC.W   -4,   6
	DC.W   -4,   6
	DC.W   -4,   0
	DC.W   -4,   6
	DC.W   -4,   0
	DC.W   -4,   6
	DC.W   -4,   6
	DC.W   -4,   6
	DC.W   -4,   0
	DC.W   -4,   0
	DC.W   -4,   6
	DC.W   -4,   0
	DC.W   -4,   6
	DC.W   -4,   0
	DC.W   -4,   6
	DC.W   -4,   0
	DC.W   -4,   6
	DC.W   -4,   0
	DC.W   -4,   0
	DC.W   -4,   6
	DC.W   -4,   0
	DC.W   -4,   6
	DC.W   -4,   0
	DC.W   -4,   0
	DC.W   -4,   6
	DC.W   -4,   0
	DC.W   -4,   0
	DC.W   -4,   6
	DC.W   -4,   0
	DC.W   -4,   6
	DC.W   -4,   0
	DC.W   -4,   0
	DC.W   -4,   0
	DC.W   -4,   0
	DC.W   -4,   6
	DC.W   -4,   0
	DC.W   -4,   0
	DC.W   -4,   0
	DC.W   -4,   0
	DC.W   -4,   0
	DC.W   -4,   0
	DC.W   -4,   0
	DC.W   -4,   6
	DC.W   -4,   0
	DC.W   -4,   0
	DC.W   -4,   0
	DC.W   -4,   0
	DC.W   -4,   0
	DC.W   -4,   0
	DC.W   -4,  -6
	DC.W   -4,   0
	DC.W   -4,   0
	DC.W   -4,   0
	DC.W   -4,   0
	DC.W   -4,   0
	DC.W   -4,   0
	DC.W   -4,   0
	DC.W   -4,  -6
	dc.w	KURVE_ENDE		; marks the end of the curve list
