View Issue Details

IDProjectCategoryView StatusLast Update
0006224The Dark ModFeature proposalpublic15.06.2023 20:49
Reporterstgatilov Assigned Tostgatilov  
PrioritynormalSeverityfeatureReproducibilityN/A
Status resolvedResolutionfixed 
Product VersionTDM 2.11 
Target VersionTDM 2.12Fixed in VersionTDM 2.12 
Summary0006224: Extend location separator dmap warnings to portal settings
DescriptionMany different warnings were added in 0005354 to make sure location separators work as intended.
Most of them apply to all kind of entities which are linked to a visportal.
Such kind of entities is called idPortalEntity in C++ code (see idPortalEntity::Spawn) and has two derived classes:
  idLocationSeparatorEntity
  idPortalSettingsEntity

We should extend dmap warnings to portal settings as well.
TagsNo tags attached.

Relationships

related to 0005354 resolvedstgatilov Feature: Pointfiles for Debugging of Info_Location Overlaps 
related to 0003042 resolvedgrayman Open visportals do not propagate sound loss to player. 

Activities

stgatilov

stgatilov

11.06.2023 10:53

administrator   ~0016016

Trying to decide whether having both kind of entities on the same visportal is an error or not:
  https://forums.thedarkmod.com/index.php?/topic/20226-dropped-visportal-diagnostic/&do=findComment&comment=486268
stgatilov

stgatilov

15.06.2023 13:37

administrator   ~0016019

This is how it works right now.

1) Portal settings (mainly sound_loss) are applied in PostSpawn function of portal entities (both info_locationSeparator and info_portalSettings are portal entities).
2) The function overrides previous values, so if several entities apply different settings to the same visportal, the last values win.
  But this is not certain, of course =) I won't be surprised if some information from previous calls might persist...
3) Both types of portal entities schedule PostSpawn in their own code, and do that after 18 ms of spawning.
  And since spawn happens on map start, I assume that it happens in order entities are listed in .map file.

So the bottom line is: if one visportal is contacted by several entities of types info_locationSeparator / info_portalSettings, then settings are taken from the latest entity in .map file.
Which comes last is pretty undefined of course =) the type does not matter for sure

Moreover, notice that the location-blocking capability works differently.
The visportal blocks locations if there is at least one location separator which contacts it.
stgatilov

stgatilov

15.06.2023 20:49

administrator   ~0016020

So the actual change is here:
  r10401 Take info_portalsettings entities into account when checking location separators in dmap.

Also I changed DR-visible description of these two entity types (which has not been done in ages):
  r16812 Improved editor_usage of info_locationSeparator and info_portalSettings.

Minor stuff:
  r10400 Deleted references of light_loss spawnarg on portal entities.
  r16810 Deleted references of light_loss spawnarg on portal entities.
  r16811 Added bad info_portalsettings to portal diagnostics test map.

Issue History

Date Modified Username Field Change
09.01.2023 22:39 stgatilov New Issue
09.01.2023 22:39 stgatilov Status new => assigned
09.01.2023 22:39 stgatilov Assigned To => stgatilov
09.01.2023 22:39 stgatilov Relationship added related to 0005354
11.06.2023 10:07 stgatilov Relationship added related to 0003042
11.06.2023 10:53 stgatilov Note Added: 0016016
15.06.2023 13:37 stgatilov Note Added: 0016019
15.06.2023 20:49 stgatilov Note Added: 0016020
15.06.2023 20:49 stgatilov Status assigned => resolved
15.06.2023 20:49 stgatilov Resolution open => fixed
15.06.2023 20:49 stgatilov Fixed in Version => TDM 2.12