using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using HaloObjects;

namespace HaloPlugins.Xbox
{
    public class matg
    {
       public List<MetaNode> Fields = new List<MetaNode>();

       public matg()
       {
           Fields.AddRange(new MetaNode[] {
           new Unused(172),
           new HaloObjects.Enum("Language", new string[] {  }, 32),
       new Reflexive("Havok Cleanup Resources", 8, new MetaNode[] {
           new TagReference("Object_Cleanup_Effect"),
       }),
       new Reflexive("Collision Damage", 72, new MetaNode[] { 
           new TagReference("Collision_Damage"),
           new Value("Min Game Acc (Default)", typeof(float)),
           new Value("Max Game Acc (Default)", typeof(float)),
           new Value("Min Gam Scale (Default)", typeof(float)),
           new Value("Max Gam Scale (Default)", typeof(float)),
           new Value("Min abs Acc (Default)", typeof(float)),
           new Value("Max abs Acc (Default)", typeof(float)),
           new Value("Min abs Scale (Default)", typeof(float)),
           new Value("Max abs Scale (Default)", typeof(float)),
           new Unused(32),
       }),
       new Reflexive("Sound Info", 36, new MetaNode[] { 
           new TagReference("Sound_Class"),
           new TagReference("Sound_FX"),
           new TagReference("Sound_Mix"),
           new TagReference("Sound_Combat_Dialogue"),
           new Ident("Resources"),
       }),
       new Reflexive("AI Information", 360, new MetaNode[] { 
           new Value("Danger Broadly Facing", typeof(float)),
           new Unused(4),
           new Value("Danger Shooting Near", typeof(float)),
           new Unused(4),
           new Value("Danger Shooting At", typeof(float)),
           new Unused(4),
           new Value("Danger Extremely Close", typeof(float)),
           new Unused(4),
           new Value("Danger Sheild Damage", typeof(float)),
           new Value("Danger Extended Shield Damage", typeof(float)),
           new Value("Danger Body Damage", typeof(float)),
           new Value("Danger Extended Body Damage", typeof(float)),
           new Unused(48),
           new TagReference("AI_Dialog"),
           new StringID("default_mission_dialogue_sound_effect"),
           new Unused(20),
           new Value("Jump Down", typeof(float)),
           new Value("Jump Step", typeof(float)),
           new Value("Jump Crouch", typeof(float)),
           new Value("Jump Stand", typeof(float)),
           new Value("Jump Storey", typeof(float)),
           new Value("Jump Tower", typeof(float)),
           new Value("Max Jump Down Height Down", typeof(float)),
           new Value("Max Jump Down Height Step", typeof(float)),
           new Value("Max Jump Down Height Crouch", typeof(float)),
           new Value("Max Jump Down Height Stand", typeof(float)),
           new Value("Max Jump Down Height Storey", typeof(float)),
           new Value("Max Jump Down Height Tower", typeof(float)),
           new Value("Hoist Step", typeof(float)),
           new Value("...To", typeof(float)),
           new Value("Hoist Crouch", typeof(float)),
           new Value("...To", typeof(float)),
           new Value("Hoist Stand", typeof(float)),
           new Value("...To", typeof(float)),
           new Unused(24),
           new Value("Vault Step", typeof(float)),
           new Value("...To", typeof(float)),
           new Value("Vault Crouch", typeof(float)),
           new Value("...To", typeof(float)),
           new Unused(48),
           new Reflexive("Gravemind Properties", 12, new MetaNode[] { 
               new Value("Min Retreat Time", typeof(float)),
               new Value("Ideal Retreat Time", typeof(float)),
               new Value("Max Retreat Time", typeof(float)),
           }),
           new Unused(48),
           new Value("Scary Target Threhold", typeof(float)),
           new Value("Scary Weapon Threhold", typeof(float)),
           new Value("Player Scariness", typeof(float)),
           new Value("Berserking Actor Scariness", typeof(float)),
       }),
       new Reflexive("Damage Table", 8, new MetaNode[] { 
           new Reflexive("Damage Groups", 12, new MetaNode[] { 
               new StringID("Name"),
               new Reflexive("Armor Modifiers", 8, new MetaNode[] { 
                   new StringID("Name"),
                   new Value("Damage Multiplier", typeof(float)),
               }),
           }),
       }),
       new Unused(8),
       new Reflexive("Sounds (Obsolete)", 8, new MetaNode[] { 
           new TagReference("Sound"),
       }),
       new Reflexive("Camera", 20, new MetaNode[] { 
           new TagReference("Default_Unit_Camera_Track"),
           new Value("Default Change Pause", typeof(float)),
           new Value("1st Person Change Pause", typeof(float)),
           new Value("Following Camera Change Pause", typeof(float)),
       }),
       new Reflexive("Player Control", 128, new MetaNode[] { 
           new Value("Magnetism Friction", typeof(float)),
           new Value("Magnetism Adhesion", typeof(float)),
           new Value("Inconsequential Target Scale", typeof(float)),
           new Unused(12),
           new Value("Crosshair Location X", typeof(float)),
           new Value("Crosshair Location Y", typeof(float)),
           new Value("Seconds To Start", typeof(float)),
           new Value("Seconds To Full Speed", typeof(float)),
           new Value("Decay Rate", typeof(float)),
           new Value("Full Speed Multiplier", typeof(float)),
           new Value("Pegged Magnitude", typeof(float)),
           new Value("Pegged Angular Threshold", typeof(float)),
           new Unused(8),
           new Value("Look Default Pitch Rate", typeof(float)),
           new Value("Look Default Yaw Rate", typeof(float)),
           new Value("Look Peg Threshold", typeof(float)),
           new Value("Look Yaw Acceleration Time", typeof(float)),
           new Value("Look Yaw Acceleration Scale", typeof(float)),
           new Value("Look Pitch Acceleration Time", typeof(float)),
           new Value("Look Pitch Acceleration Scale", typeof(float)),
           new Value("Look Auto-leveling Scale", typeof(float)),
           new Unused(12),
           new Value("Min Weapon Swap Ticks", typeof(short)),
           new Value("Min Autoleveling Ticks", typeof(short)),
           new Value("Gravity Scale", typeof(float)),
           new Reflexive("Look Function", 4, new MetaNode[] { 
               new Value("Scale", typeof(float)),
           }),
           new Value("Minimmum Action Hold Time", typeof(float)),
       }),
       new Reflexive("Difficulty", 644, new MetaNode[] { 
           new Value("Easy Enemy Damage", typeof(float)),
           new Value("Normal Enemy Damage", typeof(float)),
           new Value("Heroic Enemy Damage", typeof(float)),
           new Value("Legendary Enemy Damage", typeof(float)),
           new Value("Easy Enemy Vitality", typeof(float)),
           new Value("Normal Enemy Vitality", typeof(float)),
           new Value("Heroic Enemy Vitality", typeof(float)),
           new Value("Legendary Enemy Vitality", typeof(float)),
           new Value("Easy Enemy Sheild", typeof(float)),
           new Value("Normal Enemy Sheild", typeof(float)),
           new Value("Heroic Enemy Sheild", typeof(float)),
           new Value("Legendary Enemy Sheild", typeof(float)),
           new Value("Easy Enemy Recharge", typeof(float)),
           new Value("Normal Enemy Recharge", typeof(float)),
           new Value("Heroic Enemy Recharge", typeof(float)),
           new Value("Legendary Enemy Recharge", typeof(float)),
           new Value("Easy Friend Damage", typeof(float)),
           new Value("Normal Friend Damage", typeof(float)),
           new Value("Heroic Friend Damage", typeof(float)),
           new Value("Legendary Friend Damage", typeof(float)),
           new Value("Easy Friend Vitality", typeof(float)),
           new Value("Normal Friend Vitality", typeof(float)),
           new Value("Heroic Friend Vitality", typeof(float)),
           new Value("Legendary Friend Vitality", typeof(float)),
           new Value("Easy Friend Sheild", typeof(float)),
           new Value("Normal Friend Sheild", typeof(float)),
           new Value("Heroic Friend Sheild", typeof(float)),
           new Value("Legendary Friend Sheild", typeof(float)),
           new Value("Easy Friend Recharge", typeof(float)),
           new Value("Normal Friend Recharge", typeof(float)),
           new Value("Heroic Friend Recharge", typeof(float)),
           new Value("Legendary Friend Recharge", typeof(float)),
           new Value("Easy Infection Forms", typeof(float)),
           new Value("Normal Infection Forms", typeof(float)),
           new Value("Heroic Infection Forms", typeof(float)),
           new Value("Legendary Infection Forms", typeof(float)),
           new Unused(16),
           new Value("Easy Rate Of Fire", typeof(float)),
           new Value("Normal Rate Of Fire", typeof(float)),
           new Value("Heroic Rate Of Fire", typeof(float)),
           new Value("Legendary Rate Of Fire", typeof(float)),
           new Value("Easy Projectile Error", typeof(float)),
           new Value("Normal Projectile Error", typeof(float)),
           new Value("Heroic Projectile Error", typeof(float)),
           new Value("Legendary Projectile Error", typeof(float)),
           new Value("Easy Burst Error", typeof(float)),
           new Value("Normal Burst Error", typeof(float)),
           new Value("Heroic Burst Error", typeof(float)),
           new Value("Legendary Burst Error", typeof(float)),
           new Value("Easy New Target Delay", typeof(float)),
           new Value("Normal New Target Delay", typeof(float)),
           new Value("Heroic New Target Delay", typeof(float)),
           new Value("Legendary New Target Delay", typeof(float)),
           new Value("Easy Burst Separation", typeof(float)),
           new Value("Normal Burst Separation", typeof(float)),
           new Value("Heroic Burst Separation", typeof(float)),
           new Value("Legendary Burst Separation", typeof(float)),
           new Value("Easy Target Tracking", typeof(float)),
           new Value("Normal Target Tracking", typeof(float)),
           new Value("Heroic Target Tracking", typeof(float)),
           new Value("Legendary Target Tracking", typeof(float)),
           new Value("Easy Target Leading", typeof(float)),
           new Value("Normal Target Leading", typeof(float)),
           new Value("Heroic Target Leading", typeof(float)),
           new Value("Legendary Target Leading", typeof(float)),
           new Value("Easy Overcharge Chance", typeof(float)),
           new Value("Normal Overcharge Chance", typeof(float)),
           new Value("Heroic Overcharge Chance", typeof(float)),
           new Value("Legendary Overcharge Chance", typeof(float)),
           new Value("Easy Special Fire Delay", typeof(float)),
           new Value("Normal Special Fire Delay", typeof(float)),
           new Value("Heroic Special Fire Delay", typeof(float)),
           new Value("Legendary Special Fire Delay", typeof(float)),
           new Value("Easy Guidance Vs Player", typeof(float)),
           new Value("Normal Guidance Vs Player", typeof(float)),
           new Value("Heroic Guidance Vs Player", typeof(float)),
           new Value("Legendary Guidance Vs Player", typeof(float)),
           new Value("Easy Melee Delay Base", typeof(float)),
           new Value("Normal Melee Delay Base", typeof(float)),
           new Value("Heroic Melee Delay Base", typeof(float)),
           new Value("Legendary Melee Delay Base", typeof(float)),
           new Value("Easy Melee Delay Scale", typeof(float)),
           new Value("Normal Melee Delay Scale", typeof(float)),
           new Value("Heroic Melee Delay Scale", typeof(float)),
           new Value("Legendary Melee Delay Scale", typeof(float)),
           new Unused(16),
           new Value("Easy Grenade Chance Scale", typeof(float)),
           new Value("Normal Grenade Chance Scale", typeof(float)),
           new Value("Heroic Grenade Chance Scale", typeof(float)),
           new Value("Legendary Grenade Chance Scale", typeof(float)),
           new Value("Easy Grenade Timer Scale", typeof(float)),
           new Value("Normal Grenade Timer Scale", typeof(float)),
           new Value("Heroic Grenade Timer Scale", typeof(float)),
           new Value("Legendary Grenade Timer Scale", typeof(float)),
           new Unused(48),
           new Value("Easy Major Upgrade (Normal)", typeof(float)),
           new Value("Normal Major Upgrade (Normal)", typeof(float)),
           new Value("Heroic Major Upgrade (Normal)", typeof(float)),
           new Value("Legendary Major Upgrade (Normal)", typeof(float)),
           new Value("Easy Major Upgrade (Few)", typeof(float)),
           new Value("Normal Major Upgrade (Few)", typeof(float)),
           new Value("Heroic Major Upgrade (Few)", typeof(float)),
           new Value("Legendary Major Upgrade (Few)", typeof(float)),
           new Value("Easy Major Upgrade (Many)", typeof(float)),
           new Value("Normal Major Upgrade (Many)", typeof(float)),
           new Value("Heroic Major Upgrade (Many)", typeof(float)),
           new Value("Legendary Major Upgrade (Many)", typeof(float)),
           new Value("Easy Player Vehicle Ram Chance", typeof(float)),
           new Value("Normal Player Vehicle Ram Chance", typeof(float)),
           new Value("Heroic Player Vehicle Ram Chance", typeof(float)),
           new Value("Legendary Player Vehicle Ram Chance", typeof(float)),
           new Unused(132),
       }),
       new Reflexive("Grenades", 44, new MetaNode[] { 
           new Value("Max Count", typeof(short)),
           new Unused(2),
           new TagReference("Throwing_Effect"),
           new Unused(16),
           new TagReference("Equipment"),
           new TagReference("Projectile"),
       }),
       new Reflexive("Rasterizer Data", 264, new MetaNode[] { 
           new TagReference("Distance_Attenuation"),
           new TagReference("Vector_Normalization"),
           new TagReference("Gradients"),
           new TagReference("Loading_Screen"),
           new TagReference("Loading_Screen_Sweep"),
           new TagReference("Loading_Screen_Spinner"),
           new TagReference("Glow"),
           new TagReference("Loading_Screen_Logos"),
           new TagReference("Loading_Screen_Tickers"),
           new Unused(16),
           new Reflexive("Global Vertex Shaders", 8, new MetaNode[] { 
               new TagReference("Vertex_Shader"),
           }),
           new TagReference("Default_2D"),
           new TagReference("Default_3D"),
           new TagReference("Default_Cube_Map"),
           new Unused(48),
           new Unused(36),
           new TagReference("Global_Shader"),
           new Bitmask("Flags", new string[] { "Tint_Edge_Density" }, 32),
           new Value("Active Camo Refraction Amount", typeof(float)),
           new Value("Active Camo Distance Falloff", typeof(float)),
           new Value("Active Camo Tint Color R", typeof(float)),
           new Value("Active Camo Tint Color G", typeof(float)),
           new Value("Active Camo Tint Color B", typeof(float)),
           new Value("Active Camo Hyper Stealth Refraction", typeof(float)),
           new Value("Active Camo Hyper Stealth Distance Falloff", typeof(float)),
           new Value("Active Camo Hyper Stealth Tint  R", typeof(float)),
           new Value("Active Camo Hyper Stealth Tint G", typeof(float)),
           new Value("Active Camo Hyper Stealth Tint B", typeof(float)),
           new TagReference("unused"),
       }),
       new Reflexive("Interface Tag Refernces", 152, new MetaNode[] { 
           new TagReference("Font_System"),
           new TagReference("Font_Terminal"),
           new TagReference("Screen_Color_Table"),
           new TagReference("Hud_Color_Table"),
           new TagReference("Editor_Color_Table"),
           new TagReference("Dialog_Color_Table"),
           new TagReference("Hud_Globals"),
           new TagReference("Motion_Sensor_Sweep_Bitmap"),
           new TagReference("Motion_Sensor_Sweep_Bitmap_Mask"),
           new TagReference("Multiplayer_Hud_Bitmap"),
           new Unused(8),
           new TagReference("Hud_Digits_Definition"),
           new TagReference("Motion_Sensor_Blip_Bitmap"),
           new TagReference("Interface_Goo_Map_1"),
           new TagReference("Interface_Goo_Map_2"),
           new TagReference("Interface_Goo_Map_3"),
           new TagReference("Mainmenu_UI_Globals"),
           new TagReference("Singleplayer_UI_Globals"),
           new TagReference("Multiplayer_UI_Globals"),
       }),
       new Reflexive("Weapon List (To Do With Hard Coded Enum)", 152, new MetaNode[] { 
           new TagReference("Weapon"),
           new Unused(144),
       }),
       new Reflexive("Cheat Powerups", 152, new MetaNode[] { 
           new TagReference("Powerup"),
           new Unused(144),
       }),
       new Reflexive("Multiplayer Information (depricated)", 152, new MetaNode[] { 
           new TagReference("Flag"),
           new TagReference("Unit"),
           new Unused(8),
           new TagReference("Hill_Shader"),
           new TagReference("Flag_Shader"),
           new TagReference("Ball"),
           new Unused(104),
       }),
       new Reflexive("Player Information", 284, new MetaNode[] { 
           new TagReference("unused"),
           new Unused(28),
           new Value("Walking Speed", typeof(float)),
           new Unused(4),
           new Value("Forward Run Speed", typeof(float)),
           new Value("Backward Run Speed", typeof(float)),
           new Value("Sideways Run Speed", typeof(float)),
           new Value("Run Acceleration", typeof(float)),
           new Value("Forward Crouch Speed", typeof(float)),
           new Value("Backward Crouch Speed", typeof(float)),
           new Value("Sideways Crouch Speed", typeof(float)),
           new Value("Crouch Acceleration", typeof(float)),
           new Value("Airborn Acceleration", typeof(float)),
           new Unused(16),
           new Value("Grenade Origin X", typeof(float)),
           new Value("Grenade Origin Y", typeof(float)),
           new Value("Grenade Origin Z", typeof(float)),
           new Unused(12),
           new Value("Stun Penalty Movement", typeof(float)),
           new Value("Stun Penalty Turning", typeof(float)),
           new Value("Stun Penalty Jumping", typeof(float)),
           new Value("Min Stun Time", typeof(float)),
           new Value("Max Stun Time", typeof(float)),
           new Unused(8),
           new Value("Fp Idle Time", typeof(float)),
           new Value("...To", typeof(float)),
           new Value("Fp Skip Fraction", typeof(float)),
           new Unused(16),
           new TagReference("Coop_Respawn_Effect"),
           new Value("Binoculars Zoom Count", typeof(float)),
           new Value("Binoculars Zoom Range", typeof(float)),
           new Value("...To", typeof(float)),
           new TagReference("Binoculars_Zoom_In_Sound"),
           new TagReference("Binoculars_Zoom_Out_Sound"),
           new Unused(16),
           new TagReference("Active_Camo_On"),
           new TagReference("Active_Camo_Off"),
           new TagReference("Active_Camo_Error"),
           new TagReference("Active_Camo_Ready"),
           new TagReference("Flashlight_On"),
           new TagReference("Flashlight_Off"),
           new TagReference("Ice_Cream"),
       }),
       new Reflexive("Player Representation", 188, new MetaNode[] { 
           new TagReference("1st_Person_Hands"),
           new TagReference("1st_Person_Body"),
           new Unused(160),
           new TagReference("3rd_Person_Unit"),
           new StringID("3rd Person Unit Variant"),
       }),
       new Reflexive("Falling Damage", 104, new MetaNode[] { 
           new Unused(8),
           new Value("Harmful Falling Distance", typeof(float)),
           new Value("...To", typeof(float)),
           new TagReference("Falling_Damage"),
           new Unused(8),
           new Value("Maximum Falling Distance", typeof(float)),
           new TagReference("Distance_Damage"),
           new TagReference("Vehicle_Environment_Collision_Damage"),
           new TagReference("Vehicle_Killed_Unit_Damage_Effect"),
           new TagReference("Vehicle_Collision_Damage"),
           new TagReference("Flaming_Death_Damage"),
           new Unused(28),
       }),
       new Reflexive("Old Materials", 36, new MetaNode[] { 
           new StringID("Material Name"),
           new StringID("General Material Name"),
           new Value("Ground Friction Scale", typeof(float)),
           new Value("Ground Friction Normal K0 Scale", typeof(float)),
           new Value("Ground Friction Normal K1 Scale", typeof(float)),
           new Value("Ground Depth Scale", typeof(float)),
           new Value("Ground Damp Fraction Scale", typeof(float)),
           new TagReference("Melee_Hit_Sound"),
       }),
       new Reflexive("Materials", 180, new MetaNode[] { 
           new StringID("Name"),
           new StringID("Parent Name"),
           new Bitmask("Flags", new string[] {  }, 32),
           new HaloObjects.Enum("Old Material Type", new string[] { "Dirt", "Sand", "Stone", "Snow", "Wood", "Metal_(hollow)", "Metal_(thin)", "Metal_(thick)", "Rubber", "Glass", "Force_Field", "Grunt", "Hunter_Armor", "Hunter_Skin", "Elite", "Jackal", "Jackal_Energy_Shield", "Engineer_Skin", "Engineer_Force_Field", "Flood_Combat_Form", "Flood_Carrier_Form", "Cyborg_Armor", "Cyborg_Energy_Shield", "Human_Armor", "Human_Skin", "Sentinel", "Monitor", "Plastic", "Water", "Leaves", "Elite_Energy_Shield", "Ice", "Hunter_Shield" }, 32),
           new StringID("General Armor"),
           new StringID("Specific Armor"),
           new Unused(4),
           new Value("Friction", typeof(float)),
           new Value("Restitution", typeof(float)),
           new Value("Density", typeof(float)),
           new TagReference("Old_Material_Physics"),
           new TagReference("Breakable_Surface"),
           new TagReference("Sound_Sweetener_(small)"),
           new TagReference("Sound_Sweetener_(medium)"),
           new TagReference("Sound_Sweetener_(large)"),
           new TagReference("Sound_Sweetener_Rolling"),
           new TagReference("Sound_Sweetener_Grinding"),
           new TagReference("Sound_Sweetener_(melee)"),
           new Unused(8),
           new TagReference("Effect_Sweetener_(small)"),
           new TagReference("Effect_Sweetener_(medium)"),
           new TagReference("Effect_Sweetener_(large)"),
           new TagReference("Effect_Sweetener_Rolling"),
           new TagReference("Effect_Sweetener_Grinding"),
           new TagReference("Effect_Sweetener_(melee)"),
           new Unused(8),
           new Bitmask("Sweetener Inheritance Flags", new string[] { "Sound_Small", "Sound_Medium", "Sound_Large", "Sound_Rolling", "Sound_Grinding", "Sound_Melee", "", "Effect_Small", "Effect_Medium", "Effect_Large", "Effect_Rolling", "Effect_Grinding", "Effect_Melee" }, 32),
           new TagReference("Material_Effects"),
       }),
       new Reflexive("Multiplayer UI (obsolete)", 32, new MetaNode[] { 
           new Unused(32),
       }),
       new Reflexive("Profile Colors", 12, new MetaNode[] { 
           new Value("R", typeof(float)),
           new Value("G", typeof(float)),
           new Value("B", typeof(float)),
       }),
       new TagReference("Multiplayer_Globals"),
       new Reflexive("Runtime Level Data", 8, new MetaNode[] { 
           new Reflexive("Campaign Levels", 264, new MetaNode[] { 
               new Value("Campaign ID", typeof(int)),
               new Value("Map ID", typeof(int)),
               new String256("Scenario Path"),
           }),
       }),
       new Reflexive("UI Level Data", 24, new MetaNode[] { 
           new Reflexive("Campaigns", 2884, new MetaNode[] { 
               new Value("Campaign ID", typeof(int)),
               new Unused(2880),
           }),
           new Reflexive("Campaign Levels", 2896, new MetaNode[] { 
               new Value("Campaign ID", typeof(int)),
               new Value("Map ID", typeof(int)),
               new TagReference("Preview_Image"),
               new Unicode64("English Name"),
               new Unicode64("Japanese Name"),
               new Unicode64("German Name"),
               new Unicode64("French Name"),
               new Unicode64("Spanish Name"),
               new Unicode64("Italian Name"),
               new Unicode64("Korean Name"),
               new Unicode64("Chinese Name"),
               new Unicode64("Portuguese Name"),
               new Unicode256("English Description"),
               new Unicode256("Japanese Description"),
               new Unicode256("German Description"),
               new Unicode256("French Description"),
               new Unicode256("Spanish Description"),
               new Unicode256("Italian Description"),
               new Unicode256("Korean Description"),
               new Unicode256("Chinese Description"),
               new Unicode256("Portuguese Description"),
           }),
           new Reflexive("Multiplayer", 3172, new MetaNode[] { 
               new Value("Map ID", typeof(int)),
               new TagReference("Preview_Image"),
               new Unicode64("English Name"),
               new Unicode64("Japanese Name"),
               new Unicode64("Dutch Name"),
               new Unicode64("French Name"),
               new Unicode64("Spanish Name"),
               new Unicode64("Italian Name"),
               new Unicode64("Korean Name"),
               new Unicode64("Chinese Name"),
               new Unicode64("Portuguese Name"),
               new Unicode256("English Description"),
               new Unicode256("Japanese Description"),
               new Unicode256("Dutch Description"),
               new Unicode256("French Description"),
               new Unicode256("Spanish Description"),
               new Unicode256("Italian Description"),
               new Unicode256("Korean Description"),
               new Unicode256("Chinese Description"),
               new Unicode256("Portuguese Description"),
               new String256("Scenario Path"),
               new Value("Sort Order", typeof(int)),
               new Bitmask("Flags", new string[] { "Unlockable" }, 16),
               new Value("Max Teams None", typeof(byte)),
               new Value("Max Teams CTF", typeof(byte)),
               new Value("Max Teams Slayer", typeof(byte)),
               new Value("Max Teams Oddball", typeof(byte)),
               new Value("Max Teams KOTH", typeof(byte)),
               new Value("Max Teams Race", typeof(byte)),
               new Value("Max Teams Headhunter", typeof(byte)),
               new Value("Max Teams Juggernaught", typeof(byte)),
               new Value("Max Teams Territories", typeof(byte)),
               new Value("Max Teams Assault", typeof(byte)),
               new Value("Max Teams Stub 10", typeof(byte)),
               new Value("Max Teams Stub 11", typeof(byte)),
               new Value("Max Teams Stub 12", typeof(byte)),
               new Value("Max Teams Stub 13", typeof(byte)),
               new Value("Max Teams Stub 14", typeof(byte)),
               new Value("Max Teams Stub 15", typeof(byte)),
               new Unused(2),
           }),
       }),
       new TagReference("Default_Global_Lighting"),
       new Unused(8),
       new Value("English String Count", typeof(int)),
       new Value("English String Table Size", typeof(int)),
       new Value("English String Index Offset", typeof(int)),
       new Value("English String Table Offset", typeof(int)),
       new Value("Unknown", typeof(int)),
       new Unused(8),
       new Value("Japanese String Count", typeof(int)),
       new Value("Japanese String Table Size", typeof(int)),
       new Value("Japanese String Index Offset", typeof(int)),
       new Value("Japanese String Table Offset", typeof(int)),
       new Value("Unknown", typeof(int)),
       new Unused(8),
       new Value("Dutch String Count", typeof(int)),
       new Value("Dutch String Table Size", typeof(int)),
       new Value("Dutch String Index Offset", typeof(int)),
       new Value("Dutch String Table Offset", typeof(int)),
       new Value("Unknown", typeof(int)),
       new Unused(8),
       new Value("French String Count", typeof(int)),
       new Value("French String Table Size", typeof(int)),
       new Value("French String Index Offset", typeof(int)),
       new Value("French String Table Offset", typeof(int)),
       new Value("Unknown", typeof(int)),
       new Unused(8),
       new Value("Spanish String Count", typeof(int)),
       new Value("Spanish String Table Size", typeof(int)),
       new Value("Spanish String Index Offset", typeof(int)),
       new Value("Spanish String Table Offset", typeof(int)),
       new Value("Unknown", typeof(int)),
       new Unused(8),
       new Value("Italian String Count", typeof(int)),
       new Value("Italian String Table Size", typeof(int)),
       new Value("Italian String Index Offset", typeof(int)),
       new Value("Italian String Table Offset", typeof(int)),
       new Value("Unknown", typeof(int)),
       new Unused(8),
       new Value("Korean String Count", typeof(int)),
       new Value("Korean String Table Size", typeof(int)),
       new Value("Korean String Index Offset", typeof(int)),
       new Value("Korean String Table Offset", typeof(int)),
       new Value("Unknown", typeof(int)),
       new Unused(8),
       new Value("Chinese String Count", typeof(int)),
       new Value("Chinese String Table Size", typeof(int)),
       new Value("Chinese String Index Offset", typeof(int)),
       new Value("Chinese String Table Offset", typeof(int)),
       new Value("Unknown", typeof(int)),
       new Unused(8),
       new Value("Portuguese String Count", typeof(int)),
       new Value("Portuguese String Table Size", typeof(int)),
       new Value("Portuguese String Index Offset", typeof(int)),
       new Value("Portuguese String Table Offset", typeof(int)),
       new Value("Unknown", typeof(int)),
       });
   }
    }
}
