Template talk:This is a: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
 
(108 intermediate revisions by 16 users not shown)
Line 1: Line 1:
{{Discussion page}}
{{Discussion page}}


== Is the suffix really neccessary since {{tl|autolang}} ekzists? ==
{{Archives|
{{Message
[[Special:Redirect/revision/440403|Archive 1]]
| user = Amicdict
| time = 5:34, 1 Apr 2023
| edited = 5:35, 1 Apr 2023
| It seems to be quite redundant now that page translations use / to be the subpage.
}}
}}
{{clr}}
== Auto category feature is quite problematic ==


{{Message
This template automatically adds pages to categories based on the "game" parameter, however if you set the game parameter as tf2, it won't try to add it to "Team Fortress 2 entities", it'll try to add it to "tf2 entities"! Surely there's someway the acronyms could be converted to the full names? Isn't that pretty simple template stuff? There's also some other quite big problems, which I mentioned [[Category_talk:Entities_by_game|here]]. --[[User:Wisdurm|Wisdurm]] ([[User talk:Wisdurm|talk]]) 13:28, 7 Jan 2024
| user = THE OWL
 
| time = 13:42, 1 Apr 2023
== Minor grammar nitpick ==
| edited = 13:58, 1 Apr 2023
 
| {{Param|suf}} should be removed from all templates and replaced with {{tl|Autolang}}, but not now. Now such deletion can cause mixing of languages, which not everyone may like. Actually, this is not such a problem, but in some templates it's better to leave {{Param|suf}} until {{tl|Lang}} is completely replaced by {{tl|MultiPage}}.
Not sure if it's something that should really be bothered with fixing (since it seems quite difficult and not very important) but the line "...is a internal point entity..." is incorrect grammar and should instead be "is <b>an</b> internal point entity" since "internal" starts with a vowel. Again, very minor thing that would be annoying to figure out since only some of the entity types start with vowels.
}}
Now that you point that out, it bugs me to. Should be an easy fix; just move the the a/an, so you have "this is" + "a thingy" instead of "this is a" + "thingy". --[[User:SirYodaJedi|SirYodaJedi]] ([[User talk:SirYodaJedi|talk]]) 0:04, 20 May 2024 --[[User:Wisdurm|Wisdurm]] ([[User talk:Wisdurm|talk]]) 21:45, 19 May 2024
 
That's a good solution for English rules that I'm not against implementing, but I feel like there should be a more general method for the type having an effect on the other strings; for example, the Spanish strings for "This", "cut", and "internal" all depend on the grammatical gender of the noun.
I'd also note that if we can get a version of {{w|template:delink}} working, then {{tl2|a or an}} could be used. Unfortunately, since Wikipedia switched their delink template to use a module, they deleted {{w|Template:Delink/phase_1_a}}, so I have no idea how the template works. However, I bet a version of it is floating around some wiki somewhere. --[[User:Pee|Pee]] ([[User talk:Pee|talk]]) 0:27, 20 May 2024
 
The other option I see that I think makes the most sense is to make separate subpages for different clauses in different languages, such as {{tl2|this is a/a or an}} or {{tl2|this is a/Spanish gender}} that get called in {{tl2|this is a/strings|this is a}}. This system should scale for an arbitrary number of languages. --[[User:Pee|Pee]] ([[User talk:Pee|talk]]) 1:03, 20 May 2024
 
== Categories ==
 
Is sorting entities by game AND type really necessary? For instance [[env_skypaint]], which would previously have been in [[:Category:List of Garry's Mod entities]], is now added to [[:Category:Garry's Mod point entities]]. I feel like having a category just for entities for a specific game is much more helpful & practical since most games don't add hundreds of entities, though I guess in theory if you wanted to you could have both.
I do realize this was mentioned in [[Special:Redirect/revision/440403#Rewrite|rewrite]], so sorry for not saying anything about it back then.
Also entity list pages on the wiki are kind of a mess in general right now, they should probably all be redone using the [[Help:Automation#Entity_Lists|script]]. --[[User:Wisdurm|Wisdurm]] ([[User talk:Wisdurm|talk]]) 17:07, 24 May 2024
 
 
:I decided to split the subcategorization into several different parts. A page with the template {{code|<nowiki>{{this is a|point entity|cut=1|internal=1}}</nowiki> }} will now be in the categories [[:Category:Cut Source base entities|Cut Source base entities]], [[:Category:Internal Source base entities|Internal Source base entities]], [[:Category:Source base entities|Source base entities]], and [[:Category:Source base point entities|Source base point entities]]. I'd assume all but [[:Category:Source base entities|Source base entities]] would be hidden categories. --[[User:Pee|Pee]] ([[User talk:Pee|talk]]) 21:20, 24 May 2024
 
== Possible removal of {{tl2|game icon}} ==
 
I was wondering whether or not keeping {{tlc|game icon}} would be a good choice. Ultimately at the end of the day it relies on {{tl2|game icon name}}, which is just another template that needs constant updates. In the current form of this template you could remove all instances of {{tlc|game icon}} and things would mostly work fine. Of course this would necessitate the creation of templates like [[Template:Garry's Mod]] and [[Template:Left 4 Dead Series]], but overall I think it'd just be less of a pain.<br>This is of course simply a matter of preference and I don't really mind either way, just curious to see other opinions. --[[User:Wisdurm|Wisdurm]] ([[User talk:Wisdurm|talk]]) 8:47, 7 Jun 2024
I think I created that template back then because there were/are cases where you have the full game name but you need its shortcut in order to get its icon. {{tlc|game icon}} was supposed to separate the name list template and a template that you can use that simply puts that result into template brackets for direct use. Now, if I understood you correctly, the idea is to instead create the templates {{tl2|Half-Life 2}} etc. that have the same effect (or are a redirect to) {{tl2|hl2}}, etc.? Well, I think the idea may be good because it causes less (expensive) template calls, but that's not much that I can tell. The idea doesn't seem bad to me, or would we pollute the existing pages more if we created that number of "duplicates"? I don't know whether that is a problem or not. But what I would appreciate is if we can reduce page load times by getting all those template calls more efficient. (Although I'm not sure to what extent this may be caused by templates related to either games or i18n or...) --[[User:Popcorn|Popcorn]] ([[User talk:Popcorn|talk]]) 14:26, 8 Jun 2024


== Parameter nocat=1 should prevent any categories ==
:I'd prefer the default to be no icons AND no colours, so game/engine links parsed into the template would just cause it to render plain links (in bold). Looking at so many pages is just like reading posts from someone who uses emojis 3 times per sentence. [[User:Cvoxalury|Cvoxalury]] ([[User talk:Cvoxalury|talk]]) 13:29, 21 June 2024 (PDT)


I want to use it in the See also sections and along the text. [[User:Lxm6|Lxm6]] ([[User talk:Lxm6|talk]]) 11:35, 9 April 2023 (PDT)
::The issue with removing the template entirely is that it gets rid of automatically translated titles. For example, this will render differently in English and Chinese: {{hl2|4}}. The most efficient way to redo this would be to create a template called {{tl2|Half-Life 2}} with the following as its contents:
::{{codeblock|<nowiki>{{#switch:{{intlang}}
|#default = [[Half-Life 2]]
|zh = [[Half-Life 2|半衰期2]]
}}</nowiki>}}
::From here, there are 2 ways to go:


== The text available in all games can be misleading ==
::1. Force {{tl2|this is a}} to link to {{tl2|Half-Life 2}}. A red template link will appear if the template doesn't exist, so it's easier for people to figure out what's going on.


{{Message
::2. Check if {{tl2|Half-Life 2}} exists, and if it doesn't, then instead just link to the raw text of the parameter <code>game</code>. The issue with this solution is that it a template with 5 games will have 5 #ifexist functions on it, which could contribute significantly to the limit of 100. There's a way to implement it without #ifexist, but it turns out that it's actually slower than #ifexist. ―[[User:Pee|Pee]] ([[User talk:Pee|talk]]) 20:02, 21 June 2024 (PDT)
| user = Lxm6
| time = 6:10, 5 Jul 2023
| See {{ent|ai_network}} for example.
{{Message
| user = SirYodaJedi
| time = 12:58, 5 Jul 2023
| +1
}} }}


== Add an option to suppress all cats ==
::: Since the recent changes to the language handling (prefixes, LanguageBar, L-template etc), did it affect this situation? Can putting the icons away be brought up again? [[User:Cvoxalury|Cvoxalury]] ([[User talk:Cvoxalury|talk]]) 11:10, 20 July 2024 (PDT)
:::: I don't think there needs to be a change in regards to icons and colored text in 'This is a' template. It's quick way to see what game/engine the given thing is in without having to really read it and it looks fine [[User:Nescius|Nescius]] ([[User talk:Nescius|talk]]) 12:03, 20 July 2024 (PDT)
::::: The coloured text has different contrast on each title, with some like Ricochet, Xengine, Vance, or Trenchbroom being quite bad. The reds, purples and browns are generally bad. There's even grey text ones like VBSP, VVIS, VRAD, VHLT, with both dark grey icon and grey text, which staggers the mind. If it's icons and no text ("only in", "since") it requires memorising what they are or waiting for hover on each. [[User:Cvoxalury|Cvoxalury]] ([[User talk:Cvoxalury|talk]]) 12:43, 20 July 2024 (PDT)
::::: I guess I'll at least try to tweak some of these colours a bit so they're not so neon bright or dull (I'll be careful). Still think the icons were a mistake to begin with, especially why have them at the very beginning of articles when it's already about the subject. [[User:Cvoxalury|Cvoxalury]] ([[User talk:Cvoxalury|talk]]) 12:49, 20 July 2024 (PDT)


{{Message
== Entities that can be either brush or point entities ==
| user = Lxm6
| time = 8:18, 8 Jul 2023
| See weapon_ak47 for example.
}}


== 3 extra categories out of nowhere with Weapon ak47 ==
Some entities, such as [[func_tank (GoldSrc)]] and [[func_team_wall]] can be used as either a brush entity or a point entity; there should be some way of properly noting this.<br/>— [[User:SirYodaJedi|SirYodaJedi]] ([[User_talk:SirYodaJedi|talk]]) 12:11, 29 June 2024 (PDT)
{{Message
| user = Lxm6
| time = 0:55, 9 Jul 2023
| I don't see them in my sandbox2, which is what I expect.
}}


{{Message
| user = Lxm6
| time = 8:22, 9 Jul 2023
| I seems like BasicCSseriesWeapon is to blame this time.
}}


== New template name is terrible (resolved) ==
== Non-fgd entities ==


{{Message
So the distinction between point/brush entity is purely a FGD thing if I understand correctly. It would be probably worth having a param for entities that are not in fgd at all [[User:Nescius|Nescius]] ([[User talk:Nescius|talk]]) 16:57, 29 July 2024 (PDT)
| user = SirYodaJedi
| time = 19:18, 16 Aug 2023
| "Format" is too generic a template name, when literally everything on a wiki consists of formatting.
}}


{{Message
: Why not. What would it be called, just "non-fgd entity", or "undefined" entity perhaps? "non-fgd" is a bit inelegant (and translation could be an issue) but otherwise gets the point across...
| user = Pee
: Would it remove the need for a separate little banner about non-fgd entities?
| time = 0:01, 17 Aug 2023
: (the distinction between point and brush depends on whether it's engine-centric POV, fgd/hammer-centric, compiler-centric, but there's no need to get into it really. For purposes of this it's enough to call it "purely FGD thing", lest we find ourselves questioning if areaportals and occluders are brush entities (in editor) or point entities (by the time they're processed in the game, they are)) [[User:Cvoxalury|Cvoxalury]] ([[User talk:Cvoxalury|talk]]) 08:49, 30 July 2024 (PDT)
| edited = 3:55, 17 Aug 2023
:: What I went with on few pages is simply "This is a [[entity]]" but non-fgd entity sounds also good considering that can get rid of the non fgd notice at top of the page for such entities. The notice will still be used for entities that are in fgd only for certain games because it contains info about which games is the given entity not in fgd.
| I'm somewhat inclined to agree, I think something along the lines of "engine element" would fit better. Any other ideas?
:: Or maybe create a new name for it like "technical entity" because really stuff like [[cs_team_manager]], [[spraycan]] or even just [[player]] which are not usable in any way by adding them to the map in hammer. Though there are still some entities that are not in fgd but are usable if added to fgd like [[weapon_smg]]
}}
:: On another topic it would be also worth adding info about [[:Category:CServerOnlyEntity|server side entity]] like "This is a server-side point entity" for example which is very useful to know considering there are 2 limits one for edicts which crashes the game when exceeded and the other for server side entities which doesn't crash the game but only leaves warning in console --[[User:Nescius|Nescius]] ([[User talk:Nescius|talk]]) 09:20, 30 July 2024 (PDT)
:Since non-fgd entities can be still be added to FGDs, I think it'd make more sense to treat them like so:
:* Has [[bmodel]]? Brush entity.
:* Has {{mono|origin}} KV but no brushwork? Point entity.
:* Doesn't normally have brushwork or origin KV? Just entity.
:This is basically how map editors distinguish between brush and point entities already.<br/>— [[User:SirYodaJedi|SirYodaJedi]] ([[User_talk:SirYodaJedi|talk]]) 07:57, 14 September 2024 (PDT)
::Every entity has origin keyvalue so not sure what you mean there. Entity that uses a brush and is not in any fgd indeed feels correct to call brush entity but it's not really if we consider brush entity = entity defined in fgd as brush entity. And if it's not defined in any official fgd I think it's fine to keep as just entity and all such cases will probably be entities not really meant to be placed by hammer. There are several entities that are brush entities but would also work by setting their mins/maxs and solid keyvalue to 2 instead of using a brush. Maybe wouldn't be bad to just call them non-fgd entities ? Or something new like technical entity since they are not meant for hammer use but are automatically created by other means --[[User:Nescius|Nescius]] ([[User talk:Nescius|talk]]) 10:17, 14 September 2024 (PDT)
:::{{quote|Every entity has origin keyvalue so not sure what you mean there.}} Keyword "normally", as in the KV actually being written to (either in the BSP itself or when dynamically created in RAM), and not defaulting to [[origin|triple zero]]. For example (IMO), [[info_ladder]] should just be "entity" like it currently is, since it isn't written with an origin. [[func_simpleladder]], by comparison, contains a bmodel, so it should be "brush entity" instead.<br/>— [[User:SirYodaJedi|SirYodaJedi]] ([[User_talk:SirYodaJedi|talk]]) 13:45, 5 April 2025 (PDT)


{{Message
== internal entities ==
| user = Popcorn
| time = 8:46, 17 Aug 2023
| How about {{tl2|this is a}}. In my utopia, I'm thinking of readable wikitext such as {{tlc|this is a|convar}}, {{tlc|this is a|point ent|since=hl2}} and so forth. This would require parameters to be swapped (but maybe this can be done when this page is moved once again):
*{{param|1}} &rarr; {{param|name|{{tlc|PAGENAME}}}}
*{{param|type}} &rarr; {{param|1|{{param|type}}}}
}}


{{Message
Internal entities should probably say something different than "available in '''games'''". After all they are not really available in any game but just in the compilers. Can be argued that prop_static is available in-game but thing like func_viscluster is in no way represented in-game--[[User:Nescius|Nescius]] ([[User talk:Nescius|talk]]) 08:11, 2 September 2024 (PDT)
| user = Equalizer5118
| time = 16:09, 17 Aug 2023
| I like that idea. I also am thinking of maybe something like {{tl2|introtext}} or similar, as that is more accurate to what it is. Its the introtext for entity, shader, convar, etc. articles
}}


{{Message
== Add multiple "name" parameters. ==
| user = Pee
| time = 0:44, 18 Aug 2023
| If we went that route, we should probably do {{tl|link=intro text}} as 2 words, and {{tl|link=introtext}} as a redirect to the 2 word template
}}


{{Message
Code is hard to understand and i don't even have time either so can somebody add multiple "{{code|name}}" parameters (name1, name2, and so on, like {{code|engine1}}), so this template can be added on pages like [[counterterrorist_team_intro]] and [[info_player_counterterrorist]]. --[[User:Kr0tchet|leonidakarlach]] ([[User talk:Kr0tchet|talk]]) 04:46, 10 February 2025 (PST)
| user = Theki
| time = 18:36, 4 Sep 2023
| "Intro text" as a name sounds far too general. I'm aware that most of the introductory paragraphs on this wiki are just explanations of what an entity is, but there are other articles here that don't conform to that, and naming the template like that's not the case and ''every'' introductory paragraph follows that one specific format seems far too broad to me. {{tl2|This is a}} makes more sense, IMO.
}}


{{Message
:Done. --[[User:N0one|N0one]] ([[User talk:N0one|talk]]) 11:21, 10 February 2025 (PST)
| user = Popcorn
| time = 18:48, 5 Sep 2023
| I agree. {{tlc|This is a}} speaks much more for itself as opposed to {{tlc|intro text}}. Apart from that, it is a sentence, not a text.
}}


{{Message
== Internal "shader parameters" ==
| user = SirYodaJedi
| time = 13:56, 6 Sep 2023
| I guess I'll vote for {{t|this is a}}.
}}


{{Message
When making [[%alphatexture]], I noticed that using the internal flag added it to the list of "Internal Garry's Mod entities". Is there a better way of handling VMT parameters that aren't used by the material system?<br/>— [[User:SirYodaJedi|SirYodaJedi]] ([[User_talk:SirYodaJedi|talk]]) 14:50, 20 March 2025 (PDT)
| user = Equalizer5118
| time = 21:23, 6 Sep 2023
| That name makes more sense, I agree
}}


{{Message
== multiple names not working properly for qc commands ==
| user = Nescius
| time = 8 Sep 2023
| What's the point of this ? Since entity template has been made there are still a lot of entity pages with old "point ent" and "brush ent" with shining deprecated text at the top and you already want to change that to "this is a" ? I vote against this unless someone is actually willing to replace all the entity templates fast and not just hope others will do it for them.
}}


{{Message
See [[$keepbone_and_$protected_(GoldSrc)]]. I can set {{param|name0}}, in which case the "this is a" text renders correctly but the title is wrong, or I can set {{param|name0}}, in which case the title is correct but the "this is a" text says "this are QC commands"{{sic}}.<br/>— [[User:SirYodaJedi|SirYodaJedi]] ([[User_talk:SirYodaJedi|talk]]) 12:01, 25 March 2025 (PDT)
| user = Popcorn
:notitlechange param is available for this template --[[User:Nescius|Nescius]] ([[User talk:Nescius|talk]]) 12:04, 25 March 2025 (PDT)
| time = 10:22, 8 Sep 2023
| Thanks for the reminder. I removed the deprecated texts on the entity pages for that matter since they only serve the purpose of informing a handful of wiki editors. For everyone else it is probably just irritating because in fact those pages aren't broken at all. We can still find "deprecated" templates being used anyway using ''What Links Here'', we don't need that notice.<br>I don't see a ''big'' problem due to this template replacement. We ''could'' take our time and replace occurrencies whereever we see them and maybe, ''maybe'', we'll find no more pages using point ent at some point. To be honest, it may not be the smartest idea and I'm unsure of whether this will happen at all (currently 656 pages with no namespace must be using point ent) but at least the creation of a newer point ent template, {{tlc|this is a}}, can be a silent process and new pages should use it. At least if I'm not missing something while typing this.
}}


== Recent changes to parameters ==
== point and brush entities ==


{{Message
So I wonder what if it would be good idea for "point entity" and "brush entity" options to say
| user = Equalizer5118
*"xxx is available in [[FGD]] as point entity in/since etc. ..."
| time = 16:13, 8 Sep 2023
*"xxx is available in [[FGD]] as brush entity in/since etc. ..."
| Look, there is improving the template and then there is entirely reworking it! Backwards compatibility with old pages is something we should focus on, and not just randomly changing what parameters do what. We shouldn't have to create "template redirect" pages that are just pages that just use the template. We should be able to just redirect to the root template page. I don't fully understand the changes made (type being moved to 1, moving the name to name) had to be made. The parameters were fine.
}}


{{Message
while entities that are non-fgd would simply specify "entity" and say what is says now
| user = Popcorn
*"xxx is an entity available in/since etc. ..."
| time = 22:16, 8 Sep 2023
| I find this a bit irritating. A few messages above, you liked that idea, didn't you? I don't quite understand what you mean by those template redirects and what the aim of those should be; I don't think there should be template redirects in the first place. Surely you cannot simply replace every occurrence of "Format" with "This is a" if the intention was to have {{tlc|This is a|point|name{{=}}info_player_start}} instead of {{tlc|Format|info_player_start|type{{=}}point}}. But surely it would have been nice if it was that simple. Should the parameter change be reverted?
}}


{{Message
pros:
| user = Equalizer5118
* makes it clear what being point/brush entity means
| time = 1:50, 9 Sep 2023
* when somebody makes a page with some technical non-fgd entity they will realize they shouldn't say it's "point entity"
| I agreed to having the template name changed, not the parameters. I just don't understand why the type parameter was exchanged for 1 and why 1 was moved to name. It didnt seem to make sense to me. The template name change I agree with, but it's the parameter changes, which have remained the same for years, that I don't really get
* gives better idea in which games the entity is actually more useful or intended for use like [[trigger_auto_crouch]]
}}
* FGD link right in first sentence and could probably link to a page that would list all official fgds so any fgd is 2 clicks away


{{Message
cons:
| user = Popcorn
* bunch of pages would need updating like [[env_global]] which says in all source games currently. (all such pages are those that transclude {{T|Ent not in fgd}})
| time = 2:57, 9 Sep 2023
* maybe some confusion in some cases ?
| For the readability, I described the parameter swapping above. {{tlc|This is a}} wouldn't make that much sense if you still had to type {{tlc|This is a|type{{=}}point|info_player_start}} or {{tlc|This is a|info_player_start|type{{=}}point}}.
--[[User:Nescius|Nescius]] ([[User talk:Nescius|talk]]) 12:42, 5 April 2025 (PDT)
}}


{{Message
:Possibly confusing because it's much more spotty which entities are available in the FGD, whereas in-game availability is more consistent.<br/>— [[User:SirYodaJedi|SirYodaJedi]] ([[User_talk:SirYodaJedi|talk]]) 13:50, 5 April 2025 (PDT)
| user = Theki
::What about separation into brush, model, logical and point entity ? [https://developer.valvesoftware.com/w/index.php?title=Your_First_Entity&oldid=1155 This article] written by valve employee supports that but doesn't include the point entity though which would in this case mean "uses its origin for something" like info_target,
| time = 20:50, 10 Sep 2023
::* brush entity - uses a brush
| {{Quote|Backwards compatibility with old pages is something we should focus on, and not just randomly changing what parameters do what.}}I agree with this for the most part. Ideally it should be something similar to how the move from {{t|Lang}} to {{t|MultiPage}} was handled. Those are two very different implementations of the same feature that can't just be swapped over but the way they're handled at least doesn't break things; and I haven't seen the full scale of what the change to {{tlc|This is a}} has done, but ideally it should break as few things as possible – same functionality across ''Entity'', ''Format'', and ''This is a'' at the least, and a deprecation notice at the most. This wouldn't really be a problem if there was no change to this in the first place. The old ''Entity'' template name and format was fine. It was confusing and required me to reference the documentation frequently, but it wasn't even close to inconvenient. The two different name changes are what have made this whole situation really convoluted, and right now we're kind of seeing the consequences of our indecisiveness with all of this.
::* model entity - uses studio model (basically all derived from CBaseAnimating)
::* logical entity - its origin is not used for anything (not necessarily derived from CLogicalEntity as logic_auto, info_gamemode, shadow_control would still fall into this category, even auto spawned entities used for managing some stuff like soundent, terror_gamerules could fall here)
::* point entity - its origin is used for something (info_target, info_player_start, env_sprite, info_particle_system pretty much all of these would be derived from CPointEntity) <br>--[[User:Nescius|Nescius]] ([[User talk:Nescius|talk]]) 13:18, 9 April 2025 (PDT)


The template displays fine on webpages when using both previous syntaxes and namings. I think this should be handled in a similar manner to the Lang to Multipage conversion where a deprecation notice is placed but ''at the same time'' that doesn't seem highly necessary because whereas Lang was inferior to Multipage in terms of functionality, at this point in time, with the way most pages use the old template versions there's no difference in how they operate so they're all basically identical.
:::That seems like a good way of splitting it for Source, although it becomes fuzzier when you apply the same template to GoldSrc (env_sprite is often used for studio models, MDLs can be used on brush entities with zhlt_usemodel [which really just rearranges the entity lump so that the model is precached with a different entity first], CBaseAnimating is used by func_door and func_illusionary, DMC items don't use CBaseAnimating, etc).<br/>— [[User:SirYodaJedi|SirYodaJedi]] ([[User_talk:SirYodaJedi|talk]]) 13:58, 9 April 2025 (PDT)
::::Not sure how to deal with that in regards to goldsrc but I assume those rather hacky way to use those entities. Being model entity doesn't strictly needs to mean it's using CBaseAnimating but rather that it's meant to render a studio model which would in I assume 99.9% cases using CBaseAnimating--[[User:Nescius|Nescius]] ([[User talk:Nescius|talk]]) 15:27, 9 April 2025 (PDT)
:::::It is somewhat hacky, yes, but sometimes it's intended behavior, like in {{czds}}, where func_tank actually precaches MDLs defined in its model KV, and they actually used it that way in the vanilla game (instead of the obvious solution of making an env_tank alias, but I guess Radiant was less picky about brush entities being used as point entities than Worldcraft).<br>Looking at env_sprite's code, it is basically a model entity, even in Source.<br/>— [[User:SirYodaJedi|SirYodaJedi]] ([[User_talk:SirYodaJedi|talk]]) 06:25, 10 April 2025 (PDT)
::::::The main purpose entity was made for is usually clear and if entity can be meaningfully used differently it can be noted. The func_tank case also precaches the model so they also modified the entity further for {{czds}}. It would be possible for example for logic_auto to draw a brush model too as it's derived directly from CBaseEntity and nothing in code is stopping it, but it's without a doubt logical entity --[[User:Nescius|Nescius]] ([[User talk:Nescius|talk]]) 11:14, 10 April 2025 (PDT)
:::::::In case it was unclear, I don't think your suggestion was a bad idea; I just needed to play devils advocate to clarify edge cases.<br/>— [[User:SirYodaJedi|SirYodaJedi]] ([[User_talk:SirYodaJedi|talk]]) 06:44, 11 April 2025 (PDT)
::::::::This is the idea kinda [[User:Nescius/entity]]. Also added type "semi-internal" there which might be useful --[[User:Nescius|Nescius]] ([[User talk:Nescius|talk]]) 18:59, 14 April 2025 (PDT)


In my opinion the best thing to do is to just let it be and notify editors to replace [[Special:WhatLinksHere/Template:Entity|usages of Entity]] and [[Special:WhatLinksHere/Template:Format|usages of Format]] with {{tlc|This is a}}. It's going to be a lot of cleanup but it's not something that's immediately detrimental to readers or – from my experience, at least – editors.
== semi-internal ==


'''Edit:''' I've looked at the code for the old versions and it is very, very bad. Looking back I didn't actually envision that the new syntax would mess things up ''this'' much, and I think this is far too egregious. Probably would have been better to just go back to using {{tlc|Entity}} but we're past that point already. In this case the amount of hurdles the old code needs to jump through just to get it to look identical to the new version is really not great and a deprecation notice ''is'' necessary, I feel. This is going to impact page load times even if it's not very noticeable.
Thinking of adding semi-internal as a type of entity. This would signify that the entity is non-internal but huge portion of its functionality is taken care of by compiler and the entity is pretty much useless without compiler doing its job. So for example light entities which are taken care of mostly by vrad along most of their keyvalues, [[func_detail_blocker]] which is used to block detail sprite during compile and the entity doesn't do anything in-game other than exist, [[func_areaportal]] which is effectively point entity in game and has no brush, probably also [[info_overlay_accessor]] but haven't looked much into that one. --[[User:Nescius|Nescius]] ([[User talk:Nescius|talk]]) 12:35, 20 April 2025 (PDT)
}}
:Sounds like a good idea. Would [[info_null]] also count, since it's deleted as soon as it spawns?<br/>— [[User:SirYodaJedi|SirYodaJedi]] ([[User_talk:SirYodaJedi|talk]]) 13:09, 20 April 2025 (PDT)
::No because compiler doesn't do anything special with info_null and just puts it in entity lump --[[User:Nescius|Nescius]] ([[User talk:Nescius|talk]]) 13:12, 20 April 2025 (PDT)
:::Okay, that makes sense. I think [[info_overlay_accessor]] would indeed qualify then.<br/>— [[User:SirYodaJedi|SirYodaJedi]] ([[User_talk:SirYodaJedi|talk]]) 13:12, 20 April 2025 (PDT)
::::Still not sure about that one. Because it seems compiler only checks if info_overlay has targetname and then creates info_overlay_accessor with that overlays' ID which is something that can be done manually after compile as well by checking desired overlay id and spawning the info_overlay_accessor via vscript. Which would be very similar to how [[func_simpleladder]] works in which case compiler simply checks which side of func_ladder has laddertexture and adds func_simpleladder with normal.x/y/z keyvalue being set based on that. Now if compiler somehow modified named info_overlay to allow info_overlay_accessor to work (and otherwise would not be usable) it would be indeed semi-internal without question --[[User:Nescius|Nescius]] ([[User talk:Nescius|talk]]) 13:22, 20 April 2025 (PDT)


{{Message
== since ==
| user = Popcorn
| time = 17:34, 11 Sep 2023
| {{Quote|It's going to be a lot of cleanup but it's not something that's immediately detrimental to readers or – from my experience, at least – editors.}}
Absolutely. As long as no one gets the great idea to redirect a different template to this, then there's no need to worry.


The parameter change that I proposed is described just a bit further up in this discussion page. The [https://developer.valvesoftware.com/w/index.php?title{{=}}Template:This_is_a&diff{{=}}prev&oldid{{=}}345533 actual change] is the following:
Maybe in case of engine branches it would be good to abandon the word since and have something like "based on/using". "This is a available in games based on/using {{tf2branch|4}}</code>." But I almost surely can't be bothered to do such edit or give it too much though so just an idea if someone finds it plausible. --[[User:Nescius|Nescius]] ([[User talk:Nescius|talk]]) 15:10, 10 May 2025 (PDT)
*{{param|1}} &rarr; {{param|name}}
*{{param|type}} &rarr; {{param|1}}
Nothing else (should have) changed, the functionality is identical. So I'm unsure of what you mean by saying that it is "very, very bad". Aren't we talking about the replacement from {{tlc|Entity|info_player_start|type{{=}}point}} to {{tlc|This is a|point|name{{=}}info_player_start}} per page? Yes, it is work but 1. it is work that ''can'' wait (as you said) and 2. the readability due to the previous template names would finally be fixed, I guess.


I don't want anyone to get mad about this change because in the above, we were discussing about a more fitting template name, a new name was proposed along with the parameter change and no one protested, instead everyone who answered seemed to agree.
== cut parameter ==
}}


{{Message
The cut parameter is kinda weird to read. "This is a cut entity '''available''' in <whatever game>" --[[User:Nescius|Nescius]] ([[User talk:Nescius|talk]]) 08:59, 11 May 2025 (PDT)
| user = Theki
:Concur. Scrapping the "available" would fix it. Heck, I don't think the "available" is really necessary for non-cut items.<br/>— [[User:SirYodaJedi|SirYodaJedi]] ([[User_talk:SirYodaJedi|talk]]) 09:01, 11 May 2025 (PDT)
| time = 22:07, 11 Sep 2023
| {{Quote|Nothing else (should have) changed, the functionality is identical. So I'm unsure of what you mean by saying that it is "very, very bad"}}
I ''might'' have overreacted a bit just from the initial reaction to seeing the template code for {{t|Entity}} and {{t|Format}}.


In reality, this isn't that bad, yes, and I think this new name is perfectly serviceable as a replacement even if it has its downsides (again, nothing that can't be fixed— kind of repeating myself here, but you get the point). I was concerned about how much work was required to get the old template syntaxes to work with the new one; it doesn't seem to be a problem with how the two parameters have been switched around, rather, it seems to be an issue with how not specifying <code>{{{series}}}</code> or <code>{{{engine}}}</code> in the template causes things to break. I'm not sure when this was introduced and if this ''is'' an issue with the new syntax but the amount of extra work required to get it working properly does still seem particularly egregious in my eyes, and I think ''something'' should be done to remedy that. Page load time impact isn't noticeable on my end but if a small group of users are on lower-end connections or PCs, which is very well possible, it might have a large difference. I believe it's something worth evaluating.
== Preview readability ==


Other than that, if all that gets worked out, everything should be fine. I'm not even sure if a deprecation notice on {{tlc|Entity}} or {{tlc|Format}} would be necessary as those and {{tlc|This is a}} should be able to work in harmony with no hiccups (minus the parameter issues), but right now at this point it doesn't seem to be that big of a deal regardless.
The previews look all squished in the table, so i made an example on the [[Template:This is a/sandbox]] page that is on a new row. --[[User:N0one|N0one]] ([[User talk:N0one|talk]]) 09:20, 11 May 2025 (PDT)
}}
:Lot better --[[User:Nescius|Nescius]] ([[User talk:Nescius|talk]]) 09:23, 11 May 2025 (PDT)

Latest revision as of 09:23, 11 May 2025

Icon-message-48px.png
This is the discussion page of Template:This is a. To add a comment, use the Edit button near the headline of the appropriate section. To create a new section, you can use the Add topic button at the top of this page.
Comments on talk pages should be signed with "~~~~", which will be converted into your signature and a timestamp.
Breathe-package-generic.png Archives

Archive 1

Auto category feature is quite problematic

This template automatically adds pages to categories based on the "game" parameter, however if you set the game parameter as tf2, it won't try to add it to "Team Fortress 2 entities", it'll try to add it to "tf2 entities"! Surely there's someway the acronyms could be converted to the full names? Isn't that pretty simple template stuff? There's also some other quite big problems, which I mentioned here. --Wisdurm (talk) 13:28, 7 Jan 2024

Minor grammar nitpick

Not sure if it's something that should really be bothered with fixing (since it seems quite difficult and not very important) but the line "...is a internal point entity..." is incorrect grammar and should instead be "is an internal point entity" since "internal" starts with a vowel. Again, very minor thing that would be annoying to figure out since only some of the entity types start with vowels. Now that you point that out, it bugs me to. Should be an easy fix; just move the the a/an, so you have "this is" + "a thingy" instead of "this is a" + "thingy". --SirYodaJedi (talk) 0:04, 20 May 2024 --Wisdurm (talk) 21:45, 19 May 2024

That's a good solution for English rules that I'm not against implementing, but I feel like there should be a more general method for the type having an effect on the other strings; for example, the Spanish strings for "This", "cut", and "internal" all depend on the grammatical gender of the noun. I'd also note that if we can get a version of Wikipedia icon template:delink working, then {{a or an}} could be used. Unfortunately, since Wikipedia switched their delink template to use a module, they deleted Wikipedia icon Template:Delink/phase_1_a, so I have no idea how the template works. However, I bet a version of it is floating around some wiki somewhere. --Pee (talk) 0:27, 20 May 2024

The other option I see that I think makes the most sense is to make separate subpages for different clauses in different languages, such as {{this is a/a or an}} or {{this is a/Spanish gender}} that get called in {{this is a/strings|this is a}}. This system should scale for an arbitrary number of languages. --Pee (talk) 1:03, 20 May 2024

Categories

Is sorting entities by game AND type really necessary? For instance env_skypaint, which would previously have been in Category:List of Garry's Mod entities, is now added to Category:Garry's Mod point entities. I feel like having a category just for entities for a specific game is much more helpful & practical since most games don't add hundreds of entities, though I guess in theory if you wanted to you could have both. I do realize this was mentioned in rewrite, so sorry for not saying anything about it back then. Also entity list pages on the wiki are kind of a mess in general right now, they should probably all be redone using the script. --Wisdurm (talk) 17:07, 24 May 2024


I decided to split the subcategorization into several different parts. A page with the template {{this is a|point entity|cut=1|internal=1}} will now be in the categories Cut Source base entities, Internal Source base entities, Source base entities, and Source base point entities. I'd assume all but Source base entities would be hidden categories. --Pee (talk) 21:20, 24 May 2024

Possible removal of {{game icon}}

I was wondering whether or not keeping {{game icon}} would be a good choice. Ultimately at the end of the day it relies on {{game icon name}}, which is just another template that needs constant updates. In the current form of this template you could remove all instances of {{game icon}} and things would mostly work fine. Of course this would necessitate the creation of templates like Template:Garry's Mod and Template:Left 4 Dead Series, but overall I think it'd just be less of a pain.
This is of course simply a matter of preference and I don't really mind either way, just curious to see other opinions. --Wisdurm (talk) 8:47, 7 Jun 2024 I think I created that template back then because there were/are cases where you have the full game name but you need its shortcut in order to get its icon. {{game icon}} was supposed to separate the name list template and a template that you can use that simply puts that result into template brackets for direct use. Now, if I understood you correctly, the idea is to instead create the templates {{Half-Life 2}} etc. that have the same effect (or are a redirect to) {{hl2}}, etc.? Well, I think the idea may be good because it causes less (expensive) template calls, but that's not much that I can tell. The idea doesn't seem bad to me, or would we pollute the existing pages more if we created that number of "duplicates"? I don't know whether that is a problem or not. But what I would appreciate is if we can reduce page load times by getting all those template calls more efficient. (Although I'm not sure to what extent this may be caused by templates related to either games or i18n or...) --Popcorn (talk) 14:26, 8 Jun 2024

I'd prefer the default to be no icons AND no colours, so game/engine links parsed into the template would just cause it to render plain links (in bold). Looking at so many pages is just like reading posts from someone who uses emojis 3 times per sentence. Cvoxalury (talk) 13:29, 21 June 2024 (PDT)
The issue with removing the template entirely is that it gets rid of automatically translated titles. For example, this will render differently in English and Chinese: Half-Life 2 Half-Life 2. The most efficient way to redo this would be to create a template called {{Half-Life 2}} with the following as its contents:
{{#switch:{{intlang}} |#default = [[Half-Life 2]] |zh = [[Half-Life 2|半衰期2]] }}
From here, there are 2 ways to go:
1. Force {{this is a}} to link to {{Half-Life 2}}. A red template link will appear if the template doesn't exist, so it's easier for people to figure out what's going on.
2. Check if {{Half-Life 2}} exists, and if it doesn't, then instead just link to the raw text of the parameter game. The issue with this solution is that it a template with 5 games will have 5 #ifexist functions on it, which could contribute significantly to the limit of 100. There's a way to implement it without #ifexist, but it turns out that it's actually slower than #ifexist. ―Pee (talk) 20:02, 21 June 2024 (PDT)
Since the recent changes to the language handling (prefixes, LanguageBar, L-template etc), did it affect this situation? Can putting the icons away be brought up again? Cvoxalury (talk) 11:10, 20 July 2024 (PDT)
I don't think there needs to be a change in regards to icons and colored text in 'This is a' template. It's quick way to see what game/engine the given thing is in without having to really read it and it looks fine Nescius (talk) 12:03, 20 July 2024 (PDT)
The coloured text has different contrast on each title, with some like Ricochet, Xengine, Vance, or Trenchbroom being quite bad. The reds, purples and browns are generally bad. There's even grey text ones like VBSP, VVIS, VRAD, VHLT, with both dark grey icon and grey text, which staggers the mind. If it's icons and no text ("only in", "since") it requires memorising what they are or waiting for hover on each. Cvoxalury (talk) 12:43, 20 July 2024 (PDT)
I guess I'll at least try to tweak some of these colours a bit so they're not so neon bright or dull (I'll be careful). Still think the icons were a mistake to begin with, especially why have them at the very beginning of articles when it's already about the subject. Cvoxalury (talk) 12:49, 20 July 2024 (PDT)

Entities that can be either brush or point entities

Some entities, such as func_tank (GoldSrc) and func_team_wall can be used as either a brush entity or a point entity; there should be some way of properly noting this.
SirYodaJedi (talk) 12:11, 29 June 2024 (PDT)


Non-fgd entities

So the distinction between point/brush entity is purely a FGD thing if I understand correctly. It would be probably worth having a param for entities that are not in fgd at all Nescius (talk) 16:57, 29 July 2024 (PDT)

Why not. What would it be called, just "non-fgd entity", or "undefined" entity perhaps? "non-fgd" is a bit inelegant (and translation could be an issue) but otherwise gets the point across...
Would it remove the need for a separate little banner about non-fgd entities?
(the distinction between point and brush depends on whether it's engine-centric POV, fgd/hammer-centric, compiler-centric, but there's no need to get into it really. For purposes of this it's enough to call it "purely FGD thing", lest we find ourselves questioning if areaportals and occluders are brush entities (in editor) or point entities (by the time they're processed in the game, they are)) Cvoxalury (talk) 08:49, 30 July 2024 (PDT)
What I went with on few pages is simply "This is a entity" but non-fgd entity sounds also good considering that can get rid of the non fgd notice at top of the page for such entities. The notice will still be used for entities that are in fgd only for certain games because it contains info about which games is the given entity not in fgd.
Or maybe create a new name for it like "technical entity" because really stuff like cs_team_manager, spraycan or even just player which are not usable in any way by adding them to the map in hammer. Though there are still some entities that are not in fgd but are usable if added to fgd like weapon_smg
On another topic it would be also worth adding info about server side entity like "This is a server-side point entity" for example which is very useful to know considering there are 2 limits one for edicts which crashes the game when exceeded and the other for server side entities which doesn't crash the game but only leaves warning in console --Nescius (talk) 09:20, 30 July 2024 (PDT)
Since non-fgd entities can be still be added to FGDs, I think it'd make more sense to treat them like so:
  • Has bmodel? Brush entity.
  • Has origin KV but no brushwork? Point entity.
  • Doesn't normally have brushwork or origin KV? Just entity.
This is basically how map editors distinguish between brush and point entities already.
SirYodaJedi (talk) 07:57, 14 September 2024 (PDT)
Every entity has origin keyvalue so not sure what you mean there. Entity that uses a brush and is not in any fgd indeed feels correct to call brush entity but it's not really if we consider brush entity = entity defined in fgd as brush entity. And if it's not defined in any official fgd I think it's fine to keep as just entity and all such cases will probably be entities not really meant to be placed by hammer. There are several entities that are brush entities but would also work by setting their mins/maxs and solid keyvalue to 2 instead of using a brush. Maybe wouldn't be bad to just call them non-fgd entities ? Or something new like technical entity since they are not meant for hammer use but are automatically created by other means --Nescius (talk) 10:17, 14 September 2024 (PDT)
Every entity has origin keyvalue so not sure what you mean there.
Keyword "normally", as in the KV actually being written to (either in the BSP itself or when dynamically created in RAM), and not defaulting to triple zero. For example (IMO), info_ladder should just be "entity" like it currently is, since it isn't written with an origin. func_simpleladder, by comparison, contains a bmodel, so it should be "brush entity" instead.
SirYodaJedi (talk) 13:45, 5 April 2025 (PDT)

internal entities

Internal entities should probably say something different than "available in games". After all they are not really available in any game but just in the compilers. Can be argued that prop_static is available in-game but thing like func_viscluster is in no way represented in-game--Nescius (talk) 08:11, 2 September 2024 (PDT)

Add multiple "name" parameters.

Code is hard to understand and i don't even have time either so can somebody add multiple "name" parameters (name1, name2, and so on, like engine1), so this template can be added on pages like counterterrorist_team_intro and info_player_counterterrorist. --leonidakarlach (talk) 04:46, 10 February 2025 (PST)

Done. --N0one (talk) 11:21, 10 February 2025 (PST)

Internal "shader parameters"

When making %alphatexture, I noticed that using the internal flag added it to the list of "Internal Garry's Mod entities". Is there a better way of handling VMT parameters that aren't used by the material system?
SirYodaJedi (talk) 14:50, 20 March 2025 (PDT)

multiple names not working properly for qc commands

See $keepbone_and_$protected_(GoldSrc). I can set {{{name0}}}, in which case the "this is a" text renders correctly but the title is wrong, or I can set {{{name0}}}, in which case the title is correct but the "this is a" text says "this are QC commands"[sic].
SirYodaJedi (talk) 12:01, 25 March 2025 (PDT)

notitlechange param is available for this template --Nescius (talk) 12:04, 25 March 2025 (PDT)

point and brush entities

So I wonder what if it would be good idea for "point entity" and "brush entity" options to say

  • "xxx is available in FGD as point entity in/since etc. ..."
  • "xxx is available in FGD as brush entity in/since etc. ..."

while entities that are non-fgd would simply specify "entity" and say what is says now

  • "xxx is an entity available in/since etc. ..."

pros:

  • makes it clear what being point/brush entity means
  • when somebody makes a page with some technical non-fgd entity they will realize they shouldn't say it's "point entity"
  • gives better idea in which games the entity is actually more useful or intended for use like trigger_auto_crouch
  • FGD link right in first sentence and could probably link to a page that would list all official fgds so any fgd is 2 clicks away

cons:

  • bunch of pages would need updating like env_global which says in all source games currently. (all such pages are those that transclude {{Ent not in fgd}})
  • maybe some confusion in some cases ?

--Nescius (talk) 12:42, 5 April 2025 (PDT)

Possibly confusing because it's much more spotty which entities are available in the FGD, whereas in-game availability is more consistent.
SirYodaJedi (talk) 13:50, 5 April 2025 (PDT)
What about separation into brush, model, logical and point entity ? This article written by valve employee supports that but doesn't include the point entity though which would in this case mean "uses its origin for something" like info_target,
  • brush entity - uses a brush
  • model entity - uses studio model (basically all derived from CBaseAnimating)
  • logical entity - its origin is not used for anything (not necessarily derived from CLogicalEntity as logic_auto, info_gamemode, shadow_control would still fall into this category, even auto spawned entities used for managing some stuff like soundent, terror_gamerules could fall here)
  • point entity - its origin is used for something (info_target, info_player_start, env_sprite, info_particle_system pretty much all of these would be derived from CPointEntity)
    --Nescius (talk) 13:18, 9 April 2025 (PDT)
That seems like a good way of splitting it for Source, although it becomes fuzzier when you apply the same template to GoldSrc (env_sprite is often used for studio models, MDLs can be used on brush entities with zhlt_usemodel [which really just rearranges the entity lump so that the model is precached with a different entity first], CBaseAnimating is used by func_door and func_illusionary, DMC items don't use CBaseAnimating, etc).
SirYodaJedi (talk) 13:58, 9 April 2025 (PDT)
Not sure how to deal with that in regards to goldsrc but I assume those rather hacky way to use those entities. Being model entity doesn't strictly needs to mean it's using CBaseAnimating but rather that it's meant to render a studio model which would in I assume 99.9% cases using CBaseAnimating--Nescius (talk) 15:27, 9 April 2025 (PDT)
It is somewhat hacky, yes, but sometimes it's intended behavior, like in Condition Zero Deleted Scenes, where func_tank actually precaches MDLs defined in its model KV, and they actually used it that way in the vanilla game (instead of the obvious solution of making an env_tank alias, but I guess Radiant was less picky about brush entities being used as point entities than Worldcraft).
Looking at env_sprite's code, it is basically a model entity, even in Source.
SirYodaJedi (talk) 06:25, 10 April 2025 (PDT)
The main purpose entity was made for is usually clear and if entity can be meaningfully used differently it can be noted. The func_tank case also precaches the model so they also modified the entity further for Condition Zero Deleted Scenes. It would be possible for example for logic_auto to draw a brush model too as it's derived directly from CBaseEntity and nothing in code is stopping it, but it's without a doubt logical entity --Nescius (talk) 11:14, 10 April 2025 (PDT)
In case it was unclear, I don't think your suggestion was a bad idea; I just needed to play devils advocate to clarify edge cases.
SirYodaJedi (talk) 06:44, 11 April 2025 (PDT)
This is the idea kinda User:Nescius/entity. Also added type "semi-internal" there which might be useful --Nescius (talk) 18:59, 14 April 2025 (PDT)

semi-internal

Thinking of adding semi-internal as a type of entity. This would signify that the entity is non-internal but huge portion of its functionality is taken care of by compiler and the entity is pretty much useless without compiler doing its job. So for example light entities which are taken care of mostly by vrad along most of their keyvalues, func_detail_blocker which is used to block detail sprite during compile and the entity doesn't do anything in-game other than exist, func_areaportal which is effectively point entity in game and has no brush, probably also info_overlay_accessor but haven't looked much into that one. --Nescius (talk) 12:35, 20 April 2025 (PDT)

Sounds like a good idea. Would info_null also count, since it's deleted as soon as it spawns?
SirYodaJedi (talk) 13:09, 20 April 2025 (PDT)
No because compiler doesn't do anything special with info_null and just puts it in entity lump --Nescius (talk) 13:12, 20 April 2025 (PDT)
Okay, that makes sense. I think info_overlay_accessor would indeed qualify then.
SirYodaJedi (talk) 13:12, 20 April 2025 (PDT)
Still not sure about that one. Because it seems compiler only checks if info_overlay has targetname and then creates info_overlay_accessor with that overlays' ID which is something that can be done manually after compile as well by checking desired overlay id and spawning the info_overlay_accessor via vscript. Which would be very similar to how func_simpleladder works in which case compiler simply checks which side of func_ladder has laddertexture and adds func_simpleladder with normal.x/y/z keyvalue being set based on that. Now if compiler somehow modified named info_overlay to allow info_overlay_accessor to work (and otherwise would not be usable) it would be indeed semi-internal without question --Nescius (talk) 13:22, 20 April 2025 (PDT)

since

Maybe in case of engine branches it would be good to abandon the word since and have something like "based on/using". "This is a available in games based on/using Team Fortress 2 branch Team Fortress 2 branch." But I almost surely can't be bothered to do such edit or give it too much though so just an idea if someone finds it plausible. --Nescius (talk) 15:10, 10 May 2025 (PDT)

cut parameter

The cut parameter is kinda weird to read. "This is a cut entity available in <whatever game>" --Nescius (talk) 08:59, 11 May 2025 (PDT)

Concur. Scrapping the "available" would fix it. Heck, I don't think the "available" is really necessary for non-cut items.
SirYodaJedi (talk) 09:01, 11 May 2025 (PDT)

Preview readability

The previews look all squished in the table, so i made an example on the Template:This is a/sandbox page that is on a new row. --N0one (talk) 09:20, 11 May 2025 (PDT)

Lot better --Nescius (talk) 09:23, 11 May 2025 (PDT)