Page 1 of 1

Complex Doom: LCA v1.5.9 Major GZDoom Bug

Posted: Fri Mar 31, 2017 4:28
by Legendary
Hello, I've been having a little bug with a small addon/mod that I've been working on for a while now. I was wondering if anyone could give me some help. I've been trying to get this addon to work with GZDoom for the longest to no avail. It works perfectly with Zandronum's current version and even Its 3.0 alpha builds which are getting closer to catching up to the current GZDoom builds. I've ironed out most of the bugs causing it to not work but now there's one last thing I can't fix and I don't know what it is. Here are the crash report files: https://www.mediafire.com/?o0cm0dlagzf0dv1. I would greatly appreciate it if I could get some help fixing this. Thanks in advance.

Re: Complex Doom: LCA v1.5.9 Major GZDoom Bug

Posted: Fri Mar 31, 2017 7:43
by _mental_
Without ability to reproduce the crash this report is useless. Provide all assets needed to do so and we will help you.

Re: Complex Doom: LCA v1.5.9 Major GZDoom Bug

Posted: Fri Mar 31, 2017 16:13
by Legendary
_mental_ wrote:
Fri Mar 31, 2017 7:43
Without ability to reproduce the crash this report is useless. Provide all assets needed to do so and we will help you.
Oh man, that's tough since I don't want to have the mod released too early then it'll end up being passed around. I'll send you the pk3's through PM and anyone else who wants it for the sole purpose of helping me get this working just let me know here. I'll send you everything through PM also.

Re: Complex Doom: LCA v1.5.9 Major GZDoom Bug

Posted: Sat Apr 01, 2017 9:03
by _mental_
The crash is caused by a reference to undefined class Nothing in Actors/Items/LegendaryDemonRune.txt:

Code: Select all

ACTOR PowerLegendaryPlayer : PowerMorph
{
  // ...
  PowerMorph.MorphFlash "Nothing"
  PowerMorph.UnMorphFlash "Nothing"
  // ...
}
Most likely you wanted to use None instead.

Of course the game shouldn't crash in this case, so I fixed it.
The following warning is reported among others during loading:

Code: Select all

Class Nothing referenced but not defined

Re: Complex Doom: LCA v1.5.9 Major GZDoom Bug

Posted: Sat Apr 01, 2017 16:12
by Legendary
_mental_ wrote:
Sat Apr 01, 2017 9:03
The crash is caused by a reference to undefined class Nothing in Actors/Items/LegendaryDemonRune.txt:

Code: Select all

ACTOR PowerLegendaryPlayer : PowerMorph
{
  // ...
  PowerMorph.MorphFlash "Nothing"
  PowerMorph.UnMorphFlash "Nothing"
  // ...
}
Most likely you wanted to use None instead.

Of course the game shouldn't crash in this case, so I fixed it.
The following warning is reported among others during loading:

Code: Select all

Class Nothing referenced but not defined
Ohh I see now, thanks it loads perfectly fine now. Though, is there a way for me to fix this? "GZDoom doesn't support execution of console commands from scripts". That tends to mess up the music for the Legendary enemies and the vanilla mode for normal Complex Doom. I'm fairly new to ACS so I don't know much about it.

Re: Complex Doom: LCA v1.5.9 Major GZDoom Bug

Posted: Sat Apr 01, 2017 17:22
by _mental_
Legendary wrote:
Sat Apr 01, 2017 16:12
Though, is there a way for me to fix this? "GZDoom doesn't support execution of console commands from scripts". That tends to mess up the music for the Legendary enemies and the vanilla mode for normal Complex Doom. I'm fairly new to ACS so I don't know much about it.
Do not use ConsoleCommand() function. Find the way to do what you want without it or disable that feature if you can't.

Re: Complex Doom: LCA v1.5.9 Major GZDoom Bug

Posted: Mon Apr 03, 2017 16:20
by Legendary
_mental_ wrote:
Sat Apr 01, 2017 17:22
Do not use ConsoleCommand() function. Find the way to do what you want without it or disable that feature if you can't.
Oh ok thanks. What's up with the Melee not showing up though? I was just doing a little further testing and I noticed that the Fists don't show up with GZDoom but they show fine with Zandronum.

Re: Complex Doom: LCA v1.5.9 Major GZDoom Bug

Posted: Tue Apr 04, 2017 8:54
by _mental_
Looks like nobody bothered reading console messages:

Code: Select all

Script warning, "lca-v1.5.9b.pk3:actors/players/lca-player.txt" line 1:
Tried to define class 'ComplexDoomPlayer' more than once. Renaming class to 'ComplexDoomPlayer@lca-v1.5.9b.pk3@actors/players/lca-player.txt'
The actual player class used by GZDoom comes from complex-doom.v26a2.pk3 because the one with duplicate name from lca-v1.5.9b.pk3 was renamed.
Zandronum doesn't have such comprehensive system to resolve name conflicts, just like old versions of ZDoom didn't have it too.

Re: Complex Doom: LCA v1.5.9 Major GZDoom Bug

Posted: Wed Apr 05, 2017 15:13
by Legendary
_mental_ wrote:
Tue Apr 04, 2017 8:54
Looks like nobody bothered reading console messages:

Code: Select all

Script warning, "lca-v1.5.9b.pk3:actors/players/lca-player.txt" line 1:
Tried to define class 'ComplexDoomPlayer' more than once. Renaming class to 'ComplexDoomPlayer@lca-v1.5.9b.pk3@actors/players/lca-player.txt'
The actual player class used by GZDoom comes from complex-doom.v26a2.pk3 because the one with duplicate name from lca-v1.5.9b.pk3 was renamed.
Zandronum doesn't have such comprehensive system to resolve name conflicts, just like old versions of ZDoom didn't have it too.
Ah, I see it now but I can't find a way to resolve the issue. I've tried "ACTOR LCAComplexDoomPlayer : DoomPlayer Replaces ComplexDoomPlayer" and a few other similar lines to that and I just couldn't get it working. I also did "ACTOR LCAComplexDoomPlayer : ComplexDoomPlayer Replaces ComplexDoomPlayer" and that didn't work either. It always ends up with no fists whenever I have it replace the actor.

Re: Complex Doom: LCA v1.5.9 Major GZDoom Bug

Posted: Wed Apr 05, 2017 20:40
by Graf Zahl
'replaces' does not work for player classes, you will have to redefine the global default in a MAPINFO lump with

Code: Select all

gameinfo
{
	playerclasses = "classname"
}

Re: Complex Doom: LCA v1.5.9 Major GZDoom Bug

Posted: Fri Apr 07, 2017 1:18
by Legendary
Graf Zahl wrote:
Wed Apr 05, 2017 20:40
'replaces' does not work for player classes, you will have to redefine the global default in a MAPINFO lump with

Code: Select all

gameinfo
{
	playerclasses = "classname"
}
Hmm that didn't work, it did the same thing as when I tried to replace it. That must mean my player class is bugged but I don't see where. Maybe the new melee system added is faulty? I couldn't see what was going wrong.

Re: Complex Doom: LCA v1.5.9 Major GZDoom Bug

Posted: Fri Apr 07, 2017 9:56
by _mental_
Legendary wrote:
Fri Apr 07, 2017 1:18
Hmm that didn't work, it did the same thing as when I tried to replace it. That must mean my player class is bugged but I don't see where. Maybe the new melee system added is faulty? I couldn't see what was going wrong.
ComplexDoom uses KEYCONF lump to set its custom player class. So in addition to DECORATE change

Code: Select all

ACTOR LCAComplexDoomPlayer : DoomPlayer
or even

Code: Select all

ACTOR LCAComplexDoomPlayer : ComplexDoomPlayer
you need insert the following lines into LCA's KEYCONF:

Code: Select all

clearplayerclasses
addplayerclass LCAComplexDoomPlayer

Re: Complex Doom: LCA v1.5.9 Major GZDoom Bug

Posted: Fri Apr 07, 2017 16:34
by Legendary
_mental_ wrote:
Fri Apr 07, 2017 9:56
ComplexDoom uses KEYCONF lump to set its custom player class. So in addition to DECORATE change

Code: Select all

ACTOR LCAComplexDoomPlayer : DoomPlayer
or even

Code: Select all

ACTOR LCAComplexDoomPlayer : ComplexDoomPlayer
you need insert the following lines into LCA's KEYCONF:

Code: Select all

clearplayerclasses
addplayerclass LCAComplexDoomPlayer
Ah! That was what I needed to do, It's working fine now thanks. Though, there are no player weapon skins when using any of the weapons. I'm guessing GZDoom just doesn't support the use of player skins assigned to weapons then.