"Kill Monsters" command broken with my mod

Is there something that doesn't work right in the latest GZDoom? Post about it here.

Moderator: Developers

Forum rules
Please construct and post a simple demo whenever possible for all bug reports. Please provide links to everything.

If you can include a wad demonstrating the problem, please do so. Bug reports that include fully-constructed demos have a much better chance of being investigated in a timely manner than those that don't.

Please make a new topic for every bug. Don't combine multiple bugs into a single topic. Thanks!

"Kill Monsters" command broken with my mod

Postby XxMiltenXx » Tue Dec 11, 2018 11:21 am

As the title says, I have an issue with the "kill" command and my mod (which I will send to the developers).

The only error message I am getting is:
Code: Select allExpand view
Execution could not continue.

Ambiguous operand size: mov [r12+32], 0


Only 64-bit of GZDoom is affected while 32-bit works fine.

This build (gzdoom-x64-g3.7pre-302-g927d33306) and previous ones are working fine on both 64 and 32-bits
From this build onward (gzdoom-x64-g3.7pre-733-g101ebe173) it only works on 32-bit while 64-bit gives me the given error message. It doesn't matter if I try to kill specific monster types or just "monsters".
XxMiltenXx
 
Joined: 08 Jan 2014

Re: "Kill Monsters" command broken with my mod

Postby _mental_ » Wed Dec 12, 2018 5:05 am

Send the mod please.
_mental_
 
 
 
Joined: 07 Aug 2011

Re: "Kill Monsters" command broken with my mod

Postby XxMiltenXx » Wed Dec 12, 2018 6:44 am

I thought I did, must have done something wrong the first time. This time it was sent correctly.
XxMiltenXx
 
Joined: 08 Jan 2014

Re: "Kill Monsters" command broken with my mod

Postby _mental_ » Wed Dec 12, 2018 8:21 am

Here is a minimal sample. It will trigger a failure of this assertion first, and then, summoning A will lead to this error on JIT code generation.

Code: Select allExpand view
version "2.4"

struct S
{
    void Func()
    {
    }
}

class A : Actor
{
    override void BeginPlay()
    {
        S s;
        s.Func();
    }
}

EDIT: To workaround this engine bug in the mod, it should be enough to make ParticleSpawner.SpawnParticles() function static and avoid creation of ParticleSpawner instances (which is the right thing to do anyway).
_mental_
 
 
 
Joined: 07 Aug 2011

Re: "Kill Monsters" command broken with my mod

Postby XxMiltenXx » Wed Dec 12, 2018 9:31 am

I actually compiled a debug build myself before reporting and saw the same assertion failure. Since it was during startup however I thought it was unrelated and that I compiled something wrongly...

Anyhow, I fixed it in my mod, thanks for the clarification. :)
XxMiltenXx
 
Joined: 08 Jan 2014

Re: "Kill Monsters" command broken with my mod

Postby Graf Zahl » Wed Dec 12, 2018 9:46 am

Is this caused by the zero-length struct?
User avatar
Graf Zahl
Lead GZDoom Developer
 
Joined: 19 Jul 2003
Location: Germany

Re: "Kill Monsters" command broken with my mod

Postby _mental_ » Wed Dec 12, 2018 10:17 am

Yes, because of RegType in VMFunctionBuilder::FramePointer is REGT_NIL to be precise.
_mental_
 
 
 
Joined: 07 Aug 2011


Return to Bugs

Who is online

Users browsing this forum: No registered users and 1 guest