Skip to content

Conversation

@magicaldave
Copy link

@magicaldave magicaldave commented Nov 8, 2025

I think the PR overall should be pretty straightforward so I won't bore you too much with details, and instead focus on validating the results this PR gives.

We have this omwaddon that integration tests generate at OpenMW which uses LUAL and all possible subrecords/combinations thereof.
lua_conf_test.omwaddon.zip

The description for the structs and bitflags in C++ are here: https://gitlab.com/OpenMW/openmw/-/blob/master/components/esm/luascripts.hpp#L21

NOTE: This does mean that LUAL has merge logic you'll need to account for in MTM, but they're pretty simple to deal with. If byte 8, merge with previous configuration for this script path (LUAS), otherwise overwrite.

Yea, that's about it, I guess. You can build tes3conv against this version of tes3, and the lua_conf_test.omwaddon is byte-identical to the original after the round-trip, so it's mostly fine with me.

Maybe we could do better than ScriptConfigList.

EDIT: There was one another thing I wanted to mention. In a separate PR, I'd like to add support for encoding and decoding the LUAD sub, but that'll necessitate its own crate which I didn't feel like making just now. Much more important to get the feature itself into people's hands.

@magicaldave
Copy link
Author

I fixed the build error I accidentally triggered when changing mast_index and ref_index to mast_idx and ref_idx, so we should be good here. 🤞

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