public FETextDecode() { this.ROM = Program.ROM; this.SystemTextEncoder = Program.SystemTextEncoder; this.PriorityCode = PatchUtil.SearchPriorityCode(); this.HasAutoNewLine = PatchUtil.SearchAutoNewLinePatch(); }
void LoadTextEscapeList() { this.EscapeList = new List <TextEscape>(); string[] lines = File.ReadAllLines(U.ConfigDataFilename("text_escape_")); for (int i = 0; i < lines.Length; i++) { string line = lines[i]; if (U.IsComment(line) || U.OtherLangLine(line)) { continue; } line = U.ClipComment(line); if (line == "") { continue; } string[] sp = line.Split('\t'); if (sp.Length < 3) { continue; } TextEscape te = new TextEscape(); te.Code = sp[0]; te.Info = sp[1]; te.Category = sp[2]; if (!IsDetail) {//詳細テキストじゃないと、移動とロードを出さない. if (IsDetailOnly(te.Category)) { continue; } } this.EscapeList.Add(te); } //自動改行 if (PatchUtil.SearchAutoNewLinePatch() == PatchUtil.AutoNewLine_enum.AutoNewLine) { { TextEscape te = new TextEscape(); te.Code = "@0080@0090"; te.Info = R._("AutoNewLine Conversation Text[ConversationText]"); te.Category = ""; this.EscapeList.Add(te); } { TextEscape te = new TextEscape(); te.Code = "@0080@0091"; te.Info = R._("AutoNewLine Battle Text[BattleText]"); te.Category = ""; this.EscapeList.Add(te); } } }
static bool isEscapeCode(uint code, uint beforecode) { if (beforecode == 0x0010 || beforecode == 0x0011 || beforecode == 0x0080 || code <= 0x001F || (code >= 0x0080 && code <= 0x0F00) ) { return(true); } if (PatchUtil.SearchAutoNewLinePatch() == PatchUtil.AutoNewLine_enum.AutoNewLine) { if (code == 0x90 || code == 0x91) {//AutoNewLine Code return(true); } } return(false); }