____ _ __
/ __ )____ _____ | | / /___ ___________
/ __ / __ \/ ___/ | | /| / / __ `/ ___/ ___/
/ /_/ / /_/ (__ ) | |/ |/ / /_/ / / (__ )
/_____/\____/____/ |__/|__/\__,_/_/ /____/
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"
#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 | |
| MissileType * | NewMissileTypeSlot (const std::string &ident) |
| Get missile-type by ident. | |
| MissileType * | MissileTypeByIdent (const std::string &ident) |
| create a missile | |
| Missile * | MakeMissile (MissileType *mtype, int sx, int sy, int dx, int dy) |
| create a local missile | |
| Missile * | MakeLocalMissile (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. | |
| MissileType * | MissileBurningBuilding (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. | |
Definition in file missile.h.
| #define MAX_MISSILES 2048 |
maximum number of missiles
Definition at line 332 of file missile.h.
Referenced by CViewport::Draw().
| typedef int MissileClass |
| enum _missile_class_ |
Missile-class this defines how a missile-type reacts.
| 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 |
| 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().
handle all missiles
Sort visible missiles on map for display.
| vp | Viewport pointer. | |
| table | OUT : array of missile to display sorted by DrawLevel. | |
| tablesize | Size of table array |
Definition at line 563 of file missile.cpp.
References GlobalMissiles, LocalMissiles, MissileDrawLevelCompare(), and MissileVisibleInViewport().
Referenced by CViewport::Draw().
| void FireMissile | ( | CUnit * | unit | ) |
Fire missile.
| unit | Unit that fires the missile. |
Definition at line 319 of file missile.cpp.
References _C_, Assert, CalculateDamage(), MissileType::Class, CUnit::Container, DebugPrint, CUnit::Destroyed, HitUnit(), MakeMissile(), MapDistanceBetweenUnits(), CUnitType::MinAttackRange, MissileConfig::Missile, CUnitType::Missile, MissileClassNone, NearestOfUnit(), CUnit::Orders, CUnit::RefsIncrease(), CUnit::Removed, Missile::SourceUnit, Missile::TargetUnit, TileSizeX, TileSizeY, CUnit::Type, UnitActionDie, CUnit::X, CUnit::Y, and y.
Referenced by AnimateActionAttack(), and UnitShowAnimationScaled().
| 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).
| 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. |
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).
| 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. |
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.
| percent | HP percent |
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.
| ident | Identifier. |
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.
| ident | Identifier to identify the slot. |
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.
| 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.
| missile | Missile pointer for distance. |
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().
| std::vector<BurningBuildingFrame *> BurningBuildingFrames |
Burning building frames.
Definition at line 77 of file missile.cpp.
Referenced by CclDefineBurningBuilding(), and MissileBurningBuilding().
1.5.6