So, as I came to notice this fine afternoon, the behaviour of FS2_Open regarding filenames longer than 32 characters has changed.
Previously, it apparently just failed to read them with no warnings or other adverse effects as far as I could tell, but recent builds (don't know what revision the change was implemented in) this changed; debug builds now show an Assertion Failed! window and then crash with a Windows error message, while standard builds just crash with Windows error message.
This is mainly an issue with people who mod stuff since it's fairly easy to surpass 32 character limit with files in WIP directories, since I at least tend to name them in somewhat descriptive manner which easily pushes the name over the limit. For example if I had a texture called "jupiterboxcombined_realistic.tga" in my Jupiter skybox WIP dir and that caused the following assertion failure:
Assert: 0
File: safe_strings.cpp
Line: 70
ERANGE: String error @ d:\scp testing\code\cfile\cfilesystem.cpp (570). Please Report
Trying to put into 32 byte buffer:
jupiterboxcombined_realistic.tga
<no module>! KiFastSystemCallRet
<no module>! WaitForSingleObject + 18 bytes
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! RegisterWaitForInputIdle + 73 bytes
At least debug builds give a warning; however I was trying to get SSE2 builds working and the builds just kept crashing, and I was quite convinced it was an issue related to SSE2 specifically, and since the SSE2 build didn't come with corresponding debug build I just kept using older build that didn't register long file names visibly.
It wasn't until I tried a regular recent build and it refused to run too that I realized the issue wasn't the SSE2 but rather something changed in the recent builds, and running debug build clarified the issue. Moving long file names out of the directories that FS2_Open reads on startup solved the issue, but now I need to go through all my WIP dirs and check if any of the file names there exceed the limit.
Anyway, just figured to give a heads-up on the subject. Yeah, I know, running debug would have shown what the problem was immediately. What can I say, I was fixated on the SSE2 support being the most probable cause of problem since as far as I could tell it was the main change between the builds.