Exemplo n.º 1
0
        /// <summary>
        /// Converts the loaded file's GffType to a string.
        /// </summary>
        /// <param name="type"></param>
        /// <returns></returns>
        internal static string GetGffString(GffType type)
        {
            switch (type)
            {
            case GffType.ARE: return("ARE"); // area

            case GffType.BIC: return("BIC"); // saved player character

            case GffType.CAM: return("CAM"); // campaign info

            case GffType.DLG: return("DLG"); // dialog file

            case GffType.FAC: return("FAC"); // faction table

            case GffType.GIC: return("GIC"); // area object-lists (counts only)

            case GffType.GIT: return("GIT"); // area object-lists (incl/ area-properties and object-data)

            case GffType.IFO: return("IFO"); // (1) module info (2) saved player character list and data

            case GffType.JRL: return("JRL"); // journal

            case GffType.ROS: return("ROS"); // roster character

            case GffType.RST: return("RST"); // rosterlist

            case GffType.ULT: return("ULT"); // light effect

            case GffType.UPE: return("UPE"); // placeable effect

            case GffType.UTC: return("UTC"); // creature

            case GffType.UTD: return("UTD"); // door

            case GffType.UTE: return("UTE"); // encounter

            case GffType.UTI: return("UTI"); // item

            case GffType.UTM: return("UTM"); // merchant (store)

            case GffType.UTP: return("UTP"); // placeable

            case GffType.UTR: return("UTR"); // tree

            case GffType.UTS: return("UTS"); // sound

            case GffType.UTT: return("UTT"); // trigger

            case GffType.UTW: return("UTW"); // waypoint

            case GffType.WMP: return("WMP"); // world map info
            }
            return("GFF");                   // GffType.generic;
        }
Exemplo n.º 2
0
        public static bool IsLarge(GffType type)
        {
            switch (type)
            {
            case GffType.Dword64:
            case GffType.Int64:
            case GffType.Double:
            case GffType.CExoString:
            case GffType.ResRef:
            case GffType.CExoLocString:
            case GffType.Void:
                return(true);

            default:
                return(false);
            }
        }
Exemplo n.º 3
0
        public static bool IsSimple(GffType type)
        {
            switch (type)
            {
            case GffType.Byte:
            case GffType.Char:
            case GffType.Word:
            case GffType.Short:
            case GffType.Dword:
            case GffType.Int:
            case GffType.Float:
                return(true);

            default:
                return(false);
            }
        }
Exemplo n.º 4
0
        /// <summary>
        /// Opens a dialog to choose a standard GFF-type.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void contextclick_EditGffType(object sender, EventArgs e)
        {
            _typeid = _f.GffData.Type;

            using (var f = new TypeDialog())
            {
                if (f.ShowDialog(this) == DialogResult.OK &&
                    _f.GffData.Type != _typeid)
                {
                    _f.GffData.Type    = _typeid;
                    _f.GffData.TypeVer = GffData.GetGffString(_typeid) + Globals.SupportedVersion;

                    _f.tb_Val.Text = _f.GffData.TypeVer;

                    _f.GffData.Changed = true;
                    _f.GffData         = _f.GffData;

                    _f.DirtyState = GeneralGFF.DIRTY_non;
                }
            }
        }
Exemplo n.º 5
0
        private GffField(string label, GffType type, GffFieldData gfd) : base(label, type)
        {
            _fieldData = gfd;
            switch (type)
            {
            case GffType.Byte:
                ValueReader = new GffByteReader();
                break;

            case GffType.CExoLocString:
                ValueReader = new GffExoLocStringReader();
                break;

            case GffType.CExoString:
                ValueReader = new GffExoStringReader();
                break;

            case GffType.Char:
                ValueReader = new GffCharReader();
                break;

            case GffType.Double:
                ValueReader = new GffDoubleReader();
                break;

            case GffType.Dword:
                ValueReader = new GffDwordReader();
                break;

            case GffType.Dword64:
                ValueReader = new GffDword64Reader();
                break;

            case GffType.Float:
                ValueReader = new GffFloatReader();
                break;

            case GffType.Int:
                ValueReader = new GffIntReader();
                break;

            case GffType.Int64:
                ValueReader = new GffInt64Reader();
                break;

            case GffType.ResRef:
                ValueReader = new GffResRefReader();
                break;

            case GffType.Short:
                ValueReader = new GffShortReader();
                break;

            case GffType.Word:
                ValueReader = new GffWordReader();
                break;

            case GffType.Void:
                break;

            case GffType.Struct:
                break;

            case GffType.List:
                break;

            case GffType.Invalid:
                break;

            default:
                ValueReader = null;
                break;
            }
        }
Exemplo n.º 6
0
 public GffField(string label, GffType type, byte[] data) : this(label, type, new GffFieldData(data))
 {
 }
Exemplo n.º 7
0
 public GffField(string label, GffType type, string value) : this(label, type, new GffFieldData())
 {
     Value = value;
 }
Exemplo n.º 8
0
 public static bool IsComposite(GffType type)
 {
     return(type == GffType.Struct || type == GffType.List);
 }
Exemplo n.º 9
0
 protected GffComponent(string label, GffType type)
 {
     Owner = null;
     Label = label;
     Type  = type;
 }
Exemplo n.º 10
0
 protected GffComposite(string label, GffType type) : base(label, type)
 {
     Childs = new List <GffComponent>();
 }