Xonotic
oo.qh File Reference
#include "misc.qh"
#include "nil.qh"
#include "static.qh"
+ Include dependency graph for oo.qh:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define _INIT_STATIC(cname)   ACCUMULATE void spawn##cname##_static(cname this)
 
#define _new(class, pure)   __spawn(#class, __FILE__ ":" STR(__LINE__), pure)
 
#define _TRANSMUTE(cname, this, ...)   OVERLOAD_(spawn##cname, this P99_IF_EMPTY(__VA_ARGS__)()(, __VA_ARGS__))
 
#define _vtbl   NULL
 
#define ATTRIB(...)   EVAL_ATTRIB(OVERLOAD_(ATTRIB, __VA_ARGS__))
 
#define ATTRIB_3(cname, name, type)   classfield(cname) .type name
 
#define ATTRIB_4(cname, name, type, val)
 
#define ATTRIB_STRZONE(cname, name, type, val)
 
#define ATTRIBARRAY(cname, name, type, cnt)   classfield(cname) .type name[cnt]
 
#define CLASS(...)   EVAL_CLASS(OVERLOAD__(CLASS, __VA_ARGS__))
 
#define CLASS_1(cname)   CLASS_2(cname, )
 
#define CLASS_2(cname, base)
 
#define classfield(name)
 
#define CONSTRUCT(cname, ...)   OVERLOAD_(spawn##cname, this P99_IF_EMPTY(__VA_ARGS__)()(, __VA_ARGS__))
 
#define CONSTRUCTOR(cname, ...)
 
#define DEBUG_STUFF(cname)
 
#define delete(this)
 
#define delete_fn   builtin_remove
 
#define DESTRUCTOR(cname)
 
#define ENDCLASS(cname)
 
#define entityclass(...)   EVAL_entityclass(OVERLOAD_(entityclass, __VA_ARGS__))
 
#define entityclass_1(name)   entityclass_2(name, Object)
 
#define entityclass_2(name, base)   USING(name, entity)
 
#define EVAL_ATTRIB(...)   __VA_ARGS__
 
#define EVAL_CLASS(...)   __VA_ARGS__
 
#define EVAL_entityclass(...)   __VA_ARGS__
 
#define INIT(cname)   ACCUMULATE cname spawn##cname##_1(cname this)
 
#define is_pure(e)   ((e).pure_data)
 
#define make_impure(e)
 
#define make_pure(e)
 
#define METHOD(cname, name, prototype)
 
#define METHOD_REFERENCE(cname, name)   cname##_##name
 
#define new(class)   _new(class, false)
 entities you care about seeing (.origin works) More...
 
#define NEW(cname, ...)   OVERLOAD_(spawn##cname, new_pure(cname) P99_IF_EMPTY(__VA_ARGS__)()(, __VA_ARGS__))
 
#define new_pure(class)   _new(class, true)
 purely logical entities (.origin doesn't work) More...
 
#define remove(this)   delete(this)
 
#define spawn()   __spawn("entity", __FILE__ ":" STR(__LINE__), false)
 
#define spawn_1(this)
 
#define SPAWN_PURE   0
 
#define spawn_pure()   _spawn()
 
#define spawn_static(this)
 
#define STATIC_ATTRIB(cname, name, type, val)
 
#define STATIC_ATTRIB_STRZONE(cname, name, type, val)
 
#define STATIC_METHOD(cname, name, prototype)   prototype METHOD_REFERENCE(cname, name)
 
#define SUPER(cname)   (cname##_vtbl.vtblbase)
 
#define TRANSMUTE(cname, this, ...)
 
#define VTBL(cname, base)
 

Functions

entity __spawn (string _classname, string _sourceLoc, bool pure)
 
entity _spawn ()
 
 CLASS (Object) Object
 
void clearentity (entity e)
 
ACCUMULATE void ONREMOVE (entity this)
 
void RegisterClasses ()
 
 STATIC_INIT (clearentity)
 
 STATIC_INIT (RegisterClasses)
 
 void (entity this) dtor
 

Variables

entity _clearentity_ent
 
string classname
 
vector origin
 
bool pure_data
 
string sourceLoc
 Location entity was spawned from in source. More...
 
bool transmute
 
entity vtblbase
 
string vtblname
 

Macro Definition Documentation

◆ _INIT_STATIC

#define _INIT_STATIC (   cname)    ACCUMULATE void spawn##cname##_static(cname this)

Definition at line 300 of file oo.qh.

◆ _new

#define _new (   class,
  pure 
)    __spawn(#class, __FILE__ ":" STR(__LINE__), pure)

Definition at line 53 of file oo.qh.

◆ _TRANSMUTE

#define _TRANSMUTE (   cname,
  this,
  ... 
)    OVERLOAD_(spawn##cname, this P99_IF_EMPTY(__VA_ARGS__)()(, __VA_ARGS__))

Definition at line 108 of file oo.qh.

◆ _vtbl

#define _vtbl   NULL

Definition at line 317 of file oo.qh.

◆ ATTRIB

◆ ATTRIB_3

#define ATTRIB_3 (   cname,
  name,
  type 
)    classfield(cname) .type name

Definition at line 221 of file oo.qh.

◆ ATTRIB_4

#define ATTRIB_4 (   cname,
  name,
  type,
  val 
)
Value:
ATTRIB_3(cname, name, type); \
INIT(cname) \
{ \
noref bool strzone; /* Error on strzone() calls. */ \
this.name = val; \
} \
ATTRIB_3(cname, name, type)
#define ATTRIB_3(cname, name, type)
Definition: oo.qh:221

Definition at line 222 of file oo.qh.

◆ ATTRIB_STRZONE

#define ATTRIB_STRZONE (   cname,
  name,
  type,
  val 
)
Value:
classfield(cname).type name; \
INIT(cname) \
{ \
strcpy(this.name, val); \
}
#define classfield(name)
Definition: oo.qh:52

Definition at line 240 of file oo.qh.

◆ ATTRIBARRAY

#define ATTRIBARRAY (   cname,
  name,
  type,
  cnt 
)    classfield(cname) .type name[cnt]

Definition at line 254 of file oo.qh.

◆ CLASS

#define CLASS (   ...)    EVAL_CLASS(OVERLOAD__(CLASS, __VA_ARGS__))

Definition at line 133 of file oo.qh.

◆ CLASS_1

#define CLASS_1 (   cname)    CLASS_2(cname, )

Definition at line 168 of file oo.qh.

◆ CLASS_2

#define CLASS_2 (   cname,
  base 
)
Value:
entityclass(cname, base); \
classfield(cname).bool instanceOf##cname; \
DEBUG_STUFF(cname) \
VTBL(cname, base) \
_INIT_STATIC(cname) \
{ \
if (cname##_vtbl && !this.transmute) \
{ \
copyentity(cname##_vtbl, this); \
return; \
} \
spawn##base##_static(this); \
this.instanceOf##cname = true; \
} \
INIT(cname) \
{ \
/* Only statically initialize the current class, it contains everything it inherits */ \
if (cname##_vtbl.vtblname == this.classname) \
{ \
spawn##cname##_static(this); \
this.transmute = false; \
this.classname = #cname; \
this.vtblname = string_null; \
this.vtblbase = cname##_vtbl; \
} \
spawn##base##_1(this); \
}
#define _vtbl
Definition: oo.qh:317
string string_null
Definition: nil.qh:9
#define entityclass(...)
Definition: oo.qh:47
bool transmute
Definition: oo.qh:101

Definition at line 169 of file oo.qh.

◆ classfield

#define classfield (   name)

Definition at line 52 of file oo.qh.

◆ CONSTRUCT

◆ CONSTRUCTOR

#define CONSTRUCTOR (   cname,
  ... 
)
Value:
cname OVERLOAD(spawn##cname, cname this, __VA_ARGS__) \
{ \
return = this; \
} \
ACCUMULATE cname OVERLOAD(spawn##cname, cname this, __VA_ARGS__)
#define spawn()
Definition: oo.qh:63
#define OVERLOAD(F,...)
Definition: misc.qh:12

Definition at line 201 of file oo.qh.

Referenced by GENERIC_COMMAND(), and XonoticRegisteredSettingsList_getTooltip_cb().

◆ DEBUG_STUFF

#define DEBUG_STUFF (   cname)
Value:
ERASEABLE bool is_##cname(entity e) { return e.instanceOf##cname; } \
ERASEABLE void isnt_##cname(entity e) { eprint(e); }
entity() spawn
#define ERASEABLE
Definition: _all.inc:35

Definition at line 305 of file oo.qh.

◆ delete

#define delete (   this)
Value:
MACRO_BEGIN \
entity _this = (this); \
void(entity) _dtor = _this.dtor; \
ONREMOVE(this); \
if (_dtor) _dtor(_this); else delete_fn(_this); \
/* this = NULL; */ \
MACRO_END
entity() spawn
#define delete_fn
Definition: oo.qh:68

Definition at line 72 of file oo.qh.

◆ delete_fn

#define delete_fn   builtin_remove

Definition at line 68 of file oo.qh.

◆ DESTRUCTOR

#define DESTRUCTOR (   cname)
Value:
STATIC_METHOD(cname, dtorimpl, void(cname this)); \
METHOD(cname, dtor, void(cname this)) \
{ \
METHOD_REFERENCE(cname, dtorimpl)(this); \
this.instanceOf##cname = false; \
entity super = SUPER(cname); \
if (super != cname##_vtbl) super.dtor(this); \
} \
STATIC_METHOD(cname, dtorimpl, void(cname this))
#define _vtbl
Definition: oo.qh:317
#define SUPER(cname)
Definition: oo.qh:219
#define STATIC_METHOD(cname, name, prototype)
Definition: oo.qh:266

Definition at line 208 of file oo.qh.

Referenced by GENERIC_COMMAND().

◆ ENDCLASS

◆ entityclass

#define entityclass (   ...)    EVAL_entityclass(OVERLOAD_(entityclass, __VA_ARGS__))

Definition at line 47 of file oo.qh.

◆ entityclass_1

#define entityclass_1 (   name)    entityclass_2(name, Object)

Definition at line 49 of file oo.qh.

◆ entityclass_2

#define entityclass_2 (   name,
  base 
)    USING(name, entity)

Definition at line 51 of file oo.qh.

◆ EVAL_ATTRIB

#define EVAL_ATTRIB (   ...)    __VA_ARGS__

Definition at line 137 of file oo.qh.

◆ EVAL_CLASS

#define EVAL_CLASS (   ...)    __VA_ARGS__

Definition at line 134 of file oo.qh.

◆ EVAL_entityclass

#define EVAL_entityclass (   ...)    __VA_ARGS__

Definition at line 48 of file oo.qh.

◆ INIT

#define INIT (   cname)    ACCUMULATE cname spawn##cname##_1(cname this)

Definition at line 198 of file oo.qh.

◆ is_pure

#define is_pure (   e)    ((e).pure_data)

Definition at line 10 of file oo.qh.

Referenced by clearentity(), and WarpZoneLib_BadEntity().

◆ make_impure

#define make_impure (   e)
Value:
(e).pure_data = false; \
MACRO_END
#define MACRO_BEGIN
Definition: macro.qh:6
bool pure_data
Definition: oo.qh:9

Definition at line 15 of file oo.qh.

Referenced by clearentity(), Client::Client ::Client(), Draw_ShowNames_All(), GENERIC_COMMAND(), and NET_HANDLE().

◆ make_pure

#define make_pure (   e)
Value:
(e).pure_data = true; \
MACRO_END
#define MACRO_BEGIN
Definition: macro.qh:6
bool pure_data
Definition: oo.qh:9
Deprecated:
use new_pure or NEW(class)

Definition at line 12 of file oo.qh.

Referenced by __spawn(), Draw_ShowNames_All(), Local_Notification_WOVA(), NET_HANDLE(), spawnfunc(), and waypoint_spawn().

◆ METHOD

◆ METHOD_REFERENCE

#define METHOD_REFERENCE (   cname,
  name 
)    cname##_##name

Definition at line 310 of file oo.qh.

◆ new

#define new (   class)    _new(class, false)

entities you care about seeing (.origin works)

Definition at line 60 of file oo.qh.

◆ NEW

#define NEW (   cname,
  ... 
)    OVERLOAD_(spawn##cname, new_pure(cname) P99_IF_EMPTY(__VA_ARGS__)()(, __VA_ARGS__))

Definition at line 105 of file oo.qh.

Referenced by _draw_SetClip(), CallbackChain::CallbackChain_Add(), ClientState_attach(), ctf_Initialize(), Dialog_configureDialog(), Duel::Duel ::m_isForcedSupported(), GENERIC_COMMAND(), Keepaway::Keepaway ::m_isAlwaysSupported(), LL_PUSH(), m_init_delayed(), MainWindow_configureMainWindow(), makeEasing(), makeKeyframe(), makeXonoticAudioSettingsTab(), makeXonoticBigButton(), makeXonoticBigCommandButton_T(), makeXonoticButton_T(), makeXonoticCampaignList(), makeXonoticCharmap(), makeXonoticCheckBoxEx_T(), makeXonoticCheckBoxString(), makeXonoticColorButton(), makeXonoticColorpicker(), makeXonoticColorpickerString(), makeXonoticCommandButton_T(), makeXonoticCreditsList(), makeXonoticCrosshairPicker(), makeXonoticCrosshairPreview(), makeXonoticCvarList(), makeXonoticDecibelsSlider_T(), makeXonoticDemoBrowserTab(), makeXonoticDemoList(), makeXonoticEffectsSettingsTab(), makeXonoticGameCrosshairSettingsTab(), makeXonoticGameHUDSettingsTab(), makeXonoticGameMessageSettingsTab(), makeXonoticGameModelSettingsTab(), makeXonoticGametypeList(), makeXonoticGameViewSettingsTab(), makeXonoticGameWeaponsSettingsTab(), makeXonoticHUDSkinList(), makeXonoticImage(), makeXonoticInputBox_T(), makeXonoticInputSettingsTab(), makeXonoticKeyBinder(), makeXonoticLanguageList(), makeXonoticListBox(), makeXonoticMapList(), makeXonoticMediaTab(), makeXonoticMiscSettingsTab(), makeXonoticMusicPlayerTab(), makeXonoticNexposee(), makeXonoticParticlesSlider(), makeXonoticPicker(), makeXonoticPicmipSlider(), makeXonoticPlayerList(), makeXonoticPlayerModelSelector(), makeXonoticPlayList(), makeXonoticProfileTab(), makeXonoticRadioButton_T(), makeXonoticResolutionSlider(), makeXonoticScoreboardFadeTimeSlider(), makeXonoticScreenshotBrowserTab(), makeXonoticScreenshotImage(), makeXonoticScreenshotList(), makeXonoticServerCreateTab(), makeXonoticServerInfoTab(), makeXonoticServerList(), makeXonoticServerListTab(), makeXonoticServerToSTab(), makeXonoticSkinList(), makeXonoticSlider_T(), makeXonoticSliderCheckBox(), makeXonoticSoundList(), makeXonoticStatsList(), makeXonoticTabController(), makeXonoticTextBox(), makeXonoticTextLabel(), makeXonoticTextSlider_T(), makeXonoticUserSettingsTab(), makeXonoticVideoSettingsTab(), makeXonoticWeaponarenaCheckBox(), makeXonoticWeaponsList(), NET_HANDLE(), PlayerState_attach(), REGISTRY(), STATIC_INIT(), and TEST().

◆ new_pure

◆ remove

#define remove (   this)    delete(this)

Definition at line 320 of file oo.qh.

◆ spawn

#define spawn (   void)    __spawn("entity", __FILE__ ":" STR(__LINE__), false)

Definition at line 63 of file oo.qh.

◆ spawn_1

#define spawn_1 (   this)

Definition at line 316 of file oo.qh.

◆ SPAWN_PURE

#define SPAWN_PURE   0

Definition at line 25 of file oo.qh.

◆ spawn_pure

#define spawn_pure ( )    _spawn()

Definition at line 32 of file oo.qh.

Referenced by __spawn().

◆ spawn_static

#define spawn_static (   this)

Definition at line 315 of file oo.qh.

◆ STATIC_ATTRIB

#define STATIC_ATTRIB (   cname,
  name,
  type,
  val 
)
Value:
type cname##_##name; \
_INIT_STATIC(cname) \
{ \
noref bool strzone; /* Error on strzone() calls. */ \
cname##_##name = val; \
}

Definition at line 231 of file oo.qh.

◆ STATIC_ATTRIB_STRZONE

#define STATIC_ATTRIB_STRZONE (   cname,
  name,
  type,
  val 
)
Value:
type cname##_##name; \
_INIT_STATIC(cname) \
{ \
strcpy(cname##_##name, val); \
}

Definition at line 247 of file oo.qh.

◆ STATIC_METHOD

#define STATIC_METHOD (   cname,
  name,
  prototype 
)    prototype METHOD_REFERENCE(cname, name)

Definition at line 266 of file oo.qh.

◆ SUPER

#define SUPER (   cname)    (cname##_vtbl.vtblbase)

Definition at line 219 of file oo.qh.

Referenced by BorderImage_draw(), BorderImage_recalcPositionWithText(), BorderImage_resizeNotify(), buff_Inferno_CalculateTime(), Button_configureButton(), Button_draw(), Button_resizeNotify(), CheckBox_draw(), CheckBox_toString(), Container_draw(), Container_resizeNotifyLie(), Dialog_keyDown(), Image_draw(), Image_resizeNotify(), InputBox_configureInputBox(), InputBox_resizeNotify(), InputBox_setText(), InputContainer_focusLeave(), InputContainer_keyDown(), InputContainer_mouseDrag(), InputContainer_mouseMove(), InputContainer_mouseRelease(), InputContainer_resizeNotify(), Label_draw(), Label_resizeNotify(), ListBox_draw(), ListBox_resizeNotify(), MainWindow_draw(), MapList_StringFilterBox_keyDown(), ModalController_addItem(), ModalController_draw(), Nexposee_addItem(), Nexposee_draw(), Nexposee_focusEnter(), Nexposee_keyDown(), Nexposee_keyUp(), Nexposee_mouseDrag(), Nexposee_mouseMove(), Nexposee_mouseRelease(), Slider_configureSliderVisuals(), Slider_draw(), Slider_resizeNotify(), TextSlider_setValueFromIdentifier_allowAnim(), XonoticCampaignList_draw(), XonoticCampaignList_keyDown(), XonoticCampaignList_resizeNotify(), XonoticCampaignList_setSelected(), XonoticCharmap_keyDown(), XonoticCharmap_resizeNotify(), XonoticColorButton_draw(), XonoticColorpicker_draw(), XonoticColorpickerString_draw(), XonoticCreditsList_draw(), XonoticCreditsList_keyDown(), XonoticCreditsList_resizeNotify(), XonoticCrosshairPicker_cellSelect(), XonoticCrosshairPicker_configureXonoticCrosshairPicker(), XonoticCrosshairPreview_draw(), XonoticCvarList_keyDown(), XonoticCvarList_mouseRelease(), XonoticCvarList_resizeNotify(), XonoticCvarList_setSelected(), XonoticCvarsDialog_showNotify(), XonoticDemoList_keyDown(), XonoticDemoList_resizeNotify(), XonoticDialog_configureDialog(), XonoticGametypeList_draw(), XonoticGametypeList_keyDown(), XonoticGametypeList_resizeNotify(), XonoticGametypeList_setSelected(), XonoticHUDSkinList_draw(), XonoticHUDSkinList_keyDown(), XonoticHUDSkinList_resizeNotify(), XonoticInputBox_keyDown(), XonoticInputBox_loadCvars(), XonoticInputBox_setText(), XonoticKeyBinder_keyDown(), XonoticKeyBinder_resizeNotify(), XonoticKeyBinder_setSelected(), XonoticLanguageList_keyDown(), XonoticLanguageList_loadCvars(), XonoticLanguageList_resizeNotify(), XonoticLanguageList_setSelected(), XonoticListBox_resizeNotify(), XonoticMapList_draw(), XonoticMapList_keyDown(), XonoticMapList_resizeNotify(), XonoticMutatorsDialog_close(), XonoticMutatorsDialog_showNotify(), XonoticPicker_draw(), XonoticPicmipSlider_draw(), XonoticPlayerList_resizeNotify(), XonoticPlayerModelSelector_resizeNotify(), XonoticPlayList_draw(), XonoticPlayList_keyDown(), XonoticPlayList_mouseDrag(), XonoticPlayList_resizeNotify(), XonoticProfileTab_draw(), XonoticRadioButton_draw(), XonoticRegisteredSettingsList_getTooltip_cb(), XonoticResolutionSlider_draw(), XonoticRootDialog_showNotify(), XonoticScreenshotImage_draw(), XonoticScreenshotImage_resizeNotify(), XonoticScreenshotList_draw(), XonoticScreenshotList_keyDown(), XonoticScreenshotList_resizeNotify(), XonoticScreenshotList_setSelected(), XonoticScreenshotViewerDialog_close(), XonoticScreenshotViewerDialog_keyDown(), XonoticServerList_draw(), XonoticServerList_focusEnter(), XonoticServerList_keyDown(), XonoticServerList_mouseMove(), XonoticServerList_resizeNotify(), XonoticServerList_setSelected(), XonoticSkinList_keyDown(), XonoticSkinList_resizeNotify(), XonoticSlider_setValue(), XonoticSlider_setValue_noAnim(), XonoticSliderCheckBox_draw(), XonoticSoundList_keyDown(), XonoticSoundList_resizeNotify(), XonoticStatsList_keyDown(), XonoticStatsList_resizeNotify(), XonoticTab_showNotify(), XonoticTeamSelectDialog_showNotify(), XonoticTextBox_resizeNotify(), XonoticTextLabel_draw(), XonoticTextSlider_setValue(), XonoticTextSlider_setValue_noAnim(), XonoticWeaponsList_draw(), XonoticWeaponsList_keyDown(), XonoticWeaponsList_mouseDrag(), and XonoticWeaponsList_resizeNotify().

◆ TRANSMUTE

#define TRANSMUTE (   cname,
  this,
  ... 
)
Value:
MACRO_BEGIN \
entity _e = (this); \
if (_e.vtblbase != cname##_vtbl) { \
_e.transmute = true; \
_e.classname = #cname; \
_TRANSMUTE(cname, _e, __VA_ARGS__); \
} \
MACRO_END
#define _vtbl
Definition: oo.qh:317

Definition at line 124 of file oo.qh.

◆ VTBL

#define VTBL (   cname,
  base 
)
Value:
_INIT_STATIC(cname); \
entity cname##_vtbl; \
void cname##_vtbl_init() \
{ \
cname e = new_pure(vtbl); \
spawn##cname##_static(e); \
e.vtblname = #cname; \
/* Top level objects refer to themselves */ \
e.vtblbase = base##_vtbl ? base##_vtbl : e; \
cname##_vtbl = e; \
} \
ACCUMULATE_FUNCTION(RegisterClasses, cname##_vtbl_init)
#define _vtbl
Definition: oo.qh:317
void RegisterClasses()
Definition: oo.qh:280
#define _INIT_STATIC(cname)
Definition: oo.qh:300
#define new_pure(class)
purely logical entities (.origin doesn't work)
Definition: oo.qh:62

Definition at line 286 of file oo.qh.

Function Documentation

◆ __spawn()

entity __spawn ( string  _classname,
string  _sourceLoc,
bool  pure 
)

Definition at line 35 of file oo.qh.

References _spawn(), classname, entity(), make_pure, sourceLoc, and spawn_pure.

36 {
37  entity this = pure ? spawn_pure() : _spawn();
38  this.classname = _classname;
39  this.sourceLoc = _sourceLoc;
40  if (pure) {
41  make_pure(this);
42  }
43  return this;
44 }
entity _spawn()
entity() spawn
string sourceLoc
Location entity was spawned from in source.
Definition: oo.qh:21
string classname
Definition: oo.qh:19
#define spawn_pure()
Definition: oo.qh:32
#define make_pure(e)
Definition: oo.qh:12
+ Here is the call graph for this function:

◆ _spawn()

entity _spawn ( )

Referenced by __spawn().

+ Here is the caller graph for this function:

◆ CLASS()

CLASS ( Object  )

Definition at line 318 of file oo.qh.

Referenced by GENERIC_COMMAND().

319  { builtin_remove(this); }
+ Here is the caller graph for this function:

◆ clearentity()

void clearentity ( entity  e)

Definition at line 85 of file oo.qh.

References copyentity(), is_pure, and make_impure.

Referenced by CSQC_Ent_Update(), and STATIC_INIT().

86 {
87 #ifdef CSQC
88  int n = e.entnum;
89 #endif
90  bool was_pure = is_pure(e);
92  if (!was_pure) make_impure(e);
93 #ifdef CSQC
94  e.entnum = n;
95 #endif
96 }
entity _clearentity_ent
Definition: oo.qh:80
#define make_impure(e)
Definition: oo.qh:15
#define is_pure(e)
Definition: oo.qh:10
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ONREMOVE()

ACCUMULATE void ONREMOVE ( entity  this)

Definition at line 65 of file oo.qh.

65 {}

◆ RegisterClasses()

void RegisterClasses ( )

Definition at line 280 of file oo.qh.

Referenced by STATIC_INIT().

280 {}
+ Here is the caller graph for this function:

◆ STATIC_INIT() [1/2]

STATIC_INIT ( clearentity  )

Definition at line 81 of file oo.qh.

References clearentity(), and new_pure.

82 {
84 }
entity _clearentity_ent
Definition: oo.qh:80
void clearentity(entity e)
Definition: oo.qh:85
#define new_pure(class)
purely logical entities (.origin doesn't work)
Definition: oo.qh:62
+ Here is the call graph for this function:

◆ STATIC_INIT() [2/2]

STATIC_INIT ( RegisterClasses  )

Definition at line 281 of file oo.qh.

References RegisterClasses().

282 {
283  RegisterClasses();
284 }
void RegisterClasses()
Definition: oo.qh:280
+ Here is the call graph for this function:

◆ void()

void ( entity  this)

Variable Documentation

◆ _clearentity_ent

entity _clearentity_ent

Definition at line 80 of file oo.qh.

◆ classname

string classname

Definition at line 19 of file oo.qh.

Referenced by __spawn().

◆ origin

vector origin

Definition at line 7 of file oo.qh.

◆ pure_data

bool pure_data

Definition at line 9 of file oo.qh.

Referenced by reset_map().

◆ sourceLoc

string sourceLoc

Location entity was spawned from in source.

Definition at line 21 of file oo.qh.

Referenced by __spawn(), CSQC_Ent_Update(), and unref().

◆ transmute

bool transmute

Definition at line 101 of file oo.qh.

◆ vtblbase

entity vtblbase

Definition at line 278 of file oo.qh.

◆ vtblname

string vtblname

Definition at line 277 of file oo.qh.