Xonotic QuakeC
The free, fast arena FPS with crisp movement and a wide array of weapons
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)
#define _new(class, pure)
#define _TRANSMUTE(cname, this, ...)
#define _vtbl   NULL
#define ATTRIB(...)
#define ATTRIB_3(cname, name, type)
#define ATTRIB_4(cname, name, type, val)
#define ATTRIB_STRZONE(cname, name, type, val)
#define ATTRIBARRAY(cname, name, type, cnt)
#define CLASS(...)
#define CLASS_1(cname)
#define CLASS_2(cname, base)
#define classfield(name)
#define CONSTRUCT(cname, ...)
#define CONSTRUCTOR(cname, ...)
#define DEBUG_STUFF(cname)
#define delete(this)
#define DESTRUCTOR(cname)
#define ENDCLASS(cname)
#define entityclass(...)
#define entityclass_1(name)
#define entityclass_2(name, base)
#define EVAL_ATTRIB(...)
#define EVAL_CLASS(...)
#define EVAL_entityclass(...)
#define INIT(cname)
#define is_pure(e)
#define make_impure(e)
#define make_pure(e)
 direct use is
#define METHOD(cname, name, prototype)
#define METHOD_REFERENCE(cname, name)
#define NEW(cname, ...)
#define new(class)
 entities you care about collisions with
#define new_pure(class)
 purely logical entities (not linked to the area grid)
#define remove(this)
#define spawn()
#define spawn_1(this)
#define SPAWN_PURE   0
#define spawn_pure()
#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)
#define SUPER(cname)
#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)
void copyentity_qc (entity src, entity dst)
void IL_REMOVE_RAW (entity it)
ACCUMULATE void ONREMOVE (entity this)
void RegisterClasses ()
 STATIC_INIT (clearentity)
 STATIC_INIT (RegisterClasses)
 void (entity this) dtor

Variables

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

Macro Definition Documentation

◆ _INIT_STATIC

#define _INIT_STATIC ( cname)
Value:
ACCUMULATE void spawn##cname##_static(cname this)
#define spawn
#define ACCUMULATE
Definition _all.inc:31

Definition at line 312 of file oo.qh.

◆ _new

#define _new ( class,
pure )
Value:
__spawn(#class, __FILE__ ":" STR(__LINE__), pure)
#define STR(it)
Definition macro.qh:20
entity __spawn(string _classname, string _sourceLoc, bool pure)
Definition oo.qh:40

Definition at line 58 of file oo.qh.

◆ _TRANSMUTE

#define _TRANSMUTE ( cname,
this,
... )
Value:
OVERLOAD_(spawn##cname, this P99_IF_EMPTY(__VA_ARGS__)()(, __VA_ARGS__))
#define OVERLOAD_(F,...)
for use within macros
Definition misc.qh:14
#define P99_IF_EMPTY(...)
Definition p99.qh:31

Definition at line 120 of file oo.qh.

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

◆ _vtbl

#define _vtbl   NULL

Definition at line 329 of file oo.qh.

◆ ATTRIB

#define ATTRIB ( ...)
Value:
#define ATTRIB(...)
Definition oo.qh:148
#define EVAL_ATTRIB(...)
Definition oo.qh:149

Definition at line 148 of file oo.qh.

◆ ATTRIB_3

#define ATTRIB_3 ( cname,
name,
type )
Value:
classfield(cname) .type name
string name
Definition menu.qh:30
#define classfield(name)
Definition oo.qh:57

Definition at line 233 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)
string strzone(string s)
#define ATTRIB_3(cname, name, type)
Definition oo.qh:233

Definition at line 234 of file oo.qh.

234#define ATTRIB_4(cname, name, type, val) \
235 ATTRIB_3(cname, name, type); \
236 INIT(cname) \
237 { \
238 noref bool strzone; /* Error on strzone() calls. */ \
239 this.name = val; \
240 } \
241 ATTRIB_3(cname, name, type)

◆ ATTRIB_STRZONE

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

Definition at line 252 of file oo.qh.

252#define ATTRIB_STRZONE(cname, name, type, val) \
253 classfield(cname).type name; \
254 INIT(cname) \
255 { \
256 strcpy(this.name, val); \
257 }

◆ ATTRIBARRAY

#define ATTRIBARRAY ( cname,
name,
type,
cnt )
Value:
classfield(cname) .type name[cnt]
float cnt
Definition powerups.qc:24

Definition at line 266 of file oo.qh.

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

◆ CLASS

#define CLASS ( ...)
Value:
EVAL_CLASS(OVERLOAD__(CLASS, __VA_ARGS__))
#define OVERLOAD__(F,...)
Definition misc.qh:15
#define CLASS(...)
Definition oo.qh:145
#define EVAL_CLASS(...)
Definition oo.qh:146

Definition at line 145 of file oo.qh.

◆ CLASS_1

#define CLASS_1 ( cname)
Value:
CLASS_2(cname, )
#define CLASS_2(cname, base)
Definition oo.qh:181

Definition at line 180 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_qc(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.vtblbase = cname##_vtbl; \
} \
spawn##base##_1(this); \
}
string classname
string string_null
Definition nil.qh:9
#define entityclass(...)
Definition oo.qh:52
bool transmute
Definition oo.qh:113
#define _vtbl
Definition oo.qh:329
entity vtblbase
Definition oo.qh:290
string vtblname
Definition oo.qh:289

Definition at line 181 of file oo.qh.

181#define CLASS_2(cname, base) \
182 entityclass(cname, base); \
183 classfield(cname).bool instanceOf##cname; \
184 DEBUG_STUFF(cname) \
185 VTBL(cname, base) \
186 _INIT_STATIC(cname) \
187 { \
188 if (cname##_vtbl && !this.transmute) \
189 { \
190 copyentity_qc(cname##_vtbl, this); \
191 return; \
192 } \
193 spawn##base##_static(this); \
194 this.instanceOf##cname = true; \
195 } \
196 INIT(cname) \
197 { \
198 /* Only statically initialize the current class, it contains everything it inherits */ \
199 if (cname##_vtbl.vtblname == this.classname) \
200 { \
201 spawn##cname##_static(this); \
202 this.transmute = false; \
203 this.classname = #cname; \
204 this.vtblname = string_null; \
205 this.vtblbase = cname##_vtbl; \
206 } \
207 spawn##base##_1(this); \
208 }

◆ classfield

#define classfield ( name)

Definition at line 57 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 OVERLOAD(F,...)
Definition misc.qh:12

Definition at line 213 of file oo.qh.

213#define CONSTRUCTOR(cname, ...) \
214 cname OVERLOAD(spawn##cname, cname this, __VA_ARGS__) \
215 { \
216 return = this; \
217 } \
218 ACCUMULATE cname OVERLOAD(spawn##cname, cname this, __VA_ARGS__)

Referenced by Callback::Callback(), CallbackChain::CallbackChain(), ClientState::ClientState(), DebugText3d::DebugText3d(), Lazy::Lazy(), Model::Model(), PlayerState::PlayerState(), Sound::Sound(), Waypoint::Waypoint(), XonoticEntryList::XonoticEntryList(), XonoticTopicList::XonoticTopicList(), CvarStringSource::ATTRIB(), StringSource::ATTRIB(), XonoticRegisteredSettingsList::ATTRIB(), and CallbackChain::CallbackNode::CallbackNode::CallbackNode().

◆ 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); }
var entity(vector mins, vector maxs,.entity tofield) findbox_tofield_OrFallback
#define ERASEABLE
Definition _all.inc:37
void eprint(entity e)

Definition at line 317 of file oo.qh.

317 #define DEBUG_STUFF(cname) \
318 ERASEABLE bool is_##cname(entity e) { return e.instanceOf##cname; } \
319 ERASEABLE void isnt_##cname(entity e) { eprint(e); }

◆ 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; */ \
#define MACRO_END
Definition macro.qh:7
var void delete_fn(entity e)

Definition at line 77 of file oo.qh.

77#define delete(this) MACRO_BEGIN \
78 entity _this = (this); \
79 void(entity) _dtor = _this.dtor; \
80 ONREMOVE(this); \
81 if (_dtor) _dtor(_this); else delete_fn(_this); \
82 /* this = NULL; */ \
83MACRO_END

◆ 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 SUPER(cname)
Definition oo.qh:231
#define STATIC_METHOD(cname, name, prototype)
Definition oo.qh:278

Definition at line 220 of file oo.qh.

220#define DESTRUCTOR(cname) \
221 STATIC_METHOD(cname, dtorimpl, void(cname this)); \
222 METHOD(cname, dtor, void(cname this)) \
223 { \
224 METHOD_REFERENCE(cname, dtorimpl)(this); \
225 this.instanceOf##cname = false; \
226 entity super = SUPER(cname); \
227 if (super != cname##_vtbl) super.dtor(this); \
228 } \
229 STATIC_METHOD(cname, dtorimpl, void(cname this))

◆ ENDCLASS

#define ENDCLASS ( cname)
Value:
INIT(cname) \
{ \
return this; \
}
#define INIT(cname)
Definition oo.qh:210

Definition at line 281 of file oo.qh.

281#define ENDCLASS(cname) \
282 INIT(cname) \
283 { \
284 return this; \
285 }

Referenced by CvarStringSource::ATTRIB(), Dialog::ATTRIB(), LinkedList::ATTRIB(), LinkedListNode::ATTRIB(), MainWindow::ATTRIB(), StringSource::ATTRIB(), Tab::ATTRIB(), XonoticAudioSettingsTab::ATTRIB(), XonoticCampaignList::ATTRIB(), XonoticCheckBox::ATTRIB(), XonoticCreditsDialog::ATTRIB(), XonoticCvarList::ATTRIB(), XonoticDemoList::ATTRIB(), XonoticGameMessageSettingsTab::ATTRIB(), XonoticGameWeaponsSettingsTab::ATTRIB(), XonoticHUDSkinList::ATTRIB(), XonoticMapInfoDialog::ATTRIB(), XonoticMutatorsDialog::ATTRIB(), XonoticRegisteredSettingsList::ATTRIB(), XonoticScreenshotBrowserTab::ATTRIB(), XonoticScreenshotImage::ATTRIB(), XonoticScreenshotViewerDialog::ATTRIB(), XonoticServerCreateTab::ATTRIB(), XonoticServerInfoDialog::ATTRIB(), XonoticServerInfoTab::ATTRIB(), XonoticServerToSTab::ATTRIB(), XonoticSingleplayerDialog::ATTRIB(), XonoticSoundList::ATTRIB(), XonoticTab::ATTRIB(), XonoticUserbindEditDialog::ATTRIB(), XonoticWeaponsList::ATTRIB(), XonoticCrosshairPicker::cellDraw(), XonoticNexposee::close(), XonoticRootDialog::close(), XonoticDialog::configureDialog(), XonoticImage::configureXonoticImage(), XonoticLeaveMatchButton::configureXonoticLeaveMatchButton(), XonoticColorpicker::draw(), XonoticKeyBinder::editUserbind(), XonoticGameSettingsTab::fill(), ListBox::getItemHeight(), XonoticServerList::getItemHeight(), Container::leaveSubitem(), Nexposee::pullNexposee(), XonoticColorButton::saveCvars(), XonoticScoreboardFadeTimeSlider::saveCvars(), XonoticWeaponarenaCheckBox::saveCvars(), XonoticScreenshotList::stopSlideShow(), XonoticDecibelsSlider::valueToText(), and RadioButton::void().

◆ entityclass

#define entityclass ( ...)
Value:
#define EVAL_entityclass(...)
Definition oo.qh:53

Definition at line 52 of file oo.qh.

◆ entityclass_1

#define entityclass_1 ( name)
Value:
#define entityclass_2(name, base)
Definition oo.qh:56

Definition at line 54 of file oo.qh.

◆ entityclass_2

#define entityclass_2 ( name,
base )
Value:
#define USING(name, T)
Definition _all.inc:72

Definition at line 56 of file oo.qh.

◆ EVAL_ATTRIB

#define EVAL_ATTRIB ( ...)
Value:
__VA_ARGS__

Definition at line 149 of file oo.qh.

◆ EVAL_CLASS

#define EVAL_CLASS ( ...)
Value:
__VA_ARGS__

Definition at line 146 of file oo.qh.

◆ EVAL_entityclass

#define EVAL_entityclass ( ...)
Value:
__VA_ARGS__

Definition at line 53 of file oo.qh.

◆ INIT

◆ is_pure

#define is_pure ( e)
Value:
((e).pure_data && (e).solid == SOLID_NOT)
const float SOLID_NOT

Definition at line 16 of file oo.qh.

Referenced by clearentity(), debug_send(), hk_is_valid_target(), NET_HANDLE(), and WarpZoneLib_BadEntity().

◆ make_impure

#define make_impure ( e)
Value:
(e).pure_data = false;
bool pure_data
Definition oo.qh:9

Definition at line 22 of file oo.qh.

22#define make_impure(e) \
23 (e).pure_data = false;

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

◆ make_pure

#define make_pure ( e)
Value:
(e).pure_data = true; \
solid
Definition ent_cs.qc:165

direct use is

Deprecated
use new_pure or NEW(class)

Definition at line 13 of file oo.qh.

13 #define make_pure(e) \
14 (e).pure_data = true; \
15 (e).solid = SOLID_NOT;

Referenced by __spawn(), Draw_ShowNames_All(), NET_HANDLE(), NET_HANDLE(), NET_HANDLE(), NET_HANDLE(), NET_HANDLE(), NET_HANDLE(), NET_HANDLE(), NET_HANDLE(), NET_HANDLE(), NET_HANDLE(), NET_HANDLE(), NET_HANDLE(), NET_HANDLE(), NET_HANDLE(), NET_HANDLE(), NET_HANDLE(), NET_HANDLE(), NET_HANDLE(), and NET_HANDLE().

◆ METHOD

#define METHOD ( cname,
name,
prototype )
Value:
STATIC_METHOD(cname, name, prototype); \
classfield(cname) .prototype name; \
_INIT_STATIC(cname) \
{ \
this.name = METHOD_REFERENCE(cname, name); \
} \
STATIC_METHOD(cname, name, prototype)
#define METHOD_REFERENCE(cname, name)
Definition oo.qh:322

Definition at line 269 of file oo.qh.

269#define METHOD(cname, name, prototype) \
270 STATIC_METHOD(cname, name, prototype); \
271 classfield(cname) .prototype name; \
272 _INIT_STATIC(cname) \
273 { \
274 this.name = METHOD_REFERENCE(cname, name); \
275 } \
276 STATIC_METHOD(cname, name, prototype)

Referenced by InputContainer::_changeFocusXY(), Container::addItem(), ModalController::addItem(), Nexposee::addItem(), Container::addItemCentered(), Container::addItemRightCentered(), Dialog::addItemSimple(), MixedSlider::addRange(), XonoticResolutionSlider::addResolution(), ModalController::addTab(), MixedSlider::addText(), XonoticPlayList::addToPlayList(), TextSlider::addValue(), MixedSlider::adjustDigitsForStep(), CvarStringSource::ATTRIB(), StringSource::ATTRIB(), XonoticGameSettingsTab::ATTRIB(), XonoticRegisteredSettingsList::ATTRIB(), XonoticPicmipSlider::autofix(), Nexposee::calc(), XonoticCampaignList::campaignGo(), XonoticCharmap::cellDraw(), XonoticCrosshairPicker::cellDraw(), XonoticPicker::cellDraw(), XonoticCharmap::cellIsValid(), XonoticCrosshairPicker::cellIsValid(), XonoticPicker::cellIsValid(), XonoticCharmap::cellSelect(), XonoticCrosshairPicker::cellSelect(), XonoticPicker::cellSelect(), MixedSlider::clearValues(), TextSlider::clearValues(), ListBox::clickListBoxItem(), XonoticGametypeList::clickListBoxItem(), XonoticMapList::clickListBoxItem(), XonoticTopicList::clickListBoxItem(), Dialog::close(), Nexposee::close(), XonoticMutatorsDialog::close(), XonoticNexposee::close(), XonoticRootDialog::close(), XonoticScreenshotViewerDialog::close(), BorderImage::configureBorderImage(), Button::configureButton(), CheckBox::configureCheckBox(), Dialog::configureDialog(), XonoticDialog::configureDialog(), Image::configureImage(), InputBox::configureInputBox(), Label::configureLabel(), ListBox::configureListBox(), MainWindow::configureMainWindow(), MixedSlider::configureMixedSliderValues(), RadioButton::configureRadioButton(), Slider::configureSliderValues(), Slider::configureSliderVisuals(), TextSlider::configureTextSliderValues(), XonoticButton::configureXonoticButton(), XonoticCampaignList::configureXonoticCampaignList(), XonoticCharmap::configureXonoticCharmap(), XonoticCheckBox::configureXonoticCheckBox(), XonoticCheckBoxString::configureXonoticCheckBoxString(), XonoticColorButton::configureXonoticColorButton(), XonoticColorpicker::configureXonoticColorpicker(), XonoticColorpickerString::configureXonoticColorpickerString(), XonoticCommandButton::configureXonoticCommandButton(), XonoticCreditsList::configureXonoticCreditsList(), XonoticCrosshairPicker::configureXonoticCrosshairPicker(), XonoticCrosshairPreview::configureXonoticCrosshairPreview(), XonoticCvarList::configureXonoticCvarList(), XonoticDemoList::configureXonoticDemoList(), XonoticGametypeList::configureXonoticGametypeList(), XonoticHUDSkinList::configureXonoticHUDSkinList(), XonoticImage::configureXonoticImage(), XonoticInputBox::configureXonoticInputBox(), XonoticKeyBinder::configureXonoticKeyBinder(), XonoticLanguageList::configureXonoticLanguageList(), XonoticLeaveMatchButton::configureXonoticLeaveMatchButton(), XonoticListBox::configureXonoticListBox(), XonoticMapList::configureXonoticMapList(), XonoticMixedSlider::configureXonoticMixedSlider(), XonoticMixedSlider::configureXonoticMixedSliderValues(), XonoticPicker::configureXonoticPicker(), XonoticPicmipSlider::configureXonoticPicmipSlider(), XonoticPlayList::configureXonoticPlayList(), XonoticRadioButton::configureXonoticRadioButton(), XonoticResolutionSlider::configureXonoticResolutionSlider(), XonoticScoreboardFadeTimeSlider::configureXonoticScoreboardFadeTimeSlider(), XonoticScreenshotImage::configureXonoticScreenshotImage(), XonoticScreenshotList::configureXonoticScreenshotList(), XonoticServerList::configureXonoticServerList(), XonoticSkinList::configureXonoticSkinList(), XonoticSlider::configureXonoticSlider(), XonoticSliderCheckBox::configureXonoticSliderCheckBox(), XonoticSoundList::configureXonoticSoundList(), XonoticStatsList::configureXonoticStatsList(), XonoticTabController::configureXonoticTabController(), XonoticTextSlider::configureXonoticTextSlider(), XonoticTextSlider::configureXonoticTextSliderValues(), XonoticWeaponarenaCheckBox::configureXonoticWeaponarenaCheckBox(), XonoticDemoList::demoName(), GuidePage::describe(), XonoticCampaignList::destroy(), XonoticCreditsList::destroy(), XonoticCvarList::destroy(), XonoticDemoList::destroy(), XonoticGameMenuDialog::destroy(), XonoticHUDSkinList::destroy(), XonoticKeyBinder::destroy(), XonoticLanguageList::destroy(), XonoticMapList::destroy(), XonoticPlayerModelSelector::destroy(), XonoticScreenshotList::destroy(), XonoticSkinList::destroy(), XonoticSoundList::destroy(), XonoticStatsList::destroy(), XonoticTextBox::destroy(), XonoticWelcomeDialog::destroy(), ListBox::doubleClickListBoxItem(), XonoticCampaignList::doubleClickListBoxItem(), XonoticDemoList::doubleClickListBoxItem(), XonoticHUDSkinList::doubleClickListBoxItem(), XonoticKeyBinder::doubleClickListBoxItem(), XonoticLanguageList::doubleClickListBoxItem(), XonoticMapList::doubleClickListBoxItem(), XonoticPlayList::doubleClickListBoxItem(), XonoticScreenshotList::doubleClickListBoxItem(), XonoticServerList::doubleClickListBoxItem(), XonoticSkinList::doubleClickListBoxItem(), XonoticSoundList::doubleClickListBoxItem(), XonoticStatsList::doubleClickListBoxItem(), Image::drag(), Image::drag_setStartPos(), BorderImage::draw(), Button::draw(), CheckBox::draw(), Container::draw(), Image::draw(), InputBox::draw(), Label::draw(), ListBox::draw(), MainWindow::draw(), ModalController::draw(), Nexposee::draw(), Slider::draw(), XonoticCampaignList::draw(), XonoticColorButton::draw(), XonoticColorpicker::draw(), XonoticColorpickerString::draw(), XonoticCreditsList::draw(), XonoticCrosshairPreview::draw(), XonoticGameMenuDialog::draw(), XonoticGametypeList::draw(), XonoticHUDSkinList::draw(), XonoticLeaveMatchButton::draw(), XonoticMapList::draw(), XonoticPicker::draw(), XonoticPicmipSlider::draw(), XonoticPlayerModelSelector::draw(), XonoticPlayList::draw(), XonoticProfileTab::draw(), XonoticRadioButton::draw(), XonoticResolutionSlider::draw(), XonoticScreenshotImage::draw(), XonoticScreenshotList::draw(), XonoticServerList::draw(), XonoticSliderCheckBox::draw(), XonoticTextLabel::draw(), XonoticWeaponsList::draw(), XonoticWelcomeDialog::draw(), ListBox::drawListBoxItem(), XonoticCampaignList::drawListBoxItem(), XonoticCreditsList::drawListBoxItem(), XonoticCvarList::drawListBoxItem(), XonoticDemoList::drawListBoxItem(), XonoticEntryList::drawListBoxItem(), XonoticGametypeList::drawListBoxItem(), XonoticGuideDescription::drawListBoxItem(), XonoticHUDSkinList::drawListBoxItem(), XonoticKeyBinder::drawListBoxItem(), XonoticLanguageList::drawListBoxItem(), XonoticMapList::drawListBoxItem(), XonoticPlayerList::drawListBoxItem(), XonoticPlayList::drawListBoxItem(), XonoticScreenshotList::drawListBoxItem(), XonoticServerList::drawListBoxItem(), XonoticSkinList::drawListBoxItem(), XonoticSoundList::drawListBoxItem(), XonoticStatsList::drawListBoxItem(), XonoticTextBox::drawListBoxItem(), XonoticTopicList::drawListBoxItem(), XonoticWeaponsList::drawListBoxItem(), XonoticKeyBinder::editUserbind(), Container::enterLieSubitem(), Container::enterSubitem(), InputBox::enterText(), XonoticGuideTab::entryChangeNotify(), Dialog::fill(), XonoticAudioSettingsTab::fill(), XonoticBindingsResetDialog::fill(), XonoticCreditsDialog::fill(), XonoticCvarsDialog::fill(), XonoticDamageTextSettings::fill(), XonoticDemoBrowserTab::fill(), XonoticDemoStartConfirmDialog::fill(), XonoticDemoTimeConfirmDialog::fill(), XonoticEffectsSettingsTab::fill(), XonoticFirstRunDialog::fill(), XonoticGameCrosshairSettingsTab::fill(), XonoticGameHUDSettingsTab::fill(), XonoticGameMenuDialog::fill(), XonoticGameMessageSettingsTab::fill(), XonoticGameModelSettingsTab::fill(), XonoticGameSettingsTab::fill(), XonoticGameViewSettingsTab::fill(), XonoticGameWeaponsSettingsTab::fill(), XonoticGuideTab::fill(), XonoticHUDAmmoDialog::fill(), XonoticHUDCenterprintDialog::fill(), XonoticHUDChatDialog::fill(), XonoticHUDCheckpointsDialog::fill(), XonoticHUDConfirmDialog::fill(), XonoticHUDEngineInfoDialog::fill(), XonoticHUDExitDialog::fill(), XonoticHUDHealthArmorDialog::fill(), XonoticHUDInfoMessagesDialog::fill(), XonoticHUDItemsTimeDialog::fill(), XonoticHUDModIconsDialog::fill(), XonoticHUDNotificationDialog::fill(), XonoticHUDPhysicsDialog::fill(), XonoticHUDPickupDialog::fill(), XonoticHUDPowerupsDialog::fill(), XonoticHUDPressedKeysDialog::fill(), XonoticHUDQuickMenuDialog::fill(), XonoticHUDRaceTimerDialog::fill(), XonoticHUDRadarDialog::fill(), XonoticHUDScoreDialog::fill(), XonoticHUDStrafeHUDDialog::fill(), XonoticHUDTimerDialog::fill(), XonoticHUDVoteDialog::fill(), XonoticHUDWeaponsDialog::fill(), XonoticInputSettingsTab::fill(), XonoticLanguageWarningDialog::fill(), XonoticMapInfoDialog::fill(), XonoticMediaDialog::fill(), XonoticMiscSettingsTab::fill(), XonoticMonsterToolsDialog::fill(), XonoticMultiplayerDialog::fill(), XonoticMusicPlayerTab::fill(), XonoticMutatorsDialog::fill(), XonoticProfileTab::fill(), XonoticQuitDialog::fill(), XonoticResetDialog::fill(), XonoticSandboxToolsDialog::fill(), XonoticScreenshotBrowserTab::fill(), XonoticScreenshotViewerDialog::fill(), XonoticServerCreateTab::fill(), XonoticServerInfoDialog::fill(), XonoticServerInfoTab::fill(), XonoticServerListTab::fill(), XonoticServerToSTab::fill(), XonoticSettingsDialog::fill(), XonoticSingleplayerDialog::fill(), XonoticSkinResetDialog::fill(), XonoticTeamSelectDialog::fill(), XonoticToSDialog::fill(), XonoticUid2NameDialog::fill(), XonoticUserbindEditDialog::fill(), XonoticUserSettingsTab::fill(), XonoticVideoSettingsTab::fill(), XonoticWelcomeDialog::fill(), XonoticWinnerDialog::fill(), ListBox::focusedItemChangeNotify(), XonoticGametypeList::focusedItemChangeNotify(), XonoticLanguageList::focusedItemChangeNotify(), XonoticServerList::focusedItemChangeNotify(), Nexposee::focusEnter(), XonoticCreditsDialog::focusEnter(), XonoticServerList::focusEnter(), XonoticWinnerDialog::focusEnter(), Container::focusLeave(), InputContainer::focusLeave(), ListBox::focusLeave(), XonoticCharmap::focusLeave(), XonoticColorpicker::focusLeave(), XonoticInputBox::focusLeave(), XonoticMapList::g_maplistCacheQuery(), XonoticMapList::g_maplistCacheToggle(), XonoticServerCreateTab::gameTypeChangeNotify(), XonoticServerCreateTab::gameTypeSelectNotify(), XonoticDemoList::getDemos(), DataSource::getEntry(), ListBox::getFirstFullyVisibleItemAtScrollPos(), XonoticHUDSkinList::getHUDSkins(), TextSlider::getIdentifier(), ListBox::getItemAtPos(), XonoticScrollPanel::getItemAtPos(), XonoticServerList::getItemAtPos(), ListBox::getItemHeight(), XonoticServerList::getItemHeight(), ListBox::getItemStart(), XonoticServerList::getItemStart(), XonoticLanguageList::getLanguages(), ListBox::getLastFullyVisibleItemAtScrollPos(), MixedSlider::getNumberIdentifier(), XonoticPlayerList::getPlayerList(), XonoticScreenshotList::getScreenshots(), XonoticSkinList::getSkins(), XonoticSoundList::getSounds(), XonoticStatsList::getStats(), XonoticTextBox::getTextBoxLine(), ListBox::getTotalHeight(), XonoticServerList::getTotalHeight(), XonoticPlayerModelSelector::go(), XonoticScreenshotList::goScreenshot(), Dialog::gotoRC(), ModalController::hideAll(), ModalController::hideChild(), Container::hideNotify(), XonoticCvarList::hideNotify(), XonoticHUDSkinList::hudskinAuthor(), XonoticHUDSkinList::hudskinName(), XonoticHUDSkinList::hudskinPath(), XonoticHUDSkinList::hudskinTitle(), ModalController::initializeDialog(), Image::initZoom(), MixedSlider::insertRange(), MixedSlider::insertText(), TextSlider::insertValue(), ListBox::isScrolling(), Container::itemFromPoint(), Button::keyDown(), Container::keyDown(), Dialog::keyDown(), InputBox::keyDown(), InputContainer::keyDown(), ListBox::keyDown(), Nexposee::keyDown(), Slider::keyDown(), XonoticCampaignList::keyDown(), XonoticCharmap::keyDown(), XonoticColorpicker::keyDown(), XonoticCreditsList::keyDown(), XonoticCvarList::keyDown(), XonoticDemoList::keyDown(), XonoticGametypeList::keyDown(), XonoticHUDSkinList::keyDown(), XonoticInputBox::keyDown(), XonoticKeyBinder::keyDown(), XonoticLanguageList::keyDown(), XonoticMapList::keyDown(), XonoticPicker::keyDown(), XonoticPlayList::keyDown(), XonoticScreenshotList::keyDown(), XonoticScreenshotViewerDialog::keyDown(), XonoticServerList::keyDown(), XonoticSkinList::keyDown(), XonoticSoundList::keyDown(), XonoticStatsList::keyDown(), XonoticTopicList::keyDown(), XonoticWeaponsList::keyDown(), XonoticWelcomeDialog::keyDown(), XonoticKeyBinder::keyGrabbed(), Container::keyUp(), Nexposee::keyUp(), Slider::keyUp(), XonoticLanguageList::languageParameter(), Container::leaveSubitem(), XonoticScreenshotImage::load(), XonoticCampaignList::loadCvars(), XonoticCheckBox::loadCvars(), XonoticCheckBoxString::loadCvars(), XonoticColorButton::loadCvars(), XonoticColorpickerString::loadCvars(), XonoticDecibelsSlider::loadCvars(), XonoticGametypeList::loadCvars(), XonoticInputBox::loadCvars(), XonoticLanguageList::loadCvars(), XonoticMapList::loadCvars(), XonoticMixedSlider::loadCvars(), XonoticPlayerModelSelector::loadCvars(), XonoticRadioButton::loadCvars(), XonoticResolutionSlider::loadCvars(), XonoticScoreboardFadeTimeSlider::loadCvars(), XonoticSkinList::loadCvars(), XonoticSlider::loadCvars(), XonoticTextSlider::loadCvars(), XonoticWeaponarenaCheckBox::loadCvars(), XonoticKeyBinder::loadKeyBinds(), XonoticMapInfoDialog::loadMapInfo(), XonoticPlayerModelSelector::loadModels(), XonoticScreenshotBrowserTab::loadPreviewScreenshot(), XonoticResolutionSlider::loadResolutions(), XonoticScreenshotViewerDialog::loadScreenshot(), XonoticServerInfoDialog::loadServerInfo(), XonoticServerToSTab::loadToS(), XonoticUserbindEditDialog::loadUserBind(), XonoticToSDialog::loadXonoticToS(), Command::m_invokecmd(), GameItem::m_spawnfunc_hookreplace(), Weapon::m_spawnfunc_hookreplace(), Client::m_unwind(), XonoticTabController::makeTabButton(), XonoticTabController::makeTabButton_T(), Button::mouseDrag(), Container::mouseDrag(), InputBox::mouseDrag(), InputContainer::mouseDrag(), ListBox::mouseDrag(), Nexposee::mouseDrag(), Slider::mouseDrag(), XonoticColorpicker::mouseDrag(), XonoticColorpickerString::mouseDrag(), XonoticPicker::mouseDrag(), XonoticPlayList::mouseDrag(), XonoticScreenshotImage::mouseDrag(), XonoticWeaponsList::mouseDrag(), Container::mouseMove(), InputBox::mouseMove(), InputContainer::mouseMove(), ListBox::mouseMove(), Nexposee::mouseMove(), XonoticPicker::mouseMove(), XonoticScreenshotImage::mouseMove(), XonoticServerList::mouseMove(), Button::mouseRelease(), Container::mouseRelease(), InputBox::mouseRelease(), InputContainer::mouseRelease(), ListBox::mouseRelease(), Nexposee::mouseRelease(), Slider::mouseRelease(), XonoticColorpicker::mouseRelease(), XonoticColorpickerString::mouseRelease(), XonoticCvarList::mouseRelease(), XonoticPicker::mouseRelease(), XonoticWelcomeDialog::mouseRelease(), XonoticPicker::moveFocus(), Container::moveItemAfter(), Monster::mr_setup(), NadeOffhand::offhand_think(), OffhandWeapon::offhand_think(), XonoticPlayList::pauseSound(), Button::playClickSound(), CheckBox::playClickSound(), XonoticServerList::positionSortButton(), Container::preferredFocusedGrandChild(), XonoticScreenshotList::previewScreenshot(), Nexposee::pullNexposee(), MixedSlider::rangedIdentifierToText(), XonoticWelcomeDialog::readInputArgs(), BorderImage::recalcPositionWithText(), Label::recalcPositionWithText(), XonoticEntryList::refilter(), XonoticMapList::refilter(), XonoticMapList::refilterCallback(), XonoticServerList::refreshServerList(), Container::removeItem(), XonoticPlayList::removeSelectedFromPlayList(), BorderImage::resizeNotify(), Button::resizeNotify(), Container::resizeNotify(), Image::resizeNotify(), InputBox::resizeNotify(), InputContainer::resizeNotify(), Label::resizeNotify(), ListBox::resizeNotify(), ModalController::resizeNotify(), Nexposee::resizeNotify(), Slider::resizeNotify(), XonoticCampaignList::resizeNotify(), XonoticCharmap::resizeNotify(), XonoticCreditsList::resizeNotify(), XonoticCvarList::resizeNotify(), XonoticDemoList::resizeNotify(), XonoticEntryList::resizeNotify(), XonoticGametypeList::resizeNotify(), XonoticGuideDescription::resizeNotify(), XonoticHUDSkinList::resizeNotify(), XonoticKeyBinder::resizeNotify(), XonoticLanguageList::resizeNotify(), XonoticListBox::resizeNotify(), XonoticMapList::resizeNotify(), XonoticPlayerList::resizeNotify(), XonoticPlayerModelSelector::resizeNotify(), XonoticPlayList::resizeNotify(), XonoticScreenshotImage::resizeNotify(), XonoticScreenshotList::resizeNotify(), XonoticServerList::resizeNotify(), XonoticSkinList::resizeNotify(), XonoticSoundList::resizeNotify(), XonoticStatsList::resizeNotify(), XonoticTextBox::resizeNotify(), XonoticTopicList::resizeNotify(), XonoticWeaponsList::resizeNotify(), Container::resizeNotifyLie(), XonoticPlayList::resumeSound(), XonoticCampaignList::saveCvars(), XonoticCheckBox::saveCvars(), XonoticCheckBoxString::saveCvars(), XonoticColorButton::saveCvars(), XonoticColorpickerString::saveCvars(), XonoticDecibelsSlider::saveCvars(), XonoticGametypeList::saveCvars(), XonoticInputBox::saveCvars(), XonoticLanguageList::saveCvars(), XonoticMixedSlider::saveCvars(), XonoticPlayerModelSelector::saveCvars(), XonoticRadioButton::saveCvars(), XonoticResolutionSlider::saveCvars(), XonoticScoreboardFadeTimeSlider::saveCvars(), XonoticSkinList::saveCvars(), XonoticSlider::saveCvars(), XonoticTextSlider::saveCvars(), XonoticWeaponarenaCheckBox::saveCvars(), Container::saveFocus(), XonoticScreenshotList::screenshotName(), ListBox::scrollToItem(), Container::setAlphaOf(), CheckBox::setChecked(), XonoticCheckBox::setChecked(), XonoticCheckBoxString::setChecked(), XonoticColorButton::setChecked(), XonoticRadioButton::setChecked(), XonoticSliderCheckBox::setChecked(), XonoticWeaponarenaCheckBox::setChecked(), XonoticGuideDescription::setDescription(), Dialog::setFirstColumn(), Container::setFocus(), ListBox::setFocusedItem(), XonoticHUDSkinList::setHUDSkin(), XonoticLanguageList::setLanguage(), Nexposee::setNexposee(), XonoticPlayerList::setPlayerList(), ListBox::setSelected(), XonoticCampaignList::setSelected(), XonoticCvarList::setSelected(), XonoticEntryList::setSelected(), XonoticGametypeList::setSelected(), XonoticKeyBinder::setSelected(), XonoticLanguageList::setSelected(), XonoticScreenshotList::setSelected(), XonoticServerList::setSelected(), XonoticTopicList::setSelected(), XonoticSkinList::setSkin(), Slider::setSliderValue(), XonoticServerList::setSortOrder(), InputBox::setText(), Label::setText(), XonoticInputBox::setText(), XonoticTextBox::setText(), Slider::setValue(), XonoticMixedSlider::setValue(), XonoticSlider::setValue(), XonoticTextSlider::setValue(), TextSlider::setValueFromIdentifier(), MixedSlider::setValueFromNumberIdentifier(), XonoticMixedSlider::setValueSpace(), XonoticSlider::setValueSpace(), XonoticTextSlider::setValueSpace(), Image::setZoom(), XonoticFirstRunDialog::shouldShow(), XonoticToSDialog::shouldShow(), ModalController::showChild(), Button::showNotify(), Container::showNotify(), InputBox::showNotify(), Slider::showNotify(), XonoticCvarList::showNotify(), XonoticCvarsDialog::showNotify(), XonoticDamageTextSettings::showNotify(), XonoticDemoList::showNotify(), XonoticGameCrosshairSettingsTab::showNotify(), XonoticGameHUDSettingsTab::showNotify(), XonoticGameMessageSettingsTab::showNotify(), XonoticGameModelSettingsTab::showNotify(), XonoticGameViewSettingsTab::showNotify(), XonoticGameWeaponsSettingsTab::showNotify(), XonoticHUDSkinList::showNotify(), XonoticKeyBinder::showNotify(), XonoticMutatorsDialog::showNotify(), XonoticPlayerModelSelector::showNotify(), XonoticRootDialog::showNotify(), XonoticScreenshotList::showNotify(), XonoticSoundList::showNotify(), XonoticStatsList::showNotify(), XonoticTab::showNotify(), XonoticTeamSelectDialog::showNotify(), XonoticSkinList::skinParameter(), XonoticSoundList::soundName(), XonoticDemoList::startDemo(), XonoticScreenshotList::startScreenshot(), XonoticScreenshotList::startSlideShow(), XonoticPlayList::startSound(), XonoticScreenshotList::stopSlideShow(), XonoticPlayList::stopSound(), ModalController::switchState(), Dialog::TD(), Dialog::TDempty(), Dialog::TDNoMargin(), XonoticDemoList::timeDemo(), XonoticGuideTab::topicChangeNotify(), CheckBox::toString(), Image::toString(), Label::toString(), Slider::toString(), XonoticWeaponsList::toString(), Dialog::TR(), Turret::tr_setup(), Image::updateAspect(), ListBox::updateControlTopBottom(), XonoticCvarList::updateCvarType(), TextSlider::valueToIdentifier(), MixedSlider::valueToNumberIdentifier(), MixedSlider::valueToText(), Slider::valueToText(), TextSlider::valueToText(), and XonoticDecibelsSlider::valueToText().

◆ METHOD_REFERENCE

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

Definition at line 322 of file oo.qh.

322#define METHOD_REFERENCE(cname, name) \
323 cname##_##name

◆ NEW

#define NEW ( cname,
... )
Value:
OVERLOAD_(spawn##cname, new_pure(cname) P99_IF_EMPTY(__VA_ARGS__)()(, __VA_ARGS__))
#define new_pure(class)
purely logical entities (not linked to the area grid)
Definition oo.qh:67

Definition at line 117 of file oo.qh.

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

Referenced by _draw_SetClip(), CallbackChain::CallbackChain_Add(), ClientState_attach(), ctf_Initialize(), Dialog_configureDialog(), Inventory_new(), InventoryStorage_attach(), 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(), makeXonoticDamageTextSettingsTab(), makeXonoticDecibelsSlider_T(), makeXonoticDemoBrowserTab(), makeXonoticDemoList(), makeXonoticEffectsSettingsTab(), makeXonoticGameCrosshairSettingsTab(), makeXonoticGameHUDSettingsTab(), makeXonoticGameMessageSettingsTab(), makeXonoticGameModelSettingsTab(), makeXonoticGameSettingsTab(), makeXonoticGametypeList(), makeXonoticGameViewSettingsTab(), makeXonoticGameWeaponsSettingsTab(), makeXonoticGuideTab(), makeXonoticHUDSkinList(), makeXonoticImage(), makeXonoticInputBox_T(), makeXonoticInputSettingsTab(), makeXonoticKeyBinder(), makeXonoticLanguageList(), makeXonoticLeaveMatchButton(), makeXonoticListBox(), makeXonoticMapList(), makeXonoticMiscSettingsTab(), makeXonoticMixedSlider_T(), makeXonoticMusicPlayerTab(), makeXonoticNexposee(), 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(), REGISTER(), REGISTER_BUFF(), REGISTER_BUFF(), REGISTER_BUFF(), REGISTER_BUFF(), REGISTER_BUFF(), REGISTER_BUFF(), REGISTER_BUFF(), REGISTER_BUFF(), REGISTER_BUFF(), REGISTER_BUFF(), REGISTER_BUFF(), REGISTER_BUFF(), REGISTER_BUFF(), REGISTER_GAMETYPE(), REGISTER_GAMETYPE(), REGISTER_GAMETYPE(), REGISTER_GAMETYPE(), REGISTER_GAMETYPE(), REGISTER_GAMETYPE(), REGISTER_GAMETYPE(), REGISTER_GAMETYPE(), REGISTER_GAMETYPE(), REGISTER_GAMETYPE(), REGISTER_GAMETYPE(), REGISTER_GAMETYPE(), REGISTER_GAMETYPE(), REGISTER_GAMETYPE(), REGISTER_GAMETYPE(), REGISTER_GAMETYPE(), REGISTER_GAMETYPE(), REGISTER_GAMETYPE(), REGISTER_GAMETYPE(), REGISTER_GAMETYPE(), REGISTER_ITEM(), REGISTER_ITEM(), REGISTER_ITEM(), REGISTER_ITEM(), REGISTER_ITEM(), REGISTER_ITEM(), REGISTER_ITEM(), REGISTER_ITEM(), REGISTER_ITEM(), REGISTER_ITEM(), REGISTER_ITEM(), REGISTER_ITEM(), REGISTER_ITEM(), REGISTER_ITEM(), REGISTER_ITEM(), REGISTER_ITEM(), REGISTER_ITEM(), REGISTER_ITEM(), REGISTER_ITEM(), REGISTER_ITEM(), REGISTER_ITEM(), REGISTER_MONSTER(), REGISTER_MONSTER(), REGISTER_MONSTER(), REGISTER_MONSTER(), REGISTER_MONSTER(), REGISTER_MONSTER(), REGISTER_MUTATOR(), REGISTER_RESOURCE(), REGISTER_STATUSEFFECT(), REGISTER_STATUSEFFECT(), REGISTER_STATUSEFFECT(), REGISTER_STATUSEFFECT(), REGISTER_STATUSEFFECT(), REGISTER_STATUSEFFECT(), REGISTER_STATUSEFFECT(), REGISTER_STATUSEFFECT(), REGISTER_STATUSEFFECT(), REGISTER_STATUSEFFECT(), REGISTER_TURRET(), REGISTER_TURRET(), REGISTER_TURRET(), REGISTER_TURRET(), REGISTER_TURRET(), REGISTER_TURRET(), REGISTER_TURRET(), REGISTER_TURRET(), REGISTER_TURRET(), REGISTER_TURRET(), REGISTER_TURRET(), REGISTER_TURRET(), REGISTER_VEHICLE(), REGISTER_VEHICLE(), REGISTER_VEHICLE(), REGISTER_VEHICLE(), REGISTER_VEHICLE(), REGISTER_WEAPON(), REGISTER_WEAPON(), REGISTER_WEAPON(), REGISTER_WEAPON(), REGISTER_WEAPON(), REGISTER_WEAPON(), REGISTER_WEAPON(), REGISTER_WEAPON(), REGISTER_WEAPON(), REGISTER_WEAPON(), REGISTER_WEAPON(), REGISTER_WEAPON(), REGISTER_WEAPON(), REGISTER_WEAPON(), REGISTER_WEAPON(), REGISTER_WEAPON(), REGISTER_WEAPON(), REGISTER_WEAPON(), REGISTER_WEAPON(), REGISTER_WEAPON(), REGISTER_WEAPON(), REGISTER_WEAPON(), REGISTER_WEAPON(), REGISTER_WEAPON(), REGISTER_WEAPON(), REGISTER_WEAPON(), REGISTER_WEAPON(), REGISTER_WEAPON(), REGISTER_WEAPON(), REGISTER_WEAPON(), REGISTER_WEAPON(), REGISTER_WEAPON(), REGISTER_WEAPON(), REGISTER_WEAPON(), REGISTER_WEAPON(), REGISTER_WEAPON(), REGISTER_WEAPON(), REGISTER_WEAPON(), REGISTER_WEAPON(), REGISTER_WEAPON(), REGISTER_WEAPON(), REGISTER_WEAPON(), REGISTER_WEAPON(), REGISTER_WEAPON(), STATIC_INIT(), STATIC_INIT(), STATIC_INIT(), STATIC_INIT(), StatusEffects_new(), StatusEffectsStorage_attach(), TEST(), and TEST().

◆ new

#define new ( class)
Value:
_new(class, false)
#define _new(class, pure)
Definition oo.qh:58

entities you care about collisions with

Definition at line 65 of file oo.qh.

◆ new_pure

#define new_pure ( class)
Value:
_new(class, true)

purely logical entities (not linked to the area grid)

Definition at line 67 of file oo.qh.

Referenced by _Promise_done(), accuracy_init(), Announcer_Gamestart(), bd_setup_pieces(), bot_setcurrentcommand(), cl_notice_read(), ClientData_Attach(), ClientInit_Spawn(), counter_use(), Create_Effect_Entity(), ctf_SpawnTeam(), cvar_settemp(), Damage_DamageInfo(), defer(), dom_spawnteam(), dropclient_schedule(), EliminatedPlayers_Init(), entcs_attach(), func_vectormamamam_findtarget(), GetTeam(), kh_Initialize(), Kill_Notification(), Monster_Delay(), MUTATOR_HOOKFUNCTION(), MUTATOR_HOOKFUNCTION(), MUTATOR_HOOKFUNCTION(), MUTATOR_HOOKFUNCTION(), MX_Nick(), MX_Say(), MX_Typing(), Nagger_Init(), nb_spawnteam(), NET_HANDLE(), PingPLReport_Spawn(), Playerchecker_Think(), PlayerScore_Attach(), PostInit(), PutPlayerInServer(), RandomSeed_Spawn(), ReadEntcs(), readplayerstartcvars(), ReadyRestart_force(), REGISTER_MUTATOR(), round_handler_Spawn(), ScoreInfo_Init(), Send_Effect_Except(), Send_Notification(), Sort_Spawn(), spawnfunc(), spawnfunc(), spawnfunc(), STATIC_INIT(), STATIC_INIT(), STATIC_INIT(), STATIC_INIT(), STATIC_INIT_LATE(), SUB_CalcMove_Bezier(), SUB_UseTargets_Ex(), SurvivalStatuses_Init(), tdm_SpawnTeam(), Team_InitTeams(), TeamBalance_RemoveExcessPlayers(), TeamScore_Spawn(), tmayhem_SpawnTeam(), trigger_gravity_touch(), TrueAim_Init(), turret_findtarget(), url_multi_fopen(), url_single_fopen(), Violence_GibSplash_At(), W_Shotgun_Attack2(), WarpZone_Trace_InitTransform(), and wepent_link().

◆ remove

#define remove ( this)
Value:
delete(this)

Definition at line 332 of file oo.qh.

◆ spawn

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

Definition at line 68 of file oo.qh.

◆ spawn_1

#define spawn_1 ( this)

Definition at line 328 of file oo.qh.

◆ SPAWN_PURE

#define SPAWN_PURE   0

Definition at line 31 of file oo.qh.

◆ spawn_pure

#define spawn_pure ( )
Value:
entity _spawn()

Definition at line 37 of file oo.qh.

Referenced by __spawn().

◆ spawn_static

#define spawn_static ( this)

Definition at line 327 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 243 of file oo.qh.

243#define STATIC_ATTRIB(cname, name, type, val) \
244 type cname##_##name; \
245 _INIT_STATIC(cname) \
246 { \
247 noref bool strzone; /* Error on strzone() calls. */ \
248 cname##_##name = val; \
249 }

◆ 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 259 of file oo.qh.

259#define STATIC_ATTRIB_STRZONE(cname, name, type, val) \
260 type cname##_##name; \
261 _INIT_STATIC(cname) \
262 { \
263 strcpy(cname##_##name, val); \
264 }

◆ STATIC_METHOD

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

Definition at line 278 of file oo.qh.

278#define STATIC_METHOD(cname, name, prototype) \
279 prototype METHOD_REFERENCE(cname, name)

Referenced by Animation::ATTRIB().

◆ SUPER

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

Definition at line 231 of file oo.qh.

Referenced by BorderImage_draw(), BorderImage_recalcPositionWithText(), BorderImage_resizeNotify(), Button_configureButton(), Button_draw(), Button_resizeNotify(), CheckBox_draw(), CheckBox_toString(), Container_draw(), Container_resizeNotifyLie(), Buff::describe(), GameItem::describe(), Gametype::describe(), Monster::describe(), Mutator::describe(), Nade::describe(), Powerup::describe(), Turret::describe(), Vehicle::describe(), Weapon::describe(), Dialog_keyDown(), EntryList_StringFilterBox_keyDown(), CvarStringSource::getEntry(), Image_draw(), Image_resizeNotify(), InputBox_configureInputBox(), InputBox_resizeNotify(), InputBox_setText(), InputContainer_focusLeave(), InputContainer_keyDown(), InputContainer_mouseDrag(), InputContainer_mouseMove(), InputContainer_mouseRelease(), InputContainer_resizeNotify(), XonoticEntryList::keyDown(), Label_draw(), Label_resizeNotify(), ListBox_draw(), ListBox_resizeNotify(), MainWindow_draw(), MapList_StringFilterBox_keyDown(), MixedSlider_setValueFromNumberIdentifier(), ModalController_addItem(), ModalController_draw(), InputContainer::mousePress(), Nexposee::mousePress(), Nexposee_addItem(), Nexposee_draw(), Nexposee_focusEnter(), Nexposee_keyDown(), Nexposee_keyUp(), Nexposee_mouseDrag(), Nexposee_mouseMove(), Nexposee_mouseRelease(), CvarStringSource::reload(), XonoticRegisteredSettingsList::resizeNotify(), XonoticScrollPanel::resizeNotify(), XonoticRegisteredSettingsList::setSelected(), Slider_configureSliderVisuals(), Slider_draw(), Slider_resizeNotify(), TextSlider_setValueFromIdentifier(), 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(), XonoticEntryList_resizeNotify(), XonoticEntryList_setSelected(), XonoticGameMenuDialog_draw(), XonoticGametypeList_draw(), XonoticGametypeList_keyDown(), XonoticGametypeList_resizeNotify(), XonoticGametypeList_setSelected(), XonoticGuideDescription_resizeNotify(), 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(), XonoticLeaveMatchButton_draw(), XonoticListBox_resizeNotify(), XonoticMapList_draw(), XonoticMapList_keyDown(), XonoticMapList_resizeNotify(), XonoticMixedSlider_setValue(), XonoticMutatorsDialog_close(), XonoticMutatorsDialog_showNotify(), XonoticPicker_draw(), XonoticPicmipSlider_draw(), XonoticPlayerList_resizeNotify(), XonoticPlayerModelSelector_draw(), XonoticPlayerModelSelector_resizeNotify(), XonoticPlayList_draw(), XonoticPlayList_keyDown(), XonoticPlayList_mouseDrag(), XonoticPlayList_resizeNotify(), XonoticProfileTab_draw(), XonoticRadioButton_draw(), 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_loadCvars(), XonoticSlider_setValue(), XonoticSliderCheckBox_draw(), XonoticSoundList_keyDown(), XonoticSoundList_resizeNotify(), XonoticStatsList_keyDown(), XonoticStatsList_resizeNotify(), XonoticTab_showNotify(), XonoticTeamSelectDialog_showNotify(), XonoticTextBox_resizeNotify(), XonoticTextLabel_draw(), XonoticTextSlider_setValue(), XonoticTopicList_keyDown(), XonoticTopicList_resizeNotify(), XonoticTopicList_setSelected(), XonoticWeaponsList_draw(), XonoticWeaponsList_keyDown(), XonoticWeaponsList_mouseDrag(), XonoticWeaponsList_resizeNotify(), XonoticWelcomeDialog_draw(), XonoticWelcomeDialog_keyDown(), and XonoticWelcomeDialog_mouseRelease().

◆ 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__); \
} \

Definition at line 136 of file oo.qh.

136#define TRANSMUTE(cname, this, ...) MACRO_BEGIN \
137 entity _e = (this); \
138 if (_e.vtblbase != cname##_vtbl) { \
139 _e.transmute = true; \
140 _e.classname = #cname; \
141 _TRANSMUTE(cname, _e, __VA_ARGS__); \
142 } \
143 MACRO_END

Referenced by ClientCommand_clientversion(), ClientCommand_spectate(), ClientConnect(), Join(), lms_RemovePlayer(), MUTATOR_HOOKFUNCTION(), MUTATOR_HOOKFUNCTION(), MUTATOR_HOOKFUNCTION(), MUTATOR_HOOKFUNCTION(), MUTATOR_HOOKFUNCTION(), MUTATOR_HOOKFUNCTION(), MUTATOR_HOOKFUNCTION(), MUTATOR_HOOKFUNCTION(), ObserverOrSpectatorThink(), PutClientInServer(), PutObserverInServer(), PutPlayerInServer(), ReadyRestart_force(), and SpectateUpdate().

◆ 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 _INIT_STATIC(cname)
Definition oo.qh:312
void RegisterClasses()
Definition oo.qh:292

Definition at line 298 of file oo.qh.

298#define VTBL(cname, base) \
299 _INIT_STATIC(cname); \
300 entity cname##_vtbl; \
301 void cname##_vtbl_init() \
302 { \
303 cname e = new_pure(vtbl); \
304 spawn##cname##_static(e); \
305 e.vtblname = #cname; \
306 /* Top level objects refer to themselves */ \
307 e.vtblbase = base##_vtbl ? base##_vtbl : e; \
308 cname##_vtbl = e; \
309 } \
310 ACCUMULATE_FUNCTION(RegisterClasses, cname##_vtbl_init)

Function Documentation

◆ __spawn()

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

Definition at line 40 of file oo.qh.

41{
42 entity this = pure ? spawn_pure() : _spawn();
43 this.classname = _classname;
44 this.sourceLoc = _sourceLoc;
45 if (pure) {
46 make_pure(this);
47 }
48 return this;
49}
#define spawn_pure()
Definition oo.qh:37
#define make_pure(e)
direct use is
Definition oo.qh:13
string sourceLoc
Location entity was spawned from in source.
Definition oo.qh:27

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

◆ _spawn()

entity _spawn ( )

References entity().

Referenced by __spawn().

◆ CLASS()

CLASS ( Object )

Definition at line 330 of file oo.qh.

331 { builtin_remove(this); }

◆ clearentity()

void clearentity ( entity e)

Definition at line 97 of file oo.qh.

98{
99#ifdef CSQC
100 int n = e.entnum;
101#endif
102 bool was_pure = is_pure(e);
104 if (!was_pure) make_impure(e);
105#ifdef CSQC
106 e.entnum = n;
107#endif
108}
#define is_pure(e)
Definition oo.qh:16
#define make_impure(e)
Definition oo.qh:22
entity _clearentity_ent
Definition oo.qh:92
void copyentity_qc(entity src, entity dst)
Definition oo.qh:86

References _clearentity_ent, copyentity_qc(), entity(), is_pure, and make_impure.

Referenced by CSQC_Ent_Update(), and STATIC_INIT().

◆ copyentity_qc()

void copyentity_qc ( entity src,
entity dst )

Definition at line 86 of file oo.qh.

87{
88 copyentity(src, dst); // builtin function
89 IL_REMOVE_RAW(dst);
90}
void copyentity(entity src, entity dst)
void IL_REMOVE_RAW(entity it)

References copyentity(), entity(), and IL_REMOVE_RAW().

Referenced by __spawnfunc_spawn(), clearentity(), ctf_Handle_Pickup(), and W_AttachToShotorg().

◆ IL_REMOVE_RAW()

void IL_REMOVE_RAW ( entity it)

Definition at line 276 of file intrusivelist.qh.

277{
278 if (it.il_lists)
279 {
280 it.il_lists = '0 0 0';
281 for (int i = 0; i < IL_MAX * 2; ++i)
282 it.il_links_flds[i] = nil;
283 }
284}
const int IL_MAX
Maximum amount of creatable lists.

References entity(), and IL_MAX.

Referenced by copyentity_qc().

◆ ONREMOVE()

ACCUMULATE void ONREMOVE ( entity this)

Definition at line 70 of file oo.qh.

70{}

References ACCUMULATE, and entity().

◆ RegisterClasses()

void RegisterClasses ( )

Definition at line 292 of file oo.qh.

292{}

Referenced by STATIC_INIT().

◆ STATIC_INIT() [1/2]

STATIC_INIT ( clearentity )

Definition at line 93 of file oo.qh.

94{
96}
void clearentity(entity e)
Definition oo.qh:97

References _clearentity_ent, clearentity(), and new_pure.

◆ STATIC_INIT() [2/2]

STATIC_INIT ( RegisterClasses )

Definition at line 293 of file oo.qh.

294{
296}

References RegisterClasses().

◆ void()

void ( entity this)

References entity().

Variable Documentation

◆ _clearentity_ent

entity _clearentity_ent

Definition at line 92 of file oo.qh.

Referenced by clearentity(), and STATIC_INIT().

◆ classname

string classname

Definition at line 25 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 27 of file oo.qh.

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

◆ transmute

bool transmute

Definition at line 113 of file oo.qh.

◆ vtblbase

entity vtblbase

Definition at line 290 of file oo.qh.

◆ vtblname

string vtblname

Definition at line 289 of file oo.qh.