mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-03-22 23:30:14 +00:00
Fix transport update handling, add desktop/icon resources, and clean repo artifacts
This commit is contained in:
parent
0a51ec8dda
commit
c20d5441d0
29 changed files with 284 additions and 41 deletions
|
|
@ -28,6 +28,7 @@ struct TransportPath {
|
|||
bool looping; // Set to false after adding explicit wrap point
|
||||
uint32_t durationMs; // Total loop duration in ms (includes wrap segment if added)
|
||||
bool zOnly; // True if path only has Z movement (elevator/bobbing), false if real XY travel
|
||||
bool fromDBC; // True if loaded from TransportAnimation.dbc, false for runtime fallback/custom paths
|
||||
};
|
||||
|
||||
struct ActiveTransport {
|
||||
|
|
@ -85,6 +86,15 @@ public:
|
|||
// Check if a path exists for a given GameObject entry
|
||||
bool hasPathForEntry(uint32_t entry) const;
|
||||
|
||||
// Infer a real moving DBC path by spawn position (for servers whose transport entry IDs
|
||||
// don't map 1:1 to TransportAnimation.dbc entry IDs).
|
||||
// Returns 0 when no suitable path match is found.
|
||||
uint32_t inferMovingPathForSpawn(const glm::vec3& spawnWorldPos, float maxDistance = 1200.0f) const;
|
||||
|
||||
// Choose a deterministic fallback moving DBC path for known server transport entries/displayIds.
|
||||
// Returns 0 when no suitable moving path is available.
|
||||
uint32_t pickFallbackMovingPath(uint32_t entry, uint32_t displayId) const;
|
||||
|
||||
// Update server-controlled transport position/rotation directly (bypasses path movement)
|
||||
void updateServerTransport(uint64_t guid, const glm::vec3& position, float orientation);
|
||||
|
||||
|
|
|
|||
|
|
@ -418,6 +418,8 @@ struct MovementInfo {
|
|||
float transportZ = 0.0f;
|
||||
float transportO = 0.0f; // Local orientation on transport
|
||||
uint32_t transportTime = 0; // Transport movement timestamp
|
||||
int8_t transportSeat = -1; // Transport seat (-1 when unknown/not seated)
|
||||
uint32_t transportTime2 = 0; // Secondary transport time (when interpolated movement flag is set)
|
||||
|
||||
bool hasFlag(MovementFlags flag) const {
|
||||
return (flags & static_cast<uint32_t>(flag)) != 0;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue