Update 2.14
6.6.2026
v2.14.0BETA
Seymour
Der JP-Textdecoder liest die 2-Byte-KANJI (Auszahlung des heutigen Cracks):
- der verlustfreie
FfxEncoding-Codec erkennt nun die 2-Byte-Fontbank-Leads (0x06/0x26-0x2F, bewiesen indocs/reverse/FFX_EVENT_TEXT_ENCODING_CRACKED_2026-06-06.md) und zeigt lesbare Glyphen-Referenzen —<FTCX:n>(das Kanji dieses Events),<K:n>(base.ftc-Kanji),<F2/F3/F5:n>(andere Banks) — statt des alten verstümmelten<C..>+<MISS>. Vollsymmetrischer Encoder (Token↔Bytes exakt). Neues Gate--jptext-rt0BEWEIST am Event-Korpus (367 Dateien, 18.935 JP-Scripts, 15.467 mit 2-Byte-Glyphen): Glyph-Drift = 0 + Codec idempotent (bereits vorhandene Single-Byte-Zeichenaliase kanonisieren einmal und bleiben dann fix = sicher; no-edit gibt bereits die Originalbytes zurück). Nützt direktBattleTextExplorer(nutzt den verlustfreien Codec).offline_ci= 23 Gates PASS. csproj-Erhöhung (für den Benutzer sichtbare Fähigkeit)
v2.14.1BETA
Seymour
MonMagic-Save jetzt byte-sicher (der letzte driftende Writer, getötet):
Ability_Command.WriteListbekam einen nur-preservieren-Pfad: Es erfasst die ursprünglichen Text-Pool-Offsets beim Lesen und, bei einem Save OHNE Textbearbeitung, emittiert den ursprünglichen Pool wörtlich erneut (platziert jedes Skript an seinem ursprünglichen Offset, sodass geteilte Strings — z. B. monmagics viele leere Felder alle bei Offset 0 — GETEILT bleiben, statt dupliziert zu werden). Read-Back-Verifikation: jede längs-/inhaltsverändernde Textbearbeitung fällt auf das übliche Append zurück. Das tötet den monmagic-Drift z. B. ohne das Dedup, das command/item brach (zuvor widerlegt).AbilityCommandLab-Gate: command/item RT0 4/4 + monmagic RT0 4/4 (war 0/4 Drift) + 1-Flag-Bearbeitung für alle lokalisiert; monmagic zu CERTIFIED ERHÖHT (ein Drift scheitert jetzt am Gate).offline_ciPASS. csproj-Bump (der -Save des Kernel-Editors ist jetzt byte-treu)
v2.14.2BETA
Seymour
BattleTextExplorer gewinnt die JP-Quelle (echtes Kanji, kein `<MISS>` mehr) + 2 neue Gates:
BattleTextExplorer_DataModel.ReloadSourceslädt jetztjppc/battle/kernel/btl_txt.bindurch denJpDecoder— der sichtbare Lohn des 2-Byte-Knacks (v2.14.0). Headless bewiesen durch das neue Gate--btltext-jp-decode(Tools/BtlTextJpDecodeRt0): JPbtl_txt.bin= 128 Einträge / 451 Wörter → 44 Kanji tauchen als<K:n>(base.ftc-Bank), 0<MISS>, mit einem verlustfreien Round-Trip 451/451 (decode→encode==bytes). Die Realität verfeinerte die Vermutung: Kampftext verwendet nur die gemeinsame<K:n>-Bank (kein<FTCX>/F2/F3/F5— die sind pro-Event). Phantom-Flag-Bug behoben: das--btltexttable-rt0-Flag wurde im Header vonBtlTextTableRt0.csbeworben, aber nie inProgram.csverdrahtet — das Ausführen im Hintergrund fiel auf die GUI durch (WinExe, 0 stdout) und "starb ohne Ausgabe". Jetzt verdrahtet (JP-Standard, Sprach-Fallback): JP PASS (3982/3982) + US PASS (1910/1910).--wave1-rt0weiterhin 12/12 PASS;--btltext-jp-decodeinoffline_ci.ps1verdrahtet → 25 Gates PASS (waren 24). (Die 2 Gates wären nur Doc; der csproj-Bump ist für die JP-Quelle in der Explorer-UI.)
v2.14.3BETA
Seymour
Monster Commands (monmagic) Open-Crash GETÖTET + Workspace-Persistenz + Aurora-Namen:
- Crash: das Öffnen von "Monster Commands 1/2" tötete den Editor (NPE in
Ability_Command.WriteList→WriteBytesIntoTextFile, ausgelöst imBuildFile()). Ursache: das Modell wurde vonUnusedText1/2*inJapaneseOnlyText1/2*umbenannt und bekamOriginal*Offset(v2.14.1 nur-preservieren), aber die UI-per (KernelCommands_Wrapper,MonsterStatSheet_Wrapper) behielten die ALTEN Namen und hatten die Offsets nicht →PropertyUtil.CopyPropertiesverwarf diese Felder beiWrap/Unwrap→ null → nur-preservieren schlug fehl, fiel auf den Append-Rebuild zurück und warf eine NPE auf monmagics leeren JP-only-Feldern. Fix: vollständiger Round-Trip in beiden pern (Umbenennung +Original*Offset) + null-sicheresFfxEncoding.WriteBytesIntoTextFile. Neues Gate--kernelcmd-roundtrip(Tools/KernelCommandRoundtripRt0) beweist den EXAKTEN GUI-Pfad (ReadList→Wrap→Unwrap→WriteList) byte-identisch 4/4 (command/item/monmagic1/2) — was dasAbilityCommandLab(direkter Pfad) strukturell nicht sehen konnte. Inoffline_civerdrahtet → 26 Gates PASS. - Workspace-Persistenz: der geladene
master-Ordner wird in%LocalAppData%\FFXProjectEditor\last-project.txtgespeichert und beim Start automatisch wiederhergestellt (Priorität: CLI-Arg → zuletzt geladen → Defaults). Einmal laden, für immer gemerkt; kein Zurückfallen mehr auf den Steam-Mod-Ordner. - Globaler Crash-Logger (
%LocalAppData%\FFXProjectEditor\crash.log, viaUtils/CrashLog) + defensives Laden inKernelCommands(erklärender roter Fehler statt App-Tod). - Aurora Chamber: Monster-Anker zeigen jetzt den NAMEN (
🔴 <name>) statt "monster (live)". - Nur-Doku-Ride-along:
docs/governance/FFX_EDITOR_UI_CONVENTIONS.md(Panel-Standard = Shop Explorer, kein 50-Spalten-DataGrid) + DINPUT8 Regel aufgehoben (Probe ist frei) + Mehrsprachigkeits-/MagicViewer-Hinweise in der Checkliste. csproj-Bump (UI-Features).