Draft: Allow for any texture to be used as a sky
This merge allows any texture to be used as a sky by use of a new level header parameter, Sky
, which you can simply pass a lump name to. For example, Sky = SKY1
, which accomplishes what SkyNum = 1
does, or Sky = GFZWALL
, which does something that was previously rather inconvenient.
The format of P_SetupLevelSky
in Lua has also changed. It can now take either an integer (which is converted to SKYxx
ingame) or a direct string giving the name of the texture, as seen here: P_SetupLevelSky(1)
, P_SetupLevelSky("SKY1")
.
These change aim to solve the issues of A) ridiculous sky numbers having to be memorized (looking at RVZ1 in particular with its SKY159
nonsense), and B) skies being rather easy to overwrite on accident unless you know every single sky number. Backwards compatibility with SkyNum
and 'Change Sky' linedef executors is kept, so no existing stages will break.
Test executable: srb2win-skies.exe
To-do:
-
m_cheat.c ( skynum
console command, currently dummied out) -
p_saveg.c (..multiplayer sky synchronizing? I have absolutely zero knowledge on this, so I'd rather someone with more experience explain this to me.) -
p_spec.c (linedef executor effect, which I haven't got working yet) -
General code review from the more experienced coders. Any programmer could tell that I'm a total amateur, so I've probably made some pretty bad mistakes.