Skip to content

texraw saves every depth slice of a 3D texture - #975

Open
capibawa wants to merge 1 commit into
seedds:mainfrom
capibawa:texraw-3d-slices
Open

capibawa wants to merge 1 commit into
seedds:mainfrom
capibawa:texraw-3d-slices

Conversation

@capibawa

@capibawa capibawa commented Nov 2, 2026 •

Copy link
Copy Markdown
Contributor

What and why

This is split out of #957, as offered in its closing comment. The DM_CTL command texraw <serial> <path> saved only the first depth slice of a 3D texture. It copied one slice per array element and cube face, and a 3D texture has one of each. It now copies each depth slice, one after another, and writes their count in the header as it does for arrays. This is a diagnostic only: the game's rendering doesn't use it.

Checked

  • Builds: make -C dm/host GAME=04007EF01F8AE000 dmhost.
  • Games: on this branch, in Fire Emblem Fortune's Weave (04007EF01F8AE000, v131072), texraw on a 32x32x32 3D texture saved 32 slices, all different. On Fire Emblem Fortune's Weave plays on the Mac #957's branch, the command read the game's light cluster grid (an R32Uint 3D texture) while I traced its dark title.
  • Devices and OS: MacBook Pro M3 Pro, macOS 27.0.1.
  • regress.py: not run. Only the diagnostic command changes.

Docs

  • The comment listing the DM_CTL commands (hle_hid.c) says so. No reference entry, since this is a tool fix.
  • No game files, keys or data extracted from a game in the change or the attachments

🤖 Generated with Claude Code

The DM_CTL command "texraw <serial> <path>" saved only the first depth slice of a 3D texture. It copied one slice per array element and cube face, and a 3D texture has one of each. It now copies each depth slice, one after another, and writes their count in the header as it does for arrays. The hid_keys_init comment that lists the commands says so.

Checked: on seedds#957's branch, the command read Fire Emblem Fortune's Weave's light cluster grid (an R32Uint 3D texture), every depth slice, while tracing its dark title. On this branch the host builds; the command was not rerun, since the game's shader libraries for main's chain version are not built here.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.

1 participant