-
Notifications
You must be signed in to change notification settings - Fork 362
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support lights "nospecular" parm (if explicitly enabled) #643
Conversation
This needs testing, which implies a custom testmap (that someone - not me - has to create). |
based on dhewm#254 The "nospecular" parm will only be used if either r_supportNoSpecular is set to 1 or r_supportNoSpecular is set to -1 (the default) and the maps spawnargs contain "allow_nospecular" "1" This probably doesn't work with (time)demos yet, because I think when they're being played I can't access the worldspawn entity
cbc99fc
to
8812041
Compare
@FriskTheFallenHuman was so friendly to create a testmap for this: This seems to work as expected. There are two things that need a bit more investigation:
|
D3::ImGuiHooks::NewFrame() was still called every frame, but EndFrame() wasn't because idSessionLocal::UpdateScreen() exited early. This caused an assertion in Dear ImGui, because it doesn't like calling NewFrame() if it has been called before without EndFrame() afterwards
depending on worldspawn's allow_nospecular
The radiant part of the problem is solved, it now works reliably and updates Still not sure what to do about the timedemos, though. |
perhaps implementing a new timedemo format may not be that bad, has far i know it shouldn't be a problem since timedemos where not that common unlike standard demos iirc |
I mean standard demos, timedemos just play standard demos at high speed |
I changed it now. If this really turns into a problem I could create a CVar that allows choosing the demo recording format |
By writing that info into the demo when recording it (when demos are played back, mylevel.map isn't read, only mylevel.proc, so the worldspawn can't be accessed to get allow_nospecular from there)
c6305cd
to
2730838
Compare
no idea why github doesn't detect that, but I rebased and merged the branch manually |
based on #254
The "nospecular" parm will only be used if either
r_supportNoSpecular is set to 1
or r_supportNoSpecular is set to -1 (the default) and the maps spawnargs contain "allow_nospecular" "1"
Drawback: I think the current code doesn't work with (time)demos, as I think that I can't access the maps spawnargs when playing one