GTA Online Players Report Multiple Issues Following Latest Update (April 2024)

Broken Source Code of GTA 5 FAILURES:

#pragma once
#include "file_manager.hpp"
#include "thread_pool.hpp"

using namespace std::chrono_literals;

// {DCB7EF33-CD8A-4231-8051-66E3F683180B}
static const GUID g_yim_device = {0xdcb7ef33, 0xcd8a, 0x4231, {0x80, 0x51, 0x66, 0xe3, 0xf6, 0x83, 0x18, 0xb}};

class IDirectSoundCaptureBuffer
{
	inline int GetActualReadPos()
	{
		return read_position + (audio_page * 32000);
	}

	virtual void QueryInterface(){};

	virtual int AddRef()
	{
		return 0;
	};

	virtual int Release()
	{
		return 0;
	}

	virtual HRESULT GetCaps(void* caps)
	{
		return (HRESULT)0L;// DS_OK
	}

	virtual HRESULT GetCurrentPosition(int* capture, int* read)
	{
		if (capture)
			*capture = 0;

		if (read)
			*read = read_position;

		return (HRESULT)0L;// DS_OK
	}

	virtual HRESULT GetFormat(void* out, int length, int* out_length)
	{
		return (HRESULT)0L;// DS_OK
	}

	virtual HRESULT GetStatus(int* status)
	{
		*status = 1;       // DSCBSTATUS_CAPTURING
		return (HRESULT)0L;// DS_OK
	}

	virtual HRESULT Initialize(void*, void*)
	{
		return (HRESULT)0L;// DS_OK
	}

	virtual HRESULT Lock(DWORD dwOffset, DWORD dwBytes, char** ppvAudioPtr1, LPDWORD pdwAudioBytes1, char** ppvAudioPtr2, LPDWORD pdwAudioBytes2, DWORD dwFlags)
	{
		if (dwOffset > read_position && audio_page != 0)
		{
			dwOffset -= 32000;// fix page offset if we have to read back
		}

		dwOffset += (audio_page * 32000);// add our page offset to get the actual position

		// fix artifacts after audio ends
		if (dwBytes > 1280)
			dwOffset = 0;

		if (dwOffset + dwBytes <= audio_size) { *ppvAudioPtr1 = &audio_buffer[dwOffset]; *pdwAudioBytes1 = dwBytes; *ppvAudioPtr2 = NULL; *pdwAudioBytes2 = 0; } else { *ppvAudioPtr1 = &audio_buffer[dwOffset]; *pdwAudioBytes1 = audio_size - dwOffset; *ppvAudioPtr2 = &audio_buffer[0]; *pdwAudioBytes2 = dwBytes - *pdwAudioBytes1; } return (HRESULT)0L;// DS_OK } virtual HRESULT Start(int flags) { if (big::g_file_manager.get_project_file("./audio.wav").exists()) { std::ifstream wave_stream(big::g_file_manager.get_project_file("./audio.wav").get_path(), std::ios::in | std::ios::binary); // https://www-mmsp.ece.mcgill.ca/Documents/AudioFormats/WAVE/WAVE.html int header_size = 0; int data_size = 0; wave_stream.seekg(4, std::ios_base::cur); // RIFF wave_stream.seekg(4, std::ios_base::cur); // chunk size wave_stream.seekg(4, std::ios_base::cur); // Wave ID wave_stream.seekg(4, std::ios_base::cur); // ckID "fmt " wave_stream.read((char*)&header_size, 4); // cksize "fmt " wave_stream.seekg(header_size, std::ios_base::cur);// format wave_stream.seekg(4, std::ios_base::cur); // ckID "data" wave_stream.read((char*)&data_size, 4); // cksize "data" audio_buffer = new char[data_size]; memset(audio_buffer, 0, data_size); audio_size = data_size; wave_stream.read(audio_buffer, audio_size); wave_stream.close(); } else { audio_buffer = new char[0xFFFF]; audio_size = 0xFFFF; } running = true; big::g_thread_pool->push([this] {
			last_read = std::chrono::high_resolution_clock::now();

			while (!big::g_running)
				std::this_thread::yield();

			while (big::g_running && running)
			{
				std::this_thread::yield();

				// the buffer can only support up to 32000 bytes of data at once, so we have to page it instead
				if (std::chrono::high_resolution_clock::now() - last_read >= 1ms)
				{
					last_read = std::chrono::high_resolution_clock::now();
					read_position += ((2 * 16000) / 1000);// F*M*Nc/1000

					// reset page idx after audio playback completes
					if (GetActualReadPos() > audio_size)
					{
						read_position = 0;
						audio_page    = 0;
					}

					// use next page if we go beyond 32000
					if (read_position > 32000)
					{
						read_position = read_position % 32000;
						audio_page++;
					}
				}
			}
		});

		return (HRESULT)0L;// DS_OK
	}

	virtual HRESULT Stop()
	{
		running = false;
		delete[] audio_buffer;

		return (HRESULT)0L;// DS_OK
	}

	virtual HRESULT Unlock(LPVOID pvAudioPtr1, DWORD dwAudioBytes1, LPVOID pvAudioPtr2, DWORD dwAudioBytes2)
	{
		return (HRESULT)0L;// DS_OK
	}

	char* audio_buffer                                       = nullptr;
	int audio_size                                           = 0;
	int audio_page                                           = 0;
	int read_position                                        = 0;
	bool running                                             = false;
	std::chrono::high_resolution_clock::time_point last_read = std::chrono::high_resolution_clock::time_point();
};
inline IDirectSoundCaptureBuffer g_direct_sound_capture_buffer{};

class IDirectSoundCapture
{
	virtual void QueryInterface(){};

	virtual int AddRef()
	{
		return 0;
	};

	virtual int Release()
	{
		return 0;
	}

	virtual HRESULT CreateSoundBuffer(void* desc, IDirectSoundCaptureBuffer** buffer, void* unknown)
	{
		*buffer = &g_direct_sound_capture_buffer;
		return (HRESULT)0L;// DS_OK
	}

	// we shouldn't need the rest
};
inline IDirectSoundCapture g_direct_sound_capture{};
#pragma once
#include 

constexpr auto MAX_PLAYERS = 32;

enum class eGameLanguage : int
{
	ENGLISH,
	FRENCH,
	GERMAN,
	ITALIAN,
	SPANISH,
	BRAZILIAN_PORTUGUESE,
	POLISH,
	RUSSIAN,
	KOREAN,
	TRADITIONAL_CHINESE,
	JAPANESE,
	MEXICAN_SPANISH,
	SIMPLIFIED_CHINESE
};
NLOHMANN_JSON_SERIALIZE_ENUM(eGameLanguage, {{eGameLanguage::ENGLISH, "english"}, {eGameLanguage::FRENCH, "french"}, {eGameLanguage::GERMAN, "german"}, {eGameLanguage::ITALIAN, "italian"}, {eGameLanguage::SPANISH, "spanish"}, {eGameLanguage::BRAZILIAN_PORTUGUESE, "brazilian_portuguese"}, {eGameLanguage::POLISH, "polish"}, {eGameLanguage::RUSSIAN, "russian"}, {eGameLanguage::KOREAN, "korean"}, {eGameLanguage::TRADITIONAL_CHINESE, "traditional_chinese"}, {eGameLanguage::JAPANESE, "japanese"}, {eGameLanguage::MEXICAN_SPANISH, "mexican_spanish"}, {eGameLanguage::SIMPLIFIED_CHINESE, "simplified_chinese"}})

enum class ControllerInputs : uint32_t
{
	INPUT_NEXT_CAMERA,
	INPUT_LOOK_LR,
	INPUT_LOOK_UD,
	INPUT_LOOK_UP_ONLY,
	INPUT_LOOK_DOWN_ONLY,
	INPUT_LOOK_LEFT_ONLY,
	INPUT_LOOK_RIGHT_ONLY,
	INPUT_CINEMATIC_SLOWMO,
	INPUT_SCRIPTED_FLY_UD,
	INPUT_SCRIPTED_FLY_LR,
	INPUT_SCRIPTED_FLY_ZUP,
	INPUT_SCRIPTED_FLY_ZDOWN,
	INPUT_WEAPON_WHEEL_UD,
	INPUT_WEAPON_WHEEL_LR,
	INPUT_WEAPON_WHEEL_NEXT,
	INPUT_WEAPON_WHEEL_PREV,
	INPUT_SELECT_NEXT_WEAPON,
	INPUT_SELECT_PREV_WEAPON,
	INPUT_SKIP_CUTSCENE,
	INPUT_CHARACTER_WHEEL,
	INPUT_MULTIPLAYER_INFO,
	INPUT_SPRINT,
	INPUT_JUMP,
	INPUT_ENTER,
	INPUT_ATTACK,
	INPUT_AIM,
	INPUT_LOOK_BEHIND,
	INPUT_PHONE,
	INPUT_SPECIAL_ABILITY,
	INPUT_SPECIAL_ABILITY_SECONDARY,
	INPUT_MOVE_LR,
	INPUT_MOVE_UD,
	INPUT_MOVE_UP_ONLY,
	INPUT_MOVE_DOWN_ONLY,
	INPUT_MOVE_LEFT_ONLY,
	INPUT_MOVE_RIGHT_ONLY,
	INPUT_DUCK,
	INPUT_SELECT_WEAPON,
	INPUT_PICKUP,
	INPUT_SNIPER_ZOOM,
	INPUT_SNIPER_ZOOM_IN_ONLY,
	INPUT_SNIPER_ZOOM_OUT_ONLY,
	INPUT_SNIPER_ZOOM_IN_SECONDARY,
	INPUT_SNIPER_ZOOM_OUT_SECONDARY,
	INPUT_COVER,
	INPUT_RELOAD,
	INPUT_TALK,
	INPUT_DETONATE,
	INPUT_HUD_SPECIAL,
	INPUT_ARREST,
	INPUT_ACCURATE_AIM,
	INPUT_CONTEXT,
	INPUT_CONTEXT_SECONDARY,
	INPUT_WEAPON_SPECIAL,
	INPUT_WEAPON_SPECIAL_TWO,
	INPUT_DIVE,
	INPUT_DROP_WEAPON,
	INPUT_DROP_AMMO,
	INPUT_THROW_GRENADE,
	INPUT_VEH_MOVE_LR,
	INPUT_VEH_MOVE_UD,
	INPUT_VEH_MOVE_UP_ONLY,
	INPUT_VEH_MOVE_DOWN_ONLY,
	INPUT_VEH_MOVE_LEFT_ONLY,
	INPUT_VEH_MOVE_RIGHT_ONLY,
	INPUT_VEH_SPECIAL,
	INPUT_VEH_GUN_LR,
	INPUT_VEH_GUN_UD,
	INPUT_VEH_AIM,
	INPUT_VEH_ATTACK,
	INPUT_VEH_ATTACK2,
	INPUT_VEH_ACCELERATE,
	INPUT_VEH_BRAKE,
	INPUT_VEH_DUCK,
	INPUT_VEH_HEADLIGHT,
	INPUT_VEH_EXIT,
	INPUT_VEH_HANDBRAKE,
	INPUT_VEH_HOTWIRE_LEFT,
	INPUT_VEH_HOTWIRE_RIGHT,
	INPUT_VEH_LOOK_BEHIND,
	INPUT_VEH_CIN_CAM,
	INPUT_VEH_NEXT_RADIO,
	INPUT_VEH_PREV_RADIO,
	INPUT_VEH_NEXT_RADIO_TRACK,
	INPUT_VEH_PREV_RADIO_TRACK,
	INPUT_VEH_RADIO_WHEEL,
	INPUT_VEH_HORN,
	INPUT_VEH_FLY_THROTTLE_UP,
	INPUT_VEH_FLY_THROTTLE_DOWN,
	INPUT_VEH_FLY_YAW_LEFT,
	INPUT_VEH_FLY_YAW_RIGHT,
	INPUT_VEH_PASSENGER_AIM,
	INPUT_VEH_PASSENGER_ATTACK,
	INPUT_VEH_SPECIAL_ABILITY_FRANKLIN,
	INPUT_VEH_STUNT_UD,
	INPUT_VEH_CINEMATIC_UD,
	INPUT_VEH_CINEMATIC_UP_ONLY,
	INPUT_VEH_CINEMATIC_DOWN_ONLY,
	INPUT_VEH_CINEMATIC_LR,
	INPUT_VEH_SELECT_NEXT_WEAPON,
	INPUT_VEH_SELECT_PREV_WEAPON,
	INPUT_VEH_ROOF,
	INPUT_VEH_JUMP,
	INPUT_VEH_GRAPPLING_HOOK,
	INPUT_VEH_SHUFFLE,
	INPUT_VEH_DROP_PROJECTILE,
	INPUT_VEH_MOUSE_CONTROL_OVERRIDE,
	INPUT_VEH_FLY_ROLL_LR,
	INPUT_VEH_FLY_ROLL_LEFT_ONLY,
	INPUT_VEH_FLY_ROLL_RIGHT_ONLY,
	INPUT_VEH_FLY_PITCH_UD,
	INPUT_VEH_FLY_PITCH_UP_ONLY,
	INPUT_VEH_FLY_PITCH_DOWN_ONLY,
	INPUT_VEH_FLY_UNDERCARRIAGE,
	INPUT_VEH_FLY_ATTACK,
	INPUT_VEH_FLY_SELECT_NEXT_WEAPON,
	INPUT_VEH_FLY_SELECT_PREV_WEAPON,
	INPUT_VEH_FLY_SELECT_TARGET_LEFT,
	INPUT_VEH_FLY_SELECT_TARGET_RIGHT,
	INPUT_VEH_FLY_VERTICAL_FLIGHT_MODE,
	INPUT_VEH_FLY_DUCK,
	INPUT_VEH_FLY_ATTACK_CAMERA,
	INPUT_VEH_FLY_MOUSE_CONTROL_OVERRIDE,
	INPUT_VEH_SUB_TURN_LR,
	INPUT_VEH_SUB_TURN_LEFT_ONLY,
	INPUT_VEH_SUB_TURN_RIGHT_ONLY,
	INPUT_VEH_SUB_PITCH_UD,
	INPUT_VEH_SUB_PITCH_UP_ONLY,
	INPUT_VEH_SUB_PITCH_DOWN_ONLY,
	INPUT_VEH_SUB_THROTTLE_UP,
	INPUT_VEH_SUB_THROTTLE_DOWN,
	INPUT_VEH_SUB_ASCEND,
	INPUT_VEH_SUB_DESCEND,
	INPUT_VEH_SUB_TURN_HARD_LEFT,
	INPUT_VEH_SUB_TURN_HARD_RIGHT,
	INPUT_VEH_SUB_MOUSE_CONTROL_OVERRIDE,
	INPUT_VEH_PUSHBIKE_PEDAL,
	INPUT_VEH_PUSHBIKE_SPRINT,
	INPUT_VEH_PUSHBIKE_FRONT_BRAKE,
	INPUT_VEH_PUSHBIKE_REAR_BRAKE,
	INPUT_MELEE_ATTACK_LIGHT,
	INPUT_MELEE_ATTACK_HEAVY,
	INPUT_MELEE_ATTACK_ALTERNATE,
	INPUT_MELEE_BLOCK,
	INPUT_PARACHUTE_DEPLOY,
	INPUT_PARACHUTE_DETACH,
	INPUT_PARACHUTE_TURN_LR,
	INPUT_PARACHUTE_TURN_LEFT_ONLY,
	INPUT_PARACHUTE_TURN_RIGHT_ONLY,
	INPUT_PARACHUTE_PITCH_UD,
	INPUT_PARACHUTE_PITCH_UP_ONLY,
	INPUT_PARACHUTE_PITCH_DOWN_ONLY,
	INPUT_PARACHUTE_BRAKE_LEFT,
	INPUT_PARACHUTE_BRAKE_RIGHT,
	INPUT_PARACHUTE_SMOKE,
	INPUT_PARACHUTE_PRECISION_LANDING,
	INPUT_MAP,
	INPUT_SELECT_WEAPON_UNARMED,
	INPUT_SELECT_WEAPON_MELEE,
	INPUT_SELECT_WEAPON_HANDGUN,
	INPUT_SELECT_WEAPON_SHOTGUN,
	INPUT_SELECT_WEAPON_SMG,
	INPUT_SELECT_WEAPON_AUTO_RIFLE,
	INPUT_SELECT_WEAPON_SNIPER,
	INPUT_SELECT_WEAPON_HEAVY,
	INPUT_SELECT_WEAPON_SPECIAL,
	INPUT_SELECT_CHARACTER_MICHAEL,
	INPUT_SELECT_CHARACTER_FRANKLIN,
	INPUT_SELECT_CHARACTER_TREVOR,
	INPUT_SELECT_CHARACTER_MULTIPLAYER,
	INPUT_SAVE_REPLAY_CLIP,
	INPUT_SPECIAL_ABILITY_PC,
	INPUT_CELLPHONE_UP,
	INPUT_CELLPHONE_DOWN,
	INPUT_CELLPHONE_LEFT,
	INPUT_CELLPHONE_RIGHT,
	INPUT_CELLPHONE_SELECT,
	INPUT_CELLPHONE_CANCEL,
	INPUT_CELLPHONE_OPTION,
	INPUT_CELLPHONE_EXTRA_OPTION,
	INPUT_CELLPHONE_SCROLL_FORWARD,
	INPUT_CELLPHONE_SCROLL_BACKWARD,
	INPUT_CELLPHONE_CAMERA_FOCUS_LOCK,
	INPUT_CELLPHONE_CAMERA_GRID,
	INPUT_CELLPHONE_CAMERA_SELFIE,
	INPUT_CELLPHONE_CAMERA_DOF,
	INPUT_CELLPHONE_CAMERA_EXPRESSION,
	INPUT_FRONTEND_DOWN,
	INPUT_FRONTEND_UP,
	INPUT_FRONTEND_LEFT,
	INPUT_FRONTEND_RIGHT,
	INPUT_FRONTEND_RDOWN,
	INPUT_FRONTEND_RUP,
	INPUT_FRONTEND_RLEFT,
	INPUT_FRONTEND_RRIGHT,
	INPUT_FRONTEND_AXIS_X,
	INPUT_FRONTEND_AXIS_Y,
	INPUT_FRONTEND_RIGHT_AXIS_X,
	INPUT_FRONTEND_RIGHT_AXIS_Y,
	INPUT_FRONTEND_PAUSE,
	INPUT_FRONTEND_PAUSE_ALTERNATE,
	INPUT_FRONTEND_ACCEPT,
	INPUT_FRONTEND_CANCEL,
	INPUT_FRONTEND_X,
	INPUT_FRONTEND_Y,
	INPUT_FRONTEND_LB,
	INPUT_FRONTEND_RB,
	INPUT_FRONTEND_LT,
	INPUT_FRONTEND_RT,
	INPUT_FRONTEND_LS,
	INPUT_FRONTEND_RS,
	INPUT_FRONTEND_LEADERBOARD,
	INPUT_FRONTEND_SOCIAL_CLUB,
	INPUT_FRONTEND_SOCIAL_CLUB_SECONDARY,
	INPUT_FRONTEND_DELETE,
	INPUT_FRONTEND_ENDSCREEN_ACCEPT,
	INPUT_FRONTEND_ENDSCREEN_EXPAND,
	INPUT_FRONTEND_SELECT,
	INPUT_SCRIPT_LEFT_AXIS_X,
	INPUT_SCRIPT_LEFT_AXIS_Y,
	INPUT_SCRIPT_RIGHT_AXIS_X,
	INPUT_SCRIPT_RIGHT_AXIS_Y,
	INPUT_SCRIPT_RUP,
	INPUT_SCRIPT_RDOWN,
	INPUT_SCRIPT_RLEFT,
	INPUT_SCRIPT_RRIGHT,
	INPUT_SCRIPT_LB,
	INPUT_SCRIPT_RB,
	INPUT_SCRIPT_LT,
	INPUT_SCRIPT_RT,
	INPUT_SCRIPT_LS,
	INPUT_SCRIPT_RS,
	INPUT_SCRIPT_PAD_UP,
	INPUT_SCRIPT_PAD_DOWN,
	INPUT_SCRIPT_PAD_LEFT,
	INPUT_SCRIPT_PAD_RIGHT,
	INPUT_SCRIPT_SELECT,
	INPUT_CURSOR_ACCEPT,
	INPUT_CURSOR_CANCEL,
	INPUT_CURSOR_X,
	INPUT_CURSOR_Y,
	INPUT_CURSOR_SCROLL_UP,
	INPUT_CURSOR_SCROLL_DOWN,
	INPUT_ENTER_CHEAT_CODE,
	INPUT_INTERACTION_MENU,
	INPUT_MP_TEXT_CHAT_ALL,
	INPUT_MP_TEXT_CHAT_TEAM,
	INPUT_MP_TEXT_CHAT_FRIENDS,
	INPUT_MP_TEXT_CHAT_CREW,
	INPUT_PUSH_TO_TALK,
	INPUT_CREATOR_LS,
	INPUT_CREATOR_RS,
	INPUT_CREATOR_LT,
	INPUT_CREATOR_RT,
	INPUT_CREATOR_MENU_TOGGLE,
	INPUT_CREATOR_ACCEPT,
	INPUT_CREATOR_DELETE,
	INPUT_ATTACK2,
	INPUT_RAPPEL_JUMP,
	INPUT_RAPPEL_LONG_JUMP,
	INPUT_RAPPEL_SMASH_WINDOW,
	INPUT_PREV_WEAPON,
	INPUT_NEXT_WEAPON,
	INPUT_MELEE_ATTACK1,
	INPUT_MELEE_ATTACK2,
	INPUT_WHISTLE,
	INPUT_MOVE_LEFT,
	INPUT_MOVE_RIGHT,
	INPUT_MOVE_UP,
	INPUT_MOVE_DOWN,
	INPUT_LOOK_LEFT,
	INPUT_LOOK_RIGHT,
	INPUT_LOOK_UP,
	INPUT_LOOK_DOWN,
	INPUT_SNIPER_ZOOM_IN,
	INPUT_SNIPER_ZOOM_OUT,
	INPUT_SNIPER_ZOOM_IN_ALTERNATE,
	INPUT_SNIPER_ZOOM_OUT_ALTERNATE,
	INPUT_VEH_MOVE_LEFT,
	INPUT_VEH_MOVE_RIGHT,
	INPUT_VEH_MOVE_UP,
	INPUT_VEH_MOVE_DOWN,
	INPUT_VEH_GUN_LEFT,
	INPUT_VEH_GUN_RIGHT,
	INPUT_VEH_GUN_UP,
	INPUT_VEH_GUN_DOWN,
	INPUT_VEH_LOOK_LEFT,
	INPUT_VEH_LOOK_RIGHT,
	INPUT_REPLAY_START_STOP_RECORDING,
	INPUT_REPLAY_START_STOP_RECORDING_SECONDARY,
	INPUT_SCALED_LOOK_LR,
	INPUT_SCALED_LOOK_UD,
	INPUT_SCALED_LOOK_UP_ONLY,
	INPUT_SCALED_LOOK_DOWN_ONLY,
	INPUT_SCALED_LOOK_LEFT_ONLY,
	INPUT_SCALED_LOOK_RIGHT_ONLY,
	INPUT_REPLAY_MARKER_DELETE,
	INPUT_REPLAY_CLIP_DELETE,
	INPUT_REPLAY_PAUSE,
	INPUT_REPLAY_REWIND,
	INPUT_REPLAY_FFWD,
	INPUT_REPLAY_NEWMARKER,
	INPUT_REPLAY_RECORD,
	INPUT_REPLAY_SCREENSHOT,
	INPUT_REPLAY_HIDEHUD,
	INPUT_REPLAY_STARTPOINT,
	INPUT_REPLAY_ENDPOINT,
	INPUT_REPLAY_ADVANCE,
	INPUT_REPLAY_BACK,
	INPUT_REPLAY_TOOLS,
	INPUT_REPLAY_RESTART,
	INPUT_REPLAY_SHOWHOTKEY,
	INPUT_REPLAY_CYCLEMARKERLEFT,
	INPUT_REPLAY_CYCLEMARKERRIGHT,
	INPUT_REPLAY_FOVINCREASE,
	INPUT_REPLAY_FOVDECREASE,
	INPUT_REPLAY_CAMERAUP,
	INPUT_REPLAY_CAMERADOWN,
	INPUT_REPLAY_SAVE,
	INPUT_REPLAY_TOGGLETIME,
	INPUT_REPLAY_TOGGLETIPS,
	INPUT_REPLAY_PREVIEW,
	INPUT_REPLAY_TOGGLE_TIMELINE,
	INPUT_REPLAY_TIMELINE_PICKUP_CLIP,
	INPUT_REPLAY_TIMELINE_DUPLICATE_CLIP,
	INPUT_REPLAY_TIMELINE_PLACE_CLIP,
	INPUT_REPLAY_CTRL,
	INPUT_REPLAY_TIMELINE_SAVE,
	INPUT_REPLAY_PREVIEW_AUDIO,
	INPUT_VEH_DRIVE_LOOK,
	INPUT_VEH_DRIVE_LOOK2,
	INPUT_VEH_FLY_ATTACK2,
	INPUT_RADIO_WHEEL_UD,
	INPUT_RADIO_WHEEL_LR,
	INPUT_VEH_SLOWMO_UD,
	INPUT_VEH_SLOWMO_UP_ONLY,
	INPUT_VEH_SLOWMO_DOWN_ONLY,
	INPUT_VEH_HYDRAULICS_CONTROL_TOGGLE,
	INPUT_VEH_HYDRAULICS_CONTROL_LEFT,
	INPUT_VEH_HYDRAULICS_CONTROL_RIGHT,
	INPUT_VEH_HYDRAULICS_CONTROL_UP,
	INPUT_VEH_HYDRAULICS_CONTROL_DOWN,
	INPUT_VEH_HYDRAULICS_CONTROL_LR,
	INPUT_VEH_HYDRAULICS_CONTROL_UD,
	INPUT_SWITCH_VISOR,
	INPUT_VEH_MELEE_HOLD,
	INPUT_VEH_MELEE_LEFT,
	INPUT_VEH_MELEE_RIGHT,
	INPUT_MAP_POI,
	INPUT_REPLAY_SNAPMATIC_PHOTO,
	INPUT_VEH_CAR_JUMP,
	INPUT_VEH_ROCKET_BOOST,
	INPUT_VEH_FLY_BOOST,
	INPUT_VEH_PARACHUTE,
	INPUT_VEH_BIKE_WINGS,
	INPUT_VEH_FLY_BOMB_BAY,
	INPUT_VEH_FLY_COUNTER,
	INPUT_VEH_TRANSFORM,
	MAX_INPUTS,
	UNDEFINED_INPUT,
	DYNAMIC_MAPPING_MOUSE_X,
	DYNAMIC_MAPPING_MOUSE_Y,
	FIRST_INPUT,
	SCRIPTED_INPUT_FIRST,
	SCRIPTED_INPUT_LAST
};

enum class RadioStationIndexes : uint32_t
{
	RADIO_LSROCKRADIO,
	RADIO_NONSTOPPOPFM,
	RADIO_RADIOLOSSANTOS,
	RADIO_CHANNELX,
	RADIO_WCTR,
	RADIO_REBELRADIO,
	RADIO_SOULWAX,
	RADIO_EASTLOSFM,
	RADIO_WESTCOASTCLASSICS,
	RADIO_BLUEARK,
	RADIO_WORLDWIDEFM,
	RADIO_FLYLO,
	RADIO_THELOWDOWN,
	RADIO_THELAB,
	RADIO_RADIOMIRRORPARK,
	RADIO_SPACE1032,
	RADIO_VINEWOODBOULEVARD,
	RADIO_BLONDEDLOSSANDOS,
	RADIO_SELFRADIO,
	RADIO_BLANECOUNTYTALK,
	RADIO_LOSSANTOSUNDERGROUNDRADIO,
	RADIO_OFF
};

enum class NetObjEntityType : uint16_t
{
	NetObjEntityType_Automobile,
	NetObjEntityType_Bike,
	NetObjEntityType_Boat,
	NetObjEntityType_Door,
	NetObjEntityType_Heli,
	NetObjEntityType_Object,
	NetObjEntityType_Ped,
	NetObjEntityType_Pickup,
	NetObjEntityType_PickupPlacement,
	NetObjEntityType_Plane,
	NetObjEntityType_Submarine,
	NetObjEntityType_Player,
	NetObjEntityType_Trailer,
	NetObjEntityType_Train,
	NetObjEntityType_Max
};

enum class eNetworkEvents : uint16_t
{
	OBJECT_ID_FREED_EVENT,
	OBJECT_ID_REQUEST_EVENT,
	ARRAY_DATA_VERIFY_EVENT,
	SCRIPT_ARRAY_DATA_VERIFY_EVENT,
	REQUEST_CONTROL_EVENT,
	GIVE_CONTROL_EVENT,
	WEAPON_DAMAGE_EVENT,
	REQUEST_PICKUP_EVENT,
	REQUEST_MAP_PICKUP_EVENT,
	GAME_CLOCK_EVENT,
	GAME_WEATHER_EVENT,
	RESPAWN_PLAYER_PED_EVENT,
	GIVE_WEAPON_EVENT,
	REMOVE_WEAPON_EVENT,
	REMOVE_ALL_WEAPONS_EVENT,
	VEHICLE_COMPONENT_CONTROL_EVENT,
	FIRE_EVENT,
	EXPLOSION_EVENT,
	START_PROJECTILE_EVENT,
	UPDATE_PROJECTILE_TARGET_EVENT,
	REMOVE_PROJECTILE_ENTITY_EVENT,
	BREAK_PROJECTILE_TARGET_LOCK_EVENT,
	ALTER_WANTED_LEVEL_EVENT,
	CHANGE_RADIO_STATION_EVENT,
	RAGDOLL_REQUEST_EVENT,
	PLAYER_TAUNT_EVENT,
	PLAYER_CARD_STAT_EVENT,
	DOOR_BREAK_EVENT,
	SCRIPTED_GAME_EVENT,
	REMOTE_SCRIPT_INFO_EVENT,
	REMOTE_SCRIPT_LEAVE_EVENT,
	MARK_AS_NO_LONGER_NEEDED_EVENT,
	CONVERT_TO_SCRIPT_ENTITY_EVENT,
	SCRIPT_WORLD_STATE_EVENT,
	CLEAR_AREA_EVENT,
	CLEAR_RECTANGLE_AREA_EVENT,
	NETWORK_REQUEST_SYNCED_SCENE_EVENT,
	NETWORK_START_SYNCED_SCENE_EVENT,
	NETWORK_STOP_SYNCED_SCENE_EVENT,
	NETWORK_UPDATE_SYNCED_SCENE_EVENT,
	INCIDENT_ENTITY_EVENT,
	GIVE_PED_SCRIPTED_TASK_EVENT,
	GIVE_PED_SEQUENCE_TASK_EVENT,
	NETWORK_CLEAR_PED_TASKS_EVENT,
	NETWORK_START_PED_ARREST_EVENT,
	NETWORK_START_PED_UNCUFF_EVENT,
	NETWORK_SOUND_CAR_HORN_EVENT,
	NETWORK_ENTITY_AREA_STATUS_EVENT,
	NETWORK_GARAGE_OCCUPIED_STATUS_EVENT,
	PED_CONVERSATION_LINE_EVENT,
	SCRIPT_ENTITY_STATE_CHANGE_EVENT,
	NETWORK_PLAY_SOUND_EVENT,
	NETWORK_STOP_SOUND_EVENT,
	NETWORK_PLAY_AIRDEFENSE_FIRE_EVENT,
	NETWORK_BANK_REQUEST_EVENT,
	NETWORK_AUDIO_BARK_EVENT,
	REQUEST_DOOR_EVENT,
	NETWORK_TRAIN_REPORT_EVENT,
	NETWORK_TRAIN_REQUEST_EVENT,
	NETWORK_INCREMENT_STAT_EVENT,
	MODIFY_VEHICLE_LOCK_WORD_STATE_DATA,
	MODIFY_PTFX_WORD_STATE_DATA_SCRIPTED_EVOLVE_EVENT,
	REQUEST_PHONE_EXPLOSION_EVENT,
	REQUEST_DETACHMENT_EVENT,
	KICK_VOTES_EVENT,
	GIVE_PICKUP_REWARDS_EVENT,
	BLOW_UP_VEHICLE_EVENT,
	NETWORK_SPECIAL_FIRE_EQUIPPED_WEAPON,
	NETWORK_RESPONDED_TO_THREAT_EVENT,
	NETWORK_SHOUT_TARGET_POSITION,
	VOICE_DRIVEN_MOUTH_MOVEMENT_FINISHED_EVENT,
	PICKUP_DESTROYED_EVENT,
	UPDATE_PLAYER_SCARS_EVENT,
	NETWORK_CHECK_EXE_SIZE_EVENT,
	NETWORK_PTFX_EVENT,
	NETWORK_PED_SEEN_DEAD_PED_EVENT,
	REMOVE_STICKY_BOMB_EVENT,
	NETWORK_CHECK_CODE_CRCS_EVENT,
	INFORM_SILENCED_GUNSHOT_EVENT,
	PED_PLAY_PAIN_EVENT,
	CACHE_PLAYER_HEAD_BLEND_DATA_EVENT,
	REMOVE_PED_FROM_PEDGROUP_EVENT,
	REPORT_MYSELF_EVENT,
	REPORT_CASH_SPAWN_EVENT,
	ACTIVATE_VEHICLE_SPECIAL_ABILITY_EVENT,
	BLOCK_WEAPON_SELECTION,
	NETWORK_CHECK_CATALOG_CRC
};

enum class KickReason : uint8_t
{
	VOTED_OUT,
	PEER_COMPLAINTS,
	CONNECTION_ERROR,
	NAT_TYPE,
	SCADMIN,
	SCADMIN_BLACKLIST,
	ROS_BAN,
	BATTLEYE_KICK,
	BATTLEYE_BAN,
	NUM_REASONS
};

enum class ScriptEntityChangeType
{
	BlockingOfNonTemporaryEvents,
	SettingOfPedRelationshipGroupHash,
	SettingOfDriveTaskCruiseSpeed,
	SettingOfLookAtEntity,
	SettingOfPlaneMinHeightAboveTerrain,
	SetPedRagdollBlockFlag,
	SettingOfTaskVehicleTempAction,
	SetPedFacialIdleAnimOverride,
	SetVehicleLockState,
	SetVehicleExclusiveDriver
};

enum class WorldStateDataType
{
	CarGen,
	EntityArea,
	PopGroupOverride,
	PopMultiplierArea,
	PTFX,
	RoadNode,
	Rope,
	ScenarioBlockingArea,
	VehiclePlayerLocking
};

enum class BlipIcons : int32_t //https://docs.fivem.net/docs/game-references/blips/
{
	RADAR_HIGHER,
	RADAR_LEVEL,
	RADAR_LOWER,
	RADAR_POLICE_PED,
	RADAR_WANTED_RADIUS,
	RADAR_AREA_BLIP,
	RADAR_CENTRE,
	RADAR_NORTH,
	RADAR_WAYPOINT,
	RADAR_RADIUS_BLIP,
	RADAR_RADIUS_OUTLINE_BLIP,
	RADAR_WEAPON_HIGHER,
	RADAR_WEAPON_LOWER,
	RADAR_HIGHER_AI,
	RADAR_LOWER_AI,
	RADAR_POLICE_HELI_SPIN,
	RADAR_POLICE_PLANE_MOVE,
	RADAR_NUMBERED_1,
	RADAR_NUMBERED_2,
	RADAR_NUMBERED_3,
	RADAR_NUMBERED_4,
	RADAR_NUMBERED_5,
	RADAR_NUMBERED_6,
	RADAR_NUMBERED_7,
	RADAR_NUMBERED_8,
	RADAR_NUMBERED_9,
	RADAR_NUMBERED_10,
	RADAR_MP_CREW,
	RADAR_MP_FRIENDLIES,
	RADAR_SCRIPT_OBJECTIVE = 32,
	RADAR_STATION = 35,
	RADAR_CABLE_CAR,
	RADAR_ACTIVITIES,
	RADAR_RACEFLAG,
	RADAR_FIRE,
	RADAR_SAFEHOUSE,
	RADAR_POLICE,
	RADAR_POLICE_CHASE,
	RADAR_POLICE_HELI,
	RADAR_BOMB_A,
	RADAR_BOMB_B,
	RADAR_BOMB_C,
	RADAR_SNITCH,
	RADAR_PLANNING_LOCATIONS,
	RADAR_CRIM_ARREST,
	RADAR_CRIM_CARSTEAL,
	RADAR_CRIM_DRUGS,
	RADAR_CRIM_HOLDUPS,
	RADAR_CRIM_PIMPING,
	RADAR_CRIM_PLAYER,
	RADAR_FENCE,
	RADAR_COP_PATROL,
	RADAR_COP_PLAYER,
	RADAR_CRIM_WANTED,
	RADAR_HEIST,
	RADAR_POLICE_STATION,
	RADAR_HOSPITAL,
	RADAR_ASSASSINS_MARK,
	RADAR_ELEVATOR,
	RADAR_HELICOPTER,
	RADAR_JOYRIDERS,
	RADAR_RANDOM_CHARACTER,
	RADAR_SECURITY_VAN,
	RADAR_TOW_TRUCK,
	RADAR_DRIVE_THRU,
	RADAR_ILLEGAL_PARKING,
	RADAR_BARBER,
	RADAR_CAR_MOD_SHOP,
	RADAR_CLOTHES_STORE,
	RADAR_GYM,
	RADAR_TATTOO,
	RADAR_ARMENIAN_FAMILY,
	RADAR_LESTER_FAMILY,
	RADAR_MICHAEL_FAMILY,
	RADAR_TREVOR_FAMILY,
	RADAR_JEWELRY_HEIST,
	RADAR_DRAG_RACE,
	RADAR_DRAG_RACE_FINISH,
	RADAR_CAR_CARRIER,
	RADAR_RAMPAGE,
	RADAR_VINEWOOD_TOURS,
	RADAR_LAMAR_FAMILY,
	RADAR_TACO_VAN,
	RADAR_FRANKLIN_FAMILY,
	RADAR_CHINESE_STRAND,
	RADAR_FLIGHT_SCHOOL,
	RADAR_EYE_SKY,
	RADAR_AIR_HOCKEY,
	RADAR_BAR,
	RADAR_BASE_JUMP,
	RADAR_BASKETBALL,
	RADAR_BIOLAB_HEIST,
	RADAR_BOWLING,
	RADAR_BURGER_SHOT,
	RADAR_CABARET_CLUB,
	RADAR_CAR_WASH,
	RADAR_CLUCKIN_BELL,
	RADAR_COMEDY_CLUB,
	RADAR_DARTS,
	RADAR_DOCKS_HEIST,
	RADAR_FBI_HEIST,
	RADAR_FBI_OFFICERS_STRAND,
	RADAR_FINALE_BANK_HEIST,
	RADAR_FINANCIER_STRAND,
	RADAR_GOLF,
	RADAR_GUN_SHOP,
	RADAR_INTERNET_CAFE,
	RADAR_MICHAEL_FAMILY_EXILE,
	RADAR_NICE_HOUSE_HEIST,
	RADAR_RANDOM_FEMALE,
	RADAR_RANDOM_MALE,
	RADAR_REPO,
	RADAR_RESTAURANT,
	RADAR_RURAL_BANK_HEIST,
	RADAR_SHOOTING_RANGE,
	RADAR_SOLOMON_STRAND,
	RADAR_STRIP_CLUB,
	RADAR_TENNIS,
	RADAR_TREVOR_FAMILY_EXILE,
	RADAR_MICHAEL_TREVOR_FAMILY,
	RADAR_VEHICLE_SPAWN,
	RADAR_TRIATHLON,
	RADAR_OFF_ROAD_RACING,
	RADAR_GANG_COPS,
	RADAR_GANG_MEXICANS,
	RADAR_GANG_BIKERS,
	RADAR_GANG_FAMILIES,
	RADAR_GANG_PROFESSIONALS,
	RADAR_SNITCH_RED,
	RADAR_CRIM_CUFF_KEYS,
	RADAR_CINEMA,
	RADAR_MUSIC_VENUE,
	RADAR_POLICE_STATION_BLUE,
	RADAR_AIRPORT,
	RADAR_CRIM_SAVED_VEHICLE,
	RADAR_WEED_STASH,
	RADAR_HUNTING,
	RADAR_POOL,
	RADAR_OBJECTIVE_BLUE,
	RADAR_OBJECTIVE_GREEN,
	RADAR_OBJECTIVE_RED,
	RADAR_OBJECTIVE_YELLOW,
	RADAR_ARMS_DEALING,
	RADAR_MP_FRIEND,
	RADAR_CELEBRITY_THEFT,
	RADAR_WEAPON_ASSAULT_RIFLE,
	RADAR_WEAPON_BAT,
	RADAR_WEAPON_GRENADE,
	RADAR_WEAPON_HEALTH,
	RADAR_WEAPON_KNIFE,
	RADAR_WEAPON_MOLOTOV,
	RADAR_WEAPON_PISTOL,
	RADAR_WEAPON_ROCKET,
	RADAR_WEAPON_SHOTGUN,
	RADAR_WEAPON_SMG,
	RADAR_WEAPON_SNIPER,
	RADAR_MP_NOISE,
	RADAR_POI,
	RADAR_PASSIVE,
	RADAR_USINGMENU,
	RADAR_FRIEND_FRANKLIN_P,
	RADAR_FRIEND_FRANKLIN_X,
	RADAR_FRIEND_MICHAEL_P,
	RADAR_FRIEND_MICHAEL_X,
	RADAR_FRIEND_TREVOR_P,
	RADAR_FRIEND_TREVOR_X,
	RADAR_GANG_COPS_PARTNER,
	RADAR_FRIEND_LAMAR,
	RADAR_WEAPON_MINIGUN,
	RADAR_WEAPON_GRENADELAUNCHER,
	RADAR_WEAPON_ARMOUR,
	RADAR_PROPERTY_TAKEOVER,
	RADAR_GANG_MEXICANS_HIGHLIGHT,
	RADAR_GANG_BIKERS_HIGHLIGHT,
	RADAR_TRIATHLON_CYCLING,
	RADAR_TRIATHLON_SWIMMING,
	RADAR_PROPERTY_TAKEOVER_BIKERS,
	RADAR_PROPERTY_TAKEOVER_COPS,
	RADAR_PROPERTY_TAKEOVER_VAGOS,
	RADAR_CAMERA,
	RADAR_CENTRE_RED,
	RADAR_HANDCUFF_KEYS_BIKERS,
	RADAR_HANDCUFF_KEYS_VAGOS,
	RADAR_HANDCUFFS_CLOSED_BIKERS,
	RADAR_HANDCUFFS_CLOSED_VAGOS,
	RADAR_HANDCUFFS_OPEN_BIKERS,
	RADAR_HANDCUFFS_OPEN_VAGOS,
	RADAR_CAMERA_BADGER,
	RADAR_CAMERA_FACADE,
	RADAR_CAMERA_IFRUIT,
	RADAR_CRIM_ARREST_BIKERS,
	RADAR_CRIM_ARREST_VAGOS,
	RADAR_YOGA,
	RADAR_TAXI,
	RADAR_NUMBERED_11,
	RADAR_NUMBERED_12,
	RADAR_NUMBERED_13,
	RADAR_NUMBERED_14,
	RADAR_NUMBERED_15,
	RADAR_NUMBERED_16,
	RADAR_SHRINK,
	RADAR_EPSILON,
	RADAR_FINANCIER_STRAND_GREY,
	RADAR_TREVOR_FAMILY_GREY,
	RADAR_TREVOR_FAMILY_RED,
	RADAR_FRANKLIN_FAMILY_GREY,
	RADAR_FRANKLIN_FAMILY_BLUE,
	RADAR_FRANKLIN_A,
	RADAR_FRANKLIN_B,
	RADAR_FRANKLIN_C,
	RADAR_NUMBERED_RED_1,
	RADAR_NUMBERED_RED_2,
	RADAR_NUMBERED_RED_3,
	RADAR_NUMBERED_RED_4,
	RADAR_NUMBERED_RED_5,
	RADAR_NUMBERED_RED_6,
	RADAR_NUMBERED_RED_7,
	RADAR_NUMBERED_RED_8,
	RADAR_NUMBERED_RED_9,
	RADAR_NUMBERED_RED_10,
	RADAR_GANG_VEHICLE,
	RADAR_GANG_VEHICLE_BIKERS,
	RADAR_GANG_VEHICLE_COPS,
	RADAR_GANG_VEHICLE_VAGOS,
	RADAR_GUNCAR,
	RADAR_DRIVING_BIKERS,
	RADAR_DRIVING_COPS,
	RADAR_DRIVING_VAGOS,
	RADAR_GANG_COPS_HIGHLIGHT,
	RADAR_SHIELD_BIKERS,
	RADAR_SHIELD_COPS,
	RADAR_SHIELD_VAGOS,
	RADAR_CUSTODY_BIKERS,
	RADAR_CUSTODY_VAGOS,
	RADAR_GANG_WANTED_BIKERS,
	RADAR_GANG_WANTED_BIKERS_1,
	RADAR_GANG_WANTED_BIKERS_2,
	RADAR_GANG_WANTED_BIKERS_3,
	RADAR_GANG_WANTED_BIKERS_4,
	RADAR_GANG_WANTED_BIKERS_5,
	RADAR_GANG_WANTED_VAGOS,
	RADAR_GANG_WANTED_VAGOS_1,
	RADAR_GANG_WANTED_VAGOS_2,
	RADAR_GANG_WANTED_VAGOS_3,
	RADAR_GANG_WANTED_VAGOS_4,
	RADAR_GANG_WANTED_VAGOS_5,
	RADAR_ARMS_DEALING_AIR,
	RADAR_PLAYERSTATE_ARRESTED,
	RADAR_PLAYERSTATE_CUSTODY,
	RADAR_PLAYERSTATE_DRIVING,
	RADAR_PLAYERSTATE_KEYHOLDER,
	RADAR_PLAYERSTATE_PARTNER,
	RADAR_GANG_WANTED_1,
	RADAR_GANG_WANTED_2,
	RADAR_GANG_WANTED_3,
	RADAR_GANG_WANTED_4,
	RADAR_GANG_WANTED_5,
	RADAR_ZTYPE,
	RADAR_STINGER,
	RADAR_PACKER,
	RADAR_MONROE,
	RADAR_FAIRGROUND,
	RADAR_PROPERTY,
	RADAR_GANG_HIGHLIGHT,
	RADAR_ALTRUIST,
	RADAR_AI,
	RADAR_ON_MISSION,
	RADAR_CASH_PICKUP,
	RADAR_CHOP,
	RADAR_DEAD,
	RADAR_TERRITORY_LOCKED,
	RADAR_CASH_LOST,
	RADAR_CASH_VAGOS,
	RADAR_CASH_COPS,
	RADAR_HOOKER,
	RADAR_FRIEND,
	RADAR_MISSION_2TO4,
	RADAR_MISSION_2TO8,
	RADAR_MISSION_2TO12,
	RADAR_MISSION_2TO16,
	RADAR_CUSTODY_DROPOFF,
	RADAR_ONMISSION_COPS,
	RADAR_ONMISSION_LOST,
	RADAR_ONMISSION_VAGOS,
	RADAR_CRIM_CARSTEAL_COPS,
	RADAR_CRIM_CARSTEAL_BIKERS,
	RADAR_CRIM_CARSTEAL_VAGOS,
	RADAR_BAND_STRAND,
	RADAR_SIMEON_FAMILY,
	RADAR_MISSION_1,
	RADAR_MISSION_2,
	RADAR_FRIEND_DARTS,
	RADAR_FRIEND_COMEDYCLUB,
	RADAR_FRIEND_CINEMA,
	RADAR_FRIEND_TENNIS,
	RADAR_FRIEND_STRIPCLUB,
	RADAR_FRIEND_LIVEMUSIC,
	RADAR_FRIEND_GOLF,
	RADAR_BOUNTY_HIT,
	RADAR_UGC_MISSION,
	RADAR_HORDE,
	RADAR_CRATEDROP,
	RADAR_PLANE_DROP,
	RADAR_SUB,
	RADAR_RACE,
	RADAR_DEATHMATCH,
	RADAR_ARM_WRESTLING,
	RADAR_MISSION_1TO2,
	RADAR_SHOOTINGRANGE_GUNSHOP,
	RADAR_RACE_AIR,
	RADAR_RACE_LAND,
	RADAR_RACE_SEA,
	RADAR_TOW,
	RADAR_GARBAGE,
	RADAR_DRILL,
	RADAR_SPIKES,
	RADAR_FIRETRUCK,
	RADAR_MINIGUN2,
	RADAR_BUGSTAR,
	RADAR_SUBMARINE,
	RADAR_CHINOOK,
	RADAR_GETAWAY_CAR,
	RADAR_MISSION_BIKERS_1,
	RADAR_MISSION_BIKERS_1TO2,
	RADAR_MISSION_BIKERS_2,
	RADAR_MISSION_BIKERS_2TO4,
	RADAR_MISSION_BIKERS_2TO8,
	RADAR_MISSION_BIKERS_2TO12,
	RADAR_MISSION_BIKERS_2TO16,
	RADAR_MISSION_COPS_1,
	RADAR_MISSION_COPS_1TO2,
	RADAR_MISSION_COPS_2,
	RADAR_MISSION_COPS_2TO4,
	RADAR_MISSION_COPS_2TO8,
	RADAR_MISSION_COPS_2TO12,
	RADAR_MISSION_COPS_2TO16,
	RADAR_MISSION_VAGOS_1,
	RADAR_MISSION_VAGOS_1TO2,
	RADAR_MISSION_VAGOS_2,
	RADAR_MISSION_VAGOS_2TO4,
	RADAR_MISSION_VAGOS_2TO8,
	RADAR_MISSION_VAGOS_2TO12,
	RADAR_MISSION_VAGOS_2TO16,
	RADAR_GANG_BIKE,
	RADAR_GAS_GRENADE,
	RADAR_PROPERTY_FOR_SALE,
	RADAR_GANG_ATTACK_PACKAGE,
	RADAR_MARTIN_MADRAZZO,
	RADAR_ENEMY_HELI_SPIN,
	RADAR_BOOST,
	RADAR_DEVIN,
	RADAR_DOCK,
	RADAR_GARAGE,
	RADAR_GOLF_FLAG,
	RADAR_HANGAR,
	RADAR_HELIPAD,
	RADAR_JERRY_CAN,
	RADAR_MASK,
	RADAR_HEIST_PREP,
	RADAR_INCAPACITATED,
	RADAR_SPAWN_POINT_PICKUP,
	RADAR_BOILERSUIT,
	RADAR_COMPLETED,
	RADAR_ROCKETS,
	RADAR_GARAGE_FOR_SALE,
	RADAR_HELIPAD_FOR_SALE,
	RADAR_DOCK_FOR_SALE,
	RADAR_HANGAR_FOR_SALE,
	RADAR_PLACEHOLDER_6,
	RADAR_BUSINESS,
	RADAR_BUSINESS_FOR_SALE,
	RADAR_RACE_BIKE,
	RADAR_PARACHUTE,
	RADAR_TEAM_DEATHMATCH,
	RADAR_RACE_FOOT,
	RADAR_VEHICLE_DEATHMATCH,
	RADAR_BARRY,
	RADAR_DOM,
	RADAR_MARYANN,
	RADAR_CLETUS,
	RADAR_JOSH,
	RADAR_MINUTE,
	RADAR_OMEGA,
	RADAR_TONYA,
	RADAR_PAPARAZZO,
	RADAR_AIM,
	RADAR_CRATEDROP_BACKGROUND,
	RADAR_GREEN_AND_NET_PLAYER1,
	RADAR_GREEN_AND_NET_PLAYER2,
	RADAR_GREEN_AND_NET_PLAYER3,
	RADAR_GREEN_AND_FRIENDLY,
	RADAR_NET_PLAYER1_AND_NET_PLAYER2,
	RADAR_NET_PLAYER1_AND_NET_PLAYER3,
	RADAR_CREATOR,
	RADAR_CREATOR_DIRECTION,
	RADAR_ABIGAIL,
	RADAR_BLIMP,
	RADAR_REPAIR,
	RADAR_TESTOSTERONE,
	RADAR_DINGHY,
	RADAR_FANATIC,
	RADAR_INVISIBLE,
	RADAR_INFO_ICON,
	RADAR_CAPTURE_THE_FLAG,
	RADAR_LAST_TEAM_STANDING,
	RADAR_BOAT,
	RADAR_CAPTURE_THE_FLAG_BASE,
	RADAR_MP_CREW_412,
	RADAR_CAPTURE_THE_FLAG_OUTLINE,
	RADAR_CAPTURE_THE_FLAG_BASE_NOBAG,
	RADAR_WEAPON_JERRYCAN,
	RADAR_RP,
	RADAR_LEVEL_INSIDE,
	RADAR_BOUNTY_HIT_INSIDE,
	RADAR_CAPTURE_THE_USAFLAG,
	RADAR_CAPTURE_THE_USAFLAG_OUTLINE,
	RADAR_TANK,
	RADAR_PLAYER_HELI,
	RADAR_PLAYER_PLANE,
	RADAR_PLAYER_JET,
	RADAR_CENTRE_STROKE,
	RADAR_PLAYER_GUNCAR,
	RADAR_PLAYER_BOAT,
	RADAR_MP_HEIST,
	RADAR_TEMP_1,
	RADAR_TEMP_2,
	RADAR_TEMP_3,
	RADAR_TEMP_4,
	RADAR_TEMP_5,
	RADAR_TEMP_6,
	RADAR_RACE_STUNT,
	RADAR_HOT_PROPERTY,
	RADAR_URBANWARFARE_VERSUS,
	RADAR_KING_OF_THE_CASTLE,
	RADAR_PLAYER_KING,
	RADAR_DEAD_DROP,
	RADAR_PENNED_IN,
	RADAR_BEAST,
	RADAR_EDGE_POINTER,
	RADAR_EDGE_CROSSTHELINE,
	RADAR_MP_LAMAR,
	RADAR_BENNYS,
	RADAR_CORNER_NUMBER_1,
	RADAR_CORNER_NUMBER_2,
	RADAR_CORNER_NUMBER_3,
	RADAR_CORNER_NUMBER_4,
	RADAR_CORNER_NUMBER_5,
	RADAR_CORNER_NUMBER_6,
	RADAR_CORNER_NUMBER_7,
	RADAR_CORNER_NUMBER_8,
	RADAR_YACHT,
	RADAR_FINDERS_KEEPERS,
	RADAR_ASSAULT_PACKAGE,
	RADAR_HUNT_THE_BOSS,
	RADAR_SIGHTSEER,
	RADAR_TURRETED_LIMO,
	RADAR_BELLY_OF_THE_BEAST,
	RADAR_YACHT_LOCATION,
	RADAR_PICKUP_BEAST,
	RADAR_PICKUP_ZONED,
	RADAR_PICKUP_RANDOM,
	RADAR_PICKUP_SLOW_TIME,
	RADAR_PICKUP_SWAP,
	RADAR_PICKUP_THERMAL,
	RADAR_PICKUP_WEED,
	RADAR_WEAPON_RAILGUN,
	RADAR_SEASHARK,
	RADAR_PICKUP_HIDDEN,
	RADAR_WAREHOUSE,
	RADAR_WAREHOUSE_FOR_SALE,
	RADAR_OFFICE,
	RADAR_OFFICE_FOR_SALE,
	RADAR_TRUCK,
	RADAR_CONTRABAND,
	RADAR_TRAILER,
	RADAR_VIP,
	RADAR_CARGOBOB,
	RADAR_AREA_OUTLINE_BLIP,
	RADAR_PICKUP_ACCELERATOR,
	RADAR_PICKUP_GHOST,
	RADAR_PICKUP_DETONATOR,
	RADAR_PICKUP_BOMB,
	RADAR_PICKUP_ARMOURED,
	RADAR_STUNT,
	RADAR_WEAPON_LIVES,
	RADAR_STUNT_PREMIUM,
	RADAR_ADVERSARY,
	RADAR_BIKER_CLUBHOUSE,
	RADAR_BIKER_CAGED_IN,
	RADAR_BIKER_TURF_WAR,
	RADAR_BIKER_JOUST,
	RADAR_PRODUCTION_WEED,
	RADAR_PRODUCTION_CRACK,
	RADAR_PRODUCTION_FAKE_ID,
	RADAR_PRODUCTION_METH,
	RADAR_PRODUCTION_MONEY,
	RADAR_PACKAGE,
	RADAR_CAPTURE_1,
	RADAR_CAPTURE_2,
	RADAR_CAPTURE_3,
	RADAR_CAPTURE_4,
	RADAR_CAPTURE_5,
	RADAR_CAPTURE_6,
	RADAR_CAPTURE_7,
	RADAR_CAPTURE_8,
	RADAR_CAPTURE_9,
	RADAR_CAPTURE_10,
	RADAR_QUAD,
	RADAR_BUS,
	RADAR_DRUGS_PACKAGE,
	RADAR_PICKUP_JUMP,
	RADAR_ADVERSARY_4,
	RADAR_ADVERSARY_8,
	RADAR_ADVERSARY_10,
	RADAR_ADVERSARY_12,
	RADAR_ADVERSARY_16,
	RADAR_LAPTOP,
	RADAR_PICKUP_DEADLINE,
	RADAR_SPORTS_CAR,
	RADAR_WAREHOUSE_VEHICLE,
	RADAR_REG_PAPERS,
	RADAR_POLICE_STATION_DROPOFF,
	RADAR_JUNKYARD,
	RADAR_EX_VECH_1,
	RADAR_EX_VECH_2,
	RADAR_EX_VECH_3,
	RADAR_EX_VECH_4,
	RADAR_EX_VECH_5,
	RADAR_EX_VECH_6,
	RADAR_EX_VECH_7,
	RADAR_TARGET_A,
	RADAR_TARGET_B,
	RADAR_TARGET_C,
	RADAR_TARGET_D,
	RADAR_TARGET_E,
	RADAR_TARGET_F,
	RADAR_TARGET_G,
	RADAR_TARGET_H,
	RADAR_JUGG,
	RADAR_PICKUP_REPAIR,
	RADAR_STEERINGWHEEL,
	RADAR_TROPHY,
	RADAR_PICKUP_ROCKET_BOOST,
	RADAR_PICKUP_HOMING_ROCKET,
	RADAR_PICKUP_MACHINEGUN,
	RADAR_PICKUP_PARACHUTE,
	RADAR_PICKUP_TIME_5,
	RADAR_PICKUP_TIME_10,
	RADAR_PICKUP_TIME_15,
	RADAR_PICKUP_TIME_20,
	RADAR_PICKUP_TIME_30,
	RADAR_SUPPLIES,
	RADAR_PROPERTY_BUNKER,
	RADAR_GR_WVM_1,
	RADAR_GR_WVM_2,
	RADAR_GR_WVM_3,
	RADAR_GR_WVM_4,
	RADAR_GR_WVM_5,
	RADAR_GR_WVM_6,
	RADAR_GR_COVERT_OPS,
	RADAR_ADVERSARY_BUNKER,
	RADAR_GR_MOC_UPGRADE,
	RADAR_GR_W_UPGRADE,
	RADAR_SM_CARGO,
	RADAR_SM_HANGAR,
	RADAR_TF_CHECKPOINT,
	RADAR_RACE_TF,
	RADAR_SM_WP1,
	RADAR_SM_WP2,
	RADAR_SM_WP3,
	RADAR_SM_WP4,
	RADAR_SM_WP5,
	RADAR_SM_WP6,
	RADAR_SM_WP7,
	RADAR_SM_WP8,
	RADAR_SM_WP9,
	RADAR_SM_WP10,
	RADAR_SM_WP11,
	RADAR_SM_WP12,
	RADAR_SM_WP13,
	RADAR_SM_WP14,
	RADAR_NHP_BAG,
	RADAR_NHP_CHEST,
	RADAR_NHP_ORBIT,
	RADAR_NHP_VEH1,
	RADAR_NHP_BASE,
	RADAR_NHP_OVERLAY,
	RADAR_NHP_TURRET,
	RADAR_NHP_MG_FIREWALL,
	RADAR_NHP_MG_NODE,
	RADAR_NHP_WP1,
	RADAR_NHP_WP2,
	RADAR_NHP_WP3,
	RADAR_NHP_WP4,
	RADAR_NHP_WP5,
	RADAR_NHP_WP6,
	RADAR_NHP_WP7,
	RADAR_NHP_WP8,
	RADAR_NHP_WP9,
	RADAR_NHP_CCTV,
	RADAR_NHP_STARTERPACK,
	RADAR_NHP_TURRET_CONSOLE,
	RADAR_NHP_MG_MIR_ROTATE,
	RADAR_NHP_MG_MIR_STATIC,
	RADAR_NHP_MG_PROXY,
	RADAR_ACSR_RACE_TARGET,
	RADAR_ACSR_RACE_HOTRING,
	RADAR_ACSR_WP1,
	RADAR_ACSR_WP2,
	RADAR_BAT_CLUB_PROPERTY,
	RADAR_BAT_CARGO,
	RADAR_BAT_TRUCK,
	RADAR_BAT_HACK_JEWEL,
	RADAR_BAT_HACK_GOLD,
	RADAR_BAT_KEYPAD,
	RADAR_BAT_HACK_TARGET,
	RADAR_PICKUP_DTB_HEALTH,
	RADAR_PICKUP_DTB_BLAST_INCREASE,
	RADAR_PICKUP_DTB_BLAST_DECREASE,
	RADAR_PICKUP_DTB_BOMB_INCREASE,
	RADAR_PICKUP_DTB_BOMB_DECREASE,
	RADAR_BAT_RIVAL_CLUB,
	RADAR_BAT_DRONE,
	RADAR_BAT_CASH_REG,
	RADAR_CCTV,
	RADAR_BAT_ASSASSINATE,
	RADAR_BAT_PBUS,
	RADAR_BAT_WP1,
	RADAR_BAT_WP2,
	RADAR_BAT_WP3,
	RADAR_BAT_WP4,
	RADAR_BAT_WP5,
	RADAR_BAT_WP6,
	RADAR_BLIMP_2,
	RADAR_OPPRESSOR_2,
	RADAR_BAT_WP7,
	RADAR_ARENA_SERIES,
	RADAR_ARENA_PREMIUM,
	RADAR_ARENA_WORKSHOP,
	RADAR_RACE_WARS,
	RADAR_ARENA_TURRET,
	RADAR_ARENA_RC_CAR,
	RADAR_ARENA_RC_WORKSHOP,
	RADAR_ARENA_TRAP_FIRE,
	RADAR_ARENA_TRAP_FLIP,
	RADAR_ARENA_TRAP_SEA,
	RADAR_ARENA_TRAP_TURN,
	RADAR_ARENA_TRAP_PIT,
	RADAR_ARENA_TRAP_MINE,
	RADAR_ARENA_TRAP_BOMB,
	RADAR_ARENA_TRAP_WALL,
	RADAR_ARENA_TRAP_BRD,
	RADAR_ARENA_TRAP_SBRD,
	RADAR_ARENA_BRUISER,
	RADAR_ARENA_BRUTUS,
	RADAR_ARENA_CERBERUS,
	RADAR_ARENA_DEATHBIKE,
	RADAR_ARENA_DOMINATOR,
	RADAR_ARENA_IMPALER,
	RADAR_ARENA_IMPERATOR,
	RADAR_ARENA_ISSI,
	RADAR_ARENA_SASQUATCH,
	RADAR_ARENA_SCARAB,
	RADAR_ARENA_SLAMVAN,
	RADAR_ARENA_ZR380,
	RADAR_AP,
	RADAR_COMIC_STORE,
	RADAR_COP_CAR,
	RADAR_RC_TIME_TRIALS,
	RADAR_KING_OF_THE_HILL,
	RADAR_KING_OF_THE_HILL_TEAMS,
	RADAR_RUCKSACK,
	RADAR_SHIPPING_CONTAINER,
	RADAR_AGATHA,
	RADAR_CASINO,
	RADAR_CASINO_TABLE_GAMES,
	RADAR_CASINO_WHEEL,
	RADAR_CASINO_CONCIERGE,
	RADAR_CASINO_CHIPS,
	RADAR_CASINO_HORSE_RACING,
	RADAR_ADVERSARY_FEATURED,
	RADAR_ROULETTE_1,
	RADAR_ROULETTE_2,
	RADAR_ROULETTE_3,
	RADAR_ROULETTE_4,
	RADAR_ROULETTE_5,
	RADAR_ROULETTE_6,
	RADAR_ROULETTE_7,
	RADAR_ROULETTE_8,
	RADAR_ROULETTE_9,
	RADAR_ROULETTE_10,
	RADAR_ROULETTE_11,
	RADAR_ROULETTE_12,
	RADAR_ROULETTE_13,
	RADAR_ROULETTE_14,
	RADAR_ROULETTE_15,
	RADAR_ROULETTE_16,
	RADAR_ROULETTE_17,
	RADAR_ROULETTE_18,
	RADAR_ROULETTE_19,
	RADAR_ROULETTE_20,
	RADAR_ROULETTE_21,
	RADAR_ROULETTE_22,
	RADAR_ROULETTE_23,
	RADAR_ROULETTE_24,
	RADAR_ROULETTE_25,
	RADAR_ROULETTE_26,
	RADAR_ROULETTE_27,
	RADAR_ROULETTE_28,
	RADAR_ROULETTE_29,
	RADAR_ROULETTE_30,
	RADAR_ROULETTE_31,
	RADAR_ROULETTE_32,
	RADAR_ROULETTE_33,
	RADAR_ROULETTE_34,
	RADAR_ROULETTE_35,
	RADAR_ROULETTE_36,
	RADAR_ROULETTE_0,
	RADAR_ROULETTE_00,
	RADAR_LIMO,
	RADAR_WEAPON_ALIEN,
	RADAR_RACE_OPEN_WHEEL,
	RADAR_RAPPEL,
	RADAR_SWAP_CAR,
	RADAR_SCUBA_GEAR,
	RADAR_CPANEL_1,
	RADAR_CPANEL_2,
	RADAR_CPANEL_3,
	RADAR_CPANEL_4,
	RADAR_SNOW_TRUCK,
	RADAR_BUGGY_1,
	RADAR_BUGGY_2,
	RADAR_ZHABA,
	RADAR_GERALD,
	RADAR_RON,
	RADAR_ARCADE,
	RADAR_DRONE_CONTROLS,
	RADAR_RC_TANK,
	RADAR_STAIRS,
	RADAR_CAMERA_2,
	RADAR_WINKY,
	RADAR_MINI_SUB,
	RADAR_KART_RETRO,
	RADAR_KART_MODERN,
	RADAR_MILITARY_QUAD,
	RADAR_MILITARY_TRUCK,
	RADAR_SHIP_WHEEL,
	RADAR_UFO,
	RADAR_SEASPARROW2,
	RADAR_DINGHY2,
	RADAR_PATROL_BOAT,
	RADAR_RETRO_SPORTS_CAR,
	RADAR_SQUADEE,
	RADAR_FOLDING_WING_JET,
	RADAR_VALKYRIE2,
	RADAR_SUB2,
	RADAR_BOLT_CUTTERS,
	RADAR_RAPPEL_GEAR,
	RADAR_KEYCARD,
	RADAR_PASSWORD,
	RADAR_ISLAND_HEIST_PREP,
	RADAR_ISLAND_PARTY,
	RADAR_CONTROL_TOWER,
	RADAR_UNDERWATER_GATE,
	RADAR_POWER_SWITCH,
	RADAR_COMPOUND_GATE,
	RADAR_RAPPEL_POINT,
	RADAR_KEYPAD,
	RADAR_SUB_CONTROLS,
	RADAR_SUB_PERISCOPE,
	RADAR_SUB_MISSILE,
	RADAR_PAINTING,
	RADAR_CAR_MEET,
	RADAR_CAR_TEST_AREA,
	RADAR_AUTO_SHOP_PROPERTY,
	RADAR_DOCKS_EXPORT,
	RADAR_PRIZE_CAR,
	RADAR_TEST_CAR,
	RADAR_CAR_ROBBERY_BOARD,
	RADAR_CAR_ROBBERY_PREP,
	RADAR_STREET_RACE_SERIES,
	RADAR_PURSUIT_SERIES,
	RADAR_CAR_MEET_ORGANISER,
	RADAR_SECUROSERV,
	RADAR_BOUNTY_COLLECTIBLES,
	RADAR_MOVIE_COLLECTIBLES,
	RADAR_TRAILER_RAMP,
	RADAR_RACE_ORGANISER,
	RADAR_CHALKBOARD_LIST,
	RADAR_EXPORT_VEHICLE,
	RADAR_TRAIN,
	RADAR_HEIST_DIAMOND,
	RADAR_HEIST_DOOMSDAY,
	RADAR_HEIST_ISLAND,
	RADAR_SLAMVAN2,
	RADAR_CRUSADER,
	RADAR_CONSTRUCTION_OUTFIT,
	RADAR_OVERLAY_JAMMED,
	RADAR_HEIST_ISLAND_UNAVAILABLE,
	RADAR_HEIST_DIAMOND_UNAVAILABLE,
	RADAR_HEIST_DOOMSDAY_UNAVAILABLE,
	RADAR_PLACEHOLDER_7,
	RADAR_PLACEHOLDER_8,
	RADAR_PLACEHOLDER_9,
	RADAR_FEATURED_SERIES,
	RADAR_VEHICLE_FOR_SALE,
	RADAR_VAN_KEYS,
	RADAR_SUV_SERVICE,
	RADAR_SECURITY_CONTRACT,
	RADAR_SAFE,
	RADAR_PED_R,
	RADAR_PED_E,
	RADAR_PAYPHONE,
	RADAR_PATRIOT3,
	RADAR_MUSIC_STUDIO,
	RADAR_JUBILEE,
	RADAR_GRANGER2,
	RADAR_EXPLOSIVE_CHARGE,
	RADAR_DEITY,
	RADAR_D_CHAMPION,
	RADAR_BUFFALO4,
	RADAR_AGENCY,
	RADAR_BIKER_BAR,
	RADAR_SIMEON_OVERLAY,
	RADAR_JUNK_SKYDIVE,
	RADAR_LUXURY_CAR_SHOWROOM,
	RADAR_CAR_SHOWROOM,
	RADAR_CAR_SHOWROOM_SIMEON,
	RADAR_FLAMING_SKULL,
	RADAR_WEAPON_AMMO,
	RADAR_COMMUNITY_SERIES,
	RADAR_CAYO_SERIES,
	RADAR_CLUBHOUSE_CONTRACT,
	RADAR_AGENT_ULP,
	RADAR_ACID,
	RADAR_ACID_LAB,
	RADAR_DAX_OVERLAY,
	RADAR_DEAD_DROP_PACKAGE,
	RADAR_DOWNTOWN_CAB,
	RADAR_GUN_VAN,
	RADAR_STASH_HOUSE,
	RADAR_TRACTOR,
	RADAR_WAREHOUSE_JUGGALO,
	RADAR_WAREHOUSE_JUGGALO_DAX,
	RADAR_WEAPON_CROWBAR,
	RADAR_DUFFEL_BAG,
	RADAR_OIL_TANKER,
	RADAR_ACID_LAB_TENT,
	RADAR_VAN_BURRITO,
	RADAR_ACID_BOOST,
	RADAR_PED_GANG_LEADER,
	RADAR_MULTISTOREY_GARAGE,
	RADAR_SEIZED_ASSET_SALES,
	RADAR_CAYO_ATTRITION,
	RADAR_BICYCLE,
	RADAR_BICYCLE_TRIAL,
	RADAR_RAIJU,
	RADAR_CONADA2,
	RADAR_OVERLAY_READY_FOR_SELL,
	RADAR_OVERLAY_MISSING_SUPPLIES,
	RADAR_STREAMER216,
	RADAR_SIGNAL_JAMMER,
	RADAR_SALVAGE_YARD,
	RADAR_ROBBERY_PREP_EQUIPMENT,
	RADAR_ROBBERY_PREP_OVERLAY,
	RADAR_YUSUF,
	RADAR_VINCENT,
	RADAR_VINEWOOD_GARAGE,
	RADAR_LSTB,
	RADAR_CCTV_WORKSTATION,
	RADAR_HACKING_DEVICE,
	RADAR_RACE_DRAG,
	RADAR_RACE_DRIFT,
	RADAR_CASINO_PREP,
	RADAR_PLANNING_WALL,
	RADAR_WEAPON_CRATE,
	RADAR_WEAPON_SNOWBALL,
	RADAR_TRAIN_SIGNALS_GREEN,
	RADAR_TRAIN_SIGNALS_RED,
};

enum class BlipColors
{
	None,
	Red,
	Green,
	Blue,
	PlayerColor,
	YellowMission,
	FriendlyVehicle = 0x26,
	MichaelColor    = 0x2A,
	FranklinColor,
	TravorColor,
	BlipColorEnemy = 0x31,
	MissionVehicle = 0x36,
	RedMission     = 0x3B,
	YellowMission2 = 0x3C,
	Mission        = 0x42,
	WaypointColor  = 0x54
};

enum BlipDisplayBits : uint32_t
{
	BlipIsFriendly           = (1 << 1),
	BlipIsFlashing           = (1 << 2),
	BlipIsGPSRoute           = (1 << 4),
	BlipShowHeightMarker     = (1 << 5),
	BlipsIsDirectional       = (1 << 11),
	BlipShowCheckmark        = (1 << 16),
	BlipShowDollarSign       = (1 << 17),
	BlipShowHeadingIndicator = (1 << 18),
	BlipShowFullCircle       = (1 << 19),
	BlipIsFriend             = (1 << 20),
	BlipIsCrew               = (1 << 21),
	BlipIsSelected           = (1 << 23),
};

enum class BlipRenderBits
{
	BlipIsOnScreen = (1 << 6)
};

enum class eFrameFlags : uint32_t
{
	eFrameFlagExplosiveAmmo  = 1 << 11,
	eFrameFlagFireAmmo       = 1 << 12,
	eFrameFlagExplosiveMelee = 1 << 13,
	eFrameFlagSuperJump      = 1 << 14,
};

enum class eNetObjType
{
	NET_OBJ_TYPE_AUTOMOBILE,
	NET_OBJ_TYPE_BIKE,
	NET_OBJ_TYPE_BOAT,
	NET_OBJ_TYPE_DOOR,
	NET_OBJ_TYPE_HELI,
	NET_OBJ_TYPE_OBJECT,
	NET_OBJ_TYPE_PED,
	NET_OBJ_TYPE_PICKUP,
	NET_OBJ_TYPE_PICKUP_PLACEMENT,
	NET_OBJ_TYPE_PLANE,
	NET_OBJ_TYPE_SUBMARINE,
	NET_OBJ_TYPE_PLAYER,
	NET_OBJ_TYPE_TRAILER,
	NET_OBJ_TYPE_TRAIN
};

constexpr const auto net_object_type_strs = std::to_array({
    "AUTOMOBILE",
    "BIKE",
    "BOAT",
    "DOOR",
    "HELI",
    "OBJECT",
    "PED",
    "PICKUP",
    "PICKUP_PLACEMENT",
    "PLANE",
    "SUBMARINE",
    "PLAYER",
    "TRAILER",
    "TRAIN",
});

enum class eNetObjectFlags : uint16_t
{
	NET_OBJ_FLAGS_FROM_SCRIPT = 1 << 2,
	NET_OBJ_FLAGS_SCRIPTED    = 1 << 6,
};

enum class eAckCode : uint32_t
{
	ACKCODE_SUCCESS,
	ACKCODE_FAIL,
	ACKCODE_WRONG_OWNER,
	ACKCODE_OUT_OF_SEQUENCE,
	ACKCODE_NO_OBJECT,
	ACKCODE_TOO_MANY_OBJECTS,
	ACKCODE_CANT_APPLY_DATA,
	ACKCODE_MATCH_NOT_STARTED,
	ACKCODE_NONE
};

enum class PedBones : uint16_t
{
	SKEL_ROOT                        = 0x0,
	SKEL_Pelvis                      = 0x2E28,
	SKEL_L_Thigh                     = 0xE39F,
	SKEL_L_Calf                      = 0xF9BB,
	SKEL_L_Foot                      = 0x3779,
	SKEL_L_Toe0                      = 0x83C,
	EO_L_Foot                        = 0x84C5,
	EO_L_Toe                         = 0x68BD,
	IK_L_Foot                        = 0xFEDD,
	PH_L_Foot                        = 0xE175,
	MH_L_Knee                        = 0xB3FE,
	SKEL_R_Thigh                     = 0xCA72,
	SKEL_R_Calf                      = 0x9000,
	SKEL_R_Foot                      = 0xCC4D,
	SKEL_R_Toe0                      = 0x512D,
	EO_R_Foot                        = 0x1096,
	EO_R_Toe                         = 0x7163,
	IK_R_Foot                        = 0x8AAE,
	PH_R_Foot                        = 0x60E6,
	MH_R_Knee                        = 0x3FCF,
	RB_L_ThighRoll                   = 0x5C57,
	RB_R_ThighRoll                   = 0x192A,
	SKEL_Spine_Root                  = 0xE0FD,
	SKEL_Spine0                      = 0x5C01,
	SKEL_Spine1                      = 0x60F0,
	SKEL_Spine2                      = 0x60F1,
	SKEL_Spine3                      = 0x60F2,
	SKEL_L_Clavicle                  = 0xFCD9,
	SKEL_L_UpperArm                  = 0xB1C5,
	SKEL_L_Forearm                   = 0xEEEB,
	SKEL_L_Hand                      = 0x49D9,
	SKEL_L_Finger00                  = 0x67F2,
	SKEL_L_Finger01                  = 0xFF9,
	SKEL_L_Finger02                  = 0xFFA,
	SKEL_L_Finger10                  = 0x67F3,
	SKEL_L_Finger11                  = 0x1049,
	SKEL_L_Finger12                  = 0x104A,
	SKEL_L_Finger20                  = 0x67F4,
	SKEL_L_Finger21                  = 0x1059,
	SKEL_L_Finger22                  = 0x105A,
	SKEL_L_Finger30                  = 0x67F5,
	SKEL_L_Finger31                  = 0x1029,
	SKEL_L_Finger32                  = 0x102A,
	SKEL_L_Finger40                  = 0x67F6,
	SKEL_L_Finger41                  = 0x1039,
	SKEL_L_Finger42                  = 0x103A,
	PH_L_Hand                        = 0xEB95,
	IK_L_Hand                        = 0x8CBD,
	RB_L_ForeArmRoll                 = 0xEE4F,
	RB_L_ArmRoll                     = 0x1470,
	MH_L_Elbow                       = 0x58B7,
	SKEL_R_Clavicle                  = 0x29D2,
	SKEL_R_UpperArm                  = 0x9D4D,
	SKEL_R_Forearm                   = 0x6E5C,
	SKEL_R_Hand                      = 0xDEAD,
	SKEL_R_Finger00                  = 0xE5F2,
	SKEL_R_Finger01                  = 0xFA10,
	SKEL_R_Finger02                  = 0xFA11,
	SKEL_R_Finger10                  = 0xE5F3,
	SKEL_R_Finger11                  = 0xFA60,
	SKEL_R_Finger12                  = 0xFA61,
	SKEL_R_Finger20                  = 0xE5F4,
	SKEL_R_Finger21                  = 0xFA70,
	SKEL_R_Finger22                  = 0xFA71,
	SKEL_R_Finger30                  = 0xE5F5,
	SKEL_R_Finger31                  = 0xFA40,
	SKEL_R_Finger32                  = 0xFA41,
	SKEL_R_Finger40                  = 0xE5F6,
	SKEL_R_Finger41                  = 0xFA50,
	SKEL_R_Finger42                  = 0xFA51,
	PH_R_Hand                        = 0x6F06,
	IK_R_Hand                        = 0x188E,
	RB_R_ForeArmRoll                 = 0xAB22,
	RB_R_ArmRoll                     = 0x90FF,
	MH_R_Elbow                       = 0xBB0,
	SKEL_Neck_1                      = 0x9995,
	SKEL_Head                        = 0x796E,
	IK_Head                          = 0x322C,
	FACIAL_facialRoot                = 0xFE2C,
	FB_L_Brow_Out_000                = 0xE3DB,
	FB_L_Lid_Upper_000               = 0xB2B6,
	FB_L_Eye_000                     = 0x62AC,
	FB_L_CheekBone_000               = 0x542E,
	FB_L_Lip_Corner_000              = 0x74AC,
	FB_R_Lid_Upper_000               = 0xAA10,
	FB_R_Eye_000                     = 0x6B52,
	FB_R_CheekBone_000               = 0x4B88,
	FB_R_Brow_Out_000                = 0x54C,
	FB_R_Lip_Corner_000              = 0x2BA6,
	FB_Brow_Centre_000               = 0x9149,
	FB_UpperLipRoot_000              = 0x4ED2,
	FB_UpperLip_000                  = 0xF18F,
	FB_L_Lip_Top_000                 = 0x4F37,
	FB_R_Lip_Top_000                 = 0x4537,
	FB_Jaw_000                       = 0xB4A0,
	FB_LowerLipRoot_000              = 0x4324,
	FB_LowerLip_000                  = 0x508F,
	FB_L_Lip_Bot_000                 = 0xB93B,
	FB_R_Lip_Bot_000                 = 0xC33B,
	FB_Tongue_000                    = 0xB987,
	RB_Neck_1                        = 0x8B93,
	SPR_L_Breast                     = 0xFC8E,
	SPR_R_Breast                     = 0x885F,
	IK_Root                          = 0xDD1C,
	SKEL_Neck_2                      = 0x5FD4,
	SKEL_Pelvis1                     = 0xD003,
	SKEL_PelvisRoot                  = 0x45FC,
	SKEL_SADDLE                      = 0x9524,
	MH_L_CalfBack                    = 0x1013,
	MH_L_ThighBack                   = 0x600D,
	SM_L_Skirt                       = 0xC419,
	MH_R_CalfBack                    = 0xB013,
	MH_R_ThighBack                   = 0x51A3,
	SM_R_Skirt                       = 0x7712,
	SM_M_BackSkirtRoll               = 0xDBB,
	SM_L_BackSkirtRoll               = 0x40B2,
	SM_R_BackSkirtRoll               = 0xC141,
	SM_M_FrontSkirtRoll              = 0xCDBB,
	SM_L_FrontSkirtRoll              = 0x9B69,
	SM_R_FrontSkirtRoll              = 0x86F1,
	SM_CockNBalls_ROOT               = 0xC67D,
	SM_CockNBalls                    = 0x9D34,
	MH_L_Finger00                    = 0x8C63,
	MH_L_FingerBulge00               = 0x5FB8,
	MH_L_Finger10                    = 0x8C53,
	MH_L_FingerTop00                 = 0xA244,
	MH_L_HandSide                    = 0xC78A,
	MH_Watch                         = 0x2738,
	MH_L_Sleeve                      = 0x933C,
	MH_R_Finger00                    = 0x2C63,
	MH_R_FingerBulge00               = 0x69B8,
	MH_R_Finger10                    = 0x2C53,
	MH_R_FingerTop00                 = 0xEF4B,
	MH_R_HandSide                    = 0x68FB,
	MH_R_Sleeve                      = 0x92DC,
	FACIAL_jaw                       = 0xB21,
	FACIAL_underChin                 = 0x8A95,
	FACIAL_L_underChin               = 0x234E,
	FACIAL_chin                      = 0xB578,
	FACIAL_chinSkinBottom            = 0x98BC,
	FACIAL_L_chinSkinBottom          = 0x3E8F,
	FACIAL_R_chinSkinBottom          = 0x9E8F,
	FACIAL_tongueA                   = 0x4A7C,
	FACIAL_tongueB                   = 0x4A7D,
	FACIAL_tongueC                   = 0x4A7E,
	FACIAL_tongueD                   = 0x4A7F,
	FACIAL_tongueE                   = 0x4A80,
	FACIAL_L_tongueE                 = 0x35F2,
	FACIAL_R_tongueE                 = 0x2FF2,
	FACIAL_L_tongueD                 = 0x35F1,
	FACIAL_R_tongueD                 = 0x2FF1,
	FACIAL_L_tongueC                 = 0x35F0,
	FACIAL_R_tongueC                 = 0x2FF0,
	FACIAL_L_tongueB                 = 0x35EF,
	FACIAL_R_tongueB                 = 0x2FEF,
	FACIAL_L_tongueA                 = 0x35EE,
	FACIAL_R_tongueA                 = 0x2FEE,
	FACIAL_chinSkinTop               = 0x7226,
	FACIAL_L_chinSkinTop             = 0x3EB3,
	FACIAL_chinSkinMid               = 0x899A,
	FACIAL_L_chinSkinMid             = 0x4427,
	FACIAL_L_chinSide                = 0x4A5E,
	FACIAL_R_chinSkinMid             = 0xF5AF,
	FACIAL_R_chinSkinTop             = 0xF03B,
	FACIAL_R_chinSide                = 0xAA5E,
	FACIAL_R_underChin               = 0x2BF4,
	FACIAL_L_lipLowerSDK             = 0xB9E1,
	FACIAL_L_lipLowerAnalog          = 0x244A,
	FACIAL_L_lipLowerThicknessV      = 0xC749,
	FACIAL_L_lipLowerThicknessH      = 0xC67B,
	FACIAL_lipLowerSDK               = 0x7285,
	FACIAL_lipLowerAnalog            = 0xD97B,
	FACIAL_lipLowerThicknessV        = 0xC5BB,
	FACIAL_lipLowerThicknessH        = 0xC5ED,
	FACIAL_R_lipLowerSDK             = 0xA034,
	FACIAL_R_lipLowerAnalog          = 0xC2D9,
	FACIAL_R_lipLowerThicknessV      = 0xC6E9,
	FACIAL_R_lipLowerThicknessH      = 0xC6DB,
	FACIAL_nose                      = 0x20F1,
	FACIAL_L_nostril                 = 0x7322,
	FACIAL_L_nostrilThickness        = 0xC15F,
	FACIAL_noseLower                 = 0xE05A,
	FACIAL_L_noseLowerThickness      = 0x79D5,
	FACIAL_R_noseLowerThickness      = 0x7975,
	FACIAL_noseTip                   = 0x6A60,
	FACIAL_R_nostril                 = 0x7922,
	FACIAL_R_nostrilThickness        = 0x36FF,
	FACIAL_noseUpper                 = 0xA04F,
	FACIAL_L_noseUpper               = 0x1FB8,
	FACIAL_noseBridge                = 0x9BA3,
	FACIAL_L_nasolabialFurrow        = 0x5ACA,
	FACIAL_L_nasolabialBulge         = 0xCD78,
	FACIAL_L_cheekLower              = 0x6907,
	FACIAL_L_cheekLowerBulge1        = 0xE3FB,
	FACIAL_L_cheekLowerBulge2        = 0xE3FC,
	FACIAL_L_cheekInner              = 0xE7AB,
	FACIAL_L_cheekOuter              = 0x8161,
	FACIAL_L_eyesackLower            = 0x771B,
	FACIAL_L_eyeball                 = 0x1744,
	FACIAL_L_eyelidLower             = 0x998C,
	FACIAL_L_eyelidLowerOuterSDK     = 0xFE4C,
	FACIAL_L_eyelidLowerOuterAnalog  = 0xB9AA,
	FACIAL_L_eyelashLowerOuter       = 0xD7F6,
	FACIAL_L_eyelidLowerInnerSDK     = 0xF151,
	FACIAL_L_eyelidLowerInnerAnalog  = 0x8242,
	FACIAL_L_eyelashLowerInner       = 0x4CCF,
	FACIAL_L_eyelidUpper             = 0x97C1,
	FACIAL_L_eyelidUpperOuterSDK     = 0xAF15,
	FACIAL_L_eyelidUpperOuterAnalog  = 0x67FA,
	FACIAL_L_eyelashUpperOuter       = 0x27B7,
	FACIAL_L_eyelidUpperInnerSDK     = 0xD341,
	FACIAL_L_eyelidUpperInnerAnalog  = 0xF092,
	FACIAL_L_eyelashUpperInner       = 0x9B1F,
	FACIAL_L_eyesackUpperOuterBulge  = 0xA559,
	FACIAL_L_eyesackUpperInnerBulge  = 0x2F2A,
	FACIAL_L_eyesackUpperOuterFurrow = 0xC597,
	FACIAL_L_eyesackUpperInnerFurrow = 0x52A7,
	FACIAL_forehead                  = 0x9218,
	FACIAL_L_foreheadInner           = 0x843,
	FACIAL_L_foreheadInnerBulge      = 0x767C,
	FACIAL_L_foreheadOuter           = 0x8DCB,
	FACIAL_skull                     = 0x4221,
	FACIAL_foreheadUpper             = 0xF7D6,
	FACIAL_L_foreheadUpperInner      = 0xCF13,
	FACIAL_L_foreheadUpperOuter      = 0x509B,
	FACIAL_R_foreheadUpperInner      = 0xCEF3,
	FACIAL_R_foreheadUpperOuter      = 0x507B,
	FACIAL_L_temple                  = 0xAF79,
	FACIAL_L_ear                     = 0x19DD,
	FACIAL_L_earLower                = 0x6031,
	FACIAL_L_masseter                = 0x2810,
	FACIAL_L_jawRecess               = 0x9C7A,
	FACIAL_L_cheekOuterSkin          = 0x14A5,
	FACIAL_R_cheekLower              = 0xF367,
	FACIAL_R_cheekLowerBulge1        = 0x599B,
	FACIAL_R_cheekLowerBulge2        = 0x599C,
	FACIAL_R_masseter                = 0x810,
	FACIAL_R_jawRecess               = 0x93D4,
	FACIAL_R_ear                     = 0x1137,
	FACIAL_R_earLower                = 0x8031,
	FACIAL_R_eyesackLower            = 0x777B,
	FACIAL_R_nasolabialBulge         = 0xD61E,
	FACIAL_R_cheekOuter              = 0xD32,
	FACIAL_R_cheekInner              = 0x737C,
	FACIAL_R_noseUpper               = 0x1CD6,
	FACIAL_R_foreheadInner           = 0xE43,
	FACIAL_R_foreheadInnerBulge      = 0x769C,
	FACIAL_R_foreheadOuter           = 0x8FCB,
	FACIAL_R_cheekOuterSkin          = 0xB334,
	FACIAL_R_eyesackUpperInnerFurrow = 0x9FAE,
	FACIAL_R_eyesackUpperOuterFurrow = 0x140F,
	FACIAL_R_eyesackUpperInnerBulge  = 0xA359,
	FACIAL_R_eyesackUpperOuterBulge  = 0x1AF9,
	FACIAL_R_nasolabialFurrow        = 0x2CAA,
	FACIAL_R_temple                  = 0xAF19,
	FACIAL_R_eyeball                 = 0x1944,
	FACIAL_R_eyelidUpper             = 0x7E14,
	FACIAL_R_eyelidUpperOuterSDK     = 0xB115,
	FACIAL_R_eyelidUpperOuterAnalog  = 0xF25A,
	FACIAL_R_eyelashUpperOuter       = 0xE0A,
	FACIAL_R_eyelidUpperInnerSDK     = 0xD541,
	FACIAL_R_eyelidUpperInnerAnalog  = 0x7C63,
	FACIAL_R_eyelashUpperInner       = 0x8172,
	FACIAL_R_eyelidLower             = 0x7FDF,
	FACIAL_R_eyelidLowerOuterSDK     = 0x1BD,
	FACIAL_R_eyelidLowerOuterAnalog  = 0x457B,
	FACIAL_R_eyelashLowerOuter       = 0xBE49,
	FACIAL_R_eyelidLowerInnerSDK     = 0xF351,
	FACIAL_R_eyelidLowerInnerAnalog  = 0xE13,
	FACIAL_R_eyelashLowerInner       = 0x3322,
	FACIAL_L_lipUpperSDK             = 0x8F30,
	FACIAL_L_lipUpperAnalog          = 0xB1CF,
	FACIAL_L_lipUpperThicknessH      = 0x37CE,
	FACIAL_L_lipUpperThicknessV      = 0x38BC,
	FACIAL_lipUpperSDK               = 0x1774,
	FACIAL_lipUpperAnalog            = 0xE064,
	FACIAL_lipUpperThicknessH        = 0x7993,
	FACIAL_lipUpperThicknessV        = 0x7981,
	FACIAL_L_lipCornerSDK            = 0xB1C,
	FACIAL_L_lipCornerAnalog         = 0xE568,
	FACIAL_L_lipCornerThicknessUpper = 0x7BC,
	FACIAL_L_lipCornerThicknessLower = 0xDD42,
	FACIAL_R_lipUpperSDK             = 0x7583,
	FACIAL_R_lipUpperAnalog          = 0x51CF,
	FACIAL_R_lipUpperThicknessH      = 0x382E,
	FACIAL_R_lipUpperThicknessV      = 0x385C,
	FACIAL_R_lipCornerSDK            = 0xB3C,
	FACIAL_R_lipCornerAnalog         = 0xEE0E,
	FACIAL_R_lipCornerThicknessUpper = 0x54C3,
	FACIAL_R_lipCornerThicknessLower = 0x2BBA,
	MH_MulletRoot                    = 0x3E73,
	MH_MulletScaler                  = 0xA1C2,
	MH_Hair_Scale                    = 0xC664,
	MH_Hair_Crown                    = 0x1675,
	SM_Torch                         = 0x8D6,
	FX_Light                         = 0x8959,
	FX_Light_Scale                   = 0x5038,
	FX_Light_Switch                  = 0xE18E,
	BagRoot                          = 0xAD09,
	BagPivotROOT                     = 0xB836,
	BagPivot                         = 0x4D11,
	BagBody                          = 0xAB6D,
	BagBone_R                        = 0x937,
	BagBone_L                        = 0x991,
	SM_LifeSaver_Front               = 0x9420,
	SM_R_Pouches_ROOT                = 0x2962,
	SM_R_Pouches                     = 0x4141,
	SM_L_Pouches_ROOT                = 0x2A02,
	SM_L_Pouches                     = 0x4B41,
	SM_Suit_Back_Flapper             = 0xDA2D,
	SPR_CopRadio                     = 0x8245,
	SM_LifeSaver_Back                = 0x2127,
	MH_BlushSlider                   = 0xA0CE,
	SKEL_Tail_01                     = 0x347,
	SKEL_Tail_02                     = 0x348,
	MH_L_Concertina_B                = 0xC988,
	MH_L_Concertina_A                = 0xC987,
	MH_R_Concertina_B                = 0xC8E8,
	MH_R_Concertina_A                = 0xC8E7,
	MH_L_ShoulderBladeRoot           = 0x8711,
	MH_L_ShoulderBlade               = 0x4EAF,
	MH_R_ShoulderBladeRoot           = 0x3A0A,
	MH_R_ShoulderBlade               = 0x54AF,
	FB_R_Ear_000                     = 0x6CDF,
	SPR_R_Ear                        = 0x63B6,
	FB_L_Ear_000                     = 0x6439,
	SPR_L_Ear                        = 0x5B10,
	FB_TongueA_000                   = 0x4206,
	FB_TongueB_000                   = 0x4207,
	FB_TongueC_000                   = 0x4208,
	SKEL_L_Toe1                      = 0x1D6B,
	SKEL_R_Toe1                      = 0xB23F,
	SKEL_Tail_03                     = 0x349,
	SKEL_Tail_04                     = 0x34A,
	SKEL_Tail_05                     = 0x34B,
	SPR_Gonads_ROOT                  = 0xBFDE,
	SPR_Gonads                       = 0x1C00,
	FB_L_Brow_Out_001                = 0xE3DB,
	FB_L_Lid_Upper_001               = 0xB2B6,
	FB_L_Eye_001                     = 0x62AC,
	FB_L_CheekBone_001               = 0x542E,
	FB_L_Lip_Corner_001              = 0x74AC,
	FB_R_Lid_Upper_001               = 0xAA10,
	FB_R_Eye_001                     = 0x6B52,
	FB_R_CheekBone_001               = 0x4B88,
	FB_R_Brow_Out_001                = 0x54C,
	FB_R_Lip_Corner_001              = 0x2BA6,
	FB_Brow_Centre_001               = 0x9149,
	FB_UpperLipRoot_001              = 0x4ED2,
	FB_UpperLip_001                  = 0xF18F,
	FB_L_Lip_Top_001                 = 0x4F37,
	FB_R_Lip_Top_001                 = 0x4537,
	FB_Jaw_001                       = 0xB4A0,
	FB_LowerLipRoot_001              = 0x4324,
	FB_LowerLip_001                  = 0x508F,
	FB_L_Lip_Bot_001                 = 0xB93B,
	FB_R_Lip_Bot_001                 = 0xC33B,
	FB_Tongue_001                    = 0xB987
};

enum class eVehicleLockState
{
	VEHICLELOCK_NONE,
	VEHICLELOCK_UNLOCKED,
	VEHICLELOCK_LOCKED,
	VEHICLELOCK_LOCKOUT_PLAYER_ONLY,
	VEHICLELOCK_LOCKED_PLAYER_INSIDE,
	VEHICLELOCK_LOCKED_INITIALLY,
	VEHICLELOCK_FORCE_SHUT_DOORS,
	VEHICLELOCK_LOCKED_BUT_CAN_BE_DAMAGED,
	VEHICLELOCK_LOCKED_BUT_BOOT_UNLOCKED,
	VEHICLELOCK_LOCKED_NO_PASSENGERS,
	VEHICLELOCK_CANNOT_ENTER
};

enum class DecalTypes
{
	splatters_blood          = 1010,
	splatters_blood_dir      = 1015,
	splatters_blood_mist     = 1017,
	splatters_mud            = 1020,
	splatters_paint          = 1030,
	splatters_water          = 1040,
	splatters_water_hydrant  = 1050,
	splatters_blood2         = 1110,
	weapImpact_metal         = 4010,
	weapImpact_concrete      = 4020,
	weapImpact_mattress      = 4030,
	weapImpact_mud           = 4032,
	weapImpact_wood          = 4050,
	weapImpact_sand          = 4053,
	weapImpact_cardboard     = 4040,
	weapImpact_melee_glass   = 4100,
	weapImpact_glass_blood   = 4102,
	weapImpact_glass_blood2  = 4104,
	weapImpact_shotgun_paper = 4200,
	weapImpact_shotgun_mattress,
	weapImpact_shotgun_metal,
	weapImpact_shotgun_wood,
	weapImpact_shotgun_dirt,
	weapImpact_shotgun_tvscreen,
	weapImpact_shotgun_tvscreen2,
	weapImpact_shotgun_tvscreen3,
	weapImpact_melee_concrete = 4310,
	weapImpact_melee_wood     = 4312,
	weapImpact_melee_metal    = 4314,
	burn1                     = 4421,
	burn2,
	burn3,
	burn4,
	burn5,
	bang_concrete_bang = 5000,
	bang_concrete_bang2,
	bang_bullet_bang,
	bang_bullet_bang2 = 5004,
	bang_glass        = 5031,
	bang_glass2,
	solidPool_water = 9000,
	solidPool_blood,
	solidPool_oil,
	solidPool_petrol,
	solidPool_mud,
	porousPool_water,
	porousPool_blood,
	porousPool_oil,
	porousPool_petrol,
	porousPool_mud,
	porousPool_water_ped_drip,
	liquidTrail_water = 9050
};

enum class eTaskTypeIndex
{
	CTaskHandsUp                                                         = 0,
	CTaskClimbLadder                                                     = 1,
	CTaskExitVehicle                                                     = 2,
	CTaskCombatRoll                                                      = 3,
	CTaskAimGunOnFoot                                                    = 4,
	CTaskMovePlayer                                                      = 5,
	CTaskPlayerOnFoot                                                    = 6,
	CTaskWeapon                                                          = 8,
	CTaskPlayerWeapon                                                    = 9,
	CTaskPlayerIdles                                                     = 10,
	CTaskAimGun                                                          = 12,
	CTaskComplex                                                         = 12,
	CTaskFSMClone                                                        = 12,
	CTaskMotionBase                                                      = 12,
	CTaskMove                                                            = 12,
	CTaskMoveBase                                                        = 12,
	CTaskNMBehaviour                                                     = 12,
	CTaskNavBase                                                         = 12,
	CTaskScenario                                                        = 12,
	CTaskSearchBase                                                      = 12,
	CTaskSearchInVehicleBase                                             = 12,
	CTaskShockingEvent                                                   = 12,
	CTaskTrainBase                                                       = 12,
	CTaskVehicleFSM                                                      = 12,
	CTaskVehicleGoTo                                                     = 12,
	CTaskVehicleMissionBase                                              = 12,
	CTaskVehicleTempAction                                               = 12,
	CTaskPause                                                           = 14,
	CTaskDoNothing                                                       = 15,
	CTaskGetUp                                                           = 16,
	CTaskGetUpAndStandStill                                              = 17,
	CTaskFallOver                                                        = 18,
	CTaskFallAndGetUp                                                    = 19,
	CTaskCrawl                                                           = 20,
	CTaskComplexOnFire                                                   = 25,
	CTaskDamageElectric                                                  = 26,
	CTaskTriggerLookAt                                                   = 28,
	CTaskClearLookAt                                                     = 29,
	CTaskSetCharDecisionMaker                                            = 30,
	CTaskSetPedDefensiveArea                                             = 31,
	CTaskUseSequence                                                     = 32,
	CTaskMoveStandStill                                                  = 34,
	CTaskComplexControlMovement                                          = 35,
	CTaskMoveSequence                                                    = 36,
	CTaskAmbientClips                                                    = 38,
	CTaskMoveInAir                                                       = 39,
	CTaskNetworkClone                                                    = 40,
	CTaskUseClimbOnRoute                                                 = 41,
	CTaskUseDropDownOnRoute                                              = 42,
	CTaskUseLadderOnRoute                                                = 43,
	CTaskSetBlockingOfNonTemporaryEvents                                 = 44,
	CTaskForceMotionState                                                = 45,
	CTaskSlopeScramble                                                   = 46,
	CTaskGoToAndClimbLadder                                              = 47,
	CTaskClimbLadderFully                                                = 48,
	CTaskRappel                                                          = 49,
	CTaskVault                                                           = 50,
	CTaskDropDown                                                        = 51,
	CTaskAffectSecondaryBehaviour                                        = 52,
	CTaskAmbientLookAtEvent                                              = 53,
	CTaskOpenDoor                                                        = 54,
	CTaskShovePed                                                        = 55,
	CTaskSwapWeapon                                                      = 56,
	CTaskGeneralSweep                                                    = 57,
	CTaskPolice                                                          = 58,
	CTaskPoliceOrderResponse                                             = 59,
	CTaskPursueCriminal                                                  = 60,
	CTaskArrestPed                                                       = 62,
	CTaskArrestPed2                                                      = 63,
	CTaskBusted                                                          = 64,
	CTaskFirePatrol                                                      = 65,
	CTaskHeliOrderResponse                                               = 66,
	CTaskHeliPassengerRappel                                             = 67,
	CTaskAmbulancePatrol                                                 = 68,
	CTaskPoliceWantedResponse                                            = 69,
	CTaskSwat                                                            = 70,
	CTaskSwatWantedResponse                                              = 72,
	CTaskSwatOrderResponse                                               = 73,
	CTaskSwatGoToStagingArea                                             = 74,
	CTaskSwatFollowInLine                                                = 75,
	CTaskWitness                                                         = 76,
	CTaskGangPatrol                                                      = 77,
	CTaskArmy                                                            = 78,
	CTaskShockingEventWatch                                              = 80,
	CTaskShockingEventGoto                                               = 82,
	CTaskShockingEventHurryAway                                          = 83,
	CTaskShockingEventReactToAircraft                                    = 84,
	CTaskShockingEventReact                                              = 85,
	CTaskShockingEventBackAway                                           = 86,
	CTaskShockingPoliceInvestigate                                       = 87,
	CTaskShockingEventStopAndStare                                       = 88,
	CTaskShockingNiceCarPicture                                          = 89,
	CTaskShockingEventThreatResponse                                     = 90,
	CTaskTakeOffHelmet                                                   = 92,
	CTaskCarReactToVehicleCollision                                      = 93,
	CTaskCarReactToVehicleCollisionGetOut                                = 95,
	CTaskDyingDead                                                       = 97,
	CTaskWanderingScenario                                               = 100,
	CTaskWanderingInRadiusScenario                                       = 101,
	CTaskMoveBetweenPointsScenario                                       = 103,
	CTaskChatScenario                                                    = 104,
	CTaskCowerScenario                                                   = 106,
	CTaskDeadBodyScenario                                                = 107,
	CTaskSayAudio                                                        = 114,
	CTaskWaitForSteppingOut                                              = 116,
	CTaskCoupleScenario                                                  = 117,
	CTaskUseScenario                                                     = 118,
	CTaskUseVehicleScenario                                              = 119,
	CTaskUnalerted                                                       = 120,
	CTaskStealVehicle                                                    = 121,
	CTaskReactToPursuit                                                  = 122,
	CTaskHitWall                                                         = 125,
	CTaskCower                                                           = 126,
	CTaskCrouch                                                          = 127,
	CTaskMelee                                                           = 128,
	CTaskMoveMeleeMovement                                               = 129,
	CTaskMeleeActionResult                                               = 130,
	CTaskMeleeUpperbodyAnims                                             = 131,
	CTaskMoVEScripted                                                    = 133,
	CTaskScriptedAnimation                                               = 134,
	CTaskSynchronizedScene                                               = 135,
	CTaskComplexEvasiveStep                                              = 137,
	CTaskWalkRoundCarWhileWandering                                      = 138,
	CTaskComplexStuckInAir                                               = 140,
	CTaskWalkRoundEntity                                                 = 141,
	CTaskMoveWalkRoundVehicle                                            = 142,
	CTaskReactToGunAimedAt                                               = 144,
	CTaskDuckAndCover                                                    = 146,
	CTaskAggressiveRubberneck                                            = 147,
	CTaskInVehicleBasic                                                  = 150,
	CTaskCarDriveWander                                                  = 151,
	CTaskLeaveAnyCar                                                     = 152,
	CTaskComplexGetOffBoat                                               = 153,
	CTaskCarSetTempAction                                                = 155,
	CTaskBringVehicleToHalt                                              = 156,
	CTaskCarDrive                                                        = 157,
	CTaskPlayerDrive                                                     = 159,
	CTaskEnterVehicle                                                    = 160,
	CTaskEnterVehicleAlign                                               = 161,
	CTaskOpenVehicleDoorFromOutside                                      = 162,
	CTaskEnterVehicleSeat                                                = 163,
	CTaskCloseVehicleDoorFromInside                                      = 164,
	CTaskInVehicleSeatShuffle                                            = 165,
	CTaskExitVehicleSeat                                                 = 167,
	CTaskCloseVehicleDoorFromOutside                                     = 168,
	CTaskControlVehicle                                                  = 169,
	CTaskMotionInAutomobile                                              = 170,
	CTaskMotionOnBicycle                                                 = 171,
	CTaskMotionOnBicycleController                                       = 172,
	CTaskMotionInVehicle                                                 = 173,
	CTaskMotionInTurret                                                  = 174,
	CTaskReactToBeingJacked                                              = 175,
	CTaskReactToBeingAskedToLeaveVehicle                                 = 176,
	CTaskTryToGrabVehicleDoor                                            = 177,
	CTaskGetOnTrain                                                      = 178,
	CTaskGetOffTrain                                                     = 179,
	CTaskRideTrain                                                       = 180,
	CTaskMountThrowProjectile                                            = 190,
	CTaskGoToCarDoorAndStandStill                                        = 195,
	CTaskMoveGoToVehicleDoor                                             = 196,
	CTaskSetPedInVehicle                                                 = 197,
	CTaskSetPedOutOfVehicle                                              = 198,
	CTaskVehicleMountedWeapon                                            = 199,
	CTaskVehicleGun                                                      = 200,
	CTaskVehicleProjectile                                               = 201,
	CTaskSmashCarWindow                                                  = 204,
	CTaskMoveGoToPoint                                                   = 205,
	CTaskMoveAchieveHeading                                              = 206,
	CTaskMoveFaceTarget                                                  = 207,
	CTaskComplexGoToPointAndStandStillTimed                              = 208,
	CTaskMoveGoToPointAndStandStill                                      = 208,
	CTaskMoveFollowPointRoute                                            = 209,
	CTaskMoveSeekEntity_CEntitySeekPosCalculatorStandard                 = 210,
	CTaskMoveSeekEntity_CEntitySeekPosCalculatorLastNavMeshIntersection  = 211,
	CTaskMoveSeekEntity_CEntitySeekPosCalculatorLastNavMeshIntersection2 = 212,
	CTaskMoveSeekEntity_CEntitySeekPosCalculatorXYOffsetFixed            = 213,
	CTaskMoveSeekEntity_CEntitySeekPosCalculatorXYOffsetFixed2           = 214,
	CTaskExhaustedFlee                                                   = 215,
	CTaskGrowlAndFlee                                                    = 216,
	CTaskScenarioFlee                                                    = 217,
	CTaskSmartFlee                                                       = 218,
	CTaskFlyAway                                                         = 219,
	CTaskWalkAway                                                        = 220,
	CTaskWander                                                          = 221,
	CTaskWanderInArea                                                    = 222,
	CTaskFollowLeaderInFormation                                         = 223,
	CTaskGoToPointAnyMeans                                               = 224,
	CTaskTurnToFaceEntityOrCoord                                         = 225,
	CTaskFollowLeaderAnyMeans                                            = 226,
	CTaskFlyToPoint                                                      = 228,
	CTaskFlyingWander                                                    = 229,
	CTaskGoToPointAiming                                                 = 230,
	CTaskGoToScenario                                                    = 231,
	CTaskSeekEntityAiming                                                = 233,
	CTaskSlideToCoord                                                    = 234,
	CTaskSwimmingWander                                                  = 235,
	CTaskMoveTrackingEntity                                              = 237,
	CTaskMoveFollowNavMesh                                               = 238,
	CTaskMoveGoToPointOnRoute                                            = 239,
	CTaskEscapeBlast                                                     = 240,
	CTaskMoveWander                                                      = 241,
	CTaskMoveBeInFormation                                               = 242,
	CTaskMoveCrowdAroundLocation                                         = 243,
	CTaskMoveCrossRoadAtTrafficLights                                    = 244,
	CTaskMoveWaitForTraffic                                              = 245,
	CTaskMoveGoToPointStandStillAchieveHeading                           = 246,
	CTaskMoveGetOntoMainNavMesh                                          = 251,
	CTaskMoveSlideToCoord                                                = 252,
	CTaskMoveGoToPointRelativeToEntityAndStandStill                      = 253,
	CTaskHelicopterStrafe                                                = 254,
	CTaskGetOutOfWater                                                   = 256,
	CTaskMoveFollowEntityOffset                                          = 259,
	CTaskFollowWaypointRecording                                         = 261,
	CTaskMotionPed                                                       = 264,
	CTaskMotionPedLowLod                                                 = 265,
	CTaskHumanLocomotion                                                 = 268,
	CTaskMotionBasicLocomotionLowLod                                     = 269,
	CTaskMotionStrafing                                                  = 270,
	CTaskMotionTennis                                                    = 271,
	CTaskMotionAiming                                                    = 272,
	CTaskBirdLocomotion                                                  = 273,
	CTaskFlightlessBirdLocomotion                                        = 274,
	CTaskFishLocomotion                                                  = 278,
	CTaskQuadLocomotion                                                  = 279,
	CTaskMotionDiving                                                    = 280,
	CTaskMotionSwimming                                                  = 281,
	CTaskMotionParachuting                                               = 282,
	CTaskMotionDrunk                                                     = 283,
	CTaskRepositionMove                                                  = 284,
	CTaskMotionAimingTransition                                          = 285,
	CTaskThrowProjectile                                                 = 286,
	CTaskCover                                                           = 287,
	CTaskMotionInCover                                                   = 288,
	CTaskAimAndThrowProjectile                                           = 289,
	CTaskGun                                                             = 290,
	CTaskAimFromGround                                                   = 291,
	CTaskAimGunVehicleDriveBy                                            = 295,
	CTaskAimGunScripted                                                  = 296,
	CTaskReloadGun                                                       = 298,
	CTaskWeaponBlocked                                                   = 299,
	CTaskEnterCover                                                      = 300,
	CTaskExitCover                                                       = 301,
	CTaskAimGunFromCoverIntro                                            = 302,
	CTaskAimGunFromCoverOutro                                            = 303,
	CTaskAimGunBlindFire                                                 = 304,
	CTaskCombatClosestTargetInArea                                       = 307,
	CTaskCombatAdditionalTask                                            = 308,
	CTaskInCover                                                         = 309,
	CTaskAimSweep                                                        = 313,
	CTaskSharkCircle                                                     = 319,
	CTaskSharkAttack                                                     = 320,
	CTaskAgitated                                                        = 321,
	CTaskAgitatedAction                                                  = 322,
	CTaskConfront                                                        = 323,
	CTaskIntimidate                                                      = 324,
	CTaskShove                                                           = 325,
	CTaskShoved                                                          = 326,
	CTaskCrouchToggle                                                    = 328,
	CTaskRevive                                                          = 329,
	CTaskParachute                                                       = 335,
	CTaskParachuteObject                                                 = 336,
	CTaskTakeOffPedVariation                                             = 337,
	CTaskCombatSeekCover                                                 = 340,
	CTaskCombatFlank                                                     = 342,
	CTaskCombat                                                          = 343,
	CTaskCombatMounted                                                   = 344,
	CTaskMoveCircle                                                      = 345,
	CTaskMoveCombatMounted                                               = 346,
	CTaskSearch                                                          = 347,
	CTaskSearchOnFoot                                                    = 348,
	CTaskSearchInAutomobile                                              = 349,
	CTaskSearchInBoat                                                    = 350,
	CTaskSearchInHeli                                                    = 351,
	CTaskThreatResponse                                                  = 352,
	CTaskInvestigate                                                     = 353,
	CTaskStandGuardFSM                                                   = 354,
	CTaskPatrol                                                          = 355,
	CTaskShootAtTarget                                                   = 356,
	CTaskSetAndGuardArea                                                 = 357,
	CTaskStandGuard                                                      = 358,
	CTaskSeparate                                                        = 359,
	CTaskStayInCover                                                     = 360,
	CTaskVehicleCombat                                                   = 361,
	CTaskVehiclePersuit                                                  = 362,
	CTaskVehicleChase                                                    = 363,
	CTaskDraggingToSafety                                                = 364,
	CTaskDraggedToSafety                                                 = 365,
	CTaskVariedAimPose                                                   = 366,
	CTaskMoveWithinAttackWindow                                          = 367,
	CTaskMoveWithinDefensiveArea                                         = 368,
	CTaskShootOutTire                                                    = 369,
	CTaskShellShocked                                                    = 370,
	CTaskBoatChase                                                       = 371,
	CTaskBoatCombat                                                      = 372,
	CTaskBoatStrafe                                                      = 373,
	CTaskHeliChase                                                       = 374,
	CTaskHeliCombat                                                      = 375,
	CTaskSubmarineCombat                                                 = 376,
	CTaskSubmarineChase                                                  = 377,
	CTaskPlaneChase                                                      = 378,
	CTaskTargetUnreachable                                               = 379,
	CTaskTargetUnreachableInInterior                                     = 380,
	CTaskTargetUnreachableInExterior                                     = 381,
	CTaskStealthKill                                                     = 382,
	CTaskWrithe                                                          = 383,
	CTaskAdvance                                                         = 384,
	CTaskCharge                                                          = 385,
	CTaskMoveToTacticalPoint                                             = 386,
	CTaskToHurtTransit                                                   = 387,
	CTaskAnimatedHitByExplosion                                          = 388,
	CTaskNMRelax                                                         = 389,
	CTaskNMPose                                                          = 391,
	CTaskNMBrace                                                         = 392,
	CTaskNMBuoyancy                                                      = 393,
	CTaskNMInjuredOnGround                                               = 394,
	CTaskNMShot                                                          = 395,
	CTaskNMHighFall                                                      = 396,
	CTaskNMBalance                                                       = 397,
	CTaskNMElectrocute                                                   = 398,
	CTaskNMPrototype                                                     = 399,
	CTaskNMExplosion                                                     = 400,
	CTaskNMOnFire                                                        = 401,
	CTaskNMScriptControl                                                 = 402,
	CTaskNMJumpRollFromRoadVehicle                                       = 403,
	CTaskNMFlinch                                                        = 404,
	CTaskNMSit                                                           = 405,
	CTaskNMFallDown                                                      = 406,
	CTaskBlendFromNM                                                     = 407,
	CTaskNMControl                                                       = 408,
	CTaskNMDangle                                                        = 409,
	CTaskNMGenericAttach                                                 = 412,
	CTaskNMDraggingToSafety                                              = 414,
	CTaskNMThroughWindscreen                                             = 415,
	CTaskNMRiverRapids                                                   = 416,
	CTaskNMSimple                                                        = 417,
	CTaskRageRagdoll                                                     = 418,
	CTaskJumpVault                                                       = 421,
	CTaskJump                                                            = 422,
	CTaskFall                                                            = 423,
	CTaskReactAimWeapon                                                  = 425,
	CTaskChat                                                            = 426,
	CTaskMobilePhone                                                     = 427,
	CTaskReactToDeadPed                                                  = 428,
	CTaskSearchForUnknownThreat                                          = 430,
	CTaskBomb                                                            = 432,
	CTaskDetonator                                                       = 433,
	CTaskAnimatedAttach                                                  = 435,
	CTaskCutScene                                                        = 441,
	CTaskReactToExplosion                                                = 442,
	CTaskReactToImminentExplosion                                        = 443,
	CTaskDiveToGround                                                    = 444,
	CTaskReactAndFlee                                                    = 445,
	CTaskSidestep                                                        = 446,
	CTaskCallPolice                                                      = 447,
	CTaskReactInDirection                                                = 448,
	CTaskReactToBuddyShot                                                = 449,
	CTaskVehicleGoToAutomobileNew                                        = 454,
	CTaskVehicleGoToPlane                                                = 455,
	CTaskVehicleGoToHelicopter                                           = 456,
	CTaskVehicleGoToSubmarine                                            = 457,
	CTaskVehicleGoToBoat                                                 = 458,
	CTaskVehicleGoToPointAutomobile                                      = 459,
	CTaskVehicleGoToPointWithAvoidanceAutomobile                         = 460,
	CTaskVehiclePursue                                                   = 461,
	CTaskVehicleRam                                                      = 462,
	CTaskVehicleSpinOut                                                  = 463,
	CTaskVehicleApproach                                                 = 464,
	CTaskVehicleThreePointTurn                                           = 465,
	CTaskVehicleDeadDriver                                               = 466,
	CTaskVehicleCruiseNew                                                = 467,
	CTaskVehicleCruiseBoat                                               = 468,
	CTaskVehicleStop                                                     = 469,
	CTaskVehiclePullOver                                                 = 470,
	CTaskVehiclePassengerExit                                            = 471,
	CTaskVehicleFlee                                                     = 472,
	CTaskVehicleFleeAirborne                                             = 473,
	CTaskVehicleFleeBoat                                                 = 474,
	CTaskVehicleFollowRecording                                          = 475,
	CTaskVehicleFollow                                                   = 476,
	CTaskVehicleBlock                                                    = 477,
	CTaskVehicleBlockCruiseInFront                                       = 478,
	CTaskVehicleBlockBrakeInFront                                        = 479,
	CTaskVehicleBlockBackAndForth                                        = 478,
	CTaskVehicleCrash                                                    = 481,
	CTaskVehicleLand                                                     = 482,
	CTaskVehicleLandPlane                                                = 483,
	CTaskVehicleHover                                                    = 484,
	CTaskVehicleAttack                                                   = 485,
	CTaskVehicleAttackTank                                               = 486,
	CTaskVehicleCircle                                                   = 487,
	CTaskVehiclePoliceBehaviour                                          = 488,
	CTaskVehiclePoliceBehaviourHelicopter                                = 489,
	CTaskVehiclePoliceBehaviourBoat                                      = 490,
	CTaskVehicleEscort                                                   = 491,
	CTaskVehicleHeliProtect                                              = 492,
	CTaskVehiclePlayerDriveAutomobile                                    = 494,
	CTaskVehiclePlayerDriveBike                                          = 495,
	CTaskVehiclePlayerDriveBoat                                          = 496,
	CTaskVehiclePlayerDriveSubmarine                                     = 497,
	CTaskVehiclePlayerDriveSubmarineCar                                  = 498,
	CTaskVehiclePlayerDriveAmphibiousAutomobile                          = 499,
	CTaskVehiclePlayerDrivePlane                                         = 500,
	CTaskVehiclePlayerDriveHeli                                          = 501,
	CTaskVehiclePlayerDriveAutogyro                                      = 502,
	CTaskVehiclePlayerDriveDiggerArm                                     = 503,
	CTaskVehiclePlayerDriveTrain                                         = 504,
	CTaskVehiclePlaneChase                                               = 505,
	CTaskVehicleNoDriver                                                 = 506,
	CTaskVehicleAnimation                                                = 507,
	CTaskVehicleConvertibleRoof                                          = 508,
	CTaskVehicleParkNew                                                  = 509,
	CTaskVehicleFollowWaypointRecording                                  = 510,
	CTaskVehicleGoToNavmesh                                              = 511,
	CTaskVehicleReactToCopSiren                                          = 512,
	CTaskVehicleGotoLongRange                                            = 513,
	CTaskVehicleWait                                                     = 514,
	CTaskVehicleReverse                                                  = 515,
	CTaskVehicleBrake                                                    = 516,
	CTaskVehicleHandBrake                                                = 517,
	CTaskVehicleTurn                                                     = 518,
	CTaskVehicleGoForward                                                = 519,
	CTaskVehicleSwerve                                                   = 520,
	CTaskVehicleFlyDirection                                             = 521,
	CTaskVehicleHeadonCollision                                          = 522,
	CTaskVehicleBoostUseSteeringAngle                                    = 523,
	CTaskVehicleShotTire                                                 = 524,
	CTaskVehicleBurnout                                                  = 525,
	CTaskVehicleRevEngine                                                = 526,
	CTaskVehicleSurfaceInSubmarine                                       = 527,
	CTaskVehiclePullAlongside                                            = 528,
	CTaskVehicleTransformToSubmarine                                     = 529,
	CTaskAnimatedFallback                                                = 530
};

enum class eTaskFlags
{
	ParachuteWhenCoordThresholdIsReached = 1 << 3,
	CamShakeOnFall                       = 1 << 4,
	PlayRagdollAnim                      = 1 << 5,
	PlayDiveAnim                         = 1 << 7,
	NoFallAnimation                      = 1 << 10,
	NoSlowFall                           = 1 << 11,
	Unk12                                = 1 << 12,
	SuperJump                            = 1 << 15,
	LandOnJump                           = 1 << 16,
	BeastJump                            = 1 << 17,
	BeastJumpWithSuper                   = SuperJump | BeastJump,
	GracefulLanding                      = NoFallAnimation | NoSlowFall | Unk12 | LandOnJump,
	RagdollOnFall                        = BeastJump | PlayRagdollAnim
};

enum class eDoorId
{
	VEH_EXT_DOOR_INVALID_ID = -1,
	VEH_EXT_DOOR_DSIDE_F,
	VEH_EXT_DOOR_DSIDE_R,
	VEH_EXT_DOOR_PSIDE_F,
	VEH_EXT_DOOR_PSIDE_R,
	VEH_EXT_BONNET,
	VEH_EXT_BOOT
};

enum class eWindowId
{
	WINDOW_INVALID_ID  = -1,
	FRONT_LEFT_WINDOW  = 0,
	FRONT_RIGHT_WINDOW = 1,
	REAR_LEFT_WINDOW   = 2,
	REAR_RIGHT_WINDOW  = 3,
};

enum class eVehicleSeats
{
	DRIVER = -1,
	PASSENGER,
	LEFT_BACK,
	RIGHT_BACK,
	OUTSIDE_LEFT,
	OUTSIDE_RIGHT,
};

enum class eKnockOffVehicle
{
	KNOCKOFFVEHICLE_DEFAULT,
	KNOCKOFFVEHICLE_NEVER,
	KNOCKOFFVEHICLE_EASY,
	KNOCKOFFVEHICLE_HARD
};

enum class eCombatAbilityLevel
{
	POOR,
	AVERAGE,
	PROFESSIONAL
};

NLOHMANN_JSON_SERIALIZE_ENUM(eCombatAbilityLevel, {{eCombatAbilityLevel::POOR, "poor"}, {eCombatAbilityLevel::AVERAGE, "average"}, {eCombatAbilityLevel::PROFESSIONAL, "professional"}})

enum class GSType : int32_t
{
	Unknown = -2,

	// actual values start here
	Invalid = -1,
	InviteOnly,
	FriendsOnly,
	ClosedCrew,
	OpenCrew,
	Job,
	Public,
	Max,
	Modder = 69 // stand?
};

enum class GameMode : int32_t
{
	None          = -1,
	Mission       = 0,
	Deathmatch    = 1, // or koth
	Race          = 2,
	Survival      = 3,
	GangAttack    = 6,
	Golf          = 0xB,
	Tennis        = 0xC,
	ShootingRange = 0xD
};

enum CameraMode : int
{
	THIRD_PERSON_NEAR   = 0,
	THIRD_PERSON_MEDIUM = 1,
	THIRD_PERSON_FAR    = 2,
	CINEMATIC           = 3,
	FIRST_PERSON        = 4,
};

enum ComponentId : int
{
	HEAD,
	BEARD,
	HAIR,
	TORSO,
	LEGS,
	HANDS,
	FOOT,
	ACCESSORIES_NECK,
	ACCESSORIES_1,
	ACCESSORIES_2,
	DECALS,
	AUXILIARY
};

enum ShapeTestIncludeFlags : int
{
	ST_INCLUDE_MOVER   = 1,
	ST_INCLUDE_VEHICLE = 2,
	ST_INCLUDE_PED     = 4,
	ST_INCLUDE_RAGDOLL = 8,
	ST_INCLUDE_OBJECT  = 16,
	ST_INCLUDE_PICKUP  = 32,
	ST_INCLUDE_GLASS   = 64,
	ST_INCLUDE_RIVER   = 128,
	ST_INCLUDE_FOLIAGE = 256,
	ST_INCLUDE_ALL     = 511,
};

enum ShapeTestOptionFlag : int
{
	ST_OPTION_IGNORE_GLASS       = (1 << 0),
	ST_OPTION_IGNORE_TRANSPARENT = (1 << 1),
	ST_OPTION_IGNORE_NOTHING     = (1 << 2),
};

enum PedRelationships : int
{
	Companion,
	Like,
	Nothing,
	Dislike,
	Wanted,
	Hate,
	Indifferent = 255
};

enum HudColors : int //https://docs.fivem.net/docs/game-references/hud-colors/
{
	HUD_COLOUR_PURE_WHITE,
	HUD_COLOUR_WHITE,
	HUD_COLOUR_BLACK,
	HUD_COLOUR_GREY,
	HUD_COLOUR_GREYLIGHT,
	HUD_COLOUR_GREYDARK,
	HUD_COLOUR_RED,
	HUD_COLOUR_REDLIGHT,
	HUD_COLOUR_REDDARK,
	HUD_COLOUR_BLUE,
	HUD_COLOUR_BLUELIGHT,
	HUD_COLOUR_BLUEDARK,
	HUD_COLOUR_YELLOW,
	HUD_COLOUR_YELLOWLIGHT,
	HUD_COLOUR_YELLOWDARK,
	HUD_COLOUR_ORANGE,
	HUD_COLOUR_ORANGELIGHT,
	HUD_COLOUR_ORANGEDARK,
	HUD_COLOUR_GREEN,
	HUD_COLOUR_GREENLIGHT,
	HUD_COLOUR_GREENDARK,
	HUD_COLOUR_PURPLE,
	HUD_COLOUR_PURPLELIGHT,
	HUD_COLOUR_PURPLEDARK,
	HUD_COLOUR_PINK,
	HUD_COLOUR_RADAR_HEALTH,
	HUD_COLOUR_RADAR_ARMOUR,
	HUD_COLOUR_RADAR_DAMAGE,
	HUD_COLOUR_NET_PLAYER1,
	HUD_COLOUR_NET_PLAYER2,
	HUD_COLOUR_NET_PLAYER3,
	HUD_COLOUR_NET_PLAYER4,
	HUD_COLOUR_NET_PLAYER5,
	HUD_COLOUR_NET_PLAYER6,
	HUD_COLOUR_NET_PLAYER7,
	HUD_COLOUR_NET_PLAYER8,
	HUD_COLOUR_NET_PLAYER9,
	HUD_COLOUR_NET_PLAYER10,
	HUD_COLOUR_NET_PLAYER11,
	HUD_COLOUR_NET_PLAYER12,
	HUD_COLOUR_NET_PLAYER13,
	HUD_COLOUR_NET_PLAYER14,
	HUD_COLOUR_NET_PLAYER15,
	HUD_COLOUR_NET_PLAYER16,
	HUD_COLOUR_NET_PLAYER17,
	HUD_COLOUR_NET_PLAYER18,
	HUD_COLOUR_NET_PLAYER19,
	HUD_COLOUR_NET_PLAYER20,
	HUD_COLOUR_NET_PLAYER21,
	HUD_COLOUR_NET_PLAYER22,
	HUD_COLOUR_NET_PLAYER23,
	HUD_COLOUR_NET_PLAYER24,
	HUD_COLOUR_NET_PLAYER25,
	HUD_COLOUR_NET_PLAYER26,
	HUD_COLOUR_NET_PLAYER27,
	HUD_COLOUR_NET_PLAYER28,
	HUD_COLOUR_NET_PLAYER29,
	HUD_COLOUR_NET_PLAYER30,
	HUD_COLOUR_NET_PLAYER31,
	HUD_COLOUR_NET_PLAYER32,
	HUD_COLOUR_SIMPLEBLIP_DEFAULT,
	HUD_COLOUR_MENU_BLUE,
	HUD_COLOUR_MENU_GREY_LIGHT,
	HUD_COLOUR_MENU_BLUE_EXTRA_DARK,
	HUD_COLOUR_MENU_YELLOW,
	HUD_COLOUR_MENU_YELLOW_DARK,
	HUD_COLOUR_MENU_GREEN,
	HUD_COLOUR_MENU_GREY,
	HUD_COLOUR_MENU_GREY_DARK,
	HUD_COLOUR_MENU_HIGHLIGHT,
	HUD_COLOUR_MENU_STANDARD,
	HUD_COLOUR_MENU_DIMMED,
	HUD_COLOUR_MENU_EXTRA_DIMMED,
	HUD_COLOUR_BRIEF_TITLE,
	HUD_COLOUR_MID_GREY_MP,
	HUD_COLOUR_NET_PLAYER1_DARK,
	HUD_COLOUR_NET_PLAYER2_DARK,
	HUD_COLOUR_NET_PLAYER3_DARK,
	HUD_COLOUR_NET_PLAYER4_DARK,
	HUD_COLOUR_NET_PLAYER5_DARK,
	HUD_COLOUR_NET_PLAYER6_DARK,
	HUD_COLOUR_NET_PLAYER7_DARK,
	HUD_COLOUR_NET_PLAYER8_DARK,
	HUD_COLOUR_NET_PLAYER9_DARK,
	HUD_COLOUR_NET_PLAYER10_DARK,
	HUD_COLOUR_NET_PLAYER11_DARK,
	HUD_COLOUR_NET_PLAYER12_DARK,
	HUD_COLOUR_NET_PLAYER13_DARK,
	HUD_COLOUR_NET_PLAYER14_DARK,
	HUD_COLOUR_NET_PLAYER15_DARK,
	HUD_COLOUR_NET_PLAYER16_DARK,
	HUD_COLOUR_NET_PLAYER17_DARK,
	HUD_COLOUR_NET_PLAYER18_DARK,
	HUD_COLOUR_NET_PLAYER19_DARK,
	HUD_COLOUR_NET_PLAYER20_DARK,
	HUD_COLOUR_NET_PLAYER21_DARK,
	HUD_COLOUR_NET_PLAYER22_DARK,
	HUD_COLOUR_NET_PLAYER23_DARK,
	HUD_COLOUR_NET_PLAYER24_DARK,
	HUD_COLOUR_NET_PLAYER25_DARK,
	HUD_COLOUR_NET_PLAYER26_DARK,
	HUD_COLOUR_NET_PLAYER27_DARK,
	HUD_COLOUR_NET_PLAYER28_DARK,
	HUD_COLOUR_NET_PLAYER29_DARK,
	HUD_COLOUR_NET_PLAYER30_DARK,
	HUD_COLOUR_NET_PLAYER31_DARK,
	HUD_COLOUR_NET_PLAYER32_DARK,
	HUD_COLOUR_BRONZE,
	HUD_COLOUR_SILVER,
	HUD_COLOUR_GOLD,
	HUD_COLOUR_PLATINUM,
	HUD_COLOUR_GANG1,
	HUD_COLOUR_GANG2,
	HUD_COLOUR_GANG3,
	HUD_COLOUR_GANG4,
	HUD_COLOUR_SAME_CREW,
	HUD_COLOUR_FREEMODE,
	HUD_COLOUR_PAUSE_BG,
	HUD_COLOUR_FRIENDLY,
	HUD_COLOUR_ENEMY,
	HUD_COLOUR_LOCATION,
	HUD_COLOUR_PICKUP,
	HUD_COLOUR_PAUSE_SINGLEPLAYER,
	HUD_COLOUR_FREEMODE_DARK,
	HUD_COLOUR_INACTIVE_MISSION,
	HUD_COLOUR_DAMAGE,
	HUD_COLOUR_PINKLIGHT,
	HUD_COLOUR_PM_MITEM_HIGHLIGHT,
	HUD_COLOUR_SCRIPT_VARIABLE,
	HUD_COLOUR_YOGA,
	HUD_COLOUR_TENNIS,
	HUD_COLOUR_GOLF,
	HUD_COLOUR_SHOOTING_RANGE,
	HUD_COLOUR_FLIGHT_SCHOOL,
	HUD_COLOUR_NORTH_BLUE,
	HUD_COLOUR_SOCIAL_CLUB,
	HUD_COLOUR_PLATFORM_BLUE,
	HUD_COLOUR_PLATFORM_GREEN,
	HUD_COLOUR_PLATFORM_GREY,
	HUD_COLOUR_FACEBOOK_BLUE,
	HUD_COLOUR_INGAME_BG,
	HUD_COLOUR_DARTS,
	HUD_COLOUR_WAYPOINT,
	HUD_COLOUR_MICHAEL,
	HUD_COLOUR_FRANKLIN,
	HUD_COLOUR_TREVOR,
	HUD_COLOUR_GOLF_P1,
	HUD_COLOUR_GOLF_P2,
	HUD_COLOUR_GOLF_P3,
	HUD_COLOUR_GOLF_P4,
	HUD_COLOUR_WAYPOINTLIGHT,
	HUD_COLOUR_WAYPOINTDARK,
	HUD_COLOUR_PANEL_LIGHT,
	HUD_COLOUR_MICHAEL_DARK,
	HUD_COLOUR_FRANKLIN_DARK,
	HUD_COLOUR_TREVOR_DARK,
	HUD_COLOUR_OBJECTIVE_ROUTE,
	HUD_COLOUR_PAUSEMAP_TINT,
	HUD_COLOUR_PAUSE_DESELECT,
	HUD_COLOUR_PM_WEAPONS_PURCHASABLE,
	HUD_COLOUR_PM_WEAPONS_LOCKED,
	HUD_COLOUR_END_SCREEN_BG,
	HUD_COLOUR_CHOP,
	HUD_COLOUR_PAUSEMAP_TINT_HALF,
	HUD_COLOUR_NORTH_BLUE_OFFICIAL,
	HUD_COLOUR_SCRIPT_VARIABLE_2,
	HUD_COLOUR_H,
	HUD_COLOUR_HDARK,
	HUD_COLOUR_T,
	HUD_COLOUR_TDARK,
	HUD_COLOUR_HSHARD,
	HUD_COLOUR_CONTROLLER_MICHAEL,
	HUD_COLOUR_CONTROLLER_FRANKLIN,
	HUD_COLOUR_CONTROLLER_TREVOR,
	HUD_COLOUR_CONTROLLER_CHOP,
	HUD_COLOUR_VIDEO_EDITOR_VIDEO,
	HUD_COLOUR_VIDEO_EDITOR_AUDIO,
	HUD_COLOUR_VIDEO_EDITOR_TEXT,
	HUD_COLOUR_HB_BLUE,
	HUD_COLOUR_HB_YELLOW,
	HUD_COLOUR_VIDEO_EDITOR_SCORE,
	HUD_COLOUR_VIDEO_EDITOR_AUDIO_FADEOUT,
	HUD_COLOUR_VIDEO_EDITOR_TEXT_FADEOUT,
	HUD_COLOUR_VIDEO_EDITOR_SCORE_FADEOUT,
	HUD_COLOUR_HEIST_BACKGROUND,
	HUD_COLOUR_VIDEO_EDITOR_AMBIENT,
	HUD_COLOUR_VIDEO_EDITOR_AMBIENT_FADEOUT,
	HUD_COLOUR_VIDEO_EDITOR_AMBIENT_DARK,
	HUD_COLOUR_VIDEO_EDITOR_AMBIENT_LIGHT,
	HUD_COLOUR_VIDEO_EDITOR_AMBIENT_MID,
	HUD_COLOUR_LOW_FLOW,
	HUD_COLOUR_LOW_FLOW_DARK,
	HUD_COLOUR_G1,
	HUD_COLOUR_G2,
	HUD_COLOUR_G3,
	HUD_COLOUR_G4,
	HUD_COLOUR_G5,
	HUD_COLOUR_G6,
	HUD_COLOUR_G7,
	HUD_COLOUR_G8,
	HUD_COLOUR_G9,
	HUD_COLOUR_G10,
	HUD_COLOUR_G11,
	HUD_COLOUR_G12,
	HUD_COLOUR_G13,
	HUD_COLOUR_G14,
	HUD_COLOUR_G15,
	HUD_COLOUR_ADVERSARY,
	HUD_COLOUR_DEGEN_RED,
	HUD_COLOUR_DEGEN_YELLOW,
	HUD_COLOUR_DEGEN_GREEN,
	HUD_COLOUR_DEGEN_CYAN,
	HUD_COLOUR_DEGEN_BLUE,
	HUD_COLOUR_DEGEN_MAGENTA,
	HUD_COLOUR_STUNT_1,
	HUD_COLOUR_STUNT_2,
	HUD_COLOUR_SPECIAL_RACE_SERIES,
	HUD_COLOUR_SPECIAL_RACE_SERIES_DARK,
	HUD_COLOUR_CS,
	HUD_COLOUR_CS_DARK,
	HUD_COLOUR_TECH_GREEN,
	HUD_COLOUR_TECH_GREEN_DARK,
	HUD_COLOUR_TECH_RED,
	HUD_COLOUR_TECH_GREEN_VERY_DARK,
	HUD_COLOUR_PLACEHOLDER_01,
	HUD_COLOUR_PLACEHOLDER_02,
	HUD_COLOUR_PLACEHOLDER_03,
	HUD_COLOUR_PLACEHOLDER_04,
	HUD_COLOUR_PLACEHOLDER_05,
	HUD_COLOUR_PLACEHOLDER_06,
	HUD_COLOUR_PLACEHOLDER_07,
	HUD_COLOUR_PLACEHOLDER_08,
	HUD_COLOUR_PLACEHOLDER_09,
	HUD_COLOUR_PLACEHOLDER_10,
	HUD_COLOUR_JUNK_ENERGY
};

enum KeyboardState : int32_t
{
	INVALID = -1,
	ACTIVE,
	COMPLETED,
	CANCELED
};

Table of Contents

Rockstar’s popular multiplayer mode is facing server instability, mission bugs, and progression errors this week, frustrating players trying to enjoy the current event bonuses.

🔴 Known Issues Affecting Players

Server Disconnects (“Transaction Failed” errors when saving)
Biker Business Glitch – Sales not registering properly
Vehicle Despawning – Personal cars disappearing from garages
Reward Delays – Event week bonuses not distributing
Matchmaking Problems – Infinite loading screens when joining jobs

 

⚠️ Temporary Workarounds

While waiting for Rockstar’s fix, try these solutions:
Clear Cache (Hold R1/RB during startup)
Switch Sessions when missions bug out
Avoid MC Businesses until sales are patched
Video Evidence helps Rockstar Support resolve tickets faster

 

🛠️ Rockstar’s Response

The developer has acknowledged the problems via:
Twitter Support Threads
Server-side hotfixes deployed April 12
Promised compensation for lost progress

 

📉 Community Backlash

Frustrated players report:
Wasted $5M+ in failed business sales
8-hour grind sessions lost to crashes
Event week bonuses expiring before fixes arrive

 

📅 When to Expect Fixes

Based on past patches:
Minor issues: 24-48 hour turnaround
Major bugs: Weekly update solutions
Compensation: Possible GTA$1M apology bonus
Pro Tip: Avoid high-risk sales until stability improves, and document all bugs with the Rockstar Editor for support claims.

 

Leave a Reply

Your email address will not be published. Required fields are marked *