View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0000325 | Gameplay + OpenGL | [All Projects] Bug | public | 2017-02-23 08:03 | 2017-02-27 04:35 |
Reporter | ZZYZX | ||||
Assigned To | |||||
Priority | high | Severity | major | Reproducibility | always |
Status | resolved | Resolution | fixed | ||
Summary | 0000325: Duplicate classes in old DECORATE mods cause fatal error | ||||
Description | Example wad: Zen Dynamics, which is a really classic wad and doesn't run in new GZDoom anymore solely because of this. It's a good idea to have this as fatal error in ZScript, but doing it in DECORATE means breaking backwards compatibility. | ||||
Tags | No tags attached. | ||||
zendynx.png (23,965 bytes) ==> SQL => SELECT d.adnum as num, d.adsrc as def from pg_attrdef d, pg_class c where d.adrelid=c.oid and c.relname='mantis_bug_file_table' order by d.adnum
|
|
In this particular case it's not even mod author's fault, as this was caused by addition of previously Skulltag-exclusive Grenade actor in 2009: https://zdoom.org/wiki/Classes:Grenade |
|
Though normally I adopt the "I'm cool with fixing the mod if it can't reasonably be done in the engine" stance, I have to draw the line somewhere. Zen is a few light-years on the other side of that line. :P | |
Partially fixed. There is no 100% fix here because one of the conflicting types is of class ammunition, so some weapon may be broken. | |
When I get some free time, I'll double-check my Revision of this mod to see if the problem still exists there. If not, I'll clean it up on my end. | |
The 'Grenade' ammo type won't work and will have to be renamed. Although I can rename the duplicate class, it doesn't help here becausethe first one is a simple actor while the second one is a special type that gets referenced by other classes. | |
Wasn't it getting fully replaced before ZScript if it encountered duplicates? And when internal Grenade was replaced with other random Grenade, the internal ZDoom's C++ code wouldn't crash? |
|
The full replacement was also broken. In the end I had to decide between a design mistake that has been causing endless problems and would do so in the future if not removed or risking to break a handful of mods that depend on the bad implementation. Unless a proper namespacing of class names that is compatible with all mods is implemented there is no way to completely resolve the problem for all mods - but the current way is definitely better than the old one and causes less problems overall. Zendyn is the first mod that is really negatively affected by it. |
|
Date Modified | Username | Field | Change |
---|---|---|---|
2017-02-23 08:03 | ZZYZX | New Issue | |
2017-02-23 08:03 | ZZYZX | File Added: zendynx.png | |
2017-02-23 08:05 | ZZYZX | Note Added: 0000712 | |
2017-02-23 08:09 | ZZYZX | Note Edited: 0000712 | View Revisions |
2017-02-23 09:54 | Xaser | Note Added: 0000715 | |
2017-02-23 12:04 | Graf Zahl | Note Added: 0000720 | |
2017-02-23 12:04 | Graf Zahl | Status | new => resolved |
2017-02-23 12:04 | Graf Zahl | Resolution | open => fixed |
2017-02-23 13:34 | Ed the Bat | Note Added: 0000724 | |
2017-02-23 16:07 | Graf Zahl | Note Added: 0000726 | |
2017-02-24 01:00 | ZZYZX | Note Added: 0000730 | |
2017-02-24 01:01 | ZZYZX | Note Edited: 0000730 | View Revisions |
2017-02-27 04:35 | Graf Zahl | Note Added: 0000797 |