SoaSE_Modders SoaSE_Modders

Developer Errors

Developer Errors

What the hell does that mean?

http://soase.x90x.net/?i=modding/Dev_Errors.html

Moderated by myfist0Seleuceia and GoaFan77.

Post your errors here and let's see if we can't get them resolved.
Every error has an error number which will link to the web pages bookmark (anchor) and will be listed in order. Mouse-over the error number to confirm it matches your error.

If the error is not listed, please post it here.  

 

 

Assert @ C:\Projects\P4\SinsDiplomacy\Release\CodeSource\GS/Window/Screens/MainMenuScreen.cpp(18)
false

A game update changed the main menu, the older file in the mod is probably missing a section that was added. These are hard coded and are required.

 

 

Assert @ C:\Projects\P4\SinsDiplomacy\Release\CodeSource\GS/Galaxy/GalaxyOrientation.cpp(23)
Vector3::IsNormalized(m_orientation.GetCross())

Explosions on a bad model.

The error is caused by lines in the model that were not polys, the explosion attaches to one of the lines it spits the error. And when a lot of models have it, trying to run test games is a real nightmare.

 

Have to raycast select all the polys and hide them, get a section done like above and delete the lines, unhide and weld everything where the lines were to get proper tangent lighting.

  

Assert @ C:\Projects\P4\SinsRebellion\main\CodeSource\GS/Entity/Interfaces/IAntiMatterPool.cpp(107)
antiMatterAmount >= 0.0f

This occurs when a capital ship (and possibly titan?) has used up some antimatter, levels up, but does not get an AM reserve stat boost from leveling up. Fix this by giving the capital ship an AM reserve stat boost for all levels (value as small as 0.000100 will suffice).

  

Assert @ c:\projects\Perforce\SinsDiplomacy\main\CodeSource\Engine/DataStructures/DynamicArray.h(128)
i < size

One example of getting this error would be to set "totalMaxResourceAsteroids 5" and then having the min counts for metal at 3 and crystal at 3.
There are other areas that also have modifiers like this that will give same error.

  

Assert @ C:\Projects\P4\SinsDiplomacy\Release\CodeSource\GS/Entity/Interfaces/IWeapon.cpp(140)
m_weaponEffectsDef.weaponType == m_WeaponType

  

Assert @ C:\Projects\P4\SinsDiplomacy\Release\CodeSource\GS/Entity/Interfaces/IWeapon.cpp(144)
m_TravelSpeed <= 0.f

  

Assert @ C:\Projects\P4\SinsDiplomacy\Release\CodeSource\GS/Entity/Interfaces/IAttacker.cpp(163)
m_owner->GetIPlayerOwnedPtr()->GetPlayer()->GetIPlayerPtr()->IsEnemy(target)

Happens when our Borg ships assimilate an enemy ship that is casting an ability,
does not cause any bad side effects that are known yet.

Same as E212 but maybe a different abitity type.

  

Assert @ C:\Projects\P4\SinsRebellion\main\CodeSource\GS/Player/PlayerOrbitBodyInfo.cpp(187)
squad != 0

IIRC...This occurs when a unit, such as a carrier, is given the minelayer roletype but not any squadrons that can turn into mines. Error will only occur when AIs are involved.

  

Assert @ C:\Projects\P4\SinsRebellion\main\CodeSource\GS/Entity/Interfaces/IChangeMesh.h(195)
false

My guess is there's something wrong with an entity file that changes its mesh after research
or an upgrade.

 

Assert @ C:\Projects\P4\SinsDiplomacy\Release\CodeSource\GS/Entity/Interfaces/IAttacker.cpp(212)
m_owner->GetIPlayerOwnedPtr()->GetPlayer()->GetIPlayerPtr()->IsEnemy(target)

Happens when our Borg ships assimilate an enemy ship that is casting an ability,
does not cause any bad side effects that are known yet.
Same as E163 but maybe a different abitity type.

 

Assert @ C:\Projects\P4\SinsDiplomacy\Release\CodeSource\GS/Entity/Interfaces/IBuff.cpp(679)
params.lastSpawner != NULL

  

Assert @ C:\Projects\P4\SinsDiplomacy\Release\CodeSource\GS/Render/MoveToRenderer.cpp(711)
info.m_firstControllableEntity != 0 && info.m_firstControllableEntity->GetIOrderPtr() != 0

 

 

See Also:

Annotated Guide to the Developer.exe

by  GoaFan77

352,378 views 105 replies
Reply #101 Top

Saw this little post in the Bablyon 5 Mod thread, thought it would be useful for anyone here to know. Will be testing this myself soon. Sadly a lot of the errors I get only show up in the dev log, not asserts in game, but better than nothing.

Quoting NewHorizons, reply 4931

Hint: You can get an idea of what entity file is causing an assert to fire by using ProcExplorer which will list what files a process currently has open. Look a the dev.exe's list of file handles when the assert window is up and the offending entity file should appear in that list.

 

Edit: Holy crap, this tool is amazing! Wish I knew about it years ago. Hunting down these dev errors are trivial now when you know the file to look at.

 

Some common ones I had, not sure if these issues are known.

 

m_aiUseTime == AIUseTime::Invalid

If you have isAutoCastAvailable FALSE, aiUseTime and aiUseTargetCondition must be "Invalid".

 

duration > 0.0f

You have a nonbeam weapon with a duration property greater than 0.

 

Assert @ D:\projects\SINS\SinsRebellion\main\CodeSource\GS/Entity/Interfaces/IBuff.cpp(4109)

false

 

You have a finish condition of "Invalid" in a buff file. This is no longer supported, just use no finish conditions instead.

Assert @ D:\projects\SINS\SinsRebellion\main\CodeSource\GS/Entity/Interfaces/IBuff.cpp(2741)

isFilterValid

 

The game doesn't like "ApplyBuffToTargetsLinked" instantActions having ownerships other than "Player". I actually have a case where this is necessary however and IIRC it works fine.

 

Assert @ D:\projects\SINS\SinsRebellion\main\CodeSource\Engine/String/StringLibrary.h(83)

result == 1

 

I couldn't figure out what was with this one. Weird thing is, the file this was thrown on was an almost exact copy of another entity, only for a different faction.

 

 

There were a handful of errors that didn't show up in ProcExplorer, but for the initial validation at least where most of the errors are thrown, this is a fantastic tool that everyone should try. Hunting down these assert errors is one of the best ways to improve mod stability, and if you're experiencing crashes after some of these, this should help you narrow down the culprit.

Reply #102 Top

Quoting GoaFan77, reply 101

Saw this little post in the Bablyon 5 Mod thread...
Glad you've made use of this trick. I doubt this method can be used on asserts that fire when a game is running though, as Sins will have loaded entity files into memory and will no longer have a handles open on those files.

Quoting GoaFan77, reply 101

Assert @ D:\projects\SINS\SinsRebellion\main\CodeSource\Engine/String/StringLibrary.h(83)

result == 1
IIRC TobiWahn suspects duplicate entries in the string file may be the cause of that one.

+1 Loading…
Reply #103 Top

Quoting NewHorizons, reply 102

Glad you've made use of this trick. I doubt this method can be used on asserts that fire when a game is running though, as Sins will have loaded entity files into memory and will no longer have a handles open on those files.

 

I know but hey, it is a lot better than we used to have. Surprised it took this long for someone to figure it out.

 

Quoting NewHorizons, reply 102

IIRC TobiWahn suspects duplicate entries in the string file may be the cause of that one.

Makes sense, as I intentionally do that a lot.

Reply #104 Top

Just for more documentation sake.

 

D:\projects\SINS\SinsRebellion\main\CodeSource\GS/AI/BuildPlanetModulesAI.cpp(1452)

player != NULL

 

This is thrown when trying to give certain structures like trade ports to uncolonizeable gravity wells in a map or the GalaxyScenarioDef.

+2 Loading…
Reply #105 Top

I have not seen it yet. The unique dev error in the begining from my Star Wars Alliance mod, never affected to the play. Probably it is a problem with the str file. If I find the exact solution, I will tell you.

D:\SinsRebellion\main\CodeSource\Engine\Archive\TextFileArchive.cpp(145): assert! [false]