Author Topic: Startup Error: Optional not working  (Read 1282 times)

0 Members and 1 Guest are viewing this topic.

Startup Error: Optional not working
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-

Code: [Select]
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.

Code: [Select]
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:

Code: [Select]
==========================================================================
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...

 

Offline General Battuta

  • Poe's Law In Action
  • 214
  • i wonder when my postcount will exceed my iq
Re: Startup Error: Optional not working
Hahah, that was an awesome post. I luled.

I've seen this before, it's really annoying, I don't remember what causes it. I'll try to point more experienced (less dumb) people your way.

 

Offline Iss Mneur

  • 210
  • TODO:
Re: Startup Error: Optional not working
Apparently one of your entries in ships.tbl is malformed (you have a trailing comma).  Specifically you are missing the turning rate for a $Subsystem:

Code: [Select]
$Subsystem: <name>, [percentage of hits], [turning rate]
Will commit a better error message to SVN.  EDIT: Committed in revision 7139.
« Last Edit: April 19, 2011, 11:18:17 pm by Iss Mneur »
"I love deadlines. I like the whooshing sound they make as they fly by." -Douglas Adams
wxLauncher 0.9.4 public beta (now with no config file editing for FRED) | wxLauncher 2.0 Request for Comments

 
Re: Startup Error: Optional not working
Make sure you have it like this:

$Subsystem: name, 25, 1

not:
$Subsystem: name, 25 ,1

The comma placement can cause this. 
That's cool and ....disturbing at the same time o_o  - Vasudan Admiral

"Don't play games with me. You just killed someone I like, that is not a safe place to stand. I'm the Doctor. And you're in the biggest library in the universe. Look me up."

"Quick everyone out of the universe now!"

 
Re: Startup Error: Optional not working
Thanks, guys.

I found mangled line. Now to figure out how it happened.

Code: [Select]
$Subsystem: Turret34, 0.625,
$Armor Type: CapitalSubsys2.0

:wtf:

 

Offline Dragon

  • Citation needed
  • 212
  • The sky is the limit.
Re: Startup Error: Optional not working
Replace "0.625, " with "0.625, 2". The second value defines how fast the turret rotates (how many seconds it takes to turn around 360 degrees) and is mandatory.
2 should work, but if you think you have a better value, you can use it.

 

Offline Nuke

  • Ka-Boom!
  • 212
  • Mutants Worship Me
Re: Startup Error: Optional not working
looks like your 2.0 got moved. its easy to do something like this on accident if your text editor supports drag and drop cut and paste.
I can no longer sit back and allow communist infiltration, communist indoctrination, communist subversion, and the international communist conspiracy to sap and impurify all of our precious bodily fluids.

Nuke's Scripting SVN

 

Offline Iss Mneur

  • 210
  • TODO:
Re: Startup Error: Optional not working
Replace "0.625, " with "0.625, 2". The second value defines how fast the turret rotates (how many seconds it takes to turn around 360 degrees) and is mandatory.
2 should work, but if you think you have a better value, you can use it.
It is not mandatory, the only required part of a $Subsystem: tag is the name of the subsystem, the other two values are completely optional.

What is mandatory however is not telling the engine that, "I am going to provide this value" (by having the trailing comma) and then not providing it.

Nuke probably has it right, accidental drag and drop.
"I love deadlines. I like the whooshing sound they make as they fly by." -Douglas Adams
wxLauncher 0.9.4 public beta (now with no config file editing for FRED) | wxLauncher 2.0 Request for Comments