REMOVE the MAP entirely

Ask about ACS, DECORATE, ZScript, or any other scripting questions here!

Moderator: GZDoom Developers

Forum rules
Before asking on how to use a ZDoom feature, read the ZDoom wiki first. If you still don't understand how to use a feature, then ask here.

Please bear in mind that the people helping you do not automatically know how much you know. You may be asked to upload your project file to look at. Don't be afraid to ask questions about what things mean, but also please be patient with the people trying to help you. (And helpers, please be patient with the person you're trying to help!)
yum13241
Posts: 853
Joined: Mon May 10, 2021 8:08 pm
Preferred Pronouns: He/Him
Operating System Version (Optional): EndeavorOS (basically Arch)
Graphics Processor: Intel with Vulkan/Metal Support

Re: REMOVE the MAP entirely

Post by yum13241 »

Also, so could create an entirely redefined menudef for the controls section without automap button defined.
Only possible in old GZDooms.
User avatar
AshHouswares
Posts: 145
Joined: Fri Jun 03, 2022 11:31 am
Graphics Processor: Not Listed

Re: REMOVE the MAP entirely

Post by AshHouswares »

yum13241 wrote: Sun May 21, 2023 7:31 am
Also, so could create an entirely redefined menudef for the controls section without automap button defined.
Only possible in old GZDooms.
Yet another bit of freedom ripped away from the developers.
Jarewill
 
 
Posts: 1805
Joined: Sun Jul 21, 2019 8:54 am

Re: REMOVE the MAP entirely

Post by Jarewill »

yum13241 wrote: Sun May 21, 2023 7:31 am Only possible in old GZDooms.
That is incorrect.
Running on the latest devbuild, I am freely allowed to redefine the main menu to add a custom options and controls menu:
Spoiler:
AshHouswares wrote: Sun May 21, 2023 10:17 am Yet another bit of freedom ripped away from the developers.
There is no freedom ripped away from you.
GZDoom is primarily designed as a Doom source port, so it has several key features that can't be turned off on demand, only hacked around.
However there is nothing at all preventing you from forking the source code and changing it to fit what you want.

Just because it's possible to make standalone games using GZDoom, that doesn't mean the port is designed primarily with it in mind.
I can understand the appeal of choosing GZDoom as the engine to make games on, as it already does a lot of work for you that you would need to do yourself with engines like Unity or Unreal.
However that comes at a little bit of freedom gone with certain features, but that can be fixed by simply changing the source code, and as an open source engine it's recommended to do that.

I will compare it with RPG Maker, because I feel in this case they are similar.
In both engines, it's pretty easy to make a simple game because of how much work the engine already does for it. Compared to other engines at least.
However if you want full control over it to make really complex things, you need to change the code of the program itself.
User avatar
AshHouswares
Posts: 145
Joined: Fri Jun 03, 2022 11:31 am
Graphics Processor: Not Listed

Re: REMOVE the MAP entirely

Post by AshHouswares »

The thing is, GZDoom is a wonderful engine. The Doom Engine, ever since I was in my early teenage years, fascinated me to no end. It has a certain something that other engines do not. There are many games made on their own custom engines that replicate the DOOM style (take a look at Project Warlock for a quick example) but it nothing, and I do mean nothing, comes close to the magic that the original engine holds - and the sourceports. I do not know what it is, or why it is so special, but it is. And from very early on, we knew (around the year 2000 ish) we wanted to make our game using the DOOM Engine. GZDoom was a blessing when it arrived because it allowed us so much freedom. But, we do tend to keep hitting brick walls which we feel are only there because the owners of the sourceport do not like them being accessible. The extra work that has to be done to avoid these things sometimes has taken us months. Even years.

As you said, it's up to us to modify the source. Which is what we've been trying to do. We were able to disable save anywhere today. Something we know people hate in this community, but we are not making our game for DOOM players. We are making it for players of our IP. One of the greatest games we ever grew up loving was DOOM on PSX. That didn't allow saving at all. And we absolutely loved it. Yes it was difficult, but that was the fun! Trying to survive and feeling accomplishment when we did. Our game doesn't swarm the player with monsters. There are no hoards. So there is no real need to have a save anywhere feature. So we had to fork the engine and alter-it as such, making saves now only at designated save points. But, because of the delving into the source code we had to do, it took far longer than we expected (it took us 7 years to figure out how to do this... that's partly on us for being a bit stupid but we were trying to get a sensible answer on how to do this from our IPK3 instead of changing the engine itself.) With this said however, we are having absolute hell with the cheats and the maps.

The cheats in particular, are the biggest nuisance we have ever had to face. We do not even want to remove them. We just want to change the names and what you need to type to activate them. Because this game is not DOOM and having DOOM's iconic cheats in our game is unprofessional, messy and feels like a cheap mod or hack rather than its own IP. Every cheat DOOM has will be kept in tact EXCEPT that instead, for example, of typing "IDDQD" you would type "neverdie". Or something to that extent. But because the strict barrier put up, we have been spending an insane ammount of time trying to work around this. The cheat for the player to commit suicide for example, we have no idea how it works or why it doesn't work when we write our own version in zscript. This is because no search results yield any answer, and because asking for help on the subject gets you shunned, attacked and shot down. There is absolutely no documentation on cheats on the ZDOOM wiki either, except for what they do when you type said key. Like it's taboo and forbidden knowledge. Lost to time except the developers themselves who keep it locked away. This is all time we are spending trying to solve these issues that could be used on making our game the little horror experience we want it too be. There is so much more work we have to do but it's all on hold until we sort these parts out.

I know people can abuse the editing of maps, cheats and consoles and saves. But the obvious solution to that is to not play those peoples games. If people want to make bad, trolling rubbish then that's up to them. Just don't play it. But people have this obsessive protection over the code for these things, to the point that even when we make our own fork, there is no documentation on the changing of these things. If you do not want it in your own GZDOOM engine that's his decision and I respect it. But equally I would expect respect that we, as our own developers with our own engine fork have a right to OUR decision, but the information on even pulling off these feats are completely hidden from the outside world.

Would it not make sense to have articals documenting the exact process of how to make an engine fork or at the very least, on how to edit the original GZDoom Engine so that we can make a fork of our own and change the cheats, saves, and map from there? After all, if we do that, the player can still choose to boot OUR game with their unchanged GZDOOM with no damage so what is the big issue with revealing how to change these things in engine? I am just extremely frustrated with all these brick walls. The last guy that was working on this games code before me, QUIT. He said he can't work with all the obstacles the community places on these details. That is when I took over that role and decided I would try myself. I've been trying for 2 years and I totally understand his issue now. I have beaten the save anywhere issue. I have managed to implement two NEW cheats. But the old ones are still active and I have no clue how to remove or alter them. I've been trying to do this for over a year. The MAP issue is a newer one I've faced.

Anyway, thanks for listening (or reading) my issues, and I do appreciate your time and effort to help me. The code you gave me should come in very useful. Seems to do the trick. Thank you.
Last edited by AshHouswares on Sun May 21, 2023 12:21 pm, edited 2 times in total.
yum13241
Posts: 853
Joined: Mon May 10, 2021 8:08 pm
Preferred Pronouns: He/Him
Operating System Version (Optional): EndeavorOS (basically Arch)
Graphics Processor: Intel with Vulkan/Metal Support

Re: REMOVE the MAP entirely

Post by yum13241 »

Jarewil wrote: That is incorrect.
Running on the latest devbuild, I am freely allowed to redefine the main menu to add a custom options and controls menu:
What you CANNOT do is redefine the options menu.
But the old ones are still active and I have no clue how to remove or alter them. I've been trying to do this for over a year. The MAP issue is a newer one I've faced.
There's a cheat code library out there, and you can use DEFCVARS to disable keyboard cheats.
User avatar
AshHouswares
Posts: 145
Joined: Fri Jun 03, 2022 11:31 am
Graphics Processor: Not Listed

Re: REMOVE the MAP entirely

Post by AshHouswares »

yum13241 wrote: Sun May 21, 2023 11:56 am
There's a cheat code library out there, and you can use DEFCVARS to disable keyboard cheats.
Where though? I have searched, I feel, pretty thoroughly and have found nothing on the entire Internet. I don't doubt it exists, but I have certainly had no luck finding it.
Jarewill
 
 
Posts: 1805
Joined: Sun Jul 21, 2019 8:54 am

Re: REMOVE the MAP entirely

Post by Jarewill »

AshHouswares wrote: Sun May 21, 2023 11:48 am Anyway, thanks for listening (or reading) my issues, and I do appreciate your time and effort to help me. The code you gave me should come in very useful. Seems to do the trick. Thank you.
I can understand your frustrations, especially when it comes to forking an engine like this. I myself have no idea how to compile things like this, I can only manage small single files using Dev-cpp.
Regarding keyboard cheats I do agree that they should be modifiable, even if to just change their input method.
After digging through GZDoom's source a bit, I did manage to find this and I do hope this will allow you to redefine the button combinations to execute them, but again I have no idea how to compile such code to test changes myself, sadly enough.
I also found this, which hopefully will allow you to customize what each cheat does.

As for the thing yum mentioned, it's in Options > Miscellaneous Options > Disable keyboard cheats with its CVar name being nocheats.
User avatar
AshHouswares
Posts: 145
Joined: Fri Jun 03, 2022 11:31 am
Graphics Processor: Not Listed

Re: REMOVE the MAP entirely

Post by AshHouswares »

Jarewill wrote: Sun May 21, 2023 12:48 pm
AshHouswares wrote: Sun May 21, 2023 11:48 am Anyway, thanks for listening (or reading) my issues, and I do appreciate your time and effort to help me. The code you gave me should come in very useful. Seems to do the trick. Thank you.
I can understand your frustrations, especially when it comes to forking an engine like this. I myself have no idea how to compile things like this, I can only manage small single files using Dev-cpp.
Regarding keyboard cheats I do agree that they should be modifiable, even if to just change their input method.
After digging through GZDoom's source a bit, I did manage to find this and I do hope this will allow you to redefine the button combinations to execute them, but again I have no idea how to compile such code to test changes myself, sadly enough.
I also found this, which hopefully will allow you to customize what each cheat does.

As for the thing yum mentioned, it's in Options > Miscellaneous Options > Disable keyboard cheats with its CVar name being nocheats.
Ahhhh now this is wonderful, thank you, fantastic! This is exactly what I needed. I can figure out everything from here, hopefully. Insane how long I have searched for this documentation. I have overcome about 80% of my issues so far, this is going well. Fingers crossed. Looking through this will prove very useful.
yum13241
Posts: 853
Joined: Mon May 10, 2021 8:08 pm
Preferred Pronouns: He/Him
Operating System Version (Optional): EndeavorOS (basically Arch)
Graphics Processor: Intel with Vulkan/Metal Support

Re: REMOVE the MAP entirely

Post by yum13241 »

https://github.com/mmaulwurff/custom-cheats allows you to make custom cheats as well, if you want to handle things on the IPK3 side. With some modifications it could be made so it's only allowed if sv_cheats == 1.

EDIT: I've based a new version of custom cheats based off of m8f's. It will only work if sv_cheats == 1. You can change this to anything.
Spoiler: ZSCRIPT
I claim no credit over 99% of this. For some reason, sv_cheats is set to 0 by default (on launch) but typing god still works. Bug?

(I couldn't find a way to silence the pickup messages.)
Last edited by yum13241 on Thu May 25, 2023 4:47 am, edited 1 time in total.
Blue Shadow
Posts: 5022
Joined: Sun Nov 14, 2010 12:59 am

Re: REMOVE the MAP entirely

Post by Blue Shadow »

You can hide the lines of the map, as people suggested, but that still won't work, as all the player needs to do is set this CVAR to 0 to get the map showing again.

Return to “Scripting”