View Issue Details

IDProjectCategoryView StatusLast Update
0000457DarkRadiantMap Editingpublic09.02.2009 16:22
ReporterSneaksieDave Assigned Togreebo  
PrioritylowSeverityminorReproducibilityalways
Status closedResolutionwon't fix 
Product Version0.9.4 
Fixed in Version0.9.10 
Summary0000457: Speakers now use caps in s_maxdistance and s_mindistance properties
DescriptionNot necessarily a bug, but an unexpected change of events. In the past, the properties were simply

s_maxdistance
s_mindistance

When I tried out the latest DR today, I went to try the speaker radius display out, but none of them worked in my maps. I remembered reading something about the speaker radius not working in existing maps, and it only working for new maps (or perhaps new entities) but I couldn't really think of a reason why this would be the case. And, as I added the properties to new ents by hand, they weren't showing up, either.

Then I noticed it -- the field now must be s_maxDistance and s_minDistance (capital Ds) for DR to put the radius display up. The Add Property function uses caps, but by experience, these were never needed before, so I wasn't thinking of it when typing the field by hand, as I often do.

Has an SDK change made this necessary, or can we go back to lowercase letters? The fewer unnecessary capital letters the better, and it's doubtful any other property will conflict with these.
TagsNo tags attached.

Activities

greebo

greebo

10.12.2007 23:32

administrator   ~0000912

Nicely spotted, thanks! Should be fixed.
SneaksieDave

SneaksieDave

19.01.2008 23:41

reporter   ~0001006

Maybe fix wasn't merged into 95? I still get the same. My explanation wasn't very clear, so trying again:

-create speaker
-add property (with browser) speaker->s_maxDistance (note the capital D)
-enable speaker volumes

It doesn't show. If you add "s_maxdistance" (note lowercase D), now the DR speaker radius shows. At this time, I'm not sure which is correct for TDM (or if it matters), but DR's radius display only likes lowercase, while the property browser only gives uppercase.
tels

tels

21.01.2008 00:19

reporter   ~0001011

I just checked in a fix to def/misc.def - the editor_vars there were still listed with the uppercase D.

That should fix it :)
greebo

greebo

02.02.2008 22:25

administrator   ~0001026

Fixed again. The KeyObserver class was comparing keys case-sensitively. This is changed now, so both s_maxDistance and s_maxdistance should trigger a speaker update.
SneaksieDave

SneaksieDave

26.03.2008 21:28

reporter   ~0001108

There's some weird problem lingering:
===========
Verified case 1:
-create speaker
-type-to-add, s_maxdistance, 10

Result: it works
===========
Verified case 2:
-create speaker
-type-to-add, s_maxDistance, 10 (capital D)

Result: it works
===========
Verified case 3:
-create speaker
-click-to-add, s_maxdistance, then assign a value as normal

Result: it works
===========
Weird case 4:
-create speaker
-type-to-add s_maxdistance, 10
-type-to-add s_maxDistance, 10 (case)
-delete one of the keypairs

Now the speaker radius disappears, even though one of two keypairs proven to work remain. The radius doesn't show again until that keypair is replaced, ignoring the other completely valid one. I guess it became emotionally attached. :)
greebo

greebo

26.03.2008 21:35

administrator   ~0001109

Well, the problem is that the mixed case spawnarg is technically a different one than the all-lowercase spawnarg. The spawnarg observer reacts to both cases, but only creates one value, so if you remove one, the observer believes that this was the same.

There's not much I can do here without changing a considerable part of the SpeakerNode's spawnarg handling, but I'll keep this open.
SneaksieDave

SneaksieDave

26.03.2008 21:41

reporter   ~0001110

Ah interesting, that makes sense. Agreed, this is of very low importance at this stage.
greebo

greebo

26.03.2008 21:46

administrator   ~0001111

Also, I'm inclined to say that if a mapper chooses to add the same spawnarg twice (with different case), it's his bloody own fault. :)
tels

tels

26.03.2008 21:48

reporter   ~0001112

Couldn't the editor simple do a toLowercase($spawnarg) before storing them? Do we really have/want spawnargs with uppercase letters in them?
greebo

greebo

26.03.2008 21:53

administrator   ~0001113

Last edited: 26.03.2008 21:53

Unfortunately yes. The D3 game code is case-sensitive, if I recall correctly, so doing this would almost certainly break things.

greebo

greebo

24.01.2009 19:45

administrator   ~0002321

Setting this back to resolved, as having multiple spawnargs with different case on the same entity is neither recommended nor can I do to prevent it.
SneaksieDave

SneaksieDave

09.02.2009 16:22

reporter   ~0002330

The last case remains, but accepted as a case of user-beware.

Issue History

Date Modified Username Field Change
10.12.2007 23:12 SneaksieDave New Issue
10.12.2007 23:31 greebo Assigned To => greebo
10.12.2007 23:31 greebo Status new => confirmed
10.12.2007 23:32 greebo Note Added: 0000912
10.12.2007 23:32 greebo Status confirmed => resolved
10.12.2007 23:32 greebo Fixed in Version => 0.9.5
10.12.2007 23:32 greebo Resolution open => fixed
10.12.2007 23:33 greebo Projection none => minor fix
10.12.2007 23:33 greebo ETA none => < 1 day
10.12.2007 23:33 greebo Build => 2742
10.12.2007 23:33 greebo Target Version => 0.9.5
19.01.2008 23:41 SneaksieDave Status resolved => feedback
19.01.2008 23:41 SneaksieDave Resolution fixed => reopened
19.01.2008 23:41 SneaksieDave Note Added: 0001006
21.01.2008 00:19 tels Note Added: 0001011
28.01.2008 08:45 greebo Status feedback => assigned
28.01.2008 08:46 greebo Target Version 0.9.5 => 0.9.6
02.02.2008 22:25 greebo Status assigned => resolved
02.02.2008 22:25 greebo Fixed in Version 0.9.5 => 0.9.6
02.02.2008 22:25 greebo Resolution reopened => fixed
02.02.2008 22:25 greebo Note Added: 0001026
02.02.2008 22:25 greebo Build 2742 => 2984
26.03.2008 21:28 SneaksieDave Status resolved => feedback
26.03.2008 21:28 SneaksieDave Resolution fixed => reopened
26.03.2008 21:28 SneaksieDave Note Added: 0001108
26.03.2008 21:35 greebo Note Added: 0001109
26.03.2008 21:35 greebo Status feedback => confirmed
26.03.2008 21:41 SneaksieDave Note Added: 0001110
26.03.2008 21:41 SneaksieDave Priority normal => low
26.03.2008 21:46 greebo Note Added: 0001111
26.03.2008 21:48 tels Note Added: 0001112
26.03.2008 21:53 greebo Note Added: 0001113
26.03.2008 21:53 greebo Note Edited: 0001113
05.04.2008 08:02 greebo Target Version 0.9.6 =>
24.01.2009 19:45 greebo Note Added: 0002321
24.01.2009 19:45 greebo Status confirmed => resolved
24.01.2009 19:45 greebo Resolution reopened => won't fix
09.02.2009 16:22 SneaksieDave Note Added: 0002330
09.02.2009 16:22 SneaksieDave Status resolved => closed
09.02.2009 16:22 SneaksieDave Fixed in Version 0.9.6 => 0.9.10