|
Xonotic QuakeC
The free, fast arena FPS with crisp movement and a wide array of weapons
|
|
Go to the source code of this file.
Classes | |
| class | IntrusiveList |
| limitations: NULL cannot be present elements can only be present once a maximum of IL_MAX lists can exist at one time freed entities must be removed from the list More... | |
Macros | |
| #define | IL_CEIL(n) |
| #define | IL_CLEAR(this) |
| Remove all elements. | |
| #define | IL_DELETE(this) |
| Delete the list. | |
| #define | IL_EACH(this, cond, body) |
| #define | IL_EMPTY(this) |
| #define | IL_FIRST(this) |
| #define | IL_FLOOR(n) |
| #define | IL_LAST(this) |
| #define | IL_LISTS_PER_BIT IL_CEIL(IL_MAX / (3 * 24)) |
| #define | IL_NEW() |
| #define | IL_PEEK(this) |
| #define | IL_TEST_BUILD() |
Functions | |
| ERASEABLE bool | IL_CONTAINS (IntrusiveList this, entity it) |
| ERASEABLE void | IL_DTOR (entity this) |
| ERASEABLE void | IL_DTOR (IntrusiveList this) |
| ERASEABLE void | IL_ENDFRAME () |
| ERASEABLE void | IL_INIT (entity this) |
| ERASEABLE void | IL_INIT (IntrusiveList this) |
| ERASEABLE entity | IL_POP (IntrusiveList this) |
| Pop from tail. | |
| ERASEABLE entity | IL_PUSH (IntrusiveList this, entity it) |
| Push to tail. | |
| ERASEABLE void | IL_REMOVE (IntrusiveList this, entity it) |
| Remove any element, anywhere in the list. | |
| void | IL_REMOVE_RAW (entity it) |
| ERASEABLE entity | IL_SHIFT (IntrusiveList this) |
| Pop from head. | |
| string | il_test_build (entity il_test, entity ent1, entity ent2, entity ent3, entity ent4, entity ent5) |
| ERASEABLE entity | IL_UNSHIFT (IntrusiveList this, entity it) |
| Push to head. | |
| void | ONREMOVE (entity this) |
| TEST (intrusivelist, ModificationsWhileLooping) | |
Variables | |
| int | il_id |
| IntrusiveList | il_links [IL_MAX] |
| entity | il_links_flds [IL_MAX *2] |
| int | il_links_ptr |
| vector | il_listmask |
| vector | il_lists |
| const int | IL_MAX = 128 |
| Maximum amount of creatable lists. | |
| #define IL_CEIL | ( | n | ) |
Definition at line 214 of file intrusivelist.qh.
| #define IL_CLEAR | ( | this | ) |
Remove all elements.
Definition at line 162 of file intrusivelist.qh.
Referenced by _Movetype_PushMove(), CommonCommand_editmob(), crosshair_trace_plusvisibletriggers__is_wz(), FireRailgunBullet(), IL_DTOR(), il_test_build(), Invasion_CheckWinner(), and pathlib_cleanup().
| #define IL_DELETE | ( | this | ) |
Delete the list.
Definition at line 180 of file intrusivelist.qh.
Referenced by Promise_reject(), Promise_resolve(), REGISTER_MUTATOR(), REGISTER_MUTATOR(), and TEST().
| #define IL_EACH | ( | this, | |
| cond, | |||
| body ) |
Definition at line 186 of file intrusivelist.qh.
Referenced by _Movetype_PushMove(), antilag_restore_all(), antilag_takeback_all(), assault_new_round(), assault_objective_use(), assault_roundstart_use(), assault_setenemytoobjective(), bot_serverframe(), botframe_autowaypoints_createwp(), botframe_autowaypoints_fix_from(), botframe_deleteuselesswaypoints(), botframe_updatedangerousobjects(), checkpoint_passed(), client_hasweapon(), ClientConnect(), ClientDisconnect(), ClientKill_TeamChange(), CommonCommand_editmob(), conveyor_think(), counter_reset(), counter_use(), CreatureFrame_All(), crosshair_trace_plusvisibletriggers__is_wz(), crosshair_trace_waypoints(), CSQC_UpdateView(), ctf_CheckStalemate(), ctf_DelayedInit(), ctf_FlagThink(), ctf_Handle_Capture(), ctf_RemovePlayer(), cvar_settemp(), Domination_count_controlpoints(), dompoint_captured(), EndFrame(), findnearest(), Fire_ApplyDamage(), FireImoBeam(), FireRailgunBullet(), func_breakable_behave_destroyed(), func_ladder_think(), havocbot_ai(), havocbot_chooseenemy(), havocbot_ctf_calculate_middlepoint(), havocbot_ctf_find_enemy_flag(), havocbot_ctf_find_flag(), havocbot_ctf_is_basewaypoint(), havocbot_goalrating_ast_targets(), havocbot_goalrating_ball(), havocbot_goalrating_controlpoints(), havocbot_goalrating_ctf_droppedflags(), havocbot_goalrating_ctf_enemyflag(), havocbot_goalrating_ctf_ourbase(), havocbot_goalrating_items(), havocbot_goalrating_ons_controlpoints_attack(), havocbot_goalrating_ons_generator_attack(), havocbot_goalrating_tkaball(), havocbot_goalrating_waypoints(), havocbot_moveto(), havocbot_movetogoal(), havocbot_role_cts(), havocbot_role_race(), havocbot_select_an_item_of_group(), HUD_Ammo(), HUD_Radar(), Invasion_CheckWinner(), invasion_GetWaveEntity(), invasion_PickSpawn(), Item_FindTeam(), Item_ItemsTime_UpdateTime(), Item_Touch(), ka_RemoveBalls(), Kill_Notification(), LimitedChildrenRubble(), Monster_FindTarget(), MoveToRandomLocationWithinBounds(), MUTATOR_HOOKFUNCTION(), MUTATOR_HOOKFUNCTION(), MUTATOR_HOOKFUNCTION(), MUTATOR_HOOKFUNCTION(), MUTATOR_HOOKFUNCTION(), MUTATOR_HOOKFUNCTION(), MUTATOR_HOOKFUNCTION(), MUTATOR_HOOKFUNCTION(), MUTATOR_HOOKFUNCTION(), MUTATOR_HOOKFUNCTION(), nade_boom(), nade_touch(), navigation_checkladders(), navigation_findnearestwaypoint_withdist_except(), navigation_get_really_close_waypoint(), navigation_markroutes(), navigation_markroutes_inverted(), navigation_markroutes_nearestwaypoints(), navigation_routerating(), navigation_unstuck(), NET_HANDLE(), onslaught_updatelinks(), pathlib_cleanup(), pathlib_nodeatpoint(), pathlib_waypointpath(), Physics_Frame(), Promise_reject(), Promise_resolve(), PutPlayerInServer(), race_GetFractionalLapCount(), RandomItems_GetRandomInstagibItemClassName(), RandomItems_GetRandomOverkillItemClassName(), raptor_flare_think(), raptor_frame(), sandbox_Database_Save(), sandbox_ObjectAttach_Remove(), sandbox_ObjectPort_Save(), Scoreboard_ItemStats_Draw(), Scoreboard_ItemStats_WouldDraw(), SelectObservePoint(), SelectSpawnPoint(), setItemGroupCount(), spawner_use(), spiderbot_exit(), spiderbot_guide_release(), StartFrame(), swamp_think(), target_give_init(), target_items_use(), target_music_kill(), TargetMusic_RestoreGame(), Teleport_Find(), TEST(), tka_RemoveBalls(), trigger_push_velocity_think(), trigger_race_checkpoint_verify(), turret_hk_missile_think(), turret_targettrigger_touch(), turrets_manager_think(), UncustomizeEntitiesRun(), vehicles_clearreturn(), W_MineLayer_Count(), W_MineLayer_PlacedMines(), W_Seeker_Attack(), W_Seeker_Tagged_Info(), WarpZone_Find(), WarpZone_MakeAllOther(), WarpZone_MakeAllSolid(), WarpZone_StartFrame(), waypoint_addlink_for_custom_jumppad(), waypoint_get(), waypoint_get_type_name(), waypoint_load_links(), waypoint_remove(), waypoint_save_hardwiredlinks(), waypoint_save_links(), waypoint_saveall(), waypoint_schedulerelinkall(), waypoint_showlinks_to(), waypoint_spawn(), waypoint_spawn_fromeditor(), waypoint_spawnforitem_force(), waypoint_think(), waypoint_unreachable(), waypoint_updatecost_foralllinks(), weapon_prepareattack_checkammo(), Weapon_whereis(), WinningCondition_Invasion(), and WinningCondition_RanOutOfSpawns().
| #define IL_EMPTY | ( | this | ) |
Definition at line 44 of file intrusivelist.qh.
Referenced by draw_ClearClip(), ka_Handler_CheckBall(), and tka_Handler_CheckBall().
| #define IL_FIRST | ( | this | ) |
Definition at line 46 of file intrusivelist.qh.
Referenced by SelectSpawnPoint().
| #define IL_FLOOR | ( | n | ) |
| #define IL_LAST | ( | this | ) |
Definition at line 47 of file intrusivelist.qh.
Definition at line 216 of file intrusivelist.qh.
Referenced by IL_INIT().
| #define IL_NEW | ( | ) |
Definition at line 42 of file intrusivelist.qh.
Referenced by _Promise_handle(), dom_Initialize(), g_spawn_queue_spawn(), ons_Initialize(), REGISTER_MUTATOR(), REGISTER_MUTATOR(), REGISTER_MUTATOR(), REGISTER_MUTATOR(), REGISTER_MUTATOR(), REGISTER_MUTATOR(), spawnfunc(), STATIC_INIT(), STATIC_INIT(), STATIC_INIT(), STATIC_INIT(), STATIC_INIT(), STATIC_INIT(), STATIC_INIT(), STATIC_INIT(), STATIC_INIT(), STATIC_INIT(), STATIC_INIT(), STATIC_INIT(), STATIC_INIT(), STATIC_INIT(), STATIC_INIT(), STATIC_INIT(), STATIC_INIT(), STATIC_INIT(), STATIC_INIT(), STATIC_INIT(), STATIC_INIT(), STATIC_INIT(), STATIC_INIT(), STATIC_INIT(), STATIC_INIT(), STATIC_INIT(), STATIC_INIT(), STATIC_INIT(), STATIC_INIT(), STATIC_INIT(), STATIC_INIT(), STATIC_INIT(), STATIC_INIT(), STATIC_INIT(), STATIC_INIT(), STATIC_INIT(), STATIC_INIT(), STATIC_INIT(), STATIC_INIT(), target_checkpoint_setup(), TEST(), and W_Electro_Attack_Orb().
| #define IL_PEEK | ( | this | ) |
Definition at line 48 of file intrusivelist.qh.
Referenced by _draw_SetClip(), and draw_ClearClip().
| #define IL_TEST_BUILD | ( | ) |
Definition at line 303 of file intrusivelist.qh.
Referenced by TEST().
| ERASEABLE bool IL_CONTAINS | ( | IntrusiveList | this, |
| entity | it ) |
Definition at line 51 of file intrusivelist.qh.
References assert, and entity().
Referenced by ctf_Handle_Pickup(), ctf_RespawnFlag(), IL_PUSH(), IL_UNSHIFT(), kh_Key_Attach(), kh_Key_Detach(), ONREMOVE(), ons_GeneratorReset(), set_movetype(), and W_Electro_Orb_Stick().
References entity(), and ERASEABLE.
Referenced by IntrusiveList::~IntrusiveList().
| ERASEABLE void IL_DTOR | ( | IntrusiveList | this | ) |
Definition at line 248 of file intrusivelist.qh.
Definition at line 255 of file intrusivelist.qh.
References entity(), il_links, IL_MAX, IntrusiveList::il_nextfld, IL_REMOVE(), and next.
Referenced by CSQC_UpdateView(), EndFrame(), and m_draw().
References entity(), and ERASEABLE.
Referenced by IntrusiveList::IntrusiveList().
| ERASEABLE void IL_INIT | ( | IntrusiveList | this | ) |
Definition at line 219 of file intrusivelist.qh.
References assert, BIT, IL_FLOOR, il_id, il_links, il_links_flds, il_links_ptr, il_listmask, IL_LISTS_PER_BIT, IL_MAX, and LOG_WARN.
| ERASEABLE entity IL_POP | ( | IntrusiveList | this | ) |
Pop from tail.
Definition at line 99 of file intrusivelist.qh.
References assert, entity(), NULL, and prev.
Referenced by TEST().
| ERASEABLE entity IL_PUSH | ( | IntrusiveList | this, |
| entity | it ) |
Push to tail.
Definition at line 61 of file intrusivelist.qh.
References assert, entity(), IL_CONTAINS(), il_listmask, and NULL.
Referenced by DamageText::DamageText(), DebugText3d::DebugText3d(), __spawnfunc_defer(), __spawnfunc_spawn(), _draw_SetClip(), _Movetype_PushMove(), _Promise_handle(), buff_Init(), conveyor_think(), CopyBody(), counter_use(), cpicon_construct(), crosshair_trace_plusvisibletriggers__is_wz(), ctf_FlagSetup(), ctf_Handle_Drop(), ctf_Handle_Pickup(), cvar_settemp(), dom_controlpoint_setup(), electro_orb_setup(), Ent_WaypointSprite(), fd_secret_use(), FireGrapplingHook(), FireImoBeam(), FireRailgunBullet(), freezetag_Unfreeze(), func_breakable_behave_restore(), func_breakable_setup(), func_ladder_think(), generator_construct(), il_test_build(), ka_DropEvent(), ka_SpawnBalls(), kh_Key_Detach(), ListNewChildRubble(), LocalCommand_debugmodel(), M_Golem_Attack_Lightning(), M_Mage_Attack_Spike(), M_Spider_Attack_Web(), monster_changeteam(), Monster_Spawn(), Monster_Spawn_Setup(), nade_napalm_ball(), nade_napalm_boom(), NET_HANDLE(), NET_HANDLE(), NET_HANDLE(), NET_HANDLE(), NET_HANDLE(), NET_HANDLE(), NET_HANDLE(), NET_HANDLE(), NET_HANDLE(), NET_HANDLE(), NET_HANDLE(), NET_HANDLE(), ons_CaptureShield_Spawn(), ons_ControlPoint_Icon_Spawn(), ons_generator_ray_spawn(), ons_GeneratorReset(), ons_GeneratorSetup(), onslaught_updatelinks(), orb_setup(), pathlib_mknode(), PutPlayerInServer(), RaptorCBShellfragToss(), REGISTER_MUTATOR(), REGISTER_MUTATOR(), relocate_spawnpoint(), ReplaceOldListedChildRubble(), sandbox_ObjectSpawn(), Send_Notification(), set_movetype(), SetCustomizer(), spawnfunc(), spawnfunc(), spawnfunc(), spawnfunc(), spawnfunc(), spawnfunc(), spawnfunc(), spawnfunc(), spawnfunc(), spawnfunc(), spawnfunc(), spawnfunc(), spawnfunc(), spawnfunc(), spawnfunc(), spawnfunc(), spawnfunc(), spawnfunc(), spawnfunc(), spawnfunc(), spawnfunc(), spawnfunc(), spawnfunc(), StartItem(), STATIC_INIT(), STATIC_INIT(), STATIC_INIT(), SV_OnEntityPreSpawnFunction(), swamp_think(), target_checkpoint_setup(), TEST(), tka_SpawnBalls(), toss_nade(), TossGib(), turret_construct(), turret_initialize(), turret_projectile(), vehicle_initialize(), vehicles_projectile(), vehicles_setreturn(), vehicles_spawn(), W_Arc_Attack_Bolt(), W_Arc_Beam(), W_Blaster_Attack(), W_Crylink_Attack(), W_Crylink_Attack2(), W_Devastator_Attack(), W_Electro_Attack_Bolt(), W_Electro_Attack_Orb(), W_Electro_Orb_Stick(), W_Fireball_Attack1(), W_Fireball_Attack2(), W_Hagar_Attack(), W_Hagar_Attack2(), W_Hagar_Attack2_Load_Release(), W_HLAC_Attack(), W_HLAC_Attack2(), W_Hook_Attack2(), W_MineLayer_Attack(), W_MineLayer_Stick(), W_Mortar_Attack(), W_Mortar_Attack2(), W_Nexball_Attack2(), W_OverkillRocketPropelledChainsaw_Attack(), W_Porto_Attack(), W_Porto_Fail(), W_RocketMinsta_Attack(), W_Seeker_Fire_Flac(), W_Seeker_Fire_Missile(), W_Seeker_Fire_Tag(), W_Seeker_Tag_Touch(), walker_fire_rocket(), and waypoint_spawn().
| ERASEABLE void IL_REMOVE | ( | IntrusiveList | this, |
| entity | it ) |
Remove any element, anywhere in the list.
Definition at line 141 of file intrusivelist.qh.
References assert, entity(), LOG_DEBUGF, next, NULL, and prev.
Referenced by ctf_Handle_Pickup(), ctf_RespawnFlag(), DamageText::DamageText_draw2d(), draw_ClearClip(), dumpnode(), freezetag_Freeze(), func_breakable_behave_destroyed(), IL_ENDFRAME(), invasion_SpawnChosenMonster(), ka_TouchEvent(), kh_Key_Attach(), MUTATOR_HOOKFUNCTION(), NET_HANDLE(), ONREMOVE(), ons_generator_ray_draw(), onslaught_updatelinks(), PlayerCorpseDamage(), PutObserverInServer(), PutPlayerInServer(), race_SendTime(), ReplaceOldListedChildRubble(), and TEST().
Definition at line 276 of file intrusivelist.qh.
References entity(), and IL_MAX.
Referenced by copyentity_qc().
| ERASEABLE entity IL_SHIFT | ( | IntrusiveList | this | ) |
Pop from head.
Definition at line 120 of file intrusivelist.qh.
References assert, entity(), next, and NULL.
Referenced by TEST().
| string il_test_build | ( | entity | il_test, |
| entity | ent1, | ||
| entity | ent2, | ||
| entity | ent3, | ||
| entity | ent4, | ||
| entity | ent5 ) |
Definition at line 305 of file intrusivelist.qh.
| ERASEABLE entity IL_UNSHIFT | ( | IntrusiveList | this, |
| entity | it ) |
Push to head.
Definition at line 80 of file intrusivelist.qh.
References assert, entity(), IL_CONTAINS(), il_listmask, and NULL.
Definition at line 288 of file intrusivelist.qh.
References entity(), IL_CONTAINS(), il_links, il_lists, IL_MAX, IL_REMOVE(), and vector.
| TEST | ( | intrusivelist | , |
| ModificationsWhileLooping | ) |
Definition at line 316 of file intrusivelist.qh.
References entity(), EXPECT_TRUE, IL_DELETE, IL_EACH, IL_NEW, IL_POP(), IL_PUSH(), IL_REMOVE(), IL_SHIFT(), IL_TEST_BUILD, strcat(), and SUCCEED.
| int il_id |
Definition at line 208 of file intrusivelist.qh.
| IntrusiveList il_links[IL_MAX] |
Definition at line 209 of file intrusivelist.qh.
Referenced by IL_DTOR(), IL_ENDFRAME(), IL_INIT(), and ONREMOVE().
Definition at line 210 of file intrusivelist.qh.
Referenced by IL_INIT().
| int il_links_ptr |
Definition at line 211 of file intrusivelist.qh.
Referenced by IL_INIT().
| vector il_listmask |
Definition at line 40 of file intrusivelist.qh.
Referenced by IL_INIT(), IL_PUSH(), and IL_UNSHIFT().
| vector il_lists |
Definition at line 38 of file intrusivelist.qh.
Referenced by ONREMOVE().
| const int IL_MAX = 128 |
Maximum amount of creatable lists.
Lists can be given endless amount of entities, only restricted by engine limitations.
Definition at line 11 of file intrusivelist.qh.
Referenced by IL_ENDFRAME(), IL_INIT(), IL_REMOVE_RAW(), and ONREMOVE().