It took a bit longer to get this sucker ready than I had originally hoped but it's here now. I'm not including a new IBX VP, just grab the one from the other thread or let the game generate it's own or use what you've already got.
http://icculus.org/~taylor/fso/willrobinson/20041007-win32.zipNo new warnings, just remember to save your pilots and crap like that. No format changes so all existing files will work the same but here is the general rundown of changes new to this build:
- Current CVS (includes the missing graphics fix)
- Make D3D look right when run in a window at 640x480
- Final IBX code with some error checking. It should now handle partially generated files without crashing. It will try and read as much as possible from the file and then delete it so it can be properly generated again on the next load. I cleaned this up a lot and still kept it pretty simple. Nothing fancy, just the right amount to get the job done. For code that nobody but me was going to get to use I think this turned out pretty well.
- Reworked the talking head memory leak fix. It won't reference anything out of the anim now and just sends it through anim_free() until it's done, has a problem or tries to free more than 25 times (to avoid an endless loop). Hopefully this means that it won't crash on "A Game of TAG" and "Enter the Dragon" but we'll see. At the very least absolutely every bit of this code will be skipped if you have the talking head HUD box turned off. If it still crashes even with the box turned off then it's crashing somewhere else.
- Include some updated OpenGL rendering code. This will only send the data to the card that's actually going to be used. It will also keep all of that data in a single array rather than 3 which should be a bit more efficient.
- Try and prevent the situations where the game would try and load a mission from a campaign file that's not available. This will happen when you use a mod and it's campaign and then don't use the mod but still have the campaign selected. Usually it will crash in this case but now it will try and load the campaign savefile, know that the actual campaign isn't available and treat it that way. As part of this there will now be a popup dialog telling you that the campaign is unavailable when you try to enter the ready room. Before you would click and it would do nothing.
- Try to fix a situation where some stats and the techroom data would get carried over if you switch the active campaign. Previously it was relying on the old pilot code to reset entries but that isn't good enough with the new code. To try and prevent data loss it will clear the current info immediately before loading the new/saved information. This should be the last bug in the pilot code as far as I can find.
- Since OpenGL line drawing is fixed this has the old way of rendering the jump nodes (as pure lines). This has been tested to work with the current POF as well as the original in both OGL and D3D. I haven't really tested for speed changes but it doesn't appear to have any slow down when the jumpnode is in view and when it's not.
Report any bugs. Depending on how many people seem to test this and how many new problems are found I'll start getting all of this committed to CVS this weekend so that all builds will have the new IBX and pilot code.