Implement LocalTextures API #93
No reviewers
Labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
IllusionMods/IllusionModdingAPI!93
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "local-texture-selection"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Pull Request Overview
This PR implements a new LocalTextures API that allows plugins to control how textures are saved with character cards and studio scenes. The API provides three save modes: bundled (embedded in the file), deduped (shared between objects in studio), and local (saved separately to reduce file size but prevent sharing).
Key Changes:
TextureSaveTypeenum defining three texture save modesLocalTexturesAPI classes for Maker and Studio contexts with UI controlsLocalSaveChangedEventArgsfor change notificationsReviewed Changes
Copilot reviewed 14 out of 22 changed files in this pull request and generated 2 comments.
Show a summary per file
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
The assignment of
localSave = nullon line 80 is immediately overwritten on line 82. This redundant null assignment should be removed.The 'tglDeduped' toggle is being created with
TextureSaveType.Localbut should useTextureSaveType.Dedupedto match the intended functionality.Mostly good, using the same name for different APIs that do different but similar things is a bad idea though, it will get confusing fast.
This doesn't do anything in PH, does it? In that case I think there's no point adding it unless you plan to add compatibility later. Plugins can do an
#if !PHto explicitly deal with PH not supporting this. They can still call the studio version directly (was the studio version tested in PH?).Same as for maker version, rename and change type.
Shouldn't it be this?
It would be better to rename this to specify that it's for Maker/characters. Do the same for the studio version. This way they can be easily told apart. The difference should also be mentioned in xmldocs here.
Use different enums for charas and scenes to make sure there is no confusion. AcceptableValueEnums won't be needed then.
It does add the setting to plugin settings where you can change it
It could be, it works without that tho
Fine :teriAngery:
@ -0,0 +1,76 @@using System.Collections.Generic;