‘Quakespasm’ - after the ‘Fitzquake’ engine - has inherited an interesting feature of the environmental fog. The fog, is controlled by a simple-to-remember c-var named “fog”. Values of the “fog” - speaking of density - seem to operate in terms of a percentage number, written decimal style; in which the value of “1”, is a blind fog, while the value of “0.035”, for example, is a proper light mist.
I saw that the ‘Copper’ mod, uses some advanced technique of fog cycling, handled in the “quake.rc” file the mod brings. The “fogcycle” script, however, does not kick in with the new game, unfortunately. I did manage, though, to invoke the various shapes of mist the ‘Copper’ mod proposes, using the commands of “fog1”, “fog2”, “fog3”, “fog4” or “fog5” in the engine console - “fog 6” is a no-fog option. The “fogcycle” command works as well, if repeated. Unfortunately, the “fog” function, in the vanilla game, gets reset with each map change.
Looking up the ‘Copper’ in the case discussed , from what I recognize, the ‘Lunaran’, has assumed a custom parameter of “fogcycle” to be a premier variable, having the values of “fog#” shifting for it in the cycling process; that is why, the re-aliasing of main “fogcycle” condition.
There is also another interesting function in the ‘Quakespasm’, that it has inherited after the ‘Fitzquake’ engine - the “cycle”, allowing to oscillate between values of a c-var. Intuitively, I thought the “cycle” function would be dynamically defined within the conditions of a specific stage, resulting in fluent outcome. In my world of expectations, such script as one given further, should work as well, but the case, seems very puzzling; what the engine would keep repeating, is that the “fog” c-var, does not match a variable type in the “cycle” function:
alias fog1 "0.03 0.3 0.15 0.2;"
alias fog2 "0.02 0.33 0.33 0.5;"
alias fog3 "0.04 0.3 0.3 0.3;"
alias fog4 "0.03 0.3 0.2 0.1;"
alias fog5 "0.03 0.15 0.22 0.12;"
alias fog6 "0;"
cycle fog "fog1 fog2 fog3 fog4 fog5 fog6"
In the realm of “fog”, it is furthermore possible to tweak the colors of an effect - as partially mentioned in the ‘Copper’ “fogcycle” case. After stating the fog density, follow up with three successive values in the RGB spectrum. Hit “fog” in the ‘Quakespasm’ engine console for some intel.
There is also another c-var, valid in the realm of “fog”. That c-var, is the “r_skyfog”. The “r_skyfog”, tells how much the sky image is affected by the fog. Default value of the “r_skyfog”, is “0.5” - the ‘Copper’, stays with it.
For the usefulness of “fog”, even though it may seem cool and fancy to have it on perpetually, I believe there should be an excuse for it. The fog - technologically speaking - may increase the performance through reduction in the line of sight, but for the very same reason, it may handicap certain gameplay elements, in particular those requiring range precision or a clear vista. To some players, it may also be wearing.
Reference: https://www.celephais.net/fitzquake/
Reference: https://www.quaddicted.com/reviews/copper_v1_16.html