$treeview $search $mathjax
Stratagus  2.2.7
$projectbrief
$projectbrief
$searchbox
-->
         _________ __                 __
        /   _____//  |_____________ _/  |______     ____  __ __  ______
        \_____  \\   __\_  __ \__  \\   __\__  \   / ___\|  |  \/  ___/
        /        \|  |  |  | \// __ \|  |  / __ \_/ /_/  >  |  /\___ \
       /_______  /|__|  |__|  (____  /__| (____  /\___  /|____//____  >
               \/                  \/          \//_____/            \/
    ______________________                           ______________________
                          T H E   W A R   B E G I N S
                   Stratagus - A free fantasy real time strategy game engine

src/include/missile.h File Reference

#include "missileconfig.h"
#include "unitptr.h"
#include "unitsound.h"
#include "vec2i.h"

Go to the source code of this file.


Classes

class  MissileType
 Base structure of missile-types. More...
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  MissileLandMine
class  MissileWhirlwind
class  MissileFlameShield
class  MissileDeathCoil
class  MissileTracer
class  MissileClipToTarget
class  BurningBuildingFrame

missile.h - The missile headerfile.

enum  {
  MissileClassNone, MissileClassPointToPoint, MissileClassPointToPointWithHit, MissileClassPointToPointCycleOnce,
  MissileClassPointToPointBounce, MissileClassStay, MissileClassCycleOnce, MissileClassFire,
  MissileClassHit, MissileClassParabolic, MissileClassLandMine, MissileClassWhirlwind,
  MissileClassFlameShield, MissileClassDeathCoil, MissileClassTracer, MissileClassClipToTarget
}
std::vector
< BurningBuildingFrame * > 
BurningBuildingFrames
bool MissileInitMove (Missile &missile)
bool PointToPointMissile (Missile &missile)
void MissileHandlePierce (Missile &missile, const Vec2i &pos)
void MissileCclRegister ()
 Burning building frames.
void LoadMissileSprites ()
 load all missile sprites
MissileTypeNewMissileTypeSlot (const std::string &ident)
 allocate an empty missile-type slot
MissileTypeMissileTypeByIdent (const std::string &ident)
 Get missile-type by ident.
MissileMakeMissile (const MissileType &mtype, const PixelPos &startPos, const PixelPos &destPos)
 create a missile
MissileMakeLocalMissile (const MissileType &mtype, const PixelPos &startPos, const PixelPos &destPos)
 create a local missile
void FireMissile (CUnit &unit, CUnit *goal, const Vec2i &goalPos)
 fire a missile
void FindAndSortMissiles (const CViewport &vp, std::vector< Missile * > &table)
void MissileActions ()
 handle all missiles
int ViewPointDistanceToMissile (const Missile &missile)
 distance from view point to missile
MissileTypeMissileBurningBuilding (int percent)
 Get the burning building missile based on hp percent.
void SaveMissiles (CFile &file)
 Save missiles.
void InitMissileTypes ()
 Initialize missile-types.
void CleanMissileTypes ()
 Clean missile-types.
void InitMissiles ()
 Initialize missiles.
void CleanMissiles ()
 Clean missiles.

Enumeration Type Documentation

anonymous enum

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

Enumerator:
MissileClassNone 
MissileClassPointToPoint  Missile does nothing.
MissileClassPointToPointWithHit  Missile flies from x,y to x1,y1.
MissileClassPointToPointCycleOnce  Missile flies from x,y to x1,y1 than shows hit animation.
MissileClassPointToPointBounce  Missile flies from x,y to x1,y1 and animates ONCE from start to finish and back.
MissileClassStay  Missile flies from x,y to x1,y1 than bounces three times.
MissileClassCycleOnce  Missile appears at x,y, does it's anim and vanishes.
MissileClassFire  Missile appears at x,y, then cycle through the frames once.
MissileClassHit  Missile doesn't move, than checks the source unit for HP.
MissileClassParabolic  Missile shows the hit points.
MissileClassLandMine  Missile flies from x,y to x1,y1 using a parabolic path.
MissileClassWhirlwind  Missile wait on x,y until a non-air unit comes by, the explodes.
MissileClassFlameShield  Missile appears at x,y, is whirlwind.
MissileClassDeathCoil  Missile surround x,y.
MissileClassTracer  Missile is death coil.
MissileClassClipToTarget  Missile seeks towards to target unit.

Missile remains clipped to target's current goal and plays his animation once


Function Documentation

void CleanMissiles (  ) 

Clean missiles.

Clean up missiles.

void CleanMissileTypes (  ) 

Clean missile-types.

Clean up missile-types.

void FindAndSortMissiles ( const CViewport vp,
std::vector< Missile * > &  table 
)

Sort visible missiles on map for display.

Parameters:
vp Viewport pointer.
table OUT : array of missile to display sorted by DrawLevel.

void FireMissile ( CUnit unit,
CUnit goal,
const Vec2i goalPos 
)

fire a missile

void InitMissiles (  ) 

Initialize missiles.

Initialize missiles.

void InitMissileTypes (  ) 

Initialize missile-types.

Initialize missile-types.

void LoadMissileSprites (  ) 

load all missile sprites

Load the graphics for all missiles types

Missile* MakeLocalMissile ( const MissileType mtype,
const PixelPos startPos,
const PixelPos destPos 
)

create a local missile

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

Parameters:
mtype Type pointer of missile.
startPos Missile start point in pixel.
destPos Missile destination point in pixel.
Returns:
created missile.

Missile* MakeMissile ( const MissileType mtype,
const PixelPos startPos,
const PixelPos destPos 
)

create a missile

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

Parameters:
mtype Type pointer of missile.
startPos Missile start point in pixel.
destPos Missile destination point in pixel.
Returns:
created missile.

void MissileActions (  ) 

handle all missiles

Handle all missile actions.

MissileType* MissileBurningBuilding ( int  percent  ) 

Get the burning building missile based on hp percent.

Get the burning building missile based on hp percent.

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

void MissileCclRegister (  ) 

Burning building frames.

register ccl features

Register CCL features for missile-type.

void MissileHandlePierce ( Missile missile,
const Vec2i pos 
)

bool MissileInitMove ( Missile missile  ) 

Init the move.

Parameters:
missile missile to initialise for movement.
Returns:
true if goal is reached, false else.

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

Get missile-type by ident.

Get Missile type by identifier.

Parameters:
ident Identifier.
Returns:
Missile type pointer.

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

allocate an empty missile-type slot

Allocate an empty missile-type slot.

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

bool PointToPointMissile ( Missile missile  ) 

Handle point to point missile.

Parameters:
missile Missile pointer.
Returns:
true if goal is reached, false else.

void SaveMissiles ( CFile file  ) 

Save missiles.

Save the state missiles to file.

Parameters:
file Output file.

int ViewPointDistanceToMissile ( const Missile missile  ) 

distance from view point to missile

Calculate distance from view-point to missle.

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


Variable Documentation

(C) Copyright 1998-2012 by The Stratagus Project under the GNU General Public License.
All trademarks and copyrights on this page are owned by their respective owners.