Talk:List of base entities
list of base.fgd entities ?
Am I right in assuming that this is a list of all entities described in the orangebox/bin/base.fgd ?
If so there seem to be quite a few missing ... there should be around 178 PointClass entities and 58 SolidClass (Brush) entities.
I'd be happy to help as long as I know what the plan is. --Beeswax 16:52, 26 Feb 2008 (PST)
- NPC entities described in base.fgd = npc_puppet and npc_furniture. All others are in Halflife2.fgd.
- No weapon_s or item_s are described in base.fgd. --Beeswax 21:07, 26 Feb 2008 (PST)
- If that's true, I think this page should be deleted. It's irrelevant: if you need to know its contents, you already have the list open in a text editor in front of you! A list of C++ base entity classes though - that would be useful. --TomEdwards 00:52, 27 Feb 2008 (PST)
- For the non-savvy user, the list on an .fgd file might be a little too frightening to skim through. I believe small, compact lists like these still help with that, if not only for the fact that they contain links to the entity pages. I wouldn't vote deleting unless it really serves no purpose at all. --Etset 03:11, 27 Feb 2008 (PST)
- Why would a non-savvy user even need to skim through it? The contents of base.fgd are only relevant for people making new entities, and if you can read C++ the FGD language is hardly a challenge. Anyway, I'm not proposing a deletion but a re-purposing. :-) --TomEdwards 07:35, 27 Feb 2008 (PST)
- Touché. Forget I ever spoke (or wrote...) :) I like lists ... ;) --Etset 14:44, 27 Feb 2008 (PST)
- If I understand correctly, base.fgd entities are available to all Source games, whereas halflife2.fgd entities are not available to DOD:S and CS:S, and probably other mods aswell. In practice, this means that some pieces of documentation (I'm thinking especially of tutorial entity-methods) are only applicable to certain games. Usually game-dependence is, quite understandably, not documented by tutorial authors. Another issue is exemplified by a note on tanktrain_aitarget (a base.fgd entity) saying it is deprecated by ai_changetarget (a halflife2.fgd entity)... In some circumstances this could create confusion. IMO flagging each entity page with their fgd (template) would seem like a useful safety net. --Beeswax 16:27, 29 Feb 2008 (PST)
- Touché. Forget I ever spoke (or wrote...) :) I like lists ... ;) --Etset 14:44, 27 Feb 2008 (PST)
- Why would a non-savvy user even need to skim through it? The contents of base.fgd are only relevant for people making new entities, and if you can read C++ the FGD language is hardly a challenge. Anyway, I'm not proposing a deletion but a re-purposing. :-) --TomEdwards 07:35, 27 Feb 2008 (PST)
- For the non-savvy user, the list on an .fgd file might be a little too frightening to skim through. I believe small, compact lists like these still help with that, if not only for the fact that they contain links to the entity pages. I wouldn't vote deleting unless it really serves no purpose at all. --Etset 03:11, 27 Feb 2008 (PST)
- base.fgd entities : Distinguishing which entities are available in which games/mods would be useful for this VDC wiki, but also particularly for mod documentation projects. OK, not much fun for non-savvy browsing, but a useful reference nonetheless. --Beeswax 09:32, 27 Feb 2008 (PST)
- Perhaps inline tags (eg {{fgd_base}} , {{fgd_halflife2}}, {{fgd_hl2mp}}, {{fgd_cstrike}}, {{fgd_dod}}, {{fgd_portal}}, {{fgd_tf}} etc) could be used to flag entity pages and simultaneously auto-populate categories for fgd base entities, fgd halflife2 entities, etc ? (A number of entity pages have already been 'flagged' using Template:Game-base and Template:Game). - again I'm happy to help but I'd like some assurance that I'm working within a sound conceptual framework :) --Beeswax 09:32, 27 Feb 2008 (PST)
eg Template:fgd_halflife2 = This entity is available in all [[Half-Life_2]]-based games.<includeonly>[[Category:FGD_Halflife2_Entities]]</includeonly>
eg Template:fgd_base = + This entity is available in all [[Source]]-based games.<includeonly>[[Category:FGD_Base_Entities]]</includeonly>
Base Classes
I think we all agree that huge lists like Category:Entities are less helpful than shorter, well-categorised and explained 'glossary' indices such as filter (6), constraint (9) and the awesome assaults (3). My guess is that the entity baseclasses are a good place to start but I would expect some (legacy) exceptions. I would certainly appreciate advice on how to approach this from people who really know how certain groups of entities work together in practice, and/or have a deeper (eg C++ level) understanding of baseclasses than the fgd provides. --Beeswax 09:32, 27 Feb 2008 (PST)
- Tom: Is a C++ base entity class the same as an fgd BaseClass? If so (there are 50 in base.fgd, and 18 in halflife2.fgd) I can help with that. --Beeswax 09:32, 27 Feb 2008 (PST)
- There's no correlation. Base classes in C++ are things like CBaseEntity, which everything, ever, is derived from, and CBaseActor, CBaseToggle (a brush entity), and so on. In FGDs they're used for layering up common properties, inputs and outputs of entities - not the entities themselves. --TomEdwards 11:04, 27 Feb 2008 (PST)
- Um. I was hoping that by sorting entity classnames into list/groups according to the fgd baseclasses they use, it would highlight common features, functionality and connections between entities, making the 'overview' clearer to the non-savvy browser. For example, a list of all entities with the "parentname" baseclass creates quite a good impression of the scope and function of the movement hierarchy system - at a glance. Does that sound like it might work ? Do you think that the C++ base classes would be a better angle to approach this laborious task ?--Beeswax 16:35, 27 Feb 2008 (PST)
- I don't think anyone would ever need to use it for that purpose. Why not just learn the entities as you need them? --TomEdwards 07:59, 28 Feb 2008 (PST)
- That's where I'm struggling! I'm thinking "I want to do such and such, now what do I need ?", not "what can I do with the few entities I'm familiar with ?" IMO there is not enough cross-referencing in the Entity pages, with the best will in the world, the Mediawiki wordsearch sucks, and the entity classname hierarchy is not always helpful, eg If you want a helicopter in your map you should be at least aware of npc_helicopter, npc_heli_avoidbox, npc_heli_avoidsphere, npc_heli_nobomb. An article explaining the ins and outs of BaseHelicopter Entities would cover tricks and tips common to using npc_helicopter, npc_combinegunship and npc_combinedropshipsuch as pointing to info_node_air, info_node_air_hint, etc. OK that's an easy example but there are more subtle ones. Entities appear, more often than not, to fall into family groups: eg I know I need a node for my nodegraph problem, but should I use an info_hint or info_node or another kind of node that I haven't come across yet ?. What I'm suggesting is some system for linking all these related elements together - and categories seems like an obvious place to start. I'm wondering if fgd baseclass system is the family tree that underlies those practical groupings. --Beeswax 14:26, 28 Feb 2008 (PST)
- Make no mistake, I've nothing against the list. It's just using up a URL that could be put to better use. --TomEdwards 07:59, 28 Feb 2008 (PST)
- Fair enough, but I don't think this URL lends itself to dealing with base classes (C++ or fgd!) - within the context of VDC entities refers specifically to game / map entities. IMO a list of Source Base Entities is significant, and so I've provided a (I hope!) complete one below. I shied away from simply overwriting the article! Actually as a side note, apart from the obviously missing (or wrongly titled?) entity pages, there were about half a dozen that are not included in the main Entities Category ... --Beeswax 14:33, 28 Feb 2008 (PST)
- Huh. I must have been assuming that the name article was the same name as this thread's subheading. I'm going to go away now. --TomEdwards 11:02, 29 Feb 2008 (PST)
- Reading back, it seems I was aware of the difference at first and all. Well...I've changed my mind since. :-p --TomEdwards 11:03, 29 Feb 2008 (PST)
- Huh. I must have been assuming that the name article was the same name as this thread's subheading. I'm going to go away now. --TomEdwards 11:02, 29 Feb 2008 (PST)
- Fair enough, but I don't think this URL lends itself to dealing with base classes (C++ or fgd!) - within the context of VDC entities refers specifically to game / map entities. IMO a list of Source Base Entities is significant, and so I've provided a (I hope!) complete one below. I shied away from simply overwriting the article! Actually as a side note, apart from the obviously missing (or wrongly titled?) entity pages, there were about half a dozen that are not included in the main Entities Category ... --Beeswax 14:33, 28 Feb 2008 (PST)
- LoL - no problem. I vote we delete this "Base Classes" section or move it somewhere else? --Beeswax 15:42, 29 Feb 2008 (PST)
complete list - alphabetical
This is a list of all the entities described in base.fgd.
This means that these entities are available to Day of Defeat: Source and Counter-Strike: Source as well as Half-Life 2-based games and mods.
Entities are listed in alphabetical order by classname, and those indented are brush-based entities.
- ai_speechfilter
- ambient_generic
- -- color_correction_volume //EP1?
- color_correction //EP1?
- cycler
- env_beam
- env_beverage
- env_blood
- -- env_bubbles
- env_credits
- env_cubemap
- env_dustpuff
- env_effectscript
- -- env_embers
- env_entity_igniter
- env_entity_maker
- env_explosion
- env_fade
- env_fire
- env_firesensor
- env_firesource
- env_fog_controller
- env_funnel
- env_hudhint
- env_laser
- env_lightglow
- env_message
- env_microphone
- env_particle_performance_monitor
- env_particlelight
- env_particlescript
- env_physexplosion
- env_physimpact
- env_player_surface_trigger
- env_projectedtexture //EP1?
- env_rotorshooter
- env_rotorwash_emitter //EP1?
- env_screeneffect //EP1?
- env_screenoverlay
- env_shake
- env_shooter
- env_smokestack
- env_smoketrail
- env_soundscape_proxy
- env_soundscape_triggerable
- env_soundscape
- env_spark
- env_splash
- env_splash
- env_sprite_oriented
- env_sprite
- env_spritetrail //EP1?
- env_steam
- env_sun
- env_texturetoggle
- env_tonemap_controller
- env_viewpunch //EP1?
- env_wind
- env_zoom
- filter_activator_class
- filter_activator_mass_greater //EP2?
- filter_activator_name
- filter_damage_type
- filter_enemy //EP1?
- filter_multi
- -- func_areaportal
- -- func_areaportalwindow
- -- func_breakable_surf
- -- func_breakable
- -- func_brush
- -- func_button
- -- func_clip_vphysics
- -- func_conveyor
- -- func_detail
- -- func_door_rotating
- -- func_door
- -- func_dustcloud
- -- func_dustmotes
- func_fish_pool
- -- func_guntarget
- -- func_illusionary // "Legacy support. Use func_brush instead."
- func_ladderendpoint
- -- func_lod
- -- func_movelinear
- -- func_occluder
- -- func_physbox
- -- func_platrot
- -- func_precipitation
- -- func_reflective_glass
- -- func_rot_button
- -- func_rotating
- -- func_smokevolume
- -- func_tanktrain
- -- func_trackautochange
- -- func_trackchange
- -- func_tracktrain
- -- func_traincontrols
- func_useableladder
- -- func_viscluster //EP2?
- -- func_wall_toggle //"Legacy support. Use func_brush instead."
- -- func_wall //"Legacy support. Use func_brush instead."
- -- func_water_analog
- -- func_water
- game_end
- game_gib_manager //EP1?
- game_player_equip
- game_player_team
- game_ragdoll_manager
- game_score
- game_text
- game_ui
- game_weapon_manager
- -- game_zone_player
- gibshooter
- hammer_updateignorelist //EP2?
- info_camera_link
- info_constraint_anchor
- info_hint
- info_intermission
- info_ladder_dismount
- info_landmark
- info_lighting
- info_mass_center
- info_no_dynamic_shadow
- info_node_air_hint
- info_node_air
- info_node_climb
- info_node_hint
- info_node_link_controller
- info_node_link
- info_node
- info_npc_spawn_destination
- info_null
- info_overlay_transition //EP1?
- info_overlay
- info_particle_system //EP2?
- info_player_start
- info_projecteddecal
- info_radial_link_controller //EP1?
- info_target
- info_teleport_destination //"Legacy support. Use info_target instead."
- infodecal
- light_dynamic
- light_environment
- light_spot
- light
- logic_active_autosave //EP2?
- logic_auto
- logic_autosave
- logic_branch_listener //EP1?
- logic_branch
- logic_case
- logic_collision_pair
- logic_compare
- logic_lineto
- logic_measure_movement
- logic_multicompare
- logic_navigation
- logic_playerproxy //EP1?
- logic_relay
- logic_timer
- material_modify_control
- math_colorblend
- math_counter
- math_remap
- -- momentary_rot_button
- npc_furniture
- npc_puppet
- npc_template_maker
- path_track
- phys_ballsocket
- phys_constraint
- phys_constraintsystem
- phys_convert
- phys_hinge
- phys_keepupright
- phys_lengthconstraint
- phys_magnet
- phys_motor
- phys_pulleyconstraint
- phys_ragdollconstraint
- phys_ragdollmagnet
- phys_slideconstraint
- phys_spring
- phys_thruster
- phys_torque
- physics_cannister
- point_anglesensor
- point_angularvelocitysensor
- point_bonusmaps_accessor
- point_clientcommand
- point_devshot_camera
- point_enable_motion_fixup
- point_gamestats_counter
- point_hurt
- point_message
- point_playermoveconstraint
- point_posecontroller //EP2?
- point_proximity_sensor
- point_servercommand
- point_spotlight
- point_teleport
- point_template
- point_tesla
- point_velocitysensor
- point_viewcontrol
- prop_detail
- prop_door_rotating
- prop_dynamic_ornament
- prop_dynamic_override
- prop_dynamic
- prop_physics_multiplayer
- prop_physics_override
- prop_physics
- prop_ragdoll
- prop_static
- shadow_control
- sky_camera
- tanktrain_ai
- tanktrain_aitarget //"Legacy support. Use ai_changetarget instead."
- test_traceline
- -- trigger_autosave
- -- trigger_changelevel
- -- trigger_gravity
- -- trigger_hurt
- -- trigger_impact
- -- trigger_look
- -- trigger_multiple
- -- trigger_once
- -- trigger_playermovement
- -- trigger_proximity
- -- trigger_push
- -- trigger_remove
- -- trigger_serverragdoll //EP1?
- -- trigger_soundscape
- -- trigger_teleport
- -- trigger_transition
- -- trigger_wind
- vgui_screen
- vgui_slideshow_display
- water_lod_control
- -- worldspawn
checksum n items (178@pointclass, 58@solidclass, 6@filterclass, 0@npcclass) by Beeswax 00:46, 7 Apr 2008 (PDT)