Jump to content
DerelictStudios Forums
booto

Sage Engine Scripting

Recommended Posts

Are there people idling about here who are quite knowledgeable about ini scripting of sage engine things? (gens through to the most recent bfme thing - specifically the legal syntax of GameObject blocks)

Share this post


Link to post
Share on other sites

Nobody?

 

The reason I ask this is because I've started taking a look at the GameObject stream type, but I'm not really familiar with various syntaxes allowed in previous sage engines, etc (beyond googling). It would be helpful if there was someone about who was fairly knowledgeable about this stuff who I could ask about stuff.

 

At the moment, I'm outputting the processed stream in a format similar to gens/bfme ini style, it's just an output format to try and work out what blocks are, etc... the original input format was believed to by an xml form of this data.

 

An example of what I can currently 'automagically' output:

 

Object GDIRefinery
 SelectPortrait = Portrait_GDIRefinery
 SelectPortrait = Portrait_GDIRefinery
 DisplayName = Name:GDIRefinery
 Cost = 2000
 PreRequisites
   Object =
 End
 CommandSet = GDIRefineryCommandSet
 ArmorSet
   Armor = GDIRefineryArmor
   DamageFX = FactionStructureDamageFX
 End
 Draw = W3DScriptedModelDraw ModuleTag_Draw
   DefaultConditionState
     Model = GBRefinery
   End
   ConditionState = STRUCTURE_UNPACKING
     Model = GBREFINERY_ASN
   End
   ConditionState = DAMAGED
     Model = GBREFINERY_D2
     ParticleSysBone = FXBone01 GDIRefineryDamagedSmoke
     ParticleSysBone = FXBone02 GDIRefineryDamagedSmoke
     ParticleSysBone = FXBone02 GDIRefineryDamagedFire
     ParticleSysBone = FXBone02 GDIRefineryDamagedDist
     ParticleSysBone = FXSmokeStackA GDIRefinerySmoke
     ParticleSysBone = FXSmokeStackA GDIRefinerySmokeDistortion
     ParticleSysBone = FXTiberiumA GDIRefineryTibA
     ParticleSysBone = FXTiberiumA GDIRefineryTibDistortionA
   End
   ConditionState = REALLYDAMAGED
     Model = GBREFINERY_D2
     ParticleSysBone = FXBone01 GDIRefineryDamagedSmoke
     ParticleSysBone = FXBone01 GDIRefineryDamagedFire
     ParticleSysBone = FXBone01 GDIRefineryDamagedDist
     ParticleSysBone = FXBone02 GDIRefineryDamagedDist
     ParticleSysBone = FXBone02 GDIRefineryDamagedSmoke
     ParticleSysBone = FXBone02 GDIRefineryDamagedFire
     ParticleSysBone = FXBone03 GDIRefineryDamagedSteam
     ParticleSysBone = FXBone03 GDIRefineryDamagedDist2
     ParticleSysBone = FXSmokeStackA GDIRefinerySmoke
     ParticleSysBone = FXSmokeStackA GDIRefinerySmokeDistortion
     ParticleSysBone = FXTiberiumA GDIRefineryTibA
     ParticleSysBone = FXTiberiumA GDIRefineryTibDistortionA
   End
   ConditionState = DYING
     Model = GBREFINERY_D3
   End
   ConditionState = USER_1
     Model = GBRefinery
     ParticleSysBone = FXSmokeStackA GDIRefinerySmoke
     ParticleSysBone = FXSmokeStackA GDIRefinerySmokeDistortion
     ParticleSysBone = FXSmokeStackB GDIRefinerySmoke
     ParticleSysBone = FXSmokeStackB GDIRefinerySmokeDistortion
     ParticleSysBone = FXTiberiumA GDIRefineryTibA
     ParticleSysBone = FXTiberiumA GDIRefineryTibDistortionA
   End
   TransitionState = STATE_bored
   End
   TransitionState = STATE_Buildup
     Animation = GBREFINERY_AAN
     AnimationMode = ONCE
     ParticleSysBone = NONE Con_Large
     StateName = STRUCTURE_UNPACKING
   End
   TransitionState = 
     Animation = GBREFINERY_AAN
     AnimationMode = ONCE
     StateName = TRANS_Buildup
   End
   TransitionState = STATE_Damaged
     Flags = START_FRAME_FIRST
     Animation = GBREFINERY_D2A
     AnimationMode = MANUAL
     StateName = DAMAGED
   End
   TransitionState = STATE_ReallyDamaged
     Animation = GBREFINERY_D2A
     AnimationMode = ONCE
     BeginScript

           Prev = CurDrawablePrevAnimationState();
           if Prev == "STATE_Damaged" then CurDrawableSetTransitionAnimState("TRANS_DamagedToReallyDamaged") end;
         
     EndScript
     StateName = REALLYDAMAGED
   End
   TransitionState = STATE_Dying
     Animation = GBREFINERY_D3A
     AnimationMode = ONCE
     ParticleSysBone = NONE Des_Large
     StateName = DYING
   End
   TransitionState = 
     Animation = GBREFINERY_D2A
     AnimationMode = ONCE
     StateName = TRANS_DamagedToReallyDamaged
   End
 End
 Draw = W3DScriptedModelDraw ModuleTag_Draw_TIB
   DefaultConditionState
     Model = GBREFINERY_TIB
   End
   ConditionState = STRUCTURE_UNPACKING
     Model = NBEMPTY_ABLD
   End
   TransitionState = 
     BeginScript

       CurDrawableHideSubObject("Tib_25")
       CurDrawableHideSubObject("Tib_50")
       CurDrawableHideSubObject("Tib_75")
       CurDrawableHideSubObject("Tib_100")
       CurDrawableHideSubObject("FXGlows_25")
       CurDrawableHideSubObject("FXGlows_50")
       CurDrawableHideSubObject("FXGlows_75")
       CurDrawableHideSubObject("FXGlows_100")
   
     EndScript
   End
   TransitionState = STATE_Buildup
     Animation = NBEMPTY_ABLD
     AnimationMode = ONCE
     StateName = STRUCTURE_UNPACKING
   End
   TransitionState = 
     BeginScript

     CurDrawableShowSubObject("Tib_25")
     CurDrawableHideSubObject("Tib_50")
     CurDrawableHideSubObject("Tib_75")
     CurDrawableHideSubObject("Tib_100")
     CurDrawableShowSubObject("FXGlows_25")
     CurDrawableHideSubObject("FXGlows_50")
     CurDrawableHideSubObject("FXGlows_75")
     CurDrawableHideSubObject("FXGlows_100")
          
     EndScript
     StateName = MONEY_STORED_AMOUNT_1
   End
   TransitionState = 
     BeginScript

     CurDrawableHideSubObject("Tib_25")
     CurDrawableShowSubObject("Tib_50")
     CurDrawableHideSubObject("Tib_75")
     CurDrawableHideSubObject("Tib_100")
     CurDrawableHideSubObject("FXGlows_25")
     CurDrawableShowSubObject("FXGlows_50")
     CurDrawableHideSubObject("FXGlows_75")
     CurDrawableHideSubObject("FXGlows_100")
       
     EndScript
     StateName = MONEY_STORED_AMOUNT_2
   End
   TransitionState = 
     BeginScript

     CurDrawableHideSubObject("Tib_25")
     CurDrawableHideSubObject("Tib_50")
     CurDrawableShowSubObject("Tib_75")
     CurDrawableHideSubObject("Tib_100")
     CurDrawableHideSubObject("FXGlows_25")
     CurDrawableHideSubObject("FXGlows_50")
     CurDrawableShowSubObject("FXGlows_75")
     CurDrawableHideSubObject("FXGlows_100")
       
     EndScript
     StateName = MONEY_STORED_AMOUNT_3
   End
   TransitionState = 
     BeginScript

     CurDrawableHideSubObject("Tib_25")
     CurDrawableHideSubObject("Tib_50")
     CurDrawableHideSubObject("Tib_75")
     CurDrawableShowSubObject("Tib_100")
     CurDrawableHideSubObject("FXGlows_25")
     CurDrawableHideSubObject("FXGlows_50")
     CurDrawableHideSubObject("FXGlows_75")
     CurDrawableShowSubObject("FXGlows_100")
       
     EndScript
     StateName = MONEY_STORED_AMOUNT_4
   End
 End
 Draw = W3DScriptedModelDraw ModuleTag_Draw_Arm
   DefaultConditionState
     Model = GBREFINERYX_SKN
   End
   ConditionState = STRUCTURE_UNPACKING
     Model = GBREFINERYXD3
   End
   ConditionState = DAMAGED
     Model = GBREFINERYXD2
   End
   ConditionState = REALLYDAMAGED
     Model = GBREFINERYXD2
   End
   ConditionState = DYING
     Model = GBREFINERYXD3
   End
   TransitionState = 
     Animation = GBREFINERYX_IDL
     AnimationMode = LOOP
     BeginScript

     CurDrawableHideSubObject("Bar_01")
       
     EndScript
   End
   TransitionState = 
     Animation = GBREFINERYX_LOA
     AnimationMode = ONCE
     BeginScript

     CurDrawableShowSubObject("Bar_01")
       
     EndScript
     StateName = DOCKING_ACTIVE
   End
 End
End

 

While some of the above strings are taken straight from the streams, some are simply what I've tried to piece together based on bfme/gens scripts I've been able to google... I realise that some of it might not be valid... or make sense... which is one of the main reasons why I'm asking if anyone out there wants to lend a hand.

Share this post


Link to post
Share on other sites

Also, I realise that it's not anywhere close to a complete GameObject def'n, the models/animations just seemed like as good a place as any to start.

Share this post


Link to post
Share on other sites

Do the TransitionState/ConditionState blocks in the above code look valid given other references in the shown code, such as that in the Script sections?

 

(What's the difference between the ~= operator and the == operator in the context of 'Prev'?)

 

Here's another example that seems to have more problems:

(Ignore the duplicated SelectPortrait thing, that's okay for now.)

 

Object GDIAirTower
 SelectPortrait = Portrait_GDIAirfield
 SelectPortrait = Portrait_GDIAirfield
 DisplayName = Name:GDIAirfield
 Cost = 1000
 PreRequisites
   Object = GDICommandPost
 End
 CommandSet = GDIAirTowerCommandSet
 ArmorSet
   Armor = GDIAirTowerArmor
   DamageFX = FactionStructureDamageFX
 End
 Draw = W3DScriptedModelDraw ModuleTag_Draw
    ExtraPublicBone = Runway0Park0Han
    ExtraPublicBone = Runway0Park1Han
    ExtraPublicBone = Runway1Park0Han
    ExtraPublicBone = Runway1Park1Han
   DefaultConditionState
     Model = GBAirField
   End
   ConditionState = STRUCTURE_UNPACKING
     Model = GBAIRFIELD_ASKN
   End
   ConditionState = DAMAGED
     Model = GBAIRFIELD_D2SN
     ParticleSysBone = FXBone01 GDIPPDamagedSmoke
   End
   ConditionState = REALLYDAMAGED
     Model = GBAIRFIELD_D2SN
     ParticleSysBone = FXBone02 GDIPPDamagedSmoke
     ParticleSysBone = FXBone01 GDIPPDamagedFire
     ParticleSysBone = FXBone01 GDIPPDamagedSmoke
     ParticleSysBone = FXBone01 GDIRefineryDamagedDist
   End
   ConditionState = DYING
     Model = GBAIRFIELD_D3SN
   End
   TransitionState = 
   End
   TransitionState = 
     Animation = GBAIRFIELD_ABLD
     AnimationMode = ONCE
     ParticleSysBone = NONE Con_Small
     StateName = STRUCTURE_UNPACKING
   End
   TransitionState = STATE_Rubble
     Flags = START_FRAME_LAST
     Animation = GBAIRFIELD_D3AN
     AnimationMode = MANUAL
     BeginScript

     Prev = CurDrawablePrevAnimationState();
     if Prev ~= "STATE_Rubble" and Prev ~= "TRANS_IntoRubble" then
     CurDrawableSetTransitionAnimState("TRANS_IntoRubble")
     end
       
     EndScript
     ParticleSysBone = NONE Des_Medium
     StateName = RUBBLE
   End
   TransitionState = STATE_ReallyDamaged
     Flags = START_FRAME_LAST
     Animation = GBAIRFIELD_D2AN
     AnimationMode = MANUAL
     BeginScript

     Prev = CurDrawablePrevAnimationState();
     if Prev ~= "STATE_ReallyDamaged" and Prev ~= "TRANS_IntoReallyDamaged" then
     CurDrawableSetTransitionAnimState("TRANS_IntoReallyDamaged")
     end
       
     EndScript
     StateName = REALLYDAMAGED
   End
   TransitionState = TRANS_IntoReallyDamaged
     Animation = GBAIRFIELD_D2AN
     AnimationMode = ONCE
   End
   TransitionState = TRANS_IntoRubble
     Animation = GBAIRFIELD_D3AN
     AnimationMode = ONCE
   End
 End
 Draw = W3DScriptedModelDraw ModuleTag_Draw_Door01
   DefaultConditionState
     Model = GBAIRDOOR01_SKN
   End
   ConditionState = STRUCTURE_UNPACKING
     Model = GBAIRDOOR_A
   End
   ConditionState = DYING PARKINGPLACE_1_DOOR_OPEN
     Model = GBAIRDOOR01_SKN
   End
   ConditionState = DYING
     Model = GBAIRDOOR01_D3SN
   End
   ConditionState = REALLYDAMAGED
     Model = GBAIRDOOR01_SKN
   End
   ConditionState = DAMAGED
     Model = GBAIRDOOR01_SKN
   End
   TransitionState = 
     Animation = GBAIRDOOR_OPNS
     AnimationMode = ONCE
   End
   TransitionState = 
     Animation = GBAIRDOOR_A
     AnimationMode = ONCE
     StateName = STRUCTURE_UNPACKING
   End
   TransitionState = 
     Animation = GBAIRDOOR_OPNS
     AnimationMode = ONCE
     StateName = DYING PARKINGPLACE_1_DOOR_OPEN
   End
   TransitionState = 
     Animation = GBAIRDOOR_D3AN
     AnimationMode = ONCE
     StateName = DYING
   End
   TransitionState = 
     Animation = GBAIRDOOR_OPN
     AnimationMode = ONCE
     StateName = PARKINGPLACE_1_DOOR_OPENING
   End
   TransitionState = 
     Animation = GBAIRDOOR_OPNS
     AnimationMode = ONCE
     StateName = PARKINGPLACE_1_DOOR_OPEN
   End
   TransitionState = 
     Animation = GBAIRDOOR_CLS
     AnimationMode = ONCE
     StateName = PARKINGPLACE_1_DOOR_CLOSING
   End
   TransitionState = 
     Animation = GBAIRDOOR_CLSS
     AnimationMode = ONCE
     StateName = PARKINGPLACE_1_DOOR_CLOSED
   End
 End
 Draw = W3DScriptedModelDraw ModuleTag_Draw_Door02
   DefaultConditionState
     Model = GBAIRDOOR02_SKN
   End
   ConditionState = STRUCTURE_UNPACKING
     Model = GBAIRDOOR_A
   End
   ConditionState = DAMAGED
     Model = GBAIRDOOR02_SKN
   End
   ConditionState = REALLYDAMAGED
     Model = GBAIRDOOR02_SKN
   End
   ConditionState = DYING PARKINGPLACE_1_DOOR_OPEN
     Model = GBAIRDOOR02_SKN
   End
   ConditionState = DYING
     Model = GBAIRDOOR02_D3SN
   End
   TransitionState = 
     Animation = GBAIRDOOR_OPNS
     AnimationMode = ONCE
   End
   TransitionState = 
     Animation = GBAIRDOOR_A
     AnimationMode = ONCE
     StateName = STRUCTURE_UNPACKING
   End
   TransitionState = 
     Animation = GBAIRDOOR_OPNS
     AnimationMode = ONCE
     StateName = DYING PARKINGPLACE_1_DOOR_OPEN
   End
   TransitionState = 
     Animation = GBAIRDOOR_D3AN
     AnimationMode = ONCE
     StateName = DYING
   End
   TransitionState = 
     Animation = GBAIRDOOR_OPN
     AnimationMode = ONCE
     StateName = PARKINGPLACE_3_DOOR_OPENING
   End
   TransitionState = 
     Animation = GBAIRDOOR_OPNS
     AnimationMode = ONCE
     StateName = PARKINGPLACE_3_DOOR_OPEN
   End
   TransitionState = 
     Animation = GBAIRDOOR_CLS
     AnimationMode = ONCE
     StateName = PARKINGPLACE_3_DOOR_CLOSING
   End
   TransitionState = 
     Animation = GBAIRDOOR_CLSS
     AnimationMode = ONCE
     StateName = PARKINGPLACE_3_DOOR_CLOSED
   End
 End
 Draw = W3DScriptedModelDraw ModuleTag_Draw_Door03
   DefaultConditionState
     Model = GBAIRDOOR03_SKN
   End
   ConditionState = STRUCTURE_UNPACKING
     Model = GBAIRDOOR_A
   End
   ConditionState = DAMAGED
     Model = GBAIRDOOR03_SKN
   End
   ConditionState = REALLYDAMAGED
     Model = GBAIRDOOR03_SKN
   End
   ConditionState = DYING PARKINGPLACE_1_DOOR_OPEN
     Model = GBAIRDOOR03_SKN
   End
   ConditionState = DYING
     Model = GBAIRDOOR03_D3SN
   End
   TransitionState = 
     Animation = GBAIRDOOR_OPNS
     AnimationMode = ONCE
   End
   TransitionState = 
     Animation = GBAIRDOOR_A
     AnimationMode = ONCE
     StateName = STRUCTURE_UNPACKING
   End
   TransitionState = 
     Animation = GBAIRDOOR_OPNS
     AnimationMode = ONCE
     StateName = DYING PARKINGPLACE_1_DOOR_OPEN
   End
   TransitionState = 
     Animation = GBAIRDOOR_D3AN
     AnimationMode = ONCE
     StateName = DYING
   End
   TransitionState = 
     Animation = GBAIRDOOR_OPN
     AnimationMode = ONCE
     StateName = PARKINGPLACE_2_DOOR_OPENING
   End
   TransitionState = 
     Animation = GBAIRDOOR_OPNS
     AnimationMode = ONCE
     StateName = PARKINGPLACE_2_DOOR_OPEN
   End
   TransitionState = 
     Animation = GBAIRDOOR_CLS
     AnimationMode = ONCE
     StateName = PARKINGPLACE_2_DOOR_CLOSING
   End
   TransitionState = 
     Animation = GBAIRDOOR_CLSS
     AnimationMode = ONCE
     StateName = PARKINGPLACE_2_DOOR_CLOSED
   End
 End
 Draw = W3DScriptedModelDraw ModuleTag_Draw_Door04
   DefaultConditionState
     Model = GBAIRDOOR04_SKN
   End
   ConditionState = STRUCTURE_UNPACKING
     Model = GBAIRDOOR_A
   End
   ConditionState = DAMAGED
     Model = GBAIRDOOR04_SKN
   End
   ConditionState = REALLYDAMAGED
     Model = GBAIRDOOR04_SKN
   End
   ConditionState = DYING PARKINGPLACE_1_DOOR_OPEN
     Model = GBAIRDOOR04_SKN
   End
   ConditionState = DYING
     Model = GBAIRDOOR04_D3SN
   End
   TransitionState = 
     Animation = GBAIRDOOR_OPNS
     AnimationMode = ONCE
   End
   TransitionState = 
     Animation = GBAIRDOOR_A
     AnimationMode = ONCE
     StateName = STRUCTURE_UNPACKING
   End
   TransitionState = 
     Animation = GBAIRDOOR_OPNS
     AnimationMode = ONCE
     StateName = DYING PARKINGPLACE_1_DOOR_OPEN
   End
   TransitionState = 
     Animation = GBAIRDOOR_D3AN
     AnimationMode = ONCE
     StateName = DYING
   End
   TransitionState = 
     Animation = GBAIRDOOR_OPN
     AnimationMode = ONCE
     StateName = PARKINGPLACE_4_DOOR_OPENING
   End
   TransitionState = 
     Animation = GBAIRDOOR_OPNS
     AnimationMode = ONCE
     StateName = PARKINGPLACE_4_DOOR_OPEN
   End
   TransitionState = 
     Animation = GBAIRDOOR_CLS
     AnimationMode = ONCE
     StateName = PARKINGPLACE_4_DOOR_CLOSING
   End
   TransitionState = 
     Animation = GBAIRDOOR_CLSS
     AnimationMode = ONCE
     StateName = PARKINGPLACE_4_DOOR_CLOSED
   End
 End
 Draw = W3DScriptedModelDraw ModuleTag_Draw_RADAR
   DefaultConditionState
     Model = GBAIRRADAR
   End
   ConditionState = STRUCTURE_UNPACKING
     Model = GBAIRDOOR_A
   End
   ConditionState = DAMAGED
     Model = GBAIRRADARD
   End
   ConditionState = REALLYDAMAGED
     Model = GBAIRRADARD
   End
   ConditionState = DYING
     Model = (null)
   End
   TransitionState = 
     Flags = DO_NOT_PLAY_WHEN_UNPOWERED
     Animation = GBAIRRADAR
     AnimationMode = LOOP
   End
   TransitionState = 
     Animation = GBAIRDOOR_A
     AnimationMode = ONCE
     StateName = STRUCTURE_UNPACKING
   End
   TransitionState = 
     Flags = DO_NOT_PLAY_WHEN_UNPOWERED
     Animation = GBAIRRADARD
     AnimationMode = LOOP
     StateName = DAMAGED
   End
   TransitionState = 
     Flags = DO_NOT_PLAY_WHEN_UNPOWERED
     Animation = GBAIRRADARD
     AnimationMode = LOOP
     StateName = REALLYDAMAGED
   End
   TransitionState = 
     Flags = DO_NOT_PLAY_WHEN_UNPOWERED
     Animation = GBAIRRADARD
     AnimationMode = LOOP
     StateName = DYING
   End
 End
 Draw = W3DScriptedModelDraw ModuleTag_RepairDecal
   DefaultConditionState
     Model = (null)
   End
   ConditionState = SELECTED
     Model = FXINVISBONE
   End
 End
End

Edited by booto

Share this post


Link to post
Share on other sites

Worked on this a bit more, been referencing BFME stuff for syntax so far...

 

Is anyone here interested in this stuff, or am I just unnecessarily filling the forum db with large posts?

 

Edit:

 

I take it ~= is "not equal to"... when seeing it, I was trying to make sense of it with regard to languages I know (it's similar to perl regex syntax), and it didn't seem to make sense in that context.

 

Object GDIAirTower
 SelectPortrait = Portrait_GDIAirfield
 ButtonImage = Portrait_GDIAirfield
 DisplayName = Name:GDIAirfield
 Cost = 1000
 BuildTime = 10.0
 EnergyUse = -8
 PreRequisites
   Object = GDICommandPost
 End
 CommandSet = GDIAirTowerCommandSet
 ArmorSet
   Armor = GDIAirTowerArmor
   DamageFX = FactionStructureDamageFX
 End
 Draw = W3DScriptedModelDraw ModuleTag_Draw
    ExtraPublicBone = Runway0Park0Han
    ExtraPublicBone = Runway0Park1Han
    ExtraPublicBone = Runway1Park0Han
    ExtraPublicBone = Runway1Park1Han
   DefaultConditionState
     Model = GBAirField
   End
   ModelConditionState = STRUCTURE_UNPACKING
     Model = GBAIRFIELD_ASKN
   End
   ModelConditionState = DAMAGED
     Model = GBAIRFIELD_D2SN
     ParticleSysBone = FXBone01 GDIPPDamagedSmoke
   End
   ModelConditionState = REALLYDAMAGED
     Model = GBAIRFIELD_D2SN
     ParticleSysBone = FXBone02 GDIPPDamagedSmoke
     ParticleSysBone = FXBone01 GDIPPDamagedFire
     ParticleSysBone = FXBone01 GDIPPDamagedSmoke
     ParticleSysBone = FXBone01 GDIRefineryDamagedDist
   End
   ModelConditionState = DYING
     Model = GBAIRFIELD_D3SN
   End
   IdleAnimationState
   End
   AnimationState = STRUCTURE_UNPACKING
     Animation = GBAIRFIELD_ABLD
       AnimationMode = ONCE
     End
     ParticleSysBone = NONE Con_Small
   End
   AnimationState = RUBBLE
     StateName = STATE_Rubble
     Flags = START_FRAME_LAST
     Animation = GBAIRFIELD_D3AN
       AnimationMode = MANUAL
     End
     BeginScript

     Prev = CurDrawablePrevAnimationState();
     if Prev ~= "STATE_Rubble" and Prev ~= "TRANS_IntoRubble" then
     CurDrawableSetTransitionAnimState("TRANS_IntoRubble")
     end
       
     EndScript
     ParticleSysBone = NONE Des_Medium
   End
   AnimationState = REALLYDAMAGED
     StateName = STATE_ReallyDamaged
     Flags = START_FRAME_LAST
     Animation = GBAIRFIELD_D2AN
       AnimationMode = MANUAL
     End
     BeginScript

     Prev = CurDrawablePrevAnimationState();
     if Prev ~= "STATE_ReallyDamaged" and Prev ~= "TRANS_IntoReallyDamaged" then
     CurDrawableSetTransitionAnimState("TRANS_IntoReallyDamaged")
     end
       
     EndScript
   End
   IdleAnimationState
     Animation = GBAIRFIELD_D2AN
       AnimationMode = ONCE
     End
   End
   IdleAnimationState
     Animation = GBAIRFIELD_D3AN
       AnimationMode = ONCE
     End
   End
 End
 Draw = W3DScriptedModelDraw ModuleTag_Draw_Door01
   DefaultConditionState
     Model = GBAIRDOOR01_SKN
   End
   ModelConditionState = STRUCTURE_UNPACKING
     Model = GBAIRDOOR_A
   End
   ModelConditionState = DYING PARKINGPLACE_1_DOOR_OPEN
     Model = GBAIRDOOR01_SKN
   End
   ModelConditionState = DYING
     Model = GBAIRDOOR01_D3SN
   End
   ModelConditionState = REALLYDAMAGED
     Model = GBAIRDOOR01_SKN
   End
   ModelConditionState = DAMAGED
     Model = GBAIRDOOR01_SKN
   End
   IdleAnimationState
     Animation = GBAIRDOOR_OPNS
       AnimationMode = ONCE
     End
   End
   AnimationState = STRUCTURE_UNPACKING
     Animation = GBAIRDOOR_A
       AnimationMode = ONCE
     End
   End
   AnimationState = DYING PARKINGPLACE_1_DOOR_OPEN
     Animation = GBAIRDOOR_OPNS
       AnimationMode = ONCE
     End
   End
   AnimationState = DYING
     Animation = GBAIRDOOR_D3AN
       AnimationMode = ONCE
     End
   End
   AnimationState = PARKINGPLACE_1_DOOR_OPENING
     Animation = GBAIRDOOR_OPN
       AnimationMode = ONCE
     End
   End
   AnimationState = PARKINGPLACE_1_DOOR_OPEN
     Animation = GBAIRDOOR_OPNS
       AnimationMode = ONCE
     End
   End
   AnimationState = PARKINGPLACE_1_DOOR_CLOSING
     Animation = GBAIRDOOR_CLS
       AnimationMode = ONCE
     End
   End
   AnimationState = PARKINGPLACE_1_DOOR_CLOSED
     Animation = GBAIRDOOR_CLSS
       AnimationMode = ONCE
     End
   End
 End
 Draw = W3DScriptedModelDraw ModuleTag_Draw_Door02
   DefaultConditionState
     Model = GBAIRDOOR02_SKN
   End
   ModelConditionState = STRUCTURE_UNPACKING
     Model = GBAIRDOOR_A
   End
   ModelConditionState = DAMAGED
     Model = GBAIRDOOR02_SKN
   End
   ModelConditionState = REALLYDAMAGED
     Model = GBAIRDOOR02_SKN
   End
   ModelConditionState = DYING PARKINGPLACE_1_DOOR_OPEN
     Model = GBAIRDOOR02_SKN
   End
   ModelConditionState = DYING
     Model = GBAIRDOOR02_D3SN
   End
   IdleAnimationState
     Animation = GBAIRDOOR_OPNS
       AnimationMode = ONCE
     End
   End
   AnimationState = STRUCTURE_UNPACKING
     Animation = GBAIRDOOR_A
       AnimationMode = ONCE
     End
   End
   AnimationState = DYING PARKINGPLACE_1_DOOR_OPEN
     Animation = GBAIRDOOR_OPNS
       AnimationMode = ONCE
     End
   End
   AnimationState = DYING
     Animation = GBAIRDOOR_D3AN
       AnimationMode = ONCE
     End
   End
   AnimationState = PARKINGPLACE_3_DOOR_OPENING
     Animation = GBAIRDOOR_OPN
       AnimationMode = ONCE
     End
   End
   AnimationState = PARKINGPLACE_3_DOOR_OPEN
     Animation = GBAIRDOOR_OPNS
       AnimationMode = ONCE
     End
   End
   AnimationState = PARKINGPLACE_3_DOOR_CLOSING
     Animation = GBAIRDOOR_CLS
       AnimationMode = ONCE
     End
   End
   AnimationState = PARKINGPLACE_3_DOOR_CLOSED
     Animation = GBAIRDOOR_CLSS
       AnimationMode = ONCE
     End
   End
 End
 Draw = W3DScriptedModelDraw ModuleTag_Draw_Door03
   DefaultConditionState
     Model = GBAIRDOOR03_SKN
   End
   ModelConditionState = STRUCTURE_UNPACKING
     Model = GBAIRDOOR_A
   End
   ModelConditionState = DAMAGED
     Model = GBAIRDOOR03_SKN
   End
   ModelConditionState = REALLYDAMAGED
     Model = GBAIRDOOR03_SKN
   End
   ModelConditionState = DYING PARKINGPLACE_1_DOOR_OPEN
     Model = GBAIRDOOR03_SKN
   End
   ModelConditionState = DYING
     Model = GBAIRDOOR03_D3SN
   End
   IdleAnimationState
     Animation = GBAIRDOOR_OPNS
       AnimationMode = ONCE
     End
   End
   AnimationState = STRUCTURE_UNPACKING
     Animation = GBAIRDOOR_A
       AnimationMode = ONCE
     End
   End
   AnimationState = DYING PARKINGPLACE_1_DOOR_OPEN
     Animation = GBAIRDOOR_OPNS
       AnimationMode = ONCE
     End
   End
   AnimationState = DYING
     Animation = GBAIRDOOR_D3AN
       AnimationMode = ONCE
     End
   End
   AnimationState = PARKINGPLACE_2_DOOR_OPENING
     Animation = GBAIRDOOR_OPN
       AnimationMode = ONCE
     End
   End
   AnimationState = PARKINGPLACE_2_DOOR_OPEN
     Animation = GBAIRDOOR_OPNS
       AnimationMode = ONCE
     End
   End
   AnimationState = PARKINGPLACE_2_DOOR_CLOSING
     Animation = GBAIRDOOR_CLS
       AnimationMode = ONCE
     End
   End
   AnimationState = PARKINGPLACE_2_DOOR_CLOSED
     Animation = GBAIRDOOR_CLSS
       AnimationMode = ONCE
     End
   End
 End
 Draw = W3DScriptedModelDraw ModuleTag_Draw_Door04
   DefaultConditionState
     Model = GBAIRDOOR04_SKN
   End
   ModelConditionState = STRUCTURE_UNPACKING
     Model = GBAIRDOOR_A
   End
   ModelConditionState = DAMAGED
     Model = GBAIRDOOR04_SKN
   End
   ModelConditionState = REALLYDAMAGED
     Model = GBAIRDOOR04_SKN
   End
   ModelConditionState = DYING PARKINGPLACE_1_DOOR_OPEN
     Model = GBAIRDOOR04_SKN
   End
   ModelConditionState = DYING
     Model = GBAIRDOOR04_D3SN
   End
   IdleAnimationState
     Animation = GBAIRDOOR_OPNS
       AnimationMode = ONCE
     End
   End
   AnimationState = STRUCTURE_UNPACKING
     Animation = GBAIRDOOR_A
       AnimationMode = ONCE
     End
   End
   AnimationState = DYING PARKINGPLACE_1_DOOR_OPEN
     Animation = GBAIRDOOR_OPNS
       AnimationMode = ONCE
     End
   End
   AnimationState = DYING
     Animation = GBAIRDOOR_D3AN
       AnimationMode = ONCE
     End
   End
   AnimationState = PARKINGPLACE_4_DOOR_OPENING
     Animation = GBAIRDOOR_OPN
       AnimationMode = ONCE
     End
   End
   AnimationState = PARKINGPLACE_4_DOOR_OPEN
     Animation = GBAIRDOOR_OPNS
       AnimationMode = ONCE
     End
   End
   AnimationState = PARKINGPLACE_4_DOOR_CLOSING
     Animation = GBAIRDOOR_CLS
       AnimationMode = ONCE
     End
   End
   AnimationState = PARKINGPLACE_4_DOOR_CLOSED
     Animation = GBAIRDOOR_CLSS
       AnimationMode = ONCE
     End
   End
 End
 Draw = W3DScriptedModelDraw ModuleTag_Draw_RADAR
   DefaultConditionState
     Model = GBAIRRADAR
   End
   ModelConditionState = STRUCTURE_UNPACKING
     Model = GBAIRDOOR_A
   End
   ModelConditionState = DAMAGED
     Model = GBAIRRADARD
   End
   ModelConditionState = REALLYDAMAGED
     Model = GBAIRRADARD
   End
   ModelConditionState = DYING
     Model = (null)
   End
   IdleAnimationState
     Flags = DO_NOT_PLAY_WHEN_UNPOWERED
     Animation = GBAIRRADAR
       AnimationMode = LOOP
     End
   End
   AnimationState = STRUCTURE_UNPACKING
     Animation = GBAIRDOOR_A
       AnimationMode = ONCE
     End
   End
   AnimationState = DAMAGED
     Flags = DO_NOT_PLAY_WHEN_UNPOWERED
     Animation = GBAIRRADARD
       AnimationMode = LOOP
     End
   End
   AnimationState = REALLYDAMAGED
     Flags = DO_NOT_PLAY_WHEN_UNPOWERED
     Animation = GBAIRRADARD
       AnimationMode = LOOP
     End
   End
   AnimationState = DYING
     Flags = DO_NOT_PLAY_WHEN_UNPOWERED
     Animation = GBAIRRADARD
       AnimationMode = LOOP
     End
   End
 End
 Draw = W3DScriptedModelDraw ModuleTag_RepairDecal
   DefaultConditionState
     Model = (null)
   End
   ModelConditionState = SELECTED
     Model = FXINVISBONE
   End
 End
; list 2
; AttributeModifierPoolUpdate (DefaultAttributeModifierPoolUpdate:0x513bc476)
; FireWeaponWhenDeadBehavior (ModuleTag_CatalystDeathWeapon:0xdded328f)
; BuildingBehavior (ModuleTag_BuildingBehavior:0x2118a085)
; ProductionUpdate (ProductionUpdateModuleTag:0x34fe0d85)
; RecallUnitsSpecialPower (ModuleTag_RecallSpecialPower:0x6f3fa92f)
; SpawnBehavior (ModuleTag_SpawnRepairDrones:0xcf506a74)
; ParkingPlaceBehavior (ModuleTag_ParkingPlaceBehavior:0xb3283851)
; SlowDeathBehavior (ModuleTag_Death:0x73542d4a)
; FXListBehavior (ModuleTag_FXList:0xc74c39d8)
; StructureUnpackUpdate ((null):0x00000000)
; OCLSpecialPower (ModuleTag_OCLSpecialPowerBombingRun:0xca2e4032)
; AISpecialPowerUpdate (ModuleTag_CommandPostBombingRunAI:0xa6c8892a)
; OCLSpecialPower (ModuleTag_CallSupportBloodhound:0xc4577502)
; AISpecialPowerUpdate (ModuleTag_CommandPostCallBloodhoundAI:0x01043484)
; RepairUpdate (ModuleTag_RepairUpdate:0x41fdeb2a)
; EngineerContain (ModuleTag_EngineerContain:0xe2be8599)
; CreateObjectDie (ModuleTag_CreateOccupiedDie:0x34fd1923)
; CreateObjectDie (ModuleTag_CreateOccupiedSuicide:0x4bf392a4)
End

Edited by booto

Share this post


Link to post
Share on other sites

Does anyone have a complete list of all known valid KindOf values tags from BFME2?

Also, there are places in the ini files that use states such as WEAPONSET_PLAYER_UPGRADE

Anyone got a list of all the known valid states from BFME2?

Edited by jonwil

Share this post


Link to post
Share on other sites

Are you sure it's complete?

 

e.g. There's no "UpgradedBoost" node for the "AutoDepositUpdate" module like appears in data\ini\object\civilianbuildings.ini in the zerohour inizh.big file.

Share this post


Link to post
Share on other sites

Like I said, I never got round to fully updating it. A few ZH things may be missing, but its as complete as it can be for Generals.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×