$treeview $search $mathjax
Stratagus
2.2.6
$projectbrief
|
$projectbrief
|
$searchbox |
_________ __ __ / _____// |_____________ _/ |______ ____ __ __ ______ \_____ \\ __\_ __ \__ \\ __\__ \ / ___\| | \/ ___/ / \| | | | \// __ \| | / __ \_/ /_/ > | /\___ \ /_______ /|__| |__| (____ /__| (____ /\___ /|____//____ > \/ \/ \//_____/ \/ ______________________ ______________________ T H E W A R B E G I N S Stratagus - A free fantasy real time strategy game engine
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include "stratagus.h"
#include <vector>
#include <string>
#include <map>
#include "video.h"
#include "font.h"
#include "tileset.h"
#include "map.h"
#include "unitsound.h"
#include "unittype.h"
#include "player.h"
#include "unit.h"
#include "missile.h"
#include "sound.h"
#include "ui.h"
#include "iolib.h"
#include "util.h"
#include "trigger.h"
#include "luacallback.h"
Classes | |
struct | LandMineTargetFinder |
missile.cpp - The missiles. | |
static std::vector< MissileType * > | MissileTypes |
static std::vector< Missile * > | GlobalMissiles |
Missile types. | |
static std::vector< Missile * > | LocalMissiles |
all global missiles on map | |
static std::map< std::string, MissileType * > | MissileTypeMap |
all local missiles on map | |
std::vector < BurningBuildingFrame * > | BurningBuildingFrames |
NumberDesc * | Damage |
Burning building frames. | |
void | LoadMissileSprites () |
load all missile sprites | |
MissileType * | MissileTypeByIdent (const std::string &ident) |
Get missile-type by ident. | |
MissileType * | NewMissileTypeSlot (const std::string &ident) |
allocate an empty missile-type slot | |
Missile * | MakeMissile (MissileType *mtype, const PixelPos &startPos, const PixelPos &destPos) |
Missile * | MakeLocalMissile (MissileType *mtype, const PixelPos &startPos, const PixelPos &destPos) |
static void | FreeMissile (std::vector< Missile * > &missiles, std::vector< Missile * >::size_type i) |
static int | CalculateDamageStats (const CUnitStats &attacker_stats, const CUnitStats &goal_stats, int bloodlust) |
static int | CalculateDamage (const CUnit &attacker, const CUnit &goal) |
void | FireMissile (CUnit &unit) |
fire a missile | |
static void | GetMissileMapArea (const Missile *missile, Vec2i &boxMin, Vec2i &boxMax) |
static int | MissileVisibleInViewport (const CViewport *vp, const Missile *missile) |
static bool | MissileDrawLevelCompare (const Missile *const l, const Missile *const r) |
int | FindAndSortMissiles (const CViewport *vp, Missile *table[], const int tablesize) |
int | FindAndSortMissiles (const CViewport *vp, MissileDrawProxy table[], const int tablesize) |
static void | MissileNewHeadingFromXY (Missile &missile, const PixelPos &delta) |
static int | MissileInitMove (Missile &missile) |
static int | PointToPointMissile (Missile &missile) |
static int | ParabolicMissile (Missile &missile) |
static void | MissileHitsGoal (const Missile &missile, CUnit &goal, int splash) |
static void | MissileHitsWall (const Missile &missile, const Vec2i &tilePos, int splash) |
void | MissileHit (Missile *missile) |
static int | NextMissileFrame (Missile &missile, char sign, char longAnimation) |
static void | NextMissileFrameCycle (Missile &missile) |
static void | MissilesActionLoop (std::vector< Missile * > &missiles) |
void | MissileActions () |
handle all missiles | |
int | ViewPointDistanceToMissile (const Missile *missile) |
distance from view point to missile | |
MissileType * | MissileBurningBuilding (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. | |
Defines | |
#define | BoundX(x) std::min<int>(std::max<int>(0, x), Map.Info.MapWidth - 1) |
#define | BoundY(y) std::min<int>(std::max<int>(0, y), Map.Info.MapHeight - 1) |
#define BoundX | ( | x | ) | std::min<int>(std::max<int>(0, x), Map.Info.MapWidth - 1) |
#define BoundY | ( | y | ) | std::min<int>(std::max<int>(0, y), Map.Info.MapHeight - 1) |
Calculate damage.
attacker | Attacker. | |
goal | Goal unit. |
static int CalculateDamageStats | ( | const CUnitStats & | attacker_stats, | |
const CUnitStats & | goal_stats, | |||
int | bloodlust | |||
) | [static] |
Calculate damage.
attacker_stats | Attacker attributes. | |
goal_stats | Goal attributes. | |
bloodlust | If attacker has bloodlust | |
xp | Experience of attacker. |
void CleanMissiles | ( | ) |
Clean missiles.
Clean up missiles.
void CleanMissileTypes | ( | ) |
Clean missile-types.
Clean up missile-types.
int FindAndSortMissiles | ( | const CViewport * | vp, | |
MissileDrawProxy | table[], | |||
const int | tablesize | |||
) |
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 |
void FireMissile | ( | CUnit & | unit | ) |
fire a missile
Fire missile.
unit | Unit that fires the missile. |
Get area of tiles covered by missile
missile | Missile to be checked and set. | |
boxMin | OUT: Pointer to top left corner in map tiles. | |
boxMax | OUT: Pointer to bottom right corner in map tiles. |
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 | ( | MissileType * | mtype, | |
const PixelPos & | startPos, | |||
const PixelPos & | destPos | |||
) |
Missile* MakeMissile | ( | MissileType * | mtype, | |
const PixelPos & | startPos, | |||
const PixelPos & | destPos | |||
) |
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.
percent | HP percent |
void MissileHit | ( | Missile * | missile | ) |
static int MissileInitMove | ( | Missile & | missile | ) | [static] |
Init the move.
missile | missile to initialise for movement. |
static void MissilesActionLoop | ( | std::vector< Missile * > & | missiles | ) | [static] |
Handle all missile actions of global/local missiles.
missiles | Table of missiles. |
MissileType* MissileTypeByIdent | ( | const std::string & | ident | ) |
Check missile visibility in a given viewport.
vp | Viewport to be checked. | |
missile | Missile pointer to check if visible. |
MissileType* NewMissileTypeSlot | ( | const std::string & | ident | ) |
allocate an empty missile-type slot
Allocate an empty missile-type slot.
ident | Identifier to identify the slot. |
static int NextMissileFrame | ( | Missile & | missile, | |
char | sign, | |||
char | longAnimation | |||
) | [static] |
Pass to the next frame for animation.
missile | missile to animate. | |
sign | 1 for next frame, -1 for previous frame. | |
longAnimation | 1 if Frame is conditionned by covered distance, 0 else. |
static void NextMissileFrameCycle | ( | Missile & | missile | ) | [static] |
Pass the next frame of the animation. This animation goes from start to finish ONCE on the way
missile | Missile pointer. |
static int ParabolicMissile | ( | Missile & | missile | ) | [static] |
static int PointToPointMissile | ( | Missile & | missile | ) | [static] |
Handle point to point missile.
missile | Missile pointer. |
void SaveMissiles | ( | CFile * | file | ) |
Save missiles.
Save the state missiles to file.
file | Output file. |
int ViewPointDistanceToMissile | ( | const Missile * | missile | ) |
distance from view point to missile
Calculate distance from view-point to missle.
missile | Missile pointer for distance. |
std::vector<BurningBuildingFrame *> BurningBuildingFrames |
Burning building frames.
std::vector<Missile*> GlobalMissiles [static] |
Missile types.
std::vector<Missile*> LocalMissiles [static] |
all global missiles on map
std::map<std::string, MissileType *> MissileTypeMap [static] |
all local missiles on map
lookup table for missile names
std::vector<MissileType *> MissileTypes [static] |