Muldrfs Hierarchy Joint Assist Tool
This is a Hierarchy Joint assistance tool for usage in conjunction with Milkshape. It's intention is to aid in alleviating some of the pain in making and updating the Hierarchy joints when porting ships.
Here is a guide video showing the "earlier" version of the tool that is integrated into the LMTools for Legacy in action. It is a slightly different layout, but function and usage are the same.
This version is build with 4 modes, Armada 1, Armada 2, Fleet Ops, and Star Trek Legacy (why take it out?). Each mode has it's own "basic Hierarchy tree", as well as unique entries for the "s_" type joints. The s_ joint Pattern and Color bits are only for Legacy, so they are disabled in Armada modes.
Hierarchy Joint/Hardpoint Tool for Legacy & Armada 1/2 by Muldrf
Welcome to the Hierarchy Joint Assitance Tool. It is used to create new or modify existing "Joint" data for use in Milkshape Specfically to aid in the Porting of ships for Star Trek Legacy and the Star Trek Armada games. Originally created for use with Legacy models, I have added support for Star Trek Armada, Armada 2 and Fleet Ops modes. This is used in conjunction with the "Legacy Joint Tool ASCII" Milkshape Exporter. You can start from scratch making a tree using one of the 4 baseline trees, Legacy, Armada, Armada 2 or Fleet Ops. You can import Mesh Group Names from Milkshape with the Legacy ASCII exporter, as well as any existing joint data. The Output txt file that is created by the tool is in Milkshape ASCII Format so that it doesn't require a special "importer".
This tool requires Microsof .Net Framework 3.0. If you don't have it you will recieve an error message when trying to execute it. It is a free download from Windows Update or http://download.microsoft.com if you don't have it already.
The tool should work with Windows XP, Vista, and Windows 7. It is a 32bit application but works on the 64bit operating systems.
Just extract the MJTool.exe file and create a shortcut to it.
Then copy the msMJTExporter.dll to your Milkshape folder. Once opening Milkshape the next time you should see the "Legacy Joint Tool ASCII" option on the Export Menu.
To import trees into Milkshape from the tool you must first delete any existing Joints from the model (or it won't import the new joints), then use the Milkshape ASCII Importer and select the file. If you have an existing tree you can doublclick on the "h_scene root" (Legacy, Armada2, Fleet Ops) or "h_root" (in Armada 1) to highlight it then press "Delete" on your Keyboard. When importing the data Milkshape may make your textures disappear, when that happens save your file then reopen the saved file and it will refresh your textures.
Tree View - Shows your overall joint structure. This Tab is the one that is used primarly. You can Drag and Drop joints in the Treeview to other Parent joint "levels", such as drag a joint from the h_hardpoints section to the h_lights section if you misplaced it. This also has most of the joint manipulation buttons on it.
Grid View - This shows the data that the tree view works from, including the other underlying information that is used, such as location and rotation and and joint comments (only used in Legacy). While you can edit some the data in the Gridview it's not generally done. The main thing I use the Grid View for is when porting a model I will verify that the m_ joints are at 0,0,0 and have no rotation at all, if they don't I will manually edit them back to the proper 0,0,0 values.
Output tab - This is a preview of your output file. You could copy and paste the text from here into notepad etc and save the txt file. This view is generated either when pressing the "Pre-Build" button or when pressing Export. The Pre-Build button allows you to generate the output and do some manual adjustment if you like before saving the file. If you do edit the Output text you then must still Export it by using the Export button, just tell it to NOT Flush the Output data when it asks, it only asks that if the output window isn't empty.
Tree View Buttons:
Up - move the selected joint "up" on the list at it's current Hiearchy level, this will move it to the top of it's current level but not into the next higher level.
Down - same as "up" but moves the currently selected joint "down".
Move Checked - will move every joint that has the checkbox checked to be attached to the currently selected joint. There are some situations where this will have to be pressed more than once to get them all moved. I just haven't tracked them all down yet.
Rename - Shows a box where you can edit the name of the currently selected joint. You can rename a joint fully if it's currently a h_ joint you can rename it to something totally different such as a s_ joint.
Pattern Color - This button is only for Legacy it lets you edit the Pattern and or Color/Intensity values of a Light Sprite, it is disabled in the Armada modes of the tool.
Delete - Deletes the currently selected joint, be sure to delete any "child" joints first, I never intended to delete joints using that button that had "child" joints under it.
Right Side Buttons:
Clear Tree - Clears the tree back to the Default tree for the currently Selected Mode.
Import - Imports joint data from a "Legacy Joint Tool ASCII" format file, including model group names, and all joint data including joint name, parent joint, position, rotation and comment data.
Pre-Build - as mentioned above this populates the current data on the tree and grid views to the Output window in the Milkshape 3d ASCII format. Useful if you want to do some additional tweaking before saving the output file. I have very rarely used this, but left it enabled "just incase".
Export - This will check if the Output tab is populated and if it is ask if you want to repopulate it and clear the changes or use the current data there, if the output window is empty at the time it will populate it automatically. This then saves to output text to a Milkshape 3d ASCII format file that can be imported into Milkshape.
Help - Displays the Help menu.
Exit - Closes the program.
"The Other Stuff"
h_ Section. This is for creation of h_ type joints at the currently selected joint on the treeview. Either hierarchy or harpoint joints. It also allows automatic creation of an additional joint that will be placed in a specific direction from the joint. You can also add more than 1 at a time by using hte Quanity box, when using that box the Increment function will tag on a ## suffix such as if you place "hp" in the name field and Quanity of 3 you will get h_hp01, h_hp02 and h_hp03.
s_ Section. This section is for creation of s_ type joints at the currently selected joint on the treeview. It also has the Quanity and Increment function except it places a _## suffix suc has whitestrobe and qty of 2 would give s_whitestrobe_01 s_whitestrobe_02. The Pattern and Color data is only for Legacy, it allows making custom blink patterns and colored lights without having to add new spr file entries, you can actually make a blue strobe into a pink constant light if you care to.. Again the Pattern and Color boxes are disabled in the Armada modes.
m_ Section. This section is for creation of m_ type joints at the currently selected joint on the treeview. These are Model Group joint names, they are used to tell the exporter to export the model group sections to the sod (Aramda1/2) or m3d (Legacy). If you use the Legacy Joint Tool ASCII exporter in milkshape you can import the Mesh Group names directly from Milkshape, otherwise you can manually type them into the box and add them. The "Add" will add a joint with the name that is in the box at the time. The "Add All" button will add every group name to the currently selected joint, this is helpful in Legacy where you could have a large number of mesh group names.
e_ Section. This seciton is for the creattion of e_ type joints attached to the currently selected joint on the treeview. These are generally used when a ship takes damage. For Legacy only the plasmamed and plasmalrg emitters actually work. For Armada games you can apparently use all the plasma and the steam type emitters. For Armada you can have Incremented names as well like the s_ joints with a suffix of _##. For Legacy you can NOT use the Increment function, I'm hoping to get the Leagacy exported updated to allows incremented emitter joints to work, or I would have disabled the function in Legacy mode.
Custom Named Joint (no Prefix) Section. This is for adding a joint of any name. Unlike the other sections this is a litteral name, as in if you put in "Bob" it will place the joint of "Bob" on the tree without any prefix or sufix. This is incase you need some oddly named joint. I have not had to use this so far, but I figured it was a good thing to have "just incase".
List of Joints Box. This box basically shows all the joints you have on your tree currently in a running list.
Mode Box. This box is to allow you to switch between the various modes of the tool. When you switch the mode it will wipe out your current tree in favor of the base tree of that mode. The various modes have different s_ joint list to work with. Also the Armada modes don't support the Pattern and Color function on the s_ joints so those interface parts are disabled when in those modes.
Changes From Version 184.108.40.206 to 220.127.116.11
1. Minor interface layout changes and tab order/navigation correction.
2. Added About box to the Help menu.
Changes From Version 18.104.22.168a to 22.214.171.124
1. Fixed that the "Checkboxes" for the Tree View were missing.
2. The main tool window is now a fixed size as intended.
3. Fixed up "Tab" naviation, as in when you press the Tab key on your keyboard what is the "next item" it goes to.
4. Improved "Move Checked" function, it should now move "all" checked joints to the currently selected joint. It should also move them in the same order they started in rather than mixing them up.
Changes From Version 126.96.36.199a to 188.8.131.52a
1. Removed "crew#" joints from the initial tree. If you want to add them just do so from the s_ joint type.
2. Fleet Ops added the numerous "warpglowsprites" to the s_ joint type dropdown. Removed the crew# and sensor joint from the Fleet Ops tree as it seems they don't ever use them.
3. Added info to the Help window on the various interface bits and some basic usage info.
4. Can now add Mesh Group (And "Custom Named Joint(no Prefix)") names that are "unique" by "Capitalization" such as "m_R_logo" will no longer cause a duplicate if "m_r_logo" already exists. This is due to Legacy uses r_logo, R_logo, l_logo and L_logo as logo mesh names.
5. "Base Tree" joints now populate to the List of Joints box.
6. Selected Joint on Treeview now remains visibly selected when it looses focus.
7. The Root (first top level item on the Treeview) is now selected automatically on Startup or Clearing the tree to prevent errors when trying to add joints before selecting any initial joint.
8. Fix Loop if you answer "No" to the Auto Increment question when a duplicate joint name is found to be on the tree.
Changes From Version 184.108.40.206a to 220.127.116.11a
1. When changing the "Mode" box it will now ask if you want to switch modes or not. If you say yes it will preform a Clear Tree function to flush out the old modes tree. If you say no then it reverts back to the previous setting
Changes From Version 18.104.22.168a to 22.214.171.124a
1. Fixed "Increment" function for when duplicate joints are found for s_, e_, and h_ joints.
2. Added Crew1-Crew5, Crew16 and Sensor as options on the s_ joint list for the Armada games. These are fixed name joints, I don't know if they work with sufixes like _01 tagged to them.
3. The tool now saves the last used mode. So if you exit with it set to Armada it will reopen in Armada mode etc.
4. Added the Change Log that your reading.
5. Added file format check incase an improper file is selected for import. The "Legacy Joint Tool ASCII" that the tool imports is NOT the same as the "Milkshape 3D ASCII" file that it exports to.
Permissions / Notices:
This tool can be use to assist in modding Star Trek Legacy, Armada, Armada 2 etc.
This tool and these files are not supported by Maddoc or Bethesda Softworks, Activision etc or any other company and they are not responsible for any damages to your game etc (neither am I). As with all modtools you are using them at your own risk. The end user of the tool accepts responsibility for usage of the tools.
The Tool can not be distributed with any other package without obtaining permissions from myself (Muldrf).
The Tool exe must never be distributed without this readme.
Credits / Contact:
If problems are found with the tool you can contact me and I'll see what I can do to help. Also if you have feature requests let me know.
The Tool is coded by Muldrf
markenobrookstone AT hotmail DOT com
I also follow the Filefront forums for Legacy.