Repository navigation
Decompile and parse warnings say where; light controller 144 is a note; drop lightmapped_tile - #104
Merged
Merged
Conversation
…e; drop lightmapped_tile Found scanning the Layonara haks' 27,000 tile models: - NaN/Inf floats in a binary are reported once per list of a node, with the node, the list (verts, tangents, a controller...) and the count, instead of once per float with neither: one damaged tin01 tile gave 218 lines, now 3. - ASCII list warnings name the node and the list as well as the line. - Light controller 144 (older EE compilers, nwn-mdl-spec E51) is dropped with an info note in the new Model.Notes / "notes" JSON field, not an unknown-controller warning. It made 2,019 haks lights look damaged. - Unknown-controller warnings give the key's byte offset, not its type. - lightmapped_tile is removed: the binary byte is uninitialised in the game's output and no ASCII keyword is read (nwn-mdl-spec MDL-BIN-051). Ported to python/ (decompiler and parser); parity tests pass, and Go and Python give the same warnings and notes on 1,247 binary models.
This was referenced Oct 20, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Found while scanning the Layonara haks' 27,000 tile models (see layonara/nwn-haks#23).
tin01tile went from 218 lines to 3.line 130: node "Mesh248", verts: "2>4000001" is read as 2, ....Model.Notes/"notes"JSON field, not an unknown-controller warning. It made 2,019 lights in the haks look damaged. Notes are not counted as warnings, and the text output shows them only with--verbose.lightmapped_tileis removed. The byte it reads is uninitialised in the game's output, and the game reads no ASCII keyword for it (nwn-mdl-spec MDL-BIN-051).Ported to
python/(decompiler and parser).DESIGN.mddocuments thewarnings,parse_warningsandnotesfields.Testing:
go test ./...passes, plus three new tests inpkg/mdl/decompile_where_test.go.parity_test.py,parity_parse.pyandparity_compile.pypass.Follow-ups, not in this PR:
notesyet.lightmapped Nfrom the uninitialised byte.