andrei-drexler / ironwail

High-performance QuakeSpasm fork
GNU General Public License v2.0
546 stars 50 forks source link

nomonsters cvar in Quakespasm or Quake Enhanced #332

Closed MrTenThirteen closed 2 months ago

MrTenThirteen commented 2 months ago

Hi there,

For quite a while now I've been interested in Ironwail, but unfortunately I don't have the hardware to run it. Among the many reasons I wanted to try it out was because I had read in a recent update changelog that global functionality was added to the 'nomonsters' cvar, ostensibly for testing / debugging purposes. Ever since I started playing Quake, it's been a sore spot for me that this cvar doesn't function. Some mods implement it, such as Arcane Dimensions and Copper, but global functionality is what I've been looking for. It might seem strange, especially because it can break gameplay, but I often quite enjoy simply exploring the maps with no combat, and I have tried for a few years now to make that happen, with no success. It's either the few mods I mentioned, or Impulse 205 with Scourge of Armagon, or settling for notarget instead. I understand that what I'm asking about isn't actually an issue or problem with Ironwail, though I hope you'll be willing to help me all the same. Do you know if there is a way for me to re-implement global functionality to nomonsters personally in Quakespasm or in the Quake Enhanced KEX engine re-release? Just that one change and I'll be about as happy as one could possibly be. I've inquired everywhere else I could think of, from func_msgboard to the Quake mapping discord, and done as much research as I could. I thought it best to ask you, since you did it for your source port. Any clarification would be very much appreciated.

Thank you, Harrison

andrey-budko commented 2 months ago

Do you know if there is a way for me to re-implement global functionality to nomonsters personally in Quakespasm

Looks like all the nomonsters code is there https://github.com/andrei-drexler/ironwail/commit/91d630db72054414c90bc93d41f4e3e8bcfc36f8, you can apply this revision to quakespasm and recompile for your OS

Just did it here: https://github.com/andrey-budko/ironwail/tree/qs_nomonsters

MrTenThirteen commented 2 months ago

Could you go into a little more detail on how to apply the revision to Quakespasm, silly as that might sound? I admit my knowledge is very limited, layman at best basically.

garoto commented 2 months ago

@andrey-budko is talking about dealing with source code version control software and the very specific know-how associated with those tools; e.g.: using git (the CLI program) to apply the diff (a.k.a. a patch) from Ironwail's commit with the hash 91d630d to sezero's OG Quakespasm source tree.

And then compiling the code afterwards for your platform, which is another whole ball game.

garoto commented 2 months ago

And btw, I tried applying Ironwail's commit 91d630d via git apply to Quakespasm master tree and it failed (expected I guess). What's the magic git incantation you used andrey-budko if you dont mind?

andrey-budko commented 2 months ago

What's the magic git incantation you used andrey-budko if you dont mind?

You can apply to ironwail/quakespasm fork like this: git clone ... git remote add ironwail https://github.com/andrei-drexler/ironwail.git git remote add sezero https://github.com/sezero/quakespasm.git git fetch ironwail git fetch sezero git reset sezero/master --hard git checkout -b qs_nomonsters git cherry-pick 91d630d cd Quake/ make clean make -f Makefile.w64

MrTenThirteen commented 2 months ago

I'm very sorry, I don't think I'm really capable of implementing any of this myself. I could try of course, but I would probably screw it up in truly hilarious ways, which would be amusing but counter-productive.

MrTenThirteen commented 2 months ago

That being said, and knowing this is a bit of an ask, is it at all possible that maybe the revision 91d630d could be packaged into a patch that someone like me at the consumer level can place into the game directory? Maybe replace a file or something like that?

garoto commented 2 months ago

Cheers @andrey-budko for the how-to, gonna test it. @MrTenThirteen your best option it seems is to open an issue in sezero's QS page and ask if he can merge this feature into QS.

MrTenThirteen commented 2 months ago

Okay, I'll go do that then. Thank you both for the clarification you've provided for me!

MrTenThirteen commented 2 months ago

I've opened an issue on sezero's Quakespasm page, like @garoto suggested, and I'll close this issue with this comment. Thank you again for your help.