niftools / nifxml

A repository for the nif.xml file, which contains the nif file format description.
http://www.niftools.org
GNU General Public License v3.0
37 stars 43 forks source link

Fallout3 havok materials #13

Closed ttl269 closed 10 years ago

ttl269 commented 11 years ago

Added complete list of havok materials for Fallout3. Material definitions are stored in bits 0-4, bit 5 is flag "PLATFORM" and bit 6 is flag "STAIRS". Nifskope unfortunately is not able to edit some bit range as dropdown menu and other bits as "tickable" selection in one byte. So, in Fallout3HavokMaterial enum there is defined all 127 combinations. @skyfox @throttlekitty @nexustheru @amorilia @neomonkeus

neomonkeus commented 11 years ago

Looks fine functionality wise, but maintaining these type list in the long run is going to be a pain. Need to think about variable bit length. This also reduces conditioning effectiveness as this is creating per-version block in a way.

Ghostwalker71 commented 10 years ago

I agree with neomonkeus in part, we can use conditions to catch the platform and stairs designations. As for the naming structure. . I agree that the items need to be in a separate block so that the imported material name makes logical sense to the user, but can we remove the preceding game designations. so no matter which list is used the name is still MAT_STONE, rather than FAL_MAT_STONE, SKY_MAT_STONE, OL_MAT_STONE. It's a simple enough matter to use the user version and user version 2 values to direct the code to the correct block. This would make it much easier for modders to build assets for multiple games without the need to constantly duplicate the model or switch the materials every time they export their meshes.

ttl269 commented 10 years ago

Agree with your suggestions. So, I will close this pull request and delete that branch. Then I will start a new one with updated of all havok material names + added Fallout specific names (only basic 31 materials; function of bit 5 and 6 will be mentioned in description). So, I am going to press this "Close & Comment" button… :)