Skip to content

Conversation

@Lilaa3
Copy link
Collaborator

@Lilaa3 Lilaa3 commented Apr 19, 2025

Implement all libdragon texture features while maintaining compatibility and some texture related goodies, I will update the TODO as I get deeper into this but main points are:

  • Auto (libdragon should be updated to share similar logic to fast64, simply checking the png will not be enough, or has that been changed?)
    • UI (requires code part to be done to be fully functional)
    • Code
  • 8 texture slots
    • UI
    • Code
  • Texture placeholder (should logic be shared with flipbooks?)
    • UI
    • Code
  • Auto mipmaps (None or Box)
    • UI
    • Code
  • Pseudo formats (SHQ / IHQ)
    • UI
    • Code
  • Texture params
    • UI
    • Code
  • Dithering (NONE / RANDOM / ORDERED), tho for F3D (and libdragon in the future) I should implement Floyd–Steinberg.
    • UI
    • Code
  • Node and preview changes:
    • Accurate texture previews by reimporting the result from texture export code
    • Mipmapping in nodes (will require geo nodes, should this just be limited to f64renderer)
    • Refresh materials on changing world defaults othermodes
    • Use mat version update to also update flipbooks, texture params and existing othermodes to use Do Not Set (otherwise fast64 will now try to set even if not default, is this appropriate behavior?)).

Depending on speed we could want a less than perfectly accurate version of the logic in mksprite, would be unfortunate but the vectorization potential of some of the pseudo format code looked bad to me. I will try my best of course!

Extra F3D stuff that would ideally be implemented

  • Pallete reference detatched from texture reference (greyscale converted to indexed texture), extremely needed by Animal Crossing
    • UI
    • Code
  • Swizzle in export code (also for animal crossing, reason why we should finish and merge this before [F3D] Implement Animal Crossing F3DZEX Extensions #357 since that uses an early version of my fast texture export functions)
  • YUV
    • UI
    • Code
  • Othermode more automatic settings (and don't set mode as a bonus because I'm nice)
    • UI
    • Code

… scroll fixes)

todo next: some sm64 scroll clean up since we want that in the individual textures now for clarity. more game mode separation in materials is ideal (and in f3d writer in the case of sm64 tile scroll), oot flipbook upgrade code
@Lilaa3 Lilaa3 force-pushed the libdragon-texture-comp branch from ee82d78 to 821c4c9 Compare April 20, 2025 15:14
@Lilaa3 Lilaa3 force-pushed the libdragon-texture-comp branch from ee7d79a to 749782f Compare April 26, 2025 16:36
@Lilaa3 Lilaa3 force-pushed the libdragon-texture-comp branch from ee06159 to 03beddf Compare May 19, 2025 14:38
@Lilaa3 Lilaa3 force-pushed the libdragon-texture-comp branch from ac52d32 to eee4760 Compare May 21, 2025 10:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant