Update 2.66
10.6.2026
v2.66.0BETAMINOR
Seymour
Blitzball-KADER (Stats/Wachstum von 60 Spielern) JETZT in der SPIELDATEI bearbeitbar — `.ebp`-ATEL-Variablen-Schreiber BEWIESEN (RT byte-identisch + mutationsisoliert RT0)
- Der erste Schreiber, der die Blitzball-Basis in einer SPIELDATEI bearbeitet, nicht im Save. Die Basis-Stats und Wachstumskurven der 60 Spieler liegen IN
bltz0002.ebpals ATEL-Variablen0x126..0x12E(8 Stats × 60 Spieler × 4 Floatsa,b,c,growthType; Wachstumsformel entschlüsselt:gt -1→1,0→a+b·Lv,1→a+b·Lv^c,2→a+b·Lv−c·Lv²,3→a+b·Lv+c·Lv²). Neues PrimitiveEvent_File.PatchEventDataElement(varId, idx, bytes)(FfxLib/Event/Event_File.AtelVar.cs): ein In-Place-Patcher für ATEL-eventData-Variablen, längenerhaltend über den bestehendenScriptChunkOverride-Hook →Write()packt byte-identisch neu, außer dem bearbeiteten Ausschnitt. Neue Lese-/Schreib-DateiklasseFfxLib/Blitzball/BlitzballRoster_File.cs(dekodiert/bearbeitet das 60×8-Wachstum) + GateTools/BlitzballRosterRt0.cs(--blitzball-roster-rt0). BEWIESEN: byte-exaktes Lesen vs. den -Dump (Spieler HP =70 + 30·Lv + 0.711·Lv²); Read→Write ohne Bearbeitung byte-identisch (5.445.248 B); 480/480 growthType gültig; ein Einzel-Float-Patch isoliert auf die 4 Ziel-Element-Bytes an der vorhergesagten Adresse (@0x491680). RE (das fehlende Stück): die Wertbasis der Variablen =worker0_header + 0x30(robust aufgelöst, kein Hardcode). Ehrlichkeit: NUR Stats/Wachstum sind Dateidaten; Namen = String-Makro0x700+idx(Schreiber existiert, Verdrahtung ausstehend), Positionen/Technikdefinitionen/Spiel-Engine = EXE (IDA ausstehend), erlernte Techniken/Kosten/Vertrag/Stufe/EXP = Save (außerhalb des Umfangs der Spieldatei). Noch keine UI (als NächstesBlitzballRosterEditor). (NEUE Fähigkeit: erster Blitzball-Kader-Schreiber in eine Spieldatei). Berührt weder das Save (CHAPPU/Checksumme) noch Runtime, SIN oder andere Lanes; fügt nur neue Dateien + 1Program.cs-Dispatch hinzu. Build 0 Fehler / 361 Warnungen;--blitzball-roster-rt0PASS (byte-identisch ohne Bearbeitung + Mutation isoliert). Doku:docs/reverse/FFX_BLITZBALL_ROSTER_BASE_RE_2026-06-10.md+docs/ai/BLITZBALL_100PCT_EDITOR_CHECKLIST_2026-06-10.md. [vorher:v2.65.3]
v2.66.0.1BETAREVISION
Seymour
Blitzball: Spielernamen ALS BEARBEITBAR BESTÄTIGT (macrodic chunk 7) + In-lane-Accessor
- (Code tritt ein, aber das Verhalten ist unverändert — Accessor noch nicht konsumiert; RE/Vorbereitung). Die echte
new_uspc/menu/macrodic.dcpdekodiert und bewiesen, dass die Namen der 60 Spieler = Makro0x700+idx= chunk 7 sind (FFX-Zeichensatzbyte−0x0F; 101 Einträge):0x702=Datto,0x703=Letty,0x704=Jassu,0x705=Botta,0x706=Keepa,0x707=Bickson…;0x700/0x701referenzieren die umbenennbaren Hauptcharaktere (Tidus/Wakka). → Bereits HEUTE bearbeitbar über das ModulMacroExplorer(liest+schreibtmacrodic.dcpmit SafeWriter/Undo/Validierung/Round-Trip). Neuer read-only AccessorFfxLib/Blitzball/BlitzballPlayerNames.cs(Index↔Makro0x700+idx,TryGetName) als Vorbereitung für die künftigeBlitzballRosterEditor-UI, um den Namen inline zu zeigen/bearbeiten. Berührt nichtMacroExplorer(Text-lane) oder andere Lanes; fügt nur 1 Datei + Doku hinzu. Build 0 Fehler / 361 Warnungen. Doku:docs/reverse/FFX_BLITZBALL_ROSTER_BASE_RE_2026-06-10.md §3+docs/ai/BLITZBALL_100PCT_EDITOR_CHECKLIST_2026-06-10.md. [vorher:v2.66.0]