OpenKH / OpenKh

Kingdom Hearts libraries, tools, game engine and documentation
https://openkh.dev
Apache License 2.0
300 stars 83 forks source link

[ModsManager] Various listpatch additions & fixes #1092

Closed Zurphing closed 3 months ago

Zurphing commented 3 months ago

MISC: -Atkp, Cmd, Enmp, Przt, & Sklt Listpatches can now listpatch new entries instead of simply replacing old entries. -ModManager will no longer crash when opening a YML with formatting errors. Instead, it shows the mod is broken under the offending mods authors name. -Binarc patching has been updated. Instead of searching only by name & type, you can now specify index so if files are named the same, you don't need to edit in order. Name still takes priority over Index, however.

LISTPATCHES ADDED: -Added 07localset listpatching Allows adding new ProgramID's for maps that are beyond the default 0x00 through 0x32. -Added Arif listpatching. Allows modifying & adding in new areainfos for worlds, preventing crashes on PC. -Added Memt listpatching. Allows conditionals based on story flags to be made to swap the loaded player/party models. Can patch existing indexes, or create entirely new indexes. -Added Limt listpatching. Allows modifying & adding in new limits. -Added Vtbl listpatching. Allows modifying the voice table the game uses to randomize sound clips for player/party members, adding in new entries. -Added Btlv listpatching. Btlv allows you to modify the worlds Battle Levels, depending on ProgressFlags being triggered. -Added Libretto listpatching. Allows additional flavor-text/NPC text/events activated via textbox to be made, like Port Royal Mapskip/Refightable Sephiroth. You can either update existing entries with brand new Contents, or make entirely new entries. -Added Mixdata.bar's Reci, Leve, and Cond listpatching (Tests added). Allows creating new synthesis recipes to be made, additional conditionals to fulfill to receive items. -Added 15jigsaw.bin listpatching. Allowing you to add in new puzzle pieces or modify existing ones. Works by searching for Piece+Part, and adding new entries if both requirements aren't fulfilled. -Added place.bin listpatching. Allows you to give new room indices names by assigning an index text from Sys.bar, or change existing rooms text ID's. -Added 12soundinfo.bar listpatching. Allows you to add in new indices and change footstep/etc. sfx to be loaded on a per-room basis per world.

Tests have been added for all the listpatch additions.