function cargar_explosiones()
	for i = 1 to 18
			imagen$="gfx\exp1\" + str$(i) + ".bmp"
			img_exp1(i)=50+i
			load image imagen$,50+i,0
			set image colorkey 0,0,0
	next i

	for i = 0 to 200
		explos(i).objeto=cargar_modelo("gfx\exp1\exp1.x")
		scale object explos(i).objeto,150,100,150
		set object transparency explos(i).objeto,2
		set object light explos(i).objeto,0
		ghost object on explos(i).objeto
		hide object explos(i).objeto
	next i
endfunction

function crear_explosion(cx,cz)
	for i = 0 to 200
		if explos(i).activa=0 then exit
	next i
	
	explos(i).cuadro=1
	explos(i).activa=1
	rotate object explos(i).objeto,0,rnd(360),0
	position object explos(i).objeto,cx*16,0,-cz*16
   show object explos(i).objeto
endfunction

function controla_explosiones()
	for i = 0 to 200
		if explos(i).activa=1
			explos(i).cuadro=explos(i).cuadro+(DT#*2)
			
			if explos(i).cuadro>18
				explos(i).activa=0
				hide object explos(i).objeto
			else
				rem point object explos(i).objeto,camera position x(),camera position y(),camera position z()
				texture object explos(i).objeto,img_exp1(int(explos(i).cuadro))
				if explos(i).cuadro<11
					if distancia(explos(i).objeto,jugador(1).objeto)<13
						matar_jugador()
					endif
				endif
			endif

	endif
	
	next i
endfunction
 
 function explotar_cuadro(cx,cz)
	cuadros(cx,cz).objeto=0
 	cuadros(cx,cz).fade=200
 	ghost object on cuadros(cx,cz).objetoR,0
 endfunction
 
 function controla_cuadros()
	rem scroll agua
	scroll object texture mapa.agua1,DT#*0.005,DT#*0.001
	
	rem powerups
	if powerup.objeto>0
		rotate object powerup.objeto,0,object angle y(powerup.objeto)+(4*DT#),0
	
		if distancia(jugador(1).objeto,powerup.objeto)<10
			delete object powerup.objeto
			powerup.objeto=0
			play sound snd_menu
			select powerup.tipo
				case 0: 
					jugador(1).maxbombas=jugador(1).maxbombas+1
				endcase
				
				case 1:
					jugador(1).autobomba=1
				endcase

				case 2:
					jugador(1).powbomba=jugador(1).powbomba+1
					if jugador(1).powbomba>5 then jugador(1).powbomba=5
				endcase	
				
				case 3:
					jugador(1).vel=jugador(1).vel+1
					if jugador(1).vel>9 then jugador(1).vel=9
				endcase
			endselect
		endif
			
	endif
	
	rem GANAR
	if distancia(jugador(1).objeto,mapa.salida)<6 and cuenta_enemigos()=0
		jugando=2
	endif
	
	rem fades	
 	for i = 0 to 12
 		for i2 = 0 to 34
 			if cuadros(i,i2).objeto=0 and cuadros(i,i2).objetoR>0	
				if cuadros(i,i2).fade>5
					cuadros(i,i2).fade=cuadros(i,i2).fade-((cuadros(i,i2).fade/2)*DT#)
					fade object cuadros(i,i2).objetoR,cuadros(i,i2).fade
				else
					delete object cuadros(i,i2).objetoR
					cuadros(i,i2).objetoR=0
				endif
				
 			endif
 		next i2
 	next i
 endfunction
 
