예제 #1
0
        public string DecryptTextblock()
        {
            Encoding cp437 = Encoding.GetEncoding(437);

            List <byte> sDecrypted = new List <byte>();

            char sChar = '0';

            for (int x = 0; x < Data.Length; x++)
            {
                sChar = Data[x];

                if (sChar >= 32)
                {
                    if ((int)sChar > 0xFF)
                    {
                        sDecrypted.Add((byte)(BtrieveUtility.GetDecode((int)sChar) - 32));
                    }
                    else
                    {
                        sDecrypted.Add((byte)(sChar - 32));
                    }
                }
            }

            return(Encoding.ASCII.GetString(sDecrypted.ToArray()).Replace("'", "''"));
        }
예제 #2
0
        public void Shop_TC01()
        {
            ShopType shopType = _shopContentManager.Select(3);

            Assert.AreEqual(3, shopType.Number);
            Assert.AreEqual("General Store", BtrieveUtility.ConvertToString(shopType.Name));
            Assert.AreEqual(10, shopType.ShopIndicator);
            Assert.AreEqual(175, shopType.ShopItemNumber[0]);
        }
예제 #3
0
        public string GetMessage(int line)
        {
            switch (line)
            {
            case 1:
                return(BtrieveUtility.ConvertToString(MessageLine1));

            case 2:
                return(BtrieveUtility.ConvertToString(MessageLine2));

            case 3:
                return(BtrieveUtility.ConvertToString(MessageLine3));

            default:
                return(BtrieveUtility.ConvertToString(MessageLine1));
            }
        }
예제 #4
0
        public static void PrintStats(PlayerType player)
        {
            List <string> outputText = new List <string>();
            string        tmpValue   = string.Empty;
            string        tmpName    = string.Empty;

            FieldInfo[] fi = typeof(PlayerType).GetFields(BindingFlags.Public | BindingFlags.Instance);

            foreach (FieldInfo info in fi)
            {
                string tmpType = info.FieldType.Name;
                object tmpData = info.GetValue(player);

                switch (tmpType)
                {
                case "Char[]":
                    tmpValue = BtrieveUtility.ConvertToString((char[])tmpData);
                    break;

                case "Int32[]":
                    tmpValue = BtrieveUtility.ConvertIntArrayToStringArray((int[])tmpData);
                    break;

                case "Int16[]":
                    tmpValue = BtrieveUtility.ConvertIntArrayToStringArray((short[])tmpData);
                    break;

                case "Byte[]":
                    tmpValue = BtrieveUtility.ConvertIntArrayToStringArray((byte[])tmpData);
                    break;

                default:
                    tmpValue = info.GetValue(player).ToString();
                    break;
                }

                Console.WriteLine("{0}, {1}", info.Name, tmpValue);
            }
        }
예제 #5
0
        public override short Initialize(string path)
        {
            string tmpFullPath = string.Format("{0}\\{1}", path, "wcctext2.dat");

            ContentType = ContentTypes.TextBlocks;

            if (File.Exists(tmpFullPath) == true)
            {
                LogManager.Log("Loading {0} from {1}", ContentType.ToString(), tmpFullPath);

                FileName = BtrieveUtility.ConvertFileName(tmpFullPath);

                TextBlockType RecordData = new TextBlockType();

                RecordSize = Marshal.SizeOf(RecordData);

                Status = BTRCALL(BtrieveTypes.BtrieveActionType.BOPEN,
                                 PositionBlock, ref RecordData,
                                 ref RecordSize,
                                 FileName, 0, 0);

                Status = BTRCALL(BtrieveTypes.BtrieveActionType.BGETFIRST, PositionBlock,
                                 ref RecordData, ref RecordSize, FileName, 0, 0);

                if (Status == BtrieveTypes.BtrieveStatus.COMPLETE_SUCCESSFULLY)
                {
                    if (Contents.ContainsKey(RecordData.Number) == false)
                    {
                        Contents.Add(RecordData.Number, new Dictionary <short, TextBlockType>());
                    }

                    Contents.Storage[RecordData.Number].Add(RecordData.PartNum, RecordData);
                }
                else
                {
                    Console.WriteLine("Error: {0}", Status);
                }

                while (Status != BtrieveTypes.BtrieveStatus.END_OF_FILE)
                {
                    Status = BTRCALL(BtrieveTypes.BtrieveActionType.BGETNEXT, PositionBlock,
                                     ref RecordData, ref RecordSize, FileName, 0, 0);

                    if (Status == BtrieveTypes.BtrieveStatus.END_OF_FILE)
                    {
                        Status = (short)BtrieveTypes.BtrieveStatus.COMPLETE_SUCCESSFULLY;
                        break;
                    }

                    if (Status == BtrieveTypes.BtrieveStatus.COMPLETE_SUCCESSFULLY)
                    {
                        if (Contents.ContainsKey(RecordData.Number) == false)
                        {
                            Contents.Add(RecordData.Number, new Dictionary <short, TextBlockType>());
                        }

                        Contents.Storage[RecordData.Number].Add(RecordData.PartNum, RecordData);
                    }
                    else
                    {
                        Console.WriteLine("Error: {0}", Status);
                    }
                }
            }
            else
            {
                LogManager.Log("Could not find file {0}", tmpFullPath);
            }

            LogManager.Log("Number of {0} loaded: {1}. Status = {2}", ContentType.ToString(), Count, BtrieveTypes.BtrieveErrorCode(Status));

            return(Status);
        }
예제 #6
0
        public override short Initialize(string path)
        {
            ContentType = Structures.ContentTypes.Gangs;

            string tmpFullPath = string.Format("{0}\\{1}", path, "wccgang2.dat");

            if (File.Exists(tmpFullPath) == true)
            {
                LogManager.Log("Loading {0} from {1}", ContentType.ToString(), tmpFullPath);

                FileName = BtrieveUtility.ConvertFileName(tmpFullPath);

                GangType RecordData = new GangType();

                RecordSize = Marshal.SizeOf(RecordData);

                Status = BTRCALL(BtrieveTypes.BtrieveActionType.BOPEN,
                                 PositionBlock, ref RecordData,
                                 ref RecordSize,
                                 FileName, 0, 0);

                Status = BTRCALL(BtrieveTypes.BtrieveActionType.BGETFIRST, PositionBlock,
                                 ref RecordData, ref RecordSize, FileName, 0, 0);

                if (Status == BtrieveTypes.BtrieveStatus.COMPLETE_SUCCESSFULLY)
                {
                    Contents.Add(BtrieveUtility.ConvertToString(RecordData.KeyName), RecordData);
                }
                else
                {
                    if (Status == BtrieveTypes.BtrieveStatus.END_OF_FILE)
                    {
                        return((short)BtrieveTypes.BtrieveStatus.COMPLETE_SUCCESSFULLY);
                    }

                    Console.WriteLine("Error: {0}", Status);
                }

                while (Status != BtrieveTypes.BtrieveStatus.END_OF_FILE)
                {
                    Status = BTRCALL(BtrieveTypes.BtrieveActionType.BGETNEXT, PositionBlock,
                                     ref RecordData, ref RecordSize, FileName, 0, 0);

                    if (Status == BtrieveTypes.BtrieveStatus.END_OF_FILE)
                    {
                        Status = (short)BtrieveTypes.BtrieveStatus.COMPLETE_SUCCESSFULLY;
                        break;
                    }

                    if (Status == BtrieveTypes.BtrieveStatus.COMPLETE_SUCCESSFULLY)
                    {
                        Contents.Add(BtrieveUtility.ConvertToString(RecordData.KeyName), RecordData);
                    }
                    else
                    {
                        Console.WriteLine("Error: {0}", Status);
                    }
                }
            }
            else
            {
                LogManager.Log("Could not find file {0}", tmpFullPath);
            }

            LogManager.Log("Number of {0} loaded: {1}. Status = {2}", ContentType.ToString(), Count, BtrieveTypes.BtrieveErrorCode(Status));

            return(Status);
        }
예제 #7
0
 public byte[] Serialized()
 {
     return(BtrieveUtility.Serialize <SpellType>(this));
 }
예제 #8
0
 public string GetShortName()
 {
     return(BtrieveUtility.ConvertToString(ShortName));
 }
예제 #9
0
 public string GetDescriptionB()
 {
     return(BtrieveUtility.ConvertToString(DescriptionB));
 }
예제 #10
0
 public byte[] Serialize()
 {
     return(BtrieveUtility.Serialize <PlayerType>(this));
 }