[refac] Stop using WarpLocation for coordinates and introduce a Vec3

This commit is contained in:
gsemaj
2021-05-01 11:04:28 -04:00
committed by Gent Semaj
parent a0e758f5b7
commit e546d3948c
6 changed files with 51 additions and 47 deletions

View File

@@ -8,6 +8,10 @@ const int SLIDER_SPEED = 1200;
const int SLIDER_STOP_TICKS = 16;
const int SLIDER_GAP_SIZE = 45000;
struct Vec3 {
int x, y, z;
};
struct WarpLocation {
int x, y, z, instanceID, isInstance, limitTaskID, npcID;
};
@@ -23,14 +27,14 @@ struct TransportLocation {
namespace Transport {
extern std::map<int32_t, TransportRoute> Routes;
extern std::map<int32_t, TransportLocation> Locations;
extern std::map<int32_t, std::queue<WarpLocation>> SkywayPaths; // predefined skyway paths with points
extern std::unordered_map<CNSocket*, std::queue<WarpLocation>> SkywayQueues; // player sockets with queued broomstick points
extern std::unordered_map<int32_t, std::queue<WarpLocation>> NPCQueues; // NPC ids with queued pathing points
extern std::map<int32_t, std::queue<Vec3>> SkywayPaths; // predefined skyway paths with points
extern std::unordered_map<CNSocket*, std::queue<Vec3>> SkywayQueues; // player sockets with queued broomstick points
extern std::unordered_map<int32_t, std::queue<Vec3>> NPCQueues; // NPC ids with queued pathing points
void init();
void testMssRoute(CNSocket *sock, std::vector<WarpLocation>* route);
void testMssRoute(CNSocket *sock, std::vector<Vec3>* route);
void lerp(std::queue<WarpLocation>*, WarpLocation, WarpLocation, int, float);
void lerp(std::queue<WarpLocation>*, WarpLocation, WarpLocation, int);
void lerp(std::queue<Vec3>*, Vec3, Vec3, int, float);
void lerp(std::queue<Vec3>*, Vec3, Vec3, int);
}