View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||
---|---|---|---|---|---|---|---|---|---|
0004483 | Spring engine | Lua | public | 2014-08-03 14:28 | 2016-08-26 19:48 | ||||
Reporter | FLOZi | ||||||||
Assigned To | hokomoko | ||||||||
Priority | normal | Severity | minor | Reproducibility | always | ||||
Status | resolved | Resolution | fixed | ||||||
Product Version | 97.0.1+git | ||||||||
Target Version | Fixed in Version | ||||||||
Summary | 0004483: Spring.SetProjectileAlwaysVisible doesn't always make a projectile always visible | ||||||||
Description | Grab MCL r1111 from SVN ( https://sourceforge.net/p/mwspring/code/1111/ ) or from rapid (mcl:test). Nuclear meltdown projectile is set to alwaysvisible when spawned but disappears when you lose LOS on the area. | ||||||||
Steps To Reproduce | Any mech when destroyed with excess heat will spawn a nuclear meltdown CEG. I would recommend; 1. /give is_catapult_ctplt1 and have it attack ground outside of LRM minimum range 2. /give is_flea_fle17 1 next to the catapult and watch it flamer 3. catapult dies and screams "Nuuuuuuuuuke", spawns nuke 4. Nuke disappears along with catapult LOS 5. You can /spectator to see the full CEG | ||||||||
Additional Information | Code used: local x,y,z = Spring.GetUnitPosition(unitID) local nukeID = Spring.SpawnProjectile(WeaponDefNames["meltdown"].id, {pos = {x,y,z}, owner = unitID, ttl = 5}) Spring.SetProjectileAlwaysVisible(nukeID, true) I also tried catching it with Script.SetWatchWeapon and ProjectileCreated, there was no difference in behaviour. | ||||||||
Tags | No tags attached. | ||||||||
Checked infolog.txt for Errors | |||||||||
Attached Files |
|
Notes | |
FLOZi (reporter) 2014-08-06 00:53 Last edited: 2014-08-06 03:15 |
Ok, when i use the same CEG as the explosion generator for a weapon, it displays correctly outside of LOS, so I guess instead it is a flaw with / with how i'm using Spring.SpawnProjectile. If I'm being really dumb, please point out my error edit: Using it directly as a death explosion doesn't work either, so there must be some key difference between the way a death explosion works and a projectile explosion? Perhaps here: https://github.com/spring/spring/blob/develop/rts/Rendering/ProjectileDrawer.cpp#L439 I am already setting owner in params though without success - I guess the problem is because the owner dies when used as a death explosion or by the way I'm calling it, so that it does not become visible. Should L439 just check for alwaysVisible at that point?? edit2: confirmed that is the problem, have a lua workaround for MCL by setting an indestructible beacon as the owner. Tried adding pro->alwaysVisible check to L439 and that didn't work. |
FLOZi (reporter) 2014-08-06 19:43 |
Having futzed about a bit with the code, it does seem that projectile alwaysVisible isn't being set correctly, I can only get the CEG to render when it has a living ownerID |
FLOZi (reporter) 2014-08-14 19:17 |
Can be closed due to https://github.com/spring/spring/commit/1689bcb7c0a736d82e6d78e30d0bfa64add0a9d1 |
FLOZi (reporter) 2016-08-11 00:59 Last edited: 2016-08-11 01:00 |
Sigh, in fact, this is not fully resolved. Only groundflash really works properly, probably due to https://github.com/spring/spring/blob/develop/rts/Rendering/Env/Particles/ProjectileDrawer.cpp#L739 I'm still having to use my hack and that doesn't work unless you put a whacking big Sleep in, something to do with LOS coverage. |
FLOZi (reporter) 2016-08-11 13:06 |
Easier steps for reproducing: Using latest mcl:test 1. /cheat /give 9 garrison_fs 1, on your starting beacon 2. Order a mech (queue up, hit submit) 3. Watch the turrets kill the dropship 4. Dropship hits ground and goes boom. 5. Nuke cloud dissapears with unit, only groundflash remains visible |
hokomoko (developer) 2016-08-26 19:19 |
seems that LoS wasn't the prohibiting factor this time but the number of particles. |
Issue History | |||
Date Modified | Username | Field | Change |
---|---|---|---|
2014-08-03 14:28 | FLOZi | New Issue | |
2014-08-06 00:53 | FLOZi | Note Added: 0013473 | |
2014-08-06 01:10 | FLOZi | Note Edited: 0013473 | View Revisions |
2014-08-06 02:25 | FLOZi | Note Edited: 0013473 | View Revisions |
2014-08-06 03:03 | FLOZi | Note Edited: 0013473 | View Revisions |
2014-08-06 03:04 | FLOZi | Note Edited: 0013473 | View Revisions |
2014-08-06 03:15 | FLOZi | Note Edited: 0013473 | View Revisions |
2014-08-06 19:43 | FLOZi | Note Added: 0013482 | |
2014-08-14 19:17 | FLOZi | Note Added: 0013510 | |
2014-08-14 19:21 | jK | Status | new => resolved |
2014-08-14 19:21 | jK | Resolution | open => fixed |
2014-08-14 19:21 | jK | Assigned To | => jK |
2016-08-11 00:59 | FLOZi | Note Added: 0016607 | |
2016-08-11 00:59 | FLOZi | Status | resolved => feedback |
2016-08-11 00:59 | FLOZi | Resolution | fixed => reopened |
2016-08-11 01:00 | FLOZi | Note Edited: 0016607 | View Revisions |
2016-08-11 13:06 | FLOZi | Note Added: 0016608 | |
2016-08-11 13:06 | FLOZi | Status | feedback => assigned |
2016-08-11 13:07 | hokomoko | Assigned To | jK => hokomoko |
2016-08-26 19:19 | hokomoko | Changeset attached | => spring develop ab2157c3 |
2016-08-26 19:19 | hokomoko | Note Added: 0016628 | |
2016-08-26 19:19 | hokomoko | Status | assigned => feedback |
2016-08-26 19:48 | hokomoko | Status | feedback => resolved |
2016-08-26 19:48 | hokomoko | Resolution | reopened => fixed |