This one's pissing me off, half because it's preventing me from debugging my mod properly and half because I've rewritten this post twice in total.
The story begins with my return to FreeSpace 2 after a period of depression and Team Fortress 2. Inspired by Wings of Dawn and War in Heaven, I set out to revive my long-dead mod by discarding everything but the sound effects and working up from there. Starting with a recent nightly build and a blanked ships.tbl, I assembled a fleet from the finest ships Freespacemods.net had to offer. Then, I tabled weapons and added sounds and made the ships blow each other up for fun and stats testing.
Everything is looking great-
Optional not working
<no module>! KiFastSystemCallRet
<no module>! WaitForSingleObject + 18 bytes
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
whatthehell
I didn't know what this error was about, and hitting OKAY let me continue without obvious problems so it was just an annoying startup error until I went hunting for table errors. I start up the debug EXE and it spits a weapon error (which I've since fixed) at me. And then this.
Optional not working
<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>! RegisterWaitForInputIdle + 73 bytes
The full version of Fail 1.0. This time, the devious thing wouldn't let me continue. Hitting OKAY led to a crash, hitting cancel gracefully exited. Heads, I lose. Tails, I lose. The debug log didn't give me any information on the 38 warnings/errors my mod generated, so either I'm out of table errors or the word optional has a grudge to settle.
Selecting a mod besides MY GLORIOUS MOD makes the error disappear, so it seems to be something in my files causing it.
I'm using the April 17th revision 7133 nightly build.
Here's fs2_open.log:
==========================================================================
DEBUG SPEW: No debug_filter.cfg found, so only general, error, and warning
categories can be shown and no debug_filter.cfg info will be saved.
==========================================================================
FreeSpace version: 3.6.13
Passed cmdline options:
-spec_exp 15
-ogl_spec 128
-spec_static 6.5
-spec_point 1.2
-spec_tube 3.5
-ambient_factor 120
-env
-mipmap
-missile_lighting
-glow
-spec
-cache_bitmaps
-img2dds
-ballistic_gauge
-dualscanlines
-orbradar
-rearm_timer
-targetinfo
-ship_choice_3d
-weapon_choice_3d
-warp_flash
-snd_preload
-mod GLORIOUSMODPOWER,mediavps_3612
-loadallweps
-window
Building file index...
Found root pack 'D:\FreeSpace2\mediavps_3612\MV_Assets.vp' with a checksum of 0x529cc70f
Found root pack 'D:\FreeSpace2\mediavps_3612\MV_Effects.vp' with a checksum of 0xb9a9a485
Found root pack 'D:\FreeSpace2\mediavps_3612\MV_Music.vp' with a checksum of 0xb3e21469
Found root pack 'D:\FreeSpace2\mediavps_3612\MV_Root.vp' with a checksum of 0x6ffd5c78
Found root pack 'D:\FreeSpace2\Root_fs2.vp' with a checksum of 0xce10d76c
Found root pack 'D:\FreeSpace2\smarty_fs2.vp' with a checksum of 0xddeb3b1e
Found root pack 'D:\FreeSpace2\sparky_fs2.vp' with a checksum of 0x164fe65a
Found root pack 'D:\FreeSpace2\sparky_hi_fs2.vp' with a checksum of 0xa11d56f1
Found root pack 'D:\FreeSpace2\stu_fs2.vp' with a checksum of 0xd77da83a
Found root pack 'D:\FreeSpace2\tango1_fs2.vp' with a checksum of 0x4c25221e
Found root pack 'D:\FreeSpace2\tango2_fs2.vp' with a checksum of 0x86920b82
Found root pack 'D:\FreeSpace2\tango3_fs2.vp' with a checksum of 0x705e8d71
Found root pack 'D:\FreeSpace2\warble_fs2.vp' with a checksum of 0xd85c305d
Searching root 'D:\FreeSpace2\GLORIOUSMODPOWER\' ... 340 files
Searching root 'D:\FreeSpace2\mediavps_3612\' ... 1 files
Searching root pack 'D:\FreeSpace2\mediavps_3612\MV_Assets.vp' ... 1527 files
Searching root pack 'D:\FreeSpace2\mediavps_3612\MV_Effects.vp' ... 1876 files
Searching root pack 'D:\FreeSpace2\mediavps_3612\MV_Music.vp' ... 32 files
Searching root pack 'D:\FreeSpace2\mediavps_3612\MV_Root.vp' ... 94 files
Searching root 'D:\FreeSpace2\' ... 98 files
Searching root pack 'D:\FreeSpace2\Root_fs2.vp' ... 157 files
Searching root pack 'D:\FreeSpace2\smarty_fs2.vp' ... 10 files
Searching root pack 'D:\FreeSpace2\sparky_fs2.vp' ... 3027 files
Searching root pack 'D:\FreeSpace2\sparky_hi_fs2.vp' ... 1337 files
Searching root pack 'D:\FreeSpace2\stu_fs2.vp' ... 2355 files
Searching root pack 'D:\FreeSpace2\tango1_fs2.vp' ... 32 files
Searching root pack 'D:\FreeSpace2\tango2_fs2.vp' ... 15 files
Searching root pack 'D:\FreeSpace2\tango3_fs2.vp' ... 10 files
Searching root pack 'D:\FreeSpace2\warble_fs2.vp' ... 52 files
Found 16 roots and 10963 files.
AutoLang: Language auto-detection successful...
Setting language to English
TBM => Starting parse of 'mv_core-lcl.tbm' ...
Initializing OpenAL...
OpenAL Vendor : Creative Labs Inc.
OpenAL Renderer : Software
OpenAL Version : 1.1
Found extension "ALC_EXT_EFX".
Sample rate: 44100 (44100)
EFX version: 1.0
Max auxiliary sends: 1
Playback device: Generic Software on SoundMAX Digital Audio
Capture device: SoundMAX Digital Audio
... OpenAL successfully initialized!
Failed to init speech
Initializing OpenGL graphics device at 1024x768 with 32-bit color...
Initializing WGL...
Requested WGL Video values = R: 8, G: 8, B: 8, depth: 32, double-buffer: 1
Actual WGL Video values = R: 8, G: 8, B: 8, depth: 32, double-buffer: 1
OpenGL Vendor : ATI Technologies Inc.
OpenGL Renderer : Radeon X800 PRO/GTO (Omega 3.8.442)
OpenGL Version : 2.1.7169 Release
Using extension "GL_EXT_fog_coord".
Using extension "GL_ARB_multitexture".
Using extension "GL_ARB_texture_env_add".
Using extension "GL_ARB_texture_compression".
Using extension "GL_EXT_texture_compression_s3tc".
Using extension "GL_EXT_texture_filter_anisotropic".
Using extension "GL_ARB_texture_env_combine".
Using extension "GL_EXT_compiled_vertex_array".
Using extension "GL_EXT_draw_range_elements".
Using extension "GL_ARB_texture_mirrored_repeat".
Unable to find extension "GL_ARB_texture_non_power_of_two".
Using extension "GL_ARB_vertex_buffer_object".
Using extension "GL_ARB_pixel_buffer_object".
Using extension "GL_SGIS_generate_mipmap".
Using extension "GL_EXT_framebuffer_object".
Using extension "GL_ARB_texture_rectangle".
Using extension "GL_EXT_bgra".
Using extension "GL_ARB_texture_cube_map".
Using extension "GL_EXT_texture_lod_bias".
Using extension "GL_ARB_point_sprite".
Using extension "GL_ARB_shading_language_100".
Using extension "GL_ARB_shader_objects".
Using extension "GL_ARB_vertex_shader".
Using extension "GL_ARB_fragment_shader".
Unable to find extension "GL_ATI_shader_texture_lod".
Found special extension function "wglSwapIntervalEXT".
Compiling shader: main-v.sdr (null-v.sdr), main-f.sdr (null-f.sdr)
Compiling shader: main-v.sdr (l-v.sdr), main-f.sdr (lb-f.sdr)
Shader failed to link:
Fragment shader(s) linked, vertex shader(s) failed to link.
ERROR! Unable to create shader program!
Shader in_error! Disabling GLSL model rendering!
Max texture units: 8 (16)
Max elements vertices: 2147483647
Max elements indices: 16384
Max texture size: 2048x2048
Max render buffer size: 2048x2048
Can use compressed textures: YES
Texture compression available: YES
Post-processing enabled: NO
Using trilinear texture filter.
OpenGL Shader Version: 1.20
... OpenGL init is complete!
Size of bitmap info = 760 KB
Size of bitmap extra info = 52 bytes
ANI cursorweb with size 24x24 (25.0% wasted)
GRAPHICS: Initializing default colors...
SCRIPTING: Beginning initialization sequence...
SCRIPTING: Beginning Lua initialization...
LUA: Opening LUA state...
LUA: Initializing base Lua libraries...
LUA: Beginning ADE initialization
ADE: Initializing enumeration constants...
ADE: Assigning Lua session...
SCRIPTING: Beginning main hook parse sequence....
Wokka! Error opening file (scripting.tbl)!
TABLES: Unable to parse 'scripting.tbl'! Error code = 5.
TBM => Starting parse of 'mv_flak-sct.tbm' ...
TBM => Starting parse of 'mv_exp-sct.tbm' ...
TBM => Starting parse of 'mv_dbrs-sct.tbm' ...
SCRIPTING: Inititialization complete.
SCRIPTING: Splash screen overrides checked
SCRIPTING: Splash hook has been run
SCRIPTING: Splash screen conditional hook has been run
Using high memory settings...
Wokka! Error opening file (interface.tbl)!
WMCGUI: Unable to parse 'interface.tbl'! Error code = 5.
TBM => Starting parse of 'mv_effects-sdf.tbm' ...
Windows reported 16 joysticks, we found 0
Current soundtrack set to -1 in event_music_reset_choices
TBM => Starting parse of 'mv_music-mus.tbm' ...
TBM => Starting parse of 'mv_effects-mfl.tbm' ...
TBM => Starting parse of 'glory-mfl.tbm' ...
TBM => Starting parse of 'mv_effects-amr.tbm' ...
TBM => Starting parse of 'mv_effects-wxp.tbm' ...
TBM => Starting parse of 'glory-wxp.tbm' ...
BMPMAN: Found EFF (exp20.eff) with 75 frames at 20 fps.
BMPMAN: Found EFF (ExpMissileHit1.eff) with 92 frames at 20 fps.
BMPMAN: Found EFF (exp04.eff) with 49 frames at 22 fps.
BMPMAN: Found EFF (exp05.eff) with 93 frames at 20 fps.
BMPMAN: Found EFF (exp06.eff) with 92 frames at 22 fps.
BMPMAN: Found EFF (capflash.eff) with 40 frames at 10 fps.
BMPMAN: Found EFF (Maxim_Impact.eff) with 23 frames at 30 fps.
ANI Lamprey_Impact with size 80x80 (37.5% wasted)
BMPMAN: Found EFF (maxim_impact_RED.eff) with 23 frames at 30 fps.
BMPMAN: Found EFF (Cmuzzle.eff) with 4 frames at 30 fps.
BMPMAN: Found EFF (bomb_flare.eff) with 69 frames at 20 fps.
BMPMAN: Found EFF (Rmuzzle.eff) with 4 frames at 30 fps.
BMPMAN: Found EFF (PWmuzzle.eff) with 4 frames at 30 fps.
TBM => Starting parse of 'mv_core-wep.tbm' ...
TBM => Starting parse of 'mv_effects-wep.tbm' ...
TBM => Starting parse of 'mv_assets-wep.tbm' ...
TBM => Starting parse of 'innocuous-wep.tbm' ...
TBM => Starting parse of 'mv_effects-obt.tbm' ...
ERROR: Optional not working
File: ship.cpp
Line: 3152
Freeing all existing models...