LIT file fix
Posted: Sun Jan 10, 2010 10:58 pm
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:
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.