Printer-friendly copy
Top MechCommander MechCommander 2 topic #4767
View in linear mode

Subject: "Weapon Node Settings/Gesture, Speed Settings" Previous topic | Next topic
MechIISun Oct-16-05 11:32 AM
Member since Oct 16th 2005
25 posts
Click to send email to this author Click to send private message to this authorClick to view this author's profileClick to add this author to your buddy listClick to send message via AOL IM
"Weapon Node Settings/Gesture, Speed Settings"


          

I have a question for Magic: Im a veteran of mc2 multiplayer on the zone of both original and the wolfman expansions. Ive been looking at some of the files in the tgl folder and noticed that certain files have to do with what weapons can be fired from each location node that can be modified by a simple number change, to change how a mech fires its weapons. I also noticed that the gestures are linked to the leg animation speed of the new mechs.
The people in charge of making a new multiplayer wolfman version for us are wondering if mech speeds can be changed while the leg speed animation matches that speed? I tried copying and pasting "gestures" from one mech to another to see if it changes leg speed and real move speed and it seemed to do both but the leg move speed did not match the new real speed setting. For example an atlas moving its legs as fast as a firemoth but having only same 130 move speed instead of being much faster. I remember I tried something a year or so ago with possibly .csvs that changed only the move speed of the mech but not the leg speed, which was really funny, but I don't remember how I did that any more. Is it possible to make an all new speed and leg animation setting?
For the weapon nodes subject I was wondering how you chose the settings for each mech for the nodes? Did you follow more of a battletech setting, something more similar to original mc2 settings, or something new?

( we are discussing these issues mainly on the wolfman site and the groggatory.)

  

Alert Printer-friendly copy | Reply | Reply with quote | Top

Replies to this topic
Subject Author Message Date ID
RE: Weapon Node Settings/Gesture, Speed Settings
Jul 23rd 2007
1
RE: Weapon Node Settings/Gesture, Speed Settings
Aug 18th 2007
2
RE: Weapon Node Settings/Gesture, Speed Settings
Sep 10th 2007
3
RE: Weapon Node Settings/Gesture, Speed Settings
Sep 10th 2007
4
RE: Weapon Node Settings/Gesture, Speed Settings
Jul 01st 2008
5
      RE: Weapon Node Settings/Gesture, Speed Settings
Jul 01st 2008
6
           RE: Weapon Node Settings/Gesture, Speed Settings
Jul 03rd 2008
7

MechIIMon Jul-23-07 09:33 PM
Member since Oct 16th 2005
25 posts
Click to send email to this author Click to send private message to this authorClick to view this author's profileClick to add this author to your buddy listClick to send message via AOL IM
#1. "RE: Weapon Node Settings/Gesture, Speed Settings"
In response to Reply # 0


          

Hello, Ive been retired from mechcommander for over a year now. Ive been looking at the forums from time to time but i had not been playing. I decided to check out the mechcommander 2 source code in more detail for fun and i found out how to create or modify weapons node files.

I posted over a year ago about how i had figured out how to change weapon node settings in the .ini files to change which type of weapons are fired from which location on the mechs 5 weapon nodes, and how the gestures were linked to how the mechs moved.

Its been posted on the msdn forums that these .ini files convert .ase files using aseconv to .tgl and .agl files for use by mechcommander 2. Since we now have access to the .ase files for the original mechs I found that we can add or remove weapons locations by making new helperobjects for weapon_nodes. It is actually fairly simple to do.

Here is an example from a shayu.agl file and shayu.ini file before conversion of how you can add weapons locations. I added 2 new weapons locations called "weapon_upperlefttorso" and "weapon_upperrighttorso". 2 new helperobjects were added in the .ase file and 2 new weaponsnodes were added to the .ini file along with changing NumWeapon=5 to NumWeapon=7.....

.ASE FILE*

*HELPEROBJECT {
*NODE_NAME "weapon_rightarm"
*NODE_PARENT "sy_rgun"
*HELPER_CLASS "Site Object"
*NODE_TM {
*NODE_NAME "weapon_rightarm"
*INHERIT_POS 0 0 0
*INHERIT_ROT 0 0 0
*INHERIT_SCL 0 0 0
*TM_ROW0 1.0000 0.0000 0.0000
*TM_ROW1 0.0000 1.0000 0.0000
*TM_ROW2 0.0000 0.0000 1.0000
*TM_ROW3 -14.7967 -13.1849 23.9452
*TM_POS -14.7967 -13.1849 23.9452
*TM_ROTAXIS 0.0000 0.0000 0.0000
*TM_ROTANGLE 0.0000
*TM_SCALE 1.0000 1.0000 1.0000
*TM_SCALEAXIS 0.0000 0.0000 0.0000
*TM_SCALEAXISANG 0.0000
}
*BOUNDINGBOX_MIN -14.8067 -13.1949 23.9352
*BOUNDINGBOX_MAX -14.7867 -13.1749 23.9552
}
*HELPEROBJECT {
*NODE_NAME "weapon_leftarm"
*NODE_PARENT "sy_lgun"
*HELPER_CLASS "Site Object"
*NODE_TM {
*NODE_NAME "weapon_leftarm"
*INHERIT_POS 0 0 0
*INHERIT_ROT 0 0 0
*INHERIT_SCL 0 0 0
*TM_ROW0 1.0000 0.0000 0.0000
*TM_ROW1 0.0000 1.0000 0.0000
*TM_ROW2 0.0000 0.0000 1.0000
*TM_ROW3 14.7306 -13.0188 23.9452
*TM_POS 14.7306 -13.0188 23.9452
*TM_ROTAXIS 0.0000 0.0000 0.0000
*TM_ROTANGLE 0.0000
*TM_SCALE 1.0000 1.0000 1.0000
*TM_SCALEAXIS 0.0000 0.0000 0.0000
*TM_SCALEAXISANG 0.0000
}
*BOUNDINGBOX_MIN 14.7206 -13.0288 23.9352
*BOUNDINGBOX_MAX 14.7406 -13.0088 23.9552
*HELPEROBJECT {
*NODE_NAME "weapon_centertorso"
*NODE_PARENT "sy_torso"
*HELPER_CLASS "Site Object"
*NODE_TM {
*NODE_NAME "weapon_centertorso"
*INHERIT_POS 0 0 0
*INHERIT_ROT 0 0 0
*INHERIT_SCL 0 0 0
*TM_ROW0 1.0000 0.0000 0.0000
*TM_ROW1 0.0000 1.0000 0.0000
*TM_ROW2 0.0000 0.0000 1.0000
*TM_ROW3 -0.0000 -16.5105 25.9833
*TM_POS -0.0000 -16.5105 25.9833
*TM_ROTAXIS 0.0000 0.0000 0.0000
*TM_ROTANGLE 0.0000
*TM_SCALE 1.0000 1.0000 1.0000
*TM_SCALEAXIS 0.0000 0.0000 0.0000
*TM_SCALEAXISANG 0.0000
}
*BOUNDINGBOX_MIN -0.0100 -16.5205 25.9733
*BOUNDINGBOX_MAX 0.0100 -16.5005 25.9933
}
*HELPEROBJECT {
*NODE_NAME "weapon_righttorso"
*NODE_PARENT "sy_torso"
*HELPER_CLASS "Site Object"
*NODE_TM {
*NODE_NAME "weapon_righttorso"
*INHERIT_POS 0 0 0
*INHERIT_ROT 0 0 0
*INHERIT_SCL 0 0 0
*TM_ROW0 1.0000 0.0000 0.0000
*TM_ROW1 0.0000 1.0000 0.0000
*TM_ROW2 0.0000 0.0000 1.0000
*TM_ROW3 -4.6240 -5.5182 29.3932
*TM_POS -4.6240 -5.5182 29.3932
*TM_ROTAXIS 0.0000 0.0000 0.0000
*TM_ROTANGLE 0.0000
*TM_SCALE 1.0000 1.0000 1.0000
*TM_SCALEAXIS 0.0000 0.0000 0.0000
*TM_SCALEAXISANG 0.0000
}
*BOUNDINGBOX_MIN -4.6340 -5.5282 29.3832
*BOUNDINGBOX_MAX -4.6140 -5.5082 29.4032
}
*HELPEROBJECT {
*NODE_NAME "weapon_lefttorso"
*NODE_PARENT "sy_torso"
*HELPER_CLASS "Site Object"
*NODE_TM {
*NODE_NAME "weapon_lefttorso"
*INHERIT_POS 0 0 0
*INHERIT_ROT 0 0 0
*INHERIT_SCL 0 0 0
*TM_ROW0 1.0000 0.0000 0.0000
*TM_ROW1 0.0000 1.0000 0.0000
*TM_ROW2 0.0000 0.0000 1.0000
*TM_ROW3 4.6275 -5.5182 29.4442
*TM_POS 4.6275 -5.5182 29.4442
*TM_ROTAXIS 0.0000 0.0000 0.0000
*TM_ROTANGLE 0.0000
*TM_SCALE 1.0000 1.0000 1.0000
*TM_SCALEAXIS 0.0000 0.0000 0.0000
*TM_SCALEAXISANG 0.0000
}
*BOUNDINGBOX_MIN 4.6175 -5.5282 29.4342
*BOUNDINGBOX_MAX 4.6375 -5.5082 29.4542
}
*HELPEROBJECT {
*NODE_NAME "weapon_upperlefttorso"
*NODE_PARENT "sy_torso"
*HELPER_CLASS "Site Object"
*NODE_TM {
*NODE_NAME "weapon_upperlefttorso"
*INHERIT_POS 0 0 0
*INHERIT_ROT 0 0 0
*INHERIT_SCL 0 0 0
*TM_ROW0 1.0000 0.0000 0.0000
*TM_ROW1 0.0000 1.0000 0.0000
*TM_ROW2 0.0000 0.0000 1.0000
*TM_ROW3 4.6275 -5.5182 39.4442
*TM_POS 4.6275 -5.5182 39.4442
*TM_ROTAXIS 0.0000 0.0000 0.0000
*TM_ROTANGLE 0.0000
*TM_SCALE 1.0000 1.0000 1.0000
*TM_SCALEAXIS 0.0000 0.0000 0.0000
*TM_SCALEAXISANG 0.0000
}
*BOUNDINGBOX_MIN 4.6175 -5.5282 39.4342
*BOUNDINGBOX_MAX 4.6375 -5.5082 39.4542

*HELPEROBJECT {
*NODE_NAME "weapon_upperrighttorso"
*NODE_PARENT "sy_torso"
*HELPER_CLASS "Site Object"
*NODE_TM {
*NODE_NAME "weapon_upperrighttorso"
*INHERIT_POS 0 0 0
*INHERIT_ROT 0 0 0
*INHERIT_SCL 0 0 0
*TM_ROW0 1.0000 0.0000 0.0000
*TM_ROW1 0.0000 1.0000 0.0000
*TM_ROW2 0.0000 0.0000 1.0000
*TM_ROW3 -4.6240 -5.5182 39.3932
*TM_POS -4.6240 -5.5182 39.3932
*TM_ROTAXIS 0.0000 0.0000 0.0000
*TM_ROTANGLE 0.0000
*TM_SCALE 1.0000 1.0000 1.0000
*TM_SCALEAXIS 0.0000 0.0000 0.0000
*TM_SCALEAXISANG 0.0000
}
*BOUNDINGBOX_MIN -4.6340 -5.5282 39.3832
*BOUNDINGBOX_MAX -4.6140 -5.5082 39.4032


.INI FILE*

FITini


st FileName0 = "Shayu"
f Distance0 = 0.0

st FileName1 = "ShayuL1"
f Distance1 = 1500.0

st ShadowName="ShayuX"


l UpperLeftX=-40
l UpperLeftY=-40
l LowerRightX=40
l LowerRightY=40


l NumSmoke = 1
l NumJumpJet = 1
l NumWeapon = 7
l NumFeet = 2


st SmokeNodeName = "smoke_lcenter"


st JumpNodeName = "jumpjet_rearbody"


st FootNodeName = "dust_rfoot"


st FootNodeName = "dust_lfoot"

// WEAPON TYPES
// 0 - ANY Weapon
// 1 - Missile weapon
// 2 - Ballistic Weapon
// 3 - Non-Energy Weapon
// 4 - Energy Weapon
// 5 - Direct-Fire Weapon
// NOTES:
// Each mech MUST have a place for each kind of weapon to fire.
// I.e. There must be at least one zero OR at least a 3 and 4 OR at least a 1, 2 and 4 or its an ERROR!!!!!!!!


st WeaponNodeName = "weapon_rightarm"
l WeaponType = 5


st WeaponNodeName = "weapon_leftarm"
l WeaponType = 5


st WeaponNodeName = "weapon_righttorso"
l WeaponType = 0


st WeaponNodeName = "weapon_centertorso"
l WeaponType = 5


st WeaponNodeName = "weapon_lefttorso"
l WeaponType = 0


st WeaponNodeName = "weapon_upperlefttorso"
l WeaponType = 5


st WeaponNodeName = "weapon_upperrighttorso"
l WeaponType = 5




Modifying *TM_ROW3 ,*TM_POS , and *BOUNDINGBOX_MIN and *BOUNDINGBOX_MAX modifies the graphic location of where the weapons fire from. The third number in the list- EXAMPLE= *TM_POS -14.7967 -13.1849 23.9452 chooses the height of the weapon graphic and so this number is most important for changing firing locations.


I probably should have looked at this the day the source code came out but the game was almost dead on multiplayer even back then. If only we had this information back when the game came out, we could have used this to allow for many more modifications to mechs.

However I have only tried a few mechs so far and its possible there could be hidden errors by doing this but i havnt found any yet so far. Though i just figured this out in the last 3 days

  

Alert Printer-friendly copy | Reply | Reply with quote | Top

    
MechIISat Aug-18-07 04:02 PM
Member since Oct 16th 2005
25 posts
Click to send email to this author Click to send private message to this authorClick to view this author's profileClick to add this author to your buddy listClick to send message via AOL IM
#2. "RE: Weapon Node Settings/Gesture, Speed Settings"
In response to Reply # 1


          

Check the wolfman forum for more information about progress in this area.

Ive got a working atlas with 17 weapon node locations including 4 on each arm and 3 on each torso area.

Many more files than just the atlas.ase file are needed. The list so far is atlas.ase, atlasx.ase, atlasl1.ase, atlasrightarm.ase,atlasleftarm.ase, atlas.ini,atlasrightarm.ini,and atlasleftarm.ini.

Node information has to be listed in most or all of these files.

Im also looking to see if jumpspeed and jump range can be changed. I havnt seen anything yet in the mc2sourcecode about how to do this.

MC Gold on the other hand has a file called sprites.pak that has this information about modifying jump stats.


st Name = "thor"
ul HeapSize = 4095
ul legFileNumber = 5;
ul torsoFileNumber = 5;
ul rightArmFileNumber = 5;
ul leftArmFileNumber = 5;


uc NumParts = 4
st PartAbbrev = "btlr"


f fb_d_xlat = 2.0 //Velocity along i mech assumes at start of animation.
ul jumpAirborne = 9 //Frame at which mech leaves the ground.
ul jumpHold = 23 //Frame to hold at until mech gets back to landing altitude.
f jumpStartLandTime = 0.86667 //Time at which to continue jump animation.
f jumpMaxDistance = 300.0 //in m Used to calculate velocity by jumpMaxDistance / 10.0(s)
f jumpGravity = 9.8 //Acceleration of gravity. Used to determine height of parabola.
f jumpStartVel = -5.0 //Startup Velocity in jump gesture.
ul r_fb_w_fb_frame = 10 //Once r_fb gesture is complete, which frames do we need fom w_fb
ul r_ff_w_ff_frame = 16 //Once r_ff gesture is complete, which frames do we need fom w_ff
ul s_fb_w_fb_frame = 16 //Once S_fb gesture is complete, which frames do we need fom w_fb
ul s_ff_w_ff_frame = 16 //Once S_ff gesture is complete, which frames do we need fom w_ff
ul walk_to_w_r_frame = 10 //If going to w_r, what frame do we transition on in walk.
ul run_to_r_w_frame = 9 //If going to r_w, what frame do we transition on in run.
ul runToGunPose = 1



  

Alert Printer-friendly copy | Reply | Reply with quote | Top

MechIIMon Sep-10-07 08:02 PM
Member since Oct 16th 2005
25 posts
Click to send email to this author Click to send private message to this authorClick to view this author's profileClick to add this author to your buddy listClick to send message via AOL IM
#3. "RE: Weapon Node Settings/Gesture, Speed Settings"
In response to Reply # 0


          

3ds max 9 can be used to make exact coordinates using most of the helper object choices. .Ase files have to be converted to .max I believe before 3ds max can be used for this. Right Hemisphere Deep Exploration 5 can convert .ase back to .max one file at a time.

The export format back to .ase is different probably because 3ds max 9 is many generations beyond the 3ds max used to create the mech's for mc2. Mechcommander 2 can still convert these new .ase files to .tgl and .agl for use by the game. The helper objects do not have to be called "site object" they can be "dummy" "point" or "expose transform' so far, and still be read by the game.

This change is honestly not really that difficult. It is all guess and check using hex editor, or simply place the helper objects on any location on the mech in 3ds max. I may have made it look difficult by all those references in the .ase and .ini files but I copied alot of information and simply changed a few numbers...

If you check out those files in the source code from microsoft, this may be alot easier to understand. They are located in the TGL folder of the shared source release. C:\mechcommander2 source\source\data\tgl

  

Alert Printer-friendly copy | Reply | Reply with quote | Top

MechIIMon Sep-10-07 08:04 PM
Member since Oct 16th 2005
25 posts
Click to send email to this author Click to send private message to this authorClick to view this author's profileClick to add this author to your buddy listClick to send message via AOL IM
#4. "RE: Weapon Node Settings/Gesture, Speed Settings"
In response to Reply # 0


          

Apparently deep exploration 5 cannot read some geometry objects and all the site object and bone helper objects.... I Still can make exact weapon node locations using dummy helper object in 3ds max 9 and just copy it to the original .ase to get exact coordinates...

I may need an .ase importer plugin that works with 3ds max 9. All the .ase importers only seem to work with 3ds max 4 through 6.

Why is it that microsoft gave out a source code with mech files in an exported format instead of their original .max format? Having both the .max and .ase formats of the mechs would be much more helpful...

I was able to delete from the arms of the atlas those little weapon housing triangles very easily in 3ds max 9. I imported in mcl_mc_er ppc weapons and placed them on the arms and merged with the arms but it was not able to read the art for the weapons yet. The .ase format did not work right because of improper conversion through deep exploration 5.

The mcl_mc weapons are much more detailed than the actual mechs, and adding in 2 er ppcs onto the arms of the atlas made the .ase export over twice as large. The mech meshes are relatively simple polygons. I'm not sure if the game will be able to read so much geometry information, it probably has a limit.

I may be able to copy the geomobject of the er ppcs into the original .ase file to get the mech to work right, but still got to get the art to be read in the 128 folder...

If this works it is possible to make several versions of mechs with visible arm weapons, such as an atlas with 2 er ppcs version, 2 gauss version, etc. Since this would be read as all new mechs, this kind of change would most likely need a new recompiled mechcommander2 with more than 128 mech limit, and a ton of .ase and .csv files...

I will probably look into that torso twist issue again soon, been looking all over the source code lately and distracted with other things.

Ok I found out how to add these mcl_mc weapons to mechs visually. Create and connect them them within 3ds max to the arms, export to the .ase format that doesnt work correctly, then copy the geomobject of the weapons to the original mech .ase file.

On the atlas delete the triangle weapon housings on the arms then place whatever weapons on the arms you want, and link to the Joint_gun geomobject in 3ds max. Export to .ase then copy the new joint_gun geomobject to the original atlas.ase file in place of the a_gun geomobject for both arms. Rename the joint_gun to a_gun and rename parent to joint_gun and it works!!

The weapons have to be scaled correctly but can be placed on sides of torso as well i believe in 3ds max.

Ok I finally figured out part of the torso twist problem. It does not seem to have anything to do with animation files... It looks to be a problem with making variants in game... When I put the new mod in by .csv it worked perfectly with the weapons all firing with the torso twist...

Apparently when mods are made in a .var file they have this torso twist problem... This may be able to be fixed but I don't know how yet..

I got an atlas.ase, atlas.ini, and atlas.csv with 2 short range mods made in .csv. 11 laser atlas and a more fitting 7 laser and 4 ssrm atlas. More .csv variants can be made.

I can make a .csv to match the ppcs placed on the atlas arms in the .ase file. I believe for every atlas with dif arm placed or side torso placed mcl_mc weapons there needs to be a .csv file, .tgl file,.agl file,.ini file, and references in purchase files...

Weapon nodes cannot be deleted without mech problems in the .ini file. However the numbers or the locations of the each weapon node reference can be changed or moved around.

  

Alert Printer-friendly copy | Reply | Reply with quote | Top

    
Digital UtopiaTue Jul-01-08 05:00 PM
Member since Jul 01st 2008
2 posts
Click to send email to this author Click to send private message to this authorClick to view this author's profileClick to add this author to your buddy list
#5. "RE: Weapon Node Settings/Gesture, Speed Settings"
In response to Reply # 4
Tue Jul-01-08 05:03 PM by Digital Utopia

          

Hi, I just came across this site via google while trying to get some info. After just downloading the MC2 source recently, I decided that since I was unable to find a suitable script and using 3rd party apps tends to degrade the source data, I was going to take it upon myself to create a MAXscript for importing MC2 .ase files into Max 7.

Considering that this decision was made without any previous knowledge of MAXscript, I'm pretty happy with how quickly I was able to not only learn the language, but also how well I managed to reverse engineer the .ase format.

I've gauged my success so far based on exporting my imported mesh back to .ase, and comparing it to the original. Below is a brief rundown of what I've got accomplished so far

- all mesh data, UVs, CVs, smoothing groups and material ids

- normals are about as accurate as possible..some of the numbers are a couple of thousandths off due to the fact that floats are limited to 4 places to the right of the decimal - but it shouldn't matter

- hierarchy with accurate bone helpers

- material data was (so far) successfully reverse engineered to match both the material and map properties

I still have a couple of things left to do before I can test it on all mc2 .ase files

- animation data still needs to be imported. I've managed to figure out how it relates in the .ase file, I just need to learn the MAXscript to import and apply it.

- although it's possible to use dummies in the place of "site objects", I'd like to dig around some more to see if I can't get it completely accurate

- quite possibly a few bugs as I widen my scope from just my test mesh on to the rest of the meshes. mostly subject to dummy sizes, and material value conversions

anyway...enough babling here's a screenshot of what I have so far

  

Alert Printer-friendly copy | Reply | Reply with quote | Top

        
wolfmanTue Jul-01-08 11:25 PM
Member since Apr 15th 2003
351 posts
Click to send email to this author Click to send private message to this authorClick to view this author's profileClick to add this author to your buddy list
#6. "RE: Weapon Node Settings/Gesture, Speed Settings"
In response to Reply # 5


  

          

I am interested to use that tool once it is finished in case you consider to make it available.

check out wolfman's missions and wolfman's forum at
http://s2.invisionfree.com/wolfman_x_forum/index.php

  

Alert Printer-friendly copy | Reply | Reply with quote | Top

            
Digital UtopiaThu Jul-03-08 04:04 AM
Member since Jul 01st 2008
2 posts
Click to send email to this author Click to send private message to this authorClick to view this author's profileClick to add this author to your buddy list
#7. "RE: Weapon Node Settings/Gesture, Speed Settings"
In response to Reply # 6


          

Oh of course I'll make it available when I get it finished. No sense to just keep it for myself lol

As of now, I've officially gotten non-animation mech .ase files to import so that when exported, they match almost exactly. the only differences are:

- for some reason the first INHERIT_POS flag won't set...everything else does (this obviously only affects objects that have their position flags set i.e. not 0)

- as mentioned before, normals will be a couple thousandths off due to the inaccuracies of 4 decimal places

- site objects are dummies (couldn't find a site object helper...probably a special helper plugin that microsoft used)

- former site objects' y coord for BOUNDINGBOX_MAX and BOUNDINGBOX_MIN are flipped. Since nothing else is affected this way, the object's size is the same and the rest of the transformations are right on, I figure this has to do with whatever the difference between dummy and site object.

and that's it...in other words there's probably no way to make it any more accurate than it is right now.

the next step is working on animated .ase files and then trying various other mc2 .ase files. I know at this point vehicles aren't loading - but I'm sure that once I take a look at those files I'll figure out the problem pretty quickly (the script is probably looking for a line that vehicle .ase files don't have)

That's it for now, I'll give updates as they happen .

  

Alert Printer-friendly copy | Reply | Reply with quote | Top

Top MechCommander MechCommander 2 topic #4767 Previous topic | Next topic
Powered by DCForum+ Version 1.27
Copyright 1997-2005 DCScripts.com