Open Baker7 opened 7 months ago
Quake mods that lack default.cfg in their quake.rc already broke in stock quake, there's no change in behavior here other than some engine defaults possibly not triggering, so why was that mod made broken to begin with?
The Quake Remaster doesn't exec default.cfg either.
This is what I said when I realized the cause ...
The smej quake.rc file is at fault.
It does not run default.cfg
And it is supposed to.
But I thought about it, and I had to decide whether or not I wanted every mod with this issue to malfunction or if I just wanted it "to work".
I think the best strategy is to run default.cfg and post a warning (in red text perhaps?) in the console saying the engine is working around a bug in the mod as exec default.cfg is required for normal operation, if you really want to avoid default.cfg then please make an empty one.
I think not executing a default.cfg is the "new normal".
Consider this ...
1) Johnny has "Quake Remastered". 2) Johnny installs a gamedir mod with only a progs.dat and a map. 3) Since "Quake Remastered" does not execute default.cfg and the mod with a progs.dat does not supply a quake.rc
Where is the "exec default.cfg" supposed to come from?
Because it isn't in Quake Remastered -- and for some people that is the "new Quake". And the mod is just a progs.dat
But if there is no quake.rc in a mod, it still runs the quake.rc in id1, as it falls back to that one, and quake.rc is what specifies the startdemos command, which is the only way to trigger that on startup. The fact that quake.rc also contains the stuffcmds (which runs the commandline options beginning with +) is more of a curiosity. So a lot of mods include a quake.rc specifically to remove the startdemos command because they have no demos to show, but they intend to have all other behaviors in place.
I don't know. Thinking about it more, it really is a smej "issue".
I just opened the re-release folder and looked around. It does have a quake.rc and it does exec default.cfg, it just does not come with a default.cfg (go figure.)
[Yes it is true, Quake Remastered does not have a default.cfg -- Quakespasm overcomes this by providing its own default.cfg in the engine.]
My goal was to document and share the details of the investigation into the solid cobwebs and solid waterwall, because it was very difficult to unravel.
There are some Quake mods that lack exec default.cfg. An example mod is Smej2 https://www.quaddicted.com/reviews/smej2_1.1.html and the map smej2m4 Lumen Valama (origin = "origin" "2293 1747 296" -- the map is huge, use "prvm_edictset server 1 origin "2293 1747 296" to teleport there")
This shows the correct behavior, but if you start up DarkPlaces from the command line with darkplaces -game smej2 +map mapname jakub1 says the cobwebs will be solid and grenades will bounce off them and rockets and such will bounce off waterfalls instead of going through them.
"exec default.cfg" signals for DarkPlaces to set "ideal Quake settings", lock default values, etc.
Running a mod without "exec default.cfg" in the "quake.rc" will result in all sorts of crazy and odd behaviors, because the "ideal Quake settings for cvars" never run. It is also likely the default values for cvars are bad/invalid.
Here is what I am doing in Zircon engine to fix:
GAME_NORMAL is Quake, but not hipnotic or quoth or such. This won't run if hipnotic or rogue or such are the gamedir, but the mod should be hipnotic in that case, anyway and use the quake.rc for such so this should cover all valid cases for a Quake mod.
cmd.c in Cmd_Exec (the fix I am using ...)
Note ... for someone to type "prvm_edictset server 1 origin "2293 1747 296" to teleport is unwieldly ... in Quakespasm derivates (and Zircon) there is a command "setpos 2293 1747 296" ... the code for that looks as such ...