OpenMW
apps/opencs/model/world/columns.hpp
Go to the documentation of this file.
00001 #ifndef CSM_WOLRD_COLUMNS_H
00002 #define CSM_WOLRD_COLUMNS_H
00003 
00004 #include <string>
00005 #include <vector>
00006 
00007 namespace CSMWorld
00008 {
00009     namespace Columns
00010     {
00011         enum ColumnId
00012         {
00013             ColumnId_Value = 0,
00014             ColumnId_Id = 1,
00015             ColumnId_Modification = 2,
00016             ColumnId_RecordType = 3,
00017             ColumnId_ValueType = 4,
00018             ColumnId_Description = 5,
00019             ColumnId_Specialisation = 6,
00020             ColumnId_Attribute = 7,
00021             ColumnId_Name = 8,
00022             ColumnId_Playable = 9,
00023             ColumnId_Hidden = 10,
00024             ColumnId_MaleWeight = 11,
00025             ColumnId_FemaleWeight = 12,
00026             ColumnId_MaleHeight = 13,
00027             ColumnId_FemaleHeight = 14,
00028             ColumnId_Volume = 15,
00029             ColumnId_MinRange = 16,
00030             ColumnId_MaxRange = 17,
00031             ColumnId_SoundFile = 18,
00032             ColumnId_MapColour = 19,
00033             ColumnId_SleepEncounter = 20,
00034             ColumnId_Texture = 21,
00035             ColumnId_SpellType = 22,
00036             ColumnId_Cost = 23,
00037             ColumnId_ScriptText = 24,
00038             ColumnId_Region = 25,
00039             ColumnId_Cell = 26,
00040             ColumnId_Scale = 27,
00041             ColumnId_Owner = 28,
00042             ColumnId_Soul = 29,
00043             ColumnId_Faction = 30,
00044             ColumnId_FactionIndex = 31,
00045             ColumnId_Charges = 32,
00046             ColumnId_Enchantment = 33,
00047             ColumnId_CoinValue = 34,
00048             ColumnId_Teleport = 35,
00049             ColumnId_TeleportCell = 36,
00050             ColumnId_LockLevel = 37,
00051             ColumnId_Key = 38,
00052             ColumnId_Trap = 39,
00053             ColumnId_BeastRace = 40,
00054             ColumnId_AutoCalc = 41,
00055             ColumnId_StarterSpell = 42,
00056             ColumnId_AlwaysSucceeds = 43,
00057             ColumnId_SleepForbidden = 44,
00058             ColumnId_InteriorWater = 45,
00059             ColumnId_InteriorSky = 46,
00060             ColumnId_Model = 47,
00061             ColumnId_Script = 48,
00062             ColumnId_Icon = 49,
00063             ColumnId_Weight = 50,
00064             ColumnId_EnchantmentPoints = 51,
00065             ColumnId_Quality = 52,
00066             ColumnId_Ai = 53,
00067             ColumnId_AiHello = 54,
00068             ColumnId_AiFlee = 55,
00069             ColumnId_AiFight = 56,
00070             ColumnId_AiAlarm = 57,
00071             ColumnId_BuysWeapons = 58,
00072             ColumnId_BuysArmor = 59,
00073             ColumnId_BuysClothing = 60,
00074             ColumnId_BuysBooks = 61,
00075             ColumnId_BuysIngredients = 62,
00076             ColumnId_BuysLockpicks = 63,
00077             ColumnId_BuysProbes = 64,
00078             ColumnId_BuysLights = 65,
00079             ColumnId_BuysApparati = 66,
00080             ColumnId_BuysRepairItems = 67,
00081             ColumnId_BuysMiscItems = 68,
00082             ColumnId_BuysPotions = 69,
00083             ColumnId_BuysMagicItems = 70,
00084             ColumnId_SellsSpells = 71,
00085             ColumnId_Trainer = 72,
00086             ColumnId_Spellmaking = 73,
00087             ColumnId_EnchantingService = 74,
00088             ColumnId_RepairService = 75,
00089             ColumnId_ApparatusType = 76,
00090             ColumnId_ArmorType = 77,
00091             ColumnId_Health = 78,
00092             ColumnId_ArmorValue = 79,
00093             ColumnId_Scroll = 80,
00094             ColumnId_ClothingType = 81,
00095             ColumnId_WeightCapacity = 82,
00096             ColumnId_OrganicContainer = 83,
00097             ColumnId_Respawn = 84,
00098             ColumnId_CreatureType = 85,
00099             ColumnId_SoulPoints = 86,
00100             ColumnId_OriginalCreature = 87,
00101             ColumnId_Biped = 88,
00102             ColumnId_HasWeapon = 89,
00103             ColumnId_NoMovement = 90,
00104             ColumnId_Swims = 91,
00105             ColumnId_Flies = 92,
00106             ColumnId_Walks = 93,
00107             ColumnId_Essential = 94,
00108             ColumnId_SkeletonBlood = 95,
00109             ColumnId_MetalBlood = 96,
00110             ColumnId_OpenSound = 97,
00111             ColumnId_CloseSound = 98,
00112             ColumnId_Duration = 99,
00113             ColumnId_Radius = 100,
00114             ColumnId_Colour = 101,
00115             ColumnId_Sound = 102,
00116             ColumnId_Dynamic = 103,
00117             ColumnId_Portable = 104,
00118             ColumnId_NegativeLight = 105,
00119             ColumnId_Flickering = 106,
00120             ColumnId_SlowFlickering = 107,
00121             ColumnId_Pulsing = 108,
00122             ColumnId_SlowPulsing = 109,
00123             ColumnId_Fire = 110,
00124             ColumnId_OffByDefault = 111,
00125             ColumnId_IsKey = 112,
00126             ColumnId_Race = 113,
00127             ColumnId_Class = 114,
00128             Columnid_Hair = 115,
00129             ColumnId_Head = 116,
00130             ColumnId_Female = 117,
00131             ColumnId_WeaponType = 118,
00132             ColumnId_WeaponSpeed = 119,
00133             ColumnId_WeaponReach = 120,
00134             ColumnId_MinChop = 121,
00135             ColumnId_MaxChip = 122,
00136             Columnid_MinSlash = 123,
00137             ColumnId_MaxSlash = 124,
00138             ColumnId_MinThrust = 125,
00139             ColumnId_MaxThrust = 126,
00140             ColumnId_Magical = 127,
00141             ColumnId_Silver = 128,
00142             ColumnId_Filter = 129,
00143             ColumnId_PositionXPos = 130,
00144             ColumnId_PositionYPos = 131,
00145             ColumnId_PositionZPos = 132,
00146             ColumnId_PositionXRot = 133,
00147             ColumnId_PositionYRot = 134,
00148             ColumnId_PositionZRot = 135,
00149             ColumnId_DoorPositionXPos = 136,
00150             ColumnId_DoorPositionYPos = 137,
00151             ColumnId_DoorPositionZPos = 138,
00152             ColumnId_DoorPositionXRot = 139,
00153             ColumnId_DoorPositionYRot = 140,
00154             ColumnId_DoorPositionZRot = 141,
00155             ColumnId_DialogueType = 142,
00156             ColumnId_QuestIndex = 143,
00157             ColumnId_QuestStatusType = 144,
00158             ColumnId_QuestDescription = 145,
00159             ColumnId_Topic = 146,
00160             ColumnId_Journal = 147,
00161             ColumnId_Actor = 148,
00162             ColumnId_PcFaction = 149,
00163             ColumnId_Response = 150,
00164             ColumnId_Disposition = 151,
00165             ColumnId_Rank = 152,
00166             ColumnId_Gender = 153,
00167             ColumnId_PcRank = 154,
00168             ColumnId_Scope = 155,
00169 
00170             // Allocated to a separate value range, so we don't get a collision should we ever need
00171             // to extend the number of use values.
00172             ColumnId_UseValue1 = 0x10000,
00173             ColumnId_UseValue2 = 0x10001,
00174             ColumnId_UseValue3 = 0x10002,
00175             ColumnId_UseValue4 = 0x10003,
00176 
00177             // Allocated to a separate value range, so we don't get a collision should we ever need
00178             // to extend the number of attributes. Note that this is not the number of different
00179             // attributes, but the number of attributes that can be references from a record.
00180             ColumnId_Attribute1 = 0x20000,
00181             ColumnId_Attribute2 = 0x20001,
00182 
00183             // Allocated to a separate value range, so we don't get a collision should we ever need
00184             // to extend the number of skills. Note that this is not the number of different
00185             // skills, but the number of skills that can be references from a record.
00186             ColumnId_MajorSkill1 = 0x30000,
00187             ColumnId_MajorSkill2 = 0x30001,
00188             ColumnId_MajorSkill3 = 0x30002,
00189             ColumnId_MajorSkill4 = 0x30003,
00190             ColumnId_MajorSkill5 = 0x30004,
00191 
00192             ColumnId_MinorSkill1 = 0x40000,
00193             ColumnId_MinorSkill2 = 0x40001,
00194             ColumnId_MinorSkill3 = 0x40002,
00195             ColumnId_MinorSkill4 = 0x40003,
00196             ColumnId_MinorSkill5 = 0x40004,
00197 
00198             ColumnId_Skill1 = 0x50000,
00199             ColumnId_Skill2 = 0x50001,
00200             ColumnId_Skill3 = 0x50002,
00201             ColumnId_Skill4 = 0x50003,
00202             ColumnId_Skill5 = 0x50004,
00203             ColumnId_Skill6 = 0x50005
00204         };
00205 
00206         std::string getName (ColumnId column);
00207 
00208         int getId (const std::string& name);
00210 
00211         bool hasEnums (ColumnId column);
00212 
00213         std::vector<std::string> getEnums (ColumnId column);
00215     }
00216 }
00217 
00218 #endif