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

Resource Tree improvements #331

Merged
merged 5 commits into from
Sep 3, 2023
Merged

Conversation

Exter-N
Copy link
Contributor

@Exter-N Exter-N commented Sep 2, 2023

Materials

  • Avoid some of the I/O to determine texture/sampler names (now only the shpk files are re-read from disk, the sampler IDs are pulled from the in-memory structures already used by ME99) ;
  • This should make the texture name guesser more effective, as a side-effect.

Skeletons

  • Use the in-memory skeleton structure to pull all the relevant sklb files, not just the base one (obligatory "Xande when?" :trollface:) ;
  • Add skp files, as sub-nodes of associated sklb files.

Shaders and Textures

  • Pull the full paths from the resource handles instead of resolving them through the collection, for consistency with the rest of the system.

General back-end

  • Pull both instantiated object address and resource handle, where applicable, to show them in debug mode ;
  • Deduplicate nodes where applicable, to avoid recalculation of the whole sub-tree of shared materials – technically, that makes the thing a Resource DAG, not a tree anymore, I didn't rename it though ;
  • Make redacting of full paths that are neither vanilla paths nor within the Penumbra root directory optional, in preparation of "get local player redirections" IPC (in On-Screen / Import from Screen, they will stay redacted).

Resource Tree Viewer

  • Add ChangedItem-like icons to the rows ;
  • Rework the fold/unfold glyphs (using the same as the sampler fold/unfold buttons in ME99) and alignment ;
  • Make sure a row won't appear unfoldable if it has no visible child rows (i. e. not in debug mode and all child rows are internal, which can happen now with skp) ;
  • Make internal nodes appear "grayed out".

@Exter-N Exter-N marked this pull request as draft September 3, 2023 03:30
@Exter-N Exter-N marked this pull request as ready for review September 3, 2023 04:00
@Ottermandias Ottermandias merged commit cca6264 into xivdev:master Sep 3, 2023
@Exter-N Exter-N deleted the restree-less-io branch September 3, 2023 17:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants