Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] A custom difficulty, with SpawnMulti property on MAPINFO, ignores "Not Cooperative" thing flag #2701

Open
1 task done
antares031 opened this issue Sep 7, 2024 · 4 comments
Labels

Comments

@antares031
Copy link

antares031 commented Sep 7, 2024

GZDoom version

g4.12.2

Which game are you running with GZDoom?

Doom 2

What Operating System are you using?

Windows 10

Please describe your specific OS version

Windows 10 Home

Relevant hardware info

No response

Have you checked that no other similar issue already exists?

  • I have searched and not found similar issues.

A clear and concise description of what the bug is.

Hey there! Our team released the RC6 of Eviternity II (MBF21) recently, and we included a new custom difficulty, called "Annihilate Me". It's basically UV difficulty with -coop_spawns option, spawning actors with "Multiplayer only" flag, but removing actors with "Not Cooperative" flag. We designed the difficulty with MAPINFO lump, and added SpawnMulti property to our new difficulty:

mapinfo

This new difficulty works fine on dsda-doom as intended, removing actors with "Not Cooperative" flag in the levels. But the latest version of GZDoom ignores "Not Cooperative" flag, and spawns the actors with that flag anyway. This causes unintended bugs and glitches throughout the levels with "Not Cooperative"-flagged actors. It'd be appreciated if you fix this issue, by letting the source port abide "Not Cooperative" flag, when the custom difficulty has SpawnMulti property. Thanks, and have a nice day.

Steps to reproduce the behaviour.

Explain how to reproduce

  1. Make a custom difficulty with SpawnMulti on MAPINFO, like the one from the screenshot above
  2. Design a MBF21 level with actors, flagged as "Not Cooperative"
  3. Run the level with a custom difficulty, and check if the actors are spawned

Your configuration

No response

Provide a Log

No response

@antares031 antares031 added the bug label Sep 7, 2024
@RicardoLuis0
Copy link
Collaborator

RicardoLuis0 commented Sep 8, 2024

are you sure this is a gzdoom bug and not a dsda bug? because AFAIK the engine specifically treats spawnmulti as single plus coop spawns, not just coop spawns https://github.com/ZDoom/gzdoom/blob/master/src/playsim/p_mobj.cpp#L5840-L5843

@RicardoLuis0
Copy link
Collaborator

RicardoLuis0 commented Sep 8, 2024

added SpawnMultiCoopOnly this should be enough to make it work (#2703, hopefully it's fixed in dsda with the new flag added as well, but if it isn't, it should still override SpawnMulti if both are defined)

@Gaerzi
Copy link
Collaborator

Gaerzi commented Sep 14, 2024

I think "solo-net" or "solonet" would be a better fit for "spawnmulticooponly", as it corresponds to the parameter actually used in many source port; which is also probably the logic DSDA mapped spawnmulti to, since it was preexisting.

IIRC, spawnmulti appeared as a response to the Unity port's UV+ difficulty. Unfortunately, that one didn't have the Boom "not coop" and "not DM" flags; only the vanilla "not single" flag. So we can't use it as a reference.

@RicardoLuis0
Copy link
Collaborator

RicardoLuis0 commented Sep 15, 2024

I'm not sure if naming a mapinfo option after a commandline parameter works too well, and wouldn't be very descriptive

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants