|
FS2_Open
Open source remastering of the Freespace 2 engine
|
#include "cmdline/cmdline.h"#include "debris/debris.h"#include "fireball/fireballs.h"#include "freespace2/freespace.h"#include "gamesnd/gamesnd.h"#include "globalincs/linklist.h"#include "io/timer.h"#include "network/multi.h"#include "network/multimsgs.h"#include "network/multiutil.h"#include "object/objcollide.h"#include "object/objectsnd.h"#include "particle/particle.h"#include "radar/radar.h"#include "radar/radarsetup.h"#include "render/3d.h"#include "ship/ship.h"#include "ship/shipfx.h"#include "species_defs/species_defs.h"#include "weapon/weapon.h"Go to the source code of this file.
Macros | |
| #define | MAX_LIFE 10.0f |
| #define | MIN_RADIUS_FOR_PERSISTANT_DEBRIS 50 |
| #define | DEBRIS_SOUND_DELAY 2000 |
| #define | MAX_HULL_PIECES MAX_DEBRIS_PIECES |
| #define | MAX_DEBRIS_DIST 10000.0f |
| #define | DEBRIS_DISTANCE_CHECK_TIME (10*1000) |
| #define | DEBRIS_INDEX(dp) (dp-Debris) |
| #define | MAX_SPEED_SMALL_DEBRIS 200 |
| #define | MAX_SPEED_BIG_DEBRIS 150 |
| #define | MAX_SPEED_CAPITAL_DEBRIS 100 |
| #define | DEBRIS_ROTVEL_SCALE 5.0f |
Functions | |
| void | debris_init () |
| void | debris_page_in () |
| void | debris_render_DEPRECATED (object *obj) |
| void | debris_clear_expired_flag (debris *db) |
| void | debris_delete (object *obj) |
| void | maybe_delete_debris (debris *db) |
| void | debris_process_post (object *obj, float frame_time) |
| int | debris_find_oldest () |
| void | calc_debris_physics_properties (physics_info *pi, vec3d *min, vec3d *max) |
| object * | debris_create (object *source_obj, int model_num, int submodel_num, vec3d *pos, vec3d *exp_center, int hull_flag, float exp_force) |
| void | debris_hit (object *debris_obj, object *other_obj, vec3d *hitpos, float damage) |
| int | debris_check_collision (object *pdebris, object *other_obj, vec3d *hitpos, collision_info_struct *debris_hit_info) |
| int | debris_get_team (object *objp) |
| void | debris_render (object *obj, draw_list *scene) |
Variables | |
| int | Num_hull_pieces |
| debris | Hull_debris_list |
| debris | Debris [MAX_DEBRIS_PIECES] |
| int | Num_debris_pieces = 0 |
| int | Debris_inited = 0 |
| int | Debris_model = -1 |
| int | Debris_vaporize_model = -1 |
| int | Debris_num_submodels = 0 |
| #define DEBRIS_DISTANCE_CHECK_TIME (10*1000) |
Definition at line 51 of file debris.cpp.
| #define DEBRIS_INDEX | ( | dp | ) | (dp-Debris) |
Definition at line 52 of file debris.cpp.
| #define DEBRIS_ROTVEL_SCALE 5.0f |
Definition at line 448 of file debris.cpp.
| #define DEBRIS_SOUND_DELAY 2000 |
Definition at line 35 of file debris.cpp.
| #define MAX_DEBRIS_DIST 10000.0f |
Definition at line 50 of file debris.cpp.
| #define MAX_HULL_PIECES MAX_DEBRIS_PIECES |
Definition at line 36 of file debris.cpp.
| #define MAX_LIFE 10.0f |
Definition at line 33 of file debris.cpp.
| #define MAX_SPEED_BIG_DEBRIS 150 |
Definition at line 55 of file debris.cpp.
| #define MAX_SPEED_CAPITAL_DEBRIS 100 |
Definition at line 56 of file debris.cpp.
| #define MAX_SPEED_SMALL_DEBRIS 200 |
Definition at line 54 of file debris.cpp.
| #define MIN_RADIUS_FOR_PERSISTANT_DEBRIS 50 |
Definition at line 34 of file debris.cpp.
| void calc_debris_physics_properties | ( | physics_info * | pi, |
| vec3d * | mins, | ||
| vec3d * | maxs | ||
| ) |
Fills in debris physics properties when created, specifically mass and moment of inertia
Definition at line 1075 of file debris.cpp.
| int debris_check_collision | ( | object * | pdebris, |
| object * | other_obj, | ||
| vec3d * | hitpos, | ||
| collision_info_struct * | debris_hit_info | ||
| ) |
See if poor debris object *obj got whacked by evil *other_obj at point *hitpos. NOTE: debris_hit_info pointer NULL for debris:weapon collision, otherwise debris:ship collision.
Definition at line 808 of file debris.cpp.
Removed the DEBRIS_EXPIRE flag, and remove item from Hull_debris_list
Definition at line 208 of file debris.cpp.
| object* debris_create | ( | object * | source_obj, |
| int | model_num, | ||
| int | submodel_num, | ||
| vec3d * | pos, | ||
| vec3d * | exp_center, | ||
| int | hull_flag, | ||
| float | exp_force | ||
| ) |
Create debris from an object
| source_obj | Source object |
| model_num | Model number |
| submodel_num | Sub-model number |
| pos | Position in vector space |
| exp_center | Explosion center in vector space |
| hull_flag | Hull flag settings |
| exp_force | Explosion force, used to assign velocity to pieces. 1.0f assigns velocity like before. 2.0f assigns twice as much to non-inherited part of velocity |
Definition at line 462 of file debris.cpp.
Delete the debris object. This is only ever called via obj_delete(). Do not call directly. Use debris_start_death_roll() if you want to force a debris piece to die.
Definition at line 225 of file debris.cpp.
| int debris_find_oldest | ( | ) |
Locate the oldest hull debris chunk. Search through the Hull_debris_list, which is a list of all the hull debris chunks.
Definition at line 429 of file debris.cpp.
Return the team field for a debris object
Definition at line 1065 of file debris.cpp.
Alas, poor debris_obj got whacked. Fortunately, we know who did it, where and how hard, so we can do something about it.
Definition at line 751 of file debris.cpp.
| void debris_init | ( | ) |
This will get called at the start of each level.
Definition at line 87 of file debris.cpp.
| void debris_page_in | ( | ) |
Page in debris bitmaps at level load
Definition at line 114 of file debris.cpp.
Do various updates to debris: check if time to die, start fireballs Maybe delete debris if it's very far away from player.
| obj | pointer to debris object |
| frame_time | time elapsed since last debris_move() called |
Definition at line 284 of file debris.cpp.
Definition at line 1099 of file debris.cpp.
Render debris
Definition at line 150 of file debris.cpp.
If debris piece *db is far away from all players, make it go away very soon. In single player game, delete if MAX_DEBRIS_DIST from player. In multiplayer game, delete if MAX_DEBRIS_DIST from all players.
Definition at line 250 of file debris.cpp.
| debris Debris[MAX_DEBRIS_PIECES] |
Definition at line 41 of file debris.cpp.
| int Debris_inited = 0 |
Definition at line 44 of file debris.cpp.
| int Debris_model = -1 |
Definition at line 46 of file debris.cpp.
| int Debris_num_submodels = 0 |
Definition at line 48 of file debris.cpp.
| int Debris_vaporize_model = -1 |
Definition at line 47 of file debris.cpp.
| debris Hull_debris_list |
Definition at line 39 of file debris.cpp.
| int Num_debris_pieces = 0 |
Definition at line 43 of file debris.cpp.
| int Num_hull_pieces |
Definition at line 38 of file debris.cpp.