Anonymous | Login | Signup for a new account | 2025-07-27 20:33 UTC | ![]() |
My View | View Issues | Change Log | Roadmap | Zandronum Issue Support Ranking | Rules | My Account |
View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||||||
0004482 | Zandronum | [All Projects] Bug | public | 2025-03-31 17:12 | 2025-03-31 19:06 | ||||||||
Reporter | IlyStr | ||||||||||||
Assigned To | |||||||||||||
Priority | normal | Severity | minor | Reproducibility | always | ||||||||
Status | new | Resolution | open | ||||||||||
Platform | ASRock B550, AMD Ryzen 5 56 x64 | OS | Windows 10 LTSC Enterprise | OS Version | 21H2 (19044.357) | ||||||||
Product Version | 4.0-beta | ||||||||||||
Target Version | Fixed in Version | ||||||||||||
Summary | 0004482: Flicker dyn.light's radius chance is inverted (Relatively to GZDoom and UDB) | ||||||||||||
Description | In GZDoom and UDB: 1 — Almost always radius №2 359 — Almost always radius №1 Zandronum: 1 — Almost always radius №1 359 — Almost always radius №2 Why? It's supposed to be easily solved here 'https://github.com/TorrSamaho/zandronum/blob/2ec1c262355a59762353dc9594d6f3c3b79fb508/src/gl/dynlights/a_dynlight.cpp#L267 [^]' ``` m_currentIntensity = float(m_intensity[rnd >= (1.f-pct) * 255]); ``` or more accurately here 'https://github.com/TorrSamaho/zandronum/blob/2ec1c262355a59762353dc9594d6f3c3b79fb508/src/gl/dynlights/a_dynlight.cpp#L265 [^]' ``` float pct = ANGLE_TO_FLOAT(360-angle)/360.f; ``` | ||||||||||||
Additional Information | I have 16+ dyn. flicker lights on map with second radius 0 and angle 350 Max lights on in GZDoom:'https://imgur.com/emuYEjQ [^]' Max lights on in Zandronum:'https://imgur.com/zWiYzT7 [^]' | ||||||||||||
Attached Files | |||||||||||||
![]() |
|
IlyStr (reporter) 2025-03-31 17:14 edited on: 2025-03-31 17:17 |
And yes, I know that git thread is just a duplicate of heptapod's stable thread |
IlyStr (reporter) 2025-03-31 19:06 |
In general, it's best to backport from GZDoom. 'https://github.com/ZDoom/gzdoom/blob/master/src/playsim/a_dynlight.cpp [^]' ``` case FlickerLight: { // float rnd = randLight(360); if FRandom in Za can process arguments //or if Za's FRandom cannot do this float rnd = randLight % 360.f; m_currentRadius = float((rnd < ANGLE_TO_FLOAT(angle))? pArgs[LIGHT_INTENSITY] : pArgs[LIGHT_SECONDARY_INTENSITY]); break; } ``` |
Only registered users can voice their support. Click here to register, or here to log in. | |
Supporters: | No one explicitly supports this issue yet. |
Opponents: | No one explicitly opposes this issue yet. |
![]() |
|||
Date Modified | Username | Field | Change |
2025-03-31 17:12 | IlyStr | New Issue | |
2025-03-31 17:14 | IlyStr | Note Added: 0024372 | |
2025-03-31 17:17 | IlyStr | Note Edited: 0024372 | View Revisions |
2025-03-31 19:06 | IlyStr | Note Added: 0024374 |
Copyright © 2000 - 2025 MantisBT Team |