 

jumps
.386p
CODE32 SEGMENT PARA PUBLIC USE32
ASSUME cs:CODE32, ds:CODE32

		include	design.mak

		include pmode.inc
		include	timer.ext
		include	rotatem.ext

		EXTRN	stal	:BYTE

		EXTRN	sound	:BYTE
		PUBLIC 	part3

		mode	dw	0
		mama	db	0
		ola	db 	0

make_me_happy	PROC
		lea	esi,stal
		call	generate32env

		mov	zdelta,780
		mov	angleX,0
		mov	angleZ,0
		mov	angleY,-55
		mov	inc_xxx,0
		mov	inc_yyy,0
		mov	inc_zzz,0
		mov	d_x,-50
		mov	d_y,150
		lea	edi,pixels
		mov	adr_pixels,edi
		lea	edi,faces
		mov	adr_faces,edi
		mov	number_p,number_of_points
		mov	number_f,number_of_faces
		call	calc_nor
		;	KOLORY
		mov	ecx,number_of_faces/2
 		mov	edi,adr_colors
	gg:	mov	byte ptr [edi],64
		mov	byte ptr [edi+1],64
		add	edi,2
		loop	gg
		mov	byte ptr [edi],64
 		ret
make_me_happy	ENDP

make_me_happy2	PROC
		mov	zdelta,780
		mov	angleX,30
		mov	angleZ,0
		mov	d_y,150
		mov	angleY,156
		mov	inc_xxx,0
		mov	inc_yyy,0
		mov	inc_zzz,0
		mov	d_x,360
		mov	d_y,150
 		ret
make_me_happy2	ENDP


part3		PROC
		lea	esi,pal2
		call	pal_set


		call	make_me_happy ;tumorrow
		call	reset_ramki
	p‘tla3:	

		cmp	mama,0
		je	@nn2
		cmp	mama,1
		je	@nn1

		jmp	@nnchester

	@nn2:
		mov	eax,ramki		
		add 	d_x,ax
		shl	ax,2
		sub 	zdelta,eax
		cmp	zdelta,150
		jg	@jjj
		mov	zdelta,150
		mov	mama,1
	@jjj:
		jmp	@nnchester

	@nn1:				; obracac w Y dod d_x obrX

		mov	eax,ramki
		mov	ebx,eax	
		shr	ebx,1
		add	d_x,ax
	add	d_x,bx
		shl	eax,1
		add 	zdelta,eax
		cmp	eax,4
		jae	ja1
		mov	eax,1
		jmp	ja2
	ja1:	shr	eax,2
	ja2:
		add	angleX,eax
		add	angleY,eax
		jmp	@nnchester


	@nnchester: ;tu jest udzia’ Chester

		call	reset_ramki
		lea	esi,t’o
		lea	edi,screen
		call	copyEkran
		call	copyPoints
		call	rotatety
		call	_sort
		call	make_lightE
		call	drawFacesVcE
		lea	esi,screen
		call	ekran

	@ggout:
		design2 500,xit2,xit
	xit2:

		cmp	d_x,390
		jge	xit
		jmp	p‘tla3

	xit:
		lea	esi,t’o
		call	ekran
		; teraz ruchy rolnika...
		design	500h,jeb1
	jeb1:	lea	esi,chlop1
		call	jasiu
		design	502h,jeb2
	jeb2:	lea	esi,chlop2
		call	jasiu
		design	504h,jeb3
	jeb3:	lea	esi,chlop3
		call	jasiu
		design	506h,jeb4
	jeb4:	lea	esi,chlop1
		call	jasiu
		lea	esi,t’o
		lea	edi,screen
		call	copyekran
		call	blur
		; teraz drugi rolnik...
		design	510h,je11
	je11:	lea	esi,chlop1
		call	jasiu
		design	512h,je12
	je12:	lea	esi,chlop3
		call	jasiu
		design	514h,je13
	je13:	lea	esi,chlop2
		call	jasiu
		design	516h,je14
	je14:	lea	esi,chlop1
		call	jasiu
LEA ESI,t’o
lea edi,screen
call copyekran
CALL BLUR
@RLP ESI,0A0000H
LEA EDI,t’o
CALL COPYEKRAN
		lea	esi,t’o
		lea	edi,screen
		call	copyekran
		; wlatujemy star-shipem...		

		call	make_me_happy2	;parametry wlotu
		mov	mama,0
		call	reset_ramki
		and	angleY,0ffh

	ddd:
		cmp	mama,0
		je	mama_zero
		cmp	mama,1
		je	mama_jeden
		cmp	mama,2
		je	mama_trzy
		

		jmp	mniam

	mama_trzy:
		mov	eax,ramki
		
		shl	eax,1 ;2		;SHL EAX,2
		sub	d_x,ax
		SHR	EAX,1		;SHr EAX,1
		sub	zdelta,eax
		SHR	EAX,1
		SUB	ANGLEX,EAX

		cmp	zdelta,150
		jge	spoko
		mov	zdelta,150

	spoko:

			CMP	D_X,-125
			JGE	HDH
			MOV	MAMA,3

	HDH:
		jmp	mniam

	mama_jeden:
		mov	eax,ramki
		add	angleY,eax
		add 	zdelta,eax
		cmp	eax,4
		jb	dddd
		shr	eax,2
		jmp	ddd2
	dddd:	mov	eax,1			;172 dla angleY
	ddd2:
sub d_x,ax
		sub	angleX,eax
		cmp	anglex,0
		jge	jui
		mov	angleX,0
	jui:
		cmp	angleY,0ffh+165-15
		jle	jio
		mov	mama,2
	jio:		

		jmp	mniam
	mama_zero:
		mov	eax,ramki
		sub	d_x,ax
		shl	eax,2
		sub	zdelta,eax
		cmp	zdelta,170
		jg	pik1
		mov	zdelta,170
		mov	mama,1
	pik1:
		jmp	mniam


	mniam:

		
		call	reset_ramki
		lea	esi,t’o
		lea	edi,screen
		call	copyEkran
		call	copyPoints
		call	rotatety
		call	_sort
		call	make_lightE
		call	drawFacesVcE
		lea	esi,screen
		call	ekran

		design2	062dh,kwak,ddd

		jmp	ddd

	KWAK:
		lea	esi,t’o
		call	ekran


		ret
part3	ENDP

jasiu:
		push	esi
		lea	esi,t’o
		lea	edi,screen
		call	copyEkran
		lea	edi,screen
		pop	esi
		call	rolnik
		lea	esi,screen
		call	ekran
		ret


			
		include	chlopki\chlop.as3

	pal2:
		include	part3.pal

	include hex.inc

		include objects\trek._3d
		include	revolt.ext



CODE32 ENDS
END


