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

Feature Request: GAME1_EMBEDDED_TLK support for compatibility patches #397

Open
Deepk666 opened this issue Dec 14, 2023 · 5 comments
Open
Labels
enhancement New feature or request Needs validation Feature is implemented and needs testing and/or feedback
Milestone

Comments

@Deepk666
Copy link

Deepk666 commented Dec 14, 2023

I'm using the GAME1_EMBEDDED_TLK feature in a LE1 mod, but have to make some compatibility patches for certain mods and I'm wondering if there is a way to add a new feature to create other CombinedTLKMergeData.m3za file included in GAME1_EMBEDDED_TLK folders inside the compatibility patches folders, that when installed, they replace totally the base mod CombinedTLKMergeData.m3za file created with GAME1_EMBEDDED_TLK folder... or preferably just replace/add the new xml files contained in the compatibility patch folder CombinedTLKMergeData.m3za on top of the ones contained in the base mod CombinedTLKMergeData.m3za.

@Deepk666
Copy link
Author

Deepk666 commented Dec 15, 2023

Maybe it could be introduced like another 'Alternates' feature in moddesc.ini. For example instead of having the only possibility of an unique GAME1_EMBEDDED_TLK folder in the mod main folder, to give the possibility to point to another GAME1_EMBEDDED_TLK folders too, that could be inside other folders (such as patches, or another DLC folders included in the mod).

@Deepk666 Deepk666 changed the title GAME1_EMBEDDED_TLK support for compatibility patches Feature Request: GAME1_EMBEDDED_TLK support for compatibility patches Dec 25, 2023
@Mgamerz Mgamerz added this to the 9.0 milestone May 30, 2024
@Mgamerz
Copy link
Member

Mgamerz commented Jun 3, 2024

This will take some time to investigate the feasibility of. The feature was coded against the idea of having only one m3za file - deployment checks, deployment, loading, etc all look for this one specific file.

It may be easier to change the file format to enable different parts of it than to add another m3za file.

@Deepk666
Copy link
Author

Deepk666 commented Jun 3, 2024

Thank you very much for consider my feature request, any way of implementation you could develop will be welcome.

Mgamerz added a commit that referenced this issue Jun 4, 2024
…KMERGE_OPTIONKEY' for #397. Will definitely need a lot of testing due to scope of changes.
@Mgamerz
Copy link
Member

Mgamerz commented Jun 4, 2024

This has been implemented into the codebase, but it is going to require some extensive testing due to the multiple environments TLK merge works out of (during development it will do on-disk xmls, after deployment and imported, it will use m3za. There's also compressed archives having m3za and compressed archives using loose files, which might crop up if you manually zip the mod, not something I support, but something we should ensure works properly, e.g. you are sharing a dev copy that can't be deployed yet).

I put this in under [CUSTOMDLC] because I did not want to write a whole new system for this specific job. When targetting moddesc 9, the parser will search all files in the TLK folder, rather than just the files at the root directory of it. Files nested under a single folder will have the folder name turned into an key. Files with a key are not installed by default.

To enable install of the files, you create a new alternate dlc item with operation OP_ENABLE_TLKMERGE_OPTIONKEY and new descriptor LE1TLKOptionKey that is the name of the folder. When this alternate is applied, it unlocks those files for install. This way you can leverage the existing AlternateDLC system. I will post a private alpha soon for you to test with. This will NOT work unless the mod targets moddesc 9 or higher.

@Deepk666
Copy link
Author

Deepk666 commented Jun 4, 2024

Nice! I'm looking forward to test It.

@Mgamerz Mgamerz added Needs validation Feature is implemented and needs testing and/or feedback enhancement New feature or request and removed Under consideration labels Jun 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request Needs validation Feature is implemented and needs testing and/or feedback
Projects
None yet
Development

No branches or pull requests

2 participants