2020-12-02 16:19:16 -05:00
|
|
|
#pragma once
|
|
|
|
#include <vector>
|
|
|
|
#include "pch.h"
|
|
|
|
|
|
|
|
class Teleport
|
|
|
|
{
|
|
|
|
private:
|
2021-03-02 14:18:37 -05:00
|
|
|
inline static bool insert_coord = false;
|
|
|
|
inline static bool quick_teleport = false;
|
|
|
|
inline static char input_buffer[INPUT_BUFFER_SIZE] = "";
|
2021-06-17 09:00:32 -04:00
|
|
|
inline static SearchData tp_data{ "teleport" };
|
2021-03-02 14:18:37 -05:00
|
|
|
inline static char location_buffer[INPUT_BUFFER_SIZE] = "";
|
|
|
|
inline static uint quick_teleport_timer = 0;
|
|
|
|
|
2020-12-02 16:19:16 -05:00
|
|
|
struct STeleport
|
|
|
|
{
|
2021-03-02 14:18:37 -05:00
|
|
|
inline static bool _bool = false;
|
|
|
|
inline static CVector pos = { -1, -1, -1 };
|
|
|
|
inline static uint timer = 0;
|
2020-12-02 16:19:16 -05:00
|
|
|
};
|
|
|
|
|
2021-03-02 14:18:37 -05:00
|
|
|
inline static CJson sprite_name_json = CJson("radar sprite");
|
2020-12-09 08:15:50 -05:00
|
|
|
|
|
|
|
/*
|
|
|
|
Generates radar sprite coordinates on the fly.
|
|
|
|
Shouldn't get saved in 'teleport.json', needs to be cleared at game shutdown.
|
|
|
|
*/
|
|
|
|
static void FetchRadarSpriteData();
|
|
|
|
|
2020-12-02 16:19:16 -05:00
|
|
|
protected:
|
|
|
|
Teleport();
|
|
|
|
public:
|
|
|
|
|
2021-02-24 16:54:45 -05:00
|
|
|
static void Draw();
|
|
|
|
static void TeleportPlayer(bool get_marker = false, CVector pos = CVector(0, 0, 0), short interior_id = 0);
|
2021-06-15 09:30:48 -04:00
|
|
|
static void TeleportToLocation(std::string& rootkey, std::string& bLocName, std::string& loc);
|
2020-12-02 16:19:16 -05:00
|
|
|
static void RemoveTeleportEntry(std::string& rootkey, std::string& key, std::string& val);
|
|
|
|
|
|
|
|
};
|