File: hull_weapon_explode.cpp

package info (click to toggle)
rafkill 1.2.2-3.3
  • links: PTS
  • area: main
  • in suites: wheezy
  • size: 13,268 kB
  • sloc: cpp: 13,508; makefile: 64; sh: 14
file content (67 lines) | stat: -rw-r--r-- 1,489 bytes parent folder | download | duplicates (12)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#include "hull.h"
#include "hull_weapon_explode.h"
#include "bitmap.h"
#include "ebox.h"
#include "section.h"

Explode_WHull::Explode_WHull( int str, ECollide ** _collide_list, int _max_list ):
HullObject( NULL, 1, str, 0, 0, 20, false, NULL ),
size( 3 ),
use( 0 ) {

	collide_list = _collide_list;
	max_list = _max_list;
	collide = collide_list[use];

}

void Explode_WHull::Draw( const Bitmap & who, int x, int y ) {

	Bitmap::drawingMode( Bitmap::MODE_TRANS );

	int color = Bitmap::makeColor(150+size<255 ? 150+size : 255, size*((int)strength/2)<255?size*((int)strength/2):255, size*(int)strength/3<255?size*(int)strength/3:255 );

	who.circleFill( x, y, size, color );
	
	Bitmap::drawingMode( Bitmap::MODE_SOLID );
}


/*
void Explode_WHull::addSection( SpaceObject * who, Section * onscreen, int x, int y ){

	int y1 = y;
	int y2 = y;
	if ( collide ) {
		//y1 = collide->CY1( collide->ul_y + y );
		//y2 = collide->CY1( collide->lr_y + y );
		y1 = collide->upperY( y );
		y2 = collide->lowerY( y );
	}

onscreen->add( who, x, y1 );
for ( int q = y1+onscreen->spacer(); q <= y2; q += onscreen->spacer() )
onscreen->add( who, x, q );

}
*/

void Explode_WHull::Moved( double _dx, double _dy, double _ax, double _ay ) {

	if ( use < max_list ) {
		collide = collide_list[ use++ ];
		size += 6;
	}
	if ( use >= max_list ) life = -1;

}


Explode_WHull::~Explode_WHull() {

	collide = NULL;
	//for ( int q = 0; q < max_list; q++ )
	//	delete collide_list[q];
	//delete[] collide_list;

}