Page 1 of 1

LIT file fix

Posted: Sun Jan 10, 2010 10:58 pm
by mh
You know the story: you're playing a mod, the mod has a start.bsp, you have a start.lit in your ID1 folder, you get the wrong lighting.

I fixed this ages ago in DirectQ so I was quite surprised to recently learn that something similar wasn't universal.

I can't give exact code because everyone codes LIT file support differently, but the general approach is:
  • Run COM_FOpenFile to open your LIT file (let's assume it opens OK for now); the return value is the length of the file.
  • Subtract 8 from the length (for the header).
  • Divide the result by 3 (because it's 3 component lighting) - it should divide evenly by 3, if it doesn't it's another way of validating the LIT file.
  • The final result should be equal to l->filelen, if it's not then you have the wrong LIT file and abort loading it.

Posted: Mon Jan 11, 2010 12:15 am
by ceriux
why dont you engine coders use colored lighting with out lit files like half-life again?

Posted: Mon Jan 11, 2010 12:43 am
by mh
Something to do with Q1BSP not supporting it I think. :wink:

Extending Q1BSP to support it was tried before and didn't work. LIT files were preferred at the time because they were optional (you didn't need an engine that supported them) and they didn't pollute the original BSP.

Maybe things have changed since then? If so there's a thread to shout about it on.

Posted: Mon Jan 11, 2010 1:06 am
by ceriux
ohhh ic alright -.-