File: object_flags.h

package info (click to toggle)
freespace2 24.2.0%2Brepack-1
  • links: PTS, VCS
  • area: non-free
  • in suites: forky, sid
  • size: 43,716 kB
  • sloc: cpp: 595,001; ansic: 21,741; python: 1,174; sh: 457; makefile: 248; xml: 181
file content (50 lines) | stat: -rw-r--r-- 2,835 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#ifndef OBJECT_FLAGS_H
#define OBJECT_FLAGS_H

#include "globalincs/flagset.h"

namespace Object {
	FLAG_LIST(Object_Flags) {
		Renders,				// It renders as something ( objtype_render gets called)
		Collides,				// It collides with stuff (objtype_check_impact & objtype_hit gets called)
		Physics,				// It moves with standard physics.
		Should_be_dead,			// this object should be dead, so next time we can, we should delete this object.
		Invulnerable,			// invulnerable
		Protected,				// Don't kill this object, probably mission-critical.
		Player_ship,			// this object under control of some player -- don't do ai stuff on it!!!
		No_shields,				// object has no shield generator system (i.e. no shields)
		Could_be_player,		// for multiplayer -- indicates that it is selectable ingame joiners as their ship
		Was_rendered,			// Set if this object was rendered this frame.  Only gets set if OF_RENDERS set.  Gets cleared or set in obj_render_all().
		Not_in_coll,			// object has not been added to collision list
		Beam_protected,			// don't fire beam weapons at this type of object, probably mission critical.
		Special_warpin,			// Object has special warp-in enabled.
		Docked_already_handled,	// Goober5000 - a docked object that we already moved
		Targetable_as_bomb,
		Flak_protected,			// Goober5000 - protected from flak turrets
		Laser_protected,		// Goober5000 - protected from laser turrets
		Missile_protected,		// Goober5000 - protected from missile turrets
		Immobile,				// Goober5000 - doesn't change position or orientation, no matter what (legacy flag, but not deprecated due to the difficulty of mapping one flag to two for compatibility)
		Dont_change_position,	// Goober5000 - doesn't change position, no matter what
		Dont_change_orientation,	// Goober5000 - doesn't change orientation, no matter what
		Marked,					// Object is marked (Fred).  Can be reused in FreeSpace for anything that won't be used by Fred.
		Temp_marked,			// Temporarily marked (Fred).
		Hidden,					// Object is hidden (not shown in Fred) and can't be manipulated
		Locked_from_editing,	// Object cannot be edited (Fred)
		Collides_with_parent,	// Asteroth - Only used for weapons with 'Can_damage_shooter'
		Attackable_if_no_collide,	// Cyborg - Allows the AI to attack this object, even if no-collide is set (Cue Admiral Ackbar)
		Collision_cache_stale,	// This object has a stale collision cache, and will be recalculated this frame

		NUM_VALUES
	};

	FLAG_LIST(Aiming_Flags){
		Autoaim = 0,           // has autoaim
		Auto_convergence,      // has automatic convergence
		Std_convergence,       // has standard - ie. non-automatic - convergence
		Autoaim_convergence,   // has autoaim with convergence
		Convergence_offset,    // marks that convergence has offset valuem, only used for ships not weapons

		NUM_VALUES};
	}

#endif