Skip to content

Conversation

@Joschuka
Copy link
Contributor

-The previous FindRoomForEntity logic relied on the position of the entity to determine the room it belongs to. However, as spotted by @Notexe, this is not always reliable:
image
image
In the above screenshots, the entity gets assigned to the atrium room despite belonging to the "outside room". The new logic solves that by using the component hierarchy.

-Gates' and rooms' transforms are now exported to json too for further processing by navkit.

-The ZRoom and ZSparseBitArray edits are taken directly from @pavledev's fork, all credits to him for these.

const std::string s_TypePropertyName = "m_eType";
const std::string s_GlobalSizePropertyName = "m_vGlobalSize";
//Write the BBox info for the gates
auto* s_Entity0 = p_Entity.QueryInterface<ZGateEntity>();
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe we could rename this to something like s_Gate to make it easier to keep track of.

@dbierek
Copy link
Contributor

dbierek commented Jan 13, 2026

Works well in my testing for The Final Test mission.
image

Did run into some issues with some missing room names and missing room folder names, and some missing names for gates and volume boxes

Copy link
Contributor

@dbierek dbierek left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like we may want to double check the room logic, as well as the name and tblu values for gates and volume boxes.
The tblu values aren't actually used by NavKit so we could probably just leave those blank.

@Joschuka
Copy link
Contributor Author

Did run into some issues with some missing room names and missing room folder names, and some missing names for gates and volume boxes

Looks like we may want to double check the room logic, as well as the name and tblu values for gates and volume boxes. The tblu values aren't actually used by NavKit so we could probably just leave those blank.

This should be fixes by the latest commit, missing room names were coming from dynamic entities and the ones outside of the room system (usually in "set pieces"). Naming is now more robust too, relying on the tree hashmap when the previous one retrieving the tblu too failed.

@OrfeasZ OrfeasZ merged commit d43db6e into OrfeasZ:master Jan 17, 2026
2 checks passed
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.

3 participants