View Issue Details

IDProjectCategoryView StatusLast Update
0005017The Dark ModDef / Setuppublic09.03.2020 11:21
ReporterVanishedOne Assigned Tostgatilov  
Status resolvedResolutionfixed 
Product VersionTDM 2.07 
Target VersionTDM 2.08Fixed in VersionTDM 2.08 
Summary0005017: Mine explosions have a light, fire arrow explosions don't
DescriptionRPGista pointed out that the fire arrow never actually illuminates anything. Which is surprising, given that it boosts your lightgem just by being aimed. Explosive mines, on the other hand, do create a flash of light. The fire arrow blast has flame particles but unlike other flames in the game, they aren't associated with illumination, which seems inconsistent.
TagsNo tags attached.


related to 0001104 resolvedgrayman Gas arrows leak through glass and doors 




02.01.2020 15:24

administrator   ~0012020

I think I'll add flashlight to fire arrow explosion. It will be very small, weak, and in yellow/red tones --- very different from the flashbomb/mine flash.

I have a proof-of-concept implementation. Now thinking on how to do it properly.


03.01.2020 06:20

administrator   ~0012034

I noticed that the new implementation of explosion trigger when arrow hits water.


03.01.2020 09:48

administrator   ~0012035

I decided to return back to the implementation using script to temporarily spawn a light entity.
Otherwise, it would be too hard to avoid flashlight when hitting water surface.
Done in svn rev 15767.


03.01.2020 09:49

administrator   ~0012036

Here is the explanation about difference between implementation:

The first one is used by mine, flashmine and flashbomb. They have def_flashlight spawnarg, which specifies a def of a light. The attached script object (result_flashbomb and result_mine) takes the value of this spawnarg and spawns the specified object for a hardcoded duration of time. Arrows don't use such system yet.

The second approach is used by fireball (i.e. atdm:projectile_fireball). It works by specifying a set of detonate_on_* spawnargs, then mtr_explode_light_shader and explode_light_* cvars to specify light source parameters. As far as I understand, it works via C++ code (idProjectile::Explode) left from Doom 3. It seems that firearrow also uses some of this system, namely mtr_detonate cvar.

Copied from internal discussion:

Issue History

Date Modified Username Field Change
21.03.2019 16:56 VanishedOne New Issue
02.01.2020 15:22 stgatilov Assigned To => stgatilov
02.01.2020 15:22 stgatilov Status new => assigned
02.01.2020 15:24 stgatilov Note Added: 0012020
03.01.2020 06:19 stgatilov Relationship added related to 0001104
03.01.2020 06:20 stgatilov Note Added: 0012034
03.01.2020 09:48 stgatilov Note Added: 0012035
03.01.2020 09:49 stgatilov Note Added: 0012036
03.01.2020 09:49 stgatilov Status assigned => resolved
03.01.2020 09:49 stgatilov Resolution open => fixed
03.01.2020 09:49 stgatilov Fixed in Version => TDM 2.08
09.03.2020 11:21 stgatilov Target Version => TDM 2.08