public void Load(string fileName)
        {
            try {
                Clear();

                if (File.Exists(fileName))
                {
                    FileStream fs = new FileStream(fileName, FileMode.Open);
                    using (var dis = new BinaryReader(fs)) {
                        FileHeader header = new FileHeader();
                        header.Read(dis);

                        int cnt = StreamUtils.ReadInt(dis);
                        for (int i = 0; i < cnt; i++)
                        {
                            JournalItem m = new JournalItem();
                            m.LoadFromStream(dis, header.Version);
                            fMessages.Add(m);
                        }

                        if (dis.BaseStream.Length - dis.BaseStream.Position == 0)
                        {
                            Logger.Write("journalLoad(): ok");
                        }
                        else
                        {
                            Logger.Write("journalLoad(): fail");
                        }
                    }
                }
            } catch (Exception ex) {
                Logger.Write("Journal.load(): " + ex.Message);
            }
        }
        public void Save(string fileName)
        {
            try {
                FileStream fs = new FileStream(fileName, FileMode.CreateNew);
                using (var dos = new BinaryWriter(fs)) {
                    RSJ_Header.Write(dos);

                    int cnt = fMessages.Count;
                    StreamUtils.WriteInt(dos, cnt);
                    for (int i = 0; i < cnt; i++)
                    {
                        JournalItem m = fMessages[i];
                        m.SaveToStream(dos, RSJ_Header.Version);
                    }
                }
            } catch (Exception ex) {
                Logger.Write("Journal.save(): " + ex.Message);
            }
        }
        public void StoreMessage(int type, string text, int color, NWDateTime dateTime)
        {
            JournalItem m = new JournalItem(type, text, color, dateTime);

            fMessages.Add(m);
        }
        public void StoreMessage(int type, string text, int color, int turn)
        {
            JournalItem m = new JournalItem(type, text, color, turn);

            fMessages.Add(m);
        }
        public void StoreMessage(int type, string text, int color)
        {
            JournalItem m = new JournalItem(type, text, color, JournalItem.DEFAULT_TURN);

            fMessages.Add(m);
        }