Skip to content

Conversation

Exter-N
Copy link
Contributor

@Exter-N Exter-N commented Aug 16, 2025

Since 7.0, most color tables are 8x32 (32 rows of 8 vectors of 2 Halfs, i. e. 2048 bytes) but some legacy ones are still 4x16 (512 bytes), making these structures and accessors very wrong since then.

On top of the things being variable-size, a lot of the columns also have variable semantics (which depend on the exact shader set picked by a material), making it hard to do better than providing spans of Halfs for the color table and of bytes for the stain table and letting the callers cross-reference with shaders.

@github-actions github-actions bot added the breaking change PR contains breaking changes and wont be merged before a new patch label Aug 16, 2025
Copy link
Contributor

Breaking Changes

Type exists in left but not in right

FFXIVClientStructs.FFXIV.Client.System.Resource.Handle: 1

MaterialResourceHandle: 2

  • ColorTableRow
  • StainTableRow

Member exists in left but not in right

FFXIVClientStructs.FFXIV.Client.System.Resource.Handle: 1

MaterialResourceHandle: 5

  • int TableRows
  • FFXIVClientStructs.FFXIV.Client.System.Resource.Handle.MaterialResourceHandle.ColorTableRow* ColorTable
  • System.Span<FFXIVClientStructs.FFXIV.Client.System.Resource.Handle.MaterialResourceHandle.ColorTableRow> ColorTableSpan
  • FFXIVClientStructs.FFXIV.Client.System.Resource.Handle.MaterialResourceHandle.StainTableRow* StainTable
  • System.Span<FFXIVClientStructs.FFXIV.Client.System.Resource.Handle.MaterialResourceHandle.StainTableRow> StainTableSpan

@Exter-N Exter-N marked this pull request as ready for review August 21, 2025 08:53
@wolfcomp wolfcomp merged commit 36c4fa8 into aers:main Aug 25, 2025
3 of 4 checks passed
@Exter-N Exter-N deleted the color-table branch August 25, 2025 12:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
breaking change PR contains breaking changes and wont be merged before a new patch
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants