View Issue Details

IDProjectCategoryView StatusLast Update
0005227DarkRadiantGUIpublic08.11.2020 18:34
ReporterDragofer Assigned Togreebo  
PrioritynormalSeveritynormalReproducibilityN/A
Status closedResolutionfixed 
Product Version2.7.0 
Target Version2.8.0Fixed in Version2.8.0 
Summary0005227: Automatically recognise more spawnarg types
DescriptionI've noticed that when spawnargs start with certain words, they automatically get recognised as a certain type of spawnarg and get assigned a 'Choose...' button or other relevant items. One example is snd_.

It'd be nice if that behaviour were expanded to more common spawnarg types, for example in these situations:
- 2.08 comes with a new skin_xray spawnarg that changes the skins of entities when seen through an xray surface.
- I've made new entities with custom scriptobjects recently, such as a Precursor-style lamp that reads _color and _color_unlit spawnargs both on itself and its associated custom light entity. It can also be used with other light entities, but their entity defs won't include _color_unlit so they won't offer a button to change the color of that spawnarg.

So far, these spawnargs have come to mind:
model
skin
_color
TagsNo tags attached.

Activities

greebo

greebo

25.04.2020 17:26

administrator   ~0012408

This is fairly easy to do by editing the darkmod.game file.

Maybe you can try this yourself by editing the darkmod.game file in the games/ folder in DR's installation path. Starting with line 162 there's a couple of spawnarg types, classified by regular expressions. You can try adding these lines somwhere in that collection:

<property match="_color_.+" category="Basic" type="colour" hidden="1" />
<property match="model_.+" category="Model" type="model" hidden="1">
<property match="skin_.+" category="Model" type="skin" hidden="1" />

Save that file and restart DR to activate the changes. Does this do the trick for you?
Dragofer

Dragofer

26.04.2020 05:42

developer   ~0012410

Last edited: 26.04.2020 05:46

That seems to break DR: when I try to select a model in the Model Chooser this gives me the error message "Unable to setup the preview, could not find the entity class func_static" and then DR hangs - tried various places within that collection. I've attached my darkmod.game file.

Regardless, I think this would be a good thing to have enabled by default. The new skin_xray is intended to be a spawnarg applicable to pretty much all entities with models, and I intend to share my custom scriptobjects with the community / make them core assets. I could ofc write these new spawnarg variants into the base entity .defs within SVN (and skin_xray probably should, in order to give usage instructions), but this automatic recognition is a neat feature in its own right.
darkmod.game (14,894 bytes)   
<?xml version="1.0"?>
<game
  type="doom3"
  index="10"
  name="The Dark Mod 2.0 (Standalone)"
  enginepath_win32="C:/games/darkmod/"
  enginepath_linux="/usr/local/games/darkmod/"
  enginepath_macos="/usr/local/games/darkmod/"
  engine_win32="^TheDarkMod(x64|){1}\.exe$"
  engine_linux="^thedarkmod.(x64|x86){1}$"
  engine_macos="^thedarkmod.app$"
  prefix=""
  basegame=""
  archivetypes="pk4"
  modeltypes="lwo ase md5mesh md3"
  maptypes="mapdoom3"
  shaders="doom3"
  entityclass="doom3"
  entities="doom3"
  brushtypes="doom3"
  patchtypes="doom3 def2doom3"
  registryKey="SOFTWARE\id\Doom 3"
  registryValue="InstallPath"
>
  <!-- Settings used by the Game Setup Dialog -->
  <gameSetup>
    <dialog type="TDM" /><!-- Indicates the TDM-style setup dialog showing options for engine path and mission -->
    <missionFolder value="fms/" />
  </gameSetup>
  
	<!-- Types of resource files which are used by this game -->
	<filetypes>
		<texture>
			<extension>tga</extension>
			<extension>jpg</extension>
			<extension>dds</extension>
		</texture>
	</filetypes>

	<!-- Filters to use for the filter system -->
	<filtersystem>
		<filter name="World geometry">
			<filterCriterion
				type="entityclass"
				match="worldspawn"
				action="hide" />
		</filter>
		<filter name="Caulk">
			<filterCriterion
				type="texture"
				match="textures/common/caulk"
				action="hide" />
		</filter>
		<filter name="Collision surfaces">
			<filterCriterion
				type="texture"
				match="textures/common/collision"
				action="hide" />
			<filterCriterion
				type="texture"
				match="tdm_collision_.*"
				action="hide" />
		</filter>
		<filter name="Lights">
			<filterCriterion type="entityclass" match="light" action="hide" />
			<filterCriterion type="entityclass" match="light_.*" action="hide" />
		</filter>
    <filter name="Func_static Entities">
      <filterCriterion type="entityclass" match="func_static" action="hide" />
    </filter>
		<filter name="All entities">
			<filterCriterion type="entityclass" match=".*" action="hide" />
			<filterCriterion type="entityclass" match="worldspawn" action="show" />
		</filter>
		<filter name="Visportals">
			<filterCriterion type="texture" match="textures/editor/visportal" action="hide" />
			<filterCriterion type="texture" match="textures/common/nodraw" action="hide" />
		</filter>
		<filter name="Decals">
			<filterCriterion type="texture" match="textures(.*)decals(.*)" action="hide" />
		</filter>
		<filter name="Clip Textures">
			<filterCriterion
				type="texture"
				match="textures/common/(.*)_clip$"
				action="hide" />
			<filterCriterion type="texture" match="textures/common/clip(_plusmovables)*$" action="hide" />
			<filterCriterion type="texture" match="textures/common/moveableclipmodel" action="hide" />
		</filter>
		<filter name="Trigger Textures">
			<filterCriterion
				type="texture"
				match="textures/common/trig(.*)"
				action="hide" />
		</filter>
		<filter name="Nodraw Textures">
			<filterCriterion
				type="texture"
				match="textures/common/nodraw(.*)"
				action="hide" />
			<filterCriterion
				type="texture"
				match="textures/common/tdm_nodraw(.*)"
				action="hide" />
		</filter>
		<filter name="Shadow Textures">
			<filterCriterion
				type="texture"
				match="textures/common/shadow(.*)"
				action="hide" />
		</filter>
		<filter name="Patches">
			<filterCriterion type="object" match="patch" action="hide" />
		</filter>
		<filter name="Brushes">
			<filterCriterion type="object" match="brush" action="hide" />
		</filter>
		<filter name="Weather Textures">
			<filterCriterion type="texture" match="textures/darkmod/weather/.*"	action="hide" />
		</filter>
		<filter name="Paths">
			<filterCriterion type="entityclass" match="path_.*" action="hide" />
		</filter>
	</filtersystem>
	<filesystem>
		<shaders>
			<basepath>materials</basepath>
			<extension>mtr</extension>
		</shaders>
		<fonts>
			<basepath>fonts</basepath>
			<extension>dat</extension>
		</fonts>
	</filesystem>
	<defaults>
		<lightShader value="lights/defaultPointLight" />
		<lightScale>2</lightScale>
		<lightRadius value="320 320 320" />
		<maxWorldCoord value="65536" />
		<minWorldCoord value="-65536" />
		<defaultTexture value="_default" />
		<collisionTexture value="textures/common/collision" />
		<monsterClipShader value="textures/common/monster_clip" />
		<visportalShader value="textures/editor/visportal" />
		<nodrawShader value="textures/common/nodraw" />
		<collisionModelExt value="cm" />
		<defaultCurveEntity value="func_splinemover" />
		<curveNurbsKey value="curve_Nurbs" />
		<curveCatmullRomKey value="curve_CatmullRomSpline" />
		<bindKey value="bind" />
		<playerHeight value="64" />
		<nameKey value="name" />
        <speakerMinRadius value="24" />
        <speakerMaxRadius value="32" />
		<guiSmallFontLimit value="0.15" />
		<guiMediumFontLimit value="0.30" />
	</defaults>
	<entityChooser>
		<displayFolderKey value="editor_displayFolder" />
	</entityChooser>
	<entityInspector>
		<property match="origin" category="Basic" type="vector3">The origin of this object in 3D space</property>
		<property match="classname" category="Basic" type="classname">The classname of this entity. This must be a recognised class defined in one of the DEF files, and governs the overall behaviour of the entity</property>
		<property match="name" category="Basic" type="text">The displayed name of this entity. This can be arbitrary, but must be unique across the entire map</property>
		<property match="rotation" category="Basic" type="text" />
		<property match="_color" category="Basic" type="colour" />
		<property match="angle"
                  category="Basic"
                  type="angle"
                  options="0,360">The direction this entity initially faces.  Generally applied to AI or player_start entities.</property>
		<property match="falloff" category="Light" type="text" />
		<property match="light_radius" category="Light" type="vector3" />
		<property match="light_rotation" category="Light" type="text" />
		<property match="light_center" category="Light" type="vector3" />
		<property match="light_target" category="Light" type="vector3" />
		<property match="light_up" category="Light" type="vector3" />
		<property match="light_right" category="Light" type="vector3" />
		<property match="light_start" category="Light" type="vector3" />
		<property match="light_end" category="Light" type="vector3" />
		<property match="parallel" category="Light" type="bool" />
		<property match="nodiffuse" category="Light" type="bool" />
		<property match="noshadows" category="Light" type="bool" />
		<property match="nospecular" category="Light" type="bool" />
		<property
			match="texture"
			category="Light"
			type="texture"
			options="lights,fogs"
		/>
		<property match="extinguished" category="Light" type="bool" />
		<property match="model" category="Model" type="model">The displayed model or particle system for this entity. For a func_static or other entity type which can have brushes as children, this key must be set to the same value as "name" if brushes are used</property>
		<property match="model_lit" category="Model" type="model">The model or particle system to be used when this entity is lit (i.e. for torches).</property>
		<property match="model_extinguished" category="Model" type="model">The model or particle system to be used when this torch entity is extinguished.</property>
		<property match="skin" category="Model" type="skin" />
		<property match="noshadows" category="Model" type="bool" />
		<property match="solid" category="Model" type="bool" />
		<property match="target" category="Links" type="entity" />
		<property match="target0" category="Links" type="entity" />
		<property match="target1" category="Links" type="entity" />
		<property match="target2" category="Links" type="entity" />
		<property match="target3" category="Links" type="entity" />
		<property match="target4" category="Links" type="entity" />
		<property match="target5" category="Links" type="entity" />
		<property match="target6" category="Links" type="entity" />
		<property match="target7" category="Links" type="entity" />
		<property match="target8" category="Links" type="entity" />
		<property match="target9" category="Links" type="entity" />
		<property match="target10" category="Links" type="entity" />
		<property match="bind" category="Links" type="entity" />
		<property match="bindToJoint" category="Links" type="text" />
		<property match="s_shader" category="Sound" type="sound" />
		<property match="snd_.*" category="Sound" type="sound" hidden="1" />
		<property match="s_mindistance" category="Sound" type="text" />
		<property match="s_maxdistance" category="Sound" type="text" />
		<property match="s_looping" category="Sound" type="bool" />
		<property match="s_waitfortrigger" category="Sound" type="bool" />
		<property match="s_occlusion" category="Sound" type="bool" />
		<property match="s_omni" category="Sound" type="bool" />
		<property match="s_volume" category="Sound" type="text" />
		<property match="s_global" category="Sound" type="bool" />
		<property match="_color_.+" category="Basic" type="colour" hidden="1" />
		<property match="model_.+" category="Model" type="model" hidden="1">
		<property match="skin_.+" category="Model" type="skin" hidden="1" />
	</entityInspector>

	<!-- Game-specific values for light entities -->
	<light>

		<!-- List of prefixes that may be used to represent light shaders -->
		<texture>
			<prefix>lights</prefix>
			<prefix>fogs</prefix>
		</texture>

	</light>

	<!-- Information about the map format, for loading and saving -->
	<mapFormat>
		<floatPrecision value="16" />
		<fileExtension value="map" />
		<mapFolder value="maps/" />
		<prefabFolder value="prefabs/" />
		<!-- Compatibility options -->
		<compatibility>
			<addDummyBrushes value="false" />
		</compatibility>
		<lastCameraPositionKey value="editor_drLastCameraPos" />
		<lastCameraAngleKey value="editor_drLastCameraAngle" />
		<!-- The root key names of the map positions (e.g. editor_drMapPos1) -->
		<mapPositionPosKey value="editor_drMapPos" />
		<mapPositionAngleKey value="editor_drMapAngle" />
		<playerStartPoint value="info_player_start" />
		<infoFileExtension value=".darkradiant" />
	</mapFormat>

	<stimResponseSystem>
		<stims>
			<stim id="0" name="STIM_FROB" caption="Frob" icon="sr_icon_frob.png" />
			<stim id="1" name="STIM_FIRE" caption="Fire" icon="sr_icon_fire.png" />
			<stim id="2" name="STIM_WATER" caption="Water" icon="sr_icon_water.png" />
			<stim id="3" name="STIM_DAMAGE" caption="Damage" icon="sr_icon_damage.png" />
			<stim id="4" name="STIM_SHIELD" caption="Shield" icon="sr_icon_shield.png" />
			<stim id="5" name="STIM_HEALING" caption="Healing" icon="sr_icon_healing.png" />
			<stim id="6" name="STIM_HOLY" caption="Holy" icon="sr_icon_holy.png" />
			<stim id="7" name="STIM_MAGIC" caption="Magic" icon="sr_icon_magic.png" />
			<stim id="8" name="STIM_TOUCH" caption="Touch" icon="sr_icon_touch.png" />
			<stim id="9" name="STIM_KNOCKOUT" caption="Knockout" icon="sr_icon_knockout.png" />
			<stim id="10" name="STIM_KILL" caption="Kill" icon="sr_icon_kill.png" />
			<stim id="11" name="STIM_RESTORE" caption="Restore" icon="sr_icon_restore.png" />
			<stim id="12" name="STIM_LIGHT" caption="Light" icon="sr_icon_light.png" />
			<stim id="13" name="STIM_SOUND" caption="Sound" icon="sr_icon_sound.png" />
			<stim id="14" name="STIM_VISUAL" caption="Visual" icon="sr_icon_visual.png" />
			<stim id="15" name="STIM_INVITE" caption="Invitation" icon="sr_icon_invite.png" />
			<stim id="16" name="STIM_READ" caption="Readable" icon="sr_icon_readable.png" />
			<stim id="17" name="STIM_RANDOM" caption="Random" icon="sr_icon_random.png" />
			<stim id="18" name="STIM_TIMER" caption="Timer" icon="sr_icon_timer.png" />
			<stim id="19" name="STIM_COMMUNICATION" caption="Communication" icon="sr_icon_communication.png" />
			<stim id="20" name="STIM_GAS" caption="Gas" icon="sr_icon_gas.png" />
			<stim id="21" name="STIM_TRIGGER" caption="Trigger" icon="sr_icon_trigger.png" />
			<stim id="22" name="STIM_TARGET_REACHED" caption="Target Reached" icon="sr_icon_target_reached.png" />
			<stim id="23" name="STIM_PLAYER" caption="Player" icon="sr_icon_thief.png" />
			<stim id="24" name="STIM_FLASH" caption="Flash" icon="sr_icon_flash.png" />
			<stim id="25" name="STIM_BLIND" caption="Blind" icon="sr_icon_flash.png" />
      <stim id="26" name="STIM_MOSS" caption="Moss" icon="sr_icon_gas.png" />
		</stims>
		<properties>
			<!-- The key root names "class" refers to "sr_class_N" -->
			<property name="class" classes="SR" />
			<property name="use_bounds" classes="S" />
			<property name="magnitude" classes="S" />
			<property name="falloffexponent" classes="S" />
			<property name="time_interval" classes="S" />
			<property name="type" classes="SR" />
			<property name="state" classes="SR" />
			<property name="radius" classes="S" />
			<property name="radius_final" classes="S" />
			<property name="duration" classes="S" />
			<property name="timer_type" classes="S" />
			<property name="timer_reload" classes="S" />
			<property name="timer_time" classes="S" />
			<property name="timer_waitforstart" classes="S" />
			<property name="chance" classes="SR" />
			<property name="random_effects" classes="R" />
			<property name="max_fire_count" classes="S" />
			<property name="bounds_mins" classes="S" />
			<property name="bounds_maxs" classes="S" />
			<property name="velocity" classes="S" />
		</properties>
		<customStimStorageEClass value="worldspawn" />
		<customStimKeyPrefix value="editor_dr_stim_" />
		<stimResponsePrefix value="sr_" />
		<lowestCustomStimId value="1000" />
		<responseEffectPrefix value="effect_" />
		<selfEntity value="_SELF" />
	</stimResponseSystem>

	<objectivesEditor>
		<objectivesEClass name="atdm:target_addobjectives" />
		<objectivesEClass name="target_tdm_addobjectives" />
	</objectivesEditor>

	<conversationSystem>
		<conversationCommandPrefix value="atdm:conversation_command_" />
	</conversationSystem>

	<difficulty>
		<numLevels value="3" />
		<defaultSettingsEclass value="atdm:difficulty_settings_default" />
		<mapSettingsEclass value="atdm:difficulty_settings" />
		<appTypeIgnore value="_IGNORE" />
		<difficultyMenuEclass value="difficultyMenu">
            <string id="#str_03000">Easy</string>
            <string id="#str_03004">Medium</string>
            <string id="#str_03011">Difficult</string>
        </difficultyMenuEclass>
	</difficulty>
</game>
darkmod.game (14,894 bytes)   
Dragofer

Dragofer

26.04.2020 05:46

developer   ~0012411

Last edited: 26.04.2020 05:46

Found a few potential typos:

_snd uses an * instead of a +
the model line is missing a forward slash
type="colour" is written in the British way

Fixing them didn't change the crash though.
greebo

greebo

26.04.2020 06:01

administrator   ~0012412

Last edited: 26.04.2020 06:02

match="snd_.*" => it's just a difference in the regex syntax. * means "0 or more", whereas + means "1 or more". It should not crash with either version, but I'd also vote for + in this case.
The <model> tag is closed after its contents. An opening-and-closing <tag /> is just a shortcut XML syntax for <tag></tag>
colour vs. color: well, yes, some of us or British. Anyway, it refers to an internal type identifier, and "colour" is how it is spelled internally.

I will take a look at your .game file and see if it crashes for me too.
greebo

greebo

26.04.2020 06:12

administrator   ~0012413

Last edited: 26.04.2020 06:13

You had a syntax error in line 222, the <property> tag was not closed. When adding the forward slash, the game's loading fine.
edit: beware, the bugtracker renamed my file automatically to darkmod-2.game. Remove the -2 part and overwrite your darkmod.game file with it.
darkmod-2.game (14,896 bytes)   
<?xml version="1.0"?>
<game
  type="doom3"
  index="10"
  name="The Dark Mod 2.0 (Standalone)"
  enginepath_win32="C:/games/darkmod/"
  enginepath_linux="/usr/local/games/darkmod/"
  enginepath_macos="/usr/local/games/darkmod/"
  engine_win32="^TheDarkMod(x64|){1}\.exe$"
  engine_linux="^thedarkmod.(x64|x86){1}$"
  engine_macos="^thedarkmod.app$"
  prefix=""
  basegame=""
  archivetypes="pk4"
  modeltypes="lwo ase md5mesh md3"
  maptypes="mapdoom3"
  shaders="doom3"
  entityclass="doom3"
  entities="doom3"
  brushtypes="doom3"
  patchtypes="doom3 def2doom3"
  registryKey="SOFTWARE\id\Doom 3"
  registryValue="InstallPath"
>
  <!-- Settings used by the Game Setup Dialog -->
  <gameSetup>
    <dialog type="TDM" /><!-- Indicates the TDM-style setup dialog showing options for engine path and mission -->
    <missionFolder value="fms/" />
  </gameSetup>
  
	<!-- Types of resource files which are used by this game -->
	<filetypes>
		<texture>
			<extension>tga</extension>
			<extension>jpg</extension>
			<extension>dds</extension>
		</texture>
	</filetypes>

	<!-- Filters to use for the filter system -->
	<filtersystem>
		<filter name="World geometry">
			<filterCriterion
				type="entityclass"
				match="worldspawn"
				action="hide" />
		</filter>
		<filter name="Caulk">
			<filterCriterion
				type="texture"
				match="textures/common/caulk"
				action="hide" />
		</filter>
		<filter name="Collision surfaces">
			<filterCriterion
				type="texture"
				match="textures/common/collision"
				action="hide" />
			<filterCriterion
				type="texture"
				match="tdm_collision_.*"
				action="hide" />
		</filter>
		<filter name="Lights">
			<filterCriterion type="entityclass" match="light" action="hide" />
			<filterCriterion type="entityclass" match="light_.*" action="hide" />
		</filter>
    <filter name="Func_static Entities">
      <filterCriterion type="entityclass" match="func_static" action="hide" />
    </filter>
		<filter name="All entities">
			<filterCriterion type="entityclass" match=".*" action="hide" />
			<filterCriterion type="entityclass" match="worldspawn" action="show" />
		</filter>
		<filter name="Visportals">
			<filterCriterion type="texture" match="textures/editor/visportal" action="hide" />
			<filterCriterion type="texture" match="textures/common/nodraw" action="hide" />
		</filter>
		<filter name="Decals">
			<filterCriterion type="texture" match="textures(.*)decals(.*)" action="hide" />
		</filter>
		<filter name="Clip Textures">
			<filterCriterion
				type="texture"
				match="textures/common/(.*)_clip$"
				action="hide" />
			<filterCriterion type="texture" match="textures/common/clip(_plusmovables)*$" action="hide" />
			<filterCriterion type="texture" match="textures/common/moveableclipmodel" action="hide" />
		</filter>
		<filter name="Trigger Textures">
			<filterCriterion
				type="texture"
				match="textures/common/trig(.*)"
				action="hide" />
		</filter>
		<filter name="Nodraw Textures">
			<filterCriterion
				type="texture"
				match="textures/common/nodraw(.*)"
				action="hide" />
			<filterCriterion
				type="texture"
				match="textures/common/tdm_nodraw(.*)"
				action="hide" />
		</filter>
		<filter name="Shadow Textures">
			<filterCriterion
				type="texture"
				match="textures/common/shadow(.*)"
				action="hide" />
		</filter>
		<filter name="Patches">
			<filterCriterion type="object" match="patch" action="hide" />
		</filter>
		<filter name="Brushes">
			<filterCriterion type="object" match="brush" action="hide" />
		</filter>
		<filter name="Weather Textures">
			<filterCriterion type="texture" match="textures/darkmod/weather/.*"	action="hide" />
		</filter>
		<filter name="Paths">
			<filterCriterion type="entityclass" match="path_.*" action="hide" />
		</filter>
	</filtersystem>
	<filesystem>
		<shaders>
			<basepath>materials</basepath>
			<extension>mtr</extension>
		</shaders>
		<fonts>
			<basepath>fonts</basepath>
			<extension>dat</extension>
		</fonts>
	</filesystem>
	<defaults>
		<lightShader value="lights/defaultPointLight" />
		<lightScale>2</lightScale>
		<lightRadius value="320 320 320" />
		<maxWorldCoord value="65536" />
		<minWorldCoord value="-65536" />
		<defaultTexture value="_default" />
		<collisionTexture value="textures/common/collision" />
		<monsterClipShader value="textures/common/monster_clip" />
		<visportalShader value="textures/editor/visportal" />
		<nodrawShader value="textures/common/nodraw" />
		<collisionModelExt value="cm" />
		<defaultCurveEntity value="func_splinemover" />
		<curveNurbsKey value="curve_Nurbs" />
		<curveCatmullRomKey value="curve_CatmullRomSpline" />
		<bindKey value="bind" />
		<playerHeight value="64" />
		<nameKey value="name" />
        <speakerMinRadius value="24" />
        <speakerMaxRadius value="32" />
		<guiSmallFontLimit value="0.15" />
		<guiMediumFontLimit value="0.30" />
	</defaults>
	<entityChooser>
		<displayFolderKey value="editor_displayFolder" />
	</entityChooser>
	<entityInspector>
		<property match="origin" category="Basic" type="vector3">The origin of this object in 3D space</property>
		<property match="classname" category="Basic" type="classname">The classname of this entity. This must be a recognised class defined in one of the DEF files, and governs the overall behaviour of the entity</property>
		<property match="name" category="Basic" type="text">The displayed name of this entity. This can be arbitrary, but must be unique across the entire map</property>
		<property match="rotation" category="Basic" type="text" />
		<property match="_color" category="Basic" type="colour" />
		<property match="angle"
                  category="Basic"
                  type="angle"
                  options="0,360">The direction this entity initially faces.  Generally applied to AI or player_start entities.</property>
		<property match="falloff" category="Light" type="text" />
		<property match="light_radius" category="Light" type="vector3" />
		<property match="light_rotation" category="Light" type="text" />
		<property match="light_center" category="Light" type="vector3" />
		<property match="light_target" category="Light" type="vector3" />
		<property match="light_up" category="Light" type="vector3" />
		<property match="light_right" category="Light" type="vector3" />
		<property match="light_start" category="Light" type="vector3" />
		<property match="light_end" category="Light" type="vector3" />
		<property match="parallel" category="Light" type="bool" />
		<property match="nodiffuse" category="Light" type="bool" />
		<property match="noshadows" category="Light" type="bool" />
		<property match="nospecular" category="Light" type="bool" />
		<property
			match="texture"
			category="Light"
			type="texture"
			options="lights,fogs"
		/>
		<property match="extinguished" category="Light" type="bool" />
		<property match="model" category="Model" type="model">The displayed model or particle system for this entity. For a func_static or other entity type which can have brushes as children, this key must be set to the same value as "name" if brushes are used</property>
		<property match="model_lit" category="Model" type="model">The model or particle system to be used when this entity is lit (i.e. for torches).</property>
		<property match="model_extinguished" category="Model" type="model">The model or particle system to be used when this torch entity is extinguished.</property>
		<property match="skin" category="Model" type="skin" />
		<property match="noshadows" category="Model" type="bool" />
		<property match="solid" category="Model" type="bool" />
		<property match="target" category="Links" type="entity" />
		<property match="target0" category="Links" type="entity" />
		<property match="target1" category="Links" type="entity" />
		<property match="target2" category="Links" type="entity" />
		<property match="target3" category="Links" type="entity" />
		<property match="target4" category="Links" type="entity" />
		<property match="target5" category="Links" type="entity" />
		<property match="target6" category="Links" type="entity" />
		<property match="target7" category="Links" type="entity" />
		<property match="target8" category="Links" type="entity" />
		<property match="target9" category="Links" type="entity" />
		<property match="target10" category="Links" type="entity" />
		<property match="bind" category="Links" type="entity" />
		<property match="bindToJoint" category="Links" type="text" />
		<property match="s_shader" category="Sound" type="sound" />
		<property match="snd_.*" category="Sound" type="sound" hidden="1" />
		<property match="s_mindistance" category="Sound" type="text" />
		<property match="s_maxdistance" category="Sound" type="text" />
		<property match="s_looping" category="Sound" type="bool" />
		<property match="s_waitfortrigger" category="Sound" type="bool" />
		<property match="s_occlusion" category="Sound" type="bool" />
		<property match="s_omni" category="Sound" type="bool" />
		<property match="s_volume" category="Sound" type="text" />
		<property match="s_global" category="Sound" type="bool" />
		<property match="_color_.+" category="Basic" type="colour" hidden="1" />
		<property match="model_.+" category="Model" type="model" hidden="1" />
		<property match="skin_.+" category="Model" type="skin" hidden="1" />
	</entityInspector>

	<!-- Game-specific values for light entities -->
	<light>

		<!-- List of prefixes that may be used to represent light shaders -->
		<texture>
			<prefix>lights</prefix>
			<prefix>fogs</prefix>
		</texture>

	</light>

	<!-- Information about the map format, for loading and saving -->
	<mapFormat>
		<floatPrecision value="16" />
		<fileExtension value="map" />
		<mapFolder value="maps/" />
		<prefabFolder value="prefabs/" />
		<!-- Compatibility options -->
		<compatibility>
			<addDummyBrushes value="false" />
		</compatibility>
		<lastCameraPositionKey value="editor_drLastCameraPos" />
		<lastCameraAngleKey value="editor_drLastCameraAngle" />
		<!-- The root key names of the map positions (e.g. editor_drMapPos1) -->
		<mapPositionPosKey value="editor_drMapPos" />
		<mapPositionAngleKey value="editor_drMapAngle" />
		<playerStartPoint value="info_player_start" />
		<infoFileExtension value=".darkradiant" />
	</mapFormat>

	<stimResponseSystem>
		<stims>
			<stim id="0" name="STIM_FROB" caption="Frob" icon="sr_icon_frob.png" />
			<stim id="1" name="STIM_FIRE" caption="Fire" icon="sr_icon_fire.png" />
			<stim id="2" name="STIM_WATER" caption="Water" icon="sr_icon_water.png" />
			<stim id="3" name="STIM_DAMAGE" caption="Damage" icon="sr_icon_damage.png" />
			<stim id="4" name="STIM_SHIELD" caption="Shield" icon="sr_icon_shield.png" />
			<stim id="5" name="STIM_HEALING" caption="Healing" icon="sr_icon_healing.png" />
			<stim id="6" name="STIM_HOLY" caption="Holy" icon="sr_icon_holy.png" />
			<stim id="7" name="STIM_MAGIC" caption="Magic" icon="sr_icon_magic.png" />
			<stim id="8" name="STIM_TOUCH" caption="Touch" icon="sr_icon_touch.png" />
			<stim id="9" name="STIM_KNOCKOUT" caption="Knockout" icon="sr_icon_knockout.png" />
			<stim id="10" name="STIM_KILL" caption="Kill" icon="sr_icon_kill.png" />
			<stim id="11" name="STIM_RESTORE" caption="Restore" icon="sr_icon_restore.png" />
			<stim id="12" name="STIM_LIGHT" caption="Light" icon="sr_icon_light.png" />
			<stim id="13" name="STIM_SOUND" caption="Sound" icon="sr_icon_sound.png" />
			<stim id="14" name="STIM_VISUAL" caption="Visual" icon="sr_icon_visual.png" />
			<stim id="15" name="STIM_INVITE" caption="Invitation" icon="sr_icon_invite.png" />
			<stim id="16" name="STIM_READ" caption="Readable" icon="sr_icon_readable.png" />
			<stim id="17" name="STIM_RANDOM" caption="Random" icon="sr_icon_random.png" />
			<stim id="18" name="STIM_TIMER" caption="Timer" icon="sr_icon_timer.png" />
			<stim id="19" name="STIM_COMMUNICATION" caption="Communication" icon="sr_icon_communication.png" />
			<stim id="20" name="STIM_GAS" caption="Gas" icon="sr_icon_gas.png" />
			<stim id="21" name="STIM_TRIGGER" caption="Trigger" icon="sr_icon_trigger.png" />
			<stim id="22" name="STIM_TARGET_REACHED" caption="Target Reached" icon="sr_icon_target_reached.png" />
			<stim id="23" name="STIM_PLAYER" caption="Player" icon="sr_icon_thief.png" />
			<stim id="24" name="STIM_FLASH" caption="Flash" icon="sr_icon_flash.png" />
			<stim id="25" name="STIM_BLIND" caption="Blind" icon="sr_icon_flash.png" />
      <stim id="26" name="STIM_MOSS" caption="Moss" icon="sr_icon_gas.png" />
		</stims>
		<properties>
			<!-- The key root names "class" refers to "sr_class_N" -->
			<property name="class" classes="SR" />
			<property name="use_bounds" classes="S" />
			<property name="magnitude" classes="S" />
			<property name="falloffexponent" classes="S" />
			<property name="time_interval" classes="S" />
			<property name="type" classes="SR" />
			<property name="state" classes="SR" />
			<property name="radius" classes="S" />
			<property name="radius_final" classes="S" />
			<property name="duration" classes="S" />
			<property name="timer_type" classes="S" />
			<property name="timer_reload" classes="S" />
			<property name="timer_time" classes="S" />
			<property name="timer_waitforstart" classes="S" />
			<property name="chance" classes="SR" />
			<property name="random_effects" classes="R" />
			<property name="max_fire_count" classes="S" />
			<property name="bounds_mins" classes="S" />
			<property name="bounds_maxs" classes="S" />
			<property name="velocity" classes="S" />
		</properties>
		<customStimStorageEClass value="worldspawn" />
		<customStimKeyPrefix value="editor_dr_stim_" />
		<stimResponsePrefix value="sr_" />
		<lowestCustomStimId value="1000" />
		<responseEffectPrefix value="effect_" />
		<selfEntity value="_SELF" />
	</stimResponseSystem>

	<objectivesEditor>
		<objectivesEClass name="atdm:target_addobjectives" />
		<objectivesEClass name="target_tdm_addobjectives" />
	</objectivesEditor>

	<conversationSystem>
		<conversationCommandPrefix value="atdm:conversation_command_" />
	</conversationSystem>

	<difficulty>
		<numLevels value="3" />
		<defaultSettingsEclass value="atdm:difficulty_settings_default" />
		<mapSettingsEclass value="atdm:difficulty_settings" />
		<appTypeIgnore value="_IGNORE" />
		<difficultyMenuEclass value="difficultyMenu">
            <string id="#str_03000">Easy</string>
            <string id="#str_03004">Medium</string>
            <string id="#str_03011">Difficult</string>
        </difficultyMenuEclass>
	</difficulty>
</game>
darkmod-2.game (14,896 bytes)   
Dragofer

Dragofer

26.04.2020 20:36

developer   ~0012428

Thanks, that's done it. Only at my end though - do you see downsides in making this the default?
greebo

greebo

27.04.2020 04:29

administrator   ~0012429

No, fine by me, of course.

Related Changesets

DarkRadiant: master 8537babb

27.04.2020 04:31

greebo


Details Diff
0005227: Entity Inspector should recognise spawnargs like model_*, skin_* and _color_* Affected Issues
0005227
mod - install/games/darkmod.game Diff File

Issue History

Date Modified Username Field Change
25.04.2020 14:55 Dragofer New Issue
25.04.2020 17:26 greebo Status new => feedback
25.04.2020 17:26 greebo Note Added: 0012408
26.04.2020 05:42 Dragofer Note Added: 0012410
26.04.2020 05:42 Dragofer File Added: darkmod.game
26.04.2020 05:42 Dragofer Status feedback => new
26.04.2020 05:46 Dragofer Note Added: 0012411
26.04.2020 05:46 Dragofer Note Edited: 0012410
26.04.2020 05:46 Dragofer Note Edited: 0012411
26.04.2020 06:01 greebo Note Added: 0012412
26.04.2020 06:02 greebo Note Edited: 0012412
26.04.2020 06:12 greebo Note Added: 0012413
26.04.2020 06:12 greebo File Added: darkmod-2.game
26.04.2020 06:13 greebo Note Edited: 0012413
26.04.2020 06:13 greebo Status new => feedback
26.04.2020 20:36 Dragofer Note Added: 0012428
26.04.2020 20:36 Dragofer Status feedback => new
26.04.2020 20:37 Dragofer Status new => feedback
27.04.2020 04:29 greebo Note Added: 0012429
27.04.2020 04:29 greebo Assigned To => greebo
27.04.2020 04:29 greebo Status feedback => assigned
27.04.2020 04:29 greebo Target Version => 2.8.0
27.04.2020 04:31 greebo Changeset attached => DarkRadiant master 8537babb
27.04.2020 04:31 greebo Status assigned => resolved
27.04.2020 04:31 greebo Resolution open => fixed
27.04.2020 04:31 greebo Fixed in Version => 2.8.0
08.11.2020 18:34 greebo Status resolved => closed