____                _       __
    / __ )____  _____   | |     / /___ ___________
   / __  / __ \/ ___/   | | /| / / __ `/ ___/ ___/
  / /_/ / /_/ (__  )    | |/ |/ / /_/ / /  (__  )
 /_____/\____/____/     |__/|__/\__,_/_/  /____/

       A futuristic real-time strategy game.
          This file is part of Bos Wars.
(C) Copyright 2001-2007 by the Bos Wars and Stratagus Project. Distributed under the "GNU General Public License"

missile.h File Reference

The missile headerfile. More...

#include <vector>
#include "unitsound.h"

Go to the source code of this file.

Classes

class  MissileType
class  Missile
 < Missile on the map More...
class  MissileNone
class  MissilePointToPoint
class  MissilePointToPointWithHit
class  MissilePointToPointCycleOnce
class  MissilePointToPointBounce
class  MissileStay
class  MissileCycleOnce
class  MissileFire
class  MissileHit
class  MissileParabolic
class  BurningBuildingFrame

Defines

#define MAX_MISSILES   2048
 maximum number of missiles

Typedefs

typedef int MissileClass

Enumerations

enum  _missile_class_ {
  MissileClassNone, MissileClassPointToPoint, MissileClassPointToPointWithHit, MissileClassPointToPointCycleOnce,
  MissileClassPointToPointBounce, MissileClassStay, MissileClassCycleOnce, MissileClassFire,
  MissileClassHit, MissileClassParabolic
}

Functions

void MissileCclRegister (void)
 < register ccl features
void LoadMissileSprites ()
 < load all missile sprites
MissileTypeNewMissileTypeSlot (const std::string &ident)
 Get missile-type by ident.
MissileTypeMissileTypeByIdent (const std::string &ident)
 create a missile
MissileMakeMissile (MissileType *mtype, int sx, int sy, int dx, int dy)
 create a local missile
MissileMakeLocalMissile (MissileType *mtype, int sx, int sy, int dx, int dy)
 fire a missile
void FireMissile (CUnit *unit)
int FindAndSortMissiles (const CViewport *vp, Missile **table, int tablesize)
 handle all missiles
void MissileActions (void)
 distance from view point to missile
int ViewPointDistanceToMissile (const Missile *missile)
 Get the burning building missile based on hp percent.
MissileTypeMissileBurningBuilding (int percent)
 Save missiles.
void SaveMissiles (CFile *file)
 Initialize missile-types.
void InitMissileTypes (void)
 Clean missile-types.
void CleanMissileTypes (void)
 Initialize missiles.
void InitMissiles (void)
 Clean missiles.
void CleanMissiles (void)

Variables

std::vector
< BurningBuildingFrame * > 
BurningBuildingFrames
 Burning building frames.


Detailed Description

The missile headerfile.

Definition in file missile.h.


Define Documentation

#define MAX_MISSILES   2048

maximum number of missiles

Definition at line 332 of file missile.h.

Referenced by CViewport::Draw().


Typedef Documentation

typedef int MissileClass

Missile-type-class typedef

Definition at line 337 of file missile.h.


Enumeration Type Documentation

Missile-class this defines how a missile-type reacts.

Enumerator:
MissileClassNone  Missile does nothing.

Missile flies from x,y to x1,y1

MissileClassPointToPoint  Missile flies from x,y to x1,y1 than shows hit animation.
MissileClassPointToPointWithHit  Missile flies from x,y to x1,y1 and animates ONCE from start to finish and back.
MissileClassPointToPointCycleOnce  Missile flies from x,y to x1,y1 than bounces three times.
MissileClassPointToPointBounce  Missile appears at x,y, does it's anim and vanishes.
MissileClassStay  Missile appears at x,y, then cycle through the frames once.
MissileClassCycleOnce  Missile doesn't move, than checks the source unit for HP.
MissileClassFire  Missile shows the hit points.
MissileClassHit  Missile flies from x,y to x1,y1 using a parabolic path.
MissileClassParabolic 

Definition at line 343 of file missile.h.


Function Documentation

void CleanMissiles ( void   ) 

Clean up missiles.

Definition at line 1179 of file missile.cpp.

References GlobalMissiles, and LocalMissiles.

Referenced by CleanGame(), and CleanModules().

void CleanMissileTypes ( void   ) 

Initialize missiles.

Clean up missile-types.

Definition at line 1160 of file missile.cpp.

References MissileTypeMap, and MissileTypes.

Referenced by CleanModules().

int FindAndSortMissiles ( const CViewport vp,
Missile **  table,
int  tablesize 
)

handle all missiles

Sort visible missiles on map for display.

Parameters:
vp Viewport pointer.
table OUT : array of missile to display sorted by DrawLevel.
tablesize Size of table array
Returns:
number of missiles returned in table

Definition at line 563 of file missile.cpp.

References GlobalMissiles, LocalMissiles, MissileDrawLevelCompare(), and MissileVisibleInViewport().

Referenced by CViewport::Draw().

void FireMissile ( CUnit unit  ) 

void InitMissiles ( void   ) 

Clean missiles.

Initialize missiles.

Definition at line 1172 of file missile.cpp.

Referenced by InitModules().

void InitMissileTypes ( void   ) 

Clean missile-types.

Initialize missile-types.

Definition at line 1128 of file missile.cpp.

References MissileTypes.

Referenced by CreateGame(), and InitModules().

void LoadMissileSprites ( void   ) 

< load all missile sprites

allocate an empty missile-type slot

Load the graphics for all missiles types

Definition at line 104 of file missile.cpp.

References MissileTypes.

Referenced by CreateGame(), and LoadModules().

Missile* MakeLocalMissile ( MissileType mtype,
int  sx,
int  sy,
int  dx,
int  dy 
)

fire a missile

Create a new local missile at (x,y).

Parameters:
mtype Type pointer of missile.
sx Missile x start point in pixel.
sy Missile y start point in pixel.
dx Missile x destination point in pixel.
dy Missile y destination point in pixel.
Returns:
created missile.

Definition at line 245 of file missile.cpp.

References Missile::Init(), Missile::Local, and LocalMissiles.

Referenced by CclMissile(), HitUnit(), UIHandleButtonDown(), and UISelectStateButtonDown().

Missile* MakeMissile ( MissileType mtype,
int  sx,
int  sy,
int  dx,
int  dy 
)

create a local missile

Create a new global missile at (x,y).

Parameters:
mtype Type pointer of missile.
sx Missile x start point in pixel.
sy Missile y start point in pixel.
dx Missile x destination point in pixel.
dy Missile y destination point in pixel.
Returns:
created missile.

Definition at line 225 of file missile.cpp.

References GlobalMissiles, and Missile::Init().

Referenced by SpawnMissile::Cast(), AreaBombardment::Cast(), CclMissile(), FireMissile(), HitUnit(), LetUnitDie(), MissileHit(), ParabolicMissile(), and PointToPointMissile().

void MissileActions ( void   ) 

distance from view point to missile

Handle all missile actions.

Definition at line 1013 of file missile.cpp.

References GlobalMissiles, LocalMissiles, and MissilesActionLoop().

Referenced by GameMainLoop().

MissileType* MissileBurningBuilding ( int  percent  ) 

Save missiles.

Get the burning building missile based on hp percent.

Parameters:
percent HP percent
Returns:
the missile used for burning.

Definition at line 1041 of file missile.cpp.

References BurningBuildingFrames.

Referenced by MissileFire::Action(), and HitUnit().

void MissileCclRegister ( void   ) 

< register ccl features

Register CCL features for missile-type.

Definition at line 370 of file script_missile.cpp.

References CclDefineBurningBuilding(), CclDefineMissileType(), CclMissile(), and Lua.

Referenced by InitCcl().

MissileType* MissileTypeByIdent ( const std::string &  ident  ) 

create a missile

Get Missile type by identifier.

Parameters:
ident Identifier.
Returns:
Missile type pointer.

Definition at line 117 of file missile.cpp.

References MissileTypeMap.

Referenced by CclDefineBurningBuilding(), CclDefineMissileType(), CclMissile(), CclSpellAction(), HitUnit(), MissileType::Init(), LoadUnitTypes(), UIHandleButtonDown(), and UISelectStateButtonDown().

MissileType* NewMissileTypeSlot ( const std::string &  ident  ) 

Get missile-type by ident.

Allocate an empty missile-type slot.

Parameters:
ident Identifier to identify the slot.
Returns:
New allocated (zeroed) missile-type pointer.

Definition at line 129 of file missile.cpp.

References MissileType::MissileType(), MissileTypeMap, and MissileTypes.

Referenced by CclDefineMissileType().

void SaveMissiles ( CFile file  ) 

Initialize missile-types.

Save the state missiles to file.

Parameters:
file Output file.

Definition at line 1092 of file missile.cpp.

References GlobalMissiles, LocalMissiles, and CFile::printf().

Referenced by SaveGame().

int ViewPointDistanceToMissile ( const Missile missile  ) 

Get the burning building missile based on hp percent.

Calculate distance from view-point to missle.

Parameters:
missile Missile pointer for distance.
Returns:
the computed value.

Definition at line 1026 of file missile.cpp.

References MissileType::Height, TileSizeX, TileSizeY, Missile::Type, ViewPointDistance(), MissileType::Width, Missile::X, Missile::Y, and y.

Referenced by PlayMissileSound().


Variable Documentation

Burning building frames.

Definition at line 77 of file missile.cpp.

Referenced by CclDefineBurningBuilding(), and MissileBurningBuilding().


Generated on Sat Feb 21 00:28:17 2009 for Bos Wars by  doxygen 1.5.6