Hard Light Productions Forums

General FreeSpace => FreeSpace Discussion => Topic started by: ShivanSpS on February 03, 2014, 12:55:36 pm

Title: Any way to disable errors?
Post by: ShivanSpS on February 03, 2014, 12:55:36 pm
Im doing a crazy show up with a high number of ships, but im on the 4000 subsystems limit and i keep getting the error, there is any way to stop it from showing up?
Title: Re: Any way to disable errors?
Post by: The E on February 03, 2014, 01:01:38 pm
Yes.

Don't use that many ships.
Title: Re: Any way to disable errors?
Post by: Shivan Hunter on February 03, 2014, 01:02:10 pm
wat

"the 4000 subsystems limit" sounds like the kind of thing that will actually break a mission if you go over it. There are a few FSO errors that you can ignore but most of them are there for a reason. And exactly how many ships do you HAVE in the mission‽

[edit] ninja'd
Title: Re: Any way to disable errors?
Post by: Droid803 on February 03, 2014, 01:03:45 pm
Could also get rid of unnecessary subsystems.
Surely not every ship needs to have destructible sensors, navs etc. Keep the minimal amount for functionality if you're really going crazy with that many ships :/

Remember, ships function fully without -any- non-turret subsystems, even fighterbays are unnecessary so as long as there are bay paths - the ship can launch and retrieve fighters just fine without one. The reason subsystems exist is so you can get them to stop functioning when you destroy them.
Title: Re: Any way to disable errors?
Post by: ShivanSpS on February 03, 2014, 02:02:09 pm
I gona say that the limit of subsystem is WAY easy to get to.

Why is that limit? some sort of static variable left behind?
Title: Re: Any way to disable errors?
Post by: General Battuta on February 03, 2014, 02:03:31 pm
I've made some of the craziest missions ever shipped and man, I've never, ever hit that limit. Can you post your mission file?
Title: Re: Any way to disable errors?
Post by: ShivanSpS on February 03, 2014, 02:47:50 pm
Its not really a mission, im trying to do a big battle as eye candy, i just i cant put fighters if i do, i started as a total of 240 ships and i could cleary see i was lacking turrets on ships, right now its reduced to 120 ships and i stll get the warning at first load, but never again.
Title: Re: Any way to disable errors?
Post by: ShivanSpS on February 03, 2014, 09:58:40 pm
mmm 400 max ships only fighters and a few bombers and i hit the 4000 subsystems limit too, strange.

Also i managed to break the game, as that fight will crash fast haha.

Quote
Assert: attacker_team >= 0 && attacker_team < Num_iffs
File: iff_defs.cpp
Line: 562

ntdll.dll! ZwWaitForSingleObject + 21 bytes
kernel32.dll! WaitForSingleObjectEx + 67 bytes
kernel32.dll! WaitForSingleObject + 18 bytes
fs2_open_3_7_1-DEBUG-20140203_r10396.exe! <no symbol>
fs2_open_3_7_1-DEBUG-20140203_r10396.exe! <no symbol>
fs2_open_3_7_1-DEBUG-20140203_r10396.exe! <no symbol>
fs2_open_3_7_1-DEBUG-20140203_r10396.exe! <no symbol>
fs2_open_3_7_1-DEBUG-20140203_r10396.exe! <no symbol>
fs2_open_3_7_1-DEBUG-20140203_r10396.exe! <no symbol>
fs2_open_3_7_1-DEBUG-20140203_r10396.exe! <no symbol>
fs2_open_3_7_1-DEBUG-20140203_r10396.exe! <no symbol>
fs2_open_3_7_1-DEBUG-20140203_r10396.exe! <no symbol>
fs2_open_3_7_1-DEBUG-20140203_r10396.exe! <no symbol>
fs2_open_3_7_1-DEBUG-20140203_r10396.exe! <no symbol>
fs2_open_3_7_1-DEBUG-20140203_r10396.exe! <no symbol>
fs2_open_3_7_1-DEBUG-20140203_r10396.exe! <no symbol>
fs2_open_3_7_1-DEBUG-20140203_r10396.exe! <no symbol>
fs2_open_3_7_1-DEBUG-20140203_r10396.exe! <no symbol>
fs2_open_3_7_1-DEBUG-20140203_r10396.exe! <no symbol>
fs2_open_3_7_1-DEBUG-20140203_r10396.exe! <no symbol>
fs2_open_3_7_1-DEBUG-20140203_r10396.exe! <no symbol>
fs2_open_3_7_1-DEBUG-20140203_r10396.exe! <no symbol>
fs2_open_3_7_1-DEBUG-20140203_r10396.exe! <no symbol>
fs2_open_3_7_1-DEBUG-20140203_r10396.exe! <no symbol>
fs2_open_3_7_1-DEBUG-20140203_r10396.exe! <no symbol>
kernel32.dll! BaseThreadInitThunk + 18 bytes
ntdll.dll! RtlInitializeExceptionChain + 99 bytes
ntdll.dll! RtlInitializeExceptionChain + 54 bytes
Title: Re: Any way to disable errors?
Post by: niffiwan on February 04, 2014, 02:17:06 am
For interests sake, can you post the error you get from the "4000 subsystems limit"?
Title: Re: Any way to disable errors?
Post by: ShivanSpS on February 04, 2014, 06:01:52 pm
Quote
Attempt to page in new subsystems subsystems failed because mission file contains more than 4000 subsystems
ntdll.dll! ZwWaitForSingleObject + 21 bytes
kernel32.dll! WaitForSingleObjectEx + 67 bytes
kernel32.dll! WaitForSingleObject + 18 bytes
fs2_open_3_7_1-DEBUG-20140203_r10396.exe! <no symbol>
fs2_open_3_7_1-DEBUG-20140203_r10396.exe! <no symbol>
fs2_open_3_7_1-DEBUG-20140203_r10396.exe! <no symbol>
fs2_open_3_7_1-DEBUG-20140203_r10396.exe! <no symbol>
fs2_open_3_7_1-DEBUG-20140203_r10396.exe! <no symbol>
fs2_open_3_7_1-DEBUG-20140203_r10396.exe! <no symbol>
fs2_open_3_7_1-DEBUG-20140203_r10396.exe! <no symbol>
fs2_open_3_7_1-DEBUG-20140203_r10396.exe! <no symbol>
fs2_open_3_7_1-DEBUG-20140203_r10396.exe! <no symbol>
fs2_open_3_7_1-DEBUG-20140203_r10396.exe! <no symbol>
fs2_open_3_7_1-DEBUG-20140203_r10396.exe! <no symbol>
fs2_open_3_7_1-DEBUG-20140203_r10396.exe! <no symbol>
fs2_open_3_7_1-DEBUG-20140203_r10396.exe! <no symbol>
fs2_open_3_7_1-DEBUG-20140203_r10396.exe! <no symbol>
fs2_open_3_7_1-DEBUG-20140203_r10396.exe! <no symbol>
kernel32.dll! BaseThreadInitThunk + 18 bytes
ntdll.dll! RtlInitializeExceptionChain + 99 bytes
ntdll.dll! RtlInitializeExceptionChain + 54 bytes
Title: Re: Any way to disable errors?
Post by: niffiwan on February 04, 2014, 06:33:51 pm
Right - the limit is generated from these two defines:

Code: [Select]
#define NUM_SHIP_SUBSYSTEMS_PER_SET          200   (array size)
...
#define NUM_SHIP_SUBSYSTEM_SETS                      20   (array of pointers to array's defined by the above define)
...
Error(LOCATION, "Attempt to page in new subsystems subsystems failed because mission file contains more than %d subsystems", (NUM_SHIP_SUBSYSTEM_SETS* NUM_SHIP_SUBSYSTEMS_PER_SET));

Maybe NUM_SHIP_SUBSYSTEM_SETS should be set to 400 to match MAX_SHIPS, or (preferably I think) set NUM_SHIP_SUBSYSTEM_SETS to 40 to have the same effect, but either could have interesting side effects. Technically it'd probably be better to replaced the linked-list of arrays with a std::vector, but that has even more scope to introduce bugs :) 

Still - this sounds like something is not quite working right since I thought that all fighter should have less than 10 subsystems each, and 10 * 400 should be less than 20 * 200 = 4000. 

mmm 400 max ships only fighters and a few bombers and i hit the 4000 subsystems limit too, strange.

Can you check/confirm how many subsystems each of your fighters has?
Title: Re: Any way to disable errors?
Post by: ShivanSpS on February 05, 2014, 06:26:38 pm
5-6, not sure if the docking port counts, still no way im near 4000.

Anyway, those are the videos, and the missions files, still nothing special on them. the fighters one crash in about 40 seconds to me.



BTW, te fighter one does not give the error because i removed 4 wings to get below the number, still anything over 250 fighters will crash and fast.

[attachment deleted by an evil time traveler]