Changeset - r11376:624f32288763
[Not reviewed]
master
0 1 0
rubidium - 15 years ago 2009-03-15 21:29:07
rubidium@openttd.org
(svn r15731) -Codechange: unify submarine creation
1 file changed with 11 insertions and 21 deletions:
0 comments (0 inline, 0 general)
src/disaster_cmd.cpp
Show inline comments
 
@@ -875,12 +875,10 @@ static void Disaster_Big_Ufo_Init()
 
}
 

	
 

	
 
/* Curious submarine #1, just floats around */
 
static void Disaster_Small_Submarine_Init()
 
static void Disaster_Submarine_Init(DisasterSubType subtype)
 
{
 
	if (!Vehicle::CanAllocateItem()) return;
 

	
 
	Vehicle *v = new DisasterVehicle();
 
	int y;
 
	Direction dir;
 
	uint32 r = Random();
 
@@ -893,31 +891,23 @@ static void Disaster_Small_Submarine_Ini
 
		y = TILE_SIZE / 2;
 
		dir = DIR_SE;
 
	}
 
	InitializeDisasterVehicle(v, x, y, 0, dir, ST_Small_Submarine);
 

	
 
	Vehicle *v = new DisasterVehicle();
 
	InitializeDisasterVehicle(v, x, y, 0, dir, subtype);
 
	v->age = 0;
 
}
 

	
 
/* Curious submarine #1, just floats around */
 
static void Disaster_Small_Submarine_Init()
 
{
 
	Disaster_Submarine_Init(ST_Small_Submarine);
 
}
 

	
 

	
 
/* Curious submarine #2, just floats around */
 
static void Disaster_Big_Submarine_Init()
 
{
 
	if (!Vehicle::CanAllocateItem()) return;
 

	
 
	Vehicle *v = new DisasterVehicle();
 
	int y;
 
	Direction dir;
 
	uint32 r = Random();
 
	int x = TileX(r) * TILE_SIZE + TILE_SIZE / 2;
 

	
 
	if (HasBit(r, 31)) {
 
		y = MapMaxX() * TILE_SIZE - TILE_SIZE / 2 - 1;
 
		dir = DIR_NW;
 
	} else {
 
		y = TILE_SIZE / 2;
 
		dir = DIR_SE;
 
	}
 
	InitializeDisasterVehicle(v, x, y, 0, dir, ST_Big_Submarine);
 
	v->age = 0;
 
	Disaster_Submarine_Init(ST_Big_Submarine);
 
}
 

	
 

	
0 comments (0 inline, 0 general)