Transport hell

This commit is contained in:
Kelsi 2026-02-11 00:54:38 -08:00
parent 2e923311d0
commit f3f3b62880
12 changed files with 912 additions and 126 deletions

View file

@ -252,6 +252,13 @@ public:
*/
void setInstancePosition(uint32_t instanceId, const glm::vec3& position);
/**
* Update the full transform of an existing instance (e.g., for WMO doodads following parent WMO)
* @param instanceId Instance ID returned by createInstance()
* @param transform New world transform matrix
*/
void setInstanceTransform(uint32_t instanceId, const glm::mat4& transform);
/**
* Remove a specific instance by ID
* @param instanceId Instance ID returned by createInstance()

View file

@ -406,6 +406,13 @@ private:
glm::vec3 worldBoundsMax;
std::vector<std::pair<glm::vec3, glm::vec3>> worldGroupBounds;
// Doodad tracking: M2 instances that are children of this WMO
struct DoodadInfo {
uint32_t m2InstanceId; // ID of the M2 instance
glm::mat4 localTransform; // Local transform relative to WMO origin
};
std::vector<DoodadInfo> doodads;
void updateModelMatrix();
};