Entrenchment developer exe - Debugging Questions

What can I do if a minidump and crash comes before any error message? :(

 

The whole story:

I have begun testing my custom abilities and buffs. I made a solar radiation ability for a pulsar star. So if i enter the stars gravity well with a ship the game crashes but not error dialog pops up before. Also the log file in the debug folder gives no clue it seams also that it is not completly written, cause the last two line show this:

c:\gs\entrenchment\CodeSource\Engine\DataStructures\FixedArray.h(117): assert! [i >= 0]
c:\gs\entrenchment\CodeSource\Engine\DataStructures\FixedArray.h(117

 

I all cases i got minidumps before at least one error popup was shown that gave me a clue whats wrong. I know that the minidumps only can be analyzide by the devs but I hoped using the dev.exe makes them also readable for me.

 

 

22,354 views 24 replies
Reply #1 Top

Do you have showErrors TRUE set in your user.setting?

Reply #2 Top

No, but i will test it!

Reply #3 Top

Okay, hopefully that spits out something more readable. Your current error is as generic and unspecific as it can get :P

Reply #4 Top

Ok i checked it user settings showErrors is TRUE.

I think the dev exe did it cause I haven't changed the value by hand.

 

Thx Annatar, but the problem is still there.

Reply #5 Top

That sucks. Unfortunately, from those 2 lines in the log nobody could tell you what the problem is :(

So, you put your new ability on a star, and whenever a ship jumps into the star the game crashes? Sounds like it's caused by the ability, maybe if you paste the ability/buff we can figure it out?

Reply #6 Top

Yes it crashes when i the ship reaches the star.

 

I made a lot try and error tests now and I figured out that in the red marked part (see below) is somewhere the problem. if i romvoe it and set the periodic action to 0 again it crashes not.

Here the code Buff 1 (buffpulsarradiation):

TXT
entityType "Buff"
onReapplyDuplicateType "PrioritizeOldBuffs"
buffStackingLimitType "ForAllPlayers"
stackingLimit 1
allowFirstSpawnerToStack FALSE
buffExclusivityForAIType "ExclusiveForAllPlayers"
isInterruptable FALSE
isChannelling FALSE
numInstantActions 1
instantAction
    buffInstantActionType "ApplyBuffToSelf"
    instantActionTriggerType "OnDelay"
    delayTime 0.000000
    buffType "BuffSolarCloaking"
    effectInfo
        effectAttachInfo
            attachType "Invalid"
        smallEffectName ""
        largeEffectName ""
        soundID ""
numPeriodicActions 1
periodicAction
    actionCountType "Infinite"
    actionIntervalTime
        Level:0 0.500000
        Level:1 0.000000
        Level:2 0.000000
    buffInstantActionType "ApplyBuffToTargetsInRadius"
    instantActionTriggerType "AlwaysPerform"
    buffType "BuffPulsarRadiationDamage"
    targetFilter
        numOwnerships 0
        numObjects 2
        object "CapitalShip"
        object "Frigate"
        numSpaces 1
        space "Normal"
        numConstraints 0
    range
        Level:0 25000.000000
        Level:1 0.000000
        Level:2 0.000000
    maxTargetCount
        Level:0 -1.000000
        Level:1 -1.000000
        Level:2 -1.000000
    effectInfo
        effectAttachInfo
            attachType "Invalid"
        smallEffectName ""
        largeEffectName ""
        soundID ""

numOverTimeActions 0
numEntityModifiers 0
numEntityBoolModifiers 0
numFinishConditions 1
finishCondition
    finishConditionType "EnterHyperspace"

 

Code Buff 2 (buffpulsarradiation damage):

TXT
entityType "Buff"
onReapplyDuplicateType "PrioritizeOldBuffs"
buffStackingLimitType "ForAllPlayers"
stackingLimit 1
allowFirstSpawnerToStack FALSE
buffExclusivityForAIType "ExclusiveForAllPlayers"
isInterruptable FALSE
isChannelling FALSE
numInstantActions 1
instantAction
    buffInstantActionType "DoDamage"
    instantActionTriggerType "OnDelay"
    delayTime 0.000000
    damage
        Level:0 100.000000
        Level:1 0.000000
        Level:2 0.000000
    damageAffectType "AFFECTS_SHIELDS_AND_HULL"
    damageType "ENERGY"
    isDamageShared TRUE
numPeriodicActions 0
numOverTimeActions 0
numEntityModifiers 0
numEntityBoolModifiers 0
numFinishConditions 1
finishCondition
    finishConditionType "AllOnDelayInstantActionsDone"

Code Ability:

TXT
entityType "Ability"
buffInstantActionType "ApplyBuffToTargetsAtOrbitBody"
instantActionTriggerType "AlwaysPerform"
buffType "BuffPulsarRadiation"
targetFilter
    numOwnerships 0
    numObjects 2
    object "CapitalShip"
    object "Frigate"
    numSpaces 1
    space "Normal"
    numConstraints 0
maxTargetCount
    Level:0 -1.000000
    Level:1 -1.000000
    Level:2 -1.000000
effectInfo
    effectAttachInfo
        attachType "Invalid"
    smallEffectName ""
    largeEffectName ""
    soundID ""
needsToFaceTarget FALSE
canCollideWithTarget TRUE
moveThruTarget FALSE
isUltimateAbility FALSE
maxNumLevels 1
levelSourceType "FixedLevel0"
aiUseTime "Invalid"
aiUseTargetCondition "Invalid"
isAutoCastAvailable FALSE
isAutoCastOnByDefault FALSE
pickRandomPlanetToExploreForAutoCastTarget FALSE
ignoreNonCombatShipsForAutoCastTarget TRUE
onlyAutoCastWhenDamageTakenExceedsPerc 0.000000
useCostType "Passive"
researchPrerequisites
    NumResearchPrerequisites 0
nameStringID "IDS_ABILITY_PULSARRADIATION_NAME"
descStringID "IDS_ABILITY_PULSARRADIATION_DESCRIPTION"
hudIcon "HUDICON_ABILITY_PULSARRADIATION"
smallHudIcon "HUDICON_ABILITY_PULSARRADIATION"
infoCardIcon ""

Reply #7 Top

As far as I know, planet/star abilities use ApplyBuffToTargetsAtOrbitBody:

buffInstantActionType "ApplyBuffToTargetsAtOrbitBody"

Have you tried that?

+1 Loading…
Reply #8 Top

I used "ApplyBuffToTargetsAtOrbitBody" in the ability as you can see but i never tried it in BuffPulsarRadiation.

My intention was that the SolarCloaking works on all ships in the graviti well and the Radiation Damage occurs only if a ship comes too close to the stars surface. that is why i used ApplyBuffToTargetsInRadius.

But i will try what you said, this evening.

thanks again!

Reply #9 Top

Oops, I missed that little detail, sorry. Here's the odd thing though:

The ability targets any ship in the grav well, and it applies the BuffPulsarRadiation to the ship, right? So then, you have a PeriodicAction that applies a second buff to targets in radius, but I don't think it's radius from star anymore, it's radius from every ship that got affected by the first buff.

Have you tried splitting the ability in two? Have the PulsarRadiation apply to all ships at orbit body, and then make a second ability for the star that applies to targets in radius with the periodic action for PulsarRadiationDamage?

Reply #10 Top

Quoting Annatar11, reply 9
The ability targets any ship in the grav well, and it applies the BuffPulsarRadiation to the ship, right?
End of Annatar11's quote

jepp thats correct.

Quoting Annatar11, reply 9
So then, you have a PeriodicAction that applies a second buff to targets in radius, but I don't think it's radius from star anymore, it's radius from every ship that got affected by the first buff.
End of Annatar11's quote

ok that sounds logical.

Quoting Annatar11, reply 9
Have you tried splitting the ability in two?
End of Annatar11's quote

no not at all, but i will do it if iam home again (4 hours)

Quoting Annatar11, reply 9
Have the PulsarRadiation apply to all ships at orbit body, and then make a second ability for the star that applies to targets in radius with the periodic action for PulsarRadiationDamage?
End of Annatar11's quote

ok understood!

Thanks for the help!

slowly i am beginnig to understand why all Buffs ar splitted into several entity files. It can be very tricky.

Reply #11 Top

Well, abilities are really tricky the more complex you make 'em. I don't have very much experience with abilities on planet bodies, so I'm sort of learning along with you here :P Let me know if you make any progress!

Reply #12 Top

Ok here is my progress ;P

Instead of calling the BuffPulsarRadiation by the ability I called BuffPulsarRadiationDamage directly. And it crashes again. Next i increased delayTime of my damagebuff from 0 to 10 and now after 10 secounds crash.

Next step i call again BuffPulsarRadiation from the ability and BuffPulsarRadiationDamage from BuffPulsarRadiation, as it was before. Again after 10 secounds crash.

which brings me to the solution that my BuffPulsarRadiationDamage entity is the true problem.

 

I also tested instead of using

buffInstantActionType "ApplyBuffToTargetsInRadius" 

this one

buffInstantActionType "ApplyBuffToTargetsAtOrbitBody"

as you said before.

 

i switched between the damageType "PHYSICAL" and damageType "ENERGY"

allways the same effect : sins crashes and no error message :'(

 

I also added a weapon effect to BuffPulsarRadiation where a sound is played. The sound plays correct and after 10 secounds crash again.

I hope this is no hardcoded thing that abilities on stars cannot call a buff with DoDamage inside. X|

 

Reply #13 Top

So you tried skipping the BuffPulsarRadiation and went straight to BuffPulsarRadiationDamage from the ability and set the DoDamage delay to 10 seconds and then it crashes when the 10 seconds are up?

That does not sound good. There's nothing wrong with that setup so it should work. Try keeping the same everything, but change DoDamage into some other effect (give shields, or hull, or damage boost, whatever) and see if it works.

If that works ok it must be DoDamage, which would sort of suck.

Reply #14 Top

Quoting Annatar11, reply 13
So you tried skipping the BuffPulsarRadiation and went straight to BuffPulsarRadiationDamage from the ability and set the DoDamage delay to 10 seconds and then it crashes when the 10 seconds are up?
End of Annatar11's quote

yes thats right

Quoting Annatar11, reply 13
That does not sound good. There's nothing wrong with that setup so it should work. Try keeping the same everything, but change DoDamage into some other effect (give shields, or hull, or damage boost, whatever) and see if it works.

If that works ok it must be DoDamage, which would sort of suck.
End of Annatar11's quote

did as you said i replaced DoDamage with RestoreHullPoints no crash :grin:

then instead of adding hull i set the value to -100 so that the hull is decreased. It worked!

Also as i added the BuffPulsarRadiation again into the buff ability chain. all ships that entered the radius periodicly "take damage". unfortunatly the ships aren't destroyed when the hull reaches 0. The hull value becomes negative and only if another ship fires on it, it blows off. :annoyed:

So its a draw (1 point me, 1 point sins) ;)

 

 

 

 

Reply #15 Top

Another thing you can try that's a bit awkward.. make your second ability to the star and make it apply buff to targets in radius as a "full" buff, but make that buff call RadiationDamage as ApplyBuffToSelf with DoDamage. Of course it's still linked to the initial call from the star so it will probably still crash :(

You could of course also experiment with other effects.. like a tiny percent chance to just destroy the ship outright. So the longer they stay in the radiation, the higher the chance they'll suffer critical failure :P Can make it like a 2% chance every 5 seconds :D Truly diabolical!

Reply #16 Top

What do you mean by "full" buff??

There has to be a way to use DoDamage, as i looked through the files and the Unstable Gas Ability of Gas Gaints uses also DoDamage in BuffUnstableGasDeathDamage.

Also i downloaded jizz sins editor 1.02, i still worked with 1.01 without the possible values feature.

I hope this makes it easier to edit the files.

 

So the longer they stay in the radiation, the higher the chance they'll suffer critical failure Can make it like a 2% chance every 5 seconds Truly diabolical!
End of quote

}:) This is really nasty. but since ships travel very slow thourgh the suns grav well you can loose your half fleet.

 

 

Reply #17 Top

Woops, I meant fluff, not full. Meaning it wouldn't do anything other than call a second buff, to trick the game into not having DoDamage come from the main ability.

But on that note, yeah, you're absolutely right.. the gas giant does have DoDamage in its ability chain.

Hmm, have you tried putting your original one on some random neutral instead of a star? See if it works with DoDamage then?

Reply #18 Top

Woops, I meant fluff, not full. Meaning it wouldn't do anything other than call a second buff, to trick the game into not having DoDamage come from the main ability.
End of quote

Ok now i understand.

Hmm, have you tried putting your original one on some random neutral instead of a star? See if it works with DoDamage then?
End of quote

No but I will do this next, also i will add the unstableGas ability to a star to see if it works. Maybe only stars have this problem.

I will keep you informed.

 

One Question:

is there any other tutorial for modding abilities and buffs, then  the official included in the forge tools 3?

Reply #19 Top

is there any other tutorial for modding abilities and buffs, then the official included in the forge tools 3?
End of quote

Unless there's a user made one somewhere, nope! Trial, error, and experience/memory :P

Reply #20 Top

Ok here my results:

I added the pulsar ability (the one i original created, not the hullrepair version) to a planet entity. It works perfect! :grin:

But the same ability on a star still crashes. #:(

 

oh i forgot to say i change the pulsardamage buff (see below) the blue lines are from  buffunstablegasdeathdamage, i allways used the buffs from the forge tools 3 entrenchement. but these differ from the files in the installation dir.

 

TXT
entityType "Buff"
onReapplyDuplicateType "PrioritizeNewBuffs"
buffStackingLimitType "ForAllPlayers"
stackingLimit -1

buffExclusivityForAIType "ExclusiveForAllPlayers"
isInterruptable FALSE
isChannelling FALSE
numInstantActions 1
instantAction
    buffInstantActionType "DoDamage"
    instantActionTriggerType "OnDelay"
    delayTime 0.000000
    damage
        Level:0 100.000000
        Level:1 0.000000
        Level:2 0.000000
    damageAffectType "AFFECTS_SHIELDS_AND_HULL"
    damageType "ENERGY"
    isDamageShared TRUE
numPeriodicActions 0
numOverTimeActions 0
numEntityModifiers 0
numEntityBoolModifiers 0
numFinishConditions 1
finishCondition
    finishConditionType "AllOnDelayInstantActionsDone"

Reply #21 Top

Well, now we know it's definitely weirdness with a star and DoDamage, since your original ability works fine. Here's what I'd recommend:

Make a small mini mod with just this ability. Make a test map for it with a star and the neutral right next door to your homeworld.

Send both of those to [email protected] (make sure everything is behaving the way it's supposed to, star is crashing and the neutral is not with the same ability attached to them).

Explain everything you figured out so far, and what you tried. Leave the files in text also.

 

This way, they can easily check to see what's going on. It probably won't be high priority, but if they have time they might fix this in an upcoming patch. The easier you make it for them, the more likely it'll be that they can see what's going on quickly :)

+1 Loading…
Reply #22 Top

Good idea,

i make this tomorrow, and thanks for help :)

 

Reply #23 Top

I send the email, lets wait for the anwser from IC.

In the meanwhile I will continue with some other abilities that are for planet enties ;)

 

 

Reply #24 Top

Good luck :)