Notes |
|
(0011360)
|
Edward-san
|
2015-01-10 19:13
(edited on: 2015-01-10 19:14) |
|
From what I could see, it's sufficient this:
actor FatShot replaces Fatshot
{
}
Apparently zdoom lost (intentionally?) the case sensitive checking on name collisions. I can reproduce this on latest zdoom.
|
|
|
|
You are right. GZDoom 323 / Zandronum 1.x accepts this code snippet, GZDoom 900 / Zandronum 2.0 does not. ZDoom 2.7.1 still doesn't accept it. Now the question is, whether ZDoom intentionally broke backwards compatibility with existing code. |
|
|
(0011362)
|
Blzut3
|
2015-01-10 19:49
|
|
It's not somehow related to this is it?'http://zdoom.org/wiki/RTC-3057#Pistol_bug [^]'
The one thing I can say for sure is yes, that piece of code is ill-formed. Names in ZDoom were intended to be case insensitive. From my understanding of the change, the actor header was the only place where it was checked case sensitive so it resulted in some quirks.
I think it should be triggering Zandronum's actor renaming though shouldn't it? I know we've been warning people forever that doing "actor Demon : Demon replaces Demon" is ill-formed. If they chose not to listen, that's their problem imo.
Actually with some testing it looks like at some point ZDoom introduced similar renaming code, but decided to properly check that the construct I mentioned produces an error (inheriting from itself or replacing itself). |
|
|
(0011363)
|
Dusk
|
2015-01-10 19:52
|
|
edward-san isolated the changeset'http://zdoom.org/Changelog/6ec3076/files [^]'
ZDoom fixed this as a bug which in turn causes the parser to reject ill-formed DECORATE like this.
<@Blzut3> yeah, definitely a wad error
<@Blzut3> "not listening to developer warnings"
Nothing to do here. |
|