- New array of pointers to structures in memory (currently mixing static for base-game and Callocated for custom)
- Centralises a metric-ton of previously seperately handled properties into one struct
- Gametype_Names[]
- Gametype_ConstantNames[]
- gametypetol[]
- timelimits[]
- pointlimits[]
- gametypedefaultrules[]
- gametypecolor[] - Nep: This one was blan exclusive but I added it regardless.
- Don't attempt to guess custom gametype in Replay Hut (requires more work to make custom gametypes behave across the entire experience)
- I_Error if invalid gametype set
- gametyperules is deprecated since it will never be modified seperately from gametype (temporarily a #define, don't wanna bloat this commit too much)
this fixes numerous issues with holes in map geometry, misplaced sectors/planes, rare infinite loop hangs
most notably fixes most rendering issues on UDMF/RR maps
needs some testing as this may be slower than the old one
if the map was loaded in software renderer mode the segs floatlength was not set
since this only gets done on map load for non adjusted segs it broke texture mapping on non adjusted segs after switching to gl
It's 2026, and the only time since Super Mario Kart where 150cc is made unlockable is a god-damned arcade game
Plus, it literally makes more sense for Expert (200cc) to be the unlockable speed now
DUDE TOUHOU LMAO
Jokes aside:
* Lunatic = Master difficulty with modifications to make the races
significantly more difficult:
* Introduces a "lunaticmode" boolean to grandprixinfo;
the demoversion has been upped to 0x0010 due to this
* The bot modifier is, at MINIMUM, 2.0, making them aggressive as hell;
Rival bots use a 2.5 modifier
* Bump Spark is always off in this mode
* RUNNERAUGMENT results have their distances significantly shortened;
if a rival bot takes the lead, this distance is shortened even FURTHER
so they don't frontrun against the human player endlessly
* Alt. Invinc shows up earlier as a sort of "mercy" for human players;
it would otherwise not show up until the race was effectively over
* Maniac = Nightmare difficulty (Master at Expert speed)
with Lunatic's changes
Uses an unordered-map system so we don't loop through every item constantly
Opting for trying to fit everyone on the screen; 320x200 users can deal with it
Scrolling is not yet implemented, and this system isn't netsynched yet