-
Notifications
You must be signed in to change notification settings - Fork 16
/
nif.xml
5910 lines (5195 loc) · 369 KB
/
nif.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE niftoolsxml>
<niftoolsxml version="0.7.0.0">
<!--These are the version numbers marked as supported by NifSkope.
The num argument is the numeric representation created by storing
each part of the version in a byte. For example, 4.0.0.2 is
0x04000002 and 10.1.0.0 is 0x0A010000.-->
<version num="2.3">Dark Age of Camelot</version>
<version num="3.0">Star Trek: Bridge Commander</version>
<version num="3.03">Dark Age of Camelot</version>
<version num="3.1">Dark Age of Camelot, Star Trek: Bridge Commander</version>
<version num="3.3.0.13">Oblivion</version>
<version num="4.0.0.0">Freedom Force</version>
<version num="4.0.0.2">Morrowind, Freedom Force</version>
<version num="4.1.0.12">Dark Age of Camelot</version>
<version num="4.2.0.2">Civilization IV</version>
<version num="4.2.1.0">Dark Age of Camelot, Civilization IV</version>
<version num="4.2.2.0">Dark Age of Camelot, Civilization IV, Empire Earth II, Culpa Innata</version>
<version num="10.0.1.0">Zoo Tycoon 2, Civilization IV, Oblivion</version>
<version num="10.0.1.2">Oblivion</version>
<version num="10.0.1.3">?</version>
<version num="10.1.0.0">Dark Age of Camelot, Civilization IV, Freedom Force vs. the 3rd Reich, Axis and Allies, Kohan 2, Entropia Universe, Wildlife Park 2, The Guild 2, NeoSteam, Empire Earth II</version>
<version num="10.1.0.101">Oblivion</version>
<version num="10.1.0.106">Oblivion</version>
<version num="10.2.0.0">Civilization IV, Oblivion, Loki, Pro Cycling Manager, Prison Tycoon, Red Ocean, Wildlife Park 2</version>
<version num="10.2.0.1">Worldshift</version>
<version num="10.4.0.1">Worldshift</version>
<version num="20.0.0.4">Civilization IV, Oblivion, Sid Meier's Railroads</version>
<version num="20.0.0.5">Oblivion</version>
<version num="20.1.0.3">Megami Tensei: Imagine</version>
<version num="20.2.0.7">Emerge, Empire Earth III, Fallout 3, Skyrim</version>
<version num="20.2.0.8">Emerge, Empire Earth III, Atlantica</version>
<!-- version 20.3.0.1 is found in Props/GDCLargeContainer.nif-->
<version num="20.3.0.1">Emerge</version>
<!-- version 20.3.0.2 is found in PFX/fx_muzzle_flash_example.nif -->
<version num="20.3.0.2">Emerge</version>
<version num="20.3.0.3">Emerge</version>
<version num="20.3.0.6">Emerge</version>
<version num="20.3.0.9">Warhammer, Lazeska, Divinity 2, Howling Sword, Bully SE</version>
<version num="20.5.0.0">KrazyRain</version>
<version num="20.6.0.0">KrazyRain</version>
<version num="20.6.5.0">Epic Mickey</version>
<version num="30.0.0.2">Emerge</version>
<!--Basic Types-->
<basic name="bool" count="1" niflibtype="bool" nifskopetype="bool">
A boolean; 32-bit from 4.0.0.2, and 8-bit from 4.1.0.1 on.
</basic>
<basic name="byte" count="1" niflibtype="byte" nifskopetype="byte">
An unsigned 8-bit integer.
</basic>
<basic name="uint" count="1" niflibtype="unsigned int" nifskopetype="uint">
An unsigned 32-bit integer.
</basic>
<basic name="ulittle32" count="1" niflibtype="unsigned int" nifskopetype="uint">
A litte-endian unsigned 32-bit integer.
</basic>
<basic name="ushort" count="1" niflibtype="unsigned short" nifskopetype="ushort">
An unsigned 16-bit integer.
</basic>
<basic name="int" count="1" niflibtype="int" nifskopetype="int">
A signed 32-bit integer.
</basic>
<basic name="short" count="1" niflibtype="short" nifskopetype="short">
A signed 16-bit integer.
</basic>
<basic name="BlockTypeIndex" count="0" niflibtype="unsigned short" nifskopetype="blocktypeindex">
A 16-bit (signed?) integer, which is used in the header to refer to a particular object type in a object type string array.
The upper bit appears to be a flag used for PhysX block types.
</basic>
<basic name="char" count="0" niflibtype="byte" nifskopetype="char">
An 8-bit character.
</basic>
<basic name="FileVersion" count="0" niflibtype="unsigned int" nifskopetype="fileversion">
A 32-bit integer that stores the version in hexadecimal format with each byte representing a number in the version string.
Some widely-used versions and their hex representation:
4.0.0.2: 0x04000002
4.1.0.12: 0x0401000C
4.2.0.2: 0x04020002
4.2.1.0: 0x04020100
4.2.2.0: 0x04020200
10.0.1.0: 0x0A000100
10.1.0.0: 0x0A010000
10.2.0.0: 0x0A020000
20.0.0.4: 0x14000004
20.0.0.5: 0x14000005
</basic>
<basic name="Flags" count="0" niflibtype="unsigned short" nifskopetype="flags">
A 16-bit integer, used for bit flags. Function varies by object type.
</basic>
<basic name="float" count="0" niflibtype="float" nifskopetype="float">
A standard 32-bit floating point number.
</basic>
<basic name="HeaderString" count="0" niflibtype="HeaderString" nifskopetype="headerstring">
A variable length string that ends with a newline character (0x0A). The string starts as follows depending on the version:
Version <= 10.0.1.0: 'NetImmerse File Format'
Version >= 10.1.0.0: 'Gamebryo File Format'
</basic>
<basic name="LineString" count="0" niflibtype="LineString" nifskopetype="linestring">
A variable length string that ends with a newline character (0x0A).
</basic>
<basic name="Ptr" count="0" niflibtype="*" nifskopetype="uplink" istemplate="1">
A signed 32-bit integer, referring to a object before this one in the hierarchy. Examples: Bones, gravity objects.
</basic>
<basic name="Ref" count="0" niflibtype="Ref" nifskopetype="link" istemplate="1">
A signed 32-bit integer, used to refer to another object; -1 means no reference. These should always point down the hierarchy. Other types are used for indexes that point to objects higher up.
</basic>
<basic name="StringOffset" count="0" niflibtype="unsigned int" nifskopetype="stringoffset">
A 32-bit unsigned integer, used to refer to strings in a NiStringPalette.
</basic>
<basic name="StringIndex" count="0" niflibtype="IndexString" nifskopetype="stringindex">
A 32-bit unsigned integer, used to refer to strings in the header.
</basic>
<!--Enumerations
These are like C enums and consist of a list of options. They can appear
as parts of compounds or niobjects.-->
<enum name="AlphaFormat" storage="uint">
An unsigned 32-bit integer, describing how transparency is handled in a texture.
<option value="0" name="ALPHA_NONE">No alpha blending; the texture is fully opaque.</option>
<option value="1" name="ALPHA_BINARY">Texture is either fully transparent or fully opaque. There are no partially transparent areas.</option>
<option value="2" name="ALPHA_SMOOTH">Full range of alpha values can be used from fully transparent to fully opaque including all partially transparent values in between.</option>
<option value="3" name="ALPHA_DEFAULT">Use default setting.</option>
</enum>
<enum name="ApplyMode" storage="uint">
An unsigned 32-bit integer, describing the apply mode of a texture.
<option value="0" name="APPLY_REPLACE">Replaces existing color</option>
<option value="1" name="APPLY_DECAL">For placing images on the object like stickers.</option>
<option value="2" name="APPLY_MODULATE">Modulates existing color. (Default)</option>
<option value="3" name="APPLY_HILIGHT">PS2 Only. Function Unknown.</option>
<option value="4" name="APPLY_HILIGHT2">Parallax Flag in some Oblivion meshes.</option>
</enum>
<enum name="TexType" storage="uint">
The type of texture.
<option value="0" name="BASE_MAP">The basic texture used by most meshes.</option>
<option value="1" name="DARK_MAP">Used to darken the model with false lighting.</option>
<option value="2" name="DETAIL_MAP">Combined with base map for added detail. Usually tiled over the mesh many times for close-up view.</option>
<option value="3" name="GLOSS_MAP">Allows the specularity (glossyness) of an object to differ across its surface.</option>
<option value="4" name="GLOW_MAP">Creates a glowing effect. Basically an incandescence map.</option>
<option value="5" name="BUMP_MAP">Used to make the object appear to have more detail than it really does.</option>
<option value="6" name="NORMAL_MAP">Used to make the object appear to have more detail than it really does.</option>
<option value="7" name="UNKNOWN2_MAP">Unknown map.</option>
<option value="8" name="DECAL_0_MAP">For placing images on the object like stickers.</option>
<option value="9" name="DECAL_1_MAP">For placing images on the object like stickers.</option>
<option value="10" name="DECAL_2_MAP">For placing images on the object like stickers.</option>
<option value="11" name="DECAL_3_MAP">For placing images on the object like stickers.</option>
</enum>
<enum name="KeyType" storage="uint">
The type of animation interpolation (blending) that will be used on the associated key frames.
<option value="1" name="LINEAR_KEY">Use linear interpolation.</option>
<option value="2" name="QUADRATIC_KEY">Use quadratic interpolation. Forward and back tangents will be stored.</option>
<option value="3" name="TBC_KEY">Use Tension Bias Continuity interpolation. Tension, bias, and continuity will be stored.</option>
<option value="4" name="XYZ_ROTATION_KEY">For use only with rotation data. Separate X, Y, and Z keys will be stored instead of using quaternions.</option>
<option value="5" name="CONST_KEY">Step function. Used for visibility keys in NiBoolData.</option>
</enum>
<enum name="LightMode" storage="uint">
An unsigned 32-bit integer, describing how vertex colors influence lighting.
<option value="0" name="LIGHT_MODE_EMISSIVE">Emissive.</option>
<option value="1" name="LIGHT_MODE_EMI_AMB_DIF">Emissive + Ambient + Diffuse. (Default)</option>
</enum>
<enum name="HavokMaterial" storage="uint">
A material, used by havok shape objects.
<option value="0" name="HAV_MAT_STONE">Stone</option>
<option value="1" name="HAV_MAT_CLOTH">Cloth</option>
<option value="2" name="HAV_MAT_DIRT">Dirt</option>
<option value="3" name="HAV_MAT_GLASS">Glass</option>
<option value="4" name="HAV_MAT_GRASS">Grass</option>
<option value="5" name="HAV_MAT_METAL">Metal</option>
<option value="6" name="HAV_MAT_ORGANIC">Organic</option>
<option value="7" name="HAV_MAT_SKIN">Skin</option>
<option value="8" name="HAV_MAT_WATER">Water</option>
<option value="9" name="HAV_MAT_WOOD">Wood</option>
<option value="10" name="HAV_MAT_HEAVY_STONE">Heavy Stone</option>
<option value="11" name="HAV_MAT_HEAVY_METAL">Heavy Metal</option>
<option value="12" name="HAV_MAT_HEAVY_WOOD">Heavy Wood</option>
<option value="13" name="HAV_MAT_CHAIN">Chain</option>
<option value="14" name="HAV_MAT_SNOW">Snow</option>
<option value="15" name="HAV_MAT_STONE_STAIRS">Stone Stairs</option>
<option value="16" name="HAV_MAT_CLOTH_STAIRS">Cloth Stairs</option>
<option value="17" name="HAV_MAT_DIRT_STAIRS">Dirt Stairs</option>
<option value="18" name="HAV_MAT_GLASS_STAIRS">Glass Stairs</option>
<option value="19" name="HAV_MAT_GRASS_STAIRS">Grass Stairs</option>
<option value="20" name="HAV_MAT_METAL_STAIRS">Metal Stairs</option>
<option value="21" name="HAV_MAT_ORGANIC_STAIRS">Organic Stairs</option>
<option value="22" name="HAV_MAT_SKIN_STAIRS">Skin Stairs</option>
<option value="23" name="HAV_MAT_WATER_STAIRS">Water Stairs</option>
<option value="24" name="HAV_MAT_WOOD_STAIRS">Wood Stairs</option>
<option value="25" name="HAV_MAT_HEAVY_STONE_STAIRS">Heavy Stone Stairs</option>
<option value="26" name="HAV_MAT_HEAVY_METAL_STAIRS">Heavy Metal Stairs</option>
<option value="27" name="HAV_MAT_HEAVY_WOOD_STAIRS">Heavy Wood Stairs</option>
<option value="28" name="HAV_MAT_CHAIN_STAIRS">Chain Stairs</option>
<option value="29" name="HAV_MAT_SNOW_STAIRS">Snow Stairs</option>
<option value="30" name="HAV_MAT_ELEVATOR">Elevator</option>
<option value="31" name="HAV_MAT_RUBBER">Rubber</option>
</enum>
<enum name="SkyrimHavokMaterial" storage="uint">
<option value="365420259" name="SKY_HAV_MAT_LIGHT_WOOD">Light Wood</option>
<option value="131151687" name="SKY_HAV_MAT_BROKEN_STONE">Broken Stone</option>
<option value="398949039" name="SKY_HAV_MAT_SNOW">Snow</option>
<option value="428587608" name="SKY_HAV_MAT_GRAVEL">Gravel</option>
<option value="438912228" name="SKY_HAV_MAT_MATERIAL_CHAIN_METAL">Material Chain Metal</option>
<option value="500811281" name="SKY_HAV_MAT_WOOD">Wood</option>
<option value="591247106" name="SKY_HAV_MAT_SKIN">Skin</option>
<option value="732141076" name="SKY_HAV_MAT_BARREL">Barrel</option>
<option value="781661019" name="SKY_HAV_MAT_MATERIAL_CERAMIC_MEDIUM">Material Ceramic Medium</option>
<option value="790784366" name="SKY_HAV_MAT_MATERIAL_BASKET">Material Basket</option>
<option value="873356572" name="SKY_HAV_MAT_ICE">Ice</option>
<option value="899511101" name="SKY_HAV_MAT_STAIRS_STONE">Stairs Stone</option>
<option value="1060167844" name="SKY_HAV_MAT_MATERIAL_BLADE_1HAND">Material Blade 1 Hand</option>
<option value="1024582599" name="SKY_HAV_MAT_WATER">Water</option>
<option value="1028101969" name="SKY_HAV_MAT_UNKNOWN_1028101969">Unknown in Creation Kit v1.6.89.0. Found in actors\draugr\character assets\skeletons.nif.</option>
<option value="1264672850" name="SKY_HAV_MAT_MATERIAL_BOOK">Material Book</option>
<option value="1288358971" name="SKY_HAV_MAT_SOLID_METAL">Solid Metal</option>
<option value="1305674443" name="SKY_HAV_MAT_MATERIAL_AXE_1HAND">Material Axe 1Hand</option>
<option value="1440721808" name="SKY_HAV_MAT_UNKNOWN_1440721808">Unknown in Creation Kit v1.6.89.0. Found in armor\draugr\draugrbootsfemale_go.nif or armor\amuletsandrings\amuletgnd.nif.</option>
<option value="1461712277" name="SKY_HAV_MAT_STAIRS_WOOD">Stairs Wood</option>
<option value="1486385281" name="SKY_HAV_MAT_MUD">Mud</option>
<option value="1560365355" name="SKY_HAV_MAT_STAIRS_SNOW">Stairs Snow</option>
<option value="1574477864" name="SKY_HAV_MAT_UNKNOWN_1574477864">Unknown in Creation Kit v1.6.89.0. Found in actors\dragon\character assets\skeleton.nif.</option>
<option value="1591009235" name="SKY_HAV_MAT_UNKNOWN_1591009235">Unknown in Creation Kit v1.6.89.0. Found in trap objects or clutter\displaycases\displaycaselgangled01.nif or actors\deer\character assets\skeleton.nif.</option>
<option value="1607128641" name="SKY_HAV_MAT_MATERIAL_BOWS_STAVES">Material Bows Staves</option>
<option value="1803571212" name="SKY_HAV_MAT_MATERIAL_WOOD_AS_STAIRS">Material Wood As Stairs</option>
<option value="1848600814" name="SKY_HAV_MAT_GRASS">Grass</option>
<option value="1885326971" name="SKY_HAV_MAT_MATERIAL_BOULDER_LARGE">Material Boulder Large</option>
<option value="1886078335" name="SKY_HAV_MAT_MATERIAL_STONE_AS_STAIRS">Material Stone As Stairs</option>
<option value="2022742644" name="SKY_HAV_MAT_MATERIAL_BLADE_2HAND">Material Blade 2Hand</option>
<option value="2025794648" name="SKY_HAV_MAT_MATERIAL_BOTTLE_SMALL">Material Bottle Small</option>
<option value="2168343821" name="SKY_HAV_MAT_SAND">Sand</option>
<option value="2229413539" name="SKY_HAV_MAT_HEAVY_METAL">Heavy Metal</option>
<option value="2518321175" name="SKY_HAV_MAT_DRAGON">Dragon</option>
<option value="2617944780" name="SKY_HAV_MAT_MATERIAL_BLADE_1HAND_SMALL">Material Blade 1Hand Small</option>
<option value="2632367422" name="SKY_HAV_MAT_MATERIAL_SKIN_SMALL">Material Skin Small</option>
<option value="2892392795" name="SKY_HAV_MAT_STAIRS_BROKEN_STONE">Stairs Broken Stone</option>
<option value="2965929619" name="SKY_HAV_MAT_MATERIAL_SKIN_LARGE">Material Skin Large</option>
<option value="2974920155" name="SKY_HAV_MAT_ORGANIC">Organic</option>
<option value="3049421844" name="SKY_HAV_MAT_MATERIAL_BONE">Material Bone</option>
<option value="3070783559" name="SKY_HAV_MAT_HEAVY_WOOD">Heavy Wood</option>
<option value="3074114406" name="SKY_HAV_MAT_MATERIAL_CHAIN">Material Chain</option>
<option value="3106094762" name="SKY_HAV_MAT_DIRT">Dirt</option>
<option value="3424720541" name="SKY_HAV_MAT_MATERIAL_ARMOR_LIGHT">Material Armor Light</option>
<option value="3448167928" name="SKY_HAV_MAT_MATERIAL_SHIELD_LIGHT">Material Shield Light</option>
<option value="3589100606" name="SKY_HAV_MAT_MATERIAL_COIN">Material Coin</option>
<option value="3702389584" name="SKY_HAV_MAT_MATERIAL_SHIELD_HEAVY">Material Shield Heavy</option>
<option value="3708432437" name="SKY_HAV_MAT_MATERIAL_ARMOR_HEAVY">Material Armor Heavy</option>
<option value="3725505938" name="SKY_HAV_MAT_MATERIAL_ARROW">Material Arrow</option>
<option value="3739830338" name="SKY_HAV_MAT_GLASS">Glass</option>
<option value="3741512247" name="SKY_HAV_MAT_STONE">Stone</option>
<option value="3839073443" name="SKY_HAV_MAT_CLOTH">Cloth</option>
<option value="3969592277" name="SKY_HAV_MAT_MATERIAL_BLUNT_2HAND">Material Blunt 2Hand</option>
<option value="4283869410" name="SKY_HAV_MAT_MATERIAL_BOULDER_MEDIUM">Material Boulder Medium</option>
</enum>
<enum name="OblivionLayer" storage="byte">
Sets mesh color in Oblivion Construction Set. Anything higher than 57 is also null.
<option value="0" name="OL_UNIDENTIFIED">Unidentified (white)</option>
<option value="1" name="OL_STATIC">Static (red)</option>
<option value="2" name="OL_ANIM_STATIC">AnimStatic (magenta)</option>
<option value="3" name="OL_TRANSPARENT">Transparent (light pink)</option>
<option value="4" name="OL_CLUTTER">Clutter (light blue)</option>
<option value="5" name="OL_WEAPON">Weapon (orange)</option>
<option value="6" name="OL_PROJECTILE">Projectile (light orange)</option>
<option value="7" name="OL_SPELL">Spell (cyan)</option>
<option value="8" name="OL_BIPED">Biped (green) Seems to apply to all creatures/NPCs</option>
<option value="9" name="OL_TREES">Trees (light brown)</option>
<option value="10" name="OL_PROPS">Props (magenta)</option>
<option value="11" name="OL_WATER">Water (cyan)</option>
<option value="12" name="OL_TRIGGER">Trigger (light grey)</option>
<option value="13" name="OL_TERRAIN">Terrain (light yellow)</option>
<option value="14" name="OL_TRAP">Trap (light grey)</option>
<option value="15" name="OL_NONCOLLIDABLE">NonCollidable (white)</option>
<option value="16" name="OL_CLOUD_TRAP">CloudTrap (greenish grey)</option>
<option value="17" name="OL_GROUND">Ground (none)</option>
<option value="18" name="OL_PORTAL">Portal (green)</option>
<option value="19" name="OL_STAIRS">Stairs (white)</option>
<option value="20" name="OL_CHAR_CONTROLLER">CharController (yellow)</option>
<option value="21" name="OL_AVOID_BOX">AvoidBox (dark yellow)</option>
<option value="22" name="OL_UNKNOWN1">? (white)</option>
<option value="23" name="OL_UNKNOWN2">? (white)</option>
<option value="24" name="OL_CAMERA_PICK">CameraPick (white)</option>
<option value="25" name="OL_ITEM_PICK">ItemPick (white)</option>
<option value="26" name="OL_LINE_OF_SIGHT">LineOfSight (white)</option>
<option value="27" name="OL_PATH_PICK">PathPick (white)</option>
<option value="28" name="OL_CUSTOM_PICK_1">CustomPick1 (white)</option>
<option value="29" name="OL_CUSTOM_PICK_2">CustomPick2 (white)</option>
<option value="30" name="OL_SPELL_EXPLOSION">SpellExplosion (white)</option>
<option value="31" name="OL_DROPPING_PICK">DroppingPick (white)</option>
<option value="32" name="OL_OTHER">Other (white)</option>
<option value="33" name="OL_HEAD">Head</option>
<option value="34" name="OL_BODY">Body</option>
<option value="35" name="OL_SPINE1">Spine1</option>
<option value="36" name="OL_SPINE2">Spine2</option>
<option value="37" name="OL_L_UPPER_ARM">LUpperArm</option>
<option value="38" name="OL_L_FOREARM">LForeArm</option>
<option value="39" name="OL_L_HAND">LHand</option>
<option value="40" name="OL_L_THIGH">LThigh</option>
<option value="41" name="OL_L_CALF">LCalf</option>
<option value="42" name="OL_L_FOOT">LFoot</option>
<option value="43" name="OL_R_UPPER_ARM">RUpperArm</option>
<option value="44" name="OL_R_FOREARM">RForeArm</option>
<option value="45" name="OL_R_HAND">RHand</option>
<option value="46" name="OL_R_THIGH">RThigh</option>
<option value="47" name="OL_R_CALF">RCalf</option>
<option value="48" name="OL_R_FOOT">RFoot</option>
<option value="49" name="OL_TAIL">Tail</option>
<option value="50" name="OL_SIDE_WEAPON">SideWeapon</option>
<option value="51" name="OL_SHIELD">Shield</option>
<option value="52" name="OL_QUIVER">Quiver</option>
<option value="53" name="OL_BACK_WEAPON">BackWeapon</option>
<option value="54" name="OL_BACK_WEAPON2">BackWeapon (?)</option>
<option value="55" name="OL_PONYTAIL">PonyTail</option>
<option value="56" name="OL_WING">Wing</option>
<option value="57" name="OL_NULL">Null</option>
</enum>
<enum name="MipMapFormat" storage="uint">
An unsigned 32-bit integer, describing how mipmaps are handled in a texture.
<option value="0" name="MIP_FMT_NO">Texture does not use mip maps.</option>
<option value="1" name="MIP_FMT_YES">Texture uses mip maps.</option>
<option value="2" name="MIP_FMT_DEFAULT">Use default setting.</option>
</enum>
<enum name="PixelFormat" storage="uint">
Specifies the pixel format used by the NiPixelData object to store a texture.
<option value="0" name="PX_FMT_RGB8">24-bit color: uses 8 bit to store each red, blue, and green component.</option>
<option value="1" name="PX_FMT_RGBA8">32-bit color with alpha: uses 8 bits to store each red, blue, green, and alpha component.</option>
<option value="2" name="PX_FMT_PAL8">8-bit palette index: uses 8 bits to store an index into the palette stored in a NiPalette object.</option>
<option value="4" name="PX_FMT_DXT1">DXT1 compressed texture.</option>
<option value="5" name="PX_FMT_DXT5">DXT5 compressed texture.</option>
<option value="6" name="PX_FMT_DXT5_ALT">DXT5 compressed texture. It is not clear what the difference is with PX_FMT_DXT5.</option>
</enum>
<enum name="PixelLayout" storage="uint">
An unsigned 32-bit integer, describing the color depth of a texture.
<option value="0" name="PIX_LAY_PALETTISED">Texture is in 8-bit paletized format.</option>
<option value="1" name="PIX_LAY_HIGH_COLOR_16">Texture is in 16-bit high color format.</option>
<option value="2" name="PIX_LAY_TRUE_COLOR_32">Texture is in 32-bit true color format.</option>
<option value="3" name="PIX_LAY_COMPRESSED">Texture is compressed.</option>
<option value="4" name="PIX_LAY_BUMPMAP">Texture is a grayscale bump map.</option>
<option value="5" name="PIX_LAY_PALETTISED_4">Texture is in 4-bit paletized format.</option>
<option value="6" name="PIX_LAY_DEFAULT">Use default setting.</option>
</enum>
<enum name="TexClampMode" storage="uint">
Specifies the availiable texture clamp modes. That is, the behavior of pixels outside the range of the texture.
<option value="0" name="CLAMP_S_CLAMP_T">Clamp in both directions.</option>
<option value="1" name="CLAMP_S_WRAP_T">Clamp in the S(U) direction but wrap in the T(V) direction.</option>
<option value="2" name="WRAP_S_CLAMP_T">Wrap in the S(U) direction but clamp in the T(V) direction.</option>
<option value="3" name="WRAP_S_WRAP_T">Wrap in both directions.</option>
</enum>
<enum name="TexFilterMode" storage="uint">
Specifies the availiable texture filter modes. That is, the way pixels within a texture are blended together when textures are displayed on the screen at a size other than their original dimentions.
<option value="0" name="FILTER_NEAREST">Simply uses the nearest pixel. Very grainy.</option>
<option value="1" name="FILTER_BILERP">Uses bilinear filtering.</option>
<option value="2" name="FILTER_TRILERP">Uses trilinear filtering.</option>
<option value="3" name="FILTER_NEAREST_MIPNEAREST">Uses the nearest pixel from the mipmap that is closest to the display size.</option>
<option value="4" name="FILTER_NEAREST_MIPLERP">Blends the two mipmaps closest to the display size linearly, and then uses the nearest pixel from the result.</option>
<option value="5" name="FILTER_BILERP_MIPNEAREST">Uses the closest mipmap to the display size and then uses bilinear filtering on the pixels.</option>
</enum>
<enum name="VertMode" storage="uint">
An unsigned 32-bit integer, which describes how to apply vertex colors.
<option value="0" name="VERT_MODE_SRC_IGNORE">Source Ignore.</option>
<option value="1" name="VERT_MODE_SRC_EMISSIVE">Source Emissive.</option>
<option value="2" name="VERT_MODE_SRC_AMB_DIF">Source Ambient/Diffuse. (Default)</option>
</enum>
<enum name="CycleType" storage="uint">
The animation cyle behavior.
<option value="0" name="CYCLE_LOOP">Loop</option>
<option value="1" name="CYCLE_REVERSE">Reverse</option>
<option value="2" name="CYCLE_CLAMP">Clamp</option>
</enum>
<enum name="FieldType" storage="uint">
The force field's type.
<option value="0" name="FIELD_WIND">Wind (fixed direction)</option>
<option value="1" name="FIELD_POINT">Point (fixed origin)</option>
</enum>
<enum name="BillboardMode" storage="ushort">
Determines the way the billboard will react to the camera.
<option value="0" name="ALWAYS_FACE_CAMERA">The billboard will always face the camera.</option>
<option value="1" name="ROTATE_ABOUT_UP">The billboard will only rotate around the up axis.</option>
<option value="2" name="RIGID_FACE_CAMERA">Rigid Face Camera.</option>
<option value="3" name="ALWAYS_FACE_CENTER">Always Face Center.</option>
<option value="4" name="RIGID_FACE_CENTER">Rigid Face Center.</option>
<option value="9" name="ROTATE_ABOUT_UP2">The billboard will only rotate around the up axis (same as ROTATE_ABOUT_UP?).</option>
</enum>
<enum name="StencilCompareMode" storage="uint">
This enum contains the options for doing stencil buffer tests.
<option value="0" name="TEST_NEVER">Test will allways return false. Nothing is drawn at all.</option>
<option value="1" name="TEST_LESS">The test will only succeed if the pixel is nearer than the previous pixel.</option>
<option value="2" name="TEST_EQUAL">Test will only succeed if the z value of the pixel to be drawn is equal to the value of the previous drawn pixel.</option>
<option value="3" name="TEST_LESS_EQUAL">Test will succeed if the z value of the pixel to be drawn is smaller than or equal to the value in the Stencil Buffer.</option>
<option value="4" name="TEST_GREATER">Opposite of TEST_LESS.</option>
<option value="5" name="TEST_NOT_EQUAL">Test will succeed if the z value of the pixel to be drawn is NOT equal to the value of the previously drawn pixel.</option>
<option value="6" name="TEST_GREATER_EQUAL">Opposite of TEST_LESS_EQUAL.</option>
<option value="7" name="TEST_ALWAYS">Test will allways succeed. The Stencil Buffer value is ignored.</option>
</enum>
<enum name="ZCompareMode" storage="uint">
This enum contains the options for doing z buffer tests.
<option value="0" name="ZCOMP_ALWAYS">Test will allways succeed. The Z Buffer value is ignored.</option>
<option value="1" name="ZCOMP_LESS">The test will only succeed if the pixel is nearer than the previous pixel.</option>
<option value="2" name="ZCOMP_EQUAL">Test will only succeed if the z value of the pixel to be drawn is equal to the value of the previous drawn pixel.</option>
<option value="3" name="ZCOMP_LESS_EQUAL">Test will succeed if the z value of the pixel to be drawn is smaller than or equal to the value in the Z Buffer.</option>
<option value="4" name="ZCOMP_GREATER">Opposite of TEST_LESS.</option>
<option value="5" name="ZCOMP_NOT_EQUAL">Test will succeed if the z value of the pixel to be drawn is NOT equal to the value of the previously drawn pixel.</option>
<option value="6" name="ZCOMP_GREATER_EQUAL">Opposite of TEST_LESS_EQUAL.</option>
<option value="7" name="ZCOMP_NEVER">Test will allways return false. Nothing is drawn at all.</option>
</enum>
<enum name="StencilAction" storage="uint">
This enum defines the various actions used in conjunction with the stencil buffer.
For a detailed description of the individual options please refer to the OpenGL docs.
<option value="0" name="ACTION_KEEP" />
<option value="1" name="ACTION_ZERO" />
<option value="2" name="ACTION_REPLACE" />
<option value="3" name="ACTION_INCREMENT" />
<option value="4" name="ACTION_DECREMENT" />
<option value="5" name="ACTION_INVERT" />
</enum>
<enum name="FaceDrawMode" storage="uint">
This enum lists the different face culling options.
<option value="0" name="DRAW_CCW_OR_BOTH">use application defaults?</option>
<option value="1" name="DRAW_CCW">Draw counter clock wise faces, cull clock wise faces. This is the default for most (all?) Nif Games so far.</option>
<option value="2" name="DRAW_CW">Draw clock wise faces, cull counter clock wise faces. This will flip all the faces.</option>
<option value="3" name="DRAW_BOTH">Draw double sided faces.</option>
</enum>
<enum name="MotionSystem" storage="byte">
The motion system. 4 (Box) is used for everything movable. 7 (Keyframed) is used on statics and animated stuff.
<option value="0" name="MO_SYS_INVALID">Invalid</option>
<option value="1" name="MO_SYS_DYNAMIC">A fully-simulated, movable rigid body. At construction time the engine checks the input inertia and selects MO_SYS_SPHERE_INERTIA or MO_SYS_BOX_INERTIA as appropriate.</option>
<option value="2" name="MO_SYS_SPHERE">Simulation is performed using a sphere inertia tensor.</option>
<option value="3" name="MO_SYS_SPHERE_INERTIA">This is the same as MO_SYS_SPHERE_INERTIA, except that simulation of the rigid body is "softened".</option>
<option value="4" name="MO_SYS_BOX">Simulation is performed using a box inertia tensor.</option>
<option value="5" name="MO_SYS_BOX_STABILIZED">This is the same as MO_SYS_BOX_INERTIA, except that simulation of the rigid body is "softened".</option>
<option value="6" name="MO_SYS_KEYFRAMED">Simulation is not performed as a normal rigid body. The keyframed rigid body has an infinite mass when viewed by the rest of the system. (used for creatures)</option>
<option value="7" name="MO_SYS_FIXED">This motion type is used for the static elements of a game scene, e.g. the landscape. Faster than MO_SYS_KEYFRAMED at velocity 0. (used for weapons)</option>
<option value="8" name="MO_SYS_THIN_BOX">A box inertia motion which is optimized for thin boxes and has less stability problems</option>
<option value="9" name="MO_SYS_CHARACTER">A specialized motion used for character controllers</option>
</enum>
<enum name="DeactivatorType" storage="byte">
<option value="0" name="DEACTIVATOR_INVALID">Invalid</option>
<option value="1" name="DEACTIVATOR_NEVER">This will force the rigid body to never deactivate.</option>
<option value="2" name="DEACTIVATOR_SPATIAL">Tells Havok to use a spatial deactivation scheme. This makes use of high and low frequencies of positional motion to determine when deactivation should occur.</option>
</enum>
<enum name="SolverDeactivation" storage="byte">
A list of possible solver deactivation settings. This value defines how the
solver deactivates objects. The solver works on a per object basis.
Note: Solver deactivation does not save CPU, but reduces creeping of
movable objects in a pile quite dramatically.
<option value="0" name="SOLVER_DEACTIVATION_INVALID">Invalid</option>
<option value="1" name="SOLVER_DEACTIVATION_OFF">No solver deactivation</option>
<option value="2" name="SOLVER_DEACTIVATION_LOW">Very conservative deactivation, typically no visible artifacts.</option>
<option value="3" name="SOLVER_DEACTIVATION_MEDIUM">Normal deactivation, no serious visible artifacts in most cases</option>
<option value="4" name="SOLVER_DEACTIVATION_HIGH">Fast deactivation, visible artifacts</option>
<option value="5" name="SOLVER_DEACTIVATION_MAX">Very fast deactivation, visible artifacts</option>
</enum>
<enum name="MotionQuality" storage="byte">
The motion type. Determines quality of motion?
<option value="0" name="MO_QUAL_INVALID">Automatically assigned to MO_QUAL_FIXED, MO_QUAL_KEYFRAMED or MO_QUAL_DEBRIS</option>
<option value="1" name="MO_QUAL_FIXED">Use this for fixed bodies. </option>
<option value="2" name="MO_QUAL_KEYFRAMED">Use this for moving objects with infinite mass.</option>
<option value="3" name="MO_QUAL_DEBRIS">Use this for all your debris objects</option>
<option value="4" name="MO_QUAL_MOVING">Use this for moving bodies, which should not leave the world.</option>
<option value="5" name="MO_QUAL_CRITICAL">Use this for all objects, which you cannot afford to tunnel through the world at all</option>
<option value="6" name="MO_QUAL_BULLET">Use this for very fast objects </option>
<option value="7" name="MO_QUAL_USER">For user.</option>
<option value="8" name="MO_QUAL_CHARACTER">Use this for rigid body character controllers</option>
<option value="9" name="MO_QUAL_KEYFRAMED_REPORT">
Use this for moving objects with infinite mass which should report contact points and Toi-collisions against all other bodies, including other fixed and keyframed bodies.
</option>
</enum>
<enum name="ForceType" storage="uint">
The type of force? May be more valid values.
<option value="0" name="FORCE_PLANAR"></option>
<option value="1" name="FORCE_SPHERICAL"></option>
<option value="2" name="FORCE_UNKNOWN"></option>
</enum>
<enum name="TexTransform" storage="uint">
Determines how a NiTextureTransformController animates the UV coordinates.
<option value="0" name="TT_TRANSLATE_U">Means this controller moves the U texture cooridnates.</option>
<option value="1" name="TT_TRANSLATE_V">Means this controller moves the V texture cooridnates.</option>
<option value="2" name="TT_ROTATE">Means this controller roates the UV texture cooridnates.</option>
<option value="3" name="TT_SCALE_U">Means this controller scales the U texture cooridnates.</option>
<option value="4" name="TT_SCALE_V">Means this controller scales the V texture cooridnates.</option>
</enum>
<enum name="DecayType" storage="uint">
Determines decay function. Used by NiPSysBombModifier.
<option value="0" name="DECAY_NONE">No decay.</option>
<option value="1" name="DECAY_LINEAR">Linear decay.</option>
<option value="2" name="DECAY_EXPONENTIAL">Exponential decay.</option>
</enum>
<enum name="SymmetryType" storage="uint">
Determines symetry type used by NiPSysBombModifier.
<option value="0" name="SPHERICAL_SYMMETRY">Spherical Symmetry.</option>
<option value="1" name="CYLINDRICAL_SYMMETRY">Cylindrical Symmetry.</option>
<option value="2" name="PLANAR_SYMMETRY">Planar Symmetry.</option>
</enum>
<enum name="VelocityType" storage="uint">
Controls the way the a particle mesh emitter determines the starting speed and direction of the particles that are emitted.
<option value="0" name="VELOCITY_USE_NORMALS">Uses the normals of the meshes to determine staring velocity.</option>
<option value="1" name="VELOCITY_USE_RANDOM">Starts particles with a random velocity.</option>
<option value="2" name="VELOCITY_USE_DIRECTION">Uses the emission axis to determine initial particle direction?</option>
</enum>
<enum name="EmitFrom" storage="uint">
Controls which parts of the mesh that the particles are emitted from.
<option value="0" name="EMIT_FROM_VERTICES">Emit particles from the vertices of the mesh.</option>
<option value="1" name="EMIT_FROM_FACE_CENTER">Emit particles from the center of the faces of the mesh.</option>
<option value="2" name="EMIT_FROM_EDGE_CENTER">Emit particles from the center of the edges of the mesh.</option>
<option value="3" name="EMIT_FROM_FACE_SURFACE">Perhaps randomly emit particles from anywhere on the faces of the mesh?</option>
<option value="4" name="EMIT_FROM_EDGE_SURFACE">Perhaps randomly emit particles from anywhere on the edges of the mesh?</option>
</enum>
<enum name="EffectType" storage="uint">
The type of information that's store in a texture used by a NiTextureEffect.
<option value="0" name="EFFECT_PROJECTED_LIGHT">Apply a projected light texture.</option>
<option value="1" name="EFFECT_PROJECTED_SHADOW">Apply a projected shaddow texture.</option>
<option value="2" name="EFFECT_ENVIRONMENT_MAP">Apply an environment map texture.</option>
<option value="3" name="EFFECT_FOG_MAP">Apply a fog map texture.</option>
</enum>
<enum name="CoordGenType" storage="uint">
Determines the way that UV texture coordinates are generated.
<option value="0" name="CG_WORLD_PARALLEL">Use plannar mapping.</option>
<option value="1" name="CG_WORLD_PERSPECTIVE">Use perspective mapping.</option>
<option value="2" name="CG_SPHERE_MAP">Use spherical mapping.</option>
<option value="3" name="CG_SPECULAR_CUBE_MAP">Use specular cube mapping.</option>
<option value="4" name="CG_DIFFUSE_CUBE_MAP">Use Diffuse cube mapping.</option>
</enum>
<enum name="EndianType" storage="byte">
<option value="0" name="ENDIAN_BIG">The numbers are stored in big endian format, such as those used by PowerPC Mac processors.</option>
<option value="1" name="ENDIAN_LITTLE">The numbers are stored in little endian format, such as those used by Intel and AMD x86 processors.</option>
</enum>
<enum name="TargetColor" storage="ushort">
Used by NiPoint3InterpControllers to select which type of color in the controlled object that will be animated.
<option value="0" name="TC_AMBIENT">Control the ambient color.</option>
<option value="1" name="TC_DIFFUSE">Control the diffuse color.</option>
<option value="2" name="TC_SPECULAR">Control the specular color.</option>
<option value="3" name="TC_SELF_ILLUM">Control the self illumination color.</option>
</enum>
<enum name="ConsistencyType" storage="ushort">
Used by NiGeometryData to control the volatility of the mesh. While they appear to be flags they behave as an enum.
<option value="0x0000" name="CT_MUTABLE">Mutable Mesh</option>
<option value="0x4000" name="CT_STATIC">Static Mesh</option>
<option value="0x8000" name="CT_VOLATILE">Volatile Mesh</option>
</enum>
<enum name="SortingMode" storage="uint">
<option value="0" name="SORTING_INHERIT">Inherit</option>
<option value="1" name="SORTING_OFF">Disable</option>
</enum>
<enum name="PropagationMode" storage="uint">
<option value="0" name="PROPAGATE_ON_SUCCESS">On Success</option>
<option value="1" name="PROPAGATE_ON_FAILURE">On Failure</option>
<option value="2" name="PROPAGATE_ALWAYS">Always</option>
<option value="3" name="PROPAGATE_NEVER">Never</option>
</enum>
<enum name="CollisionMode" storage="uint">
<option value="0" name="CM_USE_OBB">Use Bounding Box</option>
<option value="1" name="CM_USE_TRI">Use Triangles</option>
<option value="2" name="CM_USE_ABV">Use Alternate Bounding Volumes</option>
<option value="3" name="CM_NOTEST">No Test</option>
<option value="4" name="CM_USE_NIBOUND">Use NiBound</option>
</enum>
<enum name="BoundVolumeType" storage="uint">
<option value="0xffffffff" name="BASE_BV">Default</option>
<option value="0" name="SPHERE_BV">Sphere</option>
<option value="1" name="BOX_BV">Box</option>
<option value="2" name="CAPSULE_BV">Capsule</option>
<option value="4" name="UNION_BV">Union</option>
<option value="5" name="HALFSPACE_BV">Half Space</option>
</enum>
<enum name="hkResponseType" storage="byte">
<option value="0" name="RESPONSE_INVALID">Invalid Response</option>
<option value="1" name="RESPONSE_SIMPLE_CONTACT">Do normal collision resolution</option>
<option value="2" name="RESPONSE_REPORTING">No collision resolution is performed but listeners are called</option>
<option value="3" name="RESPONSE_NONE">Do nothing, ignore all the results.</option>
</enum>
<enum name="BSDismemberBodyPartType" storage="ushort">
Biped bodypart data used for visibility control of triangles. Options are Fallout 3, except where marked for Skyrim (uses SBP prefix)
Skyrim BP names are listed only for vanilla names, different creatures have different defnitions for naming.
<option value="0" name="BP_TORSO">Torso</option>
<option value="1" name="BP_HEAD">Head</option>
<option value="2" name="BP_HEAD2">Head 2</option>
<option value="3" name="BP_LEFTARM">Left Arm</option>
<option value="4" name="BP_LEFTARM2">Left Arm 2</option>
<option value="5" name="BP_RIGHTARM">Right Arm</option>
<option value="6" name="BP_RIGHTARM2">Right Arm 2</option>
<option value="7" name="BP_LEFTLEG">Left Leg</option>
<option value="8" name="BP_LEFTLEG2">Left Leg 2</option>
<option value="9" name="BP_LEFTLEG3">Left Leg 3</option>
<option value="10" name="BP_RIGHTLEG">Right Leg</option>
<option value="11" name="BP_RIGHTLEG2">Right Leg 2</option>
<option value="12" name="BP_RIGHTLEG3">Right Leg 3</option>
<option value="13" name="BP_BRAIN">Brain</option>
<option value="30" name="SBP_30_HEAD">Skyrim, Head(Human), Body(Atronachs,Beasts), Mask(Dragonpriest)</option>
<option value="31" name="SBP_31_HAIR">Skyrim, Hair(human), Far(Dragon), Mask2(Dragonpriest),SkinnedFX(Spriggan)</option>
<option value="32" name="SBP_32_BODY">Skyrim, Main body, extras(Spriggan)</option>
<option value="33" name="SBP_33_HANDS">Skyrim, Hands L/R, BodyToo(Dragonpriest), Legs(Draugr), Arms(Giant)</option>
<option value="34" name="SBP_34_FOREARMS">Skyrim, Forearms L/R, Beard(Draugr)</option>
<option value="35" name="SBP_35_AMULET">Skyrim, Amulet</option>
<option value="36" name="SBP_36_RING">Skyrim, Ring</option>
<option value="37" name="SBP_37_FEET">Skyrim, Feet L/R</option>
<option value="38" name="SBP_38_CALVES">Skyrim, Calves L/R</option>
<option value="39" name="SBP_39_SHIELD">Skyrim, Shield</option>
<option value="40" name="SBP_40_TAIL">Skyrim, Tail(Argonian/Khajiit), Skeleton01(Dragon), FX01(AtronachStorm),FXMist (Dragonpriest), Spit(Chaurus,Spider),SmokeFins(IceWraith)</option>
<option value="41" name="SBP_41_LONGHAIR">Skyrim, Long Hair(Human), Skeleton02(Dragon),FXParticles(Dragonpriest)</option>
<option value="42" name="SBP_42_CIRCLET">Skyrim, Circlet(Human, MouthFireEffect(Dragon)</option>
<option value="43" name="SBP_43_EARS">Skyrim, Ears</option>
<option value="44" name="SBP_44_DRAGON_BLOODHEAD_OR_MOD_MOUTH">Skyrim, Bloodied dragon head, or NPC face/mouth</option>
<option value="45" name="SBP_45_DRAGON_BLOODWINGL_OR_MOD_NECK">Skyrim, Left Bloodied dragon wing, Saddle(Horse), or NPC cape, scarf, shawl, neck-tie, etc.</option>
<option value="46" name="SBP_46_DRAGON_BLOODWINGR_OR_MOD_CHEST_PRIMARY">Skyrim, Right Bloodied dragon wing, or NPC chest primary or outergarment</option>
<option value="47" name="SBP_47_DRAGON_BLOODTAIL_OR_MOD_BACK">Skyrim, Bloodied dragon tail, or NPC backpack/wings/...</option>
<option value="48" name="SBP_48_MOD_MISC1">Anything that does not fit in the list</option>
<option value="49" name="SBP_49_MOD_PELVIS_PRIMARY">Pelvis primary or outergarment</option>
<option value="50" name="SBP_50_DECAPITATEDHEAD">Skyrim, Decapitated Head</option>
<option value="51" name="SBP_51_DECAPITATE">Skyrim, Decapitate, neck gore</option>
<option value="52" name="SBP_52_MOD_PELVIS_SECONDARY">Pelvis secondary or undergarment</option>
<option value="53" name="SBP_53_MOD_LEG_RIGHT">Leg primary or outergarment or right leg</option>
<option value="54" name="SBP_54_MOD_LEG_LEFT">Leg secondary or undergarment or left leg</option>
<option value="55" name="SBP_55_MOD_FACE_JEWELRY">Face alternate or jewelry</option>
<option value="56" name="SBP_56_MOD_CHEST_SECONDARY">Chest secondary or undergarment</option>
<option value="57" name="SBP_57_MOD_SHOULDER">Shoulder</option>
<option value="58" name="SBP_58_MOD_ARM_LEFT">Arm secondary or undergarment or left arm</option>
<option value="59" name="SBP_59_MOD_ARM_RIGHT">Arm primary or outergarment or right arm</option>
<option value="60" name="SBP_60_MOD_MISC2">Anything that does not fit in the list</option>
<option value="61" name="SBP_61_FX01">Skyrim, FX01(Humanoid)</option>
<option value="101" name="BP_SECTIONCAP_HEAD">Section Cap | Head</option>
<option value="102" name="BP_SECTIONCAP_HEAD2">Section Cap | Head 2</option>
<option value="103" name="BP_SECTIONCAP_LEFTARM">Section Cap | Left Arm</option>
<option value="104" name="BP_SECTIONCAP_LEFTARM2">Section Cap | Left Arm 2</option>
<option value="105" name="BP_SECTIONCAP_RIGHTARM">Section Cap | Right Arm</option>
<option value="106" name="BP_SECTIONCAP_RIGHTARM2">Section Cap | Right Arm 2</option>
<option value="107" name="BP_SECTIONCAP_LEFTLEG">Section Cap | Left Leg</option>
<option value="108" name="BP_SECTIONCAP_LEFTLEG2">Section Cap | Left Leg 2</option>
<option value="109" name="BP_SECTIONCAP_LEFTLEG3">Section Cap | Left Leg 3</option>
<option value="110" name="BP_SECTIONCAP_RIGHTLEG">Section Cap | Right Leg</option>
<option value="111" name="BP_SECTIONCAP_RIGHTLEG2">Section Cap | Right Leg 2</option>
<option value="112" name="BP_SECTIONCAP_RIGHTLEG3">Section Cap | Right Leg 3</option>
<option value="113" name="BP_SECTIONCAP_BRAIN">Section Cap | Brain</option>
<option value="130" name="SBP_130_HEAD">Skyrim, Head slot, use on full-face helmets</option>
<option value="131" name="SBP_131_HAIR">Skyrim, Hair slot 1, use on hoods</option>
<option value="141" name="SBP_141_LONGHAIR">Skyrim, Hair slot 2, use for longer hair</option>
<option value="142" name="SBP_142_CIRCLET">Skyrim, Circlet slot 1, use for circlets</option>
<option value="143" name="SBP_143_EARS">Skyrim, Ear slot</option>
<option value="150" name="SBP_150_DECAPITATEDHEAD">Skyrim, neck gore on head side</option>
<option value="201" name="BP_TORSOCAP_HEAD">Torso Cap | Head</option>
<option value="202" name="BP_TORSOCAP_HEAD2">Torso Cap | Head 2</option>
<option value="203" name="BP_TORSOCAP_LEFTARM">Torso Cap | Left Arm</option>
<option value="204" name="BP_TORSOCAP_LEFTARM2">Torso Cap | Left Arm 2</option>
<option value="205" name="BP_TORSOCAP_RIGHTARM">Torso Cap | Right Arm</option>
<option value="206" name="BP_TORSOCAP_RIGHTARM2">Torso Cap | Right Arm 2</option>
<option value="207" name="BP_TORSOCAP_LEFTLEG">Torso Cap | Left Leg</option>
<option value="208" name="BP_TORSOCAP_LEFTLEG2">Torso Cap | Left Leg 2</option>
<option value="209" name="BP_TORSOCAP_LEFTLEG3">Torso Cap | Left Leg 3</option>
<option value="210" name="BP_TORSOCAP_RIGHTLEG">Torso Cap | Right Leg</option>
<option value="211" name="BP_TORSOCAP_RIGHTLEG2">Torso Cap | Right Leg 2</option>
<option value="212" name="BP_TORSOCAP_RIGHTLEG3">Torso Cap | Right Leg 3</option>
<option value="213" name="BP_TORSOCAP_BRAIN">Torso Cap | Brain</option>
<option value="230" name="SBP_230_HEAD">Skyrim, Head slot, use for neck on character head</option>
<option value="1000" name="BP_TORSOSECTION_HEAD">Torso Section | Head</option>
<option value="2000" name="BP_TORSOSECTION_HEAD2">Torso Section | Head 2</option>
<option value="3000" name="BP_TORSOSECTION_LEFTARM">Torso Section | Left Arm</option>
<option value="4000" name="BP_TORSOSECTION_LEFTARM2">Torso Section | Left Arm 2</option>
<option value="5000" name="BP_TORSOSECTION_RIGHTARM">Torso Section | Right Arm</option>
<option value="6000" name="BP_TORSOSECTION_RIGHTARM2">Torso Section | Right Arm 2</option>
<option value="7000" name="BP_TORSOSECTION_LEFTLEG">Torso Section | Left Leg</option>
<option value="8000" name="BP_TORSOSECTION_LEFTLEG2">Torso Section | Left Leg 2</option>
<option value="9000" name="BP_TORSOSECTION_LEFTLEG3">Torso Section | Left Leg 3</option>
<option value="10000" name="BP_TORSOSECTION_RIGHTLEG">Torso Section | Right Leg</option>
<option value="11000" name="BP_TORSOSECTION_RIGHTLEG2">Torso Section | Right Leg 2</option>
<option value="12000" name="BP_TORSOSECTION_RIGHTLEG3">Torso Section | Right Leg 3</option>
<option value="13000" name="BP_TORSOSECTION_BRAIN">Torso Section | Brain</option>
</enum>
<bitflags name="BSSegmentFlags" storage="uint">
An unsigned 32-bit integer, describing what's inside the segment.
<option value="9" name="BSSEG_WATER">Contains water.</option>
</bitflags>
<enum name="BSLightingShaderPropertyShaderType" storage="uint">
Values for configuring the shader type in a BSLightingShaderProperty
<option value="0" name="Default"></option>
<option value="1" name="Environment Map">Enables EnvMap Mask(TS6), EnvMap Scale</option>
<option value="2" name="Glow Shader">Enables Glow(TS3)</option>
<option value="3" name="Heightmap">Enables Height(TS4)</option>
<option value="4" name="Face Tint">Enables SubSurface(TS3), Detail(TS4), Tint(TS7)</option>
<option value="5" name="Skin Tint">Enables Skin Tint Color</option>
<option value="6" name="Hair Tint">Enables Hair Tint Color</option>
<option value="7" name="Parallax Occ Material">Enables Height(TS4), Max Passes, Scale. Unused?</option>
<option value="8" name="World Multitexture"></option>
<option value="9" name="WorldMap1"></option>
<option value="10" name="Unknown 10"></option>
<option value="11" name="MultiLayer Parallax">Enables EnvMap Mask(TS6), Layer(TS7), Parallax Layer Thickness, Parallax Refraction Scale, Parallax Inner Layer U Scale, Parallax Inner Layer V Scale, EnvMap Scale</option>
<option value="12" name="Unknown 12"></option>
<option value="13" name="WorldMap2"></option>
<option value="14" name="Sparkle Snow">Enables SparkleParams</option>
<option value="15" name="WorldMap3"></option>
<option value="16" name="Eye Envmap">Enables EnvMap Mask(TS6), Eye EnvMap Scale</option>
<option value="17" name="Unknown 17"></option>
<option value="18" name="WorldMap4"></option>
<option value="19" name="World LOD Multitexture"></option>
</enum>
<!--Compounds
These are like C structures and are used as sub-parts of more complex
classes when there are multiple pieces of data repeated in an array.-->
<compound name="SizedString" niflibtype="string" nifskopetype="sizedstring">
A string of given length.
<add name="Length" type="uint">The string length.</add>
<add name="Value" type="char" arr1="Length">The string itself.</add>
</compound>
<compound name="string" niflibtype="IndexString" nifskopetype="string">
A string type.
<add name="String" type="SizedString" ver2="20.0.0.5">The normal string.</add>
<add name="Index" type="StringIndex" ver1="20.1.0.3">The string index.</add>
</compound>
<compound name="ByteArray" nifskopetype="bytearray">
An array of bytes.
<add name="Data Size" type="uint">The number of bytes in this array</add>
<add name="Data" type="byte" arr1="Data Size">The bytes which make up the array</add>
</compound>
<compound name="ByteMatrix" nifskopetype="bytematrix">
An array of bytes.
<add name="Data Size 1" type="uint">The number of bytes in this array</add>
<add name="Data Size 2" type="uint">The number of bytes in this array</add>
<add name="Data" type="byte" arr1="Data Size 2" arr2="Data Size 1">The bytes which make up the array</add>
</compound>
<compound name="Color3" niflibtype="Color3" nifskopetype="color3">
A color without alpha (red, green, blue).
<add name="r" type="float">Red color component.</add>
<add name="g" type="float">Green color component.</add>
<add name="b" type="float">Blue color component.</add>
</compound>
<compound name="ByteColor3"><!-- niflibtype="Color3" nifskopetype="color3" -->
A color without alpha (red, green, blue).
<add name="r" type="byte">Red color component.</add>
<add name="g" type="byte">Green color component.</add>
<add name="b" type="byte">Blue color component.</add>
</compound>
<compound name="Color4" niflibtype="Color4" nifskopetype="color4">
A color with alpha (red, green, blue, alpha).
<add name="r" type="float">Red component.</add>
<add name="g" type="float">Green component.</add>
<add name="b" type="float">Blue component.</add>
<add name="a" type="float">Alpha.</add>
</compound>
<compound name="ByteColor4"><!-- niflibtype="Color4" nifskopetype="color4" -->
A color with alpha (red, green, blue, alpha).
<add name="r" type="byte">Red color component.</add>
<add name="g" type="byte">Green color component.</add>
<add name="b" type="byte">Blue color component.</add>
<add name="a" type="byte">Alpha color component.</add>
</compound>
<compound name="FilePath" niflibtype="IndexString" nifskopetype="filepath">
A string that contains the path to a file.
<add name="String" type="SizedString" ver2="20.0.0.5">The normal string.</add>
<add name="Index" type="StringIndex" ver1="20.1.0.3">The string index.</add>
</compound>
<compound name="Footer">
The NIF file footer.
<add name="Num Roots" type="uint" ver1="3.3.0.13">The number of root references.</add>
<add name="Roots" type="Ref" template="NiObject" arr1="Num Roots" ver1="3.3.0.13">List of root NIF objects. If there is a camera, for 1st person view, then this NIF object is referred to as well in this list, even if it is not a root object (usually we want the camera to be attached to the Bip Head node).</add>
</compound>
<compound name="LODRange">
The distance range where a specific level of detail applies.
<add name="Near Extent" type="float">Begining of range.</add>
<add name="Far Extent" type="float">End of Range.</add>
<add name="Unknown Ints" type="uint" arr1="3" ver2="3.1">Unknown (0,0,0).</add>
</compound>
<compound name="MatchGroup">
Group of vertex indices of vertices that match.
<add name="Num Vertices" type="ushort">Number of vertices in this group.</add>
<add name="Vertex Indices" type="ushort" arr1="Num Vertices">The vertex indices.</add>
</compound>
<compound name="Vector3" niflibtype="Vector3" nifskopetype="vector3">
A vector in 3D space (x,y,z).
<add name="x" type="float">First coordinate.</add>
<add name="y" type="float">Second coordinate.</add>
<add name="z" type="float">Third coordinate.</add>
</compound>
<compound name="Vector4" niflibtype="Vector4" nifskopetype="vector4">
A 4-dimensional vector.
<add name="x" type="float">First coordinate.</add>
<add name="y" type="float">Second coordinate.</add>
<add name="z" type="float">Third coordinate.</add>
<add name="w" type="float">Fourth coordinate.</add>
</compound>
<compound name="Quaternion" niflibtype="Quaternion" nifskopetype="quaternion">
A quaternion.
<add name="w" type="float" default="1.0">The w-coordinate.</add>
<add name="x" type="float" default="0.0">The x-coordinate.</add>
<add name="y" type="float" default="0.0">The y-coordinate.</add>
<add name="z" type="float" default="0.0">The z-coordinate.</add>
</compound>
<compound name="QuaternionXYZW" nifskopetype="quaternion_xyzw">
A quaternion as it appears in the havok objects.
<add name="x" type="float" default="0.0">The x-coordinate.</add>
<add name="y" type="float" default="0.0">The y-coordinate.</add>
<add name="z" type="float" default="0.0">The z-coordinate.</add>
<add name="w" type="float" default="1.0">The w-coordinate.</add>
</compound>
<compound name="Matrix22" niflibtype="Matrix22">
A 2x2 matrix of float values. Stored in OpenGL column-major format.
<add name="m11" type="float" default="1.0">Member 1,1 (top left)</add>
<add name="m21" type="float" default="0.0">Member 2,1 (bottom left)</add>
<add name="m12" type="float" default="0.0">Member 1,2 (top right)</add>
<add name="m22" type="float" default="1.0">Member 2,2 (bottom right)</add>
</compound>
<compound name="Matrix33" niflibtype="Matrix33" nifskopetype="matrix33">
A 3x3 rotation matrix; M^T M=identity, det(M)=1. Stored in OpenGL column-major format.
<add name="m11" type="float" default="1.0">Member 1,1 (top left)</add>
<add name="m21" type="float" default="0.0">Member 2,1</add>
<add name="m31" type="float" default="0.0">Member 3,1 (bottom left)</add>
<add name="m12" type="float" default="0.0">Member 1,2</add>
<add name="m22" type="float" default="1.0">Member 2,2</add>
<add name="m32" type="float" default="0.0">Member 3,2</add>
<add name="m13" type="float" default="0.0">Member 1,3 (top right)</add>
<add name="m23" type="float" default="0.0">Member 2,3</add>
<add name="m33" type="float" default="1.0">Member 3,3 (bottom left)</add>
</compound>
<compound name="Matrix44" niflibtype="Matrix44" nifskopetype="matrix44">
A 4x4 transformation matrix.
<add name="m11" type="float" default="1.0">The (1,1) element.</add>
<add name="m21" type="float" default="0.0">The (2,1) element.</add>
<add name="m31" type="float" default="0.0">The (3,1) element.</add>
<add name="m41" type="float" default="0.0">The (4,1) element.</add>
<add name="m12" type="float" default="0.0">The (1,2) element.</add>
<add name="m22" type="float" default="1.0">The (2,2) element.</add>
<add name="m32" type="float" default="0.0">The (3,2) element.</add>
<add name="m42" type="float" default="0.0">The (4,2) element.</add>
<add name="m13" type="float" default="0.0">The (1,3) element.</add>
<add name="m23" type="float" default="0.0">The (2,3) element.</add>
<add name="m33" type="float" default="1.0">The (3,3) element.</add>
<add name="m43" type="float" default="0.0">The (4,3) element.</add>
<add name="m14" type="float" default="0.0">The (1,4) element.</add>
<add name="m24" type="float" default="0.0">The (2,4) element.</add>
<add name="m34" type="float" default="0.0">The (3,4) element.</add>
<add name="m44" type="float" default="1.0">The (4,4) element.</add>
</compound>
<compound name="MipMap">
Description of a MipMap within a NiPixelData object.
<add name="Width" type="uint">Width of the mipmap image.</add>
<add name="Height" type="uint">Height of the mipmap image.</add>
<add name="Offset" type="uint">Offset into the pixel data array where this mipmap starts.</add>
</compound>
<compound name="NodeGroup">
A group of NiNodes references.
<add name="Num Nodes" type="uint">Number of node references that follow.</add>
<add name="Nodes" type="Ptr" template="NiNode" arr1="Num Nodes">The list of NiNode references.</add>
</compound>
<compound name="ns keylin" istemplate="1">
Linear key type (!!! for NifSkope optimizer only, use key, keyrot, or keyvec for regular use).
<add name="Time" type="float">Key time.</add>
<add name="Value" type="TEMPLATE">The key value.</add>
</compound>
<compound name="ns keyarray" istemplate="1">
Array of keys, not interpolated (!!! for NifSkope only, use keyarray for regular use).
<add name="Num Keys" type="uint">Number of keys.</add>
<add name="Keys" type="ns keylin" template="TEMPLATE" arr1="Num Keys">The keys.</add>
</compound>
<compound name="ns keytan" istemplate="1">
Key with tangents (!!! for NifSkope only, use keyvec instead for regular purposes).
<add name="Time" type="float">The key time.</add>
<add name="Value" type="TEMPLATE">The key value.</add>
<add name="Forward" type="TEMPLATE">Forward tangent.</add>
<add name="Backward" type="TEMPLATE">Backward tangent.</add>
</compound>
<compound name="ShortString" ver1="10.1.0.0" niflibtype="ShortString" nifskopetype="shortstring">
Another string format, for short strings. Specific to Bethesda-specific header tags.
<add name="Length" type="byte">The string length.</add>
<add name="Value" type="char" arr1="Length">The string itself, null terminated (the null terminator is taken into account in the length byte).</add>
</compound>
<compound name="SkinShape">
Reference to shape and skin instance.
<add name="Shape" type="Ptr" template="NiTriBasedGeom">The shape.</add>
<add name="Skin Instance" type="Ref" template="NiSkinInstance">Skinning instance for the shape?</add>
</compound>
<compound name="SkinShapeGroup" ver1="10.0.1.0">
Unknown.
<add name="Num Link Pairs" type="uint">Counts unknown.</add>
<add name="Link Pairs" type="SkinShape" arr1="Num Link Pairs">
First link is a NiTriShape object.
Second link is a NiSkinInstance object.
</add>
</compound>
<compound name="SkinWeight">
A weighted vertex.
<add name="Index" type="ushort">The vertex index, in the mesh.</add>
<add name="Weight" type="float">The vertex weight - between 0.0 and 1.0</add>
</compound>
<compound name="AVObject">
Used in NiDefaultAVObjectPalette.
<add name="Name" type="SizedString">Object name.</add>
<add name="AV Object" type="Ptr" template="NiAVObject">Object reference.</add>
</compound>
<compound name="ControllerLink" ver1="10.2.0.0">
In a .kf file, this links to a controllable object, via its name (or for version 10.2.0.0 and up, a link and offset to a NiStringPalette that contains the name), and a sequence of interpolators that apply to this controllable object, via links.
<add name="Target Name" type="string" ver2="10.1.0.0">Name of a controllable object in another NIF file.</add>
<add name="Controller" type="Ref" template="NiTimeController" ver2="10.1.0.0">Link to a controller.</add>
<add name="Interpolator" type="Ref" template="NiInterpolator" ver1="10.1.0.106">Link to an interpolator.</add>
<add name="Controller" type="Ref" template="NiTimeController" ver1="10.1.0.106">Unknown link. Usually -1.</add>
<add name="Unknown Link 2" type="Ref" template="NiObject" ver1="10.1.0.106" ver2="10.1.0.106">Unknown.</add>
<add name="Unknown Short 0" type="ushort" ver1="10.1.0.106" ver2="10.1.0.106">Unknown.</add>
<add name="Priority" type="byte" ver1="10.1.0.106" vercond="(User Version >= 10)">Idle animations tend to have low values for this, and NIF objects that have high values tend to correspond with the important parts of the animation.</add>
<add name="String Palette" type="Ref" template="NiStringPalette" ver1="10.2.0.0" ver2="20.0.0.5">Refers to the NiStringPalette which contains the name of the controlled NIF object.</add>
<add name="Node Name" type="string" ver1="10.1.0.106" ver2="10.1.0.106">The name of the animated node.</add>
<add name="Node Name" type="string" ver1="20.1.0.3">The name of the animated node.</add>
<add name="Node Name Offset" type="StringOffset" ver1="10.2.0.0" ver2="20.0.0.5">Offset in the string palette where the name of the controlled node (NiNode, NiTriShape, ...) starts.</add>
<add name="Property Type" type="string" ver1="10.1.0.106" ver2="10.1.0.106">Name of the property (NiMaterialProperty, ...), if this controller controls a property.</add>
<add name="Property Type" type="string" ver1="20.1.0.3">Name of the property (NiMaterialProperty, ...), if this controller controls a property.</add>
<add name="Property Type Offset" type="StringOffset" ver1="10.2.0.0" ver2="20.0.0.5">Offset in the string palette where the property (NiMaterialProperty, ...) starts, if this controller controls a property. Otherwise, -1.</add>