Alright, found the CVar usage in DOOM 2016. Pray the code is somewhat identical in DOOM Eternal.
The way I noticed the "Keep The Dead 0.5" mod works is by tampering several CVars in a .cfg file (DOOMConfig.cfg) placed in the
%UserProfile%\Saved Games\id Software\DOOM\base. Now.. since
_emoose_'s is a proxy .dll (dinput8.dll), the patching, restrictions removal and all the other shit happens the moment the game is started. Meaning BEFORE the Engine is even initialized. Then I noticed the Engine basically reads the .cfg and string-resets the CVars the guy put there:
Code: Select all
ai_death_FadeDelay 60000
breakable_NoFadeAndRemove 1
gore_neverFadeAndRemove 1
mancubus_deadGKHideDemonTime 600000
mancubus_deadHideDemonTime 600000
mancubus_deadLavaHideDemonTime 600000
corpseManager_MaxTime 600000
ai_maxCorpses 300
corpseManager_MaxEntities 300
gore_maxLivingGoreEnts 500
corpse_optimzationStartTime 600
decal_goreBloodPoolPriority 100
decal_forcefadeoutduration 600000
g_bloodspherescale 35.0
g_gorebloodsphereexpanddistance 75
encounterscript_globalmaxai 48
decal_maxdecalsinradius 40
decal_maxdecalgroupingradius 400.0f
g_goresplashjointsused 32
r_decalclusteringnumdecalsperjob 48
g_breakabledebugdecals 1
r_decalLifetimeMultiplier 32
g_entitypoolmode 0
r_rendergatherdecalsgranularity 32
g_breakablefloorsplatfromceiling 1
Am assuming those are the CVars to be changed in DOOM 2016 to keep almost any mob in the map, without fading away or whatnot.
Now.. with my table.. you would have to be at main menu to activate the scripts. Which means the values above will NEVER be set, as the restrictions _emoose_'s dinput8.dll removes never happen (which should when the Engine runs the CVars reset, BEFORE initialization). So that might be one obstacle to get over, which I'm not sure these guys have realized so far
Which brings me to yet again getting you guys to really start learning what's under the hood of some hack others created and not rely blindly on the fact that if you change 1 CVar, things will work in any DOOM game from now on "cuz it worked in DOOM 2016"..
Then the CVar in question these guys are looking for is 'gore_neverFadeAndRemove'. I highly doubt it's the command responsible for keeping the mobs in the map without fading, in absence of all of the others modified, but sure..
There's only one reference of this CVar being used in the game code and that is the one above.
I'll look for the piece of code in Eternal and possibly patch it so it reads the CVar and makes use of it. But then if things don't actually work as "it worked in DOOM 2016", then I'm out
Deal?
BR,
Sun