MadState Animation Dilemma

Let me preface this by stating that my difficulty relates to Homeworld 2 (Not Remastered).

Utilizing CFHodEd v.4.1 I created 4 “emitter-decks” (arms) that extend from the BattleStation at madState codeRed and retract at codeGreen. This works in-game exactly as desired.

Upon the tips of each of these emitter-decks is a Weapon Hardpoint (Weapon_Emitter1 through Weapon_Emitter4) that exists as a child to the aforementioned emitter-deck Hardpoints.

I initially expected that; as children of the emitter-decks, the emitters (weapons) would be animated (carried) along the same tangental vector as the emitter-decks, both as desired and as exhibited by the animation in CFHodEd when played in CFHodEd. This however did not work as the weapons stayed in the same location during game-play. So…

I then attempted to also animate the emitter joints as well. This too failed to present the desired animation in-game as the weapons again stayed in the same location relative to the root while the emitter-decks extended and contracted.

I have as yet not attempted to place the emitters (weapons) directly under root (as opposed to as children of the emitter-decks) and animate them separately, but I thought to seek the advice of my peers (and betters) within this community before doing so.

Is there anyone here that can see and explain to me where my logic and application have failed and can perhaps offer a solution?

As always, I am profoundly grateful for any attempt to assist me in my endeavors.


I don’t think weapons can be attached like that. I’m pretty sure you need to put the weapons in the location they will be after the animation has played. When in the final position then you can set them up as turrets and make them move as you desire.

Just had a thought. Are you referring to weapons as the effect or as the mesh? I’m assuming when you say weapon you’re referring to the weapon effect. This can’t be slaved. In your case, code red/green tells the object it can’t fire unless the animation has completed, but the hard point will not move.

I set up the B’rel like this. I had to put the hard points in the location it should be when firing.

When referring to weapons I am not at anytime speaking of an effect, but of either the Weapon Hardpoint to which the weapon (turret) will be attached or to the turret itself.

So, correct me if I am wrong, but what you are saying is that I must actually animate a turret mesh position that has been embedded into the hod-file and cannot then choose between turrets via the ship-file script. For example:

-- special attack --
addAbility(NewShipType, "SpecialAttack", 0, "DistortionWaveEmitter")
addAbility(NewShipType, "SpecialAttack", 0, "DistortionMirrorProjector")

-- wave emitters --
StartShipHardPointConfig(NewShipType,"waveEmitter1","Weapon_Emitter1","Weapon","Generic","Destroyable", "", "Hgn_DistortionWaveEmitter1","Hgn_DistortionMirrorProjector1")
StartShipHardPointConfig(NewShipType,"waveEmitter2","Weapon_Emitter2","Weapon","Generic","Destroyable", "", "Hgn_DistortionWaveEmitter2","Hgn_DistortionMirrorProjector2")
StartShipHardPointConfig(NewShipType,"waveEmitter3","Weapon_Emitter3","Weapon","Generic","Destroyable", "", "Hgn_DistortionWaveEmitter3","Hgn_DistortionMirrorProjector3")
StartShipHardPointConfig(NewShipType,"waveEmitter4","Weapon_Emitter4","Weapon","Generic","Destroyable", "", "Hgn_DistortionWaveEmitter4","Hgn_DistortionMirrorProjector4")

Or… are you saying that I cannot animate the position of the actual weapon meshes in relation to “root” at all, period, but must place the weapons into their final (CodeRed) positions - which would effectively have them hanging detached in space during CodeGreen?

Oh, and thank you for your time in helping me.

For a moment, after reviewing what you have written I thought that I might solve this difficulty by importing the weapon mesh into this hod. I would of necessity have to choose only one weapon to employ, but the weapon would expand and contract with the emitter-decks as I had envisioned. However, after looking at the weapon that I created some time ago I realized that this too was not feasible as each weapon is itself composed of three articulating (animated) meshes.

I have been using this Battlestation, with the duel choice of weaponry (exemplified above) successfully for some time with non-animated armatures (emitter-decks).

The photo below is of one such “emitter” attached to a retracted “emitter-deck”

1 Like

Wow some sort of Somtaw combat Station. Amazing work. I hope you will figure out the weapon issues. I’d love to see that station in game.

The Battlestation itself is not of my design. I believe that it was introduced in Complex 8, but I could be mistaken.

In fact, that reminds me: I must soon get permission for the use of all assets that are not my own in this, my as-yet-unnamed mod prior to its release to the community.

1 Like

Amazingly enough, this very morning whilst compiling the RelicNews Forums I encountered a post dedicated to precisely my predicament and within it is the solution.

BUT…, I cannot entirely understand the solution as the speaker (writer) is not a native English speaker.

If you understand this can you re-explain it more concisely? I am particularly interested in the content that follows “OR, you can create a child joint…”.

Well while I messed around with Blender it were mostly regarding model and animation rigging. I never modeled something from scratch. The way I understand this post it says:

To place all joints onto the main model as if it’s already properly placed for in game action or perfectly attached onto the main model mesh itself. I assume your turrets as well are separate meshes yes?

How ever he also mentioned to place these joints or rather turret meshes in this case actually into the main model mesh deep by 1 or 2 grid coordinates.

Apparently the guy in that Relic Post had turrets that would extend outwards once entering combat done per animation. Pretty much like the Acolytes did when they extended their wings to attack in HW Cataclysm.

Joint models for longitudinal and time-to-event data are models that bring these two data types together (simultaneously) into a single model so that one can infer the dependence and association between the longitudinal biomarker and time to event to better assess the effect of a treatment.

the 2nd explanation how it could be done would be to create children for latitude, muzzle and the proper position. All these 3 things require weapon meshes by homeworld modding language default otherwise they won’t work. But don’t combine it with the real weapon joints. Latitude and co. just require fake weapon joints inside it’s data for homeworld RM to read it properly.

What I was trying to say is: The weapons and added extensions must be placed at the point of firing (fully deployed). The animation will keep the accessories retracted until needed. The Code RED will keep the weapons from firing until the anim places the accessories deployed. Hard points are placed at the fully extended position also.

@goose3 @herbyguitar

Between the two of you I believe that I get it. I will attempt to follow your instructions and let you know how it works out. If I do get this working correctly I feel that I must write a tutorial.

Thank you both for your time and effort in helping me.

1 Like