Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Import Music #513

Closed
1 task
Infernio opened this issue Jun 11, 2020 · 0 comments
Closed
1 task

Import Music #513

Infernio opened this issue Jun 11, 2020 · 0 comments
Labels
A-patchers Area: Patchers (Everything in the patcher package) C-enhancement Category: Enhancement, a request to add or enhance a feature M-backburner Misc: On backburner - not rejected, but won't be tackled for a while

Comments

@Infernio
Copy link
Member

Infernio commented Jun 11, 2020

Needs more investigation as to what this could patch and how it would overlap with C.Music, but would at least need to be able to merge MUSC\TNAM, allowing multiple music mods to work together nicely.

Blocked by _AMerger rewrite to make it support unsorted subrecords, hence:
Blockers:

@Infernio Infernio added C-enhancement Category: Enhancement, a request to add or enhance a feature A-patchers Area: Patchers (Everything in the patcher package) labels Jun 11, 2020
@Infernio Infernio added this to the 308 milestone Jun 11, 2020
@Utumno Utumno mentioned this issue Jun 11, 2020
67 tasks
Infernio added a commit that referenced this issue Aug 5, 2020
Important merge splitting importers.py into four files:
 - preservers.py houses preservers, which are importers that forward
   changes to certain subrecords from the last mod with a tag relevant
   to the patcher.
 - mergers.py houses mergers, which target list subrecords and merge
   additions, deletions and changes into a final version of the list,
   allowing several tagged mods to have their changes to a subrecord
   unified.
 - _cbash_importers.py and _shared.py are temporary and will be dropped
   once CBash support is dropped.

This split allows us to absorb a lot of patchers into base classes:
 25 files changed, 2743 insertions(+), 3047 deletions(-)

Not a massive reduction, but a lot of overrides have disappeared and
adding new patchers is more doable than ever before.

_APreserver is very mature. The last few TODOs here are:
 - CellImporter, due to how different it is from the other preservers. I
   started an attempt and it *is* possible to absorb it, but will need
   lots of careful thinking.
 - GraphicsPatcher, due to its half-broken case-insensitivity handling.
   Will be addressed in 480-pt3.
 - RoadImporter, same reason as CellImporter. Even more specialized, but
   if we can do CellImporter we can probably do this one as well.

_AMerger is much more WIP. See the code for some of its TODOs, but the
most notable one is that I've already begun rewriting it to work with
unsorted subrecords (ref #497).

Also introduces a new patcher that was requested and a new tag that was
requested on Discord.

Paves the way for a ton of open issues:

Under #124 - what a throwback :)
Under #151, #312, #468, #482, #492, #494, #497, #512, #513
Closes #304 by dropping the weird logic entirely
Closes #314
Closes #521
@Infernio Infernio added the M-backburner Misc: On backburner - not rejected, but won't be tackled for a while label Nov 19, 2020
@Infernio Infernio modified the milestones: 309, 310 Feb 22, 2021
@Infernio Infernio modified the milestones: 310, 311 May 18, 2021
@Infernio Infernio modified the milestones: 311, 312 Jul 4, 2022
@Infernio Infernio modified the milestones: 312, 313 Jan 5, 2023
@Infernio Infernio modified the milestones: 313, 314 Dec 16, 2023
@Utumno Utumno removed this from the 314 milestone Nov 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-patchers Area: Patchers (Everything in the patcher package) C-enhancement Category: Enhancement, a request to add or enhance a feature M-backburner Misc: On backburner - not rejected, but won't be tackled for a while
Projects
None yet
Development

No branches or pull requests

2 participants