const _i = Citizen.pointerValueInt();
const _f = Citizen.pointerValueFloat();
const _v = Citizen.pointerValueVector();
const _r = Citizen.returnResultAnyway();
const _ri = Citizen.resultAsInteger();
const _rf = Citizen.resultAsFloat();
const _rl = Citizen.resultAsLong();
const _s = Citizen.resultAsString();
const _rv = Citizen.resultAsVector();
const _ro = Citizen.resultAsObject2();
const _in = Citizen.invokeNativeByHash;
const _ii = Citizen.pointerValueIntInitialized;
const _fi = Citizen.pointerValueFloatInitialized;
function _ch(hash) {
	if (typeof hash === 'string') {
		return global.GetHashKey(hash);
	}

	return hash;
}

function _obj(obj) {
	const s = msgpack_pack(obj);
	return [s, s.length];
}

function _ts(num) {
	if (num === 0 || num === null || num === undefined || num === false) { // workaround for users calling string parameters with '0', also nil being translated
		return null;
	}
	if (ArrayBuffer.isView(num) || num instanceof ArrayBuffer) { // these are handled as strings internally
		return num;
	}
	return num.toString();
}
function _fv(flt) {
	return (flt === 0.0) ? flt : (flt + 0.0000001);
}

function _mfr(fn) {
	return Citizen.makeRefFunction(fn);
}

const _ENV = null;

/**
 * It's unclear what exactly this does, but I assume it marks the blip as "no longer needed"
 */
global.AbandonBlip = function (blip) {
	return _in(0xdeede7c4, 0x1742e011, blip);
};
global.N_0xdeede7c41742e011 = global.AbandonBlip;

/**
 * ABORT_ANIM_SCENE
 */
global.AbortAnimScene = function (animScene, p1) {
	return _in(0x718cf132, 0x8d20c2b3, animScene, p1);
};

/**
 * ABSF
 */
global.Absf = function (value) {
	return _in(0x134549b3, 0x88167cbf, _fv(value), _r, _rf);
};

/**
 * ABSI
 */
global.Absi = function (value) {
	return _in(0x0c214d5b, 0x8a38c828, value, _r, _ri);
};

/**
 * ACOS
 */
global.Acos = function (p0) {
	return _in(0x586690f0, 0x176dc575, _fv(p0), _r, _rf);
};

/**
 * Appears to remove stealth kill action from memory (?)
 */
global.ActionManagerEnableAction = function (hash, enable) {
	return _in(0x7acf124c, 0x12a2b045, _ch(hash), enable);
};
global.RemoveStealthKill = global.ActionManagerEnableAction;

/**
 * ACTION_MANAGER_IS_ACTION_ENABLED
 */
global.ActionManagerIsActionEnabled = function (hash) {
	return _in(0xfd075965, 0x8268fd8e, _ch(hash), _r, _ri);
};
global.N_0xfd0759658268fd8e = global.ActionManagerIsActionEnabled;

/**
 * _ACTIVATE_COMPANION_ANALYSIS
 */
global.ActivateCompanionAnalysis = function (groupId) {
	return _in(0xcbd9ec60, 0x495c728c, groupId);
};
global.N_0xcbd9ec60495c728c = global.ActivateCompanionAnalysis;

/**
 * ACTIVATE_DAMAGE_TRACKER_ON_NETWORK_ID
 */
global.ActivateDamageTrackerOnNetworkId = function (netID, toggle) {
	return _in(0xd45b1ffc, 0xcd52ff19, netID, toggle);
};

/**
 * goalContext: see <availableContexts> in common/data/stats_and_challenges/goals_*.meta
 */
global.ActivateGoalContext = function (goalContext) {
	return _in(0x7d654266, 0x025e921b, _ch(goalContext));
};
global.N_0x7d654266025e921b = global.ActivateGoalContext;

/**
 * https://github.com/femga/rdr3_discoveries/tree/master/interiors/interior_sets
 */
global.ActivateInteriorEntitySet = function (interior, entitySetName, p2) {
	return _in(0x174d0aab, 0x11ced739, interior, _ts(entitySetName), p2);
};

/**
 * ACTIVATE_PHYSICS
 */
global.ActivatePhysics = function (entity) {
	return _in(0x710311ad, 0xf0e20730, entity);
};

/**
 * Activates built-in timecycle editing tool.
 */
global.ActivateTimecycleEditor = function () {
	return _in(0x00000000, 0xeeb9b76a);
};

/**
 * nullsub, doesn't do anything
 */
global.ActivityFeedActionStartWithCommandLine = function (p0, p1) {
	return _in(0x91d65723, 0x0bc208d2, _ts(p0), _ts(p1));
};
global.N_0x91d657230bc208d2 = global.ActivityFeedActionStartWithCommandLine;

/**
 * nullsub, doesn't do anything
 */
global.ActivityFeedActionStartWithCommandLineAdd = function (p0) {
	return _in(0x1694a053, 0xdfb61a34, _ts(p0));
};
global.N_0x1694a053dfb61a34 = global.ActivityFeedActionStartWithCommandLineAdd;

/**
 * nullsub, doesn't do anything
 */
global.ActivityFeedAddSubstringToCaption = function (p0) {
	return _in(0x9935f764, 0x07c32539, _ts(p0));
};
global.N_0x9935f76407c32539 = global.ActivityFeedAddSubstringToCaption;

/**
 * nullsub, doesn't do anything
 */
global.ActivityFeedCreate = function (p0, p1) {
	return _in(0xcc7fc854, 0xb956a128, _ts(p0), _ts(p1));
};
global.N_0xcc7fc854b956a128 = global.ActivityFeedCreate;

/**
 * nullsub, doesn't do anything
 */
global.ActivityFeedPost = function () {
	return _in(0xb16fc7b3, 0x64d86585);
};
global.N_0xb16fc7b364d86585 = global.ActivityFeedPost;

/**
 * https://github.com/femga/rdr3_discoveries/blob/master/vehicles/vehicle_modding/vehicle_propsets.lua
 */
global.AddAdditionalPropSetForVehicle = function (vehicle, propset) {
	return _in(0x75f90e40, 0x51cc084c, vehicle, _ch(propset));
};
global.N_0x75f90e4051cc084c = global.AddAdditionalPropSetForVehicle;

/**
 * flags: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/PedFilterFlags
 */
global.AddAmbientAvoidanceRestriction = function (volume, includeFlags, excludeFlags, p3, p4, p5, p6) {
	return _in(0xb56d41a6, 0x94e42e86, volume, includeFlags, excludeFlags, _ch(p3), _ch(p4), _ch(p5), p6);
};
global.N_0xb56d41a694e42e86 = global.AddAmbientAvoidanceRestriction;

/**
 * flags: see 0xB56D41A694E42E86
 */
global.AddAmbientSpawnRestriction = function (volume, includeFlags, excludeFlags, p3, p4, p5, p6) {
	return _in(0x18262caf, 0xebb5fbe1, volume, includeFlags, excludeFlags, _ch(p3), _ch(p4), _ch(p5), p6);
};
global.N_0x18262cafebb5fbe1 = global.AddAmbientSpawnRestriction;

/**
 * addReason:
 * enum eAddItemReason : Hash
 * {
 * ADD_REASON_AWARDS = 0xB784AD1E,
 * ADD_REASON_CREATE_CHARACTER = 0xE2C4FF71,
 * ADD_REASON_DEBUG = 0x5C05C64D,
 * ADD_REASON_DEFAULT = 0x2CD419DC,
 * ADD_REASON_GET_INVENTORY = 0xD8188685,
 * ADD_REASON_INCENTIVE = 0x8ADC2E95,
 * ADD_REASON_LOADOUT = 0xCA3454E6,
 * ADD_REASON_LOAD_SAVEGAME = 0x56212906,
 * ADD_REASON_LOOTED = 0xCA806A55,
 * ADD_REASON_MELEE = 0x7B9BDCE7,
 * ADD_REASON_MP_MISSION = 0xEC0E0194,
 * ADD_REASON_NOTIFICATION = 0xC56292D2,
 * ADD_REASON_PICKUP = 0x1A770E22,
 * ADD_REASON_PURCHASED = 0x4A6726C9,
 * ADD_REASON_SET_AMOUNT = 0x4504731E,
 * ADD_REASON_SYNCING = 0x8D4B4FF4,
 * ADD_REASON_USE_FAILED = 0xD385B670
 * };
 */
global.AddAmmoToPed = function (ped, weaponHash, amount, addReason) {
	return _in(0xb190bca3, 0xf4042f95, ped, _ch(weaponHash), amount, _ch(addReason));
};
global.N_0xb190bca3f4042f95 = global.AddAmmoToPed;

/**
 * addReason: see _ADD_AMMO_TO_PED
 */
global.AddAmmoToPedByType = function (ped, ammoType, amount, addReason) {
	return _in(0x106a811c, 0x6d3035f3, ped, _ch(ammoType), amount, _ch(addReason));
};
global.N_0x106a811c6d3035f3 = global.AddAmmoToPedByType;

/**
 * Same as SET_PED_ARMOUR, but ADDS 'amount' to the armor the Ped already has.
 */
global.AddArmourToPed = function (ped, amount) {
	return _in(0x5ba652a0, 0xcd14df2f, ped, amount);
};

/**
 * attributeIndex: see SET_ATTRIBUTE_BASE_RANK
 */
global.AddAttributePoints = function (ped, attributeIndex, p2) {
	return _in(0x75415ee0, 0xcb583760, ped, attributeIndex, p2);
};

/**
 * Adds an output for the specified audio submix.
 * @param submixId The input submix.
 * @param outputSubmixId The output submix. Use `0` for the master game submix.
 */
global.AddAudioSubmixOutput = function (submixId, outputSubmixId) {
	return _in(0x00000000, 0xac6e290d, submixId, outputSubmixId);
};

/**
 * https://i.imgur.com/ULQU9US.jpg
 * More rounded and small puddle
 */
global.AddBloodPool = function (x, y, z, unused) {
	return _in(0xfa2ecc78, 0xa6014d4f, _fv(x), _fv(y), _fv(z), unused);
};
global.N_0xfa2ecc78a6014d4f = global.AddBloodPool;

/**
 * https://i.imgur.com/rPITUCV.jpg
 * More customizable and more like quadrants
 */
global.AddBloodPool_2 = function (x, y, z, p3, size, p5, permanent, p7, p8) {
	return _in(0xf7082986, 0x75abdc6a, _fv(x), _fv(y), _fv(z), _fv(p3), _fv(size), _fv(p5), permanent, _fv(p7), p8);
};
global.N_0xf708298675abdc6a = global.AddBloodPool_2;

/**
 * Creates blood pools for the given ped in some interval for a few seconds.
 */
global.AddBloodPoolsForPed = function (ped) {
	return _in(0xdfce8ce9, 0xf3ebe93f, ped);
};
global.N_0xdfce8ce9f3ebe93f = global.AddBloodPoolsForPed;

/**
 * _ADD_BLOOD_POOLS_FOR_PED_WITH_PARAMS
 */
global.AddBloodPoolsForPedWithParams = function (ped, p1, size, p3) {
	return _in(0xc349ee1e, 0x6efa494b, ped, _fv(p1), _fv(size), _fv(p3));
};
global.N_0xc349ee1e6efa494b = global.AddBloodPoolsForPedWithParams;

/**
 * _ADD_BLOOD_TRAIL_POINT
 */
global.AddBloodTrailPoint = function (x, y, z) {
	return _in(0xdd9dc1ab, 0x63d513ce, _fv(x), _fv(y), _fv(z));
};
global.N_0xdd9dc1ab63d513ce = global.AddBloodTrailPoint;

/**
 * _ADD_BLOOD_TRAIL_SPLAT
 */
global.AddBloodTrailSplat = function (x, y, z) {
	return _in(0xf5e45cb1, 0xcf965d2d, _fv(x), _fv(y), _fv(z));
};
global.N_0xf5e45cb1cf965d2d = global.AddBloodTrailSplat;

/**
 * _ADD_R* - _ADD_V(OLUME?)*
 */
global.AddBoundsToAggregateVolume = function (volume, aggregate) {
	return _in(0x6e0d3c3f, 0x828da773, volume, aggregate);
};
global.N_0x6e0d3c3f828da773 = global.AddBoundsToAggregateVolume;

/**
 * ADD_BOUNTY
 */
global.AddBounty = function (player, itemValueAmount) {
	return _in(0x0e3bdeed, 0x21beb945, player, itemValueAmount);
};
global.N_0x0e3bdeed21beb945 = global.AddBounty;

/**
 * _ADD_BOX_VOLUME_TO_VOLUME_AGGREGATE
 */
global.AddBoxVolumeToVolumeAggregate = function (aggregate, p1, p2, p3, p4, p5, p6, p7, p8, p9) {
	return _in(0x39816f6f, 0x94f385ad, aggregate, _fv(p1), _fv(p2), _fv(p3), _fv(p4), _fv(p5), _fv(p6), _fv(p7), _fv(p8), _fv(p9));
};
global.N_0x39816f6f94f385ad = global.AddBoxVolumeToVolumeAggregate;

/**
 * p7 (length) determines the length of the spline, affects camera path and duration of transition between previous node and this one
 * p8 big values ~100 will slow down the camera movement before reaching this node
 * p9 != 0 seems to override the rotation/pitch (bool?)
 */
global.AddCamSplineNode = function (camera, x, y, z, xRot, yRot, zRot, length, p8, p9) {
	return _in(0xf1f57f9d, 0x230f9cd1, camera, _fv(x), _fv(y), _fv(z), _fv(xRot), _fv(yRot), _fv(zRot), length, p8, p9);
};

/**
 * Used for Script Function NET_FETCH_CLIENT_ACTIVATE_COMAPNION_ANALYSIS: Hiding! Ped
 */
global.AddCompanionFlag = function (ped, p1) {
	return _in(0xdeb369f6, 0xad168c58, ped, p1);
};
global.N_0xdeb369f6ad168c58 = global.AddCompanionFlag;

/**
 * Adds a listener for Console Variable changes.
 * The function called expects to match the following signature:
 * ```ts
 * function ConVarChangeListener(conVarName: string, reserved: any);
 * ```
 * *   **conVarName**: The ConVar that changed.
 * *   **reserved**: Currently unused.
 * @param conVarFilter The Console Variable to listen for, this can be a pattern like "test:\*", or null for any
 * @param handler The handler function.
 * @return A cookie to remove the change handler.
 */
global.AddConvarChangeListener = function (conVarFilter, handler) {
	return _in(0x00000000, 0xab7f7241, _ts(conVarFilter), _mfr(handler), _r, _ri);
};

/**
 * ADD_COVER_BLOCKING_AREA
 */
global.AddCoverBlockingArea = function (playerX, playerY, playerZ, radiusX, radiusY, radiusZ, p6, p7, p8, p9) {
	return _in(0x45c59709, 0x7dd7cb81, _fv(playerX), _fv(playerY), _fv(playerZ), _fv(radiusX), _fv(radiusY), _fv(radiusZ), p6, p7, p8, p9);
};

/**
 * _ADD_COVER_BLOCKING_VOLUME
 */
global.AddCoverBlockingVolume = function (volume, p1, p2, p3, p4) {
	return _in(0xeb2ed1dc, 0x3aec0654, volume, p1, p2, p3, p4);
};
global.N_0xeb2ed1dc3aec0654 = global.AddCoverBlockingVolume;

/**
 * ADD_COVER_POINT
 */
global.AddCoverPoint = function (p0, p1, p2, p3, p4, p5, p6, p7) {
	return _in(0xd5c12a75, 0xc7b9497f, _fv(p0), _fv(p1), _fv(p2), _fv(p3), p4, p5, p6, p7, _r, _ri);
};

/**
 * ADD_CUSTOM_FORMATION_LOCATION
 */
global.AddCustomFormationLocation = function (groupId, x, y, z, position) {
	return _in(0x4e23cd07, 0xbd161e06, groupId, _fv(x), _fv(y), _fv(z), position);
};

/**
 * _ADD_CYLINDER_VOLUME_TO_VOLUME_AGGREGATE
 */
global.AddCylinderVolumeToVolumeAggregate = function (aggregate, p1, p2, p3, p4, p5, p6, p7, p8, p9) {
	return _in(0xbce668aa, 0xf83608be, aggregate, _fv(p1), _fv(p2), _fv(p3), _fv(p4), _fv(p5), _fv(p6), _fv(p7), _fv(p8), _fv(p9));
};
global.N_0xbce668aaf83608be = global.AddCylinderVolumeToVolumeAggregate;

/**
 * ADD_DECAL
 */
global.AddDecal = function (p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21) {
	return _in(0x57cb2676, 0x24ef85c0, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, _r, _ri);
};

/**
 * _ADD_DISPATCH_SPAWN_BLOCKING_AREA
 */
global.AddDispatchSpawnBlockingArea = function (volume) {
	return _in(0xa2d5a262, 0x08421426, volume, _r, _ri);
};
global.N_0xa2d5a26208421426 = global.AddDispatchSpawnBlockingArea;

/**
 * Registers a door, hashes: https://github.com/femga/rdr3_discoveries/tree/master/doorHashes
 */
global.AddDoorToSystemNew = function (doorHash, p1, p2, p3, threadId, p5, p6) {
	return _in(0xd99229fe, 0x93b46286, _ch(doorHash), p1, p2, p3, threadId, p5, p6);
};
global.N_0xd99229fe93b46286 = global.AddDoorToSystemNew;

/**
 * ADD_ENTITY_TO_AUDIO_MIX_GROUP
 */
global.AddEntityToAudioMixGroup = function (entity, groupName, p2) {
	return _in(0x153973ab, 0x99fe8980, entity, _ts(groupName), _fv(p2));
};

/**
 * _ADD_ENTITY_TO_ENTITY_MASK
 */
global.AddEntityToEntityMask = function (entity, mask) {
	return _in(0xc6f81fcd, 0x15350323, entity, mask);
};
global.N_0xc6f81fcd15350323 = global.AddEntityToEntityMask;

/**
 * _ADD_ENTITY_TO_ENTITY_MASK_WITH_INTENSITY
 */
global.AddEntityToEntityMaskWithIntensity = function (entity, mask, intensity) {
	return _in(0x958debd9, 0x353c0935, entity, mask, _fv(intensity));
};
global.N_0x958debd9353c0935 = global.AddEntityToEntityMaskWithIntensity;

/**
 * _ADD_ENTITY_TRACKING_TRAILS
 */
global.AddEntityTrackingTrails = function (entity) {
	return _in(0x1ad922ab, 0x5038def3, entity);
};
global.N_0x1ad922ab5038def3 = global.AddEntityTrackingTrails;

/**
 * NativeDB Introduced: v1311
 */
global.AddEntryVolumeLock = function (args) {
	return _in(0x58d3803f, 0xa639a3bb, _ii(args) /* may be optional */, _r);
};

/**
 * https://github.com/femga/rdr3_discoveries/tree/master/graphics/explosions
 * explosionType:
 * enum eExplosionTag
 * {
 * EXP_TAG_DONTCARE = -1,
 * EXP_TAG_GRENADE,
 * EXP_TAG_STICKYBOMB,
 * EXP_TAG_MOLOTOV,
 * EXP_TAG_MOLOTOV_VOLATILE,
 * EXP_TAG_HI_OCTANE,
 * EXP_TAG_CAR,
 * EXP_TAG_PLANE,
 * EXP_TAG_PETROL_PUMP,
 * EXP_TAG_DIR_STEAM,
 * EXP_TAG_DIR_FLAME,
 * EXP_TAG_DIR_WATER_HYDRANT,
 * EXP_TAG_BOAT,
 * EXP_TAG_BULLET,
 * EXP_TAG_SMOKEGRENADE,
 * EXP_TAG_BZGAS,
 * EXP_TAG_GAS_CANISTER,
 * EXP_TAG_EXTINGUISHER,
 * EXP_TAG_TRAIN,
 * EXP_TAG_DIR_FLAME_EXPLODE,
 * EXP_TAG_VEHICLE_BULLET,
 * EXP_TAG_BIRD_CRAP,
 * EXP_TAG_FIREWORK,
 * EXP_TAG_TORPEDO,
 * EXP_TAG_TORPEDO_UNDERWATER,
 * EXP_TAG_LANTERN,
 * EXP_TAG_DYNAMITE,
 * EXP_TAG_DYNAMITESTACK,
 * EXP_TAG_DYNAMITE_VOLATILE,
 * EXP_TAG_RIVER_BLAST,
 * EXP_TAG_PLACED_DYNAMITE,
 * EXP_TAG_FIRE_ARROW,
 * EXP_TAG_DYNAMITE_ARROW,
 * EXP_TAG_PHOSPHOROUS_BULLET,
 * EXP_TAG_LIGHTNING_STRIKE,
 * EXP_TAG_TRACKING_ARROW,
 * EXP_TAG_POISON_BOTTLE
 * };
 */
global.AddExplosion = function (x, y, z, explosionType, damageScale, isAudible, isInvisible, cameraShake) {
	return _in(0x7d6f58f6, 0x9da92530, _fv(x), _fv(y), _fv(z), explosionType, _fv(damageScale), isAudible, isInvisible, _fv(cameraShake));
};

/**
 * explosionType: see ADD_EXPLOSION
 * Change explosionFx (Visual Effect) for specified explosionType
 */
global.AddExplosionWithUserVfx = function (x, y, z, explosionType, explosionFx, damageScale, isAudible, isInvisible, cameraShake) {
	return _in(0x53ba259f, 0x3a67a99e, _fv(x), _fv(y), _fv(z), explosionType, _ch(explosionFx), _fv(damageScale), isAudible, isInvisible, _fv(cameraShake));
};

/**
 * _ADD_FLEE_TARGET_COORDS
 */
global.AddFleeTargetCoords = function (ped, x, y, z, p4) {
	return _in(0xe8f1a5b4, 0xced3725a, ped, _fv(x), _fv(y), _fv(z), _fv(p4));
};
global.N_0xe8f1a5b4ced3725a = global.AddFleeTargetCoords;

/**
 * Params: p2 is always -1.f in R* Scripts
 */
global.AddFleeTargetPed = function (ped, targetPed, p2) {
	return _in(0x3923ec95, 0x8249657d, ped, targetPed, _fv(p2));
};
global.N_0x3923ec958249657d = global.AddFleeTargetPed;

/**
 * ADD_FORMATION_LOCATION
 */
global.AddFormationLocation = function (groupId, p1, p2, p3) {
	return _in(0xb05945c1, 0xe9e60d91, groupId, _fv(p1), _fv(p2), _fv(p3), _r, _ri);
};

/**
 * To remove propsets either parse a zero as hash or call 0xE31C0CB1C3186D40
 * 0xA6A9712955F53D9C returns lightPropset Hashes
 * https://github.com/femga/rdr3_discoveries/blob/master/vehicles/vehicle_modding/vehicle_lantern_propsets.lua
 */
global.AddLightPropSetToVehicle = function (vehicle, lightPropset) {
	return _in(0xc0f0417a, 0x90402742, vehicle, _ch(lightPropset));
};
global.N_0xc0f0417a90402742 = global.AddLightPropSetToVehicle;

/**
 * Models used in the scripts: P_REGISTER05X, P_REGISTER06X, P_REGISTER03X, PLAYER_ZERO, PLAYER_THREE, A_C_HORSE_MORGAN_FLAXENCHESTNUT
 */
global.AddModelToEventMonitor = function (model, p1, p2) {
	return _in(0x608ad36a, 0x644a97fe, _ch(model), p1, p2);
};
global.N_0x608ad36a644a97fe = global.AddModelToEventMonitor;

/**
 * ADD_NAVMESH_BLOCKING_OBJECT
 */
global.AddNavmeshBlockingObject = function (p0, p1, p2, p3, p4, p5, p6, p7, p8) {
	return _in(0xfcd5c8e0, 0x6e502f5a, _fv(p0), _fv(p1), _fv(p2), _fv(p3), _fv(p4), _fv(p5), _fv(p6), p7, p8, _r, _ri);
};

/**
 * _ADD_NAVMESH_BLOCKING_VOLUME
 */
global.AddNavmeshBlockingVolume = function (volume, flags) {
	return _in(0x19c7567d, 0x2f2287d6, volume, flags, _r, _ri);
};
global.N_0x19c7567d2f2287d6 = global.AddNavmeshBlockingVolume;

/**
 * ADD_NAVMESH_REQUIRED_REGION
 */
global.AddNavmeshRequiredRegion = function (x, y, radius) {
	return _in(0x387ead7e, 0xe42f6685, _fv(x), _fv(y), _fv(radius));
};

/**
 * explosionType: see ADD_EXPLOSION
 */
global.AddOwnedExplosion = function (ped, x, y, z, explosionType, damageScale, isAudible, isInvisible, cameraShake) {
	return _in(0xd84a917a, 0x64d4d016, ped, _fv(x), _fv(y), _fv(z), explosionType, _fv(damageScale), isAudible, isInvisible, _fv(cameraShake));
};

/**
 * ADD_PATROL_ROUTE_LINK
 */
global.AddPatrolRouteLink = function (node1, node2) {
	return _in(0x23083260, 0xdec3a551, node1, node2);
};

/**
 * ADD_PATROL_ROUTE_NODE
 */
global.AddPatrolRouteNode = function (nodeId, scenarioName, x, y, z, lookPosX, lookPosY, lookPosZ, duration, p9) {
	return _in(0x8edf9501, 0x67586b7c, nodeId, _ts(scenarioName), _fv(x), _fv(y), _fv(z), _fv(lookPosX), _fv(lookPosY), _fv(lookPosZ), duration, p9);
};

/**
 * _ADD_PED_STAY_OUT_VOLUME
 */
global.AddPedStayOutVolume = function (ped, volume) {
	return _in(0xe9b16852, 0x7b337bf0, ped, volume, _r, _ri);
};
global.N_0xe9b168527b337bf0 = global.AddPedStayOutVolume;

/**
 * NativeDB Introduced: v1311
 */
global.AddPedSubscribeToLegendaryBlips = function (ped) {
	return _in(0xe37287ee, 0x358939c3, ped, _r);
};

/**
 * ADD_PED_TO_CONVERSATION
 */
global.AddPedToConversation = function (convoRoot, ped, characterName) {
	return _in(0x95d9f4bc, 0x443956e7, _ts(convoRoot), ped, _ts(characterName));
};

/**
 * _ADD_PED_TO_FLOCK
 */
global.AddPedToFlock = function (p0, ped) {
	return _in(0x933e5d31, 0xa7d13069, p0, ped);
};

/**
 * ADD_PETROL_TRAIL_DECAL_INFO
 */
global.AddPetrolTrailDecalInfo = function (x, y, z, p3) {
	return _in(0x73354fb6, 0xd03d2e8a, _fv(x), _fv(y), _fv(z), _fv(p3));
};

/**
 * Used in script function: NET_AUTO_FOLLOW_UPDATE_LEADER_VALUES
 * followMode:
 * HORSEFOLLOWMODE_AUTO = 0,
 * HORSEFOLLOWMODE_SIDE_ONLY,
 * HORSEFOLLOWMODE_BEHIND_ONLY,
 * HORSEFOLLOWMODE_BEHIND_AND_SIDE,
 * HORSEFOLLOWMODE_BEHIND_CLOSE
 * followPriority:
 * HORSEFOLLOWPRIORITY_STEER_ASSIST = 0,
 * HORSEFOLLOWPRIORITY_AMBIENT,
 * HORSEFOLLOWPRIORITY_NORMAL,
 * HORSEFOLLOWPRIORITY_HIGH
 */
global.AddPlayerAsFollowTarget = function (player, ped, p2, p3, followMode, followPriority, p6) {
	return _in(0xac22aa6d, 0xf4d1c1de, player, ped, _fv(p2), _fv(p3), followMode, followPriority, p6);
};
global.N_0xac22aa6df4d1c1de = global.AddPlayerAsFollowTarget;

/**
 * ADD_POINT_TO_GPS_MULTI_ROUTE
 */
global.AddPointToGpsMultiRoute = function (x, y, z, p3) {
	return _in(0x64c59dd6, 0x834fa942, _fv(x), _fv(y), _fv(z), p3);
};

/**
 * ADD_POP_MULTIPLIER_AREA
 */
global.AddPopMultiplierArea = function (x1, y1, z1, x2, y2, z2, pedDensity, trafficDensity, p8, p9) {
	return _in(0x5ebda1a3, 0xb8cb5ef7, _fv(x1), _fv(y1), _fv(z1), _fv(x2), _fv(y2), _fv(z2), _fv(pedDensity), _fv(trafficDensity), p8, p9, _r, _ri);
};

/**
 * Only used in script function PROCESS_ZONE_CREATION
 * Returns Pop multiplier volume ID
 */
global.AddPopMultiplierVolume = function (volume, pedDensity, vehicleDensity, p3, p4) {
	return _in(0x3233c4ec, 0x0514c7ec, volume, _fv(pedDensity), _fv(vehicleDensity), p3, p4, _r, _ri);
};
global.N_0x3233c4ec0514c7ec = global.AddPopMultiplierVolume;

/**
 * List of vehicle propsets (wagons & trains): https://pastebin.com/1CsnvGLu / https://pastebin.com/v7TtqTgE
 */
global.AddPropSetForVehicle = function (vehicle, propset) {
	return _in(0xd80faf91, 0x9a2e56ea, vehicle, _ch(propset));
};
global.N_0xd80faf919a2e56ea = global.AddPropSetForVehicle;

/**
 * list of minimap props: https://github.com/femga/rdr3_discoveries/tree/master/graphics/minimap/minimapObjects
 */
global.AddPropToMinimap = function (minimapProp, x, y, rotation, p4) {
	return _in(0x1392105d, 0xa88bbffb, _ch(minimapProp), _fv(x), _fv(y), _fv(rotation), p4);
};
global.N_0x1392105da88bbffb = global.AddPropToMinimap;

/**
 * The hash of the created relationship group is output in the second parameter.
 */
global.AddRelationshipGroup = function (name, groupHash) {
	return _in(0xf372bc22, 0xfcb88606, _ts(name), _ii(groupHash) /* may be optional */, _r, _ri);
};

/**
 * ADD_ROAD_NODE_SPEED_ZONE
 */
global.AddRoadNodeSpeedZone = function (p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10) {
	return _in(0x4c221bac, 0x54d735c3, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, _r, _ri);
};
global.AddSpeedZoneForCoord = global.AddRoadNodeSpeedZone;

/**
 * There are 19 types of rope, from type = 0 to type = 18
 * Rope definitions are stored in ropedata.xml
 * Rope types 0, 15 and 18 have proper physics for hanging objects (taut, do not sag, small to medium diameter, good aspect for a rope)
 */
global.AddRope = function (x, y, z, rotX, rotY, rotZ, length, ropeType, maxLength, minLength, p10, p11, p12, rigid, p14, breakWhenShot, p17) {
	return _in(0xe832d760, 0x399eb220, _fv(x), _fv(y), _fv(z), _fv(rotX), _fv(rotY), _fv(rotZ), _fv(length), ropeType, _fv(maxLength), _fv(minLength), _fv(p10), p11, p12, rigid, _fv(p14), breakWhenShot, _i, p17, _r, _ri);
};

/**
 * _ADD_ROPE_2
 */
global.AddRope_2 = function (x, y, z, rotX, rotY, rotZ, length, ropeType, isNetworked, p9, p10) {
	return _in(0xe9c59f68, 0x09373a99, _fv(x), _fv(y), _fv(z), _fv(rotX), _fv(rotY), _fv(rotZ), _fv(length), ropeType, isNetworked, p9, _fv(p10), _r, _ri);
};
global.N_0xe9c59f6809373a99 = global.AddRope_2;

/**
 * blockingFlags: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/eScenarioBlockingFlags
 */
global.AddScenarioBlockingArea = function (x1, y1, z1, x2, y2, z2, p6, blockingFlags) {
	return _in(0x1b5c85c6, 0x12e5256e, _fv(x1), _fv(y1), _fv(z1), _fv(x2), _fv(y2), _fv(z2), p6, blockingFlags, _r, _ri);
};

/**
 * flag: see ADD_SCENARIO_BLOCKING_AREA
 */
global.AddScenarioBlockingVolume = function (volume, p1, flag) {
	return _in(0x4c39c95a, 0xe5db1329, volume, p1, flag, _r, _ri);
};
global.N_0x4c39c95ae5db1329 = global.AddScenarioBlockingVolume;

/**
 * Forces transition now, called together with 0xD65FDC686A031C83
 */
global.AddScenarioTransition = function (ped) {
	return _in(0x6d07b371, 0xe9439019, ped);
};
global.N_0x6d07b371e9439019 = global.AddScenarioTransition;

/**
 * _ADD_SCRIPTED_COVER_POINT
 */
global.AddScriptedCoverPoint = function (data) {
	return _in(0x975bd635, 0x1648935f, _ii(data) /* may be optional */, _r, _ri);
};
global.N_0x975bd6351648935f = global.AddScriptedCoverPoint;

/**
 * eventType: https://alloc8or.re/rdr3/doc/enums/eEventType.txt
 * https://github.com/femga/rdr3_discoveries/blob/master/AI/EVENTS
 */
global.AddShockingEventAtPosition = function (eventType, x, y, z, p4, p5, p6, p7, p8, p9, p10) {
	return _in(0xd9f84554, 0x09b525e9, _ch(eventType), _fv(x), _fv(y), _fv(z), _fv(p4), _fv(p5), _fv(p6), _fv(p7), _fv(p8), p9, p10, _r, _ri);
};

/**
 * eventType: https://alloc8or.re/rdr3/doc/enums/eEventType.txt
 */
global.AddShockingEventForEntity = function (eventType, entity, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11) {
	return _in(0x7fd8f3be, 0x76f89422, _ch(eventType), entity, _fv(p2), _fv(p3), _fv(p4), _fv(p5), _fv(p6), _fv(p7), p8, p9, p10, p11, _r, _ri);
};

/**
 * _ADD_SPHERE_VOLUME_TO_VOLUME_AGGREGATE
 */
global.AddSphereVolumeToVolumeAggregate = function (aggregate, p1, p2, p3, p4, p5, p6, p7, p8, p9) {
	return _in(0x5b7d7bf3, 0x6d2de18b, aggregate, _fv(p1), _fv(p2), _fv(p3), _fv(p4), _fv(p5), _fv(p6), _fv(p7), _fv(p8), _fv(p9));
};
global.N_0x5b7d7bf36d2de18b = global.AddSphereVolumeToVolumeAggregate;

/**
 * Adds a handler for changes to a state bag.
 * The function called expects to match the following signature:
 * ```ts
 * function StateBagChangeHandler(bagName: string, key: string, value: any, reserved: number, replicated: boolean);
 * ```
 * *   **bagName**: The internal bag ID for the state bag which changed. This is usually `player:Source`, `entity:NetID`
 * or `localEntity:Handle`.
 * *   **key**: The changed key.
 * *   **value**: The new value stored at key. The old value is still stored in the state bag at the time this callback executes.
 * *   **reserved**: Currently unused.
 * *   **replicated**: Whether the set is meant to be replicated.
 * At this time, the change handler can't opt to reject changes.
 * If bagName refers to an entity, use [GET_ENTITY_FROM_STATE_BAG_NAME](?\_0x4BDF1868) to get the entity handle
 * If bagName refers to a player, use [GET_PLAYER_FROM_STATE_BAG_NAME](?\_0xA56135E0) to get the player handle
 * @param keyFilter The key to check for, or null for no filter.
 * @param bagFilter The bag ID to check for such as `entity:65535`, or null for no filter.
 * @param handler The handler function.
 * @return A cookie to remove the change handler.
 */
global.AddStateBagChangeHandler = function (keyFilter, bagFilter, handler) {
	return _in(0x00000000, 0x5ba35aaf, _ts(keyFilter), _ts(bagFilter), _mfr(handler), _r, _ri);
};

/**
 * Params: p3 is 0 in R* Script utopia2
 */
global.AddTacticalNavMeshPoint = function (x, y, z, p3) {
	return _in(0xe4ee55e6, 0x3fa9af45, _fv(x), _fv(y), _fv(z), p3);
};
global.AddTacticalAnalysisPoint = global.AddTacticalNavMeshPoint;

/**
 * ADD_TEXT_ENTRY
 */
global.AddTextEntry = function (entryKey, entryText) {
	return _in(0x00000000, 0x32ca01c3, _ts(entryKey), _ts(entryText));
};

/**
 * ADD_TEXT_ENTRY_BY_HASH
 */
global.AddTextEntryByHash = function (entryKey, entryText) {
	return _in(0x00000000, 0x289da860, _ch(entryKey), _ts(entryText));
};

/**
 * Creates ped overlay in texture override data and returns it's index.
 * This index are used for further overlay editing.
 * albedoHash: a hash of overlay's albedo texture
 * colorType: a color type(from 0 to 2). 0 is used for overlays with RGB colors usually.
 */
global.AddTextureLayer = function (textureId, albedoHash, normalHash, materialHash, blendType, texAlpha, sheetGridIndex) {
	return _in(0x86bb5ff4, 0x5f193a02, textureId, _ch(albedoHash), _ch(normalHash), _ch(materialHash), blendType, _fv(texAlpha), sheetGridIndex, _r, _ri);
};
global.N_0x86bb5ff45f193a02 = global.AddTextureLayer;

/**
 * _ADD_TIME_TO_DATE_TIME
 */
global.AddTimeToDateTime = function () {
	return _in(0x28eeace9, 0xb43d9597, _i, _i, _i);
};
global.N_0x28eeace9b43d9597 = global.AddTimeToDateTime;

/**
 * ADD_TO_CLOCK_TIME
 */
global.AddToClockTime = function (hours, minutes, seconds) {
	return _in(0xab7c251c, 0x7701d336, hours, minutes, seconds);
};

/**
 * ADD_TO_ITEMSET
 */
global.AddToItemset = function (entity, itemset) {
	return _in(0xabe74510, 0x883c7950, entity, itemset, _r);
};

/**
 * _ADD_TRAIN_TEMPORARY_STOP
 */
global.AddTrainTemporaryStop = function (train, trackIndex, x, y, z) {
	return _in(0x41503629, 0xd1139abc, train, trackIndex, _fv(x), _fv(y), _fv(z));
};
global.N_0x41503629d1139abc = global.AddTrainTemporaryStop;

/**
 * Returns veg modifier handle
 */
global.AddVegModifierSphere = function (x, y, z, radius, modType, flags, p6) {
	return _in(0xfa50f792, 0x57745e74, _fv(x), _fv(y), _fv(z), _fv(radius), modType, flags, p6, _r, _ri);
};
global.N_0xfa50f79257745e74 = global.AddVegModifierSphere;

/**
 * Adds Vegetation Blocking Zone, Added Snow Flattening veg mod Zone
 * Returns veg modifier handle
 */
global.AddVegModifierZone = function (volume, p1, flags, p3) {
	return _in(0xbd332428, 0x1e8b9933, volume, p1, flags, p3, _r, _ri);
};
global.N_0xbd3324281e8b9933 = global.AddVegModifierZone;

/**
 * _ADD_VOLUME_TO_VOLUME_AGGREGATE
 */
global.AddVolumeToVolumeAggregate = function (aggregate, typeHash, x, y, z, rotX, rotY, rotZ, scaleX, scaleY, scaleZ) {
	return _in(0x12fcaa23, 0xf2320422, aggregate, _ch(typeHash), _fv(x), _fv(y), _fv(z), _fv(rotX), _fv(rotY), _fv(rotZ), _fv(scaleX), _fv(scaleY), _fv(scaleZ));
};
global.N_0x12fcaa23f2320422 = global.AddVolumeToVolumeAggregate;

/**
 * _ADD_WITNESS_RESPONSE
 */
global.AddWitnessResponse = function (player, crimeType, pedGroup) {
	return _in(0x10827b5a, 0x0aac56a7, player, _ch(crimeType), pedGroup);
};
global.N_0x10827b5a0aac56a7 = global.AddWitnessResponse;

/**
 * ADVANCE_CLOCK_TIME_TO
 */
global.AdvanceClockTimeTo = function (hour, minute, second) {
	return _in(0x0184750a, 0xe88d0b1d, hour, minute, second);
};

/**
 * ALLOW_DAMAGE_EVENTS_FOR_NON_NETWORKED_OBJECTS
 */
global.AllowDamageEventsForNonNetworkedObjects = function (enabled) {
	return _in(0xe2b3b852, 0xb537c398, enabled);
};
global.N_0xe2b3b852b537c398 = global.AllowDamageEventsForNonNetworkedObjects;

/**
 * ALLOW_MOTION_BLUR_DECAY
 */
global.AllowMotionBlurDecay = function (cam, p1) {
	return _in(0x42ed56b0, 0x2e05d109, cam, p1);
};
global.N_0x42ed56b02e05d109 = global.AllowMotionBlurDecay;

/**
 * ALLOW_PAUSE_WHEN_NOT_IN_STATE_OF_PLAY_THIS_FRAME
 */
global.AllowPauseWhenNotInStateOfPlayThisFrame = function () {
	return _in(0x30996422, 0xdf1ee561);
};
global.AllowPauseMenuWhenDeadThisFrame = global.AllowPauseWhenNotInStateOfPlayThisFrame;

/**
 * ALLOW_PICKUP_LIGHT_SYNC
 */
global.AllowPickupLightSync = function (pickupObject, allow) {
	return _in(0x7c348310, 0xa6e2fb91, pickupObject, allow);
};
global.N_0x7c348310a6e2fb91 = global.AllowPickupLightSync;

/**
 * ALLOW_SONAR_BLIPS
 */
global.AllowSonarBlips = function (toggle) {
	return _in(0x6e6e6478, 0x8c07d2e0, toggle);
};

/**
 * ANALYTICS_PLAYTIME_FREEMODE_END
 */
global.AnalyticsPlaytimeFreemodeEnd = function () {
	return _in(0x3180e991, 0xd4b8f248);
};
global.N_0x3180e991d4b8f248 = global.AnalyticsPlaytimeFreemodeEnd;

/**
 * ANALYTICS_PLAYTIME_FREEMODE_START
 */
global.AnalyticsPlaytimeFreemodeStart = function () {
	return _in(0xe9f24081, 0xd84931b8);
};
global.N_0xe9f24081d84931b8 = global.AnalyticsPlaytimeFreemodeStart;

/**
 * _ANIM_SCENE_TO_NET
 */
global.AnimSceneToNet = function (animScene) {
	return _in(0xe0d73cdd, 0xea79ddcd, animScene, _r, _ri);
};
global.N_0xe0d73cddea79ddcd = global.AnimSceneToNet;

/**
 * _ANIMPOSTFX_CLEAR_EFFECT
 */
global.AnimpostfxClearEffect = function (effectName) {
	return _in(0xc5cb91d6, 0x5852ed7e, _ts(effectName));
};
global.N_0xc5cb91d65852ed7e = global.AnimpostfxClearEffect;

/**
 * Known effects: MP_Trans_SceneToPhoto
 * MP_Trans_WinLose
 * SpectateFilter
 * MP_CharacterCreatorPhoto
 * MP_Trans_PhotoToScene
 * InterrogationHit
 */
global.AnimpostfxGetStackhash = function (effectName) {
	return _in(0x842ccc94, 0x91ffcd9b, _ts(effectName), _r, _ri);
};
global.N_0x842ccc9491ffcd9b = global.AnimpostfxGetStackhash;

/**
 * ANIMPOSTFX_HAS_EVENT_TRIGGERED_BY_STACKHASH
 */
global.AnimpostfxHasEventTriggeredByStackhash = function (effectNameHash, p1, p2, p3) {
	return _in(0x9ab192a9, 0xef980eed, _ch(effectNameHash), p1, p2, _i /* actually bool */, _r, _ri);
};
global.N_0x9ab192a9ef980eed = global.AnimpostfxHasEventTriggeredByStackhash;

/**
 * _ANIMPOSTFX_HAS_LOADED
 */
global.AnimpostfxHasLoaded = function (effectName) {
	return _in(0xbf2dd155, 0xb2adcd0a, _ts(effectName), _r, _ri);
};
global.N_0xbf2dd155b2adcd0a = global.AnimpostfxHasLoaded;

/**
 * ANIMPOSTFX_IS_PRELOADING_BY_STACKHASH
 */
global.AnimpostfxIsPreloadingByStackhash = function (effectNameHash) {
	return _in(0x59ea8007, 0x9b86d8c7, _ch(effectNameHash), _r, _ri);
};
global.N_0x59ea80079b86d8c7 = global.AnimpostfxIsPreloadingByStackhash;

/**
 * ANIMPOSTFX_IS_RUNNING
 */
global.AnimpostfxIsRunning = function (effectName) {
	return _in(0x4a123e85, 0xd7c4ca0b, _ts(effectName), _r);
};

/**
 * _ANIMPOSTFX_IS_STACKHASH_PLAYING
 */
global.AnimpostfxIsStackhashPlaying = function (effectNameHash) {
	return _in(0xeef83a75, 0x9ae06a27, _ch(effectNameHash), _r, _ri);
};
global.N_0xeef83a759ae06a27 = global.AnimpostfxIsStackhashPlaying;

/**
 * _ANIMPOSTFX_IS_TAG_PLAYING
 */
global.AnimpostfxIsTagPlaying = function (effectName) {
	return _in(0x2d4f9c85, 0x2ce8a253, _ts(effectName), _r, _ri);
};
global.N_0x2d4f9c852ce8a253 = global.AnimpostfxIsTagPlaying;

/**
 * https://github.com/femga/rdr3_discoveries/blob/master/graphics/animpostfx
 */
global.AnimpostfxPlay = function (effectName) {
	return _in(0x4102732d, 0xf6b4005f, _ts(effectName));
};

/**
 * _ANIMPOSTFX_PLAY_TAG
 */
global.AnimpostfxPlayTag = function (effectNameHash) {
	return _in(0x9b8d5d4c, 0xb8af58b3, _ch(effectNameHash));
};
global.N_0x9b8d5d4cb8af58b3 = global.AnimpostfxPlayTag;

/**
 * _ANIMPOSTFX_PLAY_TIMED
 */
global.AnimpostfxPlayTimed = function (effectName, duration) {
	return _in(0x3a9a281f, 0xf71249e9, _ts(effectName), duration);
};
global.N_0x3a9a281ff71249e9 = global.AnimpostfxPlayTimed;

/**
 * _ANIMPOSTFX_PRELOAD_POSTFX
 */
global.AnimpostfxPreloadPostfx = function (effectName) {
	return _in(0x5199405e, 0xabfbd7f0, _ts(effectName));
};
global.N_0x5199405eabfbd7f0 = global.AnimpostfxPreloadPostfx;

/**
 * _ANIMPOSTFX_PRELOAD_POSTFX_BY_STACKHASH
 */
global.AnimpostfxPreloadPostfxByStackhash = function (effectNameHash) {
	return _in(0xf3e03932, 0x2bfbd4d8, _ch(effectNameHash));
};
global.N_0xf3e039322bfbd4d8 = global.AnimpostfxPreloadPostfxByStackhash;

/**
 * NativeDB Introduced: v1311
 */
global.AnimpostfxSetPostfxColor = function (effectName, p1, red, green, blue, alpha) {
	return _in(0x63011d0c, 0x7c6519e0, _ts(effectName), p1, red, green, blue, alpha);
};

/**
 * Health Core Effect Filter Potency: p1 = 1
 * Stamina Core Effect Filter Potency: p1 = 2
 * Multiple Core Effect Filter Potency: p1 = 3
 */
global.AnimpostfxSetPotency = function (effectName, p1, potency) {
	return _in(0xf972f0ab, 0x16dc5260, _ts(effectName), p1, _fv(potency));
};
global.N_0xf972f0ab16dc5260 = global.AnimpostfxSetPotency;

/**
 * must be called after ANIMPOSTFX_PLAY, strength 0.0f - 1.0f
 */
global.AnimpostfxSetStrength = function (effectName, strength) {
	return _in(0xcab4dd2d, 0x5b2b7246, _ts(effectName), _fv(strength));
};
global.N_0xcab4dd2d5b2b7246 = global.AnimpostfxSetStrength;

/**
 * _ANIMPOSTFX_SET_TO_UNLOAD
 */
global.AnimpostfxSetToUnload = function (effectName) {
	return _in(0x37d7bdba, 0x89f13959, _ts(effectName));
};
global.N_0x37d7bdba89f13959 = global.AnimpostfxSetToUnload;

/**
 * ANIMPOSTFX_STOP
 */
global.AnimpostfxStop = function (effectName) {
	return _in(0xb4fd7446, 0xbab2f394, _ts(effectName));
};

/**
 * ANIMPOSTFX_STOP_ALL
 */
global.AnimpostfxStopAll = function () {
	return _in(0x66560a0d, 0x4c64fd21);
};

/**
 * _ANIMPOSTFX_STOP_STACKHASH_POSTFX
 */
global.AnimpostfxStopStackhashPostfx = function (effectNameHash) {
	return _in(0xeda5cbec, 0xf56e1386, _ch(effectNameHash));
};
global.N_0xeda5cbecf56e1386 = global.AnimpostfxStopStackhashPostfx;

/**
 * _ANIMPOSTFX_STOP_TAG
 */
global.AnimpostfxStopTag = function (effectName) {
	return _in(0xad74c22a, 0x541ab987, _ts(effectName));
};
global.N_0xad74c22a541ab987 = global.AnimpostfxStopTag;

/**
 * damages a ped with the given amount
 */
global.ApplyDamageToPed = function (ped, damageAmount, damageArmour, boneId, pedKiller) {
	return _in(0x697157ce, 0xd63f18d4, ped, damageAmount, damageArmour, boneId, pedKiller);
};

/**
 * APPLY_FORCE_TO_ENTITY
 */
global.ApplyForceToEntity = function (entity, forceFlags, x, y, z, offX, offY, offZ, boneIndex, isDirectionRel, ignoreUpVec, isForceRel, p12, p13) {
	return _in(0xf15e8f5d, 0x333f09c4, entity, forceFlags, _fv(x), _fv(y), _fv(z), _fv(offX), _fv(offY), _fv(offZ), boneIndex, isDirectionRel, ignoreUpVec, isForceRel, p12, p13);
};

/**
 * p6/relative - makes the xyz force not relative to world coords, but to something else
 * p7/highForce - setting false will make the force really low
 */
global.ApplyForceToEntityCenterOfMass = function (entity, forceType, x, y, z, component, isDirectionRel, isForceRel, p8) {
	return _in(0x31da7cec, 0x5334db37, entity, forceType, _fv(x), _fv(y), _fv(z), component, isDirectionRel, isForceRel, p8);
};

/**
 * APPLY_PED_BLOOD_SPECIFIC
 */
global.ApplyPedBloodSpecific = function (ped, p1, p2, p3, p4, p5, p6, p7, p8) {
	return _in(0xef0d582c, 0xbf2d9b0f, ped, p1, _fv(p2), _fv(p3), _fv(p4), _fv(p5), p6, _fv(p7), _ii(p8) /* may be optional */);
};

/**
 * https://github.com/femga/rdr3_discoveries/blob/master/peds_customization/ped_decals.lua
 */
global.ApplyPedDamagePack = function (ped, damagePack, damage, mult) {
	return _in(0x46df9187, 0x88cb093f, ped, _ts(damagePack), _fv(damage), _fv(mult));
};

/**
 * https://github.com/femga/rdr3_discoveries/blob/master/clothes/metaped_outfits.lua
 */
global.ApplyPedMetaPedOutfit = function (requestId, ped, p2, p3) {
	return _in(0x74f512e2, 0x9cb717e2, requestId, ped, p2, p3, _r, _ri);
};
global.N_0x74f512e29cb717e2 = global.ApplyPedMetaPedOutfit;
global.ApplyPedMetapedOutfit = global.ApplyPedMetaPedOutfit;

/**
 * _APPLY_SHOP_ITEM_TO_PED
 */
global.ApplyShopItemToPed = function (ped, componentHash, immediately, isMp, p4) {
	return _in(0xd3a7b003, 0xed343fd9, ped, _ch(componentHash), immediately, isMp, p4);
};
global.N_0xd3a7b003ed343fd9 = global.ApplyShopItemToPed;

/**
 * _APPLY_TEXTURE_ON_PED
 */
global.ApplyTextureOnPed = function (ped, componentHash, textureId) {
	return _in(0x0b46e257, 0x61519058, ped, _ch(componentHash), textureId);
};
global.N_0x0b46e25761519058 = global.ApplyTextureOnPed;

/**
 * APPLY_WEATHER_CYCLES
 * @param numEntries The number of cycle entries. Must be between 1 and 256
 * @param msPerCycle The duration in milliseconds of each cycle. Must be between 1000 and 86400000 (24 hours)
 * @return Returns true if all parameters were valid, otherwise false.
 */
global.ApplyWeatherCycles = function (numEntries, msPerCycle) {
	return _in(0x00000000, 0x3422291c, numEntries, msPerCycle, _r);
};

/**
 * _ARE_ALL_AMBIENT_PED_RESERVATIONS_READY
 */
global.AreAllAmbientPedReservationsReady = function () {
	return _in(0x5e420ff2, 0x93ee5472, _r, _ri);
};
global.N_0x5e420ff293ee5472 = global.AreAllAmbientPedReservationsReady;

/**
 * Only used in rcm_homerob00 R* Script
 */
global.AreAnyLawPedsInvestigating = function () {
	return _in(0xece3c34b, 0x270428d5, _r);
};
global.N_0xece3c34b270428d5 = global.AreAnyLawPedsInvestigating;

/**
 * Returns false if every seat is occupied.
 */
global.AreAnyVehicleSeatsFree = function (vehicle) {
	return _in(0xa0a42450, 0x5a1b6429, vehicle, _r);
};

/**
 * Returns true when requested asset is loaded
 */
global.AreCompositeLootableEntityDefAssetsLoaded = function (asset) {
	return _in(0x5e5d96be, 0x25e9df68, _ch(asset), _r, _ri);
};
global.N_0x5e5d96be25e9df68 = global.AreCompositeLootableEntityDefAssetsLoaded;

/**
 * _ARE_INVESTIGATORS_ACTIVE
 */
global.AreInvestigatorsActive = function (player, areInvestigatorsActive, p2) {
	return _in(0xf0fbfb9a, 0xb15f7734, player, areInvestigatorsActive, p2, _r, _ri);
};
global.N_0xf0fbfb9ab15f7734 = global.AreInvestigatorsActive;

/**
 * Only used in trainrobbery_ambient R* Script
 */
global.AreLawPedsEnabledForTrain = function () {
	return _in(0xa22c46f1, 0x6359471c, _r, _ri);
};
global.N_0xa22c46f16359471c = global.AreLawPedsEnabledForTrain;

/**
 * _ARE_LOAD_COVER_ANIMS_LOADED
 */
global.AreLoadCoverAnimsLoaded = function (ped) {
	return _in(0x8cbe916c, 0xfc64ad5c, ped, _r, _ri);
};
global.N_0x8cbe916cfc64ad5c = global.AreLoadCoverAnimsLoaded;

/**
 * ARE_NODES_LOADED_FOR_AREA
 */
global.AreNodesLoadedForArea = function (x1, y1, x2, y2) {
	return _in(0xf7b79a50, 0xb905a30d, _fv(x1), _fv(y1), _fv(x2), _fv(y2), _r);
};
global.ArePathNodesLoadedInArea = global.AreNodesLoadedForArea;

/**
 * ARE_STRINGS_EQUAL
 */
global.AreStringsEqual = function (string1, string2) {
	return _in(0xd3852f22, 0xab713a1f, _ts(string1), _ts(string2), _r);
};

/**
 * ARE_WITNESSES_ACTIVE
 */
global.AreWitnessesActive = function (player) {
	return _in(0x69e18177, 0x2886f48b, player, _r, _ri);
};
global.N_0x69e181772886f48b = global.AreWitnessesActive;

/**
 * _ARE_WITNESSES_PENDING
 */
global.AreWitnessesPending = function (player) {
	return _in(0x0bb6de7d, 0x23c60626, player, _r, _ri);
};
global.N_0x0bb6de7d23c60626 = global.AreWitnessesPending;

/**
 * ASIN
 */
global.Asin = function (p0) {
	return _in(0x6e3c15d2, 0x96c15583, _fv(p0), _r, _rf);
};

/**
 * ASSISTED_MOVEMENT_IS_ROUTE_LOADED
 */
global.AssistedMovementIsRouteLoaded = function (route) {
	return _in(0x60f9a439, 0x3a21f741, _ts(route), _r);
};

/**
 * ASSISTED_MOVEMENT_REMOVE_ROUTE
 */
global.AssistedMovementRemoveRoute = function (route) {
	return _in(0x35485364, 0x85dd792b, _ts(route));
};

/**
 * ASSISTED_MOVEMENT_SET_ROUTE_PROPERTIES
 */
global.AssistedMovementSetRouteProperties = function (route, props) {
	return _in(0xd5002d78, 0xb7162e1b, _ts(route), props);
};

/**
 * _ASSOCIATE_PROP_WITH_SCENARIO
 */
global.AssociatePropWithScenario = function (scenario, entity, propName, p3) {
	return _in(0x8360c473, 0x80b6f351, scenario, entity, _ts(propName), p3, _r, _ri);
};
global.N_0x8360c47380b6f351 = global.AssociatePropWithScenario;

/**
 * ATAN
 */
global.Atan = function (p0) {
	return _in(0x503054de, 0xd0b78027, _fv(p0), _r, _rf);
};

/**
 * ATAN2
 */
global.Atan2 = function (p0, p1) {
	return _in(0x965b220a, 0x066e3f07, _fv(p0), _fv(p1), _r, _rf);
};

/**
 * ATTACH_ANIM_SCENE_TO_ENTITY
 */
global.AttachAnimSceneToEntity = function (animScene, entity, p2) {
	return _in(0xdc418495, 0xdba327a1, animScene, entity, p2);
};

/**
 * ATTACH_ANIM_SCENE_TO_ENTITY_PRESERVING_LOCATION
 */
global.AttachAnimSceneToEntityPreservingLocation = function (animScene, entity, p2) {
	return _in(0x1c0b105c, 0x3f30b88d, animScene, entity, p2);
};

/**
 * Last param determines if its relative to the Entity
 */
global.AttachCamToEntity = function (cam, entity, xOffset, yOffset, zOffset, isRelative) {
	return _in(0xfdc0df7f, 0x6fb0a592, cam, entity, _fv(xOffset), _fv(yOffset), _fv(zOffset), isRelative);
};

/**
 * boneIndex: https://github.com/femga/rdr3_discoveries/tree/master/boneNames
 */
global.AttachCamToPedBone = function (cam, ped, boneIndex, x, y, z, heading) {
	return _in(0xdfc1e4a4, 0x4c0324ca, cam, ped, boneIndex, _fv(x), _fv(y), _fv(z), heading);
};

/**
 * _ATTACH_DRAFT_VEHICLE_HARNESS_PED
 */
global.AttachDraftVehicleHarnessPed = function (mount, draft, harnessId) {
	return _in(0x316cdb5b, 0x6e8f4110, mount, draft, harnessId, _r, _ri);
};
global.N_0x316cdb5b6e8f4110 = global.AttachDraftVehicleHarnessPed;

/**
 * _ATTACH_ENTITES_TO_ROPE_3
 */
global.AttachEntitesToRope_3 = function (ropeId, entity1, entity2, p3, p4, p5, p6, p7, p8, p9, p10) {
	return _in(0xe9cd9a67, 0x834985a7, ropeId, entity1, entity2, _fv(p3), _fv(p4), _fv(p5), _fv(p6), _fv(p7), _fv(p8), p9, p10);
};
global.N_0xe9cd9a67834985a7 = global.AttachEntitesToRope_3;

/**
 * Attaches entity 1 to entity 2.
 * If you use a boneName (p12/p13) make sure boneId (p15/p16) is set to -1.
 */
global.AttachEntitiesToRope = function (ropeId, entity1, entity2, ent1X, ent1Y, ent1Z, ent2X, ent2Y, ent2Z, length, alwaysZero1, alwaysZero2, boneName1, boneName2, p14, boneId1, boneId2, alwaysZero3, alwaysZero4, p19, p20) {
	return _in(0x3d95ec8b, 0x6d940ac3, ropeId, entity1, entity2, _fv(ent1X), _fv(ent1Y), _fv(ent1Z), _fv(ent2X), _fv(ent2Y), _fv(ent2Z), _fv(length), alwaysZero1, alwaysZero2, _ts(boneName1), _ts(boneName2), p14, boneId1, boneId2, alwaysZero3, alwaysZero4, p19, p20);
};

/**
 * Attaches a rope to two entities: binds two bones from two entities; one entity can be an object, i.e. a suspension point, the other an NPC bone
 */
global.AttachEntitiesToRope_2 = function (ropeId, entity1, entity2, ent1X, ent1Y, ent1Z, ent2X, ent2Y, ent2Z, boneName1, boneName2) {
	return _in(0x462ff2a4, 0x32733a44, ropeId, entity1, entity2, _fv(ent1X), _fv(ent1Y), _fv(ent1Z), _fv(ent2X), _fv(ent2Y), _fv(ent2Z), _ts(boneName1), _ts(boneName2));
};
global.N_0x462ff2a432733a44 = global.AttachEntitiesToRope_2;

/**
 * Attaches entity1 to bone (boneIndex) of entity2.
 * boneIndex - this is different to boneID, use GET_PED_BONE_INDEX to get the index from the ID. use the index for attaching to specific bones. entity1 will be attached to entity2's centre if bone index given doesn't correspond to bone indexes for that entity type.
 * https://github.com/femga/rdr3_discoveries/tree/master/boneNames
 * useSoftPinning - if set to false attached entity will not detach when fixed
 * collision - controls collision between the two entities (FALSE disables collision).
 * isPed - pitch doesn't work when false and roll will only work on negative numbers (only peds)
 * vertexIndex - position of vertex
 * fixedRot - if false it ignores entity vector
 */
global.AttachEntityToEntity = function (entity1, entity2, boneIndex, xPos, yPos, zPos, xRot, yRot, zRot, p9, useSoftPinning, collision, isPed, vertexIndex, fixedRot, p15, p16) {
	return _in(0x6b9bbd38, 0xab0796df, entity1, entity2, boneIndex, _fv(xPos), _fv(yPos), _fv(zPos), _fv(xRot), _fv(yRot), _fv(zRot), p9, useSoftPinning, collision, isPed, vertexIndex, fixedRot, p15, p16);
};

/**
 * ATTACH_ENTITY_TO_ENTITY_PHYSICALLY
 */
global.AttachEntityToEntityPhysically = function (entity1, entity2, p2, boneIndex, offsetX, offsetY, offsetZ, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21) {
	return _in(0xb629a43c, 0xa1643481, entity1, entity2, p2, boneIndex, _fv(offsetX), _fv(offsetY), _fv(offsetZ), _fv(p7), _fv(p8), _fv(p9), _fv(p10), _fv(p11), _fv(p12), _fv(p13), p14, p15, p16, p17, p18, p19, _fv(p20), _fv(p21));
};

/**
 * ATTACH_PORTABLE_PICKUP_TO_PED
 */
global.AttachPortablePickupToPed = function (pickupObject, ped) {
	return _in(0x8dc39368, 0xbdd57755, pickupObject, ped);
};

/**
 * ATTACH_TV_AUDIO_TO_ENTITY
 */
global.AttachTvAudioToEntity = function (entity) {
	return _in(0x40866a41, 0x8eb8efde, entity);
};

/**
 * _ATTACH_VOLUME_TO_ENTITY
 */
global.AttachVolumeToEntity = function (volume, entity, offsetX, offsetY, offsetZ, rotX, rotY, rotZ, p8, p9) {
	return _in(0x7c00cfc4, 0x8a782dc0, volume, entity, _fv(offsetX), _fv(offsetY), _fv(offsetZ), _fv(rotX), _fv(rotY), _fv(rotZ), p8, p9);
};
global.N_0x7c00cfc48a782dc0 = global.AttachVolumeToEntity;

/**
 * AUDIO_IS_MUSIC_PLAYING
 */
global.AudioIsMusicPlaying = function () {
	return _in(0x845ffc3a, 0x4feefa3e, _r);
};
global.AudioIsScriptedMusicPlaying = global.AudioIsMusicPlaying;

/**
 * AUDIO_TRIGGER_EXPLOSION
 */
global.AudioTriggerExplosion = function (name, x, y, z) {
	return _in(0x374f0e71, 0x6bfcde82, _ts(name), _fv(x), _fv(y), _fv(z));
};
global.N_0x374f0e716bfcde82 = global.AudioTriggerExplosion;

/**
 * AWARDS_GET_RESULT_ITEM
 */
global.AwardsGetResultItem = function (awardHash, itemIndex) {
	return _in(0xac8fab22, 0xa914ae34, _i, _ch(awardHash), itemIndex, _i, _r, _ri);
};
global.N_0xac8fab22a914ae34 = global.AwardsGetResultItem;

/**
 * _AWARDS_GET_UNLOCK_CLAIM_DATA
 */
global.AwardsGetUnlockClaimData = function (awardHash, dataIndex) {
	return _in(0xb9467e41, 0xdab1cf2c, _i, _ch(awardHash), dataIndex, _i, _r, _ri);
};
global.N_0xb9467e41dab1cf2c = global.AwardsGetUnlockClaimData;

/**
 * BAIL_TO_LANDING_PAGE
 */
global.BailToLandingPage = function (bailCode) {
	return _in(0xbc2c927f, 0x5c264243, bailCode);
};
global.N_0xbc2c927f5c264243 = global.BailToLandingPage;

/**
 * BAIL_WITH_PASS_THROUGH_PARAMS
 */
global.BailWithPassThroughParams = function (params) {
	return _in(0xe98204d3, 0xc25ae14c, _ts(params));
};
global.N_0xe98204d3c25ae14c = global.BailWithPassThroughParams;

/**
 * Called together with FREE_MEMORY_FOR_LOW_QUALITY_PHOTO
 */
global.BeginCreateLowQualityCopyOfPhoto = function (p0) {
	return _in(0x494a9874, 0xf17a7d50, p0, _r);
};
global.N_0x494a9874f17a7d50 = global.BeginCreateLowQualityCopyOfPhoto;

/**
 * BEGIN_SRL
 */
global.BeginSrl = function () {
	return _in(0x03607100, 0x33be60d9);
};

/**
 * BEGIN_TAKE_HIGH_QUALITY_PHOTO
 */
global.BeginTakeHighQualityPhoto = function () {
	return _in(0xa15bffc0, 0xa01b34e1, _r, _ri);
};
global.N_0xa15bffc0a01b34e1 = global.BeginTakeHighQualityPhoto;

/**
 * Note: you must use VAR_STRING
 * ```
 * ```
 * NativeDB Introduced: v1355
 */
global.BgDisplayText = function (text, x, y) {
	return _in(0x16794e04, 0x4c9efb58, text, _fv(x), _fv(y));
};

/**
 * BG_DOES_LAUNCH_PARAM_EXIST
 */
global.BgDoesLaunchParamExist = function (scriptIndex, p1) {
	return _in(0x4ae1dff3, 0x37a86fde, scriptIndex, _ts(p1), _r);
};
global.N_0x4ae1dff337a86fde = global.BgDoesLaunchParamExist;

/**
 * Deletes the given context from the background scripts context map.
 */
global.BgEndContext = function (contextName) {
	return _in(0x3abf7ba1, 0xc3e2c8cf, _ts(contextName));
};

/**
 * Hashed version of BG_END_CONTEXT
 */
global.BgEndContextHash = function (contextHash) {
	return _in(0x6d143174, 0x4182cde8, _ch(contextHash));
};

/**
 * BG_GET_LAUNCH_PARAM_VALUE
 */
global.BgGetLaunchParamValue = function (scriptIndex, p1) {
	return _in(0x55c40b75, 0x92bad213, scriptIndex, _ts(p1), _r, _ri);
};
global.N_0x55c40b7592bad213 = global.BgGetLaunchParamValue;

/**
 * BG_GET_SCRIPT_ID_FROM_NAME_HASH
 */
global.BgGetScriptIdFromNameHash = function (p0) {
	return _in(0x829cd22e, 0x043a2577, _ch(p0), _r, _ri);
};
global.N_0x829cd22e043a2577 = global.BgGetScriptIdFromNameHash;

/**
 * Returns true if GtaThread+0x77C is equal to 1.
 */
global.BgIsExitflagSet = function () {
	return _in(0x2238ec3e, 0xc631ab1f, _r);
};
global.N_0x2238ec3ec631ab1f = global.BgIsExitflagSet;

/**
 * _BG_RELOAD_ALL_BACKGROUND_SCRIPTS
 */
global.BgReloadAllBackgroundScripts = function () {
	return _in(0xbe7d814c, 0xfa181b56);
};
global.N_0xbe7d814cfa181b56 = global.BgReloadAllBackgroundScripts;

/**
 * Sets bit 0 in GtaThread+0x784
 */
global.BgSetExitflagResponse = function () {
	return _in(0x4858148e, 0x3b8a75d0);
};
global.N_0x4858148e3b8a75d0 = global.BgSetExitflagResponse;

/**
 * https://github.com/femga/rdr3_discoveries/tree/master/useful_info_from_rpfs/colours
 * ```
 * ```
 * NativeDB Introduced: v1355
 */
global.BgSetTextColor = function (red, green, blue, alpha) {
	return _in(0x16fa5ce4, 0x7f184f1e, red, green, blue, alpha);
};

/**
 * NativeDB Introduced: v1355
 */
global.BgSetTextScale = function (scaleX, scaleY) {
	return _in(0xa1253a3c, 0x870b6843, _fv(scaleX), _fv(scaleY));
};

/**
 * Inserts the given context into the background scripts context map.
 */
global.BgStartContext = function (contextName) {
	return _in(0x49ba5678, 0xba040ca7, _ts(contextName));
};

/**
 * Hashed version of BG_START_CONTEXT
 */
global.BgStartContextHash = function (contextHash) {
	return _in(0x2eb67d56, 0x4dcc09d5, _ch(contextHash));
};

/**
 * _BLIP_ADD_FOR_AREA
 */
global.BlipAddForArea = function (blipHash, x, y, z, scaleX, scaleY, scaleZ, p7) {
	return _in(0xec174adb, 0xcb611ecc, _ch(blipHash), _fv(x), _fv(y), _fv(z), _fv(scaleX), _fv(scaleY), _fv(scaleZ), p7, _r, _ri);
};
global.N_0xec174adbcb611ecc = global.BlipAddForArea;

/**
 * https://github.com/femga/rdr3_discoveries/tree/master/useful_info_from_rpfs/textures/blips
 * https://github.com/femga/rdr3_discoveries/tree/master/useful_info_from_rpfs/textures/blips_mp
 */
global.BlipAddForCoords = function (blipHash, x, y, z) {
	return _in(0x554d9d53, 0xf696d002, _ch(blipHash), _fv(x), _fv(y), _fv(z), _r, _ri);
};
global.N_0x554d9d53f696d002 = global.BlipAddForCoords;

/**
 * BLIP_ADD_FOR_ENTITY
 */
global.BlipAddForEntity = function (blipHash, entity) {
	return _in(0x23f74c2f, 0xda6e7c61, _ch(blipHash), entity, _r, _ri);
};
global.N_0x23f74c2fda6e7c61 = global.BlipAddForEntity;

/**
 * BLIP_ADD_FOR_PICKUP_PLACEMENT
 */
global.BlipAddForPickupPlacement = function (blipHash, pickup) {
	return _in(0xa4860088, 0x92065fb9, _ch(blipHash), pickup, _r, _ri);
};
global.N_0xa486008892065fb9 = global.BlipAddForPickupPlacement;

/**
 * BLIP_ADD_FOR_RADIUS
 */
global.BlipAddForRadius = function (blipHash, x, y, z, radius) {
	return _in(0x45f13b7e, 0x0a15c880, _ch(blipHash), _fv(x), _fv(y), _fv(z), _fv(radius), _r, _ri);
};
global.N_0x45f13b7e0a15c880 = global.BlipAddForRadius;

/**
 * _BLIP_ADD_FOR_STYLE
 */
global.BlipAddForStyle = function (styleHash) {
	return _in(0x3e593df9, 0xc2962ec6, _ch(styleHash), _r, _ri);
};
global.N_0x3e593df9c2962ec6 = global.BlipAddForStyle;

/**
 * _BLIP_ADD_FOR_VOLUME
 */
global.BlipAddForVolume = function (blipHash, volume) {
	return _in(0xa6ef0c54, 0xa3443e70, _ch(blipHash), volume, _r, _ri);
};
global.N_0xa6ef0c54a3443e70 = global.BlipAddForVolume;

/**
 * https://alloc8or.re/rdr3/doc/enums/eBlipModifier.txt
 * https://github.com/femga/rdr3_discoveries/tree/master/useful_info_from_rpfs/blip_modifiers
 */
global.BlipAddModifier = function (blip, modifierHash) {
	return _in(0x662d364a, 0xbf16de2f, blip, _ch(modifierHash), _r, _ri);
};
global.N_0x662d364abf16de2f = global.BlipAddModifier;

/**
 * _BLIP_ADD_STYLE
 */
global.BlipAddStyle = function (blip, styleHash) {
	return _in(0xbd62d987, 0x99a3daf0, blip, _ch(styleHash), _r, _ri);
};
global.N_0xbd62d98799a3daf0 = global.BlipAddStyle;

/**
 * If modifierHash is 0, ALL modifiers will be removed.
 */
global.BlipRemoveModifier = function (blip, modifierHash) {
	return _in(0xb059d7bd, 0x3d78c16f, blip, _ch(modifierHash), _r, _ri);
};
global.N_0xb059d7bd3d78c16f = global.BlipRemoveModifier;

/**
 * https://github.com/femga/rdr3_discoveries/tree/master/useful_info_from_rpfs/blip_styles
 * Removes any existing modifiers and sets the style.
 */
global.BlipSetStyle = function (blip, styleHash) {
	return _in(0xedd964b7, 0x984ac291, blip, _ch(styleHash), _r, _ri);
};
global.N_0xedd964b7984ac291 = global.BlipSetStyle;

/**
 * BLOCK_ANIM_SCENE_FADING_NEXT_FRAME
 */
global.BlockAnimSceneFadingNextFrame = function (p0, p1) {
	return _in(0x1b70811d, 0x3bf75db9, p0, p1);
};
global.N_0x1b70811d3bf75db9 = global.BlockAnimSceneFadingNextFrame;

/**
 * dispatchService: see ENABLE_DISPATCH_SERVICE
 */
global.BlockDispatchServiceResourceCreation = function (dispatchService, toggle) {
	return _in(0x66947e61, 0xa44de2c6, dispatchService, toggle);
};

/**
 * BLOCK_PICKUP_FROM_PLAYER_COLLECTION
 */
global.BlockPickupFromPlayerCollection = function (p0, p1) {
	return _in(0xb8f50620, 0x70bb6dbd, p0, p1);
};

/**
 * _BLOCK_PICKUP_OBJECT_LIGHT
 */
global.BlockPickupObjectLight = function (pickupObject, toggle) {
	return _in(0x50c14328, 0x119e1dd1, pickupObject, toggle);
};
global.N_0x50c14328119e1dd1 = global.BlockPickupObjectLight;

/**
 * BLOCK_PICKUP_PLACEMENT_LIGHT
 */
global.BlockPickupPlacementLight = function (pickup, toggle) {
	return _in(0x0552aa3f, 0xfc5b87aa, pickup, toggle);
};
global.N_0x0552aa3ffc5b87aa = global.BlockPickupPlacementLight;

/**
 * _BLOCK_SPEECH_CONTEXT
 */
global.BlockSpeechContext = function (context, block) {
	return _in(0x6378a235, 0x374b852f, _ts(context), block);
};
global.N_0x6378a235374b852f = global.BlockSpeechContext;

/**
 * p1: 0.3f in R* Scripts
 */
global.BloodTrailForWaypoint = function (waypointRecording, p1) {
	return _in(0xb9c92616, 0x929cc25d, _ts(waypointRecording), _fv(p1));
};
global.N_0xb9c92616929cc25d = global.BloodTrailForWaypoint;

/**
 * BOOST_PLAYER_HORSE_SPEED_FOR_TIME
 */
global.BoostPlayerHorseSpeedForTime = function (player, speedBoost, duration) {
	return _in(0x09c28f82, 0x8ee674fa, player, _fv(speedBoost), duration);
};
global.N_0x09c28f828ee674fa = global.BoostPlayerHorseSpeedForTime;

/**
 * _BOUNTY_CANCEL_LEGENDARY_MISSION
 */
global.BountyCancelLegendaryMission = function () {
	return _in(0x2ba1bcc9, 0x9826cda2);
};
global.N_0x2ba1bcc99826cda2 = global.BountyCancelLegendaryMission;

/**
 * _BOUNTY_CANCEL_WANTED_POSTER
 */
global.BountyCancelWantedPoster = function () {
	return _in(0x6a9df0fc, 0xd0c87ff9);
};
global.N_0x6a9df0fcd0c87ff9 = global.BountyCancelWantedPoster;

/**
 * _BOUNTY_CLEAR_BEING_BOUNTY_HUNTER
 */
global.BountyClearBeingBountyHunter = function () {
	return _in(0xa59d1997, 0xecd99f0a);
};
global.N_0xa59d1997ecd99f0a = global.BountyClearBeingBountyHunter;

/**
 * _BOUNTY_CLEAR_BEING_TARGET
 */
global.BountyClearBeingTarget = function () {
	return _in(0x932db3c0, 0x5a7465d1);
};
global.N_0x932db3c05a7465d1 = global.BountyClearBeingTarget;

/**
 * BOUNTY_GET_BOUNTY_ON_PLAYER
 */
global.BountyGetBountyOnPlayer = function () {
	return _in(0x4ef23e04, 0xa0c8ff51, _i, _i, _r, _ri);
};
global.N_0x4ef23e04a0c8ff51 = global.BountyGetBountyOnPlayer;

/**
 * BOUNTY_GET_COOLDOWN_COLLECTION
 */
global.BountyGetCooldownCollection = function (p0) {
	return _in(0x8faf4d26, 0x2faba99c, _ii(p0) /* may be optional */, _r, _ri);
};
global.N_0x8faf4d262faba99c = global.BountyGetCooldownCollection;

/**
 * BOUNTY_GET_LEGENDARY_TARGET
 */
global.BountyGetLegendaryTarget = function (p0, p1) {
	return _in(0x85e4d7b2, 0x25a30ed1, p0, _ii(p1) /* may be optional */, _r, _ri);
};
global.N_0x85e4d7b225a30ed1 = global.BountyGetLegendaryTarget;

/**
 * BOUNTY_GET_WANTED_POSTER_SLOT
 */
global.BountyGetWantedPosterSlot = function (p0, p1, p2) {
	return _in(0xb395a44a, 0x0c7ca615, _ch(p0), _ch(p1), _ii(p2) /* may be optional */, _r, _ri);
};
global.N_0xb395a44a0c7ca615 = global.BountyGetWantedPosterSlot;

/**
 * _BOUNTY_IS_REQUEST_PENDING
 */
global.BountyIsRequestPending = function (rpcGuid) {
	return _in(0x03b61cd5, 0x1097de60, _ii(rpcGuid) /* may be optional */, _r, _ri);
};
global.N_0x03b61cd51097de60 = global.BountyIsRequestPending;

/**
 * _BOUNTY_REQUEST_BECOME_TARGET_OF_CHARACTER_BOUNTY_HUNT
 */
global.BountyRequestBecomeTargetOfCharacterBountyHunt = function (outRpcGuid) {
	return _in(0xb096547d, 0x61868254, _ii(outRpcGuid) /* may be optional */, _r, _ri);
};
global.N_0xb096547d61868254 = global.BountyRequestBecomeTargetOfCharacterBountyHunt;

/**
 * BOUNTY_REQUEST_BEGIN_LEGENDARY_MISSION
 */
global.BountyRequestBeginLegendaryMission = function (p1, p2) {
	return _in(0xfc81d7c7, 0xa151cfaa, _i, p1, p2, _r, _ri);
};
global.N_0xfc81d7c7a151cfaa = global.BountyRequestBeginLegendaryMission;

/**
 * NativeDB Introduced: v1311
 */
global.BountyRequestBeginLegendaryMissionForPosse = function (p1, p2) {
	return _in(0x48e4e23f, 0x1739e197, _i, p1, p2, _r);
};

/**
 * _BOUNTY_REQUEST_BEGIN_WANTED_POSTER
 */
global.BountyRequestBeginWantedPoster = function (p1) {
	return _in(0xffa13742, 0xe43507e3, _i, p1, _r, _ri);
};
global.N_0xffa13742e43507e3 = global.BountyRequestBeginWantedPoster;

/**
 * _BOUNTY_REQUEST_BRIBE_JAIL_GUARD
 */
global.BountyRequestBribeJailGuard = function (p1) {
	return _in(0x28717806, 0xd3bdd0d0, _i, p1, _r, _ri);
};
global.N_0x28717806d3bdd0d0 = global.BountyRequestBribeJailGuard;

/**
 * _BOUNTY_REQUEST_CLAIM_CHARACTER_BOUNTY
 */
global.BountyRequestClaimCharacterBounty = function (p1) {
	return _in(0xa9c3b0f7, 0x46375162, _i, p1, _i, _r, _ri);
};
global.N_0xa9c3b0f746375162 = global.BountyRequestClaimCharacterBounty;

/**
 * _BOUNTY_REQUEST_COMPLETE_LEGENDARY_MISSION
 */
global.BountyRequestCompleteLegendaryMission = function () {
	return _in(0xa7309ac0, 0xdcf6d950, _i, _i, _r, _ri);
};
global.N_0xa7309ac0dcf6d950 = global.BountyRequestCompleteLegendaryMission;

/**
 * _BOUNTY_REQUEST_COMPLETE_SPLIT_WANTED_POSTER
 */
global.BountyRequestCompleteSplitWantedPoster = function () {
	return _in(0xfbd137bf, 0x0ec50fc9, _i, _i, _r, _ri);
};
global.N_0xfbd137bf0ec50fc9 = global.BountyRequestCompleteSplitWantedPoster;

/**
 * _BOUNTY_REQUEST_COMPLETE_WANTED_POSTER
 */
global.BountyRequestCompleteWantedPoster = function () {
	return _in(0x727ab6f0, 0x08bb9f29, _i, _i, _r, _ri);
};
global.N_0x727ab6f008bb9f29 = global.BountyRequestCompleteWantedPoster;

/**
 * _BOUNTY_REQUEST_ESCAPED_CHARACTER_BOUNTY_HUNT
 */
global.BountyRequestEscapedCharacterBountyHunt = function (outRpcGuid) {
	return _in(0x12e981d5, 0x3b07bf48, _ii(outRpcGuid) /* may be optional */, _r, _ri);
};
global.N_0x12e981d53b07bf48 = global.BountyRequestEscapedCharacterBountyHunt;

/**
 * _BOUNTY_REQUEST_PAY_OFF_BOUNTY
 */
global.BountyRequestPayOffBounty = function (outRpcGuid) {
	return _in(0x537ce992, 0xbd2d7bcb, _ii(outRpcGuid) /* may be optional */, _r, _ri);
};
global.N_0x537ce992bd2d7bcb = global.BountyRequestPayOffBounty;

/**
 * NativeDB Introduced: v1232
 */
global.BountyRequestPayOffBountyEx = function (p1, costType) {
	return _in(0x587bcec3, 0x1d64f382, _i, _ch(p1), _ch(costType), _r);
};

/**
 * _BOUNTY_REQUEST_POSSE_LEADER_CLAIM_CHARACTER_BOUNTY
 */
global.BountyRequestPosseLeaderClaimCharacterBounty = function (p1) {
	return _in(0x5b53ca0e, 0x2ac3ff45, _i, p1, _i, _r, _ri);
};
global.N_0x5b53ca0e2ac3ff45 = global.BountyRequestPosseLeaderClaimCharacterBounty;

/**
 * _BOUNTY_REQUEST_POSSE_LEADER_ESCAPED_CHARACTER_BOUNTY_HUNT
 */
global.BountyRequestPosseLeaderEscapedCharacterBountyHunt = function (outRpcGuid) {
	return _in(0x2d874ba2, 0x0e8e1f20, _ii(outRpcGuid) /* may be optional */, _r, _ri);
};
global.N_0x2d874ba20e8e1f20 = global.BountyRequestPosseLeaderEscapedCharacterBountyHunt;

/**
 * _BOUNTY_REQUEST_POSSE_MEMBER_CLAIM_CHARACTER_BOUNTY_SHARE
 */
global.BountyRequestPosseMemberClaimCharacterBountyShare = function () {
	return _in(0x22d3a61c, 0xe053270c, _i, _i, _r, _ri);
};
global.N_0x22d3a61ce053270c = global.BountyRequestPosseMemberClaimCharacterBountyShare;

/**
 * _BOUNTY_REQUEST_POSSE_MEMBER_ESCAPED_CHARACTER_BOUNTY_HUNT
 */
global.BountyRequestPosseMemberEscapedCharacterBountyHunt = function (outRpcGuid) {
	return _in(0x8521c2e2, 0x35558278, _ii(outRpcGuid) /* may be optional */, _r, _ri);
};
global.N_0x8521c2e235558278 = global.BountyRequestPosseMemberEscapedCharacterBountyHunt;

/**
 * crimeType: see _REPORT_CRIME
 */
global.BountyRequestSelfReportCrime = function (crimeType, p2) {
	return _in(0x188b7488, 0x61b5ba17, _i, _ch(crimeType), p2, _r, _ri);
};
global.N_0x188b748861b5ba17 = global.BountyRequestSelfReportCrime;

/**
 * _BOUNTY_REQUEST_SELF_REPORT_KILLED_BY_BOUNTY_HUNTER
 */
global.BountyRequestSelfReportKilledByBountyHunter = function (outRpcGuid) {
	return _in(0xb462d69d, 0x406a2602, _ii(outRpcGuid) /* may be optional */, _r, _ri);
};
global.N_0xb462d69d406a2602 = global.BountyRequestSelfReportKilledByBountyHunter;

/**
 * _BOUNTY_REQUEST_SERVED_FULL_JAIL_SENTENCE
 */
global.BountyRequestServedFullJailSentence = function (outRpcGuid) {
	return _in(0x3f73aed1, 0x2a5ef0ff, _ii(outRpcGuid) /* may be optional */, _r, _ri);
};
global.N_0x3f73aed12a5ef0ff = global.BountyRequestServedFullJailSentence;

/**
 * BREAK_ALL_OBJECT_FRAGMENT_BONES
 */
global.BreakAllObjectFragmentBones = function (object) {
	return _in(0x8462be23, 0x41a55b6f, object);
};
global.N_0x8462be2341a55b6f = global.BreakAllObjectFragmentBones;

/**
 * BREAK_ENTITY_GLASS
 */
global.BreakEntityGlass = function (entity, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10) {
	return _in(0x2e648d16, 0xf6e308f3, entity, _fv(p1), _fv(p2), _fv(p3), _fv(p4), _fv(p5), _fv(p6), _fv(p7), _fv(p8), p9, p10);
};

/**
 * BREAK_OBJECT_FRAGMENT_CHILD
 */
global.BreakObjectFragmentChild = function (object, p1, p2) {
	return _in(0xe7e4c198, 0xb0185900, object, p1, p2);
};
global.N_0xe7e4c198b0185900 = global.BreakObjectFragmentChild;

/**
 * Params: destroyingForce is usually 100f in R* Scripts
 * Similar to 0xD4F5EFB55769D272, _A*
 */
global.BreakOffDraftWheel = function (vehicle, wheelIndex, destroyingForce) {
	return _in(0xc372b6a8, 0x8f6e4ad8, vehicle, wheelIndex, _fv(destroyingForce));
};
global.N_0xc372b6a88f6e4ad8 = global.BreakOffDraftWheel;

/**
 * wheelIndex 0: left, wheelIndex 1: right, 4 & 5: unknown
 */
global.BreakOffVehicleWheel = function (vehicle, wheelIndex) {
	return _in(0xd4f5efb5, 0x5769d272, vehicle, wheelIndex, _r, _ri);
};
global.N_0xd4f5efb55769d272 = global.BreakOffVehicleWheel;

/**
 * ropeTop returns top half of rope, ropeBottom returns bottom half of rope
 */
global.BreakRope = function (offsetX, offsetY, offsetZ, p6) {
	return _in(0x4cfa2b7f, 0xae115ecb, _i, _i, _i, _fv(offsetX), _fv(offsetY), _fv(offsetZ), p6);
};
global.N_0x4cfa2b7fae115ecb = global.BreakRope;

/**
 * This native makes the vehicle stop immediately
 * distance defines how far it will travel until stopping.
 */
global.BringVehicleToHalt = function (vehicle, distance, duration, unknown) {
	return _in(0x260be8f0, 0x9e326a20, vehicle, _fv(distance), duration, unknown);
};

/**
 * BUSYSPINNER_IS_ON
 */
global.BusyspinnerIsOn = function () {
	return _in(0x823bf7b1, 0xdf613a21, _r);
};

/**
 * Removes the loading prompt at the bottom right of the screen.
 */
global.BusyspinnerOff = function () {
	return _in(0x58f441b9, 0x0ea84d06);
};

/**
 * _BUSYSPINNER_SET_TEXT
 */
global.BusyspinnerSetText = function (text) {
	return _in(0x7f78cd75, 0xcc4539e4, text);
};
global.N_0x7f78cd75cc4539e4 = global.BusyspinnerSetText;

/**
 * _CAM_CREATE
 */
global.CamCreate = function (cameraDictionary) {
	return _in(0xb8b207c3, 0x4285e978, _ts(cameraDictionary));
};
global.N_0xb8b207c34285e978 = global.CamCreate;

/**
 * _CAM_CREATE_2
 */
global.CamCreate_2 = function (cameraDictionary) {
	return _in(0x7b027917, 0x0961a73f, _ts(cameraDictionary));
};
global.N_0x7b0279170961a73f = global.CamCreate_2;

/**
 * _CAM_DESTROY
 */
global.CamDestroy = function (cameraDictionary) {
	return _in(0x0a5a4f19, 0x79abb40e, _ts(cameraDictionary));
};
global.N_0x0a5a4f1979abb40e = global.CamDestroy;

/**
 * CAN_ANCHOR_BOAT_HERE
 */
global.CanAnchorBoatHere = function (vehicle) {
	return _in(0xc075176c, 0xfb8b4128, vehicle, _r);
};

/**
 * CAN_KNOCK_PED_OFF_VEHICLE
 */
global.CanKnockPedOffVehicle = function (ped) {
	return _in(0x51ac07a4, 0x4d4f5b8a, ped, _r);
};

/**
 * CAN_LAUNCH_UIAPP_BY_HASH
 */
global.CanLaunchUiappByHash = function (appNameHash) {
	return _in(0xe555ec27, 0xd65ede80, _ch(appNameHash), _r, _ri);
};
global.CanLaunchAppByHash = global.CanLaunchUiappByHash;

/**
 * CAN_LAUNCH_UIAPP_BY_HASH_WITH_ENTRY
 */
global.CanLaunchUiappByHashWithEntry = function (appNameHash, entryHash) {
	return _in(0x16f47d43, 0x4b6086bf, _ch(appNameHash), _ch(entryHash), _r, _ri);
};
global.N_0x16f47d434b6086bf = global.CanLaunchUiappByHashWithEntry;

/**
 * CAN_PED_BE_MOUNTED
 */
global.CanPedBeMounted = function (ped) {
	return _in(0x2d64376c, 0xf437363e, ped, _r, _ri);
};
global.N_0x2d64376cf437363e = global.CanPedBeMounted;

/**
 * CAN_PED_IN_COMBAT_SEE_TARGET
 */
global.CanPedInCombatSeeTarget = function (ped, target) {
	return _in(0xead42de3, 0x610d0721, ped, target, _r);
};

/**
 * CAN_PED_RAGDOLL
 */
global.CanPedRagdoll = function (ped) {
	return _in(0x128f79ed, 0xcece4fd5, ped, _r);
};

/**
 * Returns:
 * 0 - CTR_CANNOT_TARGET
 * 1 - CTR_CAN_TARGET
 * 2 - CTR_NOT_SURE_YET
 */
global.CanPedSeeEntity = function (ped, targetEntity, p2, p3) {
	return _in(0x7f9b9791, 0xd4cb71f6, ped, targetEntity, p2, p3, _r, _ri);
};
global.N_0x7f9b9791d4cb71f6 = global.CanPedSeeEntity;

/**
 * CAN_PED_SEE_PED_CACHED
 */
global.CanPedSeePedCached = function (ped, targetPed, p2) {
	return _in(0x9d9473cb, 0x82d83a30, ped, targetPed, p2, _r, _ri);
};
global.N_0x9d9473cb82d83a30 = global.CanPedSeePedCached;

/**
 * p2 is always 0, p3 is always 0, p4 is always 1
 */
global.CanPedUseScenarioPoint = function (ped, scenario, p2, p3, p4) {
	return _in(0xab643407, 0xd0b26f07, ped, scenario, p2, p3, p4, _r, _ri);
};
global.N_0xab643407d0b26f07 = global.CanPedUseScenarioPoint;

/**
 * CAN_PLAYER_START_MISSION
 */
global.CanPlayerStartMission = function (player) {
	return _in(0x2df170b1, 0x185af777, player, _r);
};

/**
 * CAN_REGISTER_MISSION_ENTITIES
 */
global.CanRegisterMissionEntities = function (ped_amt, vehicle_amt, object_amt, pickup_amt) {
	return _in(0x69778e75, 0x64bade6d, ped_amt, vehicle_amt, object_amt, pickup_amt, _r);
};

/**
 * CAN_REGISTER_MISSION_OBJECTS
 */
global.CanRegisterMissionObjects = function (amount) {
	return _in(0x800dd472, 0x1a8b008b, amount, _r);
};

/**
 * CAN_REGISTER_MISSION_PEDS
 */
global.CanRegisterMissionPeds = function (amount) {
	return _in(0xbcbf4fef, 0x9fa5d781, amount, _r);
};

/**
 * CAN_REGISTER_MISSION_PICKUPS
 */
global.CanRegisterMissionPickups = function (amount) {
	return _in(0xf0460c7b, 0xf80011ea, amount, _r, _ri);
};
global.N_0xf0460c7bf80011ea = global.CanRegisterMissionPickups;

/**
 * CAN_REGISTER_MISSION_VEHICLES
 */
global.CanRegisterMissionVehicles = function (amount) {
	return _in(0x7277f1f2, 0xe085ee74, amount, _r);
};

/**
 * seatIndex: see CREATE_PED_INSIDE_VEHICLE
 */
global.CanShuffleSeat = function (vehicle, seatIndex) {
	return _in(0xf8b2d32a, 0x2231fd24, vehicle, seatIndex, _r);
};

/**
 * CAN_START_ITEM_INTERACTION
 */
global.CanStartItemInteraction = function (ped, itemHash, interactionAnimHash, p3) {
	return _in(0x2d19bc4d, 0xf626cbe7, ped, _ch(itemHash), _ch(interactionAnimHash), p3, _r, _ri);
};
global.N_0x2d19bc4df626cbe7 = global.CanStartItemInteraction;

/**
 * Cancels the currently executing event.
 */
global.CancelEvent = function () {
	return _in(0x00000000, 0xfa29d35d);
};

/**
 * CANCEL_MUSIC_EVENT
 */
global.CancelMusicEvent = function (eventName) {
	return _in(0x5b17a902, 0x91133da5, _ts(eventName), _r);
};

/**
 * CANCEL_ONSCREEN_KEYBOARD
 */
global.CancelOnscreenKeyboard = function () {
	return _in(0x58a39be5, 0x97ce99cd);
};
global.CancelOnscreenKeyboard = global.CancelOnscreenKeyboard;

/**
 * CASCADE_SHADOWS_CLEAR_SHADOW_SAMPLE_TYPE
 */
global.CascadeShadowsClearShadowSampleType = function () {
	return _in(0xf7c29d7c, 0x12c36f03);
};
global.CascadeshadowsResetType = global.CascadeShadowsClearShadowSampleType;

/**
 * When this is set to ON, shadows only draw as you get nearer.
 * When OFF, they draw from a further distance.
 */
global.CascadeShadowsEnableEntityTracker = function (toggle) {
	return _in(0x8fbfd2ae, 0xb196b369, toggle);
};
global.SetFarShadowsSuppressed = global.CascadeShadowsEnableEntityTracker;

/**
 * CASCADE_SHADOWS_SET_CASCADE_BOUNDS
 */
global.CascadeShadowsSetCascadeBounds = function (p0, p1, p2, p3, p4, p5, p6, p7) {
	return _in(0xd9edb2e4, 0x512d563e, p0, p1, _fv(p2), _fv(p3), _fv(p4), _fv(p5), p6, _fv(p7));
};
global.N_0xd9edb2e4512d563e = global.CascadeShadowsSetCascadeBounds;

/**
 * Possible values:
 * "CSM_ST_POINT"
 * "CSM_ST_LINEAR"
 * "CSM_ST_BOX3x3"
 * "CSM_ST_BOX4x4"
 * "CSM_ST_DITHER2_LINEAR"
 * "CSM_ST_CUBIC"
 * "CSM_ST_POISSON16"
 * "CSM_ST_SOFT8"
 * "CSM_ST_SOFT16"
 * "CSM_ST_SOFT32"
 * "CSM_ST_DITHER16_RPDB"
 * "CSM_ST_POISSON16_RPDB_GNORM"
 * "CSM_ST_HIGHRES_BOX4x4"
 * "CSM_ST_ESM"
 */
global.CascadeShadowsSetShadowSampleType = function (type) {
	return _in(0xce4774e0, 0xf9ad48d1, _ts(type));
};
global.CascadeshadowsSetType = global.CascadeShadowsSetShadowSampleType;

/**
 * _CASHINVENTORY_INIT_SESSION_IS_FAULTED
 */
global.CashinventoryInitSessionIsFaulted = function () {
	return _in(0xd1ce92d1, 0xd9be170a, _r);
};

/**
 * CASHINVENTORY_INIT_SESSION_STATUS
 */
global.CashinventoryInitSessionStatus = function () {
	return _in(0xc019112f, 0x8995dc1c, _i, _i, _r);
};
global.CashinventoryInitSessionStatus = global.CashinventoryInitSessionStatus;

/**
 * CASHINVENTORY_IS_CONNECTION_FAULTED
 */
global.CashinventoryIsConnectionFaulted = function () {
	return _in(0x6ce9fb63, 0x32b5e46e, _r);
};
global.CashinventoryIsConnectionFaulted = global.CashinventoryIsConnectionFaulted;

/**
 * _CASHINVENTORY_IS_SESSION_READY
 */
global.CashinventoryIsSessionReady = function () {
	return _in(0xfcc24220, 0xfddac929, _r);
};

/**
 * _CASHINVENTORY_TRANSACTION_ADD_AWARD
 */
global.CashinventoryTransactionAddAward = function (id, hash) {
	return _in(0x52bde32f, 0x21ba3b6d, id, _ch(hash), _i, _i, _r, _ri);
};
global.N_0x52bde32f21ba3b6d = global.CashinventoryTransactionAddAward;

/**
 * _CASHINVENTORY_TRANSACTION_ADD_ITEM
 */
global.CashinventoryTransactionAddItem = function (id, item, p2) {
	return _in(0x3745c002, 0xf5a21c45, id, item, p2, _r);
};

/**
 * _CASHINVENTORY_TRANSACTION_ADD_ITEM_WITH_INGREDIENTS
 */
global.CashinventoryTransactionAddItemWithIngredients = function (id, item, p2, p3, p4) {
	return _in(0xf65d2d35, 0x037bf5ec, id, item, p2, p3, p4, _r);
};

/**
 * _CASHINVENTORY_TRANSACTION_CHECKOUT
 */
global.CashinventoryTransactionCheckout = function (id) {
	return _in(0x592bc00b, 0xf6629be7, id, _r);
};

/**
 * _CASHINVENTORY_TRANSACTION_CHECKOUT_STATUS
 */
global.CashinventoryTransactionCheckoutStatus = function (id, status) {
	return _in(0x26c00879, 0x1d066f37, id, _ii(status) /* may be optional */, _r);
};

/**
 * _CASHINVENTORY_TRANSACTION_DELETE
 */
global.CashinventoryTransactionDelete = function (id) {
	return _in(0x59ef5d51, 0x6e2d96b9, id, _r);
};

/**
 * _CASHINVENTORY_TRANSACTION_FIRE_AND_FORGET_ITEM
 */
global.CashinventoryTransactionFireAndForgetItem = function (actionHash, p3) {
	return _in(0xffea09cc, 0xec4af32f, _ch(actionHash), _i, _i, p3, _r);
};

/**
 * _CASHINVENTORY_TRANSACTION_GET_ACTION
 */
global.CashinventoryTransactionGetAction = function (id) {
	return _in(0xbd2d520c, 0x51ccff52, id, _r, _ri);
};

/**
 * _CASHINVENTORY_TRANSACTION_GET_BASKET_IS_VALID
 */
global.CashinventoryTransactionGetBasketIsValid = function (id) {
	return _in(0x52a226ad, 0xf4a270d2, id, _r);
};

/**
 * _CASHINVENTORY_TRANSACTION_GET_ITEM_INFO
 */
global.CashinventoryTransactionGetItemInfo = function (id, index, itemInfo) {
	return _in(0x7616b5f0, 0x895c2d99, id, index, _ii(itemInfo) /* may be optional */, _r);
};

/**
 * _CASHINVENTORY_TRANSACTION_GET_NUM_OF_ITEMS
 */
global.CashinventoryTransactionGetNumOfItems = function (id) {
	return _in(0xcf2d04d0, 0x76847478, id, _r, _ri);
};

/**
 * _CASHINVENTORY_TRANSACTION_RESPONSE_GET_ITEM_INFO
 */
global.CashinventoryTransactionResponseGetItemInfo = function (id, index, itemInfo) {
	return _in(0x98412398, 0xbbe73f61, id, index, _ii(itemInfo) /* may be optional */, _r);
};

/**
 * _CASHINVENTORY_TRANSACTION_START
 */
global.CashinventoryTransactionStart = function (type, actionHash) {
	return _in(0xf039ec27, 0xf4490e96, _i, _ch(type), _ch(actionHash), _r);
};

/**
 * _CASHINVENTORY_TRANSACTION_VALIDATE_ITEM
 */
global.CashinventoryTransactionValidateItem = function (p0, p1) {
	return _in(0x6c9f1270, 0x0bce69f4, _ch(p0), _ii(p1) /* may be optional */, _r, _ri);
};
global.N_0x6c9f12700bce69f4 = global.CashinventoryTransactionValidateItem;

/**
 * Rounds a float value up to the next whole number
 */
global.Ceil = function (value) {
	return _in(0x11e019c8, 0xf43acc8a, _fv(value), _r, _ri);
};

/**
 * NativeDB Introduced: v1232
 */
global.ChalAchievementGetProgressInt = function (p0, p1) {
	return _in(0x808712e4, 0x28f697b8, _ch(p0), _ch(p1), _r, _ri);
};

/**
 * NativeDB Introduced: v1232
 */
global.ChalAchievementIsComplete = function (p0, p1) {
	return _in(0x77b97a82, 0x7739d434, _ch(p0), _ch(p1), _r);
};

/**
 * CHAL_ADD_GOAL_PROGRESS_FLOAT
 */
global.ChalAddGoalProgressFloat = function (chalHash, goalHash, value) {
	return _in(0x86922d8c, 0x02fb7703, _ch(chalHash), _ch(goalHash), _fv(value));
};

/**
 * NativeDB Introduced: v1232
 */
global.ChalAddGoalProgressFloatByScoreId = function (p0, value) {
	return _in(0x86922d8c, 0x02fb7705, _ch(p0), _fv(value));
};

/**
 * CHAL_ADD_GOAL_PROGRESS_INT
 */
global.ChalAddGoalProgressInt = function (chalHash, goalHash, value) {
	return _in(0xddbd5607, 0x45b1ee9a, _ch(chalHash), _ch(goalHash), value);
};

/**
 * CHAL_ADD_GOAL_PROGRESS_INT_BY_SCORE_ID
 */
global.ChalAddGoalProgressIntByScoreId = function (p0, value) {
	return _in(0xddbd5607, 0x45b1ee9c, _ch(p0), value);
};

/**
 * CHAL_GET_MAX_RANKS
 */
global.ChalGetMaxRanks = function (chalHash) {
	return _in(0x58cb53db, 0x63f84dea, _ch(chalHash), _r, _ri);
};

/**
 * CHAL_GET_NUM_RANKS_COMPLETED
 */
global.ChalGetNumRanksCompleted = function (chalHash) {
	return _in(0x58cb53db, 0x63f84de9, _ch(chalHash), _r, _ri);
};

/**
 * https://github.com/femga/rdr3_discoveries/blob/master/AI/EVENTS/challenge_goals.lua
 */
global.ChalIsGoalActive = function (chalHash, goalHash) {
	return _in(0x04dac392, 0x9796eb87, _ch(chalHash), _ch(goalHash), _r, _ri);
};

/**
 * CHAL_MISSION_ADD_GOAL_PROGRESS_INT
 */
global.ChalMissionAddGoalProgressInt = function (missionHash, goalHash, value) {
	return _in(0x97e18e7c, 0x098626de, _ch(missionHash), _ch(goalHash), value);
};

/**
 * CHAL_MISSION_GET_NUM_GOALS
 */
global.ChalMissionGetNumGoals = function (missionHash) {
	return _in(0x0b0576dd, 0x3a75e58d, _ch(missionHash), _r, _ri);
};

/**
 * CHAL_MISSION_GET_NUM_GOALS_COMPLETE
 */
global.ChalMissionGetNumGoalsComplete = function (missionHash) {
	return _in(0xa785a52b, 0x59b7e7b2, _ch(missionHash), _r, _ri);
};

/**
 * CHAL_MISSION_IS_GOAL_COMPLETE
 */
global.ChalMissionIsGoalComplete = function (missionHash, goalHash) {
	return _in(0xc0bb7747, 0x87bbf301, _ch(missionHash), _ch(goalHash), _r, _ri);
};

/**
 * CHAL_NET_START_CHAL
 */
global.ChalNetStartChal = function (chalHash) {
	return _in(0x4abf7e4d, 0xb6279e8f, _ch(chalHash));
};

/**
 * CHAL_NET_START_GOAL
 */
global.ChalNetStartGoal = function (chalHash, goalHash) {
	return _in(0xc3fcb473, 0x44dcb638, _ch(chalHash), _ch(goalHash));
};

/**
 * CHAL_NET_STOP_CHAL
 */
global.ChalNetStopChal = function (chalHash) {
	return _in(0x43b01631, 0x54a50c86, _ch(chalHash));
};

/**
 * CHAL_NET_STOP_GOAL
 */
global.ChalNetStopGoal = function (chalHash, goalHash) {
	return _in(0x00ce6a93, 0x324a590b, _ch(chalHash), _ch(goalHash));
};

/**
 * NativeDB Introduced: v1436
 */
global.ChalSetGoalDisabled = function (chalHash, goalHash, disabled) {
	return _in(0xf63df9ee, 0x16393343, _ch(chalHash), _ch(goalHash), disabled);
};

/**
 * CHAL_SET_GOAL_PROGRESS_INT
 */
global.ChalSetGoalProgressInt = function (chalHash, goalHash, value) {
	return _in(0xddbd5607, 0x45b1ee9b, _ch(chalHash), _ch(goalHash), value);
};

/**
 * Alters entity's health by 'amount'. Can be negative (to drain health).
 * In the scripts entity2 and weaponHash are unused (zero).
 */
global.ChangeEntityHealth = function (entity, amount, entity2, weaponHash) {
	return _in(0x835f131e, 0x7dc8f97a, entity, _fv(amount), entity2, _ch(weaponHash), _r, _ri);
};
global.N_0x835f131e7dc8f97a = global.ChangeEntityHealth;

/**
 * Alters entity's stamina by 'amount'. Can be negative (to drain stamina). float amount: -1000.0 - 1000.0
 */
global.ChangePedStamina = function (ped, amount) {
	return _in(0xc3d4b754, 0xc0e86b9e, ped, _fv(amount), _r, _ri);
};
global.N_0xc3d4b754c0e86b9e = global.ChangePedStamina;

/**
 * CHECK_OWNERSHIP_OF_ANIM_SCENE
 */
global.CheckOwnershipOfAnimScene = function (animScene) {
	return _in(0x661b8683, 0x611b9b97, animScene, _r);
};

/**
 * Only used in R* Script fm_mission_controller
 * ```
 * ```
 * NativeDB Introduced: v1311
 */
global.CinematicLocationOverrideTargetEntityThisUpdate = function (name, entity) {
	return _in(0x0b0f9144, 0x59731f60, _ts(name), entity);
};

/**
 * _CINEMATIC_LOCATION_SET_LOCATION_AND_ROTATION
 */
global.CinematicLocationSetLocationAndRotation = function (name, x, y, z, rotX, rotY, rotZ) {
	return _in(0x0e94c95e, 0xc3185fa9, _ts(name), _fv(x), _fv(y), _fv(z), _fv(rotX), _fv(rotY), _fv(rotZ));
};
global.N_0x0e94c95ec3185fa9 = global.CinematicLocationSetLocationAndRotation;

/**
 * CINEMATIC_LOCATION_STOP_SCRIPTED_SHOT_EVENT
 */
global.CinematicLocationStopScriptedShotEvent = function (p0, p1, p2) {
	return _in(0x6d4d25c2, 0x137ff511, p0, p1, p2);
};
global.N_0x6d4d25c2137ff511 = global.CinematicLocationStopScriptedShotEvent;

/**
 * CINEMATIC_LOCATION_TRIGGER_SCRIPTED_SHOT_EVENT
 */
global.CinematicLocationTriggerScriptedShotEvent = function (dictionary, shotName, cameraName, p3) {
	return _in(0x02389579, 0xa53c3276, _ts(dictionary), _ts(shotName), _ts(cameraName), p3);
};
global.N_0x02389579a53c3276 = global.CinematicLocationTriggerScriptedShotEvent;

/**
 * _CINEMATIC_LOCATION_TRIGGER_SCRIPTED_SHOT_EVENT_2
 */
global.CinematicLocationTriggerScriptedShotEvent_2 = function (dictionary, shotName, duration) {
	return _in(0xbc016635, 0xd6a73b31, _ts(dictionary), _ts(shotName), duration);
};
global.N_0xbc016635d6a73b31 = global.CinematicLocationTriggerScriptedShotEvent_2;

/**
 * CLEAN_ITEMSET
 */
global.CleanItemset = function (itemset) {
	return _in(0x85f3a86c, 0xa9021fb0, itemset);
};

/**
 * Used in Script Functions PLAYER_HORSE_RELEASE_HORSE_TO_AMBIENT_WORLD (p1 = true), HORSE_SETUP_PLAYER_HORSE_ATTRIBUTES (p1 = false)
 * Set to false for player horse in scripts and seems it's only true when releasing/changing a player horse? Cannot determine what effect it has, but it doesn't seem to affect _GET_HORSE_TAMING_STATE
 */
global.ClearActiveAnimalOwner = function (horse, clear) {
	return _in(0xbcc76708, 0xe5677e1d, horse, clear);
};
global.N_0xbcc76708e5677e1d = global.ClearActiveAnimalOwner;

/**
 * _CLEAR_ALL_BIT_FLAGS
 */
global.ClearAllBitFlags = function (bitFlags) {
	return _in(0xd2d74f89, 0xdf844a50, _ii(bitFlags) /* may be optional */);
};
global.N_0xd2d74f89df844a50 = global.ClearAllBitFlags;

/**
 * CLEAR_ALL_HELP_MESSAGES
 */
global.ClearAllHelpMessages = function () {
	return _in(0x916ed832, 0x1f087059);
};

/**
 * _CLEAR_ALL_PLAYER_BITS
 */
global.ClearAllPlayerBits = function (value) {
	return _in(0xde544b7e, 0xc0c187cc, _ii(value) /* may be optional */);
};
global.N_0xde544b7ec0c187cc = global.ClearAllPlayerBits;

/**
 * CLEAR_AMBIENT_ZONE_LIST_STATE
 */
global.ClearAmbientZoneListState = function (ambientZone, p1) {
	return _in(0x120c48c6, 0x14909fa4, _ts(ambientZone), p1);
};

/**
 * CLEAR_AMBIENT_ZONE_STATE
 */
global.ClearAmbientZoneState = function (zoneName, p1) {
	return _in(0x218dd44a, 0xaac964ff, _ts(zoneName), p1);
};

/**
 * CLEAR_ANGLED_AREA_OF_VEHICLES
 */
global.ClearAngledAreaOfVehicles = function (p0, p1, p2, p3, p4, p5, p6, p7) {
	return _in(0xa4d83115, 0xc1e02f8a, p0, p1, p2, p3, p4, p5, p6, p7);
};

/**
 * _CLEAR_ANIM_SCENE_WAS_SKIPPED
 */
global.ClearAnimSceneWasSkipped = function (animScene) {
	return _in(0x8a8208ae, 0x92bf87a5, animScene);
};
global.N_0x8a8208ae92bf87a5 = global.ClearAnimSceneWasSkipped;

/**
 * flag |= 1 | 1048576 | 524288
 * ALL_BASE, PROJECTILES, AMBIENT_POPULATION, BROADCAST
 */
global.ClearArea = function (x, y, z, radius, flag) {
	return _in(0x3b882a96, 0xea77d5b1, _fv(x), _fv(y), _fv(z), _fv(radius), flag);
};

/**
 * CLEAR_BIT
 */
global.ClearBit = function (offset) {
	return _in(0x7d1d4a36, 0x02b6ad4e, _i, offset);
};

/**
 * _CLEAR_BIT_FLAG
 */
global.ClearBitFlag = function (flag) {
	return _in(0xb909149f, 0x2bb5f6da, _i, flag);
};
global.N_0xb909149f2bb5f6da = global.ClearBitFlag;

/**
 * CLEAR_BOUNTY
 */
global.ClearBounty = function (player) {
	return _in(0xc76f2523, 0x71150d9a, player);
};
global.N_0xc76f252371150d9a = global.ClearBounty;

/**
 * _CLEAR_BOUNTY_TARGET
 */
global.ClearBountyTarget = function (player) {
	return _in(0x8f2a81c0, 0x9da9124a, player);
};
global.N_0x8f2a81c09da9124a = global.ClearBountyTarget;

/**
 * _CLEAR_BREAKOUT_ARCHETYPE
 */
global.ClearBreakoutArchetype = function (ped) {
	return _in(0xbc781d24, 0xaa11f179, ped);
};
global.N_0xbc781d24aa11f179 = global.ClearBreakoutArchetype;

/**
 * nullsub, doesn't do anything
 */
global.ClearControlLightEffect = function (control) {
	return _in(0xcb0360ef, 0xefb2580d, control);
};
global.N_0xcb0360efefb2580d = global.ClearControlLightEffect;

/**
 * CLEAR_CONTROL_SHAKE_SUPPRESSED_ID
 */
global.ClearControlShakeSuppressedId = function (control) {
	return _in(0xa0cefcea, 0x390aab9b, control);
};
global.N_0xa0cefcea390aab9b = global.ClearControlShakeSuppressedId;

/**
 * CLEAR_CONVERSATION_HISTORY
 */
global.ClearConversationHistory = function () {
	return _in(0x33d51f80, 0x1cb16e4f);
};
global.N_0x33d51f801cb16e4f = global.ClearConversationHistory;

/**
 * _CLEAR_CONVERSATION_HISTORY_FOR_SCRIPTED_CONVERSATION
 */
global.ClearConversationHistoryForScriptedConversation = function (convoRoot) {
	return _in(0xef51242e, 0x35242b47, _ts(convoRoot));
};
global.N_0xef51242e35242b47 = global.ClearConversationHistoryForScriptedConversation;

/**
 * Resets the screen's draw-origin which was changed by the function [`SET_DRAW_ORIGIN`](#\_0xE10198D5) back to `x=0, y=0`. See [`SET_DRAW_ORIGIN`](#\_0xE10198D5) for further information.
 */
global.ClearDrawOrigin = function () {
	return _in(0x00000000, 0xdd76b263);
};

/**
 * CLEAR_DRIVEBY_TASK_UNDERNEATH_DRIVING_TASK
 */
global.ClearDrivebyTaskUnderneathDrivingTask = function (ped) {
	return _in(0xc35b5cdb, 0x2824cf69, ped);
};

/**
 * CLEAR_ENTITY_LAST_DAMAGE_ENTITY
 */
global.ClearEntityLastDamageEntity = function (entity) {
	return _in(0xbb19ac7d, 0x4dcefd0f, entity);
};

/**
 * CLEAR_FACIAL_IDLE_ANIM_OVERRIDE
 */
global.ClearFacialIdleAnimOverride = function (ped) {
	return _in(0x726256cc, 0x1eeb182f, ped);
};

/**
 * CLEAR_FOCUS
 */
global.ClearFocus = function () {
	return _in(0x86ccaf7c, 0xe493efbe);
};

/**
 * CLEAR_GPS_CUSTOM_ROUTE
 */
global.ClearGpsCustomRoute = function () {
	return _in(0x1eaa5674, 0xb4d181c5);
};

/**
 * Clears the GPS flags.
 */
global.ClearGpsFlags = function () {
	return _in(0x4d377123, 0x7c79ff41);
};

/**
 * Does the same as SET_GPS_MULTI_ROUTE_RENDER(false);
 */
global.ClearGpsMultiRoute = function () {
	return _in(0x9e0ab9aa, 0xee87ce28);
};

/**
 * CLEAR_GPS_PLAYER_WAYPOINT
 */
global.ClearGpsPlayerWaypoint = function () {
	return _in(0x08fdc6f7, 0x96e350d1);
};

/**
 * CLEAR_HD_AREA
 */
global.ClearHdArea = function () {
	return _in(0xd83b2243, 0x4e52728d);
};

/**
 * _CLEAR_ITEMSET
 */
global.ClearItemset = function (itemset) {
	return _in(0x20a4bf0e, 0x09bee146, itemset);
};
global.N_0x20a4bf0e09bee146 = global.ClearItemset;

/**
 * CLEAR_LAST_DRIVEN_VEHICLE
 */
global.ClearLastDrivenVehicle = function () {
	return _in(0x0efc5dc6, 0x2e67609b);
};

/**
 * _CLEAR_LAUNCH_PARAM
 */
global.ClearLaunchParam = function (paramName) {
	return _in(0x782c94db, 0x6469634d, _ts(paramName));
};
global.N_0x782c94db6469634d = global.ClearLaunchParam;

/**
 * CLEAR_OVERRIDE_WEATHER
 */
global.ClearOverrideWeather = function () {
	return _in(0x80a398f1, 0x6ffe3cc3);
};

/**
 * _CLEAR_PED_ACTION_DISABLE_FLAG
 */
global.ClearPedActionDisableFlag = function (ped, actionDisableFlag) {
	return _in(0x949b2f9e, 0xd2917f5d, ped, actionDisableFlag);
};
global.N_0x949b2f9ed2917f5d = global.ClearPedActionDisableFlag;

/**
 * CLEAR_PED_BLOOD_DAMAGE
 */
global.ClearPedBloodDamage = function (ped) {
	return _in(0x8fe22675, 0xa5a45817, ped);
};

/**
 * CLEAR_PED_BLOOD_DAMAGE_BY_ZONE
 */
global.ClearPedBloodDamageByZone = function (ped, p1) {
	return _in(0x56e3b78c, 0x5408d9f4, ped, p1);
};

/**
 * _CLEAR_PED_BLOOD_DAMAGE_FACIAL
 */
global.ClearPedBloodDamageFacial = function (ped, p1) {
	return _in(0x7f5d8833, 0x3ee8a86f, ped, p1);
};
global.N_0x7f5d88333ee8a86f = global.ClearPedBloodDamageFacial;

/**
 * Params: p1 = 1 in R* Scripts
 */
global.ClearPedCombatStyle = function (ped, p1) {
	return _in(0x78815fc5, 0x2832b690, ped, p1);
};
global.N_0x78815fc52832b690 = global.ClearPedCombatStyle;

/**
 * _CLEAR_PED_COMBAT_*
 */
global.ClearPedCombatStyleMod = function (ped, combatStyleModHash) {
	return _in(0x1fa132cb, 0xcd7cb239, ped, _ch(combatStyleModHash));
};
global.N_0x1fa132cbcd7cb239 = global.ClearPedCombatStyleMod;

/**
 * CLEAR_PED_DAMAGE_DECAL_BY_ZONE
 */
global.ClearPedDamageDecalByZone = function (ped, p1, p2) {
	return _in(0x523c79ae, 0xefcc4a2a, ped, p1, _ts(p2));
};

/**
 * CLEAR_PED_DECORATIONS
 */
global.ClearPedDecorations = function (ped) {
	return _in(0x0e5173c1, 0x63976e38, ped);
};

/**
 * Clears locomotion archetype
 */
global.ClearPedDesiredLocoForModel = function (ped) {
	return _in(0x4fd80c3d, 0xd84b817b, ped);
};
global.N_0x4fd80c3dd84b817b = global.ClearPedDesiredLocoForModel;

/**
 * _CLEAR_PED_DESIRED_LOCO_MOTION_TYPE
 */
global.ClearPedDesiredLocoMotionType = function (ped) {
	return _in(0x58f7db5b, 0xd8fa2288, ped);
};
global.N_0x58f7db5bd8fa2288 = global.ClearPedDesiredLocoMotionType;

/**
 * CLEAR_PED_ENV_DIRT
 */
global.ClearPedEnvDirt = function (ped) {
	return _in(0x6585d955, 0xa68452a5, ped);
};

/**
 * _CLEAR_PED_GRAPPLE_FLAG
 */
global.ClearPedGrappleFlag = function (ped, flag) {
	return _in(0xeae3b5b0, 0x19c8d23f, ped, flag);
};
global.N_0xeae3b5b019c8d23f = global.ClearPedGrappleFlag;

/**
 * CLEAR_PED_LAST_DAMAGE_BONE
 */
global.ClearPedLastDamageBone = function (ped) {
	return _in(0x8ef6b7ac, 0x68e2f01b, ped);
};

/**
 * _CLEAR_PED_LAST_WEAPON_DAMAGE
 */
global.ClearPedLastWeaponDamage = function (ped) {
	return _in(0x087d8f4b, 0xc65f68e4, ped);
};
global.N_0x087d8f4bc65f68e4 = global.ClearPedLastWeaponDamage;

/**
 * CLEAR_PED_NON_CREATION_AREA
 */
global.ClearPedNonCreationArea = function () {
	return _in(0x2e052080, 0x86ba0651);
};

/**
 * CLEAR_PED_SECONDARY_TASK
 */
global.ClearPedSecondaryTask = function (ped) {
	return _in(0x176cecf6, 0xf920d707, ped);
};

/**
 * _CLEAR_PED_TARGET_ACTION_DISABLE_FLAG
 */
global.ClearPedTargetActionDisableFlag = function (ped, actionDisableFlag) {
	return _in(0xbbf6d1d0, 0x7c02d00a, ped, actionDisableFlag);
};
global.N_0xbbf6d1d07c02d00a = global.ClearPedTargetActionDisableFlag;

/**
 * CLEAR_PED_TASKS
 */
global.ClearPedTasks = function (ped, p1, p2) {
	return _in(0xe1ef3c12, 0x16aff2cd, ped, p1, p2);
};

/**
 * Immediately stops the pedestrian from whatever it's doing. They stop fighting, animations, etc. they forget what they were doing.
 * resetCrouch TRUE = ped will stand up if crouching, FALSE = ped will remain crouching if crouched
 */
global.ClearPedTasksImmediately = function (ped, p1, resetCrouch) {
	return _in(0xaaa34f8a, 0x7cb32098, ped, p1, resetCrouch);
};

/**
 * Removes every texture layer
 */
global.ClearPedTexture = function (textureId) {
	return _in(0xb63b9178, 0xd0f58d82, textureId);
};
global.N_0xb63b9178d0f58d82 = global.ClearPedTexture;

/**
 * It clears the wetness of the selected Ped/Player. Clothes have to be wet to notice the difference.
 */
global.ClearPedWetness = function (ped) {
	return _in(0x9c720776, 0xdaa43e7e, ped);
};

/**
 * _CLEAR_PELT_FROM_HORSE
 */
global.ClearPeltFromHorse = function (horse, peltId) {
	return _in(0x627f7f3a, 0x0c4c51ff, horse, peltId);
};
global.N_0x627f7f3a0c4c51ff = global.ClearPeltFromHorse;

/**
 * _CLEAR_PLAYER_BIT_AT_INDEX
 */
global.ClearPlayerBitAtIndex = function (bitIndex) {
	return _in(0xd426e2e3, 0x288469d6, _i, bitIndex);
};
global.N_0xd426e2e3288469d6 = global.ClearPlayerBitAtIndex;

/**
 * CLEAR_PLAYER_HAS_DAMAGED_AT_LEAST_ONE_NON_ANIMAL_PED
 */
global.ClearPlayerHasDamagedAtLeastOneNonAnimalPed = function (player) {
	return _in(0x0361096d, 0x6ce4372c, player);
};

/**
 * CLEAR_PLAYER_HAS_DAMAGED_AT_LEAST_ONE_PED
 */
global.ClearPlayerHasDamagedAtLeastOnePed = function (player) {
	return _in(0x270b63a6, 0x41be32f2, player);
};

/**
 * CLEAR_PLAYER_PAST_CRIMES
 */
global.ClearPlayerPastCrimes = function (player) {
	return _in(0xbcc6dc59, 0xe32a2bdc, player);
};
global.N_0xbcc6dc59e32a2bdc = global.ClearPlayerPastCrimes;

/**
 * nullsub, doesn't do anything
 */
global.ClearPlayerWantedLevel = function (player) {
	return _in(0x4e4b996c, 0x928c7aa6, player);
};

/**
 * flags: see SET_RAGDOLL_BLOCKING_FLAGS
 */
global.ClearRagdollBlockingFlags = function (ped, flags) {
	return _in(0xd86d101f, 0xcfd00a4b, ped, flags);
};

/**
 * CLEAR_RELATIONSHIP_BETWEEN_GROUPS
 */
global.ClearRelationshipBetweenGroups = function (relationship, group1, group2) {
	return _in(0x5e29243f, 0xb56fc6d4, relationship, _ch(group1), _ch(group2));
};

/**
 * CLEAR_ROOM_FOR_ENTITY
 */
global.ClearRoomForEntity = function (entity) {
	return _in(0xa1762d5b, 0xbfca13a8, entity);
};

/**
 * CLEAR_ROOM_FOR_GAME_VIEWPORT
 */
global.ClearRoomForGameViewport = function () {
	return _in(0x951a0497, 0x65e0d450);
};

/**
 * CLEAR_SEQUENCE_TASK
 */
global.ClearSequenceTask = function (taskSequenceId) {
	return _in(0x3841422e, 0x9c488d8c, _ii(taskSequenceId) /* may be optional */);
};

/**
 * CLEAR_SERVICE_EVENT_ARGUMENTS
 */
global.ClearServiceEventArguments = function () {
	return _in(0x966dd84f, 0xb6a46017);
};
global.N_0x966dd84fb6a46017 = global.ClearServiceEventArguments;

/**
 * CLEAR_SPAWNER_INFO_PRIORITY
 */
global.ClearSpawnerInfoPriority = function (p0, p1) {
	return _in(0x217a54de, 0x2d200305, _ch(p0), _ch(p1));
};

/**
 * CLEAR_TACTICAL_NAV_MESH_POINTS
 */
global.ClearTacticalNavMeshPoints = function () {
	return _in(0xd93b6516, 0xc6878267);
};
global.ClearTacticalAnalysisPoints = global.ClearTacticalNavMeshPoints;

/**
 * _CLEAR_TELEMETRY_SHOP_UI
 */
global.ClearTelemetryShopUi = function () {
	return _in(0x32d5898c, 0x4898cd95);
};
global.N_0x32d5898c4898cd95 = global.ClearTelemetryShopUi;

/**
 * CLEAR_TIMECYCLE_MODIFIER
 */
global.ClearTimecycleModifier = function () {
	return _in(0x0e3f4af2, 0xd63491fb);
};

/**
 * _CLEAR_VOLUME_AREA
 */
global.ClearVolumeArea = function (volume, flag) {
	return _in(0x2fcd528a, 0x397e5c88, volume, flag);
};
global.N_0x2fcd528a397e5c88 = global.ClearVolumeArea;

/**
 * CLEAR_WANTED_SCORE
 */
global.ClearWantedScore = function (player) {
	return _in(0x062b4a4a, 0x3396351d, player);
};
global.N_0x062b4a4a3396351d = global.ClearWantedScore;

/**
 * CLEAR_WEATHER_TYPE_PERSIST
 */
global.ClearWeatherTypePersist = function () {
	return _in(0xd85dfe5c, 0x131e4ae9);
};

/**
 * _CLEAR_WEATHER_TYPE_PERSIST_OVERTIME
 */
global.ClearWeatherTypePersistOvertime = function (milliseconds) {
	return _in(0xce7690c0, 0xa0d1c36d, milliseconds);
};
global.N_0xce7690c0a0d1c36d = global.ClearWeatherTypePersistOvertime;

/**
 * _CLEAR_WEATHER_VARIATION
 */
global.ClearWeatherVariation = function (weatherType, p1) {
	return _in(0x0e71c80f, 0xa4ec8147, _ts(weatherType), p1);
};
global.N_0x0e71c80fa4ec8147 = global.ClearWeatherVariation;

/**
 * CLONE_PED
 */
global.ClonePed = function (ped, isNetwork, bScriptHostPed, copyHeadBlendFlag) {
	return _in(0xef29a163, 0x37facadb, ped, isNetwork, bScriptHostPed, copyHeadBlendFlag, _r, _ri);
};

/**
 * Copies ped's components and props to targetPed.
 * Can be used to clear anything from a ped by cloning it, including bullet holes.
 */
global.ClonePedToTarget = function (ped, targetPed) {
	return _in(0xe952d643, 0x1689ad9a, ped, targetPed);
};

/**
 * CLONE_TIMECYCLE_MODIFIER
 * @param sourceModifierName The source timecycle name.
 * @param clonedModifierName The clone timecycle name, must be unique.
 * @return The cloned timecycle modifier index, or -1 if failed.
 */
global.CloneTimecycleModifier = function (sourceModifierName, clonedModifierName) {
	return _in(0x00000000, 0x54d636b3, _ts(sourceModifierName), _ts(clonedModifierName), _r, _ri);
};

/**
 * _CLOSE_ALL_UIAPPS
 */
global.CloseAllUiapps = function () {
	return _in(0xad7b70f7, 0x230c5a12);
};
global.CloseAllApps = global.CloseAllUiapps;

/**
 * _CLOSE_ALL_UIAPPS_IMMEDIATE
 */
global.CloseAllUiappsImmediate = function () {
	return _in(0x12769eeb, 0x8dbd7a7b);
};
global.N_0x12769eeb8dbd7a7b = global.CloseAllUiappsImmediate;

/**
 * CLOSE_PATROL_ROUTE
 */
global.ClosePatrolRoute = function () {
	return _in(0xb043eca8, 0x01b8cbc1);
};

/**
 * CLOSE_SEQUENCE_TASK
 */
global.CloseSequenceTask = function (taskSequenceId) {
	return _in(0x39e72bc9, 0x9e6360cb, taskSequenceId);
};

/**
 * _CLOSE_UIAPP
 */
global.CloseUiapp = function (appName) {
	return _in(0x818c6ca9, 0xb659e8ec, _ts(appName));
};
global.N_0x818c6ca9b659e8ec = global.CloseUiapp;

/**
 * _CLOSE_UIAPP_BY_HASH
 */
global.CloseUiappByHash = function (appNameHash) {
	return _in(0x2ff10c9c, 0x3f92277e, _ch(appNameHash));
};
global.CloseAppByHash = global.CloseUiappByHash;

/**
 * _CLOSE_UIAPP_BY_HASH_IMMEDIATE
 */
global.CloseUiappByHashImmediate = function (appNameHash) {
	return _in(0x04428420, 0xa248a354, _ch(appNameHash));
};
global.CloseAppByHashImmediate = global.CloseUiappByHashImmediate;

/**
 * _CLOSE_UIAPP_IMMEDIATE
 */
global.CloseUiappImmediate = function (appName) {
	return _in(0x30156354, 0x26d1b17c, _ts(appName));
};
global.CloseApp = global.CloseUiappImmediate;

/**
 * Hardcoded to return true.
 */
global.CloseVideoEditor = function (p0) {
	return _in(0xceec64bd, 0x27a59312, p0, _r, _ri);
};
global.N_0xceec64bd27a59312 = global.CloseVideoEditor;

/**
 * CLOUD_DID_REQUEST_SUCCEED
 */
global.CloudDidRequestSucceed = function (id) {
	return _in(0x3a3d5568, 0xaf297cd5, id, _r);
};
global.N_0x3a3d5568af297cd5 = global.CloudDidRequestSucceed;

/**
 * CLOUD_HAS_REQUEST_COMPLETED
 */
global.CloudHasRequestCompleted = function (id) {
	return _in(0x4c61b399, 0x30d045da, id, _r);
};

/**
 * _COLLECTABLE_CATEGORY_GET_NUM_COLLECTABLES
 */
global.CollectableCategoryGetNumCollectables = function (collectableCategory, collectableSubcategory) {
	return _in(0x62cab7db, 0x62ead434, _ch(collectableCategory), _ch(collectableSubcategory), _r, _ri);
};
global.N_0x62cab7db62ead434 = global.CollectableCategoryGetNumCollectables;

/**
 * _COLLECTABLE_CATEGORY_GET_NUM_FOUND
 */
global.CollectableCategoryGetNumFound = function (collectableCategory, collectableSubcategory) {
	return _in(0x5461c821, 0xd00fe15a, _ch(collectableCategory), _ch(collectableSubcategory), _r, _ri);
};
global.N_0x5461c821d00fe15a = global.CollectableCategoryGetNumFound;

/**
 * _COLLECTABLE_CATEGORY_GET_NUM_TURNED_IN
 */
global.CollectableCategoryGetNumTurnedIn = function (collectableCategory, collectableSubcategory) {
	return _in(0x3a65f484, 0x4913a047, _ch(collectableCategory), _ch(collectableSubcategory), _r, _ri);
};
global.N_0x3a65f4844913a047 = global.CollectableCategoryGetNumTurnedIn;

/**
 * _COLLECTABLE_CATEGORY_GET_TOAST_TEXTURE_DICTIONARY
 */
global.CollectableCategoryGetToastTextureDictionary = function (collectableCategory, collectableSubcategory) {
	return _in(0x13aaecda, 0x43318bfe, _ch(collectableCategory), _ch(collectableSubcategory), _r, _ri);
};
global.N_0x13aaecda43318bfe = global.CollectableCategoryGetToastTextureDictionary;

/**
 * _COLLECTABLE_CATEGORY_GET_TOAST_TEXTURE_NAME
 */
global.CollectableCategoryGetToastTextureName = function (collectableCategory, collectableSubcategory) {
	return _in(0xd52d20b0, 0xc76bb26d, _ch(collectableCategory), _ch(collectableSubcategory), _r, _ri);
};
global.N_0xd52d20b0c76bb26d = global.CollectableCategoryGetToastTextureName;

/**
 * COLLECTABLE_CATEGORY_SET_HAS_RECEIVED_LIST
 */
global.CollectableCategorySetHasReceivedList = function (p0, p1, p2) {
	return _in(0x0b6d275d, 0x2f242e17, p0, p1, p2);
};
global.N_0x0b6d275d2f242e17 = global.CollectableCategorySetHasReceivedList;

/**
 * Used in Script Function NET_COLLECTABLES_HANDLE_ITEM_ADDED
 * Returns collectableCategory Hash
 */
global.CollectableGetCategory = function (collectableItem) {
	return _in(0x725d52f2, 0x1a5e9ef6, _ch(collectableItem), _r, _ri);
};
global.N_0x725d52f21a5e9ef6 = global.CollectableGetCategory;

/**
 * collectableCategory: ANTIQUE_BOTTLES, BIRD_EGGS, ARROWHEADS, FAMILY_HEIRLOOMS, WILD_FLOWERS, COINS, LOST_JEWELRY_RINGS, LOST_JEWELRY_BRACELETS, LOST_JEWELRY_EARRINGS, LOST_JEWELRY_NECKLACES, TAROT_CARDS_CUPS, TAROT_CARDS_PENTACLES, TAROT_CARDS_SWORDS, TAROT_CARDS_WANDS, FOSSILS_COMMON, FOSSILS_UNCOMMON, FOSSILS_RARE
 */
global.CollectableGetCategoryItemSetBuyAward = function (collectableCategory, p1) {
	return _in(0xcc644bc1, 0xdd655269, _ch(collectableCategory), _ch(p1), _r, _ri);
};
global.N_0xcc644bc1dd655269 = global.CollectableGetCategoryItemSetBuyAward;

/**
 * _COLLECTABLE_GET_COLLECTABLE_ITEM_HASH
 */
global.CollectableGetCollectableItemHash = function (index, collectableCategory, collectableSubcategory) {
	return _in(0x126cbebb, 0xa46693cf, index, _ch(collectableCategory), _ch(collectableSubcategory), _r, _ri);
};
global.N_0x126cbebba46693cf = global.CollectableGetCollectableItemHash;

/**
 * _COLLECTABLE_GET_IPL
 */
global.CollectableGetIpl = function (collectableItem) {
	return _in(0x922a79cd, 0x4a033b8b, _ch(collectableItem), _r, _ri);
};
global.N_0x922a79cd4a033b8b = global.CollectableGetIpl;

/**
 * _COLLECTABLE_GET_NUM_FOUND
 */
global.CollectableGetNumFound = function (collectableItem) {
	return _in(0xf83d3dda, 0x4d3c8169, _ch(collectableItem), _r, _ri);
};
global.N_0xf83d3dda4d3c8169 = global.CollectableGetNumFound;

/**
 * _COLLECTABLE_GET_NUM_TURNED_IN
 */
global.CollectableGetNumTurnedIn = function (collectableItem) {
	return _in(0x9a03f22a, 0xd446eeac, _ch(collectableItem), _r, _ri);
};
global.N_0x9a03f22ad446eeac = global.CollectableGetNumTurnedIn;

/**
 * _COLLECTABLE_GET_PLACEMENT_LOCATION
 */
global.CollectableGetPlacementLocation = function (collectableItem) {
	return _in(0x1f1dd794, 0x908c2bfa, _ch(collectableItem), _r, _rv);
};
global.N_0x1f1dd794908c2bfa = global.CollectableGetPlacementLocation;

/**
 * _COLLECTABLE_GET_SUBCATEGORY
 */
global.CollectableGetSubcategory = function (collectableItem) {
	return _in(0x6052b4de, 0x6657684f, _ch(collectableItem), _r, _ri);
};
global.N_0x6052b4de6657684f = global.CollectableGetSubcategory;

/**
 * _COLLECTABLE_INCREMENT_NUM_FOUND
 */
global.CollectableIncrementNumFound = function (collectableItem, amount) {
	return _in(0x3ea62e56, 0xf386c997, _ch(collectableItem), amount);
};
global.N_0x3ea62e56f386c997 = global.CollectableIncrementNumFound;

/**
 * _COLLECTABLE_INCREMENT_NUM_TURNED_IN
 */
global.CollectableIncrementNumTurnedIn = function (collectableItem, amount) {
	return _in(0x398fab9c, 0x96a81924, _ch(collectableItem), amount);
};
global.N_0x398fab9c96a81924 = global.CollectableIncrementNumTurnedIn;

/**
 * NativeDB Introduced: v1232
 */
global.CommerceStoreIsEnabled = function () {
	return _in(0xdbc754cb, 0x6ccb9378, _r);
};

/**
 * NativeDB Introduced: v1355
 */
global.CommerceStoreIsOpen = function () {
	return _in(0xce5e79d9, 0xe303628e, _r);
};

/**
 * COMPARE_STRINGS
 */
global.CompareStrings = function (str1, str2, matchCase, maxLength) {
	return _in(0xbfbb74a1, 0x5efc149b, _ts(str1), _ts(str2), matchCase, maxLength, _r, _ri);
};

/**
 * NativeDB Introduced: v1311
 */
global.CompendiumAnimalGetSampleInventoryItem = function (compendiumEntry) {
	return _in(0x4e4acae1, 0xc671a9da, compendiumEntry, _r, _ri);
};

/**
 * NativeDB Introduced: v1311
 */
global.CompendiumAnimalHasSample = function (compendiumEntry) {
	return _in(0x6fc24625, 0xe4fcac27, compendiumEntry, _r);
};

/**
 * NativeDB Introduced: v1311
 */
global.CompendiumAnimalHasStamp = function (compendiumEntry) {
	return _in(0xbcf569fc, 0x32fff456, compendiumEntry, _r);
};

/**
 * COMPENDIUM_ANIMAL_OBSERVED_BY_STAT_NAME
 */
global.CompendiumAnimalObservedByStatName = function (animalType, disableCompendiumToast) {
	return _in(0x725d52f2, 0x6a5e9e10, _ch(animalType), disableCompendiumToast);
};

/**
 * NativeDB Introduced: v1311
 */
global.CompendiumAnimalSetDiscovered = function (compendiumEntry) {
	return _in(0x67f35c7c, 0x9f2bdcfe, compendiumEntry);
};

/**
 * COMPENDIUM_FISH_CAUGHT
 */
global.CompendiumFishCaught = function (ped, category) {
	return _in(0x725d52f2, 0x1a5e9e00, ped, _ch(category));
};

/**
 * COMPENDIUM_FISH_GET_LURE_SUITABILITY_BY_STAT_ITEM
 */
global.CompendiumFishGetLureSuitabilityByStatItem = function (animalType, baitType) {
	return _in(0x725d52f2, 0x1a5e9e81, _ch(animalType), _ch(baitType), _r, _ri);
};

/**
 * COMPENDIUM_GANG_AMBUSH_SURVIVED
 */
global.CompendiumGangAmbushSurvived = function (p0) {
	return _in(0x725d52f2, 0x1a5e9e04, p0);
};

/**
 * COMPENDIUM_GANG_BOUNTY_CAPTURED
 */
global.CompendiumGangBountyCaptured = function (p0) {
	return _in(0x725d52f2, 0x1a5e9e06, p0);
};

/**
 * COMPENDIUM_GANG_CAMP_FOUND
 */
global.CompendiumGangCampFound = function (p0, p1) {
	return _in(0x725d52f2, 0x1a5e9e03, p0, p1);
};

/**
 * COMPENDIUM_GANG_ENCOUNTERED
 */
global.CompendiumGangEncountered = function (p0) {
	return _in(0x725d52f2, 0x1a5e9e05, p0);
};

/**
 * COMPENDIUM_GANG_HIDEOUT_FOUND
 */
global.CompendiumGangHideoutFound = function (p0, p1) {
	return _in(0x725d52f2, 0x1a5e9e08, p0, p1);
};

/**
 * COMPENDIUM_GANG_MEMBER_KILLED
 */
global.CompendiumGangMemberKilled = function (p0) {
	return _in(0x725d52f2, 0x1a5e9e07, p0);
};

/**
 * NativeDB Introduced: v1311
 */
global.CompendiumGetEntryByIndexInSubcategory = function (category, subcategory, count) {
	return _in(0x5ceb63b2, 0xe3d9895f, _ch(category), _ch(subcategory), count, _r, _ri);
};

/**
 * NativeDB Introduced: v1311
 */
global.CompendiumGetEntryByPedIndex = function (category, ped) {
	return _in(0x1cfa0219, 0xd8e1cf25, _ch(category), ped, _r, _ri);
};

/**
 * NativeDB Introduced: v1355
 */
global.CompendiumGetEntryByStatItem = function (category, animalType) {
	return _in(0x66ec9383, 0x94d76c85, _ch(category), _ch(animalType), _r, _ri);
};

/**
 * COMPENDIUM_GET_MAP_DISCOVERABLE_FROM_STAT_ITEM
 */
global.CompendiumGetMapDiscoverableFromStatItem = function (animalStatItem, x, y, z) {
	return _in(0x729d5412, 0x1a5e9e20, _ch(animalStatItem), _fv(x), _fv(y), _fv(z), _r, _ri);
};

/**
 * NativeDB Introduced: v1311
 */
global.CompendiumGetNumEntriesInSubcategory = function (category, subcategory) {
	return _in(0xf58a0c0e, 0x086e8e36, _ch(category), _ch(subcategory), _r, _ri);
};

/**
 * _COMPENDIUM_GET_NUM_OF_ENTRIES_IN_CATEGORY
 */
global.CompendiumGetNumOfEntriesInCategory = function (category) {
	return _in(0x729d52f6, 0x1a5a9e22, _ch(category), _r, _ri);
};
global.N_0x729d52f61a5a9e22 = global.CompendiumGetNumOfEntriesInCategory;

/**
 * COMPENDIUM_GET_SHORT_DESCRIPTION_FROM_PED
 */
global.CompendiumGetShortDescriptionFromPed = function (ped) {
	return _in(0x6c5e5d48, 0xe48b4c65, ped, _r, _ri);
};

/**
 * NativeDB Introduced: v1311
 */
global.CompendiumGetStudyAwardId = function (ped) {
	return _in(0x9f678782, 0x720349e4, ped, _r, _ri);
};

/**
 * NativeDB Introduced: v1355
 */
global.CompendiumGetSubcategoryHashFromAnimalType = function (category, animalType) {
	return _in(0xcd278b6b, 0xfbdbdc22, _ch(category), _ch(animalType), _r, _ri);
};

/**
 * NativeDB Introduced: v1311
 */
global.CompendiumGetSubcategoryPedIsIn = function (category, ped) {
	return _in(0x9b657550, 0xdf55ec96, _ch(category), ped, _r, _ri);
};

/**
 * NativeDB Introduced: v1311
 */
global.CompendiumGetSubcategorySampleToastDescComplete = function (category, subcategory) {
	return _in(0x59d4d68c, 0xdb82427c, _ch(category), _ch(subcategory), _r, _s);
};

/**
 * NativeDB Introduced: v1311
 */
global.CompendiumGetSubcategorySampleToastDescProgress = function (category, subcategory) {
	return _in(0x82bfb5b3, 0x67957699, _ch(category), _ch(subcategory), _r, _s);
};

/**
 * NativeDB Introduced: v1311
 */
global.CompendiumGetSubcategorySampleToastTitle = function (category, subcategory) {
	return _in(0x5e50c67e, 0xb60951e6, _ch(category), _ch(subcategory), _r, _s);
};

/**
 * NativeDB Introduced: v1311
 */
global.CompendiumGetSubcategoryToastAppId = function (category, subcategory) {
	return _in(0x2bf30d9d, 0x4d680112, _ch(category), _ch(subcategory), _r, _ri);
};

/**
 * herbType: https://alloc8or.re/rdr3/doc/enums/eHerbType.txt
 * Vector3: Player Location
 */
global.CompendiumHerbPicked = function (herbType, x, y, z) {
	return _in(0x725d52f2, 0x1a5e9e09, _ch(herbType), _fv(x), _fv(y), _fv(z));
};

/**
 * COMPENDIUM_HORSE_BONDING
 */
global.CompendiumHorseBonding = function (ped, bondingLevel) {
	return _in(0x725d52f2, 0x1a5e9e50, ped, bondingLevel);
};

/**
 * Only gets called if bSetObserved is true and animalType is matching
 */
global.CompendiumHorseObserved = function (ped, disableCompendiumToast) {
	return _in(0x725d58f2, 0x125e5e50, ped, disableCompendiumToast);
};

/**
 * NET_PLAYER_HORSE_PROCESS_EVENT_HORSE_BREAKING
 */
global.CompendiumHorseWildBroken = function (ped) {
	return _in(0x725852d2, 0x1a2e9e50, ped);
};

/**
 * NativeDB Introduced: v1311
 */
global.CompendiumWasAnimalObserved = function (ped) {
	return _in(0x23b5e9c5, 0x160bc04f, ped, _r);
};

/**
 * Related to dead animals items/loots
 * Notice: skinningQuality is partially calculated using pedQuality
 */
global.ComputeSatchelItemForPedCarcass = function (ped, damageCleanliness, skinningQuality) {
	return _in(0x6b89faa3, 0x6fc909a3, _i, ped, damageCleanliness, skinningQuality, _r, _ri);
};
global.N_0x6b89faa36fc909a3 = global.ComputeSatchelItemForPedCarcass;

/**
 * COMPUTE_SATCHEL_ITEM_FOR_PED_DAMAGE
 */
global.ComputeSatchelItemForPedDamage = function (p0, pedAttached, damageCleanliness) {
	return _in(0x9e7738b2, 0x91706746, p0, pedAttached, damageCleanliness, _r, _ri);
};
global.N_0x9e7738b291706746 = global.ComputeSatchelItemForPedDamage;

/**
 * CONVERT_OLD_PICKUP_TYPE_TO_NEW
 */
global.ConvertOldPickupTypeToNew = function (pickupHash) {
	return _in(0x5eaad83f, 0x8cfb4575, _ch(pickupHash), _r, _ri);
};
global.GetPickupHash = global.ConvertOldPickupTypeToNew;

/**
 * Takes the specified time and writes it to the structure specified in the second argument.
 * struct date_time
 * {
 * int year;
 * int PADDING1;
 * int month;
 * int PADDING2;
 * int day;
 * int PADDING3;
 * int hour;
 * int PADDING4;
 * int minute;
 * int PADDING5;
 * int second;
 * int PADDING6;
 * };
 */
global.ConvertPosixTime = function (posixTime, timeStructure) {
	return _in(0xac97af97, 0xfa68e5d5, posixTime, _ii(timeStructure) /* may be optional */);
};
global.GetDateAndTimeFromUnixEpoch = global.ConvertPosixTime;

/**
 * COPY_SCRIPT_STRUCT
 */
global.CopyScriptStruct = function (size) {
	return _in(0xf7ac7dc0, 0xdee7c9be, _i, _i, size);
};
global.CopyMemory = global.CopyScriptStruct;

/**
 * Copies sourceVehicle's damage (broken bumpers, broken lights, etc.) to targetVehicle.
 */
global.CopyVehicleDamages = function (sourceVehicle, targetVehicle) {
	return _in(0xdbc28a8c, 0x683cd80b, sourceVehicle, targetVehicle);
};

/**
 * COS
 */
global.Cos = function (value) {
	return _in(0xd0ffb162, 0xf40a139c, _fv(value), _r, _rf);
};

/**
 * COULD_ANIM_SCENE_ENTITY_REACH_EXIT_NEXT_FRAME
 */
global.CouldAnimSceneEntityReachExitNextFrame = function (animScene, entityName, p2, p3) {
	return _in(0x73616e64, 0x696c616e, animScene, _ts(entityName), p2, p3, _r, _ri);
};
global.N_0x73616e64696c616e = global.CouldAnimSceneEntityReachExitNextFrame;

/**
 * NativeDB Introduced: v1355
 */
global.CountBitFlags = function (bitFlags) {
	return _in(0xe704838f, 0x36f93b7b, _ii(bitFlags) /* may be optional */, _r, _ri);
};

/**
 * COUNT_PARTICIPANT_BITS
 */
global.CountParticipantBits = function (value) {
	return _in(0x2f050a3f, 0xf8738245, _ii(value) /* may be optional */, _r, _ri);
};
global.N_0x2f050a3ff8738245 = global.CountParticipantBits;

/**
 * COUNT_PEDS_IN_COMBAT_WITH_TARGET
 */
global.CountPedsInCombatWithTarget = function (ped, flag) {
	return _in(0x5407b728, 0x8d0478b7, ped, flag, _r, _ri);
};
global.N_0x5407b7288d0478b7 = global.CountPedsInCombatWithTarget;

/**
 * COUNT_PEDS_IN_COMBAT_WITH_TARGET_WITHIN_RADIUS
 */
global.CountPedsInCombatWithTargetWithinRadius = function (ped, x, y, z, radius, flag) {
	return _in(0x336b3d20, 0x0ab007cb, ped, _fv(x), _fv(y), _fv(z), _fv(radius), flag, _r, _ri);
};
global.N_0x336b3d200ab007cb = global.CountPedsInCombatWithTargetWithinRadius;

/**
 * COUNT_PLAYER_BITS
 */
global.CountPlayerBits = function (value) {
	return _in(0x462c687b, 0xea254bd9, _ii(value) /* may be optional */, _r, _ri);
};
global.N_0x462c687bea254bd9 = global.CountPlayerBits;

/**
 * aiMemoryType: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/_CREATE_AI_MEMORY
 */
global.CreateAiMemory = function (aiMemoryType) {
	return _in(0x88bc5f4a, 0xef77fc4e, _i, aiMemoryType);
};
global.N_0x88bc5f4aef77fc4e = global.CreateAiMemory;

/**
 * flags: see CREATE_PICKUP
 */
global.CreateAmbientPickup = function (pickupHash, x, y, z, flags, value, modelHash, p7, p8, p9, p10) {
	return _in(0x673966a0, 0xc0fd7171, _ch(pickupHash), _fv(x), _fv(y), _fv(z), flags, value, _ch(modelHash), p7, p8, p9, _fv(p10), _r, _ri);
};

/**
 * flags: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/eAnimSceneFlag
 */
global.CreateAnimScene = function (animDict, flags, playbackListName, p3, p4) {
	return _in(0x1fca98e3, 0x3c1437b3, _ts(animDict), flags, _ts(playbackListName), p3, p4, _r, _ri);
};

/**
 * _CREATE_ANTI_GRIEF_VOLUME
 */
global.CreateAntiGriefVolume = function (volumeType, x, y, z, rotX, rotY, rotZ, scaleX, scaleY, scaleZ) {
	return _in(0x0eb78c2b, 0x156635b1, _ch(volumeType), _fv(x), _fv(y), _fv(z), _fv(rotX), _fv(rotY), _fv(rotZ), _fv(scaleX), _fv(scaleY), _fv(scaleZ), _r, _ri);
};
global.N_0x0eb78c2b156635b1 = global.CreateAntiGriefVolume;

/**
 * Creates an audio submix with the specified name, or gets the existing audio submix by that name.
 * @param name The audio submix name.
 * @return A submix ID, or -1 if the submix could not be created.
 */
global.CreateAudioSubmix = function (name) {
	return _in(0x00000000, 0x658d2bc8, _ts(name), _r, _ri);
};

/**
 * CREATE_CAM
 */
global.CreateCam = function (camName, p1) {
	return _in(0xe72cdba7, 0xf0a02dd6, _ts(camName), p1, _r, _ri);
};

/**
 * CREATE_CAM_WITH_PARAMS
 */
global.CreateCamWithParams = function (camName, posX, posY, posZ, rotX, rotY, rotZ, fov, p8, p9) {
	return _in(0x40c23491, 0xce83708e, _ts(camName), _fv(posX), _fv(posY), _fv(posZ), _fv(rotX), _fv(rotY), _fv(rotZ), _fv(fov), p8, p9, _r, _ri);
};

/**
 * CREATE_CAMERA
 */
global.CreateCamera = function (camHash, p1) {
	return _in(0x57cdf879, 0xea466c46, _ch(camHash), p1, _r, _ri);
};

/**
 * CREATE_CAMERA_WITH_PARAMS
 */
global.CreateCameraWithParams = function (camHash, posX, posY, posZ, rotX, rotY, rotZ, fov, p8, p9) {
	return _in(0x98b99b9f, 0x27e2d60b, _ch(camHash), _fv(posX), _fv(posY), _fv(posZ), _fv(rotX), _fv(rotY), _fv(rotZ), _fv(fov), p8, p9, _r, _ri);
};

/**
 * CREATE_CHECKPOINT_WITH_NAMEHASH
 */
global.CreateCheckpointWithNamehash = function (typeHash, posX1, posY1, posZ1, posX2, posY2, posZ2, radius, red, green, blue, alpha, reserved) {
	return _in(0x17566883, 0x6b44cbb0, _ch(typeHash), _fv(posX1), _fv(posY1), _fv(posZ1), _fv(posX2), _fv(posY2), _fv(posZ2), _fv(radius), red, green, blue, alpha, reserved, _r, _ri);
};
global.CreateCheckpoint = global.CreateCheckpointWithNamehash;

/**
 * Returns a formatted string (0x%x)
 */
global.CreateColorString = function (rgb) {
	return _in(0xbcc2cfad, 0xea1aea6c, rgb, _r, _s);
};

/**
 * Identical to CREATE_VEHICLE but allows to set draftAnimalPopGroup (see popgroups.#mt for DRAFT_HORSES_*)
 */
global.CreateDraftVehicle = function (modelHash, x, y, z, heading, isNetwork, bScriptHostVeh, bDontAutoCreateDraftAnimals, draftAnimalPopGroup, p9) {
	return _in(0x214651fb, 0x1dfeba89, _ch(modelHash), _fv(x), _fv(y), _fv(z), _fv(heading), isNetwork, bScriptHostVeh, bDontAutoCreateDraftAnimals, _ch(draftAnimalPopGroup), p9, _r, _ri);
};
global.CreateVehicle_2 = global.CreateDraftVehicle;

/**
 * Creates a DUI browser. This can be used to draw on a runtime texture using CREATE_RUNTIME_TEXTURE_FROM_DUI_HANDLE.
 * @param url The initial URL to load in the browser.
 * @param width The width of the backing surface.
 * @param height The height of the backing surface.
 * @return A DUI object.
 */
global.CreateDui = function (url, width, height) {
	return _in(0x00000000, 0x23eaf899, _ts(url), width, height, _r, _rl);
};

/**
 * CREATE_FAKE_MP_GAMER_TAG
 */
global.CreateFakeMpGamerTag = function (ped, username, pointedClanTag, isRockstarClan, clanTag, clanFlag) {
	return _in(0x53cb4b50, 0x2e1c57ea, ped, _ts(username), pointedClanTag, isRockstarClan, _ts(clanTag), clanFlag, _r, _ri);
};

/**
 * _CREATE_FOOTPATH_TRAIL
 */
global.CreateFootpathTrail = function (p0, waypointRecord, bUseSnowOffset, p3, p4, p5, p6, p7, p8, p9, p10, bInit) {
	return _in(0x29ba9f78, 0x321e5a6c, p0, _ts(waypointRecord), bUseSnowOffset, _fv(p3), _fv(p4), p5, p6, p7, p8, p9, p10, bInit, _r, _ri);
};
global.N_0x29ba9f78321e5a6c = global.CreateFootpathTrail;

/**
 * CREATE_FORCED_OBJECT
 */
global.CreateForcedObject = function (x, y, z, p3, modelHash, p5) {
	return _in(0x0961a905, 0xafbc34c7, _fv(x), _fv(y), _fv(z), p3, _ch(modelHash), p5);
};

/**
 * Creates a handle to an instance of "CScriptResource_GravityWell", this system forces local ped to target specified position when moving, however player still can interrupt this.
 * Can be useful to "point" player at some specific position.
 * Only works while on-foot.
 * _CREATE_[P-Z]
 */
global.CreateGravityWell = function (xPos, yPos, zPos, heading, radius, p5, p6, p7, stopAtDestination) {
	return _in(0x4f5ebe70, 0x081e5a20, _fv(xPos), _fv(yPos), _fv(zPos), _fv(heading), _fv(radius), _fv(p5), _fv(p6), _fv(p7), stopAtDestination, _r, _ri);
};
global.N_0x4f5ebe70081e5a20 = global.CreateGravityWell;

/**
 * Creates a new ped group.
 * Groups can contain up to 8 peds.
 * The parameter is unused.
 * Returns a handle to the created group, or 0 if a group couldn't be created.
 */
global.CreateGroup = function (taskAllocator) {
	return _in(0x90370ebe, 0x0fee1a3d, taskAllocator, _r, _ri);
};

/**
 * _CREATE_GUARD_ZONE
 */
global.CreateGuardZone = function (name) {
	return _in(0x8f9de756, 0x80275c9f, _ts(name));
};

/**
 * Returns true when investigation creation was successful
 * ```
 * ```
 * NativeDB Introduced: v1311
 */
global.CreateGuardZoneForEntity = function (guardZoneName, entity, x, y, z) {
	return _in(0x0d4b77e8, 0x62475ed3, _ts(guardZoneName), entity, _fv(x), _fv(y), _fv(z), _r);
};

/**
 * groundSetting: 0: spawn on ground, 2 (1?): do not spawn on ground
 * p7: -1 in R* Scripts
 * Returns compositeId
 */
global.CreateHerbComposites = function (asset, x, y, z, heading, groundSetting, p7) {
	return _in(0x5b4bbe80, 0xad5972dc, _ch(asset), _fv(x), _fv(y), _fv(z), _fv(heading), groundSetting, _i, p7, _r, _ri);
};
global.N_0x5b4bbe80ad5972dc = global.CreateHerbComposites;

/**
 * _CREATE_HERD
 */
global.CreateHerd = function () {
	return _in(0xcb4ef7ed, 0xae2e16f1, _r, _ri);
};
global.N_0xcb4ef7edae2e16f1 = global.CreateHerd;

/**
 * dispatchService: see ENABLE_DISPATCH_SERVICE
 */
global.CreateIncident = function (dispatchService, x, y, z, numUnits, radius, p7, p8) {
	return _in(0x3f892caf, 0x67444ae7, dispatchService, _fv(x), _fv(y), _fv(z), numUnits, _fv(radius), _i, p7, p8, _r);
};

/**
 * dispatchService: see ENABLE_DISPATCH_SERVICE
 * The entities must be added to itemSet.
 */
global.CreateIncidentWithEntities = function (dispatchService, x, y, z, itemSet, radius, outIncidentID) {
	return _in(0xab3d3f45, 0x436db1d8, dispatchService, _fv(x), _fv(y), _fv(z), itemSet, _fv(radius), _ii(outIncidentID) /* may be optional */, _r, _ri);
};
global.N_0xab3d3f45436db1d8 = global.CreateIncidentWithEntities;

/**
 * CREATE_ITEMSET
 */
global.CreateItemset = function (p0) {
	return _in(0xa1af1608, 0x3320065a, p0, _r, _ri);
};

/**
 * Creates Kill Cam for specified Ped Handle
 */
global.CreateKillCam = function (ped) {
	return _in(0x2f994cc2, 0x9caa9d22, ped);
};
global.N_0x2f994cc29caa9d22 = global.CreateKillCam;

/**
 * dispatchResponseHash: see common/data/dispatchresponses/..
 */
global.CreateLawDispatchResponseForCoords = function (x, y, z, dispatchResponseHash) {
	return _in(0x75cbf20b, 0xa47e4f89, _fv(x), _fv(y), _fv(z), _ch(dispatchResponseHash), _r, _ri);
};
global.N_0x75cbf20ba47e4f89 = global.CreateLawDispatchResponseForCoords;

/**
 * Only used in SP scripts, for example odriscolls1: BOOLS: true, true, true, false, false
 */
global.CreateMetaPed = function (requestId, x, y, z, heading, p5, p6, p7, p8, p9) {
	return _in(0x0bcd4091, 0xc8eaba42, requestId, _fv(x), _fv(y), _fv(z), _fv(heading), p5, p6, p7, p8, p9, _r, _ri);
};
global.N_0x0bcd4091c8eaba42 = global.CreateMetaPed;
global.CreateMetapedPed = global.CreateMetaPed;

/**
 * Creates prop from metaped asset bundle
 * https://github.com/femga/rdr3_discoveries/blob/master/objects/metaped_asset_bundles_list.lua
 * Creates a pickup-able metaped component. asset doesn't seems to be related to component hashes. Hash example : 0xD20354AB (https ://i.imgur.com/dzHkcDb.png)
 */
global.CreateMetaPedAsset = function (asset, posX, posY, posZ, rotX, rotY, rotZ, p7, p8, p9) {
	return _in(0x9641a9a2, 0x0310f6b8, _ch(asset), _fv(posX), _fv(posY), _fv(posZ), _fv(rotX), _fv(rotY), _fv(rotZ), p7, p8, p9, _r, _ri);
};
global.N_0x9641a9a20310f6b8 = global.CreateMetaPedAsset;
global.CreateMetapedAsset = global.CreateMetaPedAsset;

/**
 * Creates metaped from ped outfit requestId. See _REQUEST_METAPED_OUTFIT
 */
global.CreateMetaPedOutfitPed = function (requestId, x, y, z, heading, p5, p6, p7, p8) {
	return _in(0xeaf682a1, 0x4f8e5f53, requestId, _fv(x), _fv(y), _fv(z), _fv(heading), p5, p6, p7, p8, _r, _ri);
};
global.N_0xeaf682a14f8e5f53 = global.CreateMetaPedOutfitPed;
global.CreateMetapedOutfitPed = global.CreateMetaPedOutfitPed;

/**
 * Returns mgmHandle
 */
global.CreateMgmSystem = function (mgmFilename) {
	return _in(0xa1300de0, 0x3e5d1973, _ts(mgmFilename), _r, _ri);
};
global.N_0xa1300de03e5d1973 = global.CreateMgmSystem;

/**
 * configHash: https://alloc8or.re/rdr3/doc/enums/eTrainConfig.txt
 * For more information, see trainconfigs.ymt
 * To make the train AI controlled, set conductor to true and set the speed once.
 */
global.CreateMissionTrain = function (configHash, x, y, z, direction, passengers, p6, conductor) {
	return _in(0xc239dbd9, 0xa57d2a71, _ch(configHash), _fv(x), _fv(y), _fv(z), direction, passengers, p6, conductor, _r, _ri);
};
global.N_0xc239dbd9a57d2a71 = global.CreateMissionTrain;

/**
 * CREATE_MODEL_HIDE
 */
global.CreateModelHide = function (x, y, z, radius, model, p5) {
	return _in(0x069848b3, 0xfb3c4426, _fv(x), _fv(y), _fv(z), _fv(radius), _ch(model), p5);
};

/**
 * CREATE_MODEL_HIDE_EXCLUDING_SCRIPT_OBJECTS
 */
global.CreateModelHideExcludingScriptObjects = function (x, y, z, radius, model, p5) {
	return _in(0xd136090a, 0x9aaab17d, _fv(x), _fv(y), _fv(z), _fv(radius), _ch(model), p5);
};

/**
 * Only works with objects!
 */
global.CreateModelSwap = function (x, y, z, radius, originalModel, newModel, p6) {
	return _in(0x10b22183, 0x20b6f5ac, _fv(x), _fv(y), _fv(z), _fv(radius), _ch(originalModel), _ch(newModel), p6);
};

/**
 * _CREATE_MP_GAMER_TAG
 */
global.CreateMpGamerTag = function (player, username, pointedClanTag, isRockstarClan, clanTag, clanFlag) {
	return _in(0xd877af11, 0x2ad2b41b, player, _ts(username), pointedClanTag, isRockstarClan, _ts(clanTag), clanFlag, _r, _ri);
};

/**
 * _CREATE_MP_GAMER_TAG_ON_ENTITY
 */
global.CreateMpGamerTagOnEntity = function (entity, text) {
	return _in(0xe961bf23, 0xeab76b12, entity, _ts(text), _r, _ri);
};
global.N_0xe961bf23eab76b12 = global.CreateMpGamerTagOnEntity;

/**
 * CREATE_NEW_SCRIPTED_CONVERSATION
 */
global.CreateNewScriptedConversation = function (convoRoot) {
	return _in(0xd2c91a0b, 0x572aae56, _ts(convoRoot), _r, _ri);
};

/**
 * CREATE_OBJECT
 */
global.CreateObject = function (modelHash, x, y, z, isNetwork, bScriptHostObj, dynamic, p7, p8) {
	return _in(0x509d5878, 0xeb39e842, _ch(modelHash), _fv(x), _fv(y), _fv(z), isNetwork, bScriptHostObj, dynamic, p7, p8, _r, _ri);
};

/**
 * CREATE_OBJECT_NO_OFFSET
 */
global.CreateObjectNoOffset = function (modelHash, x, y, z, isNetwork, bScriptHostObj, dynamic, p7) {
	return _in(0x9a294b21, 0x38abb884, _ch(modelHash), _fv(x), _fv(y), _fv(z), isNetwork, bScriptHostObj, dynamic, p7, _r, _ri);
};

/**
 * CREATE_OBJECT_SKELETON
 */
global.CreateObjectSkeleton = function (object) {
	return _in(0xb6cbd40f, 0x8ea69e8a, object, _r, _ri);
};
global.N_0xb6cbd40f8ea69e8a = global.CreateObjectSkeleton;

/**
 * CREATE_PATROL_ROUTE
 */
global.CreatePatrolRoute = function () {
	return _in(0xaf8a443c, 0xcc8018dc);
};

/**
 * CREATE_PED
 */
global.CreatePed = function (modelHash, x, y, z, heading, isNetwork, bScriptHostPed, p7, p8) {
	return _in(0xd49f9b09, 0x55c367de, _ch(modelHash), _fv(x), _fv(y), _fv(z), _fv(heading), isNetwork, bScriptHostPed, p7, p8, _r, _ri);
};

/**
 * seatIndex:
 * enum eVehicleSeat
 * {
 * VS_ANY_PASSENGER = -2,
 * VS_DRIVER,
 * VS_FRONT_RIGHT,
 * VS_BACK_LEFT,
 * VS_BACK_RIGHT,
 * VS_EXTRA_LEFT_1,
 * VS_EXTRA_RIGHT_1,
 * VS_EXTRA_LEFT_2,
 * VS_EXTRA_RIGHT_2,
 * VS_EXTRA_LEFT_3,
 * VS_EXTRA_RIGHT_3,
 * VS_NUM_SEATS
 * };
 */
global.CreatePedInsideVehicle = function (vehicle, modelHash, seatIndex, p3, p4, p5) {
	return _in(0x7dd95987, 0x4c1fd534, vehicle, _ch(modelHash), seatIndex, p3, p4, p5, _r, _ri);
};

/**
 * CREATE_PED_ON_MOUNT
 */
global.CreatePedOnMount = function (mount, modelHash, index, p3, p4, p5, p6) {
	return _in(0xf89aa2bd, 0x01fc06b7, mount, _ch(modelHash), index, p3, p4, p5, p6, _r, _ri);
};

/**
 * _CREATE_PERSISTENT_CHARACTER
 */
global.CreatePersistentCharacter = function (hash) {
	return _in(0x4f76e367, 0x6583d951, _ch(hash), _r, _ri);
};
global.N_0x4f76e3676583d951 = global.CreatePersistentCharacter;

/**
 * https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/Placement%20Flags
 * https://github.com/femga/rdr3_discoveries/blob/master/objects/pickup_list.lua
 */
global.CreatePickup = function (pickupHash, x, y, z, flags, p5, p6, modelHash, p8, p9, p10) {
	return _in(0xfba08c50, 0x3dd5fa58, _ch(pickupHash), _fv(x), _fv(y), _fv(z), flags, p5, p6, _ch(modelHash), p8, _fv(p9), p10, _r, _ri);
};

/**
 * flags: see CREATE_PICKUP
 */
global.CreatePickupRotate = function (pickupHash, posX, posY, posZ, rotX, rotY, rotZ, flags, p8, p9, p10, modelHash, p12, p13, p14) {
	return _in(0x89180472, 0x7e0a98b7, _ch(pickupHash), _fv(posX), _fv(posY), _fv(posZ), _fv(rotX), _fv(rotY), _fv(rotZ), flags, p8, p9, p10, _ch(modelHash), p12, _fv(p13), p14, _r, _ri);
};

/**
 * _CREATE_POPZONE_FROM_VOLUME
 */
global.CreatePopzoneFromVolume = function (volume) {
	return _in(0x9ac1c64f, 0xe46b6d09, volume, _r, _ri);
};

/**
 * CREATE_PORTABLE_PICKUP
 */
global.CreatePortablePickup = function (pickupHash, x, y, z, placeOnGround, modelHash) {
	return _in(0x2eaf1fdb, 0x2fb55698, _ch(pickupHash), _fv(x), _fv(y), _fv(z), placeOnGround, _ch(modelHash), _r, _ri);
};

/**
 * propsetType: https://github.com/femga/rdr3_discoveries/blob/master/objects/propsets_list.lua
 * placementType: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/PlacementType
 */
global.CreatePropSet = function (propsetType, x, y, z, placementType, heading, zProbe, p7, useVegMod) {
	return _in(0xe65c5cba, 0x95f0e510, _ch(propsetType), _fv(x), _fv(y), _fv(z), placementType, _fv(heading), _fv(zProbe), p7, useVegMod, _r, _ri);
};
global.N_0xe65c5cba95f0e510 = global.CreatePropSet;

/**
 * CREATE_PROP_SET_INSTANCE_ATTACHED_TO_ENTITY
 */
global.CreatePropSetInstanceAttachedToEntity = function (hash, x, y, z, entity, p5, p6, p7, p8) {
	return _in(0x9609dbdd, 0xe18fad8c, _ch(hash), _fv(x), _fv(y), _fv(z), entity, _fv(p5), p6, p7, p8, _r, _ri);
};
global.N_0x9609dbdde18fad8c = global.CreatePropSetInstanceAttachedToEntity;

/**
 * Same as CREATE_PROP_SET_INSTANCE_ATTACHED_TO_ENTITY
 */
global.CreatePropSetInstanceAttachedToEntity_2 = function (hash, x, y, z, entity, p5, p6, p7, p8) {
	return _in(0xaca7fb30, 0x269096d4, _ch(hash), _fv(x), _fv(y), _fv(z), entity, _fv(p5), p6, p7, p8, _r, _ri);
};
global.N_0xaca7fb30269096d4 = global.CreatePropSetInstanceAttachedToEntity_2;
global.CreatePropSet_4 = global.CreatePropSetInstanceAttachedToEntity_2;

/**
 * Same as _CREATE_PROP_SET
 */
global.CreatePropSet_2 = function (propsetType, x, y, z, placementType, heading, zProbe, p7, useVegMod) {
	return _in(0x899c97a1, 0xcce7d483, _ch(propsetType), _fv(x), _fv(y), _fv(z), placementType, _fv(heading), _fv(zProbe), p7, useVegMod, _r, _ri);
};
global.N_0x899c97a1cce7d483 = global.CreatePropSet_2;

/**
 * Combining this with ADD_ROPE enables winding
 * p1: mostly empty (0)
 * ropeModelType: RB_L_Wrist02, RB_R_Wrist02, ropeAttach, noose01x_Rope_03, SKEL_Neck0, SKEL_L_FOOT, SKEL_Neck1, Root_s_meatbit_Chunck_Xlarge01x
 * _CREATE_*
 */
global.CreateRopeWindingAbility = function (ropeId, p1, ropeModelType, length, p4) {
	return _in(0x3c6490d9, 0x40ff5d0b, ropeId, _ts(p1), _ts(ropeModelType), _fv(length), p4);
};
global.N_0x3c6490d940ff5d0b = global.CreateRopeWindingAbility;

/**
 * Returns scenario
 */
global.CreateScenarioPointHash = function (scenarioHash, x, y, z, heading, p5, p6, p7) {
	return _in(0x94b745ce, 0x41db58a1, _ch(scenarioHash), _fv(x), _fv(y), _fv(z), _fv(heading), p5, p6, p7, _r, _ri);
};
global.N_0x94b745ce41db58a1 = global.CreateScenarioPointHash;

/**
 * Returns scenario
 */
global.CreateScenarioPointHashAttachedToEntity = function (entity, scenarioHash, x, y, z, heading, p6, p7, p8) {
	return _in(0x794ab137, 0x9a74064d, entity, _ch(scenarioHash), _fv(x), _fv(y), _fv(z), _fv(heading), p6, p7, p8, _r, _ri);
};
global.N_0x794ab1379a74064d = global.CreateScenarioPointHashAttachedToEntity;

/**
 * _CREATE_SHOCKING_EVENT
 */
global.CreateShockingEvent = function (args) {
	return _in(0xca1315c3, 0x3b9a2847, _ii(args) /* may be optional */, _r, _ri);
};
global.N_0xca1315c33b9a2847 = global.CreateShockingEvent;

/**
 * _CREATE_SPEED_VOLUME
 */
global.CreateSpeedVolume = function (p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14) {
	return _in(0xbbe768e3, 0xae76e07c, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, _r, _ri);
};
global.N_0xbbe768e3ae76e07c = global.CreateSpeedVolume;

/**
 * _CREATE_SWATCH_TEXTURE_DICT
 */
global.CreateSwatchTextureDict = function (slots) {
	return _in(0x3d084d55, 0x68fb4028, slots, _r, _ri);
};
global.N_0x3d084d5568fb4028 = global.CreateSwatchTextureDict;

/**
 * Create a clean timecycle modifier. See [`SET_TIMECYCLE_MODIFIER_VAR`](#\_0x6E0A422B) to add variables.
 * @param modifierName The new timecycle name, must be unique.
 * @return The created timecycle modifier index, or -1 if failed.
 */
global.CreateTimecycleModifier = function (modifierName) {
	return _in(0x00000000, 0x70fa2afa, _ts(modifierName), _r, _ri);
};

/**
 * Creates a tracked point, useful for checking the visibility of a 3D point on screen.
 */
global.CreateTrackedPoint = function () {
	return _in(0xfb405cb3, 0x57c69cb9, _r, _ri);
};

/**
 * CREATE_VEHICLE
 */
global.CreateVehicle = function (modelHash, x, y, z, heading, isNetwork, bScriptHostVeh, bDontAutoCreateDraftAnimals, p8) {
	return _in(0xaf35d0d2, 0x583051b0, _ch(modelHash), _fv(x), _fv(y), _fv(z), _fv(heading), isNetwork, bScriptHostVeh, bDontAutoCreateDraftAnimals, p8, _r, _ri);
};

/**
 * CREATE_VOLUME_AGGREGATE
 */
global.CreateVolumeAggregate = function () {
	return _in(0x59f6f5c1, 0xd129f106, _r, _ri);
};
global.CreateVolumeAggregate = global.CreateVolumeAggregate;

/**
 * _CREATE_VOLUME_AGGREGATE_WITH_CUSTOM_NAME
 */
global.CreateVolumeAggregateWithCustomName = function (name) {
	return _in(0x5d580de6, 0x398bb162, _ts(name), _r, _ri);
};

/**
 * CREATE_VOLUME_BOX
 */
global.CreateVolumeBox = function (x, y, z, rotX, rotY, rotZ, scaleX, scaleY, scaleZ) {
	return _in(0xdf85637f, 0x22706891, _fv(x), _fv(y), _fv(z), _fv(rotX), _fv(rotY), _fv(rotZ), _fv(scaleX), _fv(scaleY), _fv(scaleZ), _r, _ri);
};
global.CreateVolumeBox = global.CreateVolumeBox;

/**
 * _CREATE_VOLUME_BOX_WITH_CUSTOM_NAME
 */
global.CreateVolumeBoxWithCustomName = function (x, y, z, rotX, rotY, rotZ, scaleX, scaleY, scaleZ, name) {
	return _in(0xf68485c7, 0x495d848e, _fv(x), _fv(y), _fv(z), _fv(rotX), _fv(rotY), _fv(rotZ), _fv(scaleX), _fv(scaleY), _fv(scaleZ), _ts(name), _r, _ri);
};

/**
 * _CREATE_VOLUME_BY_HASH
 */
global.CreateVolumeByHash = function (volumeType, x, y, z, rotX, rotY, rotZ, scaleX, scaleY, scaleZ) {
	return _in(0x502022fa, 0x1af9dc86, _ch(volumeType), _fv(x), _fv(y), _fv(z), _fv(rotX), _fv(rotY), _fv(rotZ), _fv(scaleX), _fv(scaleY), _fv(scaleZ), _r, _ri);
};

/**
 * _CREATE_VOLUME_BY_HASH_WITH_CUSTOM_NAME
 */
global.CreateVolumeByHashWithCustomName = function (volumeType, x, y, z, rotX, rotY, rotZ, scaleX, scaleY, scaleZ, name) {
	return _in(0x1f85e4ac, 0x774a201e, _ch(volumeType), _fv(x), _fv(y), _fv(z), _fv(rotX), _fv(rotY), _fv(rotZ), _fv(scaleX), _fv(scaleY), _fv(scaleZ), _ts(name), _r, _ri);
};

/**
 * CREATE_VOLUME_CYLINDER
 */
global.CreateVolumeCylinder = function (x, y, z, rotX, rotY, rotZ, scaleX, scaleY, scaleZ) {
	return _in(0x0522d477, 0x4b82e3e6, _fv(x), _fv(y), _fv(z), _fv(rotX), _fv(rotY), _fv(rotZ), _fv(scaleX), _fv(scaleY), _fv(scaleZ), _r, _ri);
};
global.CreateVolumeCylinder = global.CreateVolumeCylinder;

/**
 * _CREATE_VOLUME_CYLINDER_WITH_CUSTOM_NAME
 */
global.CreateVolumeCylinderWithCustomName = function (x, y, z, rotX, rotY, rotZ, scaleX, scaleY, scaleZ, name) {
	return _in(0xdf1e350e, 0xddf06e59, _fv(x), _fv(y), _fv(z), _fv(rotX), _fv(rotY), _fv(rotZ), _fv(scaleX), _fv(scaleY), _fv(scaleZ), _ts(name), _r, _ri);
};

/**
 * Params: p5 is always 0
 */
global.CreateVolumeLock = function (x, y, z, radius, flag, p5) {
	return _in(0x00bbf7ce, 0xae8c666a, _fv(x), _fv(y), _fv(z), _fv(radius), flag, p5, _r, _ri);
};
global.N_0x00bbf7ceae8c666a = global.CreateVolumeLock;

/**
 * Params: p3 is always 0
 */
global.CreateVolumeLockAttachedToEntity = function (entity, radius, flag, p3) {
	return _in(0xf383e96c, 0x4904df0c, entity, _fv(radius), flag, p3, _r, _ri);
};
global.N_0xf383e96c4904df0c = global.CreateVolumeLockAttachedToEntity;

/**
 * CREATE_VOLUME_SPHERE
 */
global.CreateVolumeSphere = function (x, y, z, rotX, rotY, rotZ, scaleX, scaleY, scaleZ) {
	return _in(0xb3fb80a3, 0x2bae3065, _fv(x), _fv(y), _fv(z), _fv(rotX), _fv(rotY), _fv(rotZ), _fv(scaleX), _fv(scaleY), _fv(scaleZ), _r, _ri);
};
global.N_0xb3fb80a32bae3065 = global.CreateVolumeSphere;

/**
 * _CREATE_VOLUME_SPHERE_WITH_CUSTOM_NAME
 */
global.CreateVolumeSphereWithCustomName = function (x, y, z, rotX, rotY, rotZ, scaleX, scaleY, scaleZ, name) {
	return _in(0x10157bc3, 0x247ff3ba, _fv(x), _fv(y), _fv(z), _fv(rotX), _fv(rotY), _fv(rotZ), _fv(scaleX), _fv(scaleY), _fv(scaleZ), _ts(name), _r, _ri);
};
global.N_0x10157bc3247ff3ba = global.CreateVolumeSphereWithCustomName;

/**
 * _CREATE_WALK_AND_TALK_VOLUME
 */
global.CreateWalkAndTalkVolume = function (p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12) {
	return _in(0xfd0e389c, 0xd44434b6, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, _r, _ri);
};
global.N_0xfd0e389cd44434b6 = global.CreateWalkAndTalkVolume;

/**
 * _CREATE_WAYPOINT_PATH
 */
global.CreateWaypointPath = function (pathName, nodes, p3) {
	return _in(0x5c885e09, 0x78b6ad60, _ts(pathName), _i, nodes, p3, _r, _ri);
};
global.N_0x5c885e0978b6ad60 = global.CreateWaypointPath;

/**
 * _CREATE_WEAPON_OBJECT
 */
global.CreateWeaponObject = function (weaponHash, ammoCount, x, y, z, showWorldModel, scale) {
	return _in(0x9888652b, 0x8ba77f73, _ch(weaponHash), ammoCount, _fv(x), _fv(y), _fv(z), showWorldModel, _fv(scale), _r, _ri);
};
global.N_0x9888652b8ba77f73 = global.CreateWeaponObject;

/**
 * _CUFF_PED
 */
global.CuffPed = function (ped) {
	return _in(0x7981037a, 0x96e7d174, ped);
};
global.N_0x7981037a96e7d174 = global.CuffPed;

/**
 * _DAMAGE_BONE_ON_PROP
 */
global.DamageBoneOnProp = function (object, bone) {
	return _in(0xe4efb315, 0xbcd2a838, object, bone);
};
global.N_0xe4efb315bcd2a838 = global.DamageBoneOnProp;

/**
 * DATAARRAY_GET_BOOL
 */
global.DataarrayGetBool = function (arrayIndex) {
	return _in(0xab1231d2, 0xde52f2d3, _i, arrayIndex, _r);
};
global.ArrayValueGetBoolean = global.DataarrayGetBool;

/**
 * DATAARRAY_GET_COUNT
 */
global.DataarrayGetCount = function (arrayData) {
	return _in(0x6a885bf6, 0x9239e539, _ii(arrayData) /* may be optional */, _r, _ri);
};
global.ArrayValueGetSize = global.DataarrayGetCount;

/**
 * DATAARRAY_GET_DICT
 */
global.DataarrayGetDict = function (arrayIndex) {
	return _in(0xa0106559, 0x85853485, _i, arrayIndex, _r, _rl);
};
global.ArrayValueGetObject = global.DataarrayGetDict;

/**
 * DATAARRAY_GET_FLOAT
 */
global.DataarrayGetFloat = function (arrayIndex) {
	return _in(0xa9d003cf, 0x419cb81e, _i, arrayIndex, _r, _rf);
};
global.ArrayValueGetFloat = global.DataarrayGetFloat;

/**
 * DATAARRAY_GET_INT
 */
global.DataarrayGetInt = function (arrayIndex) {
	return _in(0x96dea500, 0xb6ebbe53, _i, arrayIndex, _r, _ri);
};
global.ArrayValueGetInteger = global.DataarrayGetInt;

/**
 * DATAARRAY_GET_STRING
 */
global.DataarrayGetString = function (arrayIndex) {
	return _in(0xb6790a8f, 0xf80f889f, _i, arrayIndex, _r, _s);
};
global.ArrayValueGetString = global.DataarrayGetString;

/**
 * Types:
 * 1 = Boolean
 * 2 = Integer
 * 3 = Float
 * 4 = String
 * 5 = Vector3
 * 6 = Object
 * 7 = Array
 */
global.DataarrayGetType = function (arrayIndex) {
	return _in(0x151dafe6, 0xb3b9888f, _i, arrayIndex, _r, _ri);
};
global.ArrayValueGetType = global.DataarrayGetType;

/**
 * DATAARRAY_GET_VECTOR
 */
global.DataarrayGetVector = function (arrayIndex) {
	return _in(0x850da275, 0x0da14e9a, _i, arrayIndex, _r, _rv);
};
global.ArrayValueGetVector3 = global.DataarrayGetVector;

/**
 * _DATABINDING_ADD_DATA_BOOL
 */
global.DatabindingAddDataBool = function (p0, p1, p2) {
	return _in(0x58baa5f6, 0x35da2ff4, p0, _ts(p1), p2, _r, _ri);
};

/**
 * _DATABINDING_ADD_DATA_BOOL_BY_HASH
 */
global.DatabindingAddDataBoolByHash = function (p0, p1, p2) {
	return _in(0xbc95d3ae, 0x2eca70d6, p0, _ch(p1), p2, _r, _ri);
};

/**
 * _DATABINDING_ADD_DATA_BOOL_FROM_PATH
 */
global.DatabindingAddDataBoolFromPath = function (p0, p1, p2) {
	return _in(0x37bb86a7, 0x51148a6a, _ts(p0), _ts(p1), p2, _r, _ri);
};

/**
 * Returns entryId Hash
 */
global.DatabindingAddDataContainer = function (entryId, p1) {
	return _in(0xeb4f9a35, 0x37eeabcd, _ch(entryId), _ts(p1), _r, _ri);
};

/**
 * _DATABINDING_ADD_DATA_CONTAINER_BY_HASH
 */
global.DatabindingAddDataContainerByHash = function (p0, p1) {
	return _in(0x98bb1434, 0x5bb68257, p0, _ch(p1), _r, _ri);
};

/**
 * _DATABINDING_ADD_DATA_CONTAINER_FROM_PATH
 */
global.DatabindingAddDataContainerFromPath = function (p0, p1) {
	return _in(0x0c827d17, 0x5f1292f4, _ts(p0), _ts(p1), _r, _ri);
};

/**
 * _DATABINDING_ADD_DATA_FLOAT
 */
global.DatabindingAddDataFloat = function (p0, p1, p2) {
	return _in(0x51542282, 0x73adb9a6, p0, _ts(p1), _fv(p2), _r, _ri);
};

/**
 * _DATABINDING_ADD_DATA_GANG_ID
 */
global.DatabindingAddDataGangId = function (p0, p1, gangId) {
	return _in(0x7d0f2014, 0xdb28dd00, p0, _ts(p1), gangId, _r, _ri);
};

/**
 * _DATABINDING_ADD_DATA_HASH
 */
global.DatabindingAddDataHash = function (p0, p1, p2) {
	return _in(0x8538f120, 0x5d60eca6, p0, _ts(p1), _ch(p2), _r, _ri);
};

/**
 * _DATABINDING_ADD_DATA_HASH_BY_HASH
 */
global.DatabindingAddDataHashByHash = function (p0, p1, p2) {
	return _in(0x8e173dfb, 0x041993c6, p0, _ch(p1), _ch(p2), _r, _ri);
};

/**
 * _DATABINDING_ADD_DATA_INT
 */
global.DatabindingAddDataInt = function (p0, p1, p2) {
	return _in(0x307a3247, 0xc5457bde, p0, _ts(p1), _ch(p2), _r, _ri);
};

/**
 * _DATABINDING_ADD_DATA_INT_BY_HASH
 */
global.DatabindingAddDataIntByHash = function (p0, p1, p2) {
	return _in(0x267f9527, 0xf4350ade, p0, _ch(p1), p2, _r, _ri);
};

/**
 * _DATABINDING_ADD_DATA_POSSE_ID
 */
global.DatabindingAddDataPosseId = function (p0, p1, posseId) {
	return _in(0x7d0f2014, 0xdb28dd01, p0, _ts(p1), posseId, _r, _ri);
};
global.N_0x7d0f2014db28dd01 = global.DatabindingAddDataPosseId;

/**
 * _DATABINDING_ADD_DATA_STRING
 */
global.DatabindingAddDataString = function (p0, p1, p2) {
	return _in(0x617fca1c, 0x5652bbad, p0, _ts(p1), _ts(p2), _r, _ri);
};

/**
 * _DATABINDING_ADD_DATA_STRING_BY_HASH
 */
global.DatabindingAddDataStringByHash = function (p0, p1, p2) {
	return _in(0xead09e76, 0xe22630c3, p0, _ch(p1), _ts(p2), _r, _ri);
};

/**
 * _DATABINDING_ADD_DATA_STRING_FROM_PATH
 */
global.DatabindingAddDataStringFromPath = function (p0, p1, p2) {
	return _in(0xa381de86, 0xee170c4a, _ts(p0), _ts(p1), _ts(p2), _r, _ri);
};
global.N_0xa381de86ee170c4a = global.DatabindingAddDataStringFromPath;

/**
 * _DATABINDING_ADD_HASH_ARRAY
 */
global.DatabindingAddHashArray = function (p0, p1) {
	return _in(0x52f5f082, 0x78ea5d75, p0, _ts(p1), _r, _ri);
};

/**
 * _DATABINDING_ADD_STRING_ARRAY
 */
global.DatabindingAddStringArray = function (p0, p1) {
	return _in(0x1b23e062, 0x7bdbfe85, p0, _ts(p1), _r, _ri);
};

/**
 * _DATABINDING_ADD_UI_ITEM_LIST
 */
global.DatabindingAddUiItemList = function (p0, p1) {
	return _in(0xfe74fa57, 0xe0ce6824, p0, _ts(p1), _r, _ri);
};

/**
 * _DATABINDING_ADD_UI_ITEM_LIST_BY_HASH
 */
global.DatabindingAddUiItemListByHash = function (p0, p1) {
	return _in(0x3c779928, 0x3325181b, p0, _ch(p1), _r, _ri);
};

/**
 * _DATABINDING_ADD_UI_ITEM_LIST_FROM_PATH
 */
global.DatabindingAddUiItemListFromPath = function (p0, p1) {
	return _in(0xdb5b9a47, 0x4148f699, _ts(p0), _ts(p1), _r, _ri);
};

/**
 * _DATABINDING_CLEAR_BINDING_ARRAY
 */
global.DatabindingClearBindingArray = function (entryId) {
	return _in(0xa1f15c1d, 0x03df802d, _ch(entryId));
};

/**
 * _DATABINDING_GET_ARRAY_COUNT
 */
global.DatabindingGetArrayCount = function (entryId) {
	return _in(0xd23f5de0, 0x4fe717e2, _ch(entryId), _r, _ri);
};
global.DatabdingGetArrayCount = global.DatabindingGetArrayCount;

/**
 * _DATABINDING_GET_DATA_CONTAINER_FROM_CHILD_INDEX
 */
global.DatabindingGetDataContainerFromChildIndex = function (entryId, p1) {
	return _in(0x0c827d17, 0x5f1292f3, _ch(entryId), p1, _r, _ri);
};

/**
 * _DATABINDING_GET_DATA_CONTAINER_FROM_PATH
 */
global.DatabindingGetDataContainerFromPath = function (p0) {
	return _in(0x0c827d17, 0x5f1292f2, _ts(p0), _r, _ri);
};

/**
 * _DATABINDING_GET_ITEM_CONTEXT_BY_INDEX
 */
global.DatabindingGetItemContextByIndex = function (p0, index) {
	return _in(0xe96d7f9f, 0xefcc105f, p0, index, _r, _ri);
};

/**
 * _DATABINDING_INSERT_UI_ITEM_TO_LIST_FROM_CONTEXT_HASH_ALIAS
 */
global.DatabindingInsertUiItemToListFromContextHashAlias = function (p0, index, p2, p3) {
	return _in(0xee97a05c, 0x05f16e41, p0, index, _ch(p2), p3);
};

/**
 * _DATABINDING_INSERT_UI_ITEM_TO_LIST_FROM_CONTEXT_STRING_ALIAS
 */
global.DatabindingInsertUiItemToListFromContextStringAlias = function (p0, index, p2, p3) {
	return _in(0x5859e970, 0x794d92f3, p0, index, _ts(p2), p3);
};

/**
 * _DATABINDING_INSERT_UI_ITEM_TO_LIST_FROM_PATH_STRING_ALIAS
 */
global.DatabindingInsertUiItemToListFromPathStringAlias = function (p0, p1, p2, p3) {
	return _in(0x5740774f, 0x608e4fc8, p0, p1, _ts(p2), p3);
};

/**
 * DATABINDING_IS_ENTRY_VALID
 */
global.DatabindingIsEntryValid = function (entryId) {
	return _in(0x1e713079, 0x3aaaab8d, _ch(entryId), _r, _ri);
};
global.DatabindingIsDataIdValid = global.DatabindingIsEntryValid;

/**
 * _DATABINDING_READ_DATA_BOOL
 */
global.DatabindingReadDataBool = function (p0) {
	return _in(0x5eefbd4b, 0x6d7cd6eb, p0, _r, _ri);
};

/**
 * _DATABINDING_READ_DATA_BOOL_FROM_PARENT
 */
global.DatabindingReadDataBoolFromParent = function (p0, p1) {
	return _in(0xa8ede09f, 0xe07bd77f, p0, _ts(p1), _r, _ri);
};

/**
 * _DATABINDING_READ_DATA_BOOL_FROM_PARENT_BY_HASH
 */
global.DatabindingReadDataBoolFromParentByHash = function (p0, p1) {
	return _in(0x4cdc3fdd, 0xfae07eb3, p0, _ch(p1), _r, _ri);
};

/**
 * _DATABINDING_READ_DATA_HASH_STRING_FROM_PARENT
 */
global.DatabindingReadDataHashStringFromParent = function (p0, p1) {
	return _in(0x9b535990, 0xb01b62de, p0, _ts(p1), _r, _ri);
};

/**
 * _DATABINDING_READ_DATA_HASH_STRING_FROM_PARENT_BY_HASH
 */
global.DatabindingReadDataHashStringFromParentByHash = function (p0, p1) {
	return _in(0x1f43bc25, 0xa119b252, p0, _ch(p1), _r, _ri);
};

/**
 * _DATABINDING_READ_DATA_INT_FROM_PARENT
 */
global.DatabindingReadDataIntFromParent = function (p0, p1) {
	return _in(0xffc566a4, 0x801f6b40, p0, _ts(p1), _r, _ri);
};

/**
 * _DATABINDING_READ_DATA_INT_FROM_PARENT_BY_HASH
 */
global.DatabindingReadDataIntFromParentByHash = function (p0, p1) {
	return _in(0xb5f668b6, 0x48ec0970, p0, _ch(p1), _r, _ri);
};

/**
 * _DATABINDING_READ_DATA_STRING
 */
global.DatabindingReadDataString = function (p0) {
	return _in(0x3d290b5f, 0xfa7c5151, p0, _r, _ri);
};

/**
 * _DATABINDING_READ_DATA_STRING_FROM_PARENT
 */
global.DatabindingReadDataStringFromParent = function (p0, p1) {
	return _in(0x6323ad27, 0x7c4a2afb, p0, _ts(p1), _r, _ri);
};

/**
 * _DATABINDING_READ_FLOAT
 */
global.DatabindingReadFloat = function (entryId) {
	return _in(0x5fe444eb, 0x67c70ad4, _ch(entryId), _r, _rf);
};
global.N_0x5fe444eb67c70ad4 = global.DatabindingReadFloat;

/**
 * _DATABINDING_READ_HASH
 */
global.DatabindingReadHash = function (entryId) {
	return _in(0x81d7183e, 0x7a8eca72, _ch(entryId), _r, _ri);
};
global.N_0x81d7183e7a8eca72 = global.DatabindingReadHash;

/**
 * DATABINDING_READ_INT
 */
global.DatabindingReadInt = function (p0) {
	return _in(0x570784d7, 0x82597512, p0, _r, _ri);
};
global.DatabindingReadDataInt = global.DatabindingReadInt;

/**
 * _DATABINDING_REMOVE_BINDING_ARRAY_ITEM_BY_DATA_CONTEXT_ID
 */
global.DatabindingRemoveBindingArrayItemByDataContextId = function (p0, entryId) {
	return _in(0xf68b1726, 0xeaf7b285, p0, _ch(entryId));
};

/**
 * _DATABINDING_REMOVE_DATA_ENTRY
 */
global.DatabindingRemoveDataEntry = function (entryId) {
	return _in(0x0ae9938d, 0x0541f2da, _ch(entryId));
};

/**
 * _DATABINDING_SET_TEMPLATED_UI_ITEM_HASH_ALIAS
 */
global.DatabindingSetTemplatedUiItemHashAlias = function (p0, p1, p2) {
	return _in(0x0ae7138d, 0x0541f2de, p0, p1, _ch(p2));
};

/**
 * _DATABINDING_SET_TEMPLATED_UI_ITEM_LIST_SIZE
 */
global.DatabindingSetTemplatedUiItemListSize = function (p0, p1) {
	return _in(0xfe74fa57, 0xe0ce6825, p0, p1);
};

/**
 * _DATABINDING_WRITE_DATA_BOOL
 */
global.DatabindingWriteDataBool = function (p0, p1) {
	return _in(0xab888b4b, 0x91046770, p0, p1);
};

/**
 * _DATABINDING_WRITE_DATA_BOOL_FROM_PARENT
 */
global.DatabindingWriteDataBoolFromParent = function (p0, p1, p2) {
	return _in(0xbdfe546e, 0x4c2d0e21, p0, _ts(p1), p2);
};

/**
 * _DATABINDING_WRITE_DATA_FLOAT
 */
global.DatabindingWriteDataFloat = function (p0, p1) {
	return _in(0xdf504bec, 0xeb15da93, p0, _fv(p1));
};

/**
 * _DATABINDING_WRITE_DATA_GANG_ID
 */
global.DatabindingWriteDataGangId = function (p0, p1, gangId) {
	return _in(0xc7004140, 0x8e16be2d, p0, _ts(p1), gangId);
};
global.N_0xc70041408e16be2d = global.DatabindingWriteDataGangId;

/**
 * _DATABINDING_WRITE_DATA_HASH_STRING
 */
global.DatabindingWriteDataHashString = function (p0, p1) {
	return _in(0xacdef586, 0xbd71b1fd, p0, _ch(p1));
};

/**
 * _DATABINDING_WRITE_DATA_HASH_STRING_FROM_PARENT
 */
global.DatabindingWriteDataHashStringFromParent = function (p0, p1, p2) {
	return _in(0x0971f04e, 0x1eaa7ae8, p0, _ts(p1), _ch(p2));
};

/**
 * _DATABINDING_WRITE_DATA_HASH_STRING_FROM_PARENT_BY_HASH
 */
global.DatabindingWriteDataHashStringFromParentByHash = function (p0, p1, p2) {
	return _in(0x20209529, 0x689e0953, p0, _ch(p1), p2);
};

/**
 * _DATABINDING_WRITE_DATA_INT
 */
global.DatabindingWriteDataInt = function (p0, p1) {
	return _in(0x335c3f6b, 0x3766b8d9, p0, p1);
};

/**
 * _DATABINDING_WRITE_DATA_INT_FROM_PARENT
 */
global.DatabindingWriteDataIntFromParent = function (p0, p1, p2) {
	return _in(0x9efa9823, 0x8ba08fc4, p0, _ts(p1), p2);
};

/**
 * _DATABINDING_WRITE_DATA_INT_FROM_PARENT_BY_HASH
 */
global.DatabindingWriteDataIntFromParentByHash = function (p0, p1, p2) {
	return _in(0x9d6e10a4, 0x1d6ed6ec, p0, _ch(p1), p2);
};

/**
 * _DATABINDING_WRITE_DATA_POSSE_ID
 */
global.DatabindingWriteDataPosseId = function (p0, p1, posseId) {
	return _in(0xc7004140, 0x8e16be2e, p0, _ts(p1), posseId);
};
global.N_0xc70041408e16be2e = global.DatabindingWriteDataPosseId;

/**
 * _DATABINDING_WRITE_DATA_SCRIPT_VARIABLES
 */
global.DatabindingWriteDataScriptVariables = function (p0, p1) {
	return _in(0xab888b4b, 0x91046771, p0, p1);
};

/**
 * _DATABINDING_WRITE_DATA_STRING
 */
global.DatabindingWriteDataString = function (p0, p1) {
	return _in(0xe1bd342f, 0x2872aee9, p0, _ts(p1));
};

/**
 * _DATABINDING_WRITE_STRING_FROM_HASH
 */
global.DatabindingWriteStringFromHash = function (p0, p1, p2) {
	return _in(0xa3bd6ff9, 0x5e713ee5, p0, _ch(p1), _ts(p2));
};
global.N_0xa3bd6ff95e713ee5 = global.DatabindingWriteStringFromHash;

/**
 * DATABINDING_WRITE_STRING_FROM_PARENT
 */
global.DatabindingWriteStringFromParent = function (p0, p1, p2) {
	return _in(0x4ff713b2, 0xf17a391e, p0, _ts(p1), _ts(p2));
};
global.DatabindingWriteDataStringFromParent = global.DatabindingWriteStringFromParent;

/**
 * DATADICT_GET_ARRAY
 */
global.DatadictGetArray = function (key) {
	return _in(0x1b5447cf, 0x18544b18, _i, _ts(key), _r, _rl);
};
global.ObjectValueGetArray = global.DatadictGetArray;

/**
 * DATADICT_GET_BOOL
 */
global.DatadictGetBool = function (key) {
	return _in(0x175e915a, 0x486ee548, _i, _ts(key), _r);
};
global.ObjectValueGetBoolean = global.DatadictGetBool;

/**
 * DATADICT_GET_DICT
 */
global.DatadictGetDict = function (key) {
	return _in(0x4d7a3013, 0x0f46ac9c, _i, _ts(key), _r, _rl);
};
global.ObjectValueGetObject = global.DatadictGetDict;

/**
 * DATADICT_GET_FLOAT
 */
global.DatadictGetFloat = function (key) {
	return _in(0x814643ec, 0xa258adf5, _i, _ts(key), _r, _rf);
};
global.ObjectValueGetFloat = global.DatadictGetFloat;

/**
 * DATADICT_GET_INT
 */
global.DatadictGetInt = function (key) {
	return _in(0x9d896a3b, 0x87d96e2b, _i, _ts(key), _r, _ri);
};
global.ObjectValueGetInteger = global.DatadictGetInt;

/**
 * DATADICT_GET_STRING
 */
global.DatadictGetString = function (key) {
	return _in(0xe37b38c0, 0xb4e95dfa, _i, _ts(key), _r, _s);
};
global.ObjectValueGetString = global.DatadictGetString;

/**
 * Types:
 * 1 = Boolean
 * 2 = Integer
 * 3 = Float
 * 4 = String
 * 5 = Vector3
 * 6 = Object
 * 7 = Array
 */
global.DatadictGetType = function (key) {
	return _in(0x92e11e3c, 0xa4c7cdf0, _i, _ts(key), _r, _ri);
};
global.ObjectValueGetType = global.DatadictGetType;

/**
 * DATADICT_GET_VECTOR
 */
global.DatadictGetVector = function (key) {
	return _in(0xe459c941, 0x431e0ffa, _i, _ts(key), _r, _rv);
};
global.ObjectValueGetVector3 = global.DatadictGetVector;

/**
 * DATADICT_IS_ARRAY_VALID
 */
global.DatadictIsArrayValid = function (p0) {
	return _in(0xb04b69cf, 0x277d15c0, p0, _r, _ri);
};
global.N_0xb04b69cf277d15c0 = global.DatadictIsArrayValid;

/**
 * DATADICT_IS_DICT_VALID
 */
global.DatadictIsDictValid = function (p0) {
	return _in(0x4607d57c, 0x5f7d332a, p0, _r, _ri);
};
global.N_0x4607d57c5f7d332a = global.DatadictIsDictValid;

/**
 * DATADICT_SET_INT
 */
global.DatadictSetInt = function (key, value) {
	return _in(0x26fdf5e9, 0x9aa2f3e9, _i, _ts(key), value);
};
global.ObjectValueAddInteger = global.DatadictSetInt;

/**
 * DATAFILE_CREATE
 */
global.DatafileCreate = function (index) {
	return _in(0x56b7291f, 0xb953dd51, index);
};

/**
 * DATAFILE_DELETE
 */
global.DatafileDelete = function (index) {
	return _in(0x9fb90eed, 0xea9f2d5c, index);
};

/**
 * DATAFILE_DELETE_REQUESTED_FILE
 */
global.DatafileDeleteRequestedFile = function (p0) {
	return _in(0x604b8ed1, 0xa482f9df, p0, _r);
};

/**
 * DATAFILE_GET_FILE_DICT
 */
global.DatafileGetFileDict = function (index) {
	return _in(0xbbd8cf82, 0x3cae557c, index, _r, _s);
};

/**
 * DATAFILE_HAS_LOADED_FILE_DATA
 */
global.DatafileHasLoadedFileData = function (p0) {
	return _in(0x17279c82, 0x0464cee0, p0, _r);
};

/**
 * DATAFILE_HAS_VALID_FILE_DATA
 */
global.DatafileHasValidFileData = function (p0) {
	return _in(0xe6010038, 0x9e50eade, p0, _r);
};

/**
 * DATAFILE_SELECT_ACTIVE_FILE
 */
global.DatafileSelectActiveFile = function (p0, p1) {
	return _in(0x46102a09, 0x89ad80b5, p0, p1, _r);
};

/**
 * Reloops value returned by UGC_QUERY_GET_CONTENT_NUM
 */
global.DatafileUgcSelectData = function (ugcRequestId, index, p2) {
	return _in(0x790ec421, 0x078f5c4e, ugcRequestId, index, p2, _r, _ri);
};
global.N_0x790ec421078f5c4e = global.DatafileUgcSelectData;

/**
 * Adds the given request ID to the watch list.
 */
global.DatafileWatchRequestId = function (id) {
	return _in(0xa5834834, 0xca8fd7fc, id);
};

/**
 * _DEACTIVATE_COMPANION_ANALYSIS
 */
global.DeactivateCompanionAnalysis = function (groupId) {
	return _in(0x72b7f65f, 0x11fc8896, groupId);
};
global.N_0x72b7f65f11fc8896 = global.DeactivateCompanionAnalysis;

/**
 * goalContext: see _ACTIVATE_GOAL_CONTEXT
 */
global.DeactivateGoalContext = function (goalContext) {
	return _in(0x50b72a75, 0x4ee64a71, _ch(goalContext));
};
global.N_0x50b72a754ee64a71 = global.DeactivateGoalContext;

/**
 * DEACTIVATE_INTERIOR_ENTITY_SET
 */
global.DeactivateInteriorEntitySet = function (interior, entitySetName, p2) {
	return _in(0x33b81a2c, 0x07a51fff, interior, _ts(entitySetName), p2);
};

/**
 * Returns whether or not the specified property is set for the entity.
 */
global.DecorExistOn = function (entity, propertyName) {
	return _in(0xd9d1cdbf, 0x3464dcdf, entity, _ts(propertyName), _r);
};

/**
 * DECOR_GET_BOOL
 */
global.DecorGetBool = function (entity, propertyName) {
	return _in(0xdef3f1b0, 0x71abb197, entity, _ts(propertyName), _r);
};

/**
 * DECOR_GET_FLOAT
 */
global.DecorGetFloat = function (entity, propertyName) {
	return _in(0xe5ff70cd, 0x842ca9d4, entity, _ts(propertyName), _r, _rf);
};

/**
 * DECOR_GET_INT
 */
global.DecorGetInt = function (entity, propertyName) {
	return _in(0x44db6272, 0x7762fd9b, entity, _ts(propertyName), _r, _ri);
};

/**
 * _DECOR_GET_UINT8
 */
global.DecorGetUint8 = function (entity, propertyName) {
	return _in(0xb1682b24, 0x43f0540b, entity, _ts(propertyName), _r, _ri);
};

/**
 * type: see DECOR_REGISTER
 */
global.DecorIsRegisteredAsType = function (propertyName, type) {
	return _in(0x72355278, 0xc069f272, _ts(propertyName), type, _r);
};

/**
 * DECOR_REGISTER
 */
global.DecorRegister = function (propertyName, type) {
	return _in(0x0b253d64, 0x4e3c36b3, _ts(propertyName), type);
};

/**
 * _DECOR_REGISTER_2
 */
global.DecorRegister_2 = function (propertyName, type, p2) {
	return _in(0x4587374f, 0x88b7f6c2, _ts(propertyName), type, p2);
};

/**
 * DECOR_REMOVE
 */
global.DecorRemove = function (entity, propertyName) {
	return _in(0x2ba7f587, 0x7a088a1d, entity, _ts(propertyName), _r);
};

/**
 * DECOR_REMOVE_ALL
 */
global.DecorRemoveAll = function (entity) {
	return _in(0x88942780, 0xe0adea42, entity, _r);
};
global.DecorRemoveAll = global.DecorRemoveAll;

/**
 * This function sets metadata of type bool to specified entity.
 */
global.DecorSetBool = function (entity, propertyName, value) {
	return _in(0xfe26e460, 0x9b1c3772, entity, _ts(propertyName), value, _r);
};

/**
 * DECOR_SET_FLOAT
 */
global.DecorSetFloat = function (entity, propertyName, value) {
	return _in(0x238f8b0c, 0x1c7fe834, entity, _ts(propertyName), _fv(value), _r);
};

/**
 * Sets property to int.
 */
global.DecorSetInt = function (entity, propertyName, value) {
	return _in(0xe88f4d7f, 0x52a6090f, entity, _ts(propertyName), value, _r);
};

/**
 * DECOR_SET_STRING
 */
global.DecorSetString = function (entity, propertyName, value) {
	return _in(0x0671c1a3, 0xff7afdfc, entity, _ts(propertyName), _ts(value), _r);
};
global.DecorSetString = global.DecorSetString;

/**
 * _DECOR_SET_UINT8
 */
global.DecorSetUint8 = function (entity, propertyName, value) {
	return _in(0x4bdc8315, 0x0d43772d, entity, _ts(propertyName), value, _r);
};

/**
 * DELETE_ALL_TRAINS
 */
global.DeleteAllTrains = function () {
	return _in(0xa3120a13, 0x85f17ff7);
};

/**
 * _DELETE_ANIM_SCENE
 */
global.DeleteAnimScene = function (animScene) {
	return _in(0x84eedb2c, 0x6e650000, animScene);
};
global.N_0x84eedb2c6e650000 = global.DeleteAnimScene;

/**
 * _DELETE_CARRIABLE
 */
global.DeleteCarriable = function (entity) {
	return _in(0x0d0db2b6, 0xaf19a987, _ii(entity) /* may be optional */);
};
global.N_0x0d0db2b6af19a987 = global.DeleteCarriable;

/**
 * DELETE_CHECKPOINT
 */
global.DeleteCheckpoint = function (checkpoint) {
	return _in(0x0ded5b0c, 0x8ebaae12, checkpoint);
};

/**
 * DELETE_CHILD_ROPE
 */
global.DeleteChildRope = function (ropeId) {
	return _in(0xaa5d6b18, 0x88e4db20, ropeId);
};

/**
 * Deletes the specified entity, then sets the handle pointed to by the pointer to NULL.
 */
global.DeleteEntity = function (entity) {
	return _in(0x4cd38c78, 0xbd19a497, _ii(entity) /* may be optional */);
};

/**
 * Must be called from a background script, otherwise it will do nothing.
 */
global.DeleteEntity_2 = function (entity) {
	return _in(0x5e94ea09, 0xe7207c16, _ii(entity) /* may be optional */);
};
global.N_0x5e94ea09e7207c16 = global.DeleteEntity_2;

/**
 * DELETE_FUNCTION_REFERENCE
 */
global.DeleteFunctionReference = function (referenceIdentity) {
	return _in(0x00000000, 0x1e86f206, _ts(referenceIdentity));
};

/**
 * Delete an incident with a given id.
 */
global.DeleteIncident = function (incidentId) {
	return _in(0x5cfd0f0d, 0x6aae0aee, incidentId);
};

/**
 * _DELETE_MGM_SYSTEM
 */
global.DeleteMgmSystem = function (mgmHandle) {
	return _in(0x53cb3970, 0xba02e3cc, mgmHandle);
};
global.N_0x53cb3970ba02e3cc = global.DeleteMgmSystem;

/**
 * DELETE_MISSION_TRAIN
 */
global.DeleteMissionTrain = function (train) {
	return _in(0x0d3630fb, 0x07e8b570, _ii(train) /* may be optional */);
};

/**
 * Deletes the specified object, then sets the handle pointed to by the pointer to NULL.
 */
global.DeleteObject = function (object) {
	return _in(0x93191426, 0x8722c263, _ii(object) /* may be optional */);
};

/**
 * Params: p1 is always false except in script nb_egg_protector
 */
global.DeletePatchObjectsFromHerbComposites = function (compositeId, p1) {
	return _in(0x5758b1ee, 0x0c3fd4ac, compositeId, p1);
};
global.N_0x5758b1ee0c3fd4ac = global.DeletePatchObjectsFromHerbComposites;

/**
 * DELETE_PATROL_ROUTE
 */
global.DeletePatrolRoute = function (patrolRoute) {
	return _in(0x7767dd9d, 0x65e91319, _ts(patrolRoute));
};

/**
 * Deletes the specified ped, then sets the handle pointed to by the pointer to NULL.
 */
global.DeletePed = function (ped) {
	return _in(0xcc0ef140, 0xf99365c5, _ii(ped) /* may be optional */);
};

/**
 * _DELETE_PERSCHAR
 */
global.DeletePerschar = function (persChar) {
	return _in(0xfc77c5b4, 0x4d5ff7c0, persChar);
};
global.N_0xfc77c5b44d5ff7c0 = global.DeletePerschar;

/**
 * _DELETE_PROP_SET
 */
global.DeletePropSet = function (propSet, p1, p2) {
	return _in(0x58ac173a, 0x55d9d7b4, propSet, p1, p2);
};
global.N_0x58ac173a55d9d7b4 = global.DeletePropSet;

/**
 * DELETE_RESOURCE_KVP
 * @param key The key to delete
 */
global.DeleteResourceKvp = function (key) {
	return _in(0x00000000, 0x7389b5df, _ts(key));
};

/**
 * DELETE_ROPE
 */
global.DeleteRope = function (ropeId) {
	return _in(0x52b48292, 0x81364649, _ii(ropeId) /* may be optional */);
};

/**
 * _DELETE_SCENARIO_POINT
 */
global.DeleteScenarioPoint = function (scenario) {
	return _in(0x81948dfe, 0x4f5a0283, scenario);
};
global.N_0x81948dfe4f5a0283 = global.DeleteScenarioPoint;

/**
 * _DELETE_SCRIPT_POPZONE
 */
global.DeleteScriptPopzone = function (popZone) {
	return _in(0xa6e6a66f, 0xc4ca4224, popZone);
};
global.N_0xa6e6a66fc4ca4224 = global.DeleteScriptPopzone;

/**
 * Deletes a vehicle.
 * The vehicle must be a mission entity to delete, so call this before deleting: SET_ENTITY_AS_MISSION_ENTITY(vehicle, true, true);
 * eg how to use:
 * SET_ENTITY_AS_MISSION_ENTITY(vehicle, true, true);
 * DELETE_VEHICLE(&vehicle);
 * Deletes the specified vehicle, then sets the handle pointed to by the pointer to NULL.
 */
global.DeleteVehicle = function (vehicle) {
	return _in(0xe20a909d, 0x8c4a70f8, _ii(vehicle) /* may be optional */);
};

/**
 * Spawn without lanterns set
 */
global.DeleteVehicleLanterns = function (vehicle) {
	return _in(0xe1a83d4a, 0x3b5d7938, vehicle, _r, _ri);
};
global.N_0xe1a83d4a3b5d7938 = global.DeleteVehicleLanterns;

/**
 * DELETE_VOLUME
 */
global.DeleteVolume = function (volume) {
	return _in(0x43f867ef, 0x5c463a53, volume);
};
global.N_0x43f867ef5c463a53 = global.DeleteVolume;

/**
 * BOOL param indicates whether the cam should be destroyed if it belongs to the calling script.
 */
global.DestroyAllCams = function (p0) {
	return _in(0x163600d6, 0xe136c9f8, p0);
};

/**
 * BOOL param indicates whether the cam should be destroyed if it belongs to the calling script.
 */
global.DestroyCam = function (cam, p1) {
	return _in(0x4e67e0b6, 0xd7fd5145, cam, p1);
};

/**
 * Destroys a DUI browser.
 * @param duiObject The DUI browser handle.
 */
global.DestroyDui = function (duiObject) {
	return _in(0x00000000, 0xa085cb10, duiObject);
};

/**
 * DESTROY_ITEMSET
 */
global.DestroyItemset = function (itemset) {
	return _in(0x712bc69f, 0x10549b92, itemset);
};

/**
 * _DESTROY_SWATCH_TEXTURE_DICT
 */
global.DestroySwatchTextureDict = function () {
	return _in(0xdad7fb84, 0x02651654);
};
global.N_0xdad7fb8402651654 = global.DestroySwatchTextureDict;

/**
 * DESTROY_TRACKED_POINT
 */
global.DestroyTrackedPoint = function (point) {
	return _in(0x37a59922, 0x109f8f1c, point);
};

/**
 * DETACH_ANIM_SCENE
 */
global.DetachAnimScene = function (animScene) {
	return _in(0x6843a1aa, 0x3a336dff, animScene);
};

/**
 * DETACH_ANIM_SCENE_PRESERVING_LOCATION
 */
global.DetachAnimScenePreservingLocation = function (animScene) {
	return _in(0xa2507c49, 0x48c83d2e, animScene);
};

/**
 * DETACH_CAM
 */
global.DetachCam = function (cam) {
	return _in(0x05b41ddb, 0xeb559556, cam);
};

/**
 * DETACH_CARRIABLE_ENTITY
 */
global.DetachCarriableEntity = function (entity, p1, p2) {
	return _in(0xed00d72f, 0x81cf7278, entity, p1, p2);
};
global.N_0xed00d72f81cf7278 = global.DetachCarriableEntity;

/**
 * _DETACH_CARRIABLE_PED
 */
global.DetachCarriablePed = function (ped) {
	return _in(0x36d188ae, 0xcb26094b, ped);
};
global.N_0x36d188aecb26094b = global.DetachCarriablePed;

/**
 * _DETACH_DRAFT_VEHICLE_HARNESS_FROM_INDEX
 */
global.DetachDraftVehicleHarnessFromIndex = function (draft, harnessId) {
	return _in(0x44029606, 0x66000e62, draft, harnessId, _r, _ri);
};
global.N_0x4402960666000e62 = global.DetachDraftVehicleHarnessFromIndex;

/**
 * _DETACH_DRAFT_VEHICLE_HARNESS_PED
 */
global.DetachDraftVehicleHarnessPed = function (draft, ped) {
	return _in(0xb36d3ec7, 0x0963be60, draft, ped, _r, _ri);
};
global.N_0xb36d3ec70963be60 = global.DetachDraftVehicleHarnessPed;

/**
 * DETACH_ENTITY
 */
global.DetachEntity = function (entity, p1, collision) {
	return _in(0x64cde9d6, 0xbf8ecad3, entity, p1, collision);
};

/**
 * DETACH_PORTABLE_PICKUP_FROM_PED
 */
global.DetachPortablePickupFromPed = function (pickupObject) {
	return _in(0xcf463d1e, 0x9a0aecb1, pickupObject);
};

/**
 * DETACH_ROPE_FROM_ENTITY
 */
global.DetachRopeFromEntity = function (ropeId, entity) {
	return _in(0xbcf30269, 0x12a8647d, ropeId, entity);
};

/**
 * _DETACH_VOLUME_FROM_ENTITY
 */
global.DetachVolumeFromEntity = function (volume, entity) {
	return _in(0x19c975b8, 0x1be53c28, volume, entity);
};
global.N_0x19c975b81be53c28 = global.DetachVolumeFromEntity;

/**
 * Only used in train_robbery4 R* Script
 * _C* - _DEL*
 */
global.DetachWagonEntityFromTrain = function (entity) {
	return _in(0x54cbdd6e, 0x1b4cb4df, entity);
};
global.N_0x54cbdd6e1b4cb4df = global.DetachWagonEntityFromTrain;

/**
 * DISABLE_ALL_CONTROL_ACTIONS
 */
global.DisableAllControlActions = function (control) {
	return _in(0x5f4b6931, 0x816e599b, control);
};

/**
 * NativeDB Introduced: v1355
 */
global.DisableAllLookAtRequests = function (ped, p1) {
	return _in(0xe1965a38, 0x0342be1f, ped, p1);
};

/**
 * _DISABLE_AMBIENT_LOOK_AT_REQUESTS
 */
global.DisableAmbientLookAtRequests = function (p0, p1) {
	return _in(0x80038740, 0xc96ad17f, p0, p1);
};

/**
 * DISABLE_AMBIENT_ROAD_POPULATION
 */
global.DisableAmbientRoadPopulation = function (unk) {
	return _in(0xc6dcc2a3, 0xa8825c85, unk);
};
global.N_0xc6dcc2a3a8825c85 = global.DisableAmbientRoadPopulation;

/**
 * _DISABLE_AMMO_TYPE_FOR_PED
 */
global.DisableAmmoTypeForPed = function (ped, ammoHash) {
	return _in(0xaa5a5220, 0x4e077883, ped, _ch(ammoHash));
};
global.N_0xaa5a52204e077883 = global.DisableAmmoTypeForPed;

/**
 * _DISABLE_AMMO_TYPE_FOR_PED_WEAPON
 */
global.DisableAmmoTypeForPedWeapon = function (ped, weaponHash, ammoHash) {
	return _in(0xf0d728ee, 0xa3c99775, ped, _ch(weaponHash), _ch(ammoHash));
};
global.N_0xf0d728eea3c99775 = global.DisableAmmoTypeForPedWeapon;

/**
 * attributeIndex: see SET_ATTRIBUTE_BASE_RANK
 */
global.DisableAttributeOverpower = function (ped, attributeIndex) {
	return _in(0xf8dac3d8, 0x5636c241, ped, attributeIndex);
};

/**
 * DISABLE_CAM_COLLISION_FOR_OBJECT
 */
global.DisableCamCollisionForObject = function (entity) {
	return _in(0x7e3f546a, 0xcfe6c8d9, entity);
};
global.N_0x7e3f546acfe6c8d9 = global.DisableCamCollisionForObject;

/**
 * DISABLE_CINEMATIC_BONNET_CAMERA_THIS_UPDATE
 */
global.DisableCinematicBonnetCameraThisUpdate = function () {
	return _in(0xa5929c2e, 0x57ac90d1);
};
global.DisableVehicleFirstPersonCamThisFrame = global.DisableCinematicBonnetCameraThisUpdate;

/**
 * _DISABLE_CINEMATIC_MODE_THIS_FRAME
 */
global.DisableCinematicModeThisFrame = function () {
	return _in(0x8910c24b, 0x7e0046ec);
};
global.N_0x8910c24b7e0046ec = global.DisableCinematicModeThisFrame;

/**
 * DISABLE_CONTROL_ACTION
 */
global.DisableControlAction = function (control, action, disableRelatedActions) {
	return _in(0xfe99b66d, 0x079cf6bc, control, _ch(action), disableRelatedActions);
};

/**
 * DISABLE_ENTITYMASK
 */
global.DisableEntitymask = function () {
	return _in(0x5c9978a2, 0xa3dc3d0d);
};
global.N_0x5c9978a2a3dc3d0d = global.DisableEntitymask;

/**
 * Only used in guama1 R* Script
 * Disables lod/distant lights when BOOL is set to true
 */
global.DisableFarArtificialLights = function (disable) {
	return _in(0xcd284e2f, 0x6ac27ee9, disable);
};
global.N_0xcd284e2f6ac27ee9 = global.DisableFarArtificialLights;

/**
 * nullsub, doesn't do anything
 */
global.DisableFirstPersonFlashEffectThisUpdate = function () {
	return _in(0x77d65669, 0xa05d1a1a);
};
global.N_0x77d65669a05d1a1a = global.DisableFirstPersonFlashEffectThisUpdate;

/**
 * DISABLE_FRONTEND_THIS_FRAME
 */
global.DisableFrontendThisFrame = function () {
	return _in(0x56ce42a5, 0x28156a67);
};

/**
 * _DISABLE_GUARD_ZONE
 */
global.DisableGuardZone = function (name) {
	return _in(0x26d55869, 0x2b25dd95, _ts(name));
};

/**
 * DISABLE_HDTEX_THIS_FRAME
 */
global.DisableHdtexThisFrame = function () {
	return _in(0x98a7cd5e, 0xa379a854);
};
global.N_0x98a7cd5ea379a854 = global.DisableHdtexThisFrame;

/**
 * _DISABLE_HUD_CONTEXT
 */
global.DisableHudContext = function (component) {
	return _in(0x8bc7c1f9, 0x29d07bf3, _ch(component));
};
global.N_0x8bc7c1f929d07bf3 = global.DisableHudContext;

/**
 * DISABLE_INTERIOR
 */
global.DisableInterior = function (interior, toggle) {
	return _in(0x3c2b92a1, 0xa07d4fce, interior, toggle);
};

/**
 * DISABLE_LOOTING_COMPOSITE_LOOTABLE_THIS_FRAME
 */
global.DisableLootingCompositeLootableThisFrame = function (compositeId, p1) {
	return _in(0x40d72189, 0xf46d2e15, compositeId, p1);
};
global.N_0x40d72189f46d2e15 = global.DisableLootingCompositeLootableThisFrame;

/**
 * DISABLE_ON_FOOT_FIRST_PERSON_VIEW_THIS_UPDATE
 */
global.DisableOnFootFirstPersonViewThisUpdate = function () {
	return _in(0x9c473089, 0xa934c930);
};
global.DisableFirstPersonCamThisFrame = global.DisableOnFootFirstPersonViewThisUpdate;

/**
 * Does the same as 0x9C473089A934C930 (DISABLE_ON_FOOT_FIRST_PERSON_VIEW_THIS_UPDATE)
 */
global.DisableOnFootFirstPersonViewThisUpdate_2 = function () {
	return _in(0x05ab44d9, 0x06738426);
};
global.N_0x05ab44d906738426 = global.DisableOnFootFirstPersonViewThisUpdate_2;
global.DisableFirstPersonCamThisFrame_2 = global.DisableOnFootFirstPersonViewThisUpdate_2;

/**
 * DISABLE_PED_INJURED_ON_GROUND_BEHAVIOUR
 */
global.DisablePedInjuredOnGroundBehaviour = function (ped) {
	return _in(0x733c87d4, 0xce22bea2, ped);
};
global.N_0x733c87d4ce22bea2 = global.DisablePedInjuredOnGroundBehaviour;

/**
 * DISABLE_PED_PAIN_AUDIO
 */
global.DisablePedPainAudio = function (ped, toggle) {
	return _in(0xa9a41c1e, 0x940fb0e8, ped, toggle);
};

/**
 * Inhibits the player from using any method of combat including melee and firearms.
 * NOTE: Only disables the firing for one frame
 */
global.DisablePlayerFiring = function (player, toggle) {
	return _in(0x2970929f, 0xd5f9fc89, player, toggle);
};

/**
 * Disables reduced time scale while menus such as weapon wheel and satchel are open.
 */
global.DisableReducedMenuTimeScale = function () {
	return _in(0xc5c7a2f6, 0x567fccbc);
};
global.N_0xc5c7a2f6567fccbc = global.DisableReducedMenuTimeScale;

/**
 * DISABLE_SCRIPT_BRAIN_SET
 */
global.DisableScriptBrainSet = function (brainSet) {
	return _in(0x3f44ea61, 0x3a5b2676, brainSet);
};

/**
 * _DISABLE_STATIC_VEG_MODIFIER
 */
global.DisableStaticVegModifier = function (p0) {
	return _in(0xdd0bc0ed, 0xcb2162f6, _ch(p0));
};
global.N_0xdd0bc0edcb2162f6 = global.DisableStaticVegModifier;

/**
 * DISABLE_VEHICLE_WEAPON
 */
global.DisableVehicleWeapon = function (disabled, weaponHash, vehicle, owner) {
	return _in(0x94b1e71b, 0x144356a5, disabled, _ch(weaponHash), vehicle, owner);
};

/**
 * Must be called every frame to take full effect.
 */
global.DisableWaterLookup = function () {
	return _in(0x754616ec, 0x6965d1fb);
};
global.N_0x754616ec6965d1fb = global.DisableWaterLookup;

/**
 * Disables the game's world horizon lods rendering (see `farlods.#dd`).
 * Using the island hopper natives might also affect this state.
 * @param state On/Off
 */
global.DisableWorldhorizonRendering = function (state) {
	return _in(0x00000000, 0xa9c92cdc, state);
};

/**
 * _DISASSOCIATE_PROP_FROM_SCENARIO
 */
global.DisassociatePropFromScenario = function (scenario, propName) {
	return _in(0x6ef4e31b, 0x4d5d2da0, scenario, _ts(propName), _r, _ri);
};
global.N_0x6ef4e31b4d5d2da0 = global.DisassociatePropFromScenario;

/**
 * If Hud should be displayed
 */
global.DisplayHud = function (toggle) {
	return _in(0xd63fe3af, 0x9fb3d53f, toggle);
};

/**
 * _DISPLAY_LOADING_SCREENS
 */
global.DisplayLoadingScreens = function (p0, p1, p2, gamemodeName, title, subtitle) {
	return _in(0x1e5b70e5, 0x3db661e5, _ch(p0), _ch(p1), _ch(p2), _ts(gamemodeName), _ts(title), _ts(subtitle));
};
global.N_0x1e5b70e53db661e5 = global.DisplayLoadingScreens;

/**
 * enum eOnscreenKeyboardTextType
 * {
 * KTEXTTYPE_INVALID = -1,
 * KTEXTTYPE_DEFAULT,
 * KTEXTTYPE_EMAIL,
 * KTEXTTYPE_PASSWORD,
 * KTEXTTYPE_NUMERIC,
 * KTEXTTYPE_ALPHABET,
 * KTEXTTYPE_GAMERTAG,
 * KTEXTTYPE_FILENAME,
 * KTEXTTYPE_COUNT
 * };
 */
global.DisplayOnscreenKeyboard = function (textType, windowTitle, p2, defaultText, defaultConcat1, defaultConcat2, defaultConcat3, maxInputLength) {
	return _in(0x04413111, 0x8d8db3cd, textType, _ts(windowTitle), _ts(p2), _ts(defaultText), _ts(defaultConcat1), _ts(defaultConcat2), _ts(defaultConcat3), maxInputLength);
};

/**
 * If Minimap / Radar should be displayed.
 */
global.DisplayRadar = function (toggle) {
	return _in(0x1b3da717, 0xb9aff828, toggle);
};

/**
 * nullsub, this native does nothing since build 1436, use _BG_DISPLAY_TEXT (0x16794E044C9EFB58) instead.
 */
global.DisplayText = function (text, xPos, yPos) {
	return _in(0xd79334a4, 0xbb99bad1, text, _fv(xPos), _fv(yPos));
};

/**
 * Fades the screen in.
 * duration: The time the fade should take, in milliseconds.
 */
global.DoScreenFadeIn = function (duration) {
	return _in(0x6a053cf5, 0x96f67df7, duration);
};

/**
 * Fades the screen out.
 * duration: The time the fade should take, in milliseconds.
 */
global.DoScreenFadeOut = function (duration) {
	return _in(0x40c719a5, 0xe410b9e4, duration);
};

/**
 * DOES_ANIM_DICT_EXIST
 */
global.DoesAnimDictExist = function (animDict) {
	return _in(0x537f44cb, 0x0d7f150d, _ts(animDict), _r);
};

/**
 * DOES_ANIM_SCENE_EXIST
 */
global.DoesAnimSceneExist = function (animScene) {
	return _in(0x25557e32, 0x4489393c, animScene, _r, _ri);
};
global.N_0x25557e324489393c = global.DoesAnimSceneExist;

/**
 * _DOES_ANIM_SCENE_OWNERSHIP_OF_ENTITY_EXIST
 */
global.DoesAnimSceneOwnershipOfEntityExist = function (animScene, entityName) {
	return _in(0x9d1eca93, 0x37be9fc3, animScene, _ts(entityName), _r, _ri);
};
global.N_0x9d1eca9337be9fc3 = global.DoesAnimSceneOwnershipOfEntityExist;

/**
 * _DOES_ANIM_SCENE_PLAY_LIST_EXIST
 */
global.DoesAnimScenePlayListExist = function (animScene, playbackListName) {
	return _in(0xa9016536, 0x015de29d, animScene, _ts(playbackListName), _r, _ri);
};
global.N_0xa9016536015de29d = global.DoesAnimScenePlayListExist;

/**
 * DOES_BLIP_EXIST
 */
global.DoesBlipExist = function (blip) {
	return _in(0xcd82fa17, 0x4080b3b1, blip, _r);
};

/**
 * Returns whether or not the passed camera handle exists.
 */
global.DoesCamExist = function (cam) {
	return _in(0x153ad457, 0x764fd704, cam, _r);
};

/**
 * _DOES_CHECKPOINT_HAVE_FX
 */
global.DoesCheckpointHaveFx = function (checkpoint) {
	return _in(0x4c11ccac, 0xb7c02b6e, checkpoint, _r, _ri);
};
global.N_0x4c11ccacb7c02b6e = global.DoesCheckpointHaveFx;

/**
 * _DOES_COMPRESSED_GLOBAL_BLOCK_BUFFER_EXIST
 */
global.DoesCompressedGlobalBlockBufferExist = function (index) {
	return _in(0x66ee5b93, 0xc308f734, index, _r, _ri);
};
global.N_0x66ee5b93c308f734 = global.DoesCompressedGlobalBlockBufferExist;

/**
 * Checks if the ped can play the speech or has the speech file, last parameter is usually false.
 */
global.DoesContextExistForThisPed = function (ped, speechName, unk) {
	return _in(0x49b99bf3, 0xfda89a7a, ped, _ts(speechName), unk, _r);
};
global.CanPedSpeak = global.DoesContextExistForThisPed;

/**
 * _DOES_COVER_POINT_EXIST
 */
global.DoesCoverPointExist = function (handle) {
	return _in(0xc276fe69, 0xdda22bad, handle, _r, _ri);
};
global.N_0xc276fe69dda22bad = global.DoesCoverPointExist;

/**
 * Returns true if the current language is american, french, german, italian, spanish, brazilian or mexican.
 * _DOES_*
 */
global.DoesCurrentLanguageSupportCondensedStyle = function () {
	return _in(0x45d50415, 0xe4d885ff, _r);
};
global.N_0x45d50415e4d885ff = global.DoesCurrentLanguageSupportCondensedStyle;

/**
 * DOES_ENTITY_BELONG_TO_THIS_SCRIPT
 */
global.DoesEntityBelongToThisScript = function (entity, p1) {
	return _in(0x622b1980, 0xcbe13332, entity, p1, _r);
};

/**
 * Checks if the Entity exists
 */
global.DoesEntityExist = function (entity) {
	return _in(0xd42bd6eb, 0x2e0f1677, entity, _r);
};

/**
 * _DOES_ENTITY_HAVE_BLIP
 */
global.DoesEntityHaveBlip = function (entity) {
	return _in(0x9fa00e2f, 0xc134a9d0, entity, _r, _ri);
};
global.N_0x9fa00e2fc134a9d0 = global.DoesEntityHaveBlip;

/**
 * DOES_ENTITY_HAVE_DRAWABLE
 */
global.DoesEntityHaveDrawable = function (entity) {
	return _in(0x20487f0d, 0xa9af164a, entity, _r);
};

/**
 * DOES_ENTITY_HAVE_PHYSICS
 */
global.DoesEntityHavePhysics = function (entity) {
	return _in(0xa512b3f1, 0xb2a0b51c, entity, _r);
};

/**
 * _DOES_ENTITY_WITH_ID_EXIST_IN_ANIM_SCENE
 */
global.DoesEntityWithIdExistInAnimScene = function (animScene, entityId) {
	return _in(0x6f1f0b17, 0x109309da, animScene, _ts(entityId), _r, _ri);
};
global.N_0x6f1f0b17109309da = global.DoesEntityWithIdExistInAnimScene;

/**
 * DOES_EXTRA_EXIST
 */
global.DoesExtraExist = function (vehicle, extraId) {
	return _in(0xaf5e7e9a, 0x7620ffb5, vehicle, extraId, _r);
};

/**
 * DOES_GROUP_EXIST
 */
global.DoesGroupExist = function (groupId) {
	return _in(0x7c6b0c22, 0xf9f40bbe, groupId, _r);
};

/**
 * _DOES_ITEM_HAVE_VALID_BASE
 */
global.DoesItemHaveValidBase = function (item) {
	return _in(0xbdc6e364, 0xc9c78178, item, _r, _ri);
};
global.N_0xbdc6e364c9c78178 = global.DoesItemHaveValidBase;

/**
 * _DOES_META_PED_OUTFIT_EXIST_FOR_PED_MODEL
 */
global.DoesMetaPedOutfitExistForPedModel = function (outfit, model) {
	return _in(0xc0e880b7, 0xa441164d, _ch(outfit), _ch(model), _r, _ri);
};
global.N_0xc0e880b7a441164d = global.DoesMetaPedOutfitExistForPedModel;
global.DoesMetapedOutfitExistForPedModel = global.DoesMetaPedOutfitExistForPedModel;

/**
 * _DOES_META_PED_SUBOUTFIT_EXIST_FOR_PED_MODEL
 */
global.DoesMetaPedSuboutfitExistForPedModel = function (outfit, suboutfit, model) {
	return _in(0x4ff3c2b4, 0xe6a196c1, _ch(outfit), _ch(suboutfit), _ch(model), _r, _ri);
};
global.N_0x4ff3c2b4e6a196c1 = global.DoesMetaPedSuboutfitExistForPedModel;
global.DoesMetapedSuboutfitExistForPedModel = global.DoesMetaPedSuboutfitExistForPedModel;

/**
 * DOES_NAVMESH_BLOCKING_OBJECT_EXIST
 */
global.DoesNavmeshBlockingObjectExist = function (p0) {
	return _in(0x0eaeb0db, 0x4b132399, p0, _r);
};

/**
 * _DOES_NAVMESH_BLOCKING_VOLUME_EXIST
 */
global.DoesNavmeshBlockingVolumeExist = function (volume) {
	return _in(0xde0ea444, 0x735c1368, volume, _r, _ri);
};
global.N_0xde0ea444735c1368 = global.DoesNavmeshBlockingVolumeExist;

/**
 * DOES_OBJECT_OF_TYPE_EXIST_AT_COORDS
 */
global.DoesObjectOfTypeExistAtCoords = function (x, y, z, radius, hash, p5) {
	return _in(0xbfa48e2f, 0xf417213f, _fv(x), _fv(y), _fv(z), _fv(radius), _ch(hash), p5, _r);
};

/**
 * DOES_PARTICLE_FX_LOOPED_EXIST
 */
global.DoesParticleFxLoopedExist = function (ptfxHandle) {
	return _in(0x9dd5aff5, 0x61e88f2a, ptfxHandle, _r);
};

/**
 * DOES_PICKUP_EXIST
 */
global.DoesPickupExist = function (pickup) {
	return _in(0xafc1ca75, 0xad4074d1, pickup, _r);
};

/**
 * DOES_PICKUP_OBJECT_EXIST
 */
global.DoesPickupObjectExist = function (pickupObject) {
	return _in(0xd9efb6db, 0xf7daaea3, pickupObject, _r);
};

/**
 * DOES_PICKUP_OF_TYPE_EXIST_IN_AREA
 */
global.DoesPickupOfTypeExistInArea = function (pickupHash, x, y, z, radius) {
	return _in(0xf9c36251, 0xf6e48e33, _ch(pickupHash), _fv(x), _fv(y), _fv(z), _fv(radius), _r);
};

/**
 * DOES_POP_MULTIPLIER_AREA_EXIST
 */
global.DoesPopMultiplierAreaExist = function (id) {
	return _in(0x03ba619c, 0x81a646b3, id, _r);
};

/**
 * _DOES_POP_MULTIPLIER_AREA_EXIST_FOR_VOLUME
 */
global.DoesPopMultiplierAreaExistForVolume = function (volume) {
	return _in(0x39d6dace, 0x323a20b6, volume, _r, _ri);
};
global.N_0x39d6dace323a20b6 = global.DoesPopMultiplierAreaExistForVolume;

/**
 * DOES_PROP_SET_EXIST
 */
global.DoesPropSetExist = function (propSet) {
	return _in(0x7dddcf81, 0x5e650ff5, propSet, _r, _ri);
};
global.N_0x7dddcf815e650ff5 = global.DoesPropSetExist;

/**
 * _DOES_PROP_SET_OF_TYPE_EXIST_NEAR_COORDS
 */
global.DoesPropSetOfTypeExistNearCoords = function (propsetHash, x, y, z) {
	return _in(0x72068021, 0xf498e6e3, _ch(propsetHash), _fv(x), _fv(y), _fv(z), _r, _ri);
};
global.N_0x72068021f498e6e3 = global.DoesPropSetOfTypeExistNearCoords;

/**
 * DOES_RAYFIRE_MAP_OBJECT_EXIST
 */
global.DoesRayfireMapObjectExist = function (object) {
	return _in(0x52af537a, 0x0c5b8aad, object, _r);
};

/**
 * DOES_ROPE_EXIST
 */
global.DoesRopeExist = function (ropeId) {
	return _in(0xfd5448be, 0x3111ed96, ropeId, _r);
};

/**
 * DOES_SCENARIO_EXIST_IN_AREA
 */
global.DoesScenarioExistInArea = function (x, y, z, radius, p4, p5, p6) {
	return _in(0x5a59271f, 0xfadd33c1, _fv(x), _fv(y), _fv(z), _fv(radius), p4, p5, p6, _r);
};

/**
 * DOES_SCENARIO_GROUP_EXIST
 */
global.DoesScenarioGroupExist = function (scenarioGroup) {
	return _in(0xf9034c13, 0x6c9e00d3, _ts(scenarioGroup), _r);
};

/**
 * _DOES_SCENARIO_GROUP_EXIST_HASH
 */
global.DoesScenarioGroupExistHash = function (scenarioGroup) {
	return _in(0x76e98b52, 0x369a289c, _ch(scenarioGroup), _r);
};

/**
 * DOES_SCENARIO_OF_TYPE_EXIST_IN_AREA_HASH
 */
global.DoesScenarioOfTypeExistInAreaHash = function (x, y, z, typeHash, radius, p5) {
	return _in(0x6eead6af, 0x637da752, _fv(x), _fv(y), _fv(z), _ch(typeHash), _fv(radius), p5, _r, _ri);
};
global.N_0x6eead6af637da752 = global.DoesScenarioOfTypeExistInAreaHash;

/**
 * DOES_SCENARIO_POINT_EXIST
 */
global.DoesScenarioPointExist = function (scenario) {
	return _in(0x841475ac, 0x96e794d1, scenario, _r, _ri);
};
global.N_0x841475ac96e794d1 = global.DoesScenarioPointExist;

/**
 * _DOES_SCENARIO_POINT_HAVE_PROPS
 */
global.DoesScenarioPointHaveProps = function (scenario) {
	return _in(0xea31f199, 0xa73801d3, scenario, _r, _ri);
};
global.N_0xea31f199a73801d3 = global.DoesScenarioPointHaveProps;

/**
 * DOES_SCRIPT_EXIST
 */
global.DoesScriptExist = function (scriptName) {
	return _in(0x552b171e, 0x3f69e5ae, _ts(scriptName), _r);
};

/**
 * DOES_SCRIPT_WITH_NAME_HASH_EXIST
 */
global.DoesScriptWithNameHashExist = function (scriptHash) {
	return _in(0xa34e8974, 0x9f628284, _ch(scriptHash), _r);
};

/**
 * Checks if there is a cover point at position
 */
global.DoesScriptedCoverPointExistAtCoords = function (p0, p1, p2, p3) {
	return _in(0xa98b8e3c, 0x088e5a31, p0, p1, p2, p3, _r);
};

/**
 * DOES_STREAMED_TEXTURE_DICT_EXIST
 */
global.DoesStreamedTextureDictExist = function (textureDict) {
	return _in(0x7332461f, 0xc59eb7ec, _ts(textureDict), _r, _ri);
};
global.N_0x7332461fc59eb7ec = global.DoesStreamedTextureDictExist;

/**
 * DOES_STREAMED_TXD_EXIST
 */
global.DoesStreamedTxdExist = function (txdHash) {
	return _in(0xba0163b2, 0x77c2d2d0, _ch(txdHash), _r, _ri);
};
global.N_0xba0163b277c2d2d0 = global.DoesStreamedTxdExist;

/**
 * _DOES_STRING_EXIST_IN_STRING
 */
global.DoesStringExistInString = function (string1, string2) {
	return _in(0x9382d5d4, 0x3d2aa6ff, _ts(string1), _ts(string2), _r, _ri);
};

/**
 * _DOES_TEXT_BLOCK_EXIST
 */
global.DoesTextBlockExist = function (textDatabase) {
	return _in(0x2c729f2b, 0x94cea911, _ts(textDatabase), _r, _ri);
};
global.N_0x2c729f2b94cea911 = global.DoesTextBlockExist;

/**
 * Checks if the passed gxt name exists in the game files.
 */
global.DoesTextLabelExist = function (label) {
	return _in(0x73c258c6, 0x8d6f55b6, _ts(label), _r);
};

/**
 * DOES_THREAD_EXIST
 */
global.DoesThreadExist = function (threadId) {
	return _in(0xff975bc4, 0x435a0fa3, threadId, _r, _ri);
};
global.N_0xff975bc4435a0fa3 = global.DoesThreadExist;

/**
 * Returns true if calling script owns specified entity
 */
global.DoesThreadOwnThisEntity = function (entity) {
	return _in(0x88ad6cc1, 0x0d8d35b2, entity, _r, _ri);
};
global.N_0x88ad6cc10d8d35b2 = global.DoesThreadOwnThisEntity;

/**
 * DOES_TIMECYCLE_MODIFIER_HAS_VAR
 * @param modifierName The name of timecycle modifier.
 * @param varName The name of timecycle variable.
 * @return Whether or not variable by name was found on the specified timecycle modifier.
 */
global.DoesTimecycleModifierHasVar = function (modifierName, varName) {
	return _in(0x00000000, 0xc53bb6d3, _ts(modifierName), _ts(varName), _r);
};

/**
 * _DOES_TRAIN_EXIST_ON_TRACK
 */
global.DoesTrainExistOnTrack = function (trackIndex) {
	return _in(0xc29996a3, 0x37bdd099, trackIndex, _r, _ri);
};
global.N_0xc29996a337bdd099 = global.DoesTrainExistOnTrack;

/**
 * _DOES_VEHICLE_HAVE_ANY_LIGHT_PROP_SET
 */
global.DoesVehicleHaveAnyLightPropSet = function (vehicle) {
	return _in(0xc9b4b3a3, 0x6f81fd75, vehicle, _r, _ri);
};
global.N_0xc9b4b3a36f81fd75 = global.DoesVehicleHaveAnyLightPropSet;

/**
 * _DOES_VEHICLE_HAVE_ANY_PROP_SET
 */
global.DoesVehicleHaveAnyPropSet = function (vehicle) {
	return _in(0x53784cea, 0x0159439b, vehicle, _r, _ri);
};
global.N_0x53784cea0159439b = global.DoesVehicleHaveAnyPropSet;

/**
 * DOES_VOLUME_COLLIDE_WITH_ANY_VOLUME_LOCK
 */
global.DoesVolumeCollideWithAnyVolumeLock = function (x, y, z, radius, p4, p5, p6) {
	return _in(0x39776917, 0x5a7dbb30, _fv(x), _fv(y), _fv(z), _fv(radius), p4, p5, p6, _r, _ri);
};
global.N_0x397769175a7dbb30 = global.DoesVolumeCollideWithAnyVolumeLock;

/**
 * DOES_VOLUME_EXIST
 */
global.DoesVolumeExist = function (volume) {
	return _in(0x92a78d0b, 0xedb332a3, volume, _r, _ri);
};
global.N_0x92a78d0bedb332a3 = global.DoesVolumeExist;

/**
 * Hardcoded to return zero/false.
 */
global.DominoesBuyIn = function (p0) {
	return _in(0x399e6cd1, 0x2fc8ca89, p0, _r, _ri);
};

/**
 * Hardcoded to return zero/false.
 */
global.DominoesPlaceDomino = function (p0, p1) {
	return _in(0xb79a29b3, 0x3bf29ba5, p0, p1, _r, _ri);
};

/**
 * Hardcoded to return zero/false.
 */
global.DominoesRequestValidPlacements = function (p0) {
	return _in(0xe26aee7e, 0x67d9e21d, p0, _r, _ri);
};

/**
 * _DOOR_SYSTEM_CHANGE_SCRIPT_OWNER
 */
global.DoorSystemChangeScriptOwner = function (doorHash) {
	return _in(0x985767f5, 0xfa45bc44, _ch(doorHash));
};
global.N_0x985767f5fa45bc44 = global.DoorSystemChangeScriptOwner;

/**
 * _DOOR_SYSTEM_FORCE_SHUT
 */
global.DoorSystemForceShut = function (doorHash, p1) {
	return _in(0x276aaf0f, 0x1c7f2494, _ch(doorHash), p1);
};
global.N_0x276aaf0f1c7f2494 = global.DoorSystemForceShut;

/**
 * Returns a list of door system entries: a door system hash (see [ADD_DOOR_TO_SYSTEM](#\_0x6F8838D03D1DC226)) and its object handle.
 * The data returned adheres to the following layout:
 * ```
 * [{doorHash1, doorHandle1}, ..., {doorHashN, doorHandleN}]
 * ```
 * @return An object containing a list of door system entries.
 */
global.DoorSystemGetActive = function () {
	return _in(0x00000000, 0xf65bba4b, _r, _ro);
};

/**
 * _DOOR_SYSTEM_GET_AUTOMATIC_RATE
 */
global.DoorSystemGetAutomaticRate = function (doorHash) {
	return _in(0x8433e195, 0x4be323fc, _ch(doorHash), _r, _rf);
};
global.N_0x8433e1954be323fc = global.DoorSystemGetAutomaticRate;

/**
 * DOOR_SYSTEM_GET_DOOR_STATE
 */
global.DoorSystemGetDoorState = function (doorHash) {
	return _in(0x160aa1b3, 0x2f6139b8, _ch(doorHash), _r, _ri);
};

/**
 * DOOR_SYSTEM_GET_OPEN_RATIO
 */
global.DoorSystemGetOpenRatio = function (doorHash) {
	return _in(0x65499865, 0xfca6e5ec, _ch(doorHash), _r, _rf);
};

/**
 * DOOR_SYSTEM_GET_SIZE
 * @return The number of doors registered in the system
 */
global.DoorSystemGetSize = function () {
	return _in(0x00000000, 0x237613b3, _r, _ri);
};

/**
 * _DOOR_SYSTEM_SET_ABLE_TO_CHANGE_OPEN_RATIO_WHILE_LOCKED
 */
global.DoorSystemSetAbleToChangeOpenRatioWhileLocked = function (doorHash, p1) {
	return _in(0x1f1fabfe, 0x9b2a1254, _ch(doorHash), p1);
};
global.N_0x1f1fabfe9b2a1254 = global.DoorSystemSetAbleToChangeOpenRatioWhileLocked;

/**
 * DOOR_SYSTEM_SET_AUTOMATIC_DISTANCE
 */
global.DoorSystemSetAutomaticDistance = function (doorHash, distance) {
	return _in(0x9ba001cb, 0x45cbf627, _ch(doorHash), _fv(distance));
};

/**
 * DOOR_SYSTEM_SET_AUTOMATIC_RATE
 */
global.DoorSystemSetAutomaticRate = function (doorHash, rate) {
	return _in(0x03c27e13, 0xb42a0e82, _ch(doorHash), _fv(rate));
};

/**
 * _ALLOW_* - _ATTACH_*
 */
global.DoorSystemSetAutomaticState = function (doorHash, disable) {
	return _in(0x1bc47a9d, 0xedc8df5d, _ch(doorHash), disable);
};
global.N_0x1bc47a9dedc8df5d = global.DoorSystemSetAutomaticState;

/**
 * Door lock states:
 * enum eDoorState
 * {
 * DOORSTATE_INVALID = -1,
 * DOORSTATE_UNLOCKED,
 * DOORSTATE_LOCKED_UNBREAKABLE,
 * DOORSTATE_LOCKED_BREAKABLE,
 * DOORSTATE_HOLD_OPEN_POSITIVE,
 * DOORSTATE_HOLD_OPEN_NEGATIVE
 * };
 */
global.DoorSystemSetDoorState = function (doorHash, state) {
	return _in(0x6bab9442, 0x830c7f53, _ch(doorHash), state);
};

/**
 * Sets the ajar angle of a door.
 * Ranges from -1.0 to 1.0, and 0.0 is closed / default.
 */
global.DoorSystemSetOpenRatio = function (doorHash, ajar, forceUpdate) {
	return _in(0xb6e6fba9, 0x5c7324ac, _ch(doorHash), _fv(ajar), forceUpdate);
};

/**
 * DRAW_BOX
 */
global.DrawBox = function (x1, y1, z1, x2, y2, z2, red, green, blue, alpha) {
	return _in(0x00000000, 0xcd4d9dd5, _fv(x1), _fv(y1), _fv(z1), _fv(x2), _fv(y2), _fv(z2), red, green, blue, alpha);
};

/**
 * DRAW_LIGHT_WITH_RANGE
 */
global.DrawLightWithRange = function (posX, posY, posZ, colorR, colorG, colorB, range, intensity) {
	return _in(0xd2d9e04c, 0x0df927f4, _fv(posX), _fv(posY), _fv(posZ), colorR, colorG, colorB, _fv(range), _fv(intensity));
};

/**
 * DRAW_LINE
 */
global.DrawLine = function (x1, y1, z1, x2, y2, z2, red, green, blue, alpha) {
	return _in(0x00000000, 0xb3426bcc, _fv(x1), _fv(y1), _fv(z1), _fv(x2), _fv(y2), _fv(z2), red, green, blue, alpha);
};

/**
 * nullsub, doesn't do anything (GTA5 leftover, there is no phone in RDR3)
 */
global.DrawLowQualityPhotoToPhone = function (p0, photoRotation) {
	return _in(0xf1142e5d, 0x64b47802, p0, photoRotation);
};
global.N_0xf1142e5d64b47802 = global.DrawLowQualityPhotoToPhone;

/**
 * https://github.com/femga/rdr3_discoveries/blob/master/graphics/markers/marker_types.lua
 */
global.DrawMarker = function (type, posX, posY, posZ, dirX, dirY, dirZ, rotX, rotY, rotZ, scaleX, scaleY, scaleZ, red, green, blue, alpha, bobUpAndDown, faceCamera, p19, rotate, textureDict, textureName, drawOnEnts) {
	return _in(0x2a32faa5, 0x7b937173, _ch(type), _fv(posX), _fv(posY), _fv(posZ), _fv(dirX), _fv(dirY), _fv(dirZ), _fv(rotX), _fv(rotY), _fv(rotZ), _fv(scaleX), _fv(scaleY), _fv(scaleZ), red, green, blue, alpha, bobUpAndDown, faceCamera, p19, rotate, _ts(textureDict), _ts(textureName), drawOnEnts);
};
global.N_0x2a32faa57b937173 = global.DrawMarker;

/**
 * DRAW_POLY
 */
global.DrawPoly = function (x1, y1, z1, x2, y2, z2, x3, y3, z3, red, green, blue, alpha) {
	return _in(0x00000000, 0xabd19253, _fv(x1), _fv(y1), _fv(z1), _fv(x2), _fv(y2), _fv(z2), _fv(x3), _fv(y3), _fv(z3), red, green, blue, alpha);
};

/**
 * Draws a rectangle on the screen.
 * -x: The relative X point of the center of the rectangle. (0.0-1.0, 0.0 is the left edge of the screen, 1.0 is the right edge of the screen)
 * -y: The relative Y point of the center of the rectangle. (0.0-1.0, 0.0 is the top edge of the screen, 1.0 is the bottom edge of the screen)
 * -width: The relative width of the rectangle. (0.0-1.0, 1.0 means the whole screen width)
 * -height: The relative height of the rectangle. (0.0-1.0, 1.0 means the whole screen height)
 * -R: Red part of the color. (0-255)
 * -G: Green part of the color. (0-255)
 * -B: Blue part of the color. (0-255)
 * -A: Alpha part of the color. (0-255, 0 means totally transparent, 255 means totally opaque)
 */
global.DrawRect = function (x, y, width, height, red, green, blue, alpha, p8, p9) {
	return _in(0x40522459, 0x1df02025, _fv(x), _fv(y), _fv(width), _fv(height), red, green, blue, alpha, p8, p9);
};

/**
 * Draws a 2D sprite on the screen.
 * Parameters:
 * textureDict - Name of texture dictionary to load texture from
 * textureName - Name of texture to load from texture dictionary
 * screenX/Y - Screen offset (0.5 = center)
 * scaleX/Y - Texture scaling. Negative values can be used to flip the texture on that axis. (0.5 = half)
 * heading - Texture rotation in degrees (default = 0.0) positive is clockwise, measured in degrees
 * red,green,blue - Sprite color (default = 255/255/255)
 * alpha - opacity level
 * https://github.com/femga/rdr3_discoveries/tree/master/useful_info_from_rpfs/textures
 */
global.DrawSprite = function (textureDict, textureName, screenX, screenY, width, height, heading, red, green, blue, alpha, p11) {
	return _in(0xc9884eca, 0xde94cb34, _ts(textureDict), _ts(textureName), _fv(screenX), _fv(screenY), _fv(width), _fv(height), _fv(heading), red, green, blue, alpha, p11);
};

/**
 * DRAW_TV_CHANNEL
 */
global.DrawTvChannel = function (xPos, yPos, xScale, yScale, rotation, red, green, blue, alpha) {
	return _in(0xc0a14554, 0x0254a840, _fv(xPos), _fv(yPos), _fv(xScale), _fv(yScale), _fv(rotation), red, green, blue, alpha);
};

/**
 * DUPLICATE_FUNCTION_REFERENCE
 */
global.DuplicateFunctionReference = function (referenceIdentity) {
	return _in(0x00000000, 0xf4e2079d, _ts(referenceIdentity), _r, _s);
};

/**
 * _EAGLE_EYE_DISABLE_TRACKING_TRAIL
 */
global.EagleEyeDisableTrackingTrail = function (entity, trail, p2, p3) {
	return _in(0x40ab7309, 0x2c95b5f5, entity, _ts(trail), p2, p3);
};
global.N_0x40ab73092c95b5f5 = global.EagleEyeDisableTrackingTrail;

/**
 * false: default eagleeye color
 * true: green eagleeye color
 */
global.EagleEyeSetColor = function (player, p1, p2) {
	return _in(0x2c41d93f, 0x550d5e37, player, p1, _ii(p2) /* may be optional */);
};
global.N_0x2c41d93f550d5e37 = global.EagleEyeSetColor;

/**
 * _EAGLE_EYE_SET_CUSTOM_DISTANCE
 */
global.EagleEyeSetCustomDistance = function (entity, distance) {
	return _in(0x907b16b3, 0x834c69e2, entity, _fv(distance));
};
global.N_0x907b16b3834c69e2 = global.EagleEyeSetCustomDistance;

/**
 * EAGLE_EYE_SET_CUSTOM_ENTITY_TINT
 */
global.EagleEyeSetCustomEntityTint = function (entity, red, green, blue) {
	return _in(0x62ed71e1, 0x33b6c9f1, entity, red, green, blue);
};
global.N_0x62ed71e133b6c9f1 = global.EagleEyeSetCustomEntityTint;

/**
 * _EAGLE_EYE_SET_DRAIN_RATE_MODIFIER
 */
global.EagleEyeSetDrainRateModifier = function (player, modifier) {
	return _in(0xe0d6c2a1, 0x46a5c993, player, _fv(modifier));
};
global.N_0xe0d6c2a146a5c993 = global.EagleEyeSetDrainRateModifier;

/**
 * _EAGLE_EYE_SET_FOCUS_ON_ASSOCIATED_CLUE_TRAIL
 */
global.EagleEyeSetFocusOnAssociatedClueTrail = function (player, linkedWaypointPed) {
	return _in(0x2af423d6, 0xecb2c485, player, linkedWaypointPed);
};
global.N_0x2af423d6ecb2c485 = global.EagleEyeSetFocusOnAssociatedClueTrail;

/**
 * _EAGLE_EYE_SET_PLUS_FLAG_DISABLED
 */
global.EagleEyeSetPlusFlagDisabled = function (ped, disabled) {
	return _in(0xce285a44, 0x13b00b7f, ped, disabled);
};
global.N_0xce285a4413b00b7f = global.EagleEyeSetPlusFlagDisabled;

/**
 * _EAGLE_EYE_SET_TRACKING_UPGRADE
 */
global.EagleEyeSetTrackingUpgrade = function (player, p1) {
	return _in(0xdfc85c51, 0x99045026, player, _fv(p1));
};
global.N_0xdfc85c5199045026 = global.EagleEyeSetTrackingUpgrade;

/**
 * NativeDB Introduced: v1311
 */
global.EagleEyeSetTrackingUpgrade_2 = function (player, p1) {
	return _in(0x6fa957d1, 0xb55941c1, player, _fv(p1));
};

/**
 * ENABLE_AMBIENT_ROAD_POPULATION
 */
global.EnableAmbientRoadPopulation = function () {
	return _in(0xbc90bdf4, 0xe5228ea1);
};
global.N_0xbc90bdf4e5228ea1 = global.EnableAmbientRoadPopulation;

/**
 * _ENABLE_AMMO_TYPE_FOR_PED
 */
global.EnableAmmoTypeForPed = function (ped, weaponHash) {
	return _in(0x3b7b7908, 0xb7adfb4b, ped, _ch(weaponHash));
};
global.N_0x3b7b7908b7adfb4b = global.EnableAmmoTypeForPed;

/**
 * _ENABLE_AMMO_TYPE_FOR_PED_WEAPON
 */
global.EnableAmmoTypeForPedWeapon = function (ped, weaponHash, ammoHash) {
	return _in(0x23fb9fac, 0xa28779c1, ped, _ch(weaponHash), _ch(ammoHash));
};
global.N_0x23fb9faca28779c1 = global.EnableAmmoTypeForPedWeapon;

/**
 * coreIndex: see _SET_ATTRIBUTE_CORE_VALUE
 * Previously incorrectly named ENABLE_ATTRIBUTE_OVERPOWER
 */
global.EnableAttributeCoreOverpower = function (ped, coreIndex, value, makeSound) {
	return _in(0x4af5a4c7, 0xb9157d14, ped, coreIndex, _fv(value), makeSound);
};
global.N_0x4af5a4c7b9157d14 = global.EnableAttributeCoreOverpower;

/**
 * attributeIndex: see SET_ATTRIBUTE_BASE_RANK
 */
global.EnableAttributeOverpower = function (ped, attributeIndex, value, makeSound) {
	return _in(0xf6a7c08d, 0xf2e28b28, ped, attributeIndex, _fv(value), makeSound);
};
global.N_0xf6a7c08df2e28b28 = global.EnableAttributeOverpower;

/**
 * ENABLE_CONTROL_ACTION
 */
global.EnableControlAction = function (control, action, enableRelatedActions) {
	return _in(0x35122025, 0x5d64c155, control, _ch(action), enableRelatedActions);
};

/**
 * _ENABLE_CUSTOM_DEADEYE_ABILITY
 */
global.EnableCustomDeadeyeAbility = function (player, enable) {
	return _in(0x95ee1dee, 0x1dcd9070, player, enable);
};
global.N_0x95ee1dee1dcd9070 = global.EnableCustomDeadeyeAbility;

/**
 * _ENABLE_DISPATCH_LAW
 */
global.EnableDispatchLaw = function (toggle) {
	return _in(0xc805eb78, 0x5824f712, toggle);
};
global.N_0xc805eb785824f712 = global.EnableDispatchLaw;

/**
 * _ENABLE_DISPATCH_LAW_2
 */
global.EnableDispatchLaw_2 = function (toggle) {
	return _in(0x710448d4, 0x4a64c213, toggle);
};
global.N_0x710448d44a64c213 = global.EnableDispatchLaw_2;

/**
 * enum DispatchType
 * {
 * DT_Invalid,
 * DT_PoliceAutomobile,
 * DT_PoliceHelicopter,
 * DT_FireDepartment,
 * DT_SwatAutomobile,
 * DT_AmbulanceDepartment,
 * DT_PoliceRiders,
 * DT_PoliceVehicleRequest,
 * DT_PoliceRoadBlock,
 * DT_PoliceAutomobileWaitPulledOver,
 * DT_PoliceAutomobileWaitCruising,
 * DT_Gangs,
 * DT_SwatHelicopter,
 * DT_PoliceBoat,
 * DT_ArmyVehicle,
 * DT_OnFoot,
 * DT_PoliceDogs
 * };
 */
global.EnableDispatchService = function (dispatchService, toggle) {
	return _in(0x50e52637, 0xef70ef77, dispatchService, toggle);
};

/**
 * (Un)lock Eagle Eye functionality
 */
global.EnableEagleeye = function (player, enable) {
	return _in(0xa63fcad3, 0xa6fec6d2, player, enable);
};
global.N_0xa63fcad3a6fec6d2 = global.EnableEagleeye;

/**
 * ENABLE_ENTITYMASK
 */
global.EnableEntitymask = function () {
	return _in(0xfaad23de, 0x7a54fc14);
};
global.N_0xfaad23de7a54fc14 = global.EnableEntitymask;

/**
 * https://github.com/femga/rdr3_discoveries/tree/master/graphics/HUD/hud_presets
 */
global.EnableHudContext = function (component) {
	return _in(0x4cc5f2fc, 0x1332577f, _ch(component));
};
global.N_0x4cc5f2fc1332577f = global.EnableHudContext;

/**
 * _ENABLE_HUD_CONTEXT_THIS_FRAME
 */
global.EnableHudContextThisFrame = function (component) {
	return _in(0xc9caeaee, 0xc1256e54, _ch(component));
};
global.N_0xc9caeaeec1256e54 = global.EnableHudContextThisFrame;

/**
 * ENABLE_MOON_CYCLE_OVERRIDE
 */
global.EnableMoonCycleOverride = function (strength) {
	return _in(0x6fe93bcc, 0x7bf12b63, _fv(strength));
};
global.SetExtraTimecycleModifierStrength = global.EnableMoonCycleOverride;

/**
 * nullsub, doesn't do anything
 */
global.EnableMovieSubtitles = function (toggle) {
	return _in(0x6fc9b065, 0x229c0787, toggle);
};

/**
 * Enables reduced time scale while menus such as weapon wheel and satchel are open.
 */
global.EnableReducedMenuTimeScale = function () {
	return _in(0x26f6bbea, 0x2ce3e3dc);
};
global.N_0x26f6bbea2ce3e3dc = global.EnableReducedMenuTimeScale;

/**
 * ENABLE_SCRIPT_BRAIN_SET
 */
global.EnableScriptBrainSet = function (brainSet) {
	return _in(0x1cf6e5c6, 0x750eadbd, brainSet);
};

/**
 * _ENABLE_STATIC_VEG_MODIFIER
 */
global.EnableStaticVegModifier = function (p0) {
	return _in(0xdfea23ec, 0x90113657, _ch(p0));
};
global.N_0xdfea23ec90113657 = global.EnableStaticVegModifier;

/**
 * ENABLE_WATER_LOOKUP
 */
global.EnableWaterLookup = function () {
	return _in(0x754616ec, 0x6965d1bf);
};
global.N_0x754616ec6965d1bf = global.EnableWaterLookup;

/**
 * _ENABLE_WEAPON_RESTORE
 */
global.EnableWeaponRestore = function (ped) {
	return _in(0xc3953558, 0x43be134b, ped, _r, _ri);
};
global.N_0xc395355843be134b = global.EnableWeaponRestore;

/**
 * END_DUEL
 */
global.EndDuel = function (ped, p1, p2) {
	return _in(0xeed08a3a, 0x98b847e2, ped, p1, _fv(p2));
};
global.N_0xeed08a3a98b847e2 = global.EndDuel;

/**
 * END_FIND_KVP
 * @param handle The KVP find handle returned from [START_FIND_KVP](#\_0xDD379006)
 * @return None.
 */
global.EndFindKvp = function (handle) {
	return _in(0x00000000, 0xb3210203, handle);
};

/**
 * END_FIND_OBJECT
 */
global.EndFindObject = function (findHandle) {
	return _in(0x00000000, 0xdeda4e50, findHandle);
};

/**
 * END_FIND_PED
 */
global.EndFindPed = function (findHandle) {
	return _in(0x00000000, 0x9615c2ad, findHandle);
};

/**
 * END_FIND_PICKUP
 */
global.EndFindPickup = function (findHandle) {
	return _in(0x00000000, 0x3c407d53, findHandle);
};

/**
 * END_FIND_VEHICLE
 */
global.EndFindVehicle = function (findHandle) {
	return _in(0x00000000, 0x9227415a, findHandle);
};

/**
 * END_PETROL_TRAIL_DECALS
 */
global.EndPetrolTrailDecals = function () {
	return _in(0x0e126aae, 0x933f3b56);
};

/**
 * END_SRL
 */
global.EndSrl = function () {
	return _in(0x1ce71fb3, 0x3ca079fe);
};

/**
 * Internal function for ensuring an entity has a state bag.
 */
global.EnsureEntityStateBag = function (entity) {
	return _in(0x00000000, 0x3bb78f05, entity);
};

/**
 * Note: you have to update your ped's variation after calling (using 0xCC8CA3E88256E58F)
 * Body Types:
 * MPCREATOR_NEUTRAL
 * MPCREATOR_SKINNY
 * MPCREATOR_SKINNY_MUSCULAR
 * MPCREATOR_HEAVY
 * MPCREATOR_HEAVY_MUSCULAR
 * eBodyWeightOutfit (pedattributes.ymt):
 * -2045421226 (smallest)
 * -1745814259
 * -325933489
 * -1065791927
 * -844699484
 * -1273449080
 * 927185840
 * 149872391
 * 399015098
 * -644349862
 * 1745919061 (default)
 * 1004225511
 * 1278600348
 * 502499352
 * -2093198664
 * -1837436619
 * 1736416063
 * 2040610690
 * -1173634986
 * -867801909
 * 1960266524 (biggest)
 * https://github.com/femga/rdr3_discoveries/blob/master/peds_customization/ped_outfits.lua
 * Alt name: _EQUIP_META_PED_OUTFIT_COMPONENT
 */
global.EquipMetaPedOutfit = function (ped, hash) {
	return _in(0x1902c4cf, 0xcc5be57c, ped, _ch(hash));
};
global.N_0x1902c4cfcc5be57c = global.EquipMetaPedOutfit;

/**
 * Changes Multiplayer ped face and body type components, they can be stacked
 * Params: p3 = 1
 * Body shape for mp_male from 124 - 128, 110 - 115 for mp_female
 * Face shape for mp_male from 110 - 123, 96 - 109 for mp_female
 * Cloth type for mp_male from 0 - 109, 0 - 95 for mp_female
 */
global.EquipMetaPedOutfitExtra = function (ped, component, p2, p3) {
	return _in(0xa5bae410, 0xb03e7371, ped, component, p2, p3);
};
global.N_0xa5bae410b03e7371 = global.EquipMetaPedOutfitExtra;

/**
 * Sets the outfit preset for the ped. The presetId is an index which determines its preset outfit. p2 is always false in the scripts.
 * If p2 is true as player, then certain components like facial hair and hair will not be removed.
 */
global.EquipMetaPedOutfitPreset = function (ped, presetId, p2) {
	return _in(0x77ff8d35, 0xeec6bbc4, ped, presetId, p2);
};
global.SetPedOutfitPreset = global.EquipMetaPedOutfitPreset;

/**
 * _EQUIP_META_PED_SUBOUTFIT
 */
global.EquipMetaPedSuboutfit = function (ped, suboutfit, p2) {
	return _in(0x66ff3954, 0x45a88a6e, ped, _ch(suboutfit), p2);
};
global.N_0x66ff395445a88a6e = global.EquipMetaPedSuboutfit;

/**
 * _EVENT_FLUSH_ALL_EVENT_TRACKERS
 */
global.EventFlushAllEventTrackers = function (ped) {
	return _in(0xad8f2424, 0xc6e1e3a8, ped);
};
global.N_0xad8f2424c6e1e3a8 = global.EventFlushAllEventTrackers;

/**
 * Returns eventType
 */
global.EventGetRecentEvent = function (entity, p1, p2) {
	return _in(0x796eecff, 0x0c6d39be, entity, p1, p2, _r, _ri);
};
global.N_0x796eecff0c6d39be = global.EventGetRecentEvent;

/**
 * _EVENT_GET_SOURCE_ENTITY_FROM_EVENT
 */
global.EventGetSourceEntityFromEvent = function (entity, eventType, p2, p3) {
	return _in(0x822a001b, 0xcea5bd81, entity, _ch(eventType), p2, p3, _r, _ri);
};
global.N_0x822a001bcea5bd81 = global.EventGetSourceEntityFromEvent;

/**
 * _EVENT_GET_TARGET_ENTITY_FROM_EVENT
 */
global.EventGetTargetEntityFromEvent = function (entity, eventType, p2, p3) {
	return _in(0x38497f13, 0x9981c5c9, entity, _ch(eventType), p2, p3, _r, _ri);
};
global.N_0x38497f139981c5c9 = global.EventGetTargetEntityFromEvent;

/**
 * _EVENT_GET_TIME_SINCE_EVENT
 */
global.EventGetTimeSinceEvent = function (entity, eventType, p2, p3) {
	return _in(0xc6a7dc54, 0x6e94fed5, entity, _ch(eventType), p2, p3, _r, _ri);
};
global.N_0xc6a7dc546e94fed5 = global.EventGetTimeSinceEvent;

/**
 * _EVENT_QUEUE_IS_EMPTY
 */
global.EventQueueIsEmpty = function (hash) {
	return _in(0x402b5d7d, 0x269ff796, _ch(hash), _r, _ri);
};

/**
 * _EVENT_QUEUE_POP
 */
global.EventQueuePop = function (hash) {
	return _in(0xd87df294, 0xb049211d, _ch(hash));
};

/**
 * eventData:
 * struct UI_SCRIPT_EVENT
 * {
 * alignas(8) eUIScriptEventType eventType; // https://alloc8or.re/rdr3/doc/enums/eUIScriptEventType.txt
 * alignas(8) int intParam;
 * alignas(8) Hash hashParam;
 * alignas(8) Hash datastoreParam;
 * };
 */
global.EventsUiGetMessage = function (hash, eventData) {
	return _in(0xe24e9572, 0x94241444, _ch(hash), _ii(eventData) /* may be optional */, _r);
};
global.EventManagerGetEvent = global.EventsUiGetMessage;

/**
 * EVENTS_UI_IS_PENDING
 */
global.EventsUiIsPending = function (hash) {
	return _in(0x67ed5a79, 0x63f2f722, _ch(hash), _r);
};
global.EventManagerIsEventPending = global.EventsUiIsPending;

/**
 * eventData: see EVENTS_UI_GET_MESSAGE
 */
global.EventsUiPeekMessage = function (hash, eventData) {
	return _in(0x90237103, 0xf27f7937, _ch(hash), _ii(eventData) /* may be optional */, _r);
};
global.EventManagerPeekEvent = global.EventsUiPeekMessage;

/**
 * EVENTS_UI_POP_MESSAGE
 */
global.EventsUiPopMessage = function (hash) {
	return _in(0x8e8a2369, 0xf48ec839, _ch(hash));
};
global.EventManagerPopEvent = global.EventsUiPopMessage;

/**
 * EXECUTE_COMMAND
 */
global.ExecuteCommand = function (commandString) {
	return _in(0x00000000, 0x561c060b, _ts(commandString));
};

/**
 * This native is not implemented.
 */
global.ExperimentalLoadCloneCreate = function (data, objectId, tree) {
	return _in(0x00000000, 0xd2cb95a3, _ts(data), objectId, _ts(tree), _r, _ri);
};

/**
 * This native is not implemented.
 */
global.ExperimentalLoadCloneSync = function (entity, data) {
	return _in(0x00000000, 0x6bc189ac, entity, _ts(data));
};

/**
 * This native is not implemented.
 */
global.ExperimentalSaveCloneCreate = function (entity) {
	return _in(0x00000000, 0x9d65cad2, entity, _r, _s);
};

/**
 * This native is not implemented.
 */
global.ExperimentalSaveCloneSync = function (entity) {
	return _in(0x00000000, 0x38d19210, entity, _r, _s);
};

/**
 * Forces the ped to fall back and kills it.
 * It doesn't really explode the ped's head but it kills the ped
 */
global.ExplodePedHead = function (ped, weaponHash) {
	return _in(0x2d05ced3, 0xa38d0f3a, ped, _ch(weaponHash));
};

/**
 * Explodes a selected vehicle.
 * Vehicle vehicle = Vehicle you want to explode.
 * BOOL isAudible = If explosion makes a sound.
 * BOOL isInvisible = If the explosion is invisible or not.
 * First BOOL does not give any visual explosion, the vehicle just falls apart completely but slowly and starts to burn.
 */
global.ExplodeVehicle = function (vehicle, isAudible, isInvisible, p3, p4) {
	return _in(0x75dced9e, 0xec5769d7, vehicle, isAudible, isInvisible, p3, p4);
};

/**
 * FADE_AND_DESTROY_PED
 */
global.FadeAndDestroyPed = function (ped) {
	return _in(0x7043d068, 0x1285ba2d, _ii(ped) /* may be optional */);
};
global.N_0x7043d0681285ba2d = global.FadeAndDestroyPed;

/**
 * _FADE_AND_DESTROY_VEHICLE
 */
global.FadeAndDestroyVehicle = function (vehicle) {
	return _in(0x35dc1877, 0x312fba0f, _ii(vehicle) /* may be optional */);
};
global.N_0x35dc1877312fba0f = global.FadeAndDestroyVehicle;

/**
 * FADE_ANIM_SCENE_AUDIO_IN
 */
global.FadeAnimSceneAudioIn = function (animScene, p1) {
	return _in(0xa41351ea, 0x2a18a0ad, animScene, _fv(p1));
};

/**
 * FADE_ANIM_SCENE_AUDIO_OUT
 */
global.FadeAnimSceneAudioOut = function (animScene, p1) {
	return _in(0x323e3ad7, 0x72ba5d57, animScene, _fv(p1));
};

/**
 * _FAKE_SET_PED_LOCO_INJURED
 */
global.FakeSetPedLocoInjured = function (ped, enabled) {
	return _in(0x8b3cb081, 0x58e98481, ped, enabled);
};
global.N_0x8b3cb08158e98481 = global.FakeSetPedLocoInjured;

/**
 * FIND_ALL_ATTACHED_CARRIABLE_ENTITIES
 */
global.FindAllAttachedCarriableEntities = function (ped, itemset) {
	return _in(0xb5ace8b2, 0x3a438ec0, ped, itemset);
};

/**
 * FIND_ANIM_EVENT_PHASE
 */
global.FindAnimEventPhase = function (animDictionary, animName, p2) {
	return _in(0x42718cc5, 0x59bd7776, _ts(animDictionary), _ts(animName), _ts(p2), _i, _i, _r);
};

/**
 * _FIND_CLOSEST_GPS_POSITION
 */
global.FindClosestGpsPosition = function (x, y, z, outPosition) {
	return _in(0x3fda2b79, 0xaeee351c, _fv(x), _fv(y), _fv(z), _v, _r, _ri);
};
global.N_0x3fda2b79aeee351c = global.FindClosestGpsPosition;

/**
 * FIND_FIRST_OBJECT
 */
global.FindFirstObject = function (outEntity) {
	return _in(0x00000000, 0xfaa6cb5d, _ii(outEntity) /* may be optional */, _r, _ri);
};

/**
 * FIND_FIRST_PED
 */
global.FindFirstPed = function (outEntity) {
	return _in(0x00000000, 0xfb012961, _ii(outEntity) /* may be optional */, _r, _ri);
};

/**
 * FIND_FIRST_PICKUP
 */
global.FindFirstPickup = function (outEntity) {
	return _in(0x00000000, 0x3ff9d340, _ii(outEntity) /* may be optional */, _r, _ri);
};

/**
 * FIND_FIRST_VEHICLE
 */
global.FindFirstVehicle = function (outEntity) {
	return _in(0x00000000, 0x15e55694, _ii(outEntity) /* may be optional */, _r, _ri);
};

/**
 * FIND_KVP
 * @param handle The KVP find handle returned from [START_FIND_KVP](#\_0xDD379006)
 * @return None.
 */
global.FindKvp = function (handle) {
	return _in(0x00000000, 0xbd7bebc5, handle, _r, _s);
};

/**
 * _FIND_MODEL_FOR_ITEM
 */
global.FindModelForItem = function (item) {
	return _in(0xe47dd64b, 0x9f02677d, _ch(item), _r, _ri);
};
global.N_0xe47dd64b9f02677d = global.FindModelForItem;

/**
 * FIND_NEXT_OBJECT
 */
global.FindNextObject = function (findHandle, outEntity) {
	return _in(0x00000000, 0x4e129dbf, findHandle, _ii(outEntity) /* may be optional */, _r);
};

/**
 * FIND_NEXT_PED
 */
global.FindNextPed = function (findHandle, outEntity) {
	return _in(0x00000000, 0xab09b548, findHandle, _ii(outEntity) /* may be optional */, _r);
};

/**
 * FIND_NEXT_PICKUP
 */
global.FindNextPickup = function (findHandle, outEntity) {
	return _in(0x00000000, 0x4107ef0f, findHandle, _ii(outEntity) /* may be optional */, _r);
};

/**
 * FIND_NEXT_VEHICLE
 */
global.FindNextVehicle = function (findHandle, outEntity) {
	return _in(0x00000000, 0x8839120d, findHandle, _ii(outEntity) /* may be optional */, _r);
};

/**
 * FIND_SCENARIO_OF_TYPE_HASH
 */
global.FindScenarioOfTypeHash = function (xPos, yPos, zPos, scenarioType, distance, p5, p6) {
	return _in(0xf533d68f, 0xf970d190, _fv(xPos), _fv(yPos), _fv(zPos), _ch(scenarioType), _fv(distance), p5, p6, _r, _ri);
};
global.N_0xf533d68ff970d190 = global.FindScenarioOfTypeHash;

/**
 * _FIND_VOLUME_LOCK_REQUEST_ID_WITH_ARGS
 */
global.FindVolumeLockRequestIdWithArgs = function (args) {
	return _in(0x77a6e4ad, 0x0c496f81, _ii(args) /* may be optional */, _r, _ri);
};
global.N_0x77a6e4ad0c496f81 = global.FindVolumeLockRequestIdWithArgs;

/**
 * FIRE_SINGLE_BULLET
 */
global.FireSingleBullet = function (args) {
	return _in(0xcbc9a21f, 0x6a2a679c, _ii(args) /* may be optional */);
};
global.ShootSingleBulletBetweenCoordsIgnoreEntityNew = global.FireSingleBullet;

/**
 * FIX_OBJECT_FRAGMENT
 */
global.FixObjectFragment = function (object) {
	return _in(0xf9c16813, 0x47c8bd15, object);
};
global.N_0xf9c1681347c8bd15 = global.FixObjectFragment;

/**
 * Rounds a float value down to the next whole number
 */
global.Floor = function (value) {
	return _in(0xf34ee736, 0xcf047844, _fv(value), _r, _ri);
};

/**
 * FORCE_ALL_HEADING_VALUES_TO_ALIGN
 */
global.ForceAllHeadingValuesToAlign = function (ped) {
	return _in(0xff287323, 0xb0e2c69a, ped);
};
global.FreezePedCameraRotation = global.ForceAllHeadingValuesToAlign;

/**
 * Used for DUELING_MANAGE_DEATH_CAMERA - Initializing death camera
 * Params: targetPed = death cam focuses on it
 */
global.ForceCinematicDeathCamOnPed = function (targetPed) {
	return _in(0xe3639db7, 0x8b3b5400, targetPed);
};
global.N_0xe3639db78b3b5400 = global.ForceCinematicDeathCamOnPed;

/**
 * FORCE_CINEMATIC_RENDERING_THIS_UPDATE
 */
global.ForceCinematicRenderingThisUpdate = function (p0) {
	return _in(0x702b75dc, 0x9d3ede56, p0);
};
global.N_0x702b75dc9d3ede56 = global.ForceCinematicRenderingThisUpdate;

/**
 * FORCE_CLEANUP
 */
global.ForceCleanup = function (cleanupFlags) {
	return _in(0x768c017f, 0xb878e4f4, cleanupFlags);
};

/**
 * FORCE_CLEANUP_FOR_ALL_THREADS_WITH_THIS_NAME
 */
global.ForceCleanupForAllThreadsWithThisName = function (name, cleanupFlags) {
	return _in(0xdaacaf8b, 0x687f2353, _ts(name), cleanupFlags);
};

/**
 * FORCE_CLEANUP_FOR_THREAD_WITH_THIS_ID
 */
global.ForceCleanupForThreadWithThisId = function (id, cleanupFlags) {
	return _in(0xf4c9512a, 0x2f0a3031, id, cleanupFlags);
};

/**
 * _FORCE_CLOSE_TEXT_INPUT_BOX
 */
global.ForceCloseTextInputBox = function () {
	return _in(0xfbbf5943, 0xe4c2c992);
};

/**
 * _FORCE_DESPAWN_PERSCHAR
 */
global.ForceDespawnPerschar = function (persChar) {
	return _in(0x7b204f88, 0xf6c3d287, persChar);
};
global.N_0x7b204f88f6c3d287 = global.ForceDespawnPerschar;

/**
 * FORCE_ENTITY_AI_AND_ANIMATION_UPDATE
 */
global.ForceEntityAiAndAnimationUpdate = function (entity, p1) {
	return _in(0x4c9e9647, 0x3d4f1a88, entity, p1);
};

/**
 * Returns true if first person camera is active in saloon1.ysc
 */
global.ForceFirstPersonCamThisFrame = function () {
	return _in(0x90da5ba5, 0xc2635416, _r, _ri);
};
global.N_0x90da5ba5c2635416 = global.ForceFirstPersonCamThisFrame;

/**
 * _FORCE_LAW_ON_LOCAL_PLAYER_IMMEDIATELY
 */
global.ForceLawOnLocalPlayerImmediately = function () {
	return _in(0x956510f8, 0xc36b5c64);
};
global.N_0x956510f8c36b5c64 = global.ForceLawOnLocalPlayerImmediately;

/**
 * _FORCE_LETTER_BOX_THIS_UPDATE
 */
global.ForceLetterBoxThisUpdate = function () {
	return _in(0xc64abc06, 0x76af262b);
};
global.N_0xc64abc0676af262b = global.ForceLetterBoxThisUpdate;

/**
 * creates single lightning+thunder at random position
 */
global.ForceLightningFlash = function () {
	return _in(0x369db5b2, 0x510fa080);
};

/**
 * p3 is always -1.0f in the scripts
 */
global.ForceLightningFlashAtCoords = function (x, y, z, p3) {
	return _in(0x67943537, 0xd179597c, _fv(x), _fv(y), _fv(z), _fv(p3));
};

/**
 * FORCE_PED_AI_AND_ANIMATION_UPDATE
 */
global.ForcePedAiAndAnimationUpdate = function (ped, p1, p2) {
	return _in(0x22084380, 0x12482a1a, ped, p1, p2);
};
global.N_0x2208438012482a1a = global.ForcePedAiAndAnimationUpdate;

/**
 * _FORCE_PED_DEATH
 */
global.ForcePedDeath = function (ped, pedKiller, weapon) {
	return _in(0x1ce87550, 0x5d45338a, ped, pedKiller, _ch(weapon));
};
global.N_0x1ce875505d45338a = global.ForcePedDeath;

/**
 * motionStateHash: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/FORCE_PED_MOTION_STATE
 */
global.ForcePedMotionState = function (ped, motionStateHash, p2, p3, p4) {
	return _in(0xf28965d0, 0x4f570dca, ped, _ch(motionStateHash), p2, p3, p4, _r);
};

/**
 * FORCE_PED_PANIC_WALLA
 */
global.ForcePedPanicWalla = function () {
	return _in(0x062d5ead, 0x4da2fa6a);
};
global.N_0x062d5ead4da2fa6a = global.ForcePedPanicWalla;

/**
 * FORCE_PICKUP_REGENERATE
 */
global.ForcePickupRegenerate = function (p0) {
	return _in(0x758a5c1b, 0x3b1e1990, p0);
};

/**
 * Often called after START_PLAYBACK_RECORDED_VEHICLE and SKIP_TIME_IN_PLAYBACK_RECORDED_VEHICLE; similar in use to FORCE_ENTITY_AI_AND_ANIMATION_UPDATE.
 */
global.ForcePlaybackRecordedVehicleUpdate = function (vehicle, p1) {
	return _in(0x59eca796, 0x021b0539, vehicle, p1);
};
global.N_0x59eca796021b0539 = global.ForcePlaybackRecordedVehicleUpdate;

/**
 * NativeDB Introduced: v1232
 */
global.ForceRestScenario = function (toggle) {
	return _in(0xe5a3dd2f, 0xf84e1a4b, toggle);
};

/**
 * FORCE_ROOM_FOR_ENTITY
 */
global.ForceRoomForEntity = function (entity, interior, roomHashKey) {
	return _in(0xbc29a989, 0x4c976945, entity, interior, _ch(roomHashKey));
};

/**
 * FORCE_ROOM_FOR_GAME_VIEWPORT
 */
global.ForceRoomForGameViewport = function (interiorID, roomHashKey) {
	return _in(0x115b4aa8, 0xfb28ab43, interiorID, _ch(roomHashKey));
};

/**
 * FORCE_SCENARIO_GROUP_PRIORITY
 */
global.ForceScenarioGroupPriority = function (p0, p1) {
	return _in(0x444c910a, 0x5058e568, p0, p1);
};
global.N_0x444c910a5058e568 = global.ForceScenarioGroupPriority;

/**
 * Doesn't actually return anything.
 */
global.ForceSonarBlipsThisFrame = function () {
	return _in(0xee1c7ba6, 0x9bb74b08, _r, _ri);
};

/**
 * _FORCE_SPAWN_PERSCHAR
 */
global.ForceSpawnPerschar = function (persChar, p1) {
	return _in(0x0cadc3a9, 0x77997472, persChar, p1, _r, _ri);
};
global.N_0x0cadc3a977997472 = global.ForceSpawnPerschar;

/**
 * Forces camera position to furthest 3rd person
 */
global.ForceThirdPersonCamFarThisFrame = function () {
	return _in(0x1cfb749a, 0xd4317bde);
};
global.N_0x1cfb749ad4317bde = global.ForceThirdPersonCamFarThisFrame;

/**
 * Forces camera position to second furthest 3rd person
 */
global.ForceThirdPersonCamThisFrame = function () {
	return _in(0x8370d34b, 0xd2e60b73);
};
global.N_0x8370d34bd2e60b73 = global.ForceThirdPersonCamThisFrame;

/**
 * FORCE_USE_AUDIO_GAME_OBJECT
 */
global.ForceUseAudioGameObject = function (vehicle, audioName) {
	return _in(0x4f0c4139, 0x26060b38, vehicle, _ts(audioName));
};
global.ForceVehicleEngineAudio = global.ForceUseAudioGameObject;

/**
 * _FORMAT_PLAYER_NAME_STRING
 */
global.FormatPlayerNameString = function (string) {
	return _in(0x5b619381, 0x3e03e4e9, _ts(string), _r, _s);
};
global.N_0x5b6193813e03e4e9 = global.FormatPlayerNameString;

/**
 * FREE_MEMORY_FOR_HIGH_QUALITY_PHOTO
 */
global.FreeMemoryForHighQualityPhoto = function () {
	return _in(0xd45547d8, 0x396f002a);
};
global.N_0xd45547d8396f002a = global.FreeMemoryForHighQualityPhoto;

/**
 * FREE_MEMORY_FOR_LOW_QUALITY_PHOTO
 */
global.FreeMemoryForLowQualityPhoto = function () {
	return _in(0x614682e7, 0x15adbaac);
};
global.N_0x614682e715adbaac = global.FreeMemoryForLowQualityPhoto;

/**
 * FREE_MEMORY_FOR_MISSION_CREATOR_PHOTO
 */
global.FreeMemoryForMissionCreatorPhoto = function () {
	return _in(0x7dff8f94, 0x937d2659);
};
global.N_0x7dff8f94937d2659 = global.FreeMemoryForMissionCreatorPhoto;

/**
 * FREEZE_ENTITY_POSITION
 */
global.FreezeEntityPosition = function (entity, toggle) {
	return _in(0x7d9efb7a, 0xd6b19754, entity, toggle);
};

/**
 * _FREEZE_GAMEPLAY_CAM_THIS_FRAME
 */
global.FreezeGameplayCamThisFrame = function () {
	return _in(0x027cab2c, 0x3af27010);
};
global.N_0x027cab2c3af27010 = global.FreezeGameplayCamThisFrame;

/**
 * _GAME_FRAMEWORK_MANAGER_GET_MODE
 */
global.GameFrameworkManagerGetMode = function () {
	return _in(0xfaed234c, 0x7f53abeb, _r, _ri);
};
global.N_0xfaed234c7f53abeb = global.GameFrameworkManagerGetMode;

/**
 * GAME_FRAMEWORK_MANAGER_INIT
 */
global.GameFrameworkManagerInit = function (transitionMode) {
	return _in(0x4cabe596, 0xd632e4b0, _ch(transitionMode), _r, _ri);
};
global.N_0x4cabe596d632e4b0 = global.GameFrameworkManagerInit;

/**
 * _GAME_FRAMEWORK_MANAGER_SHUTDOWN
 */
global.GameFrameworkManagerShutdown = function () {
	return _in(0xaff2fd8a, 0xdd927585);
};
global.N_0xaff2fd8add927585 = global.GameFrameworkManagerShutdown;

/**
 * Example:
 * local hash = GetHashKey("CLOTHING_ITEM_M_EYES_001_TINT_001")
 * _GENERATE_SWATCH_TEXTURE(0, hash, 0, true)
 * metapedType: see 0xEC9A1261BF0CE510
 */
global.GenerateSwatchTexture = function (slotId, componentHash, metapedType, p3) {
	return _in(0x16092125, 0x5327c591, slotId, _ch(componentHash), metapedType, p3);
};
global.N_0x160921255327c591 = global.GenerateSwatchTexture;

/**
 * Example: https://pastebin.com/tTgpER9A
 */
global.GenerateSwatchTextureDirectly = function (slot, p1) {
	return _in(0x646ed1a1, 0xd28487df, slot, p1);
};
global.N_0x646ed1a1d28487df = global.GenerateSwatchTextureDirectly;

/**
 * _GET_ACCURACY_AGAINST_LOCAL_PLAYER_MODIFIER
 */
global.GetAccuracyAgainstLocalPlayerModifier = function (ped) {
	return _in(0xdc9273d9, 0x5976ba22, ped, _r, _rf);
};
global.N_0xdc9273d95976ba22 = global.GetAccuracyAgainstLocalPlayerModifier;

/**
 * _GET_ACTIVE_ANIMAL_OWNER
 */
global.GetActiveAnimalOwner = function (animal) {
	return _in(0xf103823f, 0xfe72bb49, animal, _r, _ri);
};
global.N_0xf103823ffe72bb49 = global.GetActiveAnimalOwner;

/**
 * Returns kneeling, sitting, squating, and sleeping scenario hashes
 */
global.GetActiveDynamicScenario = function (ped) {
	return _in(0x569f1e12, 0x37508deb, ped, _r, _ri);
};
global.N_0x569f1e1237508deb = global.GetActiveDynamicScenario;

/**
 * Returns kneeling, sitting, squating, and sleeping scenario hashes
 */
global.GetActiveDynamicScenario_2 = function (ped) {
	return _in(0xc22aa08a, 0x8adb87d4, ped, _r, _ri);
};
global.N_0xc22aa08a8adb87d4 = global.GetActiveDynamicScenario_2;

/**
 * _GET_ACTIVE_HORSE_FOR_PLAYER
 */
global.GetActiveHorseForPlayer = function (player) {
	return _in(0x46fa0ae1, 0x8f4c7fa9, player, _r, _ri);
};
global.N_0x46fa0ae18f4c7fa9 = global.GetActiveHorseForPlayer;

/**
 * Returns all player indices for 'active' physical players known to the client.
 * The data returned adheres to the following layout:
 * ```
 * [127, 42, 13, 37]
 * ```
 * @return An object containing a list of player indices.
 */
global.GetActivePlayers = function () {
	return _in(0x00000000, 0xcf143fb9, _r, _ro);
};

/**
 * GET_ACTIVE_VEHICLE_MISSION_TYPE
 */
global.GetActiveVehicleMissionType = function (vehicle) {
	return _in(0x534aeba6, 0xe5ed4cab, vehicle, _r, _ri);
};

/**
 * _GET_AI_PED_DOES_HAVE_EVENT_MEMORY
 */
global.GetAiPedDoesHaveEventMemory = function (p1) {
	return _in(0xfdf38e2b, 0x711bf78e, _i, p1, _r, _ri);
};
global.N_0xfdf38e2b711bf78e = global.GetAiPedDoesHaveEventMemory;

/**
 * _GET_AI_PLAYER_DEFENSE_MODIFIER_AGAINST_AI
 */
global.GetAiPlayerDefenseModifierAgainstAi = function (player) {
	return _in(0x2e78d822, 0x208e740a, player, _r, _rf);
};
global.N_0x2e78d822208e740a = global.GetAiPlayerDefenseModifierAgainstAi;

/**
 * GET_ALLOW_DUAL_WIELD
 */
global.GetAllowDualWield = function (ped) {
	return _in(0x918990bd, 0x9ce08582, ped, _r, _ri);
};
global.N_0x918990bd9ce08582 = global.GetAllowDualWield;

/**
 * GET_AMMO_IN_CLIP
 */
global.GetAmmoInClip = function (ped, weaponHash) {
	return _in(0x2e120224, 0x8937775c, ped, _i, _ch(weaponHash), _r);
};

/**
 * _GET_AMMO_IN_CLIP_BY_INVENTORY_UID
 */
global.GetAmmoInClipByInventoryUid = function (ped) {
	return _in(0x678f0085, 0x8980f516, ped, _i, _i, _r, _ri);
};
global.N_0x678f00858980f516 = global.GetAmmoInClipByInventoryUid;

/**
 * GET_AMMO_IN_PED_WEAPON
 */
global.GetAmmoInPedWeapon = function (ped, weaponHash) {
	return _in(0x015a5221, 0x36d7f951, ped, _ch(weaponHash), _r, _ri);
};

/**
 * _GET_AMMO_TYPE_FOR_WEAPON
 */
global.GetAmmoTypeForWeapon = function (weaponHash) {
	return _in(0x5c2ea6c4, 0x4f515f34, _ch(weaponHash), _r, _ri);
};
global.N_0x5c2ea6c44f515f34 = global.GetAmmoTypeForWeapon;

/**
 * _GET_AMMO_TYPE_FROM_PICKUP_TYPE
 */
global.GetAmmoTypeFromPickupType = function (pickupHash) {
	return _in(0x44b09a23, 0xd728045a, _ch(pickupHash), _r, _ri);
};
global.N_0x44b09a23d728045a = global.GetAmmoTypeFromPickupType;

/**
 * GET_ANGLE_BETWEEN_2D_VECTORS
 */
global.GetAngleBetween_2dVectors = function (x1, y1, x2, y2) {
	return _in(0xd0dfe1c4, 0x86097bbb, _fv(x1), _fv(y1), _fv(x2), _fv(y2), _r, _rf);
};

/**
 * GET_ANIM_DURATION
 */
global.GetAnimDuration = function (animDict, animName) {
	return _in(0x9ffaf494, 0x0a54cc09, _ts(animDict), _ts(animName), _r, _rf);
};

/**
 * GET_ANIM_INITIAL_OFFSET_POSITION
 */
global.GetAnimInitialOffsetPosition = function (animDict, animName, x, y, z, xRot, yRot, zRot, p8, p9) {
	return _in(0xbe22b26d, 0xd764c040, _ts(animDict), _ts(animName), _fv(x), _fv(y), _fv(z), _fv(xRot), _fv(yRot), _fv(zRot), _fv(p8), p9, _r, _rv);
};

/**
 * GET_ANIM_INITIAL_OFFSET_ROTATION
 */
global.GetAnimInitialOffsetRotation = function (animDict, animName, x, y, z, xRot, yRot, zRot, p8, p9) {
	return _in(0x4b805e60, 0x46ee9e47, _ts(animDict), _ts(animName), _fv(x), _fv(y), _fv(z), _fv(xRot), _fv(yRot), _fv(zRot), _fv(p8), p9, _r, _rv);
};

/**
 * GET_ANIM_SCENE_BOOL
 */
global.GetAnimSceneBool = function (animScene, name) {
	return _in(0x07a6f644, 0x7eca9b64, animScene, _ts(name), _r, _ri);
};
global.N_0x07a6f6447eca9b64 = global.GetAnimSceneBool;

/**
 * GET_ANIM_SCENE_CURRENT_ACTIVE_CAMERA_COUNT
 */
global.GetAnimSceneCurrentActiveCameraCount = function (animScene) {
	return _in(0x4822a65d, 0x5af64e69, animScene, _r, _ri);
};
global.N_0x4822a65d5af64e69 = global.GetAnimSceneCurrentActiveCameraCount;

/**
 * _GET_ANIM_SCENE_DICT
 */
global.GetAnimSceneDict = function (animScene) {
	return _in(0xae5ada4f, 0xe3e21adc, animScene, _r, _ri);
};
global.N_0xae5ada4fe3e21adc = global.GetAnimSceneDict;

/**
 * _GET_ANIM_SCENE_DURATION
 */
global.GetAnimSceneDuration = function (animScene) {
	return _in(0x49f1d143, 0xade32656, animScene, _r, _rf);
};
global.N_0x49f1d143ade32656 = global.GetAnimSceneDuration;

/**
 * GET_ANIM_SCENE_ENTITY_LOCATION_DATA
 */
global.GetAnimSceneEntityLocationData = function (animScene, entityName, p3, playbackListName, p5) {
	return _in(0x8398438d, 0x8f14f56d, animScene, _ts(entityName), _v, p3, _ts(playbackListName), p5, _r, _ri);
};
global.N_0x8398438d8f14f56d = global.GetAnimSceneEntityLocationData;

/**
 * GET_ANIM_SCENE_FLOAT
 */
global.GetAnimSceneFloat = function (animScene, name) {
	return _in(0xcc24cb07, 0xf60b496e, animScene, _ts(name), _r, _rf);
};
global.N_0xcc24cb07f60b496e = global.GetAnimSceneFloat;

/**
 * GET_ANIM_SCENE_INT
 */
global.GetAnimSceneInt = function (animScene, name) {
	return _in(0x2b727748, 0x4cc095fd, animScene, _ts(name), _r, _ri);
};
global.N_0x2b7277484cc095fd = global.GetAnimSceneInt;

/**
 * _GET_ANIM_SCENE_OBJECT
 */
global.GetAnimSceneObject = function (animScene, name, isNetwork) {
	return _in(0xfb567468, 0x7a1b2814, animScene, _ts(name), isNetwork, _r, _ri);
};
global.N_0xfb5674687a1b2814 = global.GetAnimSceneObject;

/**
 * GET_ANIM_SCENE_ORIGIN
 */
global.GetAnimSceneOrigin = function (animScene, order) {
	return _in(0xadf1d53f, 0x3b1fe0a7, animScene, _v, _v, order);
};
global.N_0xadf1d53f3b1fe0a7 = global.GetAnimSceneOrigin;

/**
 * _GET_ANIM_SCENE_PED
 */
global.GetAnimScenePed = function (animScene, name, isNetwork) {
	return _in(0xe5822422, 0x197bbba3, animScene, _ts(name), isNetwork, _r, _ri);
};
global.N_0xe5822422197bbba3 = global.GetAnimScenePed;

/**
 * GET_ANIM_SCENE_PHASE
 */
global.GetAnimScenePhase = function (animScene) {
	return _in(0x3fbc3f51, 0xbf12dfbf, animScene, _r, _rf);
};
global.N_0x3fbc3f51bf12dfbf = global.GetAnimScenePhase;

/**
 * _GET_ANIM_SCENE_PLAYBACK_LIST_PHASE_AUDIO_LOAD_STRESS
 */
global.GetAnimScenePlaybackListPhaseAudioLoadStress = function (animScene, phaseName) {
	return _in(0x9e036d52, 0x04ffbbc8, animScene, _ts(phaseName), _r, _ri);
};
global.N_0x9e036d5204ffbbc8 = global.GetAnimScenePlaybackListPhaseAudioLoadStress;

/**
 * _GET_ANIM_SCENE_RATE
 */
global.GetAnimSceneRate = function (animScene) {
	return _in(0x43c21623, 0xe42b821b, animScene, _r, _rf);
};
global.N_0x43c21623e42b821b = global.GetAnimSceneRate;

/**
 * _GET_ANIM_SCENE_TIME
 */
global.GetAnimSceneTime = function (animScene) {
	return _in(0x61be7d61, 0x86260002, animScene, _r, _rf);
};
global.N_0x61be7d6186260002 = global.GetAnimSceneTime;

/**
 * _GET_ANIM_SCENE_VEHICLE
 */
global.GetAnimSceneVehicle = function (animScene, name, isNetwork) {
	return _in(0x430ee0a1, 0x9bc5a287, animScene, _ts(name), isNetwork, _r, _ri);
};
global.N_0x430ee0a19bc5a287 = global.GetAnimSceneVehicle;

/**
 * Ped (horse) will run away from players and mounting will trigger them to buck until disabled.
 * Used for: REL_DOMESTICATED_ANIMAL
 */
global.GetAnimalIsWild = function (ped) {
	return _in(0x3b005ff0, 0x538ed2a9, ped, _r, _ri);
};
global.N_0x3b005ff0538ed2a9 = global.GetAnimalIsWild;

/**
 * enum eAnimalRarityLevel
 * {
 * ARL_COMMON,
 * ARL_RARE,
 * ARL_LEGENDARY,
 * ARL_NUMRARITYLEVELS
 * };
 */
global.GetAnimalRarity = function (ped) {
	return _in(0xf8b48a36, 0x1dc388ae, ped, _r, _ri);
};
global.N_0xf8b48a361dc388ae = global.GetAnimalRarity;

/**
 * index: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/eAnimalTuningBools
 * https://github.com/femga/rdr3_discoveries/tree/master/AI/ANIMAL_TUNING_BOOL_PARAMS
 */
global.GetAnimalTuningBoolParam = function (animal, index) {
	return _in(0x1c199382, 0x4a396603, animal, index, _r);
};

/**
 * index: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/eAnimalTuningFloats
 * https://github.com/femga/rdr3_discoveries/tree/master/AI/ANIMAL_TUNING_FLOAT_PARAMS
 */
global.GetAnimalTuningFloatParam = function (animal, index) {
	return _in(0x4bc3ecfd, 0xa0297e27, animal, index, _r, _rf);
};

/**
 * Returns CGameWorldHeightMap's minimum Z value at specified point (grid node).
 */
global.GetApproxFloorForPoint = function (x, y) {
	return _in(0x336511a3, 0x4f2e5185, _fv(x), _fv(y), _r, _rf);
};
global.GetHeightmapBottomZForPosition = global.GetApproxFloorForPoint;

/**
 * attributeIndex: see SET_ATTRIBUTE_BASE_RANK
 */
global.GetAttributeBaseRank = function (ped, attributeIndex) {
	return _in(0x147149f2, 0xe909323c, ped, attributeIndex, _r, _ri);
};

/**
 * attributeIndex: see SET_ATTRIBUTE_BASE_RANK
 */
global.GetAttributeBonusRank = function (ped, coreIndex) {
	return _in(0x0efa71f4, 0xb4330e04, ped, coreIndex, _r, _ri);
};

/**
 * _GET_ATTRIBUTE_CORE_OVERPOWER_SECONDS_LEFT
 */
global.GetAttributeCoreOverpowerSecondsLeft = function (ped, coreIndex) {
	return _in(0xb429f588, 0x03d285b1, ped, coreIndex, _r, _rf);
};
global.N_0xb429f58803d285b1 = global.GetAttributeCoreOverpowerSecondsLeft;

/**
 * Gets the ped's core value on a scale of 0 to 100.
 * coreIndex: see _SET_ATTRIBUTE_CORE_VALUE
 */
global.GetAttributeCoreValue = function (ped, coreIndex) {
	return _in(0x36731ac0, 0x41289bb1, ped, coreIndex, _r, _ri);
};

/**
 * _GET_ATTRIBUTE_OVERPOWER_SECONDS_LEFT
 */
global.GetAttributeOverpowerSecondsLeft = function (ped, attributeIndex) {
	return _in(0x4c9f7821, 0x80712742, ped, attributeIndex, _r, _rf);
};
global.N_0x4c9f782180712742 = global.GetAttributeOverpowerSecondsLeft;

/**
 * attributeIndex: see SET_ATTRIBUTE_BASE_RANK
 */
global.GetAttributePoints = function (ped, attributeIndex) {
	return _in(0x219da04b, 0xaa9cb065, ped, attributeIndex, _r, _ri);
};

/**
 * attributeIndex: see SET_ATTRIBUTE_BASE_RANK
 */
global.GetAttributeRank = function (ped, attributeIndex) {
	return _in(0xa4c8e23e, 0x29040de0, ped, attributeIndex, _r, _ri);
};

/**
 * Returns value of the '-benchmarkIterations' command line option.
 */
global.GetBenchmarkIterations = function () {
	return _in(0x22fc52cf, 0x470cc98d, _r, _ri);
};
global.GetBenchmarkIterationsFromCommandLine = global.GetBenchmarkIterations;

/**
 * Returns value of the '-benchmarkPass' command line option.
 */
global.GetBenchmarkPass = function () {
	return _in(0x9297dacf, 0x3a2cdff7, _r, _ri);
};
global.GetBenchmarkPassFromCommandLine = global.GetBenchmarkPass;

/**
 * GET_BEST_PED_SHORTARM_GUID
 */
global.GetBestPedShortarmGuid = function (ped, p2, p3) {
	return _in(0xf52bd94b, 0x47ccf736, ped, _i, p2, p3);
};
global.N_0xf52bd94b47ccf736 = global.GetBestPedShortarmGuid;

/**
 * GET_BEST_PED_WEAPON
 */
global.GetBestPedWeapon = function (ped, p1, p2) {
	return _in(0x8483e98e, 0x8b888ae2, ped, p1, p2, _r, _ri);
};

/**
 * If near your horse when called, weapons stored on your horse will be considered
 * Returns weaponHash
 */
global.GetBestPedWeaponInGroup = function (ped, weaponGroup, p2, p3) {
	return _in(0x9f67929d, 0x98e7c6e8, ped, _ch(weaponGroup), p2, p3, _r, _ri);
};
global.N_0x9f67929d98e7c6e8 = global.GetBestPedWeaponInGroup;

/**
 * NativeDB Introduced: v1232
 */
global.GetBestPedWeaponInInventory = function (ped, p1, guidPrimary) {
	return _in(0x7b985006, 0x14c8e8b8, ped, p1, _ii(guidPrimary) /* may be optional */, _r, _ri);
};

/**
 * GET_BITS_IN_RANGE
 */
global.GetBitsInRange = function (_var, rangeStart, rangeEnd) {
	return _in(0x68e1352a, 0xf48f905d, _var, rangeStart, rangeEnd, _r, _ri);
};

/**
 * GET_BLIP_COORDS
 */
global.GetBlipCoords = function (blip) {
	return _in(0x201c3197, 0x97bda603, blip, _r, _rv);
};

/**
 * Returns the Blip handle of given Entity.
 */
global.GetBlipFromEntity = function (entity) {
	return _in(0x6d2c41a8, 0xbd6d6fd0, entity, _r, _ri);
};

/**
 * GET_BLOCK_OF_PLAYER_BITS
 */
global.GetBlockOfPlayerBits = function (p1) {
	return _in(0xfa3b530a, 0x5cc693d5, _i, p1, _r, _ri);
};

/**
 * _GET_BLOCKING_OF_NON_TEMPORARY_EVENTS
 */
global.GetBlockingOfNonTemporaryEvents = function (ped) {
	return _in(0x268b3aeb, 0xf032a88d, ped, _r, _ri);
};
global.N_0x268b3aebf032a88d = global.GetBlockingOfNonTemporaryEvents;

/**
 * GET_BOUNTY
 */
global.GetBounty = function (player) {
	return _in(0x54310aab, 0x97b92816, player, _r, _ri);
};
global.N_0x54310aab97b92816 = global.GetBounty;

/**
 * p0 is always BOUNTYHUNTERSGLOBALCOOLDOWN in R* scripts
 */
global.GetBountyHunterGlobalCooldown = function (p0) {
	return _in(0x76cf93d4, 0xb416b288, _ch(p0), _r, _ri);
};
global.N_0x76cf93d4b416b288 = global.GetBountyHunterGlobalCooldown;

/**
 * _GET_BREAKABLE_VEHICLE_LOCK_OBJECT
 */
global.GetBreakableVehicleLockObject = function (vehicle, index) {
	return _in(0x58f2244c, 0x1286d09a, vehicle, index, _r, _ri);
};
global.N_0x58f2244c1286d09a = global.GetBreakableVehicleLockObject;

/**
 * _GET_BREAKABLE_VEHICLE_LOCKS_STATE
 */
global.GetBreakableVehicleLocksState = function (vehicle) {
	return _in(0xe015cf1f, 0x2c0959d8, vehicle, _r, _ri);
};
global.N_0xe015cf1f2c0959d8 = global.GetBreakableVehicleLocksState;

/**
 * GET_CAM_COORD
 */
global.GetCamCoord = function (cam) {
	return _in(0x6b12f11c, 0x2a9f0344, cam, _r, _rv);
};

/**
 * GET_CAM_FOV
 */
global.GetCamFov = function (cam) {
	return _in(0x8101d32a, 0x0a6b0f60, cam, _r, _rf);
};

/**
 * Returns the world matrix of the specified camera. To turn this into a view matrix, calculate the inverse.
 */
global.GetCamMatrix = function (camera) {
	return _in(0x00000000, 0x8f57a89d, camera, _v, _v, _v, _v);
};

/**
 * rotationOrder: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/eEulerRotationOrder
 */
global.GetCamRot = function (cam, rotationOrder) {
	return _in(0x9bf96b57, 0x254e7889, cam, rotationOrder, _r, _rv);
};

/**
 * Can use this with SET_CAM_SPLINE_PHASE to set the float it this native returns.
 * (returns 1.0f when no nodes has been added, reached end of non existing spline)
 */
global.GetCamSplinePhase = function (cam) {
	return _in(0x095edcd2, 0x4d90033a, cam, _r, _rf);
};

/**
 * _GET_CAN_TWIRL_WEAPON
 */
global.GetCanTwirlWeapon = function (weaponHash) {
	return _in(0x6554ecce, 0x226f2a2a, _ch(weaponHash), _r, _ri);
};
global.N_0x6554ecce226f2a2a = global.GetCanTwirlWeapon;

/**
 * enum eCarriableState
 * {
 * CARRIABLE_STATE_NONE,
 * CARRIABLE_STATE_TRANSITIONING_TO_HOGTIED,
 * CARRIABLE_STATE_CARRIABLE_INTRO,
 * CARRIABLE_STATE_CARRIABLE,
 * CARRIABLE_STATE_BEING_PICKED_UP_FROM_GROUND,
 * CARRIABLE_STATE_CARRIED_BY_HUMAN,
 * CARRIABLE_STATE_BEING_PLACED_ON_GROUND,
 * CARRIABLE_STATE_CARRIED_BY_MOUNT,
 * CARRIABLE_STATE_BEING_PLACED_ON_MOUNT,
 * CARRIABLE_STATE_BEING_PICKED_UP_FROM_MOUNT,
 * CARRIABLE_STATE_BEING_CUT_FREE,
 * CARRIABLE_STATE_BEING_PLACED_ON_GROUND_ESCAPE,
 * CARRIABLE_STATE_BEING_PLACED_IN_VEHICLE
 * };
 */
global.GetCarriableEntityState = function (entity) {
	return _in(0x61914209, 0xc36efddb, entity, _r, _ri);
};
global.N_0x61914209c36efddb = global.GetCarriableEntityState;

/**
 * Returns a hash of an entity's name. (Alternative Name: _GET_ENTITY_PROMPT_NAME_HASH)
 */
global.GetCarriableFromEntity = function (entity) {
	return _in(0x31fef6a2, 0x0f00b963, entity, _r, _ri);
};
global.N_0x31fef6a20f00b963 = global.GetCarriableFromEntity;

/**
 * GET_CARRIED_ATTACHED_INFO_FOR_SLOT
 */
global.GetCarriedAttachedInfoForSlot = function (p0, p1, p2, p3) {
	return _in(0x608bc6a6, 0xaacd5036, p0, p1, p2, p3, _r, _ri);
};
global.N_0x608bc6a6aacd5036 = global.GetCarriedAttachedInfoForSlot;

/**
 * _GET_CARRIER_AS_HUMAN
 */
global.GetCarrierAsHuman = function (entity) {
	return _in(0x79443d56, 0xc8df45ee, entity, _r, _ri);
};
global.N_0x79443d56c8df45ee = global.GetCarrierAsHuman;

/**
 * _GET_CARRIER_AS_MOUNT
 */
global.GetCarrierAsMount = function (entity) {
	return _in(0xa033d7e4, 0xbbf9844d, entity, _r, _ri);
};
global.N_0xa033d7e4bbf9844d = global.GetCarrierAsMount;

/**
 * _GET_CARRIER_AS_PED
 */
global.GetCarrierAsPed = function (entity) {
	return _in(0x09b83e68, 0xde004cd4, entity, _r, _ri);
};
global.N_0x09b83e68de004cd4 = global.GetCarrierAsPed;

/**
 * GET_CAUSE_OF_MOST_RECENT_FORCE_CLEANUP
 */
global.GetCauseOfMostRecentForceCleanup = function () {
	return _in(0x84e8e29e, 0xbd4a46d2, _r, _ri);
};

/**
 * Gets MetaPedExpression at index specified
 * For index, see: _SET_CHAR_EXPRESSION
 */
global.GetCharExpression = function (ped, index) {
	return _in(0xfd1ba1ee, 0xf7985bb8, ped, index, _r, _rf);
};
global.N_0xfd1ba1eef7985bb8 = global.GetCharExpression;
global.GetPedFaceFeature = global.GetCharExpression;

/**
 * Note: you must use VAR_STRING. Byte code very similar to TEXT_COMMAND_DISPLAY_TEXT in V
 */
global.GetCharacterFromAudioConversationFilename = function (text, position, length) {
	return _in(0x9d7e12ec, 0x6a1ee4e5, text, position, length, _r, _s);
};
global.GetTextSubstring = global.GetCharacterFromAudioConversationFilename;

/**
 * _GET_CHECKPOINT_TRAIN_SPAWN_LOCATION
 */
global.GetCheckpointTrainSpawnLocation = function (trackIndex, x, y, z, distance, direction) {
	return _in(0x35d30239, 0x7e524939, trackIndex, _fv(x), _fv(y), _fv(z), _fv(distance), direction, _r, _rv);
};
global.N_0x35d302397e524939 = global.GetCheckpointTrainSpawnLocation;

/**
 * GET_CLOCK_DAY_OF_MONTH
 */
global.GetClockDayOfMonth = function () {
	return _in(0xdf2fd796, 0xc54480a5, _r, _ri);
};

/**
 * Gets the current day of the week.
 * 0: Sunday
 * 1: Monday
 * 2: Tuesday
 * 3: Wednesday
 * 4: Thursday
 * 5: Friday
 * 6: Saturday
 */
global.GetClockDayOfWeek = function () {
	return _in(0x4dd02d4c, 0x7fb30076, _r, _ri);
};

/**
 * Gets the current ingame hour, expressed without zeros. (09:34 will be represented as 9)
 */
global.GetClockHours = function () {
	return _in(0xc82cf208, 0xc2b19199, _r, _ri);
};

/**
 * Gets the current ingame clock minute.
 */
global.GetClockMinutes = function () {
	return _in(0x4e162231, 0xb823dbbf, _r, _ri);
};

/**
 * GET_CLOCK_MONTH
 */
global.GetClockMonth = function () {
	return _in(0x2d44e8fc, 0x79eab1ac, _r, _ri);
};

/**
 * Gets the current ingame clock second. Note that ingame clock seconds change really fast since a day in RDR is only 48 minutes in real life.
 */
global.GetClockSeconds = function () {
	return _in(0xb6101abe, 0x62b5f080, _r, _ri);
};

/**
 * GET_CLOCK_YEAR
 */
global.GetClockYear = function () {
	return _in(0xe136dca2, 0x8c4a48ba, _r, _ri);
};

/**
 * GET_CLOSEST_FIRE_POS
 */
global.GetClosestFirePos = function (x, y, z) {
	return _in(0xb646fb65, 0x7f448261, _v, _fv(x), _fv(y), _fv(z), _r);
};

/**
 * missionScriptObject - if true won't return mission script objects
 * scriptHostObject - if true won't return script host objects
 * networkObject - if true won't return networked objects
 */
global.GetClosestObjectOfType = function (x, y, z, radius, modelHash, missionScriptObject, scriptHostObject, networkObject) {
	return _in(0xe143fa22, 0x49364369, _fv(x), _fv(y), _fv(z), _fv(radius), _ch(modelHash), missionScriptObject, scriptHostObject, networkObject, _r, _ri);
};

/**
 * Gets the closest ped in a radius.
 */
global.GetClosestPed = function (x, y, z, radius, p4, p5, p7, p8, p9, pedType) {
	return _in(0xc33ab876, 0xa77f8164, _fv(x), _fv(y), _fv(z), _fv(radius), p4, p5, _i, p7, p8, p9, pedType, _r);
};

/**
 * GET_CLOSEST_POINT_ON_LINE
 */
global.GetClosestPointOnLine = function (p0, p1, p2, p3, p4, p5, p6, p7, p8, p9) {
	return _in(0x83acc65d, 0x9acec5ef, _fv(p0), _fv(p1), _fv(p2), _fv(p3), _fv(p4), _fv(p5), _fv(p6), _fv(p7), _fv(p8), p9, _r, _rv);
};
global.N_0x83acc65d9acec5ef = global.GetClosestPointOnLine;

/**
 * GET_CLOSEST_ROAD
 */
global.GetClosestRoad = function (x, y, z, p3, p4, p10) {
	return _in(0x132f52bb, 0xa570fe92, _fv(x), _fv(y), _fv(z), _fv(p3), p4, _v, _v, _i, _i, _f, p10, _r, _ri);
};

/**
 * GET_CLOSEST_VEHICLE
 */
global.GetClosestVehicle = function (x, y, z, radius, modelHash, flags) {
	return _in(0x52f45d03, 0x3645181b, _fv(x), _fv(y), _fv(z), _fv(radius), _ch(modelHash), flags, _r, _ri);
};

/**
 * GET_CLOSEST_VEHICLE_NODE
 */
global.GetClosestVehicleNode = function (x, y, z, nodeType, p5, p6) {
	return _in(0x240a1869, 0x0ae96513, _fv(x), _fv(y), _fv(z), _v, nodeType, _fv(p5), _fv(p6), _r);
};

/**
 * GET_CLOSEST_VEHICLE_NODE_WITH_HEADING
 */
global.GetClosestVehicleNodeWithHeading = function (x, y, z, nodeType, p6, p7) {
	return _in(0x23cffd4c, 0xcb243354, _fv(x), _fv(y), _fv(z), _v, _f, nodeType, _fv(p6), _fv(p7), _r);
};

/**
 * GET_CLOUD_TIME_AS_INT
 */
global.GetCloudTimeAsInt = function () {
	return _in(0x9a73240b, 0x49945c76, _r, _ri);
};

/**
 * colorNameHash: https://alloc8or.re/rdr3/doc/enums/eColor.txt
 */
global.GetColorFromName = function (colorNameHash) {
	return _in(0xb981dd2d, 0xfaf9b1c9, _ch(colorNameHash), _i, _i, _i, _i);
};
global.N_0xb981dd2dfaf9b1c9 = global.GetColorFromName;

/**
 * GET_COMBAT_FLOAT
 */
global.GetCombatFloat = function (ped, combatType) {
	return _in(0x52dff8a1, 0x0508090a, ped, combatType, _r, _rf);
};

/**
 * enum _0x18F77396
 */
global.GetCompanionActivity = function (groupId) {
	return _in(0xb7e0590c, 0x86e1711f, groupId, _r, _ri);
};
global.N_0xb7e0590c86e1711f = global.GetCompanionActivity;

/**
 * p0: mostly Ped Hashes
 */
global.GetConstructedDiscoveredCharacterName = function (p0, model, outfit) {
	return _in(0x8e84119a, 0x23c16623, _ch(p0), model, outfit, _r, _ri);
};
global.N_0x8e84119a23c16623 = global.GetConstructedDiscoveredCharacterName;

/**
 * Returns time in ms since last input.
 */
global.GetControlHowLongAgo = function (control) {
	return _in(0xd7d22f55, 0x92aed8ba, control, _r, _ri);
};
global.N_0xd7d22f5592aed8ba = global.GetControlHowLongAgo;

/**
 * GET_CONTROL_NORMAL
 */
global.GetControlNormal = function (control, action) {
	return _in(0xec3c9b8d, 0x5327b563, control, _ch(action), _r, _rf);
};

/**
 * GET_CONTROL_UNBOUND_NORMAL
 */
global.GetControlUnboundNormal = function (control, action) {
	return _in(0x5b84d09c, 0xec5209c5, control, _ch(action), _r, _rf);
};

/**
 * GET_CONTROL_VALUE
 */
global.GetControlValue = function (control, action) {
	return _in(0xd95e79e8, 0x686d2c27, control, _ch(action), _r, _ri);
};

/**
 * Can be used to get a console variable of type `char*`, for example a string.
 * @param varName The console variable to look up.
 * @param default_ The default value to set if none is found.
 * @return Returns the convar value if it can be found, otherwise it returns the assigned `default`.
 */
global.GetConvar = function (varName, default_) {
	return _in(0x00000000, 0x6ccd2564, _ts(varName), _ts(default_), _r, _s);
};

/**
 * Can be used to get a console variable casted back to `bool`.
 * @param varName The console variable to look up.
 * @param defaultValue The default value to set if none is found.
 * @return Returns the convar value if it can be found, otherwise it returns the assigned `default`.
 */
global.GetConvarBool = function (varName, defaultValue) {
	return _in(0x00000000, 0x7e8ebfe5, _ts(varName), defaultValue, _r);
};

/**
 * This will have floating point inaccuracy.
 * @param varName The console variable to get
 * @param defaultValue The default value to set, if none are found.
 * @return Returns the value set in varName, or `default` if none are specified
 */
global.GetConvarFloat = function (varName, defaultValue) {
	return _in(0x00000000, 0x009e666d, _ts(varName), _fv(defaultValue), _r, _rf);
};

/**
 * Can be used to get a console variable casted back to `int` (an integer value).
 * @param varName The console variable to look up.
 * @param default_ The default value to set if none is found (variable not set using [SET_CONVAR](#\_0x341B16D2), or not accessible).
 * @return Returns the convar value if it can be found, otherwise it returns the assigned `default`.
 */
global.GetConvarInt = function (varName, default_) {
	return _in(0x00000000, 0x935c0ab2, _ts(varName), default_, _r, _ri);
};

/**
 * GET_COORDS_OF_PROJECTILE_TYPE_WITHIN_DISTANCE
 */
global.GetCoordsOfProjectileTypeWithinDistance = function (ped, weaponHash, distance, p4, mustBeOwnedByThisPed) {
	return _in(0xd73c960a, 0x681052df, ped, _ch(weaponHash), _fv(distance), _v, p4, mustBeOwnedByThisPed, _r);
};
global.GetProjectileNearPedCoords = global.GetCoordsOfProjectileTypeWithinDistance;

/**
 * _GET_BEST_* - _GET_CLOSEST_*
 * ```
 * ```
 * NativeDB Introduced: v1355
 */
global.GetCorrectKitEmoteTwirlGun = function (ped, weaponGuid) {
	return _in(0xcd356b42, 0xc57bfe01, ped, _ii(weaponGuid) /* may be optional */, _r);
};

/**
 * 1 = In cover while crouched
 * 2 = In cover while standing
 * 3 = Not in cover
 */
global.GetCoverPointStateFromPed = function (ped) {
	return _in(0x5f5b1b7e, 0x8e8f94c6, ped, _r, _ri);
};
global.N_0x5f5b1b7e8e8f94c6 = global.GetCoverPointStateFromPed;

/**
 * Returns bounty (increment) value
 */
global.GetCrimeBountyAmountByType = function (crimeType) {
	return _in(0x35e5e21f, 0x9159849c, _ch(crimeType), _r, _ri);
};
global.N_0x35e5e21f9159849c = global.GetCrimeBountyAmountByType;

/**
 * Params: percentWeather2: 0f - 0.75f in R* Scripts
 */
global.GetCurrWeatherState = function () {
	return _in(0x0ac679b2, 0x342f14f2, _i, _i, _f);
};
global.GetWeatherTypeTransition = global.GetCurrWeatherState;

/**
 * Returns ammoHash
 */
global.GetCurrentAmmoTypeFromGuid = function (ped, weaponGuid) {
	return _in(0xaf9d167a, 0x5656d6a6, ped, _ii(weaponGuid) /* may be optional */, _r, _ri);
};
global.N_0xaf9d167a5656d6a6 = global.GetCurrentAmmoTypeFromGuid;

/**
 * Gets the current control context. See: _SET_CONTROL_CONTEXT
 */
global.GetCurrentControlContext = function (control) {
	return _in(0xddceb0f2, 0x6c89c00f, control, _r, _ri);
};
global.N_0xddceb0f26c89c00f = global.GetCurrentControlContext;

/**
 * This native returns the currently used game's name.
 * @return The game name as a string, one of the following values: gta4, gta5, rdr3
 */
global.GetCurrentGameName = function () {
	return _in(0x00000000, 0xaca18ecd, _r, _s);
};

/**
 * 0 = american (en-US)
 * 1 = french (fr-FR)
 * 2 = german (de-DE)
 * 3 = italian (it-IT)
 * 4 = spanish (es-ES)
 * 5 = brazilian (pt-BR)
 * 6 = polish (pl-PL)
 * 7 = russian (ru-RU)
 * 8 = korean (ko-KR)
 * 9 = chinesetrad (zh-TW)
 * 10 = japanese (ja-JP)
 * 11 = mexican (es-MX)
 * 12 = chinesesimp (zh-CN)
 */
global.GetCurrentLanguage = function () {
	return _in(0xdb917da5, 0xc6835fcc, _r, _ri);
};

/**
 * _GET_CURRENT_NUMBER_OF_LOCAL_PHOTOS
 */
global.GetCurrentNumberOfLocalPhotos = function () {
	return _in(0x78c56b8a, 0x7b1d000c, _r, _ri);
};
global.N_0x78c56b8a7b1d000c = global.GetCurrentNumberOfLocalPhotos;

/**
 * GET_CURRENT_PED_VEHICLE_WEAPON
 */
global.GetCurrentPedVehicleWeapon = function (ped, weaponHash) {
	return _in(0x1017582b, 0xcd3832dc, ped, _ii(weaponHash) /* may be optional */, _r);
};

/**
 * attachPoint: see SET_CURRENT_PED_WEAPON
 */
global.GetCurrentPedWeapon = function (ped, p2, attachPoint, p4) {
	return _in(0x3a87e44b, 0xb9a01d54, ped, _i, p2, attachPoint, p4, _r);
};

/**
 * Returns ammoHash from weaponObject (Returned by 0x6CA484C9A7377E4F)
 */
global.GetCurrentPedWeaponAmmoType = function (ped, weaponObject) {
	return _in(0x7e7b19a4, 0x355fee13, ped, weaponObject, _r, _ri);
};
global.N_0x7e7b19a4355fee13 = global.GetCurrentPedWeaponAmmoType;

/**
 * Returns weaponObject, attachPoint: see SET_CURRENT_PED_WEAPON
 */
global.GetCurrentPedWeaponEntityIndex = function (ped, attachPoint) {
	return _in(0x3b390a93, 0x9af0b5fc, ped, attachPoint, _r, _ri);
};

/**
 * Returns the name of the currently executing resource.
 * @return The name of the resource.
 */
global.GetCurrentResourceName = function () {
	return _in(0x00000000, 0xe5e9ebbb, _r, _s);
};

/**
 * GET_CURRENT_SCRIPTED_CONVERSATION_LINE
 */
global.GetCurrentScriptedConversationLine = function (p0) {
	return _in(0x480357ee, 0x890c295a, _ts(p0), _r, _ri);
};

/**
 * Returns the peer address of the remote game server that the user is currently connected to.
 * @return The peer address of the game server (e.g. `127.0.0.1:30120`), or NULL if not available.
 */
global.GetCurrentServerEndpoint = function () {
	return _in(0x00000000, 0xea11bfba, _r, _s);
};

/**
 * Returns p1 for 0xBA958F68031DDBFC (stationIndex)
 */
global.GetCurrentStationForTrain = function (train) {
	return _in(0x86fa6d8b, 0x48667d75, train, _r, _ri);
};
global.N_0x86fa6d8b48667d75 = global.GetCurrentStationForTrain;

/**
 * GET_CURRENT_TARGET_FOR_PED
 */
global.GetCurrentTargetForPed = function (ped) {
	return _in(0xcd66fea2, 0x9400a0b5, ped, _r, _ri);
};
global.N_0xcd66fea29400a0b5 = global.GetCurrentTargetForPed;

/**
 * Returns p0 for 0xBA958F68031DDBFC (trackIndex)
 */
global.GetCurrentTrackForTrain = function (train) {
	return _in(0xaf787e08, 0x1ac4a8ee, train, _r, _ri);
};
global.N_0xaf787e081ac4a8ee = global.GetCurrentTrackForTrain;

/**
 * GET_DEAD_PED_PICKUP_COORDS
 */
global.GetDeadPedPickupCoords = function (ped, p1, p2) {
	return _in(0xcd5003b0, 0x97200f36, ped, _fv(p1), _fv(p2), _r, _rv);
};

/**
 * _GET_DEADEYE_ABILITY_LEVEL
 */
global.GetDeadeyeAbilityLevel = function (player) {
	return _in(0xcce7c695, 0xc164c35f, player, _r, _ri);
};
global.N_0xcce7c695c164c35f = global.GetDeadeyeAbilityLevel;

/**
 * attributeIndex: see SET_ATTRIBUTE_BASE_RANK
 */
global.GetDefaultAttributePointsNeededForRank = function (modelHash, attributeIndex, rank) {
	return _in(0x94a7f191, 0xdb49a44d, _ch(modelHash), attributeIndex, rank, _r, _ri);
};

/**
 * attributeIndex: see SET_ATTRIBUTE_BASE_RANK
 */
global.GetDefaultAttributeRank = function (ped, attributeIndex) {
	return _in(0x958dd43d, 0x41f89a47, ped, attributeIndex, _r, _ri);
};

/**
 * p1: WARDROBE, KIT_CAMP, CHARACTER, KIT_MOONSHINER_PROPERTY
 * Returns slot hash
 */
global.GetDefaultItemSlotInfo = function (item, p1) {
	return _in(0x6452b1d3, 0x57d81742, _ch(item), _ch(p1), _r, _ri);
};
global.N_0x6452b1d357d81742 = global.GetDefaultItemSlotInfo;

/**
 * attributeIndex: see SET_ATTRIBUTE_BASE_RANK
 */
global.GetDefaultMaxAttributeRank = function (ped, attributeIndex) {
	return _in(0x7c059c55, 0xad940cb4, ped, attributeIndex, _r, _ri);
};

/**
 * Returns weaponCollection Hash
 * Example: RE_POLICECHASE_MALES_01: Carbine Repeater + Knife, LO_AGRO_PED
 */
global.GetDefaultPedWeaponCollection = function (pedModel) {
	return _in(0xd42514c1, 0x82121c23, _ch(pedModel), _r, _ri);
};
global.N_0xd42514c182121c23 = global.GetDefaultPedWeaponCollection;

/**
 * _GET_DEFAULT_RELATIONSHIP_GROUP_HASH
 */
global.GetDefaultRelationshipGroupHash = function (modelHash) {
	return _in(0x3cc4a718, 0xc258bdd0, _ch(modelHash), _r, _ri);
};

/**
 * Returns the ped's default unarmed weapon hash as defined in CPedModelInfo (DefaultUnarmedWeapon).
 * Falls back to WEAPON_UNARMED if the ped doesn't have a valid model info pointer, or 0 if the ped doesn't exist.
 */
global.GetDefaultUnarmedWeaponHash = function (ped) {
	return _in(0x08ff1099, 0xed2e6e21, ped, _r, _ri);
};
global.N_0x08ff1099ed2e6e21 = global.GetDefaultUnarmedWeaponHash;

/**
 * _GET_DISABLED_CONTROL_HOW_LONG_AGO
 */
global.GetDisabledControlHowLongAgo = function (control) {
	return _in(0x771dfcb2, 0x4d19c2f6, control, _r, _ri);
};
global.N_0x771dfcb24d19c2f6 = global.GetDisabledControlHowLongAgo;

/**
 * GET_DISABLED_CONTROL_NORMAL
 */
global.GetDisabledControlNormal = function (control, action) {
	return _in(0x11e65974, 0xa982637c, control, _ch(action), _r, _rf);
};

/**
 * GET_DISABLED_CONTROL_UNBOUND_NORMAL
 */
global.GetDisabledControlUnboundNormal = function (control, action) {
	return _in(0x4f8a26a8, 0x90fd62fb, control, _ch(action), _r, _rf);
};

/**
 * Returns name hash (name) and outHash includes the type.
 */
global.GetDiscoverableNameHashAndTypeForEntity = function (entity, type) {
	return _in(0x0139637a, 0x3bff8b6d, entity, _ii(type) /* may be optional */, _r, _ri);
};
global.N_0x0139637a3bff8b6d = global.GetDiscoverableNameHashAndTypeForEntity;

/**
 * If useZ is false, only the 2D plane (X-Y) will be considered for calculating the distance.
 * Consider using this faster native instead: BUILTIN::VDIST - DVIST always takes in consideration the 3D coordinates.
 */
global.GetDistanceBetweenCoords = function (x1, y1, z1, x2, y2, z2, useZ) {
	return _in(0x0be7f4e3, 0xcdbafb28, _fv(x1), _fv(y1), _fv(z1), _fv(x2), _fv(y2), _fv(z2), useZ, _r, _rf);
};

/**
 * GET_DRAFT_ANIMAL_COUNT
 */
global.GetDraftAnimalCount = function (vehicle) {
	return _in(0xa19447d8, 0x3294e29f, vehicle, _i, _i, _r, _ri);
};
global.N_0xa19447d83294e29f = global.GetDraftAnimalCount;

/**
 * Returns rage::NumericLimits<float>::kMax (3.402823466e+38) if vehicle is not a valid vehicle of type VEHICLE_TYPE_DRAFT.
 */
global.GetDraftVehicleDesiredSpeed = function (vehicle) {
	return _in(0xc6d7ddc8, 0x43176701, vehicle, _r, _rf);
};
global.N_0xc6d7ddc843176701 = global.GetDraftVehicleDesiredSpeed;

/**
 * GET_DRIVER_OF_VEHICLE
 */
global.GetDriverOfVehicle = function (vehicle) {
	return _in(0x2963b5c1, 0x637e8a27, vehicle, _r, _ri);
};
global.N_0x2963b5c1637e8a27 = global.GetDriverOfVehicle;

/**
 * Returns the NUI window handle for a specified DUI browser object.
 * @param duiObject The DUI browser handle.
 * @return The NUI window handle, for use in e.g. CREATE_RUNTIME_TEXTURE_FROM_DUI_HANDLE.
 */
global.GetDuiHandle = function (duiObject) {
	return _in(0x00000000, 0x1655d41d, duiObject, _r, _s);
};

/**
 * https://easings.net/
 * enum class eEasingCurveType
 * {
 * TYPE_LINEAR,
 * TYPE_QUADRATIC_IN,
 * TYPE_QUADRATIC_OUT,
 * TYPE_QUADRATIC_INOUT,
 * TYPE_CUBIC_IN,
 * TYPE_CUBIC_OUT,
 * TYPE_CUBIC_INOUT,
 * TYPE_QUARTIC_IN,
 * TYPE_QUARTIC_OUT,
 * TYPE_QUARTIC_INOUT,
 * TYPE_QUINTIC_IN,
 * TYPE_QUINTIC_OUT,
 * TYPE_QUINTIC_INOUT,
 * TYPE_EXPONENTIAL_IN,
 * TYPE_EXPONENTIAL_OUT,
 * TYPE_EXPONENTIAL_INOUT,
 * TYPE_SINE_IN,
 * TYPE_SINE_OUT,
 * TYPE_SINE_INOUT,
 * TYPE_CIRCULAR_IN,
 * TYPE_CIRCULAR_OUT,
 * TYPE_CIRCULAR_INOUT,
 * TYPE_BOUNCE_IN,
 * TYPE_BOUNCE_OUT,
 * TYPE_BOUNCE_INOUT,
 * TYPE_CUSTOM
 * };
 */
global.GetEasingCurveValue = function (t, b, d, easingCurveType) {
	return _in(0xef50e344, 0xa8f93784, _fv(t), _fv(b), _fv(d), easingCurveType, _r, _rf);
};
global.N_0xef50e344a8f93784 = global.GetEasingCurveValue;

/**
 * _GET_ENTITIES_FROM_PROP_SET
 */
global.GetEntitiesFromPropSet = function (propSet, itemSet, model, p3, p4) {
	return _in(0x738271b6, 0x60fe0695, propSet, itemSet, _ch(model), p3, p4, _r, _ri);
};
global.N_0x738271b660fe0695 = global.GetEntitiesFromPropSet;

/**
 * _GET_ENTITIES_IN_VOLUME
 */
global.GetEntitiesInVolume = function (volume, itemSet, entityType) {
	return _in(0x886171a1, 0x2f400b89, volume, itemSet, entityType, _r, _ri);
};
global.N_0x886171a12f400b89 = global.GetEntitiesInVolume;

/**
 * _GET_ENTITIES_NEAR_POINT
 */
global.GetEntitiesNearPoint = function (x, y, z, radius, itemSet, p5) {
	return _in(0x59b57c4b, 0x06531e1e, _fv(x), _fv(y), _fv(z), _fv(radius), itemSet, p5, _r, _ri);
};
global.N_0x59b57c4b06531e1e = global.GetEntitiesNearPoint;

/**
 * **Experimental**: This native may be altered or removed in future versions of CitizenFX without warning.
 * Returns the memory address of an entity.
 * This native is intended for singleplayer debugging, and may not be available during multiplayer.
 * @param entity The handle of the entity to get the address of.
 * @return A pointer contaning the memory address of the entity.
 */
global.GetEntityAddress = function (entity) {
	return _in(0x00000000, 0x9a3144bc, entity, _r, _rl);
};

/**
 * GET_ENTITY_ALPHA
 */
global.GetEntityAlpha = function (entity) {
	return _in(0x1bb50162, 0x4faf2bea, entity, _r, _ri);
};

/**
 * _GET_ENTITY_ANIM_CURRENT_TIME
 */
global.GetEntityAnimCurrentTime = function (entity, animDict, animName) {
	return _in(0x62752038, 0x9e288a73, entity, _ts(animDict), _ts(animName), _r, _rf);
};
global.N_0x627520389e288a73 = global.GetEntityAnimCurrentTime;

/**
 * GET_ENTITY_ATTACHED_TO
 */
global.GetEntityAttachedTo = function (entity) {
	return _in(0x56d71388, 0x8a566481, entity, _r, _ri);
};

/**
 * _GET_ENTITY_AUDIO_MIX_GROUP
 */
global.GetEntityAudioMixGroup = function (entity) {
	return _in(0x8b25a18e, 0x390f75bf, entity, _r, _ri);
};
global.N_0x8b25a18e390f75bf = global.GetEntityAudioMixGroup;

/**
 * GET_ENTITY_BONE_INDEX_BY_NAME
 */
global.GetEntityBoneIndexByName = function (entity, boneName) {
	return _in(0xbaca8fe9, 0xc76c124e, entity, _ts(boneName), _r, _ri);
};

/**
 * Params: p1 = 0 in R* Scripts (GET_DOOR_ENTITY_FROM_ID)
 * https://github.com/femga/rdr3_discoveries/blob/master/doorHashes/doorhashes.lua
 */
global.GetEntityByDoorhash = function (doorHash, p1) {
	return _in(0xf7424890, 0xe4a094c0, _ch(doorHash), p1, _r, _ri);
};
global.N_0xf7424890e4a094c0 = global.GetEntityByDoorhash;

/**
 * _GET_ENTITY_CAN_BE_DAMAGED
 */
global.GetEntityCanBeDamaged = function (entity) {
	return _in(0x75df9e73, 0xf2f005fd, entity, _r, _ri);
};
global.N_0x75df9e73f2f005fd = global.GetEntityCanBeDamaged;

/**
 * Returns zero if the entity is not a carriable
 */
global.GetEntityCarryConfig = function (entity) {
	return _in(0x0fd25587, 0xbb306c86, entity, _r, _ri);
};
global.N_0x0fd25587bb306c86 = global.GetEntityCarryConfig;

/**
 * flagId: see _SET_ENTITY_CARRYING_FLAG
 */
global.GetEntityCarryingFlag = function (entity, flagId) {
	return _in(0x80807764, 0x7856de62, entity, flagId, _r, _ri);
};
global.N_0x808077647856de62 = global.GetEntityCarryingFlag;

/**
 * GET_ENTITY_COLLISION_DISABLED
 */
global.GetEntityCollisionDisabled = function (entity) {
	return _in(0xaa2fadd3, 0x0f45a9da, entity, _r);
};

/**
 * Gets the current coordinates for a specified entity.
 * @param entity The entity to get the coordinates from.
 * @param alive Unused by the game, potentially used by debug builds in order to assert whether or not an entity was alive.
 * @param realCoords Set to true when you need the true ped coords, otherwise the game will return the coordinates of the entity the ped is mounted on.
 */
global.GetEntityCoords = function (entity, alive, realCoords) {
	return _in(0xa86d5f06, 0x9399f44d, entity, alive, realCoords, _r, _rv);
};

/**
 * Gets the entity's forward vector in XY(Z) eulers.
 */
global.GetEntityForwardVector = function (entity) {
	return _in(0x2412d9c0, 0x5bb09b97, entity, _r, _rv);
};

/**
 * Gets the entity's forward vector in YX(Z) eulers. Similar to GET_ENTITY_FORWARD_VECTOR
 */
global.GetEntityForwardVectorYx = function (entity) {
	return _in(0x935a30aa, 0x88fb1014, entity, _r, _rv);
};
global.N_0x935a30aa88fb1014 = global.GetEntityForwardVectorYx;

/**
 * Gets the X-component of the entity's forward vector.
 */
global.GetEntityForwardX = function (entity) {
	return _in(0xdb0954e9, 0x960f6457, entity, _r, _rf);
};

/**
 * Gets the Y-component of the entity's forward vector.
 */
global.GetEntityForwardY = function (entity) {
	return _in(0x9a5c073e, 0xcbda7ee7, entity, _r, _rf);
};

/**
 * _GET_ENTITY_FROM_ITEM
 */
global.GetEntityFromItem = function (item) {
	return _in(0xee04c0af, 0xd4efaf0e, item, _r, _ri);
};
global.N_0xee04c0afd4efaf0e = global.GetEntityFromItem;

/**
 * Returns the entity handle for the specified state bag name. For use with [ADD_STATE_BAG_CHANGE_HANDLER](?\_0x5BA35AAF).
 * @param bagName An internal state bag ID from the argument to a state bag change handler.
 * @return The entity handle or 0 if the state bag name did not refer to an entity, or the entity does not exist.
 */
global.GetEntityFromStateBagName = function (bagName) {
	return _in(0x00000000, 0x4bdf1867, _ts(bagName), _r, _ri);
};

/**
 * Returns the heading of the entity in degrees. Also know as the "Yaw" of an entity.
 */
global.GetEntityHeading = function (entity) {
	return _in(0xc230dd95, 0x6e2f5507, entity, _r, _rf);
};

/**
 * GET_ENTITY_HEALTH
 */
global.GetEntityHealth = function (entity) {
	return _in(0x82368787, 0xea73c0f7, entity, _r, _ri);
};

/**
 * Returns (CUR_HEALTH / MAX_HEALTH)
 */
global.GetEntityHealthFloat = function (entity) {
	return _in(0x96c63878, 0x4db4c815, entity, _r, _rf);
};
global.N_0x96c638784db4c815 = global.GetEntityHealthFloat;

/**
 * GET_ENTITY_HEIGHT
 */
global.GetEntityHeight = function (entity, X, Y, Z, atTop, inWorldCoords) {
	return _in(0x296debc8, 0x4474b375, entity, _fv(X), _fv(Y), _fv(Z), atTop, inWorldCoords, _r, _rf);
};

/**
 * GET_ENTITY_HEIGHT_ABOVE_GROUND
 */
global.GetEntityHeightAboveGround = function (entity) {
	return _in(0x0d3b5bae, 0xa08f63e9, entity, _r, _rf);
};

/**
 * Returns the LOD distance of an entity.
 */
global.GetEntityLodDist = function (entity) {
	return _in(0xdf240d0c, 0x2a948683, entity, _r, _ri);
};

/**
 * _GET_ENTITY_MASK_LAYERS
 */
global.GetEntityMaskLayers = function (entity) {
	return _in(0xe8a8378b, 0xf651079c, entity, _f, _f, _f, _f, _r);
};
global.N_0xe8a8378bf651079c = global.GetEntityMaskLayers;

/**
 * GET_ENTITY_MATRIX
 */
global.GetEntityMatrix = function (entity) {
	return _in(0x3a9b1120, 0xaf13fbf2, entity, _v, _v, _v, _v);
};

/**
 * GET_ENTITY_MAX_HEALTH
 */
global.GetEntityMaxHealth = function (entity, p1) {
	return _in(0x15d75760, 0x6d170c3c, entity, p1, _r, _ri);
};

/**
 * Returns the model hash from the entity
 */
global.GetEntityModel = function (entity) {
	return _in(0xda76a9f3, 0x9210d365, entity, _r, _ri);
};

/**
 * GET_ENTITY_PITCH
 */
global.GetEntityPitch = function (entity) {
	return _in(0xef355abe, 0xff7f5005, entity, _r, _rf);
};

/**
 * GET_ENTITY_PLAYER_IS_FREE_AIMING_AT
 */
global.GetEntityPlayerIsFreeAimingAt = function (player, entity) {
	return _in(0xa6817c11, 0x0b830ead, player, _ii(entity) /* may be optional */, _r);
};

/**
 * GET_ENTITY_POPULATION_TYPE
 */
global.GetEntityPopulationType = function (entity) {
	return _in(0xade28862, 0xb6d7b85b, entity, _r, _ri);
};

/**
 * Note: this native was removed in 1232 but added back in 1311
 */
global.GetEntityProofs = function (entity) {
	return _in(0x6cf0dad7, 0xfa1088ea, entity, _r, _ri);
};

/**
 * Displays the current ROLL axis of the entity [-180.0000/180.0000+]
 * (Sideways Roll) such as a vehicle tipped on its side
 */
global.GetEntityRoll = function (entity) {
	return _in(0xbf966536, 0xfa8b6879, entity, _r, _rf);
};

/**
 * GET_ENTITY_ROTATION
 */
global.GetEntityRotation = function (entity, rotationOrder) {
	return _in(0xe09caf86, 0xc32cb48f, entity, rotationOrder, _r, _rv);
};

/**
 * _GET_ENTITY_SCRIPT
 */
global.GetEntityScript = function (entity, argStruct) {
	return _in(0x2a08a32b, 0x6d49906f, entity, _ii(argStruct) /* may be optional */, _r, _ri);
};
global.N_0x2a08a32b6d49906f = global.GetEntityScript;

/**
 * Result is in meters per second (m/s)
 */
global.GetEntitySpeed = function (entity) {
	return _in(0xfb6ba510, 0xa533df81, entity, _r, _rf);
};

/**
 * GET_ENTITY_SPEED_VECTOR
 */
global.GetEntitySpeedVector = function (entity, relative) {
	return _in(0xf2db0981, 0x6a419dc5, entity, relative, _r, _rv);
};

/**
 * Get how much of the entity is submerged.  1.0f is whole entity.
 */
global.GetEntitySubmergedLevel = function (entity) {
	return _in(0x4a77c3f7, 0x3fd9e831, entity, _r, _rf);
};

/**
 * _GET_ENTITY_THREAT_TIER
 */
global.GetEntityThreatTier = function (entity) {
	return _in(0xe12f56cb, 0x25d9ce23, entity, _r, _ri);
};
global.N_0xe12f56cb25d9ce23 = global.GetEntityThreatTier;

/**
 * Returns entityType: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/eEntityType
 */
global.GetEntityType = function (entity) {
	return _in(0x97f696ac, 0xa466b4e0, entity, _r, _ri);
};

/**
 * GET_ENTITY_UPRIGHT_VALUE
 */
global.GetEntityUprightValue = function (entity) {
	return _in(0x56398be6, 0x5160c3be, entity, _r, _rf);
};

/**
 * GET_ENTITY_VELOCITY
 */
global.GetEntityVelocity = function (entity, p1) {
	return _in(0x4805d2b1, 0xd8cf94a9, entity, p1, _r, _rv);
};

/**
 * _GET_ENTITY_WORLD_POSITION_OF_DIMENSIONS
 */
global.GetEntityWorldPositionOfDimensions = function (entity) {
	return _in(0xf3fda9a6, 0x17a15145, entity, _v, _v);
};
global.N_0xf3fda9a617a15145 = global.GetEntityWorldPositionOfDimensions;

/**
 * eventGroup: 0 = SCRIPT_EVENT_QUEUE_AI (CEventGroupScriptAI), 1 = SCRIPT_EVENT_QUEUE_NETWORK (CEventGroupScriptNetwork), 2 = unk, 3 = unk, 4 = SCRIPT_EVENT_QUEUE_SCRIPT_ERRORS (CEventGroupScriptErrors)
 * Returns event name hash: https://alloc8or.re/rdr3/doc/enums/eEventType.txt
 */
global.GetEventAtIndex = function (eventGroup, eventIndex) {
	return _in(0xa85e6144, 0x30eff816, eventGroup, eventIndex, _r, _ri);
};

/**
 * eventGroup: 0 = SCRIPT_EVENT_QUEUE_AI (CEventGroupScriptAI), 1 = SCRIPT_EVENT_QUEUE_NETWORK (CEventGroupScriptNetwork), 2 = unk, 3 = unk, 4 = SCRIPT_EVENT_QUEUE_SCRIPT_ERRORS (CEventGroupScriptErrors)
 * Note: eventDataSize is NOT the size in bytes, it is the size determined by the SIZE_OF operator (RAGE Script operator, not C/C++ sizeof). That is, the size in bytes divided by 8 (script variables are always 8-byte aligned!).
 * https://github.com/femga/rdr3_discoveries/tree/master/AI/EVENTS
 */
global.GetEventData = function (eventGroup, eventIndex, eventDataSize) {
	return _in(0x57ec5fa4, 0xd4d6afca, eventGroup, eventIndex, _i, eventDataSize, _r);
};

/**
 * eventGroup: 0 = SCRIPT_EVENT_QUEUE_AI (CEventGroupScriptAI), 1 = SCRIPT_EVENT_QUEUE_NETWORK (CEventGroupScriptNetwork), 2 = unk, 3 = unk, 4 = SCRIPT_EVENT_QUEUE_SCRIPT_ERRORS (CEventGroupScriptErrors)
 */
global.GetEventExists = function (eventGroup, eventType) {
	return _in(0xc9f59c0a, 0x710ecd34, eventGroup, _ch(eventType), _r);
};

/**
 * A getter for [SET_RESOURCE_KVP_FLOAT](#\_0x9ADD2938), but for a specified resource.
 * @param resource The resource to fetch from.
 * @param key The key to fetch
 * @return A float that contains the value stored in the Kvp or nil/null if none.
 */
global.GetExternalKvpFloat = function (resource, key) {
	return _in(0x00000000, 0x3cc98b25, _ts(resource), _ts(key), _r, _rf);
};

/**
 * A getter for [SET_RESOURCE_KVP_INT](#\_0x6A2B1E8), but for a specified resource.
 * @param resource The resource to fetch from.
 * @param key The key to fetch
 * @return A int that contains the value stored in the Kvp or nil/null if none.
 */
global.GetExternalKvpInt = function (resource, key) {
	return _in(0x00000000, 0x12b8d689, _ts(resource), _ts(key), _r, _ri);
};

/**
 * A getter for [SET_RESOURCE_KVP](#\_0x21C7A35B), but for a specified resource.
 * @param resource The resource to fetch from.
 * @param key The key to fetch
 * @return A string that contains the value stored in the Kvp or nil/null if none.
 */
global.GetExternalKvpString = function (resource, key) {
	return _in(0x00000000, 0x9080363a, _ts(resource), _ts(key), _r, _s);
};

/**
 * Gets a string literal from a label name.
 */
global.GetFilenameForAudioConversation = function (labelName) {
	return _in(0xcfedccad, 0x3c5ba90d, _ts(labelName), _r, _s);
};
global.GetLabelText = global.GetFilenameForAudioConversation;

/**
 * GET_FINAL_RENDERED_CAM_COORD
 */
global.GetFinalRenderedCamCoord = function () {
	return _in(0x5352e025, 0xec2b416f, _r, _rv);
};

/**
 * GET_FINAL_RENDERED_CAM_FOV
 */
global.GetFinalRenderedCamFov = function () {
	return _in(0x04af7797, 0x1e508f6a, _r, _rf);
};

/**
 * GET_FINAL_RENDERED_CAM_ROT
 */
global.GetFinalRenderedCamRot = function (rotationOrder) {
	return _in(0x602685bd, 0x85dd26ca, rotationOrder, _r, _rv);
};

/**
 * _GET_FIRST_ENTITY_PED_IS_CARRYING
 */
global.GetFirstEntityPedIsCarrying = function (ped) {
	return _in(0xd806cd2a, 0x4f2c2996, ped, _r, _ri);
};
global.N_0xd806cd2a4f2c2996 = global.GetFirstEntityPedIsCarrying;

/**
 * GET_FIRST_PERSON_AIM_CAM_ZOOM_FACTOR
 */
global.GetFirstPersonAimCamZoomFactor = function () {
	return _in(0xb4132ca1, 0xb0ee1365, _r, _rf);
};

/**
 * Returns the weather type that has been set by a script
 */
global.GetForcedWeather = function () {
	return _in(0xdd560abe, 0xf5d3784c, _i, _i);
};
global.N_0xdd560abef5d3784c = global.GetForcedWeather;

/**
 * GET_FRAME_COUNT
 */
global.GetFrameCount = function () {
	return _in(0x77dfa958, 0xfcf100c1, _r, _ri);
};

/**
 * GET_FRAME_TIME
 */
global.GetFrameTime = function () {
	return _in(0x5e720229, 0x14ce3c38, _r, _rf);
};

/**
 * Returns the internal build number of the current game being executed.
 * Possible values:
 * *   FiveM
 * *   1604
 * *   2060
 * *   2189
 * *   2372
 * *   2545
 * *   2612
 * *   2699
 * *   2802
 * *   2944
 * *   3095
 * *   3258
 * *   3323
 * *   3407
 * *   RedM
 * *   1311
 * *   1355
 * *   1436
 * *   1491
 * *   LibertyM
 * *   43
 * *   FXServer
 * *   0
 * @return The build number, or **0** if no build number is known.
 */
global.GetGameBuildNumber = function () {
	return _in(0x00000000, 0x804b9f7b, _r, _ri);
};

/**
 * Returns the current game being executed.
 * Possible values:
 * | Return value | Meaning                        |
 * | ------------ | ------------------------------ |
 * | `fxserver`   | Server-side code ('Duplicity') |
 * | `fivem`      | FiveM for GTA V                |
 * | `libertym`   | LibertyM for GTA IV            |
 * | `redm`       | RedM for Red Dead Redemption 2 |
 * @return The game the script environment is running in.
 */
global.GetGameName = function () {
	return _in(0x00000000, 0xe8eaa18b, _r, _s);
};

/**
 * Returns a list of entity handles (script GUID) for all entities in the specified pool - the data returned is an array as
 * follows:
 * ```json
 * [ 770, 1026, 1282, 1538, 1794, 2050, 2306, 2562, 2818, 3074, 3330, 3586, 3842, 4098, 4354, 4610, ...]
 * ```
 * ### Supported pools
 * *   `CPed`: Peds (including animals) and players.
 * *   `CObject`: Objects (props), doors, and projectiles.
 * *   `CNetObject`: Networked objects
 * *   `CVehicle`: Vehicles.
 * *   `CPickup`: Pickups.
 * @param poolName The pool name to get a list of entities from.
 * @return An array containing entity handles for each entity in the named pool.
 */
global.GetGamePool = function (poolName) {
	return _in(0x00000000, 0x2b9d4f50, _ts(poolName), _r, _ro);
};

/**
 * GET_GAME_TIMER
 */
global.GetGameTimer = function () {
	return _in(0x4f67e8ec, 0xa7d3f667, _r, _ri);
};

/**
 * Returns rage::fwTimer::sm_nonScaledClippedTime
 */
global.GetGameTimerNonScaledClipped = function () {
	return _in(0x483b8c54, 0x2103ad72, _r, _ri);
};
global.N_0x483b8c542103ad72 = global.GetGameTimerNonScaledClipped;

/**
 * Return example: 1207.69_dev_pc, 1436.28_dev_live_tu
 */
global.GetGameVersionName = function () {
	return _in(0x05a5f662, 0xad35c573, _r, _s);
};
global.GetGameBuildString = global.GetGameVersionName;

/**
 * GET_GAMEPLAY_CAM_COORD
 */
global.GetGameplayCamCoord = function () {
	return _in(0x59532020, 0x0b98596e, _r, _rv);
};

/**
 * GET_GAMEPLAY_CAM_FOV
 */
global.GetGameplayCamFov = function () {
	return _in(0xf6a96e5a, 0xceec6e50, _r, _rf);
};

/**
 * GET_GAMEPLAY_CAM_RELATIVE_HEADING
 */
global.GetGameplayCamRelativeHeading = function () {
	return _in(0xc4abf536, 0x048998aa, _r, _rf);
};

/**
 * GET_GAMEPLAY_CAM_RELATIVE_PITCH
 */
global.GetGameplayCamRelativePitch = function () {
	return _in(0x99aadebb, 0xa803f827, _r, _rf);
};

/**
 * GET_GAMEPLAY_CAM_ROT
 */
global.GetGameplayCamRot = function (rotationOrder) {
	return _in(0x0252d2b5, 0x582957a6, rotationOrder, _r, _rv);
};

/**
 * _GET_GLOBAL_BLOCK_CAN_BE_ACCESSED
 */
global.GetGlobalBlockCanBeAccessed = function (index) {
	return _in(0x42a7eb5c, 0x814c2de0, index, _r);
};

/**
 * GET_GPS_BLIP_ROUTE_FOUND
 */
global.GetGpsBlipRouteFound = function () {
	return _in(0x869daacb, 0xbe9fa006, _r);
};

/**
 * GET_GPS_BLIP_ROUTE_LENGTH
 */
global.GetGpsBlipRouteLength = function () {
	return _in(0xbbb45c3c, 0xf5c8aa85, _r, _ri);
};

/**
 * GET_GROUND_Z_AND_NORMAL_FOR_3D_COORD
 */
global.GetGroundZAndNormalFor_3dCoord = function (x, y, z) {
	return _in(0x2a29ca9a, 0x6319e6ab, _fv(x), _fv(y), _fv(z), _f, _v, _r);
};

/**
 * GET_GROUND_Z_FOR_3D_COORD
 */
global.GetGroundZFor_3dCoord = function (x, y, z, p4) {
	return _in(0x24fa4267, 0xbb8d2431, _fv(x), _fv(y), _fv(z), _f, p4, _r);
};

/**
 * _GET_GROUP_FORMATION
 */
global.GetGroupFormation = function (groupId) {
	return _in(0x13a1b061, 0x007c906b, groupId, _r, _ri);
};
global.N_0x13a1b061007c906b = global.GetGroupFormation;

/**
 * GET_GROUP_SIZE
 */
global.GetGroupSize = function (groupId) {
	return _in(0x8de69fe3, 0x5ca09a45, groupId, _i /* actually bool */, _i);
};

/**
 * GET_HAS_PLAYER_DISCOVERED_CHARACTER_NAME_MP
 */
global.GetHasPlayerDiscoveredCharacterNameMp = function (discoveryHash) {
	return _in(0x354f689c, 0x4ffaab37, _ch(discoveryHash), _r, _ri);
};
global.N_0x354f689c4ffaab37 = global.GetHasPlayerDiscoveredCharacterNameMp;

/**
 * _GET_HAS_PLAYER_DISCOVERED_CHARACTER_NAME_SP
 */
global.GetHasPlayerDiscoveredCharacterNameSp = function (player, p1, discoveryHash) {
	return _in(0x0772f87d, 0x7b07719a, player, p1, _ch(discoveryHash), _r, _ri);
};
global.N_0x0772f87d7b07719a = global.GetHasPlayerDiscoveredCharacterNameSp;

/**
 * Computes a hash for the given string. It is hashed using Jenkins' One-at-a-Time hash algorithm (https://en.wikipedia.org/wiki/Jenkins_hash_function)
 * Note: this implementation is case-insensitive.
 */
global.GetHashKey = function (string) {
	return _in(0xfd340785, 0xadf8cfb7, _ts(string), _r, _ri);
};

/**
 * GET_HASH_OF_THIS_SCRIPT_NAME
 */
global.GetHashOfThisScriptName = function () {
	return _in(0xbc2c927f, 0x5c264960, _r, _ri);
};

/**
 * _GET_HASH_OF_THREAD
 */
global.GetHashOfThread = function (threadId) {
	return _in(0x724cb89d, 0x35b283d0, threadId, _r, _ri);
};

/**
 * dx = x1 - x2
 * dy = y1 - y2
 */
global.GetHeadingFromVector_2d = function (dx, dy) {
	return _in(0x38d5202f, 0xf9271c62, _fv(dx), _fv(dy), _r, _rf);
};

/**
 * _GET_HEALTH_RECHARGE_MULTIPLIER
 */
global.GetHealthRechargeMultiplier = function (ped) {
	return _in(0x95b8e397, 0xb8f4360f, ped, _r, _rf);
};
global.N_0x95b8e397b8f4360f = global.GetHealthRechargeMultiplier;

/**
 * Flowers, Stalks or whatever the composite has
 */
global.GetHerbCompositeNumEntities = function (compositeId, outEntities) {
	return _in(0x96c6ed22, 0xfb742c3e, compositeId, _ii(outEntities) /* may be optional */, _r, _ri);
};
global.N_0x96c6ed22fb742c3e = global.GetHerbCompositeNumEntities;

/**
 * _GET_HOGTIE_ESCAPE_TIMER
 */
global.GetHogtieEscapeTimer = function (ped) {
	return _in(0x4687e69d, 0x258bbe41, ped, _r, _rf);
};
global.N_0x4687e69d258bbe41 = global.GetHogtieEscapeTimer;

/**
 * Returns an int based on enum eTamingState
 * enum eTamingState
 * {
 * ATS_INVALID = 0,
 * ATS_INACTIVE,
 * ATS_TARGET_DETECTED,
 * ATS_CALLED_OUT,
 * ATS_MOUNTABLE,
 * ATS_BEING_PATTED,
 * ATS_BREAKING_ACTIVE,
 * ATS_SPOOKED,
 * ATS_RETREATING,
 * ATS_FLEEING
 * };
 */
global.GetHorseTamingState = function (horse) {
	return _in(0x454ad4da, 0x6c41b5bd, horse, _r, _ri);
};
global.N_0x454ad4da6c41b5bd = global.GetHorseTamingState;

/**
 * See _REPORT_CRIME
 */
global.GetHudPlayerCrimeType = function (player) {
	return _in(0x259ce340, 0xa8738814, player, _r, _ri);
};
global.N_0x259ce340a8738814 = global.GetHudPlayerCrimeType;

/**
 * GET_HUD_SCREEN_POSITION_FROM_WORLD_POSITION
 */
global.GetHudScreenPositionFromWorldPosition = function (worldX, worldY, worldZ) {
	return _in(0xb39c8162, 0x8ef10b42, _fv(worldX), _fv(worldY), _fv(worldZ), _f, _f, _r);
};

/**
 * GET_ID_OF_THIS_THREAD
 */
global.GetIdOfThisThread = function () {
	return _in(0x55525c34, 0x6bef6960, _r, _ri);
};

/**
 * _GET_INCAPACITATION_TIME_REMAINING
 */
global.GetIncapacitationTimeRemaining = function (ped) {
	return _in(0x88d9d76d, 0x78065487, ped, _r, _ri);
};
global.N_0x88d9d76d78065487 = global.GetIncapacitationTimeRemaining;

/**
 * GET_INDEXED_ITEM_IN_ITEMSET
 */
global.GetIndexedItemInItemset = function (index, itemset) {
	return _in(0x275a2e2c, 0x0fab7612, index, itemset, _r, _ri);
};

/**
 * GET_INDEXED_SCENARIO_POINT_INDEX_IN_ITEMSET
 */
global.GetIndexedScenarioPointIndexInItemset = function (index, itemset) {
	return _in(0x9fc3cdb5, 0xce815901, index, itemset, _r, _ri);
};

/**
 * GET_INSTANCE_ID
 */
global.GetInstanceId = function () {
	return _in(0x00000000, 0x9f1c4383, _r, _ri);
};

/**
 * GET_INTERIOR_AT_COORDS
 */
global.GetInteriorAtCoords = function (x, y, z) {
	return _in(0xcdd36c9e, 0x5c469070, _fv(x), _fv(y), _fv(z), _r, _ri);
};

/**
 * GET_INTERIOR_AT_COORDS_WITH_TYPE
 */
global.GetInteriorAtCoordsWithType = function (x, y, z, interiorType) {
	return _in(0xaad6170a, 0xa33b13c0, _fv(x), _fv(y), _fv(z), _ts(interiorType), _r, _ri);
};

/**
 * Hashed version of GET_INTERIOR_AT_COORDS_WITH_TYPE
 */
global.GetInteriorAtCoordsWithTypehash = function (x, y, z, typeHash) {
	return _in(0x3543aea1, 0x816d1d2b, _fv(x), _fv(y), _fv(z), _ch(typeHash), _r, _ri);
};

/**
 * GET_INTERIOR_FROM_COLLISION
 */
global.GetInteriorFromCollision = function (x, y, z) {
	return _in(0x5054d1a5, 0x218fa696, _fv(x), _fv(y), _fv(z), _r, _ri);
};

/**
 * Returns the handle of the interior that the entity is in. Returns 0 if outside.
 */
global.GetInteriorFromEntity = function (entity) {
	return _in(0xb4176898, 0x57646f61, entity, _r, _ri);
};

/**
 * GET_INTERIOR_FROM_PRIMARY_VIEW
 */
global.GetInteriorFromPrimaryView = function () {
	return _in(0xbc8a281f, 0xf125c655, _r, _ri);
};
global.N_0xbc8a281ff125c655 = global.GetInteriorFromPrimaryView;

/**
 * GET_INTERIOR_LOCATION_AND_NAMEHASH
 */
global.GetInteriorLocationAndNamehash = function (interior) {
	return _in(0x8451e87d, 0x3c2b0286, interior, _v, _i);
};
global.N_0x8451e87d3c2b0286 = global.GetInteriorLocationAndNamehash;

/**
 * _GET_INTERIOR_MINIMAP_HASH
 */
global.GetInteriorMinimapHash = function (interior) {
	return _in(0x3039be60, 0xb3749716, interior, _r, _ri);
};
global.N_0x3039be60b3749716 = global.GetInteriorMinimapHash;

/**
 * _GET_INTERIOR_POSITION
 */
global.GetInteriorPosition = function (interior) {
	return _in(0x2c9746d0, 0xca15be1c, interior, _r, _rv);
};
global.N_0x2c9746d0ca15be1c = global.GetInteriorPosition;

/**
 * GET_INVOKING_RESOURCE
 */
global.GetInvokingResource = function () {
	return _in(0x00000000, 0x4d52fe5b, _r, _s);
};

/**
 * Outputs IPL position and radius (previously wrongly named heading)
 * https://github.com/femga/rdr3_discoveries/blob/master/imaps/imaps_with_coords_and_heading.lua
 */
global.GetIplBoundingSphere = function (iplHash) {
	return _in(0x9c77964b, 0x0e07b633, _ch(iplHash), _v, _f, _r, _ri);
};
global.N_0x9c77964b0e07b633 = global.GetIplBoundingSphere;

/**
 * GET_IS_ANIMAL
 */
global.GetIsAnimal = function (entity) {
	return _in(0x9a100f1c, 0xf4546629, entity, _r, _ri);
};
global.N_0x9a100f1cf4546629 = global.GetIsAnimal;

/**
 * _GET_IS_BIRD
 */
global.GetIsBird = function (entity) {
	return _in(0xc346a546, 0x612c49a9, entity, _r, _ri);
};
global.N_0xc346a546612c49a9 = global.GetIsBird;

/**
 * GET_IS_CARRIABLE_ENTITY
 */
global.GetIsCarriableEntity = function (entity) {
	return _in(0x0ccfe72b, 0x43c9cf96, entity, _r, _ri);
};
global.N_0x0ccfe72b43c9cf96 = global.GetIsCarriableEntity;

/**
 * _GET_IS_CARRIABLE_PELT
 */
global.GetIsCarriablePelt = function (entity) {
	return _in(0x255b6db4, 0xe3ad3c3e, entity, _r, _ri);
};
global.N_0x255b6db4e3ad3c3e = global.GetIsCarriablePelt;

/**
 * _GET_IS_DEADEYE_TAGGING_ENABLED
 */
global.GetIsDeadeyeTaggingEnabled = function (player) {
	return _in(0x32348719, 0xdced2969, player, _r, _ri);
};
global.N_0x32348719dced2969 = global.GetIsDeadeyeTaggingEnabled;

/**
 * GET_IS_LOADING_SCREEN_ACTIVE
 */
global.GetIsLoadingScreenActive = function () {
	return _in(0x71d4bf58, 0x90659b0c, _r);
};

/**
 * GET_IS_PED_AIMING_IN_THE_AIR
 */
global.GetIsPedAimingInTheAir = function (ped) {
	return _in(0x8785e6e4, 0x0c7a8819, ped, _r, _ri);
};
global.N_0x8785e6e40c7a8819 = global.GetIsPedAimingInTheAir;

/**
 * If p2 is false, then this native will return true until the interaction is complete. If true, the native will return true until player pockets robbery item.
 * _GET_IS_PED_[M-R]*
 */
global.GetIsPedBeingRobbed = function (ped, player, trueUntilPlayerPocketsItem) {
	return _in(0xe33f98bd, 0x76490abc, ped, player, trueUntilPlayerPocketsItem, _r, _ri);
};
global.N_0xe33f98bd76490abc = global.GetIsPedBeingRobbed;

/**
 * _GET_IS_PED_COMMAND_HASH_PRESENT
 */
global.GetIsPedCommandHashPresent = function (ped, commandHash) {
	return _in(0x68821369, 0xa2ceadd5, ped, _ch(commandHash), _r, _ri);
};
global.N_0x68821369a2ceadd5 = global.GetIsPedCommandHashPresent;

/**
 * Returns true if ped is in a dispute another ped (pedInDisputeWith can also be 0)
 */
global.GetIsPedInDisputeWithPed = function (ped, pedInDisputeWith) {
	return _in(0x331550b2, 0x12014b92, ped, pedInDisputeWith, _r, _ri);
};
global.N_0x331550b212014b92 = global.GetIsPedInDisputeWithPed;

/**
 * motivationState: see _SET_PED_MOTIVATION
 */
global.GetIsPedMotivationStateEnabled = function (ped, motivationState) {
	return _in(0x33fa0486, 0x75821da7, ped, motivationState, _r, _ri);
};
global.N_0x33fa048675821da7 = global.GetIsPedMotivationStateEnabled;

/**
 * GET_IS_PED_RESPONDING_TO_NEGATIVE_INTERACTION
 */
global.GetIsPedRespondingToNegativeInteraction = function (ped, player) {
	return _in(0xa454d234, 0xe45bb6e5, ped, player, _r, _ri);
};
global.N_0xa454d234e45bb6e5 = global.GetIsPedRespondingToNegativeInteraction;

/**
 * GET_IS_PED_RESPONDING_TO_POSITIVE_INTERACTION
 */
global.GetIsPedRespondingToPositiveInteraction = function (ped, player) {
	return _in(0x9337183f, 0xda2e9035, ped, player, _r, _ri);
};
global.N_0x9337183fda2e9035 = global.GetIsPedRespondingToPositiveInteraction;

/**
 * GET_IS_PLAYER_UI_PROMPT_ACTIVE
 */
global.GetIsPlayerUiPromptActive = function (player, p1) {
	return _in(0x51bea356, 0xb1c60225, player, p1, _r, _ri);
};
global.N_0x51bea356b1c60225 = global.GetIsPlayerUiPromptActive;

/**
 * _GET_IS_PREDATOR
 */
global.GetIsPredator = function (entity) {
	return _in(0x5594afe9, 0xde0c01b7, entity, _r, _ri);
};
global.N_0x5594afe9de0c01b7 = global.GetIsPredator;

/**
 * GET_IS_TASK_ACTIVE
 */
global.GetIsTaskActive = function (ped, taskIndex) {
	return _in(0xb0760331, 0xc7aa4155, ped, taskIndex, _r);
};

/**
 * GET_IS_WAYPOINT_RECORDING_LOADED
 */
global.GetIsWaypointRecordingLoaded = function (waypointRecording) {
	return _in(0xcb4e8be8, 0xa0063c5d, _ts(waypointRecording), _r);
};

/**
 * item hashes: PRIMARYITEM, P_MUGCOFFEE01X_PH_R_HAND, P_BOTTLEBEER01X_PH_R_HAND
 * http://prntscr.com/1qtp3bz
 * https://github.com/femga/rdr3_discoveries/tree/master/tasks/TASK_ITEM_INTERACTION
 */
global.GetItemInteractionEntityFromPed = function (ped, item) {
	return _in(0x05a0100e, 0xa714db68, ped, _ch(item), _r, _ri);
};
global.N_0x05a0100ea714db68 = global.GetItemInteractionEntityFromPed;

/**
 * GET_ITEM_INTERACTION_ITEM_ID
 */
global.GetItemInteractionItemId = function (ped) {
	return _in(0x804425c4, 0xbbd00883, ped, _r, _ri);
};
global.N_0x804425c4bbd00883 = global.GetItemInteractionItemId;

/**
 * GET_ITEM_INTERACTION_PROMPT_PROGRESS
 */
global.GetItemInteractionPromptProgress = function (ped, inputContext) {
	return _in(0xbc864a70, 0xad55e0c1, ped, _ch(inputContext), _r, _rf);
};
global.N_0xbc864a70ad55e0c1 = global.GetItemInteractionPromptProgress;

/**
 * GET_ITEM_INTERACTION_STATE
 */
global.GetItemInteractionState = function (ped) {
	return _in(0x6aa3dca2, 0xc6f5eb6d, ped, _r, _ri);
};
global.N_0x6aa3dca2c6f5eb6d = global.GetItemInteractionState;

/**
 * _GET_ITEM_ROLE_MAX_LEVEL_COUNT
 */
global.GetItemRoleMaxLevelCount = function (inventoryId, eRoleMaxLevel) {
	return _in(0xaddd1e7c, 0x0ecf7d95, inventoryId, _ch(eRoleMaxLevel), _r, _ri);
};
global.N_0xaddd1e7c0ecf7d95 = global.GetItemRoleMaxLevelCount;

/**
 * _GET_ITEM_SLOT_MAX_COUNT
 */
global.GetItemSlotMaxCount = function (provision, slotId) {
	return _in(0xe80e50be, 0xe276a54a, _ch(provision), _ch(slotId), _r, _ri);
};
global.N_0xe80e50bee276a54a = global.GetItemSlotMaxCount;

/**
 * 0 = invalid
 * 1 = CEntity
 * 2 = rage::volBase
 * 3 = rage::volSphere
 * 4 = rage::volBox
 * 5 = rage::volAggregate
 * 6 = rage::volCylinder
 * 7 = CScriptedCoverPoint
 * 8 = rage::ptfxScriptInfo
 * 9 = CPed
 * 10 = CVehicle
 * 11 = CObject
 * 12 = CItemSet
 * 13 = CPersistentCharacter
 */
global.GetItemType = function (handle) {
	return _in(0xdc8d2ff4, 0x78df9553, handle, _r, _ri);
};
global.GetScriptHandleType = global.GetItemType;

/**
 * GET_ITEMSET_SIZE
 */
global.GetItemsetSize = function (itemset) {
	return _in(0x55f2e375, 0xac6018a9, itemset, _r, _ri);
};

/**
 * GET_JACK_TARGET
 */
global.GetJackTarget = function (ped) {
	return _in(0x5486a79d, 0x9fbd342d, ped, _r, _ri);
};

/**
 * Seems to do the exact same as INTERIOR::GET_ROOM_KEY_FROM_ENTITY
 */
global.GetKeyForEntityInRoom = function (entity) {
	return _in(0x27d7b6f7, 0x9e1f4603, entity, _r, _ri);
};

/**
 * _GET_LABEL_TEXT_2
 */
global.GetLabelText_2 = function (label) {
	return _in(0x3429670f, 0x9b9ef2d3, _ts(label), _r, _s);
};

/**
 * _GET_LASSO_TARGET
 */
global.GetLassoTarget = function (ped) {
	return _in(0xb65a4dab, 0x460a19bd, ped, _r, _ri);
};
global.N_0xb65a4dab460a19bd = global.GetLassoTarget;

/**
 * _GET_LASSOED_LASSOER
 */
global.GetLassoedLassoer = function (ped) {
	return _in(0x0c31c511, 0x68e80365, ped, _r, _ri);
};
global.N_0x0c31c51168e80365 = global.GetLassoedLassoer;

/**
 * _IS_PED_S* - _IS_PED_U*
 */
global.GetLassoerOfPed = function (ped) {
	return _in(0x833f0053, 0x340ef413, ped, _r, _ri);
};
global.N_0x833f0053340ef413 = global.GetLassoerOfPed;

/**
 * GET_LAST_DRIVEN_VEHICLE
 */
global.GetLastDrivenVehicle = function () {
	return _in(0xa94f3e0a, 0xb9695e19, _r, _ri);
};

/**
 * Returns last horse the ped was leading
 * ```
 * ```
 * NativeDB Introduced: v1232
 */
global.GetLastLedMount = function (ped) {
	return _in(0x693126b5, 0xd0457d0d, ped, _r, _ri);
};

/**
 * _GET_LAST_MOUNT
 */
global.GetLastMount = function (ped) {
	return _in(0x4c8b5917, 0x1957bcf7, ped, _r, _ri);
};
global.N_0x4c8b59171957bcf7 = global.GetLastMount;

/**
 * seatIndex: see CREATE_PED_INSIDE_VEHICLE
 */
global.GetLastPedInVehicleSeat = function (vehicle, seatIndex) {
	return _in(0x74583b19, 0xfeeafda7, vehicle, seatIndex, _r, _ri);
};

/**
 * _GET_LAST_VEHICLE_DRAFT_HORSE_WAS_ATTACHED_TO
 */
global.GetLastVehicleDraftHorseWasAttachedTo = function (horse) {
	return _in(0x5064db50, 0x83c29921, horse, _r, _ri);
};
global.N_0x5064db5083c29921 = global.GetLastVehicleDraftHorseWasAttachedTo;

/**
 * _GET_LAUNCH_PARAM_EXISTS
 */
global.GetLaunchParamExists = function (paramName) {
	return _in(0x02e97ce2, 0x83648cd9, _ts(paramName), _r, _ri);
};
global.N_0x02e97ce283648cd9 = global.GetLaunchParamExists;

/**
 * _GET_LAUNCH_PARAM_STRING
 */
global.GetLaunchParamString = function () {
	return _in(0xc59ab6a0, 0x4333c502, _r, _s);
};
global.N_0xc59ab6a04333c502 = global.GetLaunchParamString;

/**
 * GET_LAUNCH_PARAM_VALUE
 */
global.GetLaunchParamValue = function (paramName) {
	return _in(0x65e65ca6, 0xa0fe59d4, _ts(paramName), _r, _s);
};
global.N_0x65e65ca6a0fe59d4 = global.GetLaunchParamValue;

/**
 * _GET_LED_HORSE_FROM_PED
 */
global.GetLedHorseFromPed = function (ped) {
	return _in(0xed1f514a, 0xf4732258, ped, _r, _ri);
};
global.N_0xed1f514af4732258 = global.GetLedHorseFromPed;

/**
 * Returns the length of the string passed (much like strlen).
 */
global.GetLengthOfLiteralString = function (string) {
	return _in(0x481fbf58, 0x8b0b76db, _ts(string), _r, _ri);
};

/**
 * GET_LENGTH_OF_LITERAL_STRING_IN_BYTES
 */
global.GetLengthOfLiteralStringInBytes = function (string) {
	return _in(0xdc5ad6b7, 0xab8184f5, _ts(string), _r, _ri);
};

/**
 * More info: see HAS_LETTER_BOX
 */
global.GetLetterBoxRatio = function () {
	return _in(0xa2b1c7ef, 0x759a63ce, _r, _rf);
};
global.N_0xa2b1c7ef759a63ce = global.GetLetterBoxRatio;

/**
 * _GET_LIGHT_INTENSITY_FROM_OBJECT
 */
global.GetLightIntensityFromObject = function (object) {
	return _in(0xfa3b61ec, 0x249b4674, object, _r, _rf);
};
global.N_0xfa3b61ec249b4674 = global.GetLightIntensityFromObject;

/**
 * GET_LINE_PLANE_INTERSECTION
 */
global.GetLinePlaneIntersection = function (p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12) {
	return _in(0xab6a04ce, 0xc428258b, _fv(p0), _fv(p1), _fv(p2), _fv(p3), _fv(p4), _fv(p5), _fv(p6), _fv(p7), _fv(p8), _fv(p9), _fv(p10), _fv(p11), _fi(p12) /* may be optional */, _r);
};
global.N_0xab6a04cec428258b = global.GetLinePlaneIntersection;

/**
 * Creates stream and returns streamId handle to be used with PLAY_STREAM_* natives
 * https://github.com/femga/rdr3_discoveries/tree/master/audio/create_stream
 */
global.GetLoadedStreamIdFromCreation = function (streamName, soundSet) {
	return _in(0x0556c784, 0xfa056628, _ts(streamName), _ts(soundSet), _r, _ri);
};
global.N_0x0556c784fa056628 = global.GetLoadedStreamIdFromCreation;

/**
 * Event names in the scripts: MGBegin, MGEnd, ReadyForCut
 */
global.GetLootingEventHasFired = function (ped, eventName) {
	return _in(0xf9b91c51, 0x29eabc08, ped, _ts(eventName), _r, _ri);
};
global.N_0xf9b91c5129eabc08 = global.GetLootingEventHasFired;

/**
 * lootFlag: see SET_LOOTING_FLAG
 */
global.GetLootingFlag = function (ped, lootFlag) {
	return _in(0xe4c11f10, 0x4620ddce, ped, lootFlag, _r, _ri);
};
global.N_0xe4c11f104620ddce = global.GetLootingFlag;

/**
 * GET_LOOTING_PICKUP_TARGET_ENTITY
 */
global.GetLootingPickupTargetEntity = function (ped) {
	return _in(0x14169fa8, 0x23679e41, ped, _r, _ri);
};
global.N_0x14169fa823679e41 = global.GetLootingPickupTargetEntity;

/**
 * GET_MAIN_PLAYER_BLIP_ID
 */
global.GetMainPlayerBlipId = function () {
	return _in(0x5cd2889b, 0x2b381d45, _r, _ri);
};

/**
 * Returns name hash, see common:/data/levels/rdr3/mapzones.meta
 * type (-1 matches any type):
 * class CMapZone
 * {
 * public:
 * enum class Type
 * {
 * STATE,
 * TOWN,
 * LAKE,
 * RIVER,
 * OIL_SPILL,
 * SWAMP,
 * OCEAN,
 * CREEK,
 * POND,
 * GLACIER,
 * DISTRICT,
 * TEXT_PRINTED,
 * TEXT_WRITTEN
 * };
 * };
 * https://github.com/femga/rdr3_discoveries/tree/master/zones & https://alloc8or.re/rdr3/doc/enums/CMapZone__Type.txt
 */
global.GetMapZoneAtCoords = function (x, y, z, type) {
	return _in(0x43ad8fc0, 0x2b429d33, _fv(x), _fv(y), _fv(z), type, _r, _ri);
};
global.N_0x43ad8fc02b429d33 = global.GetMapZoneAtCoords;

/**
 * GET_MATCHING_ENTITIES
 */
global.GetMatchingEntities = function (volume, itemSet, entityType, p3, p4, p5) {
	return _in(0x84ccf9a1, 0x2942c83d, volume, itemSet, entityType, p3, _ch(p4), _ts(p5), _r, _ri);
};
global.N_0x84ccf9a12942c83d = global.GetMatchingEntities;

/**
 * GET_MAX_AMMO
 */
global.GetMaxAmmo = function (ped, weaponHash) {
	return _in(0xdc16122c, 0x7a20c933, ped, _i, _ch(weaponHash), _r);
};

/**
 * GET_MAX_AMMO_IN_CLIP
 */
global.GetMaxAmmoInClip = function (ped, weaponHash, p2) {
	return _in(0xa38dcffc, 0xea8962fa, ped, _ch(weaponHash), p2, _r, _ri);
};

/**
 * attributeIndex: see SET_ATTRIBUTE_BASE_RANK
 */
global.GetMaxAttributePoints = function (ped, attributeIndex) {
	return _in(0x223bf310, 0xf854871c, ped, attributeIndex, _r, _ri);
};

/**
 * attributeIndex: see SET_ATTRIBUTE_BASE_RANK
 */
global.GetMaxAttributeRank = function (ped, attributeIndex) {
	return _in(0x704674a0, 0x535a471d, ped, attributeIndex, _r, _ri);
};

/**
 * _GET_MAX_LOCKON_DISTANCE_OF_CURRENT_PED_WEAPON
 */
global.GetMaxLockonDistanceOfCurrentPedWeapon = function (ped) {
	return _in(0x79b1a6e7, 0x80266db0, ped, _r, _rf);
};
global.N_0x79b1a6e780266db0 = global.GetMaxLockonDistanceOfCurrentPedWeapon;

/**
 * _GET_MAX_NUM_INSTRUCTIONS
 */
global.GetMaxNumInstructions = function () {
	return _in(0xc43cd266, 0x8b204419, _r, _ri);
};
global.N_0xc43cd2668b204419 = global.GetMaxNumInstructions;

/**
 * Always returns 60
 */
global.GetMaxNumNetworkObjects = function () {
	return _in(0xc7be3352, 0x16b5ec7c, _r, _ri);
};

/**
 * Always returns 110
 */
global.GetMaxNumNetworkPeds = function () {
	return _in(0x0c1f7d49, 0xc39d2289, _r, _ri);
};

/**
 * Always returns 80
 */
global.GetMaxNumNetworkPickups = function () {
	return _in(0xa7283506, 0x4dd63e4c, _r, _ri);
};

/**
 * Always returns 40
 */
global.GetMaxNumNetworkVehicles = function () {
	return _in(0x0afce529, 0xf69b21ff, _r, _ri);
};

/**
 * Always returns 200.
 */
global.GetMaxNumberOfLocalPhotos = function () {
	return _in(0x8e587fcd, 0x30e05592, _r, _ri);
};
global.N_0x8e587fcd30e05592 = global.GetMaxNumberOfLocalPhotos;

/**
 * Gets the maximum wanted level the player can get.
 * Ranges from 0 to 5.
 */
global.GetMaxWantedLevel = function () {
	return _in(0xd04cfad1, 0xe2b7984a, _r, _ri);
};

/**
 * GET_MELEE_TARGET_FOR_PED
 */
global.GetMeleeTargetForPed = function (ped) {
	return _in(0x18a3e9ee, 0x1297fd39, ped, _r, _ri);
};

/**
 * This is a way to get what drawables a ped has equipped
 * Example: you are able to tell if the ped has the drawable PLAYER_ZERO_HAT_017 attached
 * Note: this works with non shop components, direct .ydd files.
 */
global.GetMetaPedAssetGuids = function (ped, index) {
	return _in(0xa9c28516, 0xa6dc9d56, ped, index, _i, _i, _i, _i, _r, _ri);
};
global.N_0xa9c28516a6dc9d56 = global.GetMetaPedAssetGuids;

/**
 * GET_META_PED_ASSET_TINT
 */
global.GetMetaPedAssetTint = function (ped, index) {
	return _in(0xe7998fec, 0x53a33bbe, ped, index, _i, _i, _i, _i, _r, _ri);
};
global.N_0xe7998fec53a33bbe = global.GetMetaPedAssetTint;

/**
 * enum eMetaPedType
 * {
 * MPT_MALE,
 * MPT_FEMALE,
 * MPT_TEEN,
 * MPT_ANIMAL,
 * MPT_NONE
 * };
 */
global.GetMetaPedType = function (ped) {
	return _in(0xec9a1261, 0xbf0ce510, ped, _r, _ri);
};
global.N_0xec9a1261bf0ce510 = global.GetMetaPedType;

/**
 * GET_MILLISECONDS_PER_GAME_MINUTE
 */
global.GetMillisecondsPerGameMinute = function () {
	return _in(0xe4cb8d12, 0x6501ec52, _r, _ri);
};

/**
 * GET_MISSION_FLAG
 */
global.GetMissionFlag = function () {
	return _in(0xb15cd1cf, 0x58771de1, _r);
};

/**
 * GET_MODEL_DIMENSIONS
 */
global.GetModelDimensions = function (modelHash) {
	return _in(0xdcb8ddd5, 0xd054a7e7, _ch(modelHash), _v, _v);
};

/**
 * _GET_C* - _GET_E*
 */
global.GetModifiedVisibilityDistance = function () {
	return _in(0x25ca89b2, 0xa39dcc69, _r, _rf);
};
global.N_0x25ca89b2a39dcc69 = global.GetModifiedVisibilityDistance;

/**
 * GET_MOUNT
 */
global.GetMount = function (ped) {
	return _in(0xe7e11b8d, 0xcbed1058, ped, _r, _ri);
};

/**
 * GET_MOUNT_OWNED_BY_PLAYER
 */
global.GetMountOwnedByPlayer = function (player) {
	return _in(0xf49f1446, 0x2f0ae27c, player, _r, _ri);
};
global.N_0xf49f14462f0ae27c = global.GetMountOwnedByPlayer;

/**
 * GET_MUSIC_PLAYTIME
 */
global.GetMusicPlaytime = function () {
	return _in(0xe7a0d23d, 0xc414507b, _r, _ri);
};

/**
 * GET_NAMED_RENDERTARGET_RENDER_ID
 */
global.GetNamedRendertargetRenderId = function (name) {
	return _in(0xb6762a85, 0xee29aa60, _ts(name), _r, _ri);
};

/**
 * GET_NEAREST_PARTICIPANT_TO_ENTITY
 */
global.GetNearestParticipantToEntity = function (entity) {
	return _in(0x6888a43c, 0x35a5f630, entity, _r, _ri);
};
global.N_0x6888a43c35a5f630 = global.GetNearestParticipantToEntity;

/**
 * GET_NEAREST_PLAYER_TO_ENTITY
 */
global.GetNearestPlayerToEntity = function (entity, playerPedToIgnore, flags) {
	return _in(0x990e294f, 0xc387fb88, entity, playerPedToIgnore, flags, _r, _ri);
};

/**
 * GET_NEAREST_PLAYER_TO_ENTITY_ON_TEAM
 */
global.GetNearestPlayerToEntityOnTeam = function (entity, team, playerPedToIgnore, flags) {
	return _in(0xb2c30c3b, 0x4aff718c, entity, team, playerPedToIgnore, flags, _r, _ri);
};

/**
 * _GET_NEAREST_TRAIN_TRACK_POSITION
 */
global.GetNearestTrainTrackPosition = function (x, y, z) {
	return _in(0x6de03bcc, 0x15e81710, _fv(x), _fv(y), _fv(z), _r, _rv);
};
global.N_0x6de03bcc15e81710 = global.GetNearestTrainTrackPosition;

/**
 * GET_NETWORK_TIME
 */
global.GetNetworkTime = function () {
	return _in(0x7a5487fe, 0x9faa6b48, _r, _ri);
};

/**
 * GET_NETWORK_TIME_ACCURATE
 */
global.GetNetworkTimeAccurate = function () {
	return _in(0x89023fbb, 0xf9200e9f, _r, _ri);
};

/**
 * _GET_NEXT_WEATHER_TYPE_HASH_NAME
 */
global.GetNextWeatherTypeHashName = function () {
	return _in(0x51021d36, 0xf62aaa83, _r, _ri);
};
global.N_0x51021d36f62aaa83 = global.GetNextWeatherTypeHashName;

/**
 * GET_NO_LOADING_SCREEN
 */
global.GetNoLoadingScreen = function () {
	return _in(0x323daf00, 0x687e0f28, _r);
};

/**
 * GET_NTH_CLOSEST_VEHICLE_NODE
 */
global.GetNthClosestVehicleNode = function (x, y, z, nthClosest, unknown1, unknown2, unknown3) {
	return _in(0x5a6d8df6, 0xfbc5d0c4, _fv(x), _fv(y), _fv(z), nthClosest, _v, unknown1, _fv(unknown2), unknown3, _r);
};

/**
 * GET_NTH_CLOSEST_VEHICLE_NODE_FAVOUR_DIRECTION
 */
global.GetNthClosestVehicleNodeFavourDirection = function (x, y, z, desiredX, desiredY, desiredZ, nthClosest, nodetype, p10, p11) {
	return _in(0x2fac235a, 0x6062f14a, _fv(x), _fv(y), _fv(z), _fv(desiredX), _fv(desiredY), _fv(desiredZ), nthClosest, _v, _f, nodetype, p10, p11, _r);
};

/**
 * GET_NTH_CLOSEST_VEHICLE_NODE_ID
 */
global.GetNthClosestVehicleNodeId = function (x, y, z, nth, nodetype, p5, p6) {
	return _in(0x11644300, 0x8e5cefc3, _fv(x), _fv(y), _fv(z), nth, nodetype, _fv(p5), _fv(p6), _r, _ri);
};

/**
 * Returns the nth closest vehicle node with a heading to a coord
 */
global.GetNthClosestVehicleNodeIdWithHeading = function (x, y, z, nthClosest, nodeFlags, zMeasureMult, zTolerance) {
	return _in(0x4114eaa8, 0xa7f7766d, _fv(x), _fv(y), _fv(z), nthClosest, _f, _i, nodeFlags, _fv(zMeasureMult), _fv(zTolerance), _r, _ri);
};

/**
 * GET_NTH_CLOSEST_VEHICLE_NODE_WITH_HEADING
 */
global.GetNthClosestVehicleNodeWithHeading = function (x, y, z, nthClosest, unknown2, unknown3, unknown4) {
	return _in(0x591b40d4, 0x390db54a, _fv(x), _fv(y), _fv(z), nthClosest, _v, _f, _i, unknown2, _fv(unknown3), _fv(unknown4), _r);
};

/**
 * GET_NUI_CURSOR_POSITION
 */
global.GetNuiCursorPosition = function () {
	return _in(0x00000000, 0xbdba226f, _i, _i);
};

/**
 * _GET_NUM_BREAKABLE_VEHICLE_LOCK_OBJECTS
 */
global.GetNumBreakableVehicleLockObjects = function (vehicle) {
	return _in(0x2fa86833, 0xe3617e2d, vehicle, _r, _ri);
};
global.N_0x2fa86833e3617e2d = global.GetNumBreakableVehicleLockObjects;

/**
 * Returns amount for CAN_REGISTER_MISSION_VEHICLES
 */
global.GetNumCarsFromTrainConfig = function (trainConfig) {
	return _in(0x635423d5, 0x5ca84fc8, _ch(trainConfig), _r, _ri);
};
global.N_0x635423d55ca84fc8 = global.GetNumCarsFromTrainConfig;

/**
 * Works similar to 0x90403E8107B60E81 (_GET_NUM_COMPONENTS_IN_PED) but is used to get category hashes instead
 */
global.GetNumComponentCategoriesInPed = function (ped) {
	return _in(0xa622e66e, 0xee92a08d, ped, _r, _ri);
};
global.N_0xa622e66eee92a08d = global.GetNumComponentCategoriesInPed;

/**
 * _GET_NUM_COMPONENTS_IN_PED
 */
global.GetNumComponentsInPed = function (ped) {
	return _in(0x90403e81, 0x07b60e81, ped, _r, _ri);
};
global.N_0x90403e8107b60e81 = global.GetNumComponentsInPed;

/**
 * GET_NUM_CREATED_MISSION_OBJECTS
 */
global.GetNumCreatedMissionObjects = function (p0) {
	return _in(0x12b6281b, 0x6c6706c0, p0, _r, _ri);
};

/**
 * GET_NUM_CREATED_MISSION_PEDS
 */
global.GetNumCreatedMissionPeds = function (p0) {
	return _in(0xcb215c4b, 0x56a7fae7, p0, _r, _ri);
};

/**
 * _GET_NUM_CREATED_MISSION_PICKUPS
 */
global.GetNumCreatedMissionPickups = function (p0) {
	return _in(0xd2ba051b, 0x94ca9bcc, p0, _r, _ri);
};
global.N_0xd2ba051b94ca9bcc = global.GetNumCreatedMissionPickups;

/**
 * GET_NUM_CREATED_MISSION_VEHICLES
 */
global.GetNumCreatedMissionVehicles = function (p0) {
	return _in(0x0cd9ab83, 0x489430ea, p0, _r, _ri);
};

/**
 * Returns number of horses a wagon can have
 */
global.GetNumDraftVehicleHarnessPed = function (modelHash) {
	return _in(0x5b1a26bb, 0x18e7d451, _ch(modelHash), _r, _ri);
};
global.N_0x5b1a26bb18e7d451 = global.GetNumDraftVehicleHarnessPed;

/**
 * _GET_NUM_FREE_SLOTS_IN_PED_POOL
 */
global.GetNumFreeSlotsInPedPool = function () {
	return _in(0x313778ed, 0xca9158e2, _r, _ri);
};
global.N_0x313778edca9158e2 = global.GetNumFreeSlotsInPedPool;

/**
 * _GET_NUM_MARKED_DEADEYE_TARGETS
 */
global.GetNumMarkedDeadeyeTargets = function (player) {
	return _in(0xccd9b77f, 0x70d31c9d, player, _r, _ri);
};
global.N_0xccd9b77f70d31c9d = global.GetNumMarkedDeadeyeTargets;

/**
 * GET_NUM_META_PED_OUTFITS
 */
global.GetNumMetaPedOutfits = function (ped) {
	return _in(0x10c70a51, 0x5bc03707, ped, _r, _ri);
};
global.N_0x10c70a515bc03707 = global.GetNumMetaPedOutfits;

/**
 * GET_NUM_MODELS_IN_POPULATION_SET
 */
global.GetNumModelsInPopulationSet = function (popSetHash) {
	return _in(0xa1e3171e, 0xd0e47564, _ch(popSetHash), _r, _ri);
};

/**
 * GET_NUM_NAVMESHES_EXISTING_IN_AREA
 */
global.GetNumNavmeshesExistingInArea = function (p0, p1, p2, p3, p4, p5) {
	return _in(0x01708e8d, 0xd3ff8c65, _fv(p0), _fv(p1), _fv(p2), _fv(p3), _fv(p4), _fv(p5), _r, _ri);
};
global.N_0x01708e8dd3ff8c65 = global.GetNumNavmeshesExistingInArea;

/**
 * Note: this native was added in build 1311.16
 * ```
 * ```
 * NativeDB Introduced: v1311
 */
global.GetNumPeerNegotiationResponses = function () {
	return _in(0x4fe932e8, 0x4fe932e8, _r, _ri);
};

/**
 * _GET_NUM_RESERVED_AMBIENT_PEDS_DESIRED
 */
global.GetNumReservedAmbientPedsDesired = function () {
	return _in(0x62de46f0, 0x61caa468, _r, _ri);
};
global.N_0x62de46f061caa468 = global.GetNumReservedAmbientPedsDesired;

/**
 * _GET_NUM_RESERVED_AMBIENT_PEDS_READY
 */
global.GetNumReservedAmbientPedsReady = function () {
	return _in(0x5c168552, 0x77819bbf, _r, _ri);
};
global.N_0x5c16855277819bbf = global.GetNumReservedAmbientPedsReady;

/**
 * _GET_NUM_RESERVED_HEALTH
 */
global.GetNumReservedHealth = function (ped) {
	return _in(0x16f2c8c0, 0x84ab2092, ped, _r, _ri);
};
global.N_0x16f2c8c084ab2092 = global.GetNumReservedHealth;

/**
 * p0 appears to be for MP
 */
global.GetNumReservedMissionObjects = function (p0) {
	return _in(0xaa81b5f1, 0x0bc43ac2, p0, _r, _ri);
};

/**
 * p0 appears to be for MP
 */
global.GetNumReservedMissionPeds = function (p0) {
	return _in(0x1f13d5ae, 0x5cb17e17, p0, _r, _ri);
};

/**
 * _GET_NUM_RESERVED_MISSION_PICKUPS
 */
global.GetNumReservedMissionPickups = function (p0) {
	return _in(0x62be3ecc, 0x79fbd004, p0, _r, _ri);
};
global.N_0x62be3ecc79fbd004 = global.GetNumReservedMissionPickups;

/**
 * p0 appears to be for MP
 */
global.GetNumReservedMissionVehicles = function (p0) {
	return _in(0xcf3a9659, 0x06452031, p0, _r, _ri);
};

/**
 * Gets the amount of metadata values with the specified key existing in the specified resource's manifest.
 * See also: [Resource manifest](https://docs.fivem.net/resources/manifest/)
 * @param resourceName The resource name.
 * @param metadataKey The key to look up in the resource manifest.
 */
global.GetNumResourceMetadata = function (resourceName, metadataKey) {
	return _in(0x00000000, 0x0776e864, _ts(resourceName), _ts(metadataKey), _r, _ri);
};

/**
 * GET_NUM_RESOURCES
 */
global.GetNumResources = function () {
	return _in(0x00000000, 0x0863f27b, _r, _ri);
};

/**
 * eventGroup: 0 = SCRIPT_EVENT_QUEUE_AI (CEventGroupScriptAI), 1 = SCRIPT_EVENT_QUEUE_NETWORK (CEventGroupScriptNetwork), 2 = unk, 3 = unk, 4 = SCRIPT_EVENT_QUEUE_ERRORS (CEventGroupScriptErrors)
 */
global.GetNumberOfEvents = function (eventGroup) {
	return _in(0x5ce8de59, 0x09565748, eventGroup, _r, _ri);
};

/**
 * GET_NUMBER_OF_FIRES_IN_RANGE
 */
global.GetNumberOfFiresInRange = function (x, y, z, radius) {
	return _in(0xf9617bc6, 0xfae61e08, _fv(x), _fv(y), _fv(z), _fv(radius), _r, _ri);
};

/**
 * GET_NUMBER_OF_FREE_STACKS_OF_THIS_SIZE
 */
global.GetNumberOfFreeStacksOfThisSize = function (stackSize) {
	return _in(0x40dc2907, 0xa9697ef7, stackSize, _r, _ri);
};

/**
 * _GET_NUMBER_OF_INSTRUCTIONS
 */
global.GetNumberOfInstructions = function () {
	return _in(0x72904d3d, 0x62af5839, _r, _ri);
};
global.N_0x72904d3d62af5839 = global.GetNumberOfInstructions;

/**
 * GET_NUMBER_OF_MICROSECONDS_SINCE_LAST_CALL
 */
global.GetNumberOfMicrosecondsSinceLastCall = function () {
	return _in(0xb0ce5e5e, 0xd8bb3581, _r, _ri);
};
global.GetNumberOfMicrosecondsSinceLastCall = global.GetNumberOfMicrosecondsSinceLastCall;

/**
 * GET_NUMBER_OF_STREAMING_REQUESTS
 */
global.GetNumberOfStreamingRequests = function () {
	return _in(0x30cccc4d, 0x88e654ca, _r, _ri);
};

/**
 * Gets the number of instances of the specified script is currently running.
 * Actually returns numRefs - 1.
 * if (program)
 * v3 = rage::scrProgram::GetNumRefs(program) - 1;
 * return v3;
 */
global.GetNumberOfThreadsRunningTheScriptWithThisHash = function (scriptHash) {
	return _in(0x8e34c953, 0x364a76dd, _ch(scriptHash), _r, _ri);
};
global.GetNumberOfReferencesOfScriptWithNameHash = global.GetNumberOfThreadsRunningTheScriptWithThisHash;

/**
 * GET_OBJECT_FRAGMENT_DAMAGE_HEALTH
 */
global.GetObjectFragmentDamageHealth = function (p0, p1) {
	return _in(0xb6fbfd07, 0x9b8d0596, p0, p1, _r, _rf);
};

/**
 * _GET_OBJECT_FROM_INDEXED_ITEM
 */
global.GetObjectFromIndexedItem = function (item) {
	return _in(0x18013392, 0x501ce5dc, item, _r, _ri);
};
global.N_0x18013392501ce5dc = global.GetObjectFromIndexedItem;

/**
 * Simply returns whatever is passed to it (Regardless of whether the handle is valid or not).
 */
global.GetObjectIndexFromEntityIndex = function (entity) {
	return _in(0x280bbe56, 0x01eaa983, entity, _r, _ri);
};

/**
 * Returns float value to be used with _SET_LIGHT_INTENSITY_FOR_OBJECT
 */
global.GetObjectLightIntensity = function (object) {
	return _in(0x3397cd4e, 0x0353dfba, object, _r, _rf);
};
global.N_0x3397cd4e0353dfba = global.GetObjectLightIntensity;

/**
 * GET_OFFSET_FROM_COORD_AND_HEADING_IN_WORLD_COORDS
 */
global.GetOffsetFromCoordAndHeadingInWorldCoords = function (xPos, yPos, zPos, heading, xOffset, yOffset, zOffset) {
	return _in(0x163e252d, 0xe035a133, _fv(xPos), _fv(yPos), _fv(zPos), _fv(heading), _fv(xOffset), _fv(yOffset), _fv(zOffset), _r, _rv);
};
global.GetObjectOffsetFromCoords = global.GetOffsetFromCoordAndHeadingInWorldCoords;

/**
 * GET_OFFSET_FROM_ENTITY_GIVEN_WORLD_COORDS
 */
global.GetOffsetFromEntityGivenWorldCoords = function (entity, posX, posY, posZ) {
	return _in(0x497c6b1a, 0x2c9ae69c, entity, _fv(posX), _fv(posY), _fv(posZ), _r, _rv);
};

/**
 * Offset values are relative to the entity.
 * x = left/right
 * y = forward/backward
 * z = up/down
 */
global.GetOffsetFromEntityInWorldCoords = function (entity, offsetX, offsetY, offsetZ) {
	return _in(0x1899f328, 0xb0e12848, entity, _fv(offsetX), _fv(offsetY), _fv(offsetZ), _r, _rv);
};

/**
 * Returns NULL unless UPDATE_ONSCREEN_KEYBOARD() returns 1 in the same tick.
 */
global.GetOnscreenKeyboardResult = function () {
	return _in(0xafb4cf58, 0xa4a292b1, _r, _s);
};

/**
 * Valid indices: 0 - 3
 * Index 1 always returns a `hogtied` config, doesn't matter the entity.
 * It's for humans only and the ped must be resurrected first if it's dead.
 */
global.GetOptimalCarryConfig = function (entity, index) {
	return _in(0x34f008a7, 0xe48c496b, entity, index, _r, _ri);
};
global.N_0x34f008a7e48c496b = global.GetOptimalCarryConfig;

/**
 * explosionType: see ADD_EXPLOSION
 */
global.GetOwnerOfExplosionInAngledArea = function (explosionType, x1, y1, z1, x2, y2, z2, radius) {
	return _in(0x8002ddab, 0x58594d78, explosionType, _fv(x1), _fv(y1), _fv(z1), _fv(x2), _fv(y2), _fv(z2), _fv(radius), _r, _ri);
};
global.GetEntityInsideExplosionArea = global.GetOwnerOfExplosionInAngledArea;

/**
 * GET_PED_ACCURACY
 */
global.GetPedAccuracy = function (ped) {
	return _in(0x37f4ad56, 0xecbc0cd6, ped, _r, _ri);
};

/**
 * GET_PED_AMMO_BY_TYPE
 */
global.GetPedAmmoByType = function (ped, ammoType) {
	return _in(0x39d22031, 0x557946c1, ped, _ch(ammoType), _r, _ri);
};

/**
 * Returns the current ammo type of the specified ped's specified weapon.
 */
global.GetPedAmmoTypeFromWeapon = function (ped, weaponHash) {
	return _in(0x7fead38b, 0x326b9f74, ped, _ch(weaponHash), _r, _ri);
};

/**
 * Returns the ped's animal type hash: https://alloc8or.re/rdr3/doc/enums/eAnimalType.txt
 * Combine this with GET_STRING_FROM_HASH_KEY to display localized entity names
 */
global.GetPedAnimalType = function (ped) {
	return _in(0x964000d3, 0x55219fc0, ped, _r, _ri);
};
global.N_0x964000d355219fc0 = global.GetPedAnimalType;

/**
 * GET_PED_AS_GROUP_LEADER
 */
global.GetPedAsGroupLeader = function (groupID) {
	return _in(0x5cce68db, 0xd5fe93ec, groupID, _r, _ri);
};

/**
 * GET_PED_AS_GROUP_MEMBER
 */
global.GetPedAsGroupMember = function (groupID, memberNumber) {
	return _in(0x51455483, 0xcf23ed97, groupID, memberNumber, _r, _ri);
};

/**
 * AI_ATTITUDE_NEUTRAL = 0,
 * AI_ATTITUDE_FRIENDLY,
 * AI_ATTITUDE_WARY,
 * AI_ATTITUDE_COMBATIVE,
 * AI_ATTITUDE_NEVER_MET
 */
global.GetPedAttitude = function (ped, player) {
	return _in(0x7cc2186c, 0x32d3540a, ped, player, _r, _ri);
};
global.N_0x7cc2186c32d3540a = global.GetPedAttitude;

/**
 * GET_PED_BACKUP_WEAPON
 */
global.GetPedBackupWeapon = function (ped, p1) {
	return _in(0xc71fe230, 0xa513c30f, ped, p1, _r, _ri);
};
global.N_0xc71fe230a513c30f = global.GetPedBackupWeapon;

/**
 * Can be used to get a peds foliage active status: variableName = FoliageActive
 */
global.GetPedBlackboardBool = function (ped, variableName) {
	return _in(0x498f2e77, 0x982d6945, ped, _ts(variableName), _r, _ri);
};
global.N_0x498f2e77982d6945 = global.GetPedBlackboardBool;

/**
 * Can be used to get a peds foliage raw height: variableName = FoliageHeight
 */
global.GetPedBlackboardFloat = function (ped, variableName) {
	return _in(0x56e58d4d, 0x118fb45e, ped, _ts(variableName), _r, _rf);
};
global.N_0x56e58d4d118fb45e = global.GetPedBlackboardFloat;

/**
 * _GET_PED_BLACKBOARD_HASH
 */
global.GetPedBlackboardHash = function (ped, variableName) {
	return _in(0xbf5e791b, 0xbbf90a3c, ped, _ts(variableName), _r, _ri);
};
global.N_0xbf5e791bbbf90a3c = global.GetPedBlackboardHash;

/**
 * GET_PED_BLACKBOARD_SCRIPT_BOOL
 */
global.GetPedBlackboardScriptBool = function (ped, variableName) {
	return _in(0x4912dfe4, 0x92db98cd, ped, _ts(variableName), _r, _ri);
};
global.N_0x4912dfe492db98cd = global.GetPedBlackboardScriptBool;

/**
 * GET_PED_BLACKBOARD_SCRIPT_FLOAT
 */
global.GetPedBlackboardScriptFloat = function (ped, variableName) {
	return _in(0xa29fd00d, 0x45311eb7, ped, _ts(variableName), _r, _rf);
};
global.N_0xa29fd00d45311eb7 = global.GetPedBlackboardScriptFloat;

/**
 * GET_PED_BLACKBOARD_SCRIPT_INT
 */
global.GetPedBlackboardScriptInt = function (ped, variableName) {
	return _in(0xb71b91b3, 0x98f8f067, ped, _ts(variableName), _r, _ri);
};
global.N_0xb71b91b398f8f067 = global.GetPedBlackboardScriptInt;

/**
 * Gets the position of the specified bone of the specified ped.
 * ped: The ped to get the position of a bone from.
 * boneId: The ID of the bone to get the position from. This is NOT the index.
 * offsetX: The X-component of the offset to add to the position relative to the bone's rotation.
 * offsetY: The Y-component of the offset to add to the position relative to the bone's rotation.
 * offsetZ: The Z-component of the offset to add to the position relative to the bone's rotation.
 */
global.GetPedBoneCoords = function (ped, boneId, offsetX, offsetY, offsetZ) {
	return _in(0x17c07fc6, 0x40e86b4e, ped, boneId, _fv(offsetX), _fv(offsetY), _fv(offsetZ), _r, _rv);
};

/**
 * no bone = -1
 */
global.GetPedBoneIndex = function (ped, boneId) {
	return _in(0x3f428d08, 0xbe5aae31, ped, boneId, _r, _ri);
};

/**
 * _GET_PED_BRAWLING_STYLE
 */
global.GetPedBrawlingStyle = function (ped) {
	return _in(0xec6b59be, 0x445fec51, ped, _r, _ri);
};
global.N_0xec6b59be445fec51 = global.GetPedBrawlingStyle;

/**
 * _GET_PED_CAN_BE_INCAPACITATED_THIS_FRAME
 */
global.GetPedCanBeIncapacitatedThisFrame = function (ped) {
	return _in(0x7a4e0036, 0x4b5d727b, ped, _r, _ri);
};
global.N_0x7a4e00364b5d727b = global.GetPedCanBeIncapacitatedThisFrame;

/**
 * Returns the hash of the weapon/model/object that killed the ped.
 */
global.GetPedCauseOfDeath = function (ped) {
	return _in(0x16ffe42a, 0xb2d2dc59, ped, _r, _ri);
};

/**
 * _GET_PED_COMBAT_ATTRIBUTE
 */
global.GetPedCombatAttribute = function (ped, attributeIndex) {
	return _in(0xcc2b2059, 0x6e29e4e3, ped, attributeIndex, _r, _ri);
};
global.N_0xcc2b20596e29e4e3 = global.GetPedCombatAttribute;

/**
 * GET_PED_COMBAT_MOVEMENT
 */
global.GetPedCombatMovement = function (ped) {
	return _in(0xdea92412, 0xfcaeb3f5, ped, _r, _ri);
};

/**
 * Returns category hash that each ped component has. Hash examples: MASKS, HATS, HEADS, HORSE_MANES
 */
global.GetPedComponentCategoryByIndex = function (ped, index) {
	return _in(0xccb97b51, 0x893c662f, ped, index, _r, _ri);
};
global.N_0xccb97b51893c662f = global.GetPedComponentCategoryByIndex;

/**
 * flagId: see SET_PED_CONFIG_FLAG
 */
global.GetPedConfigFlag = function (ped, flagId, p2) {
	return _in(0x7ee53118, 0xc892b513, ped, flagId, p2, _r);
};

/**
 * GET_PED_CROUCH_MOVEMENT
 */
global.GetPedCrouchMovement = function (ped) {
	return _in(0xd5fe956c, 0x70ff370b, ped, _r, _ri);
};
global.N_0xd5fe956c70ff370b = global.GetPedCrouchMovement;

/**
 * Returns eCurrentHeldWeapon
 * _GET_R* - _GET_T*
 */
global.GetPedCurrentHeldWeapon = function (ped) {
	return _in(0x8425c5f0, 0x57012dab, ped, _r, _ri);
};
global.N_0x8425c5f057012dab = global.GetPedCurrentHeldWeapon;

/**
 * GET_PED_CURRENT_MOVE_BLEND_RATIO
 */
global.GetPedCurrentMoveBlendRatio = function (ped) {
	return _in(0xf60165e1, 0xd2c5370b, ped, _f, _f, _r);
};
global.N_0xf60165e1d2c5370b = global.GetPedCurrentMoveBlendRatio;

/**
 * enum ePedDamageCleanliness
 * {
 * PED_DAMAGE_CLEANLINESS_POOR,
 * PED_DAMAGE_CLEANLINESS_GOOD,
 * PED_DAMAGE_CLEANLINESS_PERFECT
 * };
 */
global.GetPedDamageCleanliness = function (ped) {
	return _in(0x88effed5, 0xfe8b0b4a, ped, _r, _ri);
};
global.N_0x88effed5fe8b0b4a = global.GetPedDamageCleanliness;

/**
 * Returns true if _GET_PED_DAMAGE_CLEANLINESS was ever lower than 2
 */
global.GetPedDamaged = function (ped) {
	return _in(0x6cfc3730, 0x08a1edaf, ped, _r, _ri);
};
global.N_0x6cfc373008a1edaf = global.GetPedDamaged;

/**
 * GET_PED_DEFENSIVE_AREA_POSITION
 */
global.GetPedDefensiveAreaPosition = function (ped, p1) {
	return _in(0x3c06b878, 0x6dd94cd1, ped, p1, _r, _rv);
};

/**
 * _GET_PED_DEFENSIVE_VOLUME
 */
global.GetPedDefensiveVolume = function (ped, p1) {
	return _in(0xef2e6f87, 0x0783369b, ped, p1, _r, _ri);
};
global.N_0xef2e6f870783369b = global.GetPedDefensiveVolume;

/**
 * GET_PED_DESIRED_MOVE_BLEND_RATIO
 */
global.GetPedDesiredMoveBlendRatio = function (ped) {
	return _in(0x8517d4a6, 0xca8513ed, ped, _r, _rf);
};

/**
 * Returns ped drunk level
 * _H* or _I*
 */
global.GetPedDrunkness = function (ped) {
	return _in(0x6fb76442, 0x469abd68, ped, _r, _rf);
};
global.N_0x6fb76442469abd68 = global.GetPedDrunkness;

/**
 * _GET_PED_FROM_INDEXED_ITEM
 */
global.GetPedFromIndexedItem = function (item) {
	return _in(0x3ffb1553, 0x4067dcd4, item, _r, _ri);
};
global.N_0x3ffb15534067dcd4 = global.GetPedFromIndexedItem;

/**
 * _GET_PED_GRAPPLE_FLAG
 */
global.GetPedGrappleFlag = function (ped) {
	return _in(0xf3c873ed, 0x0c595109, ped, _r, _ri);
};
global.N_0xf3c873ed0c595109 = global.GetPedGrappleFlag;

/**
 * GET_PED_GRAPPLE_STATE
 */
global.GetPedGrappleState = function (ped) {
	return _in(0x2311f15d, 0x971aa680, ped, _r, _ri);
};
global.N_0x2311f15d971aa680 = global.GetPedGrappleState;

/**
 * _GET_PED_GRAPPLE_STYLE
 */
global.GetPedGrappleStyle = function (ped) {
	return _in(0x753b15ad, 0x0fd6f3e3, ped, _r, _ri);
};
global.N_0x753b15ad0fd6f3e3 = global.GetPedGrappleStyle;

/**
 * _GET_PED_GRAPPLER
 */
global.GetPedGrappler = function (ped) {
	return _in(0xd0b7aeb5, 0x6229d317, ped, _r, _ri);
};
global.N_0xd0b7aeb56229d317 = global.GetPedGrappler;

/**
 * Returns the groupId of which the specified ped is a member of.
 */
global.GetPedGroupIndex = function (ped) {
	return _in(0xf162e133, 0xb4e7a675, ped, _r, _ri);
};

/**
 * Returns emote Hash
 * ```
 * ```
 * NativeDB Introduced: v1355
 */
global.GetPedGunSpinningEquippedKitEmoteTwirl = function (ped) {
	return _in(0x2c4fec3d, 0x0efa9fc0, ped, _r, _ri);
};

/**
 * Returns iSpinHash / iVariationSpin
 * ```
 * ```
 * NativeDB Introduced: v1355
 */
global.GetPedGunSpinningHashFromWeaponEmoteVariation = function (ped, weaponEmoteVariation) {
	return _in(0xf3b1620b, 0x920d1708, ped, weaponEmoteVariation, _r, _ri);
};

/**
 * _GET_PED_HEIGHT
 */
global.GetPedHeight = function (ped) {
	return _in(0x1d491ccf, 0x7211fb74, ped, _r, _rf);
};
global.N_0x1d491ccf7211fb74 = global.GetPedHeight;

/**
 * _GET_PED_HOGTIE_WEAPON
 */
global.GetPedHogtieWeapon = function (ped) {
	return _in(0x90eb1cb1, 0x89923587, ped, _r, _ri);
};
global.N_0x90eb1cb189923587 = global.GetPedHogtieWeapon;

/**
 * _GET_PED_ID_RANGE
 */
global.GetPedIdRange = function (ped) {
	return _in(0x31167ed4, 0x324b758d, ped, _r, _rf);
};
global.N_0x31167ed4324b758d = global.GetPedIdRange;

/**
 * enum eDraftHarness
 * {
 * DRAFT_HARNESS_LR,
 * DRAFT_HARNESS_RR,
 * DRAFT_HARNESS_LM,
 * DRAFT_HARNESS_RM,
 * DRAFT_HARNESS_LF,
 * DRAFT_HARNESS_RF,
 * DRAFT_HARNESS_COUNT
 * };
 */
global.GetPedInDraftHarness = function (vehicle, harnessId) {
	return _in(0xa8ba0bae, 0x0173457b, vehicle, harnessId, _r, _ri);
};
global.N_0xa8ba0bae0173457b = global.GetPedInDraftHarness;

/**
 * seatIndex: see CREATE_PED_INSIDE_VEHICLE
 */
global.GetPedInTransportSeat = function (transportEntity, seatIndex) {
	return _in(0xffec4b0a, 0x1a3ed515, transportEntity, seatIndex, _r, _ri);
};
global.N_0xffec4b0a1a3ed515 = global.GetPedInTransportSeat;

/**
 * seatIndex: see CREATE_PED_INSIDE_VEHICLE
 */
global.GetPedInVehicleSeat = function (vehicle, seatIndex) {
	return _in(0xbb40dd22, 0x70b65366, vehicle, seatIndex, _r, _ri);
};

/**
 * _GET_PED_INCAPACITATION_HEALTH
 */
global.GetPedIncapacitationHealth = function (ped) {
	return _in(0x89bfdf6d, 0x53145545, ped, _r, _ri);
};
global.N_0x89bfdf6d53145545 = global.GetPedIncapacitationHealth;

/**
 * Simply returns whatever is passed to it (Regardless of whether the handle is valid or not).
 */
global.GetPedIndexFromEntityIndex = function (entity) {
	return _in(0x0f16d042, 0xbd640ea3, entity, _r, _ri);
};

/**
 * _GET_PED_INTERACTION_PERSONALITY
 */
global.GetPedInteractionPersonality = function (ped) {
	return _in(0xd7ad3c7e, 0xbaf88c92, ped, _r, _ri);
};
global.N_0xd7ad3c7ebaf88c92 = global.GetPedInteractionPersonality;

/**
 * GET_PED_IS_BEING_GRAPPLED
 */
global.GetPedIsBeingGrappled = function (ped) {
	return _in(0x3bdfcf25, 0xb58b0415, ped, _r, _ri);
};
global.N_0x3bdfcf25b58b0415 = global.GetPedIsBeingGrappled;

/**
 * GET_PED_IS_DOING_COMBAT_ROLL
 */
global.GetPedIsDoingCombatRoll = function (ped) {
	return _in(0xc48a9eb0, 0xd499b3e5, ped, _r, _ri);
};
global.N_0xc48a9eb0d499b3e5 = global.GetPedIsDoingCombatRoll;

/**
 * GET_PED_IS_GRAPPLING
 */
global.GetPedIsGrappling = function (ped) {
	return _in(0x0e99e3bf, 0x11bb6367, ped, _r, _ri);
};
global.N_0x0e99e3bf11bb6367 = global.GetPedIsGrappling;

/**
 * _GET_PED_IS_IGNORING_DEAD_BODIES
 */
global.GetPedIsIgnoringDeadBodies = function (ped) {
	return _in(0x1948bbe5, 0x61a2375a, ped, _r, _ri);
};
global.N_0x1948bbe561a2375a = global.GetPedIsIgnoringDeadBodies;

/**
 * https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/Lasso%20Hogtie%20Flags
 * https://github.com/femga/rdr3_discoveries/tree/master/AI/LASSO_HOGTIE_FLAG
 */
global.GetPedLassoHogtieFlag = function (ped, flagId) {
	return _in(0x2c76fa0e, 0x01681f8d, ped, flagId, _r, _ri);
};
global.N_0x2c76fa0e01681f8d = global.GetPedLassoHogtieFlag;

/**
 * GET_PED_LAST_DAMAGE_BONE
 */
global.GetPedLastDamageBone = function (ped, outBone) {
	return _in(0xd75960f6, 0xbd9ea49c, ped, _ii(outBone) /* may be optional */, _r);
};

/**
 * _GET_PED_LAST_DROPPED_HAT
 */
global.GetPedLastDroppedHat = function (ped) {
	return _in(0x1f714e7a, 0x9dadfc42, ped, _r, _ri);
};
global.N_0x1f714e7a9dadfc42 = global.GetPedLastDroppedHat;

/**
 * GET_PED_LAST_WEAPON_IMPACT_COORD
 */
global.GetPedLastWeaponImpactCoord = function (ped, coords) {
	return _in(0x6c4d0409, 0xba1a2bc2, ped, _v, _r);
};

/**
 * NativeDB Introduced: v1355
 */
global.GetPedLodMultiplier = function (ped) {
	return _in(0x1b710e6f, 0x4ab69341, ped, _r, _rf);
};

/**
 * enum ePedLootStatus
 * {
 * PLS_NONE,
 * PLS_PRE_LOOT,
 * PLS_SAMPLING,
 * PLS_SKINNING
 * };
 * ```
 * ```
 * NativeDB Introduced: v1311
 */
global.GetPedLootStatusMp = function (ped) {
	return _in(0xc737697c, 0x41628340, ped, _r, _ri);
};

/**
 * GET_PED_MAX_HEALTH
 */
global.GetPedMaxHealth = function (ped) {
	return _in(0x4700a416, 0xe8324ef3, ped, _r, _ri);
};

/**
 * _GET_PED_MAX_STAMINA
 */
global.GetPedMaxStamina = function (ped) {
	return _in(0xcb42afe2, 0xb613ee55, ped, _r, _rf);
};
global.N_0xcb42afe2b613ee55 = global.GetPedMaxStamina;

/**
 * _GET_PED_MELEE_ACTION_PHASE
 */
global.GetPedMeleeActionPhase = function (ped) {
	return _in(0x6127f25e, 0xd21c533c, ped, _r, _rf);
};
global.N_0x6127f25ed21c533c = global.GetPedMeleeActionPhase;

/**
 * _GET_PED_META_OUTFIT_HASH
 */
global.GetPedMetaOutfitHash = function (ped) {
	return _in(0x30569f34, 0x8d126a5a, ped, _r, _ri);
};
global.N_0x30569f348d126a5a = global.GetPedMetaOutfitHash;

/**
 * GET_PED_MODEL_NAME_IN_POPULATION_SET
 */
global.GetPedModelNameInPopulationSet = function (popSetHash, index) {
	return _in(0x3eafa1c5, 0x33b7139e, _ch(popSetHash), index, _r, _ri);
};

/**
 * PS_SMALL = 0,
 * PS_MEDIUM,
 * PS_MEDIUM_LARGE,
 * PS_LARGE,
 * PS_EXTRA_LARGE
 * ```
 * ```
 * NativeDB Introduced: v1311
 */
global.GetPedModelSizeFromHash = function (modelHash) {
	return _in(0xa65aa1ac, 0xe81e5a77, _ch(modelHash), _r, _ri);
};

/**
 * GET_PED_MONEY
 */
global.GetPedMoney = function (ped) {
	return _in(0x3f69145b, 0xba87bae7, ped, _r, _ri);
};

/**
 * GET_PED_MOTION_FOCUS_ENTITY
 */
global.GetPedMotionFocusEntity = function (ped) {
	return _in(0x243e1b46, 0x07040057, ped, _r, _ri);
};
global.N_0x243e1b4607040057 = global.GetPedMotionFocusEntity;

/**
 * If targetPed is set to 0 the ped motivationState affects everyone
 */
global.GetPedMotivation = function (ped, motivationState, targetPed) {
	return _in(0x42688e94, 0xe96fd9b4, ped, motivationState, targetPed, _r, _rf);
};
global.N_0x42688e94e96fd9b4 = global.GetPedMotivation;

/**
 * GET_PED_NEARBY_PEDS
 */
global.GetPedNearbyPeds = function (ped, ignoredPedType, p3) {
	return _in(0x23f8f5fc, 0x7e8c4a6b, ped, _i, ignoredPedType, p3, _r, _ri);
};

/**
 * GET_PED_NEARBY_VEHICLES
 */
global.GetPedNearbyVehicles = function (ped, sizeAndVehs) {
	return _in(0xcff869cb, 0xfa210d82, ped, _ii(sizeAndVehs) /* may be optional */, _r, _ri);
};

/**
 * Returns Ped Quality to be used to calculate Skinning Quality
 * enum ePedQuality
 * {
 * PQ_INVALID = -1,
 * PQ_LOW,
 * PQ_MEDIUM,
 * PQ_HIGH,
 * PQ_MAX
 * };
 */
global.GetPedQuality = function (ped) {
	return _in(0x7bcc6087, 0xd130312a, ped, _r, _ri);
};
global.N_0x7bcc6087d130312a = global.GetPedQuality;

/**
 * Gets a registered/attached prop entity for a particular ped. Second parameter will detach the prop entity from the ped if true. Props primarily appear to come from scenarios, such as a broom or hay bale.
 * Known props: https://pastebin.com/ap2NEJqB
 */
global.GetPedRegisterProp = function (ped, propName, detachProp) {
	return _in(0x4d0d2e3d, 0x8bc000eb, ped, _ts(propName), detachProp, _r, _ri);
};
global.N_0x4d0d2e3d8bc000eb = global.GetPedRegisterProp;

/**
 * GET_PED_RELATIONSHIP_GROUP_DEFAULT_HASH
 */
global.GetPedRelationshipGroupDefaultHash = function (ped) {
	return _in(0x42fdd0f0, 0x17b1e38e, ped, _r, _ri);
};

/**
 * GET_PED_RELATIONSHIP_GROUP_HASH
 */
global.GetPedRelationshipGroupHash = function (ped) {
	return _in(0x7dbdd048, 0x62d95f04, ped, _r, _ri);
};

/**
 * normalized / non normalized
 * 0.0        / 1000.0         STARTED IN WRITHE STAGE
 * 1.0        / 0.0            END OF WRITHE, DEAD
 * -1.0                        DEAD
 * Returns some value from AI task 562 (unknown).
 */
global.GetPedRemainingRevivalTime = function (ped, normalized) {
	return _in(0xebe89623, 0xeb861271, ped, normalized, _r, _rf);
};
global.N_0xebe89623eb861271 = global.GetPedRemainingRevivalTime;

/**
 * GET_PED_RESET_FLAG
 */
global.GetPedResetFlag = function (ped, flagId) {
	return _in(0xaf9e59b1, 0xb1fbf2a0, ped, flagId, _r);
};

/**
 * NativeDB Introduced: v1232
 */
global.GetPedSongIndexHost = function (ped) {
	return _in(0x2dbbf0c5, 0xe19383ee, ped, _r, _ri);
};

/**
 * Returns the entity that killed the ped
 * It is best to check if the Ped is dead before asking for its killer.
 */
global.GetPedSourceOfDeath = function (ped) {
	return _in(0x93c8b64d, 0xeb84728c, ped, _r, _ri);
};

/**
 * _GET_PED_STAMINA
 */
global.GetPedStamina = function (ped) {
	return _in(0x775a1ca7, 0x893aa8b5, ped, _r, _rf);
};
global.N_0x775a1ca7893aa8b5 = global.GetPedStamina;

/**
 * Returns stamina normalizedValue / normalizedUnlockedMax
 */
global.GetPedStaminaNormalized = function (ped) {
	return _in(0x22f2a386, 0xd43048a9, ped, _r, _rf);
};
global.N_0x22f2a386d43048a9 = global.GetPedStaminaNormalized;

/**
 * Returns whether the entity is in stealth mode
 */
global.GetPedStealthMovement = function (ped) {
	return _in(0x7c2ac9ca, 0x66575fbf, ped, _r);
};

/**
 * GET_PED_TIME_OF_DEATH
 */
global.GetPedTimeOfDeath = function (ped) {
	return _in(0x1e98817b, 0x311ae98a, ped, _r, _ri);
};

/**
 * GET_PED_TO_PLAYER_WEAPON_DAMAGE_MODIFIER
 */
global.GetPedToPlayerWeaponDamageModifier = function (ped) {
	return _in(0x936e7cad, 0x0ae2ee14, ped, _r, _rf);
};
global.N_0x936e7cad0ae2ee14 = global.GetPedToPlayerWeaponDamageModifier;

/**
 * NativeDB Introduced: v1355
 */
global.GetPedTranquilizer = function (ped) {
	return _in(0x65c75fdc, 0xcac86464, ped, _r, _ri);
};

/**
 * GET_PED_TYPE
 */
global.GetPedType = function (ped) {
	return _in(0xff059e1e, 0x4c01e63c, ped, _r, _ri);
};

/**
 * _GET_PED_USING_SCENARIO_POINT
 */
global.GetPedUsingScenarioPoint = function (scenario) {
	return _in(0x5ba65995, 0x5369b0e2, scenario, _r, _ri);
};
global.N_0x5ba659955369b0e2 = global.GetPedUsingScenarioPoint;

/**
 * GET_PED_WAYPOINT_DISTANCE
 */
global.GetPedWaypointDistance = function (ped) {
	return _in(0xe6a877c6, 0x4caf1bc5, ped, _r, _rf);
};

/**
 * GET_PED_WAYPOINT_OVERRIDE_SPEED
 */
global.GetPedWaypointOverrideSpeed = function (ped) {
	return _in(0xd39a2f3e, 0x7fcaff08, ped, _r, _rf);
};

/**
 * GET_PED_WAYPOINT_PROGRESS
 */
global.GetPedWaypointProgress = function (ped) {
	return _in(0x2720aaa7, 0x5001e094, ped, _r, _ri);
};

/**
 * GET_PED_WEAPON_GUID_AT_ATTACH_POINT
 */
global.GetPedWeaponGuidAtAttachPoint = function (ped, attachPoint, weaponGuid) {
	return _in(0x6929e221, 0x58e52265, ped, attachPoint, _ii(weaponGuid) /* may be optional */, _r, _ri);
};
global.N_0x6929e22158e52265 = global.GetPedWeaponGuidAtAttachPoint;

/**
 * slotHash is usually just the weaponHash name, but WEAPON_* is replaced with SLOT_*
 */
global.GetPedWeaponInSlot = function (ped, slotHash) {
	return _in(0xdbc4b552, 0xb2ae9a83, ped, _ch(slotHash), _r, _ri);
};
global.N_0xdbc4b552b2ae9a83 = global.GetPedWeaponInSlot;

/**
 * _GET_M* - _GET_PED_A*
 */
global.GetPedWeaponObject = function (ped, p1) {
	return _in(0x6ca484c9, 0xa7377e4f, ped, p1, _r, _ri);
};
global.N_0x6ca484c9a7377e4f = global.GetPedWeaponObject;

/**
 * _GET_PED_WORST_WEAPON
 */
global.GetPedWorstWeapon = function (ped, p1, p2, p3) {
	return _in(0xda37a053, 0xc1522f5d, ped, p1, p2, p3, _r, _ri);
};
global.N_0xda37a053c1522f5d = global.GetPedWorstWeapon;

/**
 * _GET_PEDS_IN_COMBAT_WITH_TARGET
 */
global.GetPedsInCombatWithTarget = function (ped, itemset, flag) {
	return _in(0x7be607da, 0xff382fd2, ped, itemset, flag, _r, _ri);
};
global.N_0x7be607daff382fd2 = global.GetPedsInCombatWithTarget;

/**
 * GET_PEDS_JACKER
 */
global.GetPedsJacker = function (ped) {
	return _in(0x9b128dc3, 0x6c1e04cf, ped, _r, _ri);
};

/**
 * Returns peltId
 */
global.GetPeltFromHorse = function (horse, index) {
	return _in(0x0ceeb6f4, 0x780b1f2f, horse, index, _r, _ri);
};
global.N_0x0ceeb6f4780b1f2f = global.GetPeltFromHorse;

/**
 * _GET_PERSCHAR_INDEX_FROM_PED_INDEX
 */
global.GetPerscharIndexFromPedIndex = function (ped) {
	return _in(0x32a1e3b8, 0x3d501096, ped, _r, _ri);
};
global.N_0x32a1e3b83d501096 = global.GetPerscharIndexFromPedIndex;

/**
 * _GET_PERSCHAR_MODEL_NAME
 */
global.GetPerscharModelName = function (persCharHash) {
	return _in(0xa00df706, 0xc60173d1, _ch(persCharHash), _r, _ri);
};
global.N_0xa00df706c60173d1 = global.GetPerscharModelName;

/**
 * _GET_PERSCHAR_PED_INDEX
 */
global.GetPerscharPedIndex = function (persChar) {
	return _in(0x31c70a71, 0x6cae1fee, persChar, _r, _ri);
};
global.N_0x31c70a716cae1fee = global.GetPerscharPedIndex;

/**
 * _GET_PHOTO_MODE_CONTRAST
 */
global.GetPhotoModeContrast = function () {
	return _in(0x98f41549, 0x89b81ec6, _r, _rf);
};
global.N_0x98f4154989b81ec6 = global.GetPhotoModeContrast;

/**
 * _GET_PHOTO_MODE_DOF
 */
global.GetPhotoModeDof = function () {
	return _in(0x4653a741, 0xd17f2cd0, _r, _rf);
};
global.N_0x4653a741d17f2cd0 = global.GetPhotoModeDof;

/**
 * _GET_PHOTO_MODE_EXPOSURE
 */
global.GetPhotoModeExposure = function () {
	return _in(0x06c0d8bb, 0x6b04a709, _r, _rf);
};
global.N_0x06c0d8bb6b04a709 = global.GetPhotoModeExposure;

/**
 * _GET_PHOTO_MODE_FOCAL_LENGTH
 */
global.GetPhotoModeFocalLength = function () {
	return _in(0x2533baff, 0xbe737e54, _r, _rf);
};
global.N_0x2533baffbe737e54 = global.GetPhotoModeFocalLength;

/**
 * _GET_PHOTO_MODE_FOCUS_DISTANCE
 */
global.GetPhotoModeFocusDistance = function () {
	return _in(0x18fc740f, 0xfdcd7454, _r, _rf);
};
global.N_0x18fc740ffdcd7454 = global.GetPhotoModeFocusDistance;

/**
 * GET_PICKUP_COORDS
 */
global.GetPickupCoords = function (pickup) {
	return _in(0x225b8b35, 0xc88029b3, pickup, _r, _rv);
};

/**
 * GET_PICKUP_OBJECT
 */
global.GetPickupObject = function (pickup) {
	return _in(0x5099bc55, 0x630b25ae, pickup, _r, _ri);
};

/**
 * _GET_PINNED_MAP_ENTITY
 */
global.GetPinnedMapEntity = function (p0) {
	return _in(0x4735e2a4, 0xbb83d9da, p0, _r, _ri);
};
global.N_0x4735e2a4bb83d9da = global.GetPinnedMapEntity;

/**
 * _GET_PLAYER_CACHED_DEAD_EYE_AMOUNT
 */
global.GetPlayerCachedDeadEyeAmount = function (player) {
	return _in(0xdf66a379, 0x36d5f3d9, player, _r, _rf);
};
global.N_0xdf66a37936d5f3d9 = global.GetPlayerCachedDeadEyeAmount;

/**
 * Returns animal skin quality modifier
 * ```
 * ```
 * NativeDB Introduced: v1311
 */
global.GetPlayerCurrentAnimalDamageModifier = function (player) {
	return _in(0xee2d5c81, 0x9a65bf26, player, _r, _rf);
};

/**
 * GET_PLAYER_CURRENT_STEALTH_NOISE
 */
global.GetPlayerCurrentStealthNoise = function (player) {
	return _in(0xd7ecc25e, 0x176ecba5, player, _r, _rf);
};

/**
 * _GET_PLAYER_DEAD_EYE
 */
global.GetPlayerDeadEye = function (player) {
	return _in(0xa81d24ae, 0x0af99a5e, player, _r, _rf);
};
global.N_0xa81d24ae0af99a5e = global.GetPlayerDeadEye;

/**
 * _GET_PLAYER_DEAD_EYE_METER_LEVEL
 */
global.GetPlayerDeadEyeMeterLevel = function (player, p1) {
	return _in(0x3a6ae4ee, 0xe30370fe, player, p1, _r, _rf);
};
global.N_0x3a6ae4eee30370fe = global.GetPlayerDeadEyeMeterLevel;

/**
 * Gets a local client's Player ID from its server ID counterpart, assuming the passed `serverId` exists on the client.
 * If no matching client is found, or an invalid value is passed over as the `serverId` native's parameter, the native result will be `-1`.
 * It's worth noting that this native method can only retrieve information about clients that are culled to the connected client.
 * @param serverId The player's server ID.
 * @return A valid Player ID if one is found, `-1` if not.
 */
global.GetPlayerFromServerId = function (serverId) {
	return _in(0x00000000, 0x344ea166, serverId, _r, _ri);
};

/**
 * On the server this will return the players source, on the client it will return the player handle.
 * @param bagName An internal state bag ID from the argument to a state bag change handler.
 * @return The player handle or 0 if the state bag name did not refer to a player, or the player does not exist.
 */
global.GetPlayerFromStateBagName = function (bagName) {
	return _in(0x00000000, 0xa56135e0, _ts(bagName), _r, _ri);
};

/**
 * Returns the group ID the player is member of.
 */
global.GetPlayerGroup = function (player) {
	return _in(0x9bab3181, 0x5159abcf, player, _r, _ri);
};

/**
 * _GET_PLAYER_HEALTH
 */
global.GetPlayerHealth = function (player) {
	return _in(0x0317c947, 0xd062854e, player, _r, _rf);
};
global.N_0x0317c947d062854e = global.GetPlayerHealth;

/**
 * _GET_PLAYER_HEALTH_RECHARGE_MULTIPLIER
 */
global.GetPlayerHealthRechargeMultiplier = function (player) {
	return _in(0x22cd23bb, 0x0c45e0cd, player, _r, _rf);
};
global.N_0x22cd23bb0c45e0cd = global.GetPlayerHealthRechargeMultiplier;

/**
 * _GET_PLAYER_HUNTING_WAGON
 */
global.GetPlayerHuntingWagon = function (player) {
	return _in(0x5ca6bbd4, 0xa7d8145e, player, _r, _ri);
};
global.N_0x5ca6bbd4a7d8145e = global.GetPlayerHuntingWagon;

/**
 * Returns the same as PLAYER_ID and NETWORK_PLAYER_ID_TO_INT
 */
global.GetPlayerIndex = function () {
	return _in(0x47e385b0, 0xd957c8d4, _r, _ri);
};

/**
 * GET_PLAYER_INTERACTION_TARGET_ENTITY
 */
global.GetPlayerInteractionTargetEntity = function (player, p2, p3) {
	return _in(0x3ee1f7a8, 0xc32f24e1, player, _i, p2, p3, _r, _ri);
};
global.N_0x3ee1f7a8c32f24e1 = global.GetPlayerInteractionTargetEntity;

/**
 * Returns the player's invincibility status.
 */
global.GetPlayerInvincible = function (player) {
	return _in(0x0cbbcb2c, 0xcfa7dc4e, player, _r);
};

/**
 * _GET_PLAYER_MAX_DEAD_EYE
 */
global.GetPlayerMaxDeadEye = function (player, p1) {
	return _in(0x592f58bc, 0x4d2a2cf3, player, p1, _r, _rf);
};
global.N_0x592f58bc4d2a2cf3 = global.GetPlayerMaxDeadEye;

/**
 * See _SET_PLAYER_MOOD
 */
global.GetPlayerMood = function (player) {
	return _in(0x05447316, 0x4c012699, player, _r, _ri);
};
global.N_0x054473164c012699 = global.GetPlayerMood;

/**
 * GET_PLAYER_NAME
 */
global.GetPlayerName = function (player) {
	return _in(0x7124fd9a, 0xc0e01ba0, player, _r, _s);
};

/**
 * _GET_PLAYER_OWNER_OF_MOUNT
 */
global.GetPlayerOwnerOfMount = function (mount) {
	return _in(0xad03b037, 0x37ce6810, mount, _r, _ri);
};
global.N_0xad03b03737ce6810 = global.GetPlayerOwnerOfMount;

/**
 * _GET_PLAYER_OWNER_OF_VEHICLE
 */
global.GetPlayerOwnerOfVehicle = function (vehicle) {
	return _in(0x7c803bdc, 0x8343228d, vehicle, _r, _ri);
};
global.N_0x7c803bdc8343228d = global.GetPlayerOwnerOfVehicle;

/**
 * GET_PLAYER_PED
 */
global.GetPlayerPed = function (player) {
	return _in(0x275f255e, 0xd201b937, player, _r, _ri);
};

/**
 * GET_PLAYER_PED_IS_FOLLOWING
 */
global.GetPlayerPedIsFollowing = function (ped) {
	return _in(0x6a3975de, 0xa89f9a17, ped, _r, _ri);
};

/**
 * Outputs cached guids
 * ```
 * ```
 * NativeDB Introduced: v1232
 */
global.GetPlayerPedQuickSwapWeaponByGuid = function (ped) {
	return _in(0xb7e52a05, 0x8b07c7e2, ped, _i, _i);
};

/**
 * Does the same like PLAYER::GET_PLAYER_PED
 */
global.GetPlayerPedScriptIndex = function (player) {
	return _in(0x5c880f90, 0x56d784c8, player, _r, _ri);
};

/**
 * Returns how deep the water is below the ped (if in water)
 * -1.0f = Not in water
 * 10.0f = Max water depth
 */
global.GetPlayerPedWaterDepth = function (ped) {
	return _in(0x29424574, 0x17a5fd24, ped, _r, _rf);
};
global.N_0x2942457417a5fd24 = global.GetPlayerPedWaterDepth;

/**
 * _GET_PLAYER_PED_2
 */
global.GetPlayerPed_2 = function (player) {
	return _in(0x5ebe38a2, 0x0bc51c27, player, _r, _ri);
};
global.N_0x5ebe38a20bc51c27 = global.GetPlayerPed_2;

/**
 * GET_PLAYER_RECEIVED_BATTLE_EVENT_RECENTLY
 */
global.GetPlayerReceivedBattleEventRecently = function (player, p1, p2) {
	return _in(0xfb6eb878, 0x5f808551, player, p1, p2, _r);
};
global.N_0xfb6eb8785f808551 = global.GetPlayerReceivedBattleEventRecently;

/**
 * GET_PLAYER_REGISTERED_CRIME
 */
global.GetPlayerRegisteredCrime = function (player, p1, crimeType) {
	return _in(0x532c5fdd, 0xb986ee5c, player, p1, _ii(crimeType) /* may be optional */, _r, _ri);
};
global.N_0x532c5fddb986ee5c = global.GetPlayerRegisteredCrime;

/**
 * If player has less Dead Eye than required, Dead Eye cant be triggered.
 */
global.GetPlayerRequiredDeadEyeAmount = function (player) {
	return _in(0x811a748b, 0x1be231ba, player, _r, _rf);
};
global.N_0x811a748b1be231ba = global.GetPlayerRequiredDeadEyeAmount;

/**
 * playerResetFlag: See 0x9F9A829C6751F3C7
 */
global.GetPlayerResetFlag = function (player, playerResetFlag) {
	return _in(0xfe691e89, 0xc08937b6, player, playerResetFlag, _r, _ri);
};
global.N_0xfe691e89c08937b6 = global.GetPlayerResetFlag;

/**
 * GET_PLAYER_SERVER_ID
 */
global.GetPlayerServerId = function (player) {
	return _in(0x00000000, 0x4d97bcc7, player, _r, _ri);
};

/**
 * _GET_PLAYER_SPECIAL_ABILITY_MULTIPLIER
 */
global.GetPlayerSpecialAbilityMultiplier = function (player) {
	return _in(0xab3773e7, 0xaa1e9dcc, player, _r, _rf);
};
global.N_0xab3773e7aa1e9dcc = global.GetPlayerSpecialAbilityMultiplier;

/**
 * _GET_PLAYER_STAMINA
 */
global.GetPlayerStamina = function (player) {
	return _in(0x0ff421e4, 0x67373fcf, player, _r, _rf);
};
global.N_0x0ff421e467373fcf = global.GetPlayerStamina;

/**
 * _GET_PLAYER_STAMINA_DEPLETION_MULTIPLIER
 */
global.GetPlayerStaminaDepletionMultiplier = function (player) {
	return _in(0x68a0389e, 0x0718ac8f, player, _r, _rf);
};
global.N_0x68a0389e0718ac8f = global.GetPlayerStaminaDepletionMultiplier;

/**
 * _GET_PLAYER_STAMINA_RECHARGE_MULTIPLIER
 */
global.GetPlayerStaminaRechargeMultiplier = function (player) {
	return _in(0x617d3494, 0xad58200f, player, _r, _rf);
};
global.N_0x617d3494ad58200f = global.GetPlayerStaminaRechargeMultiplier;

/**
 * GET_PLAYER_TARGET_ENTITY
 */
global.GetPlayerTargetEntity = function (player, entity) {
	return _in(0xae663ddd, 0x99c8a670, player, _ii(entity) /* may be optional */, _r);
};

/**
 * Gets the player's team.
 * Returns -1 in singleplayer.
 */
global.GetPlayerTeam = function (player) {
	return _in(0xb464eb6a, 0x40c7975b, player, _r, _ri);
};

/**
 * Returns true if PromptType is enabled for ped (mount)
 * Params: See 0x0751D461F06E41CE
 */
global.GetPlayerUiPromptForPedIsEnabled = function (player, ped, promptType, promptMode) {
	return _in(0xea8f168a, 0x76a0b9bc, player, ped, promptType, promptMode, _r, _ri);
};
global.N_0xea8f168a76a0b9bc = global.GetPlayerUiPromptForPedIsEnabled;

/**
 * Returns false if PromptType is enabled
 * Params: See 0x0751D461F06E41CE
 */
global.GetPlayerUiPromptIsDisabled = function (player, promptType, promptMode) {
	return _in(0x6614f903, 0x9bd31931, player, promptType, promptMode, _r, _ri);
};
global.N_0x6614f9039bd31931 = global.GetPlayerUiPromptIsDisabled;

/**
 * GET_PLAYER_WANTED_LEVEL
 */
global.GetPlayerWantedLevel = function (player) {
	return _in(0xabc532f9, 0x098bfd9d, player, _r, _ri);
};

/**
 * _GET_PLAYER_WAYPOINT_IS_ACTIVE
 */
global.GetPlayerWaypointIsActive = function (player) {
	return _in(0xdcc4b7f7, 0x112e8ab7, player, _r, _ri);
};
global.N_0xdcc4b7f7112e8ab7 = global.GetPlayerWaypointIsActive;

/**
 * _GET_PLAYER_WEAPON_DAMAGE
 */
global.GetPlayerWeaponDamage = function (player, weaponHash) {
	return _in(0xfe030405, 0x0261442c, player, _ch(weaponHash), _r, _rf);
};
global.N_0xfe0304050261442c = global.GetPlayerWeaponDamage;

/**
 * GET_PLAYERS_LAST_VEHICLE
 */
global.GetPlayersLastVehicle = function () {
	return _in(0x2f96e772, 0x0b0b19ea, _r, _ri);
};

/**
 * GET_POPULATION_BUDGET_MULTIPLIER
 */
global.GetPopulationBudgetMultiplier = function () {
	return _in(0x8a394540, 0x5b31048f, _r, _rf);
};
global.N_0x8a3945405b31048f = global.GetPopulationBudgetMultiplier;

/**
 * This native does no interpolation between pathpoints. The same position will be returned for all times up to the next pathpoint in the recording.
 * See REQUEST_VEHICLE_RECORDING
 */
global.GetPositionOfVehicleRecordingAtTime = function (recording, time, script) {
	return _in(0x1a00961a, 0x1be94e5e, recording, _fv(time), _ts(script), _r, _rv);
};

/**
 * GET_POSIX_TIME
 */
global.GetPosixTime = function () {
	return _in(0x90338ad4, 0xa784e455, _i, _i, _i, _i, _i, _i);
};

/**
 * Same as GET_POSIX_TIME except that it takes a single pointer to a struct.
 */
global.GetPosixTimeStruct = function (outTime) {
	return _in(0x86a68e84, 0xe5884951, _ii(outTime) /* may be optional */);
};
global.N_0x86a68e84e5884951 = global.GetPosixTimeStruct;

/**
 * _GET_PREV_WEATHER_TYPE_HASH_NAME
 */
global.GetPrevWeatherTypeHashName = function () {
	return _in(0x4beb42ae, 0xbca732e9, _r, _ri);
};
global.N_0x4beb42aebca732e9 = global.GetPrevWeatherTypeHashName;

/**
 * GET_PROJECTILE_OF_PROJECTILE_TYPE_WITHIN_DISTANCE
 */
global.GetProjectileOfProjectileTypeWithinDistance = function (ped, weaponHash, distance, p5, mustBeOwnedByThisPed) {
	return _in(0x9578986a, 0x6105a6ad, ped, _ch(weaponHash), _fv(distance), _v, _i, p5, mustBeOwnedByThisPed, _r);
};
global.GetProjectileNearPed = global.GetProjectileOfProjectileTypeWithinDistance;

/**
 * GET_PROP_FOR_SCENARIO_POINT
 */
global.GetPropForScenarioPoint = function (scenarioPoint, name) {
	return _in(0x295514f1, 0x98efd0ca, scenarioPoint, _ts(name), _r, _ri);
};
global.N_0x295514f198efd0ca = global.GetPropForScenarioPoint;

/**
 * _GET_PROP_SET_AT_COORDS
 */
global.GetPropSetAtCoords = function (propsetHash, x, y, z) {
	return _in(0xc061e50f, 0x8d299f95, _ch(propsetHash), _fv(x), _fv(y), _fv(z), _r, _ri);
};
global.N_0xc061e50f8d299f95 = global.GetPropSetAtCoords;

/**
 * _GET_PROP_SET_MODEL
 */
global.GetPropSetModel = function (propSet) {
	return _in(0xa6a97129, 0x55f53d9c, propSet, _r, _ri);
};
global.N_0xa6a9712955f53d9c = global.GetPropSetModel;

/**
 * Returns proxyInteriorIndex
 */
global.GetProxyInteriorIndex = function (interiorId) {
	return _in(0x5d1c5d8e, 0x62e8ee1c, interiorId, _r, _ri);
};
global.N_0x5d1c5d8e62e8ee1c = global.GetProxyInteriorIndex;

/**
 * GET_RAIN_LEVEL
 */
global.GetRainLevel = function () {
	return _in(0x931b5f4c, 0xc130224b, _r, _rf);
};

/**
 * GET_RANDOM_EVENT_FLAG
 */
global.GetRandomEventFlag = function () {
	return _in(0x924d54e5, 0x698ae3e0, _r);
};

/**
 * Returns model hash of the closest fish
 */
global.GetRandomFishTypeForLocation = function () {
	return _in(0x595478b3, 0xbbc3076d, _r, _ri);
};
global.N_0x595478b3bbc3076d = global.GetRandomFishTypeForLocation;

/**
 * GET_RANDOM_FLOAT_IN_RANGE
 */
global.GetRandomFloatInRange = function (startRange, endRange) {
	return _in(0xe29f927a, 0x961f8aaa, _fv(startRange), _fv(endRange), _r, _rf);
};

/**
 * GET_RANDOM_INT_IN_RANGE
 */
global.GetRandomIntInRange = function (startRange, endRange) {
	return _in(0xd53343aa, 0x4fb7dd28, startRange, endRange, _r, _ri);
};

/**
 * GET_RANDOM_MODEL_FROM_POPULATION_SET
 */
global.GetRandomModelFromPopulationSet = function (popSetHash, flags, p2, p3, p4, x, y, z) {
	return _in(0x6b12ed8c, 0x77e8567b, _ch(popSetHash), flags, _ch(p2), p3, p4, _fv(x), _fv(y), _fv(z), _r, _ri);
};

/**
 * GET_RANDOM_VEHICLE_NODE
 */
global.GetRandomVehicleNode = function (x, y, z, radius, minLanes, avoidDeadEnds, avoidHighways) {
	return _in(0x93e0db84, 0x40b73a7d, _fv(x), _fv(y), _fv(z), _fv(radius), minLanes, avoidDeadEnds, avoidHighways, _v, _i, _r);
};

/**
 * _GET_RANDOM_WEATHER_TYPE
 */
global.GetRandomWeatherType = function () {
	return _in(0x1359c181, 0xbc625503, _r, _ri);
};
global.N_0x1359c181bc625503 = global.GetRandomWeatherType;

/**
 * _GET_RANDOM_WEATHER_TYPE_INDEX
 */
global.GetRandomWeatherTypeIndex = function () {
	return _in(0x7f4ce164, 0xd9a11dfe, _r, _ri);
};
global.N_0x7f4ce164d9a11dfe = global.GetRandomWeatherTypeIndex;

/**
 * GET_RANSACK_SCENARIO_POINT_PED_IS_USING
 */
global.GetRansackScenarioPointPedIsUsing = function (ped) {
	return _in(0xd04241bb, 0xf6d03a5e, ped, _r, _ri);
};
global.N_0xd04241bbf6d03a5e = global.GetRansackScenarioPointPedIsUsing;

/**
 * GET_RAYFIRE_MAP_OBJECT
 */
global.GetRayfireMapObject = function (x, y, z, radius, name) {
	return _in(0xb48fced8, 0x98292e52, _fv(x), _fv(y), _fv(z), _fv(radius), _ts(name), _r, _ri);
};

/**
 * GET_RAYFIRE_MAP_OBJECT_ANIM_PHASE
 */
global.GetRayfireMapObjectAnimPhase = function (object) {
	return _in(0x260ee4fd, 0xbdf4db01, object, _r, _rf);
};

/**
 * Returns GET_GAME_TIMER() / 1000
 * Only used in rcm_pearson1.ysc
 */
global.GetRealWorldTime = function () {
	return _in(0x2e036f04, 0x80b8bf02, _r, _ri);
};
global.N_0x2e036f0480b8bf02 = global.GetRealWorldTime;

/**
 * Returns all commands that are registered in the command system.
 * The data returned adheres to the following layout:
 * ```
 * [
 * {
 * "name": "cmdlist"
 * },
 * {
 * "name": "command1"
 * }
 * ]
 * ```
 * @return An object containing registered commands.
 */
global.GetRegisteredCommands = function () {
	return _in(0x00000000, 0xd4bef069, _r, _ro);
};

/**
 * GET_RELATIONSHIP_BETWEEN_GROUPS
 */
global.GetRelationshipBetweenGroups = function (group1, group2) {
	return _in(0x9e6b7006, 0x1662ae5c, _ch(group1), _ch(group2), _r, _ri);
};

/**
 * GET_RELATIONSHIP_BETWEEN_PEDS
 */
global.GetRelationshipBetweenPeds = function (ped1, ped2) {
	return _in(0xeba5ad3a, 0x0eaf7121, ped1, ped2, _r, _ri);
};

/**
 * GET_RENDERING_CAM
 */
global.GetRenderingCam = function () {
	return _in(0x03a8931e, 0xcc8015d6, _r, _ri);
};

/**
 * Only used in R* Script net_stable_manager
 * ```
 * ```
 * NativeDB Introduced: v1491
 */
global.GetReservedMissionEntitiesForThread = function (threadId) {
	return _in(0x99aac89c, 0x510deb0d, threadId, _i, _i, _i, _i, _i, _i);
};

/**
 * Used in Script Function NET_ACE_CLIENT_VERIFY_ENTITY_RESERVATIONS
 * Coords: Slot world position
 */
global.GetReservedMissionEntitiesInArea = function (x, y, z, p3) {
	return _in(0x5e71e72a, 0x94985214, _fv(x), _fv(y), _fv(z), p3, _i, _i, _i, _i);
};
global.N_0x5e71e72a94985214 = global.GetReservedMissionEntitiesInArea;

/**
 * GET_RESOURCE_BY_FIND_INDEX
 * @param findIndex The index of the resource (starting at 0)
 * @return The resource name as a `string`
 */
global.GetResourceByFindIndex = function (findIndex) {
	return _in(0x00000000, 0x387246b7, findIndex, _r, _s);
};

/**
 * A getter for [SET_RESOURCE_KVP_FLOAT](#\_0x9ADD2938).
 * @param key The key to fetch
 * @return The floating-point value stored under the specified key, or 0.0 if not found.
 */
global.GetResourceKvpFloat = function (key) {
	return _in(0x00000000, 0x35bdceea, _ts(key), _r, _rf);
};

/**
 * A getter for [SET_RESOURCE_KVP_INT](#\_0x6A2B1E8).
 * @param key The key to fetch
 * @return The integer value stored under the specified key, or 0 if not found.
 */
global.GetResourceKvpInt = function (key) {
	return _in(0x00000000, 0x557b586a, _ts(key), _r, _ri);
};

/**
 * A getter for [SET_RESOURCE_KVP](#\_0x21C7A35B).
 * @param key The key to fetch
 * @return The string value stored under the specified key, or nil/null if not found.
 */
global.GetResourceKvpString = function (key) {
	return _in(0x00000000, 0x5240da5a, _ts(key), _r, _s);
};

/**
 * Gets the metadata value at a specified key/index from a resource's manifest.
 * See also: [Resource manifest](https://docs.fivem.net/resources/manifest/)
 * @param resourceName The resource name.
 * @param metadataKey The key in the resource manifest.
 * @param index The value index, in a range from \[0..GET_NUM_RESOURCE_METDATA-1].
 */
global.GetResourceMetadata = function (resourceName, metadataKey, index) {
	return _in(0x00000000, 0x964bab1d, _ts(resourceName), _ts(metadataKey), index, _r, _s);
};

/**
 * Returns the current state of the specified resource.
 * @param resourceName The name of the resource.
 * @return The resource state. One of `"missing", "started", "starting", "stopped", "stopping", "uninitialized" or "unknown"`.
 */
global.GetResourceState = function (resourceName) {
	return _in(0x00000000, 0x4039b485, _ts(resourceName), _r, _s);
};

/**
 * _GET_RIDER_OF_MOUNT
 */
global.GetRiderOfMount = function (mount, p1) {
	return _in(0xb676efda, 0x03dada52, mount, p1, _r, _ri);
};
global.N_0xb676efda03dada52 = global.GetRiderOfMount;

/**
 * Gets the room hash key from the room that the specified entity is in. Each room in every interior has a unique key. Returns 0 if the entity is outside.
 */
global.GetRoomKeyFromEntity = function (entity) {
	return _in(0x076e46e0, 0xeb52afc6, entity, _r, _ri);
};

/**
 * GET_ROPE_LAST_VERTEX_COORD
 */
global.GetRopeLastVertexCoord = function (ropeId) {
	return _in(0x21bb0fbd, 0x3e217c2d, ropeId, _r, _rv);
};

/**
 * GET_ROPE_VERTEX_COORD
 */
global.GetRopeVertexCoord = function (ropeId, vertex) {
	return _in(0xea61ca8e, 0x80f09e4d, ropeId, vertex, _r, _rv);
};

/**
 * GET_ROPE_VERTEX_COUNT
 */
global.GetRopeVertexCount = function (ropeId) {
	return _in(0x3655f544, 0xcd30f0b5, ropeId, _r, _ri);
};

/**
 * This native does no interpolation between pathpoints. The same rotation will be returned for all times up to the next pathpoint in the recording.
 * See REQUEST_VEHICLE_RECORDING
 */
global.GetRotationOfVehicleRecordingAtTime = function (recording, time, script) {
	return _in(0x61787dd2, 0x8b8cc0d5, recording, _fv(time), _ts(script), _r, _rv);
};

/**
 * Returns handles of boat paddles entities.
 */
global.GetRowingOars = function (vehicle) {
	return _in(0xa6e210fb, 0x4283b767, vehicle, _i, _i);
};
global.N_0xa6e210fb4283b767 = global.GetRowingOars;

/**
 * _GET_SADDLE_HORSE_FOR_PLAYER
 */
global.GetSaddleHorseForPlayer = function (player) {
	return _in(0xb48050d3, 0x26e9a2f3, player, _r, _ri);
};
global.N_0xb48050d326e9a2f3 = global.GetSaddleHorseForPlayer;

/**
 * GET_SAFE_COORD_FOR_PED
 */
global.GetSafeCoordForPed = function (x, y, z, onGround, flags) {
	return _in(0xb61c8e87, 0x8a4199ca, _fv(x), _fv(y), _fv(z), onGround, _v, flags, _r);
};

/**
 * GET_SAFE_PICKUP_COORDS
 */
global.GetSafePickupCoords = function (p0, p1, p2, p3, p4, p5) {
	return _in(0x6e16bc25, 0x03ff1ff0, p0, p1, p2, p3, p4, p5, _r, _rv);
};

/**
 * Returns m_eContainerState
 */
global.GetScenarioContainerOpeningState = function (entity) {
	return _in(0xb219612b, 0x5568e9ec, entity, _r, _ri);
};
global.N_0xb219612b5568e9ec = global.GetScenarioContainerOpeningState;

/**
 * Params: p1 is always true in R* Scripts
 */
global.GetScenarioPointCoords = function (scenario, p1) {
	return _in(0xa8452dd3, 0x21607029, scenario, p1, _r, _rv);
};
global.N_0xa8452dd321607029 = global.GetScenarioPointCoords;

/**
 * Note: The current name for this native is the old name of 0x295514F198EFD0CA
 * Old name for this native: _GET_ENTITY_SCENARIO_POINT_IS_ATTACHED_TO
 */
global.GetScenarioPointEntity = function (scenario) {
	return _in(0x7467165e, 0xe97d3c68, scenario, _r, _ri);
};
global.N_0x7467165ee97d3c68 = global.GetScenarioPointEntity;

/**
 * Params: p1 is always true in R* Scripts
 */
global.GetScenarioPointHeading = function (scenario, p1) {
	return _in(0xb93ea718, 0x4baa85c3, scenario, p1, _r, _rf);
};
global.N_0xb93ea7184baa85c3 = global.GetScenarioPointHeading;

/**
 * _GET_SCENARIO_POINT_PED_IS_USING
 */
global.GetScenarioPointPedIsUsing = function (ped, p1) {
	return _in(0xdf799335, 0x6f52359a, ped, p1, _r, _ri);
};
global.N_0xdf7993356f52359a = global.GetScenarioPointPedIsUsing;

/**
 * _GET_SCENARIO_POINT_RADIUS
 */
global.GetScenarioPointRadius = function (scenario) {
	return _in(0x6718f403, 0x13a2b5a6, scenario, _r, _rf);
};
global.N_0x6718f40313a2b5a6 = global.GetScenarioPointRadius;

/**
 * _GET_SCENARIO_POINT_TYPE
 */
global.GetScenarioPointType = function (scenario) {
	return _in(0xa92450b5, 0xae687aaf, scenario, _r, _ri);
};
global.N_0xa92450b5ae687aaf = global.GetScenarioPointType;

/**
 * _GET_SCENARIO_POINT_TYPE_PED_IS_USING
 */
global.GetScenarioPointTypePedIsUsing = function (ped) {
	return _in(0x2d0571bb, 0x55879da2, ped, _r, _ri);
};
global.N_0x2d0571bb55879da2 = global.GetScenarioPointTypePedIsUsing;

/**
 * Note: scenariosInRadius is an array, and its size and values should be aligned to 8 bytes.
 */
global.GetScenarioPointsInArea = function (posX, posY, posZ, radius, size) {
	return _in(0x345ec3b7, 0xebde1cb5, _fv(posX), _fv(posY), _fv(posZ), _fv(radius), _i, size, _r, _ri);
};
global.N_0x345ec3b7ebde1cb5 = global.GetScenarioPointsInArea;

/**
 * GET_SCREEN_COORD_FROM_WORLD_COORD
 */
global.GetScreenCoordFromWorldCoord = function (worldX, worldY, worldZ) {
	return _in(0xcb50d7af, 0xcc8b0ec6, _fv(worldX), _fv(worldY), _fv(worldZ), _f, _f, _r);
};

/**
 * Hardcoded to always set x to 1280 and y to 720.
 */
global.GetScreenResolution = function () {
	return _in(0x66773c92, 0x835d0909, _i, _i);
};

/**
 * _GET_SCRIPT_BRAIN_ENTITY
 */
global.GetScriptBrainEntity = function () {
	return _in(0x6818d1a1, 0x94e29983, _r, _ri);
};
global.N_0x6818d1a194e29983 = global.GetScriptBrainEntity;

/**
 * Returns false if entity is not a ped or object.
 */
global.GetScriptOverrideEntityLootTablePermanent = function (entity, lootTable) {
	return _in(0x1e804ea9, 0xb12030a4, entity, _ii(lootTable) /* may be optional */, _r, _ri);
};
global.N_0x1e804ea9b12030a4 = global.GetScriptOverrideEntityLootTablePermanent;

/**
 * _GET_SCRIPT_TASK_ACTION_TIME
 */
global.GetScriptTaskActionTime = function (ped, task) {
	return _in(0xa710dc5d, 0x25f8b942, ped, _ch(task), _r, _rf);
};
global.N_0xa710dc5d25f8b942 = global.GetScriptTaskActionTime;

/**
 * Gets the status of a script-assigned task, and returns an int between 0-8
 * taskHash: https://alloc8or.re/rdr3/doc/enums/eScriptTaskHash.txt
 * WAITING_TO_START_TASK = 0,
 * PERFORMING_TASK
 * DORMANT_TASK
 * VACANT_STAGE
 * GROUP_TASK_STAGE
 * ATTRACTOR_SCRIPT_TASK_STAGE
 * SECONDARY_TASK_STAGE
 * TASK_NOT_FOUND
 * FINISHED_TASK
 */
global.GetScriptTaskStatus = function (ped, taskHash, p2) {
	return _in(0x77f1beb8, 0x863288d5, ped, _ch(taskHash), p2, _r, _ri);
};

/**
 * GET_SCRIPT_TIME_WITHIN_FRAME_IN_MICROSECONDS
 */
global.GetScriptTimeWithinFrameInMicroseconds = function () {
	return _in(0x63219768, 0xc586667c, _r, _ri);
};
global.GetScriptTimeWithinFrameInMicroseconds = global.GetScriptTimeWithinFrameInMicroseconds;

/**
 * GET_SCRIPTED_COVER_POINT_COORDS
 */
global.GetScriptedCoverPointCoords = function (coverpoint) {
	return _in(0x594a1028, 0xfc2a3e85, coverpoint, _r, _rv);
};

/**
 * GET_SEAT_PED_IS_TRYING_TO_ENTER
 */
global.GetSeatPedIsTryingToEnter = function (ped) {
	return _in(0x6f4c85ac, 0xd641bcd2, ped, _r, _ri);
};

/**
 * GET_SEAT_PED_IS_USING
 */
global.GetSeatPedIsUsing = function (ped) {
	return _in(0x4e76cb57, 0x222a00e5, ped, _r, _ri);
};
global.N_0x4e76cb57222a00e5 = global.GetSeatPedIsUsing;

/**
 * Base year is 1898.
 */
global.GetSecondsSinceBaseYear = function () {
	return _in(0x78fd8be8, 0x12e436b2, _r, _ri);
};

/**
 * returned values:
 * 0 to 7 = task that's currently in progress, 0 meaning the first one.
 * -1 no task sequence in progress.
 */
global.GetSequenceProgress = function (ped) {
	return _in(0x00a9010c, 0xfe1e3533, ped, _r, _ri);
};

/**
 * Returns the result of a shape test: 0 if the handle is invalid, 1 if the shape test is still pending, or 2 if the shape test has completed, and the handle should be invalidated.
 * When used with an asynchronous shape test, this native should be looped until returning 0 or 2, after which the handle is invalidated.
 * enum eShapeTestStatus
 * {
 * SHAPETEST_STATUS_NONEXISTENT,
 * SHAPETEST_STATUS_RESULTS_NOTREADY,
 * SHAPETEST_STATUS_RESULTS_READY
 * };
 */
global.GetShapeTestResult = function (shapeTestHandle) {
	return _in(0xede8ac7c, 0x5108fb1d, shapeTestHandle, _i /* actually bool */, _v, _v, _i, _r, _ri);
};

/**
 * Returns the result of a shape test, also returning the material of any touched surface.
 * When used with an asynchronous shape test, this native should be looped until returning 0 or 2, after which the handle is invalidated.
 * Unless the return value is 2, the other return values are undefined.
 * @param shapeTestHandle A shape test handle.
 * @param hit Whether or not the shape test hit any collisions.
 * @param endCoords The resulting coordinates where the shape test hit a collision.
 * @param surfaceNormal The surface normal of the hit position.
 * @param materialHash hash of the hit material or surface type, see materialFX.dat
 * @param entityHit Any dynamic entity hit by the shape test.
 * @return `0` if the handle is invalid, `1` if the shape test is still pending, or `2` if the shape test has completed, and the handle should be invalidated.
 */
global.GetShapeTestResultIncludingMaterial = function (shapeTestHandle) {
	return _in(0x00000000, 0x4301e10c, shapeTestHandle, _i /* actually bool */, _v, _v, _i, _i, _r, _ri);
};

/**
 * _GET_SHOP_ITEM_BASE_LAYERS
 */
global.GetShopItemBaseLayers = function (shopItem, p1, ped, metapedType, p4) {
	return _in(0x63342c50, 0xec115ce8, _ch(shopItem), p1, ped, metapedType, p4, _i, _i, _i, _i, _i, _i, _i, _i, _r);
};
global.N_0x63342c50ec115ce8 = global.GetShopItemBaseLayers;
global.GetShopPedBaseLayers = global.GetShopItemBaseLayers;

/**
 * _GET_SHOP_ITEM_COMPONENT_AT_INDEX
 */
global.GetShopItemComponentAtIndex = function (ped, index, p2) {
	return _in(0x77ba3762, 0x2e22023b, ped, index, p2, _i, _i, _r, _ri);
};
global.N_0x77ba37622e22023b = global.GetShopItemComponentAtIndex;
global.GetShopPedComponentAtIndex = global.GetShopItemComponentAtIndex;

/**
 * _GET_SHOP_ITEM_COMPONENT_CATEGORY
 */
global.GetShopItemComponentCategory = function (componentHash, metapedType, isMP) {
	return _in(0x5ff9a878, 0xc3d115b8, _ch(componentHash), metapedType, isMP, _r, _ri);
};
global.N_0x5ff9a878c3d115b8 = global.GetShopItemComponentCategory;
global.GetShopPedComponentCategory = global.GetShopItemComponentCategory;

/**
 * _GET_SHOP_ITEM_HAT_COMPONENT
 */
global.GetShopItemHatComponent = function (ped, metapedType, p2) {
	return _in(0x7e02e421, 0x8d916b94, ped, metapedType, p2, _r, _ri);
};
global.N_0x7e02e4218d916b94 = global.GetShopItemHatComponent;
global.GetShopPedHatComponent = global.GetShopItemHatComponent;

/**
 * Returns the number of wearable states available for a shop item / component. p2 seems to be true in scripts.
 * For use with 0x6243635AF2F1B826 (_GET_SHOP_ITEM_AVAILABLE_WEARABLE_STATE_BY_INDEX)
 */
global.GetShopItemNumWearableStates = function (componentHash, isMpFemale, p2) {
	return _in(0xffcc2db2, 0xd9953401, _ch(componentHash), isMpFemale, p2, _r, _ri);
};
global.N_0xffcc2db2d9953401 = global.GetShopItemNumWearableStates;

/**
 * Gets an available wearable state by index for a shop item / component - it does not retreive what the current state is. p3 seems to be true in scripts.
 * Use 0xFFCC2DB2D9953401 (_GET_SHOP_ITEM_NUM_WEARABLE_STATES) to get the number of available wearable states
 */
global.GetShopItemWearableStateByIndex = function (componentHash, wearableStateIndex, isMpFemale, p3) {
	return _in(0x6243635a, 0xf2f1b826, _ch(componentHash), wearableStateIndex, isMpFemale, p3, _r, _ri);
};
global.N_0x6243635af2f1b826 = global.GetShopItemWearableStateByIndex;

/**
 * GET_SNOW_LEVEL
 */
global.GetSnowLevel = function () {
	return _in(0x1e5d7270, 0x41be1709, _r, _rf);
};

/**
 * _GET_SOCIAL_MATCHMAKING_ALLOWED
 */
global.GetSocialMatchmakingAllowed = function () {
	return _in(0xd0541ef2, 0x8e9c4783, _r, _ri);
};
global.N_0xd0541ef28e9c4783 = global.GetSocialMatchmakingAllowed;

/**
 * GET_SOUND_ID
 */
global.GetSoundId = function () {
	return _in(0x430386fe, 0x9bf80b45, _r, _ri);
};

/**
 * _GET_SPAWN_DATA_FOR_ROAD_NODE
 */
global.GetSpawnDataForRoadNode = function (nodeId, x, y, z) {
	return _in(0xa3791b91, 0x5b8b84c6, nodeId, _fv(x), _fv(y), _fv(z), _v, _f);
};
global.N_0xa3791b915b8b84c6 = global.GetSpawnDataForRoadNode;

/**
 * _GET_SPECIAL_EDITION_CASH_CAMP_BONUS_ENABLED
 */
global.GetSpecialEditionCashCampBonusEnabled = function () {
	return _in(0x1db9d61e, 0x505ae3fc, _r, _ri);
};
global.N_0x1db9d61e505ae3fc = global.GetSpecialEditionCashCampBonusEnabled;

/**
 * _GET_SPECIAL_EDITION_CORE_STATS_BONUS_ENABLED
 */
global.GetSpecialEditionCoreStatsBonusEnabled = function () {
	return _in(0xa16b4fba, 0x7887d7ba, _r, _ri);
};
global.N_0xa16b4fba7887d7ba = global.GetSpecialEditionCoreStatsBonusEnabled;

/**
 * GET_SPECIES_TUNING_FLOAT_PARAM
 */
global.GetSpeciesTuningFloatParam = function (p0, p1, p2) {
	return _in(0xe1084896, 0x21422f91, _ch(p0), p1, p2, _r, _rf);
};

/**
 * _GET_STAMINA_DEPLETION_MULTIPLIER
 */
global.GetStaminaDepletionMultiplier = function (ped) {
	return _in(0x825f6dd5, 0x59a0895b, ped, _r, _rf);
};
global.N_0x825f6dd559a0895b = global.GetStaminaDepletionMultiplier;

/**
 * _GET_STAMINA_RECHARGE_MULTIPLIER
 */
global.GetStaminaRechargeMultiplier = function (ped) {
	return _in(0xe7687eb2, 0xf634abf0, ped, _r, _rf);
};
global.N_0xe7687eb2f634abf0 = global.GetStaminaRechargeMultiplier;

/**
 * GET_STATE_BAG_KEYS
 * @param bagName The name of the bag.
 * @return Returns an array containing all keys for which the state bag has associated values.
 */
global.GetStateBagKeys = function (bagName) {
	return _in(0x00000000, 0x78d864c7, _ts(bagName), _r, _ro);
};

/**
 * Returns the value of a state bag key.
 * @return Value.
 */
global.GetStateBagValue = function (bagName, key) {
	return _in(0x00000000, 0x637f4c75, _ts(bagName), _ts(key), _r, _ro);
};

/**
 * GET_STATE_OF_RAYFIRE_MAP_OBJECT
 */
global.GetStateOfRayfireMapObject = function (object) {
	return _in(0x899ba936, 0x634a322e, object, _r, _ri);
};

/**
 * Returns Coords of vStation
 * p0 - NET_TRAIN_MANAGER_GET_TRAIN_STATION_DATA
 * _GET_P* - _GET_T*
 */
global.GetStationCoordsFromTrainStationData = function (trackIndex, stationIndex) {
	return _in(0xba958f68, 0x031ddbfc, trackIndex, stationIndex, _r, _rv);
};
global.N_0xba958f68031ddbfc = global.GetStationCoordsFromTrainStationData;
global.GetStationCoorsFromTrainStationData = global.GetStationCoordsFromTrainStationData;

/**
 * GET_STATUS_OF_CREATE_LOW_QUALITY_COPY_OF_PHOTO
 */
global.GetStatusOfCreateLowQualityCopyOfPhoto = function (p0) {
	return _in(0x13430d3d, 0x5a45f14b, p0, _r, _ri);
};
global.N_0x13430d3d5a45f14b = global.GetStatusOfCreateLowQualityCopyOfPhoto;

/**
 * contentId: returned by NETWORK::_UGC_QUERY_GET_CREATOR_PHOTO(uVar0, 0, sParam3)
 */
global.GetStatusOfLoadMissionCreatorPhoto = function (contentId) {
	return _in(0xc71b50ae, 0x58d07369, _ts(contentId), _r, _ri);
};
global.N_0xc71b50ae58d07369 = global.GetStatusOfLoadMissionCreatorPhoto;

/**
 * 0 = succeeded
 * 1 = getting status
 * 2 = failed
 */
global.GetStatusOfSaveHighQualityPhoto = function () {
	return _in(0xd6663ec3, 0x74092383, _r, _ri);
};
global.N_0xd6663ec374092383 = global.GetStatusOfSaveHighQualityPhoto;

/**
 * Only 0 and 1 are valid for p0, higher values causes the native to return 2.
 */
global.GetStatusOfSavegameOperation = function (p0) {
	return _in(0x1b065a2b, 0xf7953815, p0, _r, _ri);
};
global.N_0x1b065a2bf7953815 = global.GetStatusOfSavegameOperation;

/**
 * 0 = succeeded
 * 1 = getting status
 * 2 = failed
 */
global.GetStatusOfSortedListOperation = function () {
	return _in(0xb28894cd, 0x7408bd0c, _r, _ri);
};
global.N_0xb28894cd7408bd0c = global.GetStatusOfSortedListOperation;

/**
 * GET_STATUS_OF_TAKE_HIGH_QUALITY_PHOTO
 */
global.GetStatusOfTakeHighQualityPhoto = function () {
	return _in(0x4a3da74c, 0x3ccb1725, _r, _ri);
};
global.N_0x4a3da74c3ccb1725 = global.GetStatusOfTakeHighQualityPhoto;

/**
 * 0 = succeeded
 * 1 = pending
 * 2 = failed
 */
global.GetStatusOfTextureDownload = function (textureDownloadId) {
	return _in(0x8bd6c6de, 0xa20e82c6, textureDownloadId, _r, _ri);
};
global.GetStatusOfTextureDownload = global.GetStatusOfTextureDownload;

/**
 * _GET_STRING_FROM_BOOL
 */
global.GetStringFromBool = function (value) {
	return _in(0xf216f741, 0x01968db0, value, _r, _s);
};
global.N_0xf216f74101968db0 = global.GetStringFromBool;

/**
 * _GET_STRING_FROM_FLOAT
 */
global.GetStringFromFloat = function (value, digits) {
	return _in(0x2b684640, 0x1d68e563, _fv(value), digits, _r, _s);
};
global.N_0x2b6846401d68e563 = global.GetStringFromFloat;

/**
 * Returns the label text given the hash.
 */
global.GetStringFromHashKey = function (labelHash) {
	return _in(0xbd5dd5ea, 0xe2b6ce14, _ch(labelHash), _r, _s);
};
global.GetLabelTextByHash = global.GetStringFromHashKey;

/**
 * _GET_STRING_FROM_VECTOR
 */
global.GetStringFromVector = function (x, y, z) {
	return _in(0x6c4dbf55, 0x3885f9eb, _fv(x), _fv(y), _fv(z), _r, _s);
};
global.N_0x6c4dbf553885f9eb = global.GetStringFromVector;

/**
 * GET_SYSTEM_TIME
 */
global.GetSystemTime = function () {
	return _in(0xbe7f2254, 0x17e35a7c, _r, _ri);
};
global.GetSystemTime = global.GetSystemTime;

/**
 * GET_SYSTEM_TIME_STEP
 */
global.GetSystemTimeStep = function () {
	return _in(0x3f3172fe, 0xae3afe1c, _r, _rf);
};
global.GetBenchmarkTime = global.GetSystemTimeStep;

/**
 * GET_TARGET_CHARACTER_NAME_FOR_LOCAL_PLAYER
 */
global.GetTargetCharacterNameForLocalPlayer = function (ped) {
	return _in(0x36e3d8b5, 0xa6552fe8, ped, _r, _ri);
};
global.N_0x36e3d8b5a6552fe8 = global.GetTargetCharacterNameForLocalPlayer;

/**
 * GET_TARGET_CHARACTER_NAME_SCRIPT_OVERRIDE_HASH
 */
global.GetTargetCharacterNameScriptOverrideHash = function (ped) {
	return _in(0x0335106f, 0x3acabbed, ped, _r, _ri);
};
global.N_0x0335106f3acabbed = global.GetTargetCharacterNameScriptOverrideHash;

/**
 * GET_TARGET_CHARACTER_NAME_SCRIPT_OVERRIDE_RAW_STRING
 */
global.GetTargetCharacterNameScriptOverrideRawString = function (ped) {
	return _in(0x755e0868, 0x0f21ef30, ped, _r, _s);
};
global.N_0x755e08680f21ef30 = global.GetTargetCharacterNameScriptOverrideRawString;

/**
 * Fishing Research: https://pastebin.com/NmK5ZLVs
 * Only used in R* Scripts fishing_core and av_fishing_river
 */
global.GetTaskFishing = function (ped, p1) {
	return _in(0xf3735acd, 0x11acd500, ped, _ii(p1) /* may be optional */, _r, _ri);
};
global.N_0xf3735acd11acd500 = global.GetTaskFishing;

/**
 * GET_TASK_MOVE_NETWORK_EVENT
 */
global.GetTaskMoveNetworkEvent = function (ped, eventName) {
	return _in(0xb4f47213, 0xdf45a64c, ped, _ts(eventName), _r);
};

/**
 * Returns hash of the underlying move network def, see move_networks.xml
 * https://alloc8or.re/rdr3/doc/misc/move_networks.txt
 */
global.GetTaskMoveNetworkId = function (ped) {
	return _in(0xcacc2f9d, 0x994504b7, ped, _r, _ri);
};
global.N_0xcacc2f9d994504b7 = global.GetTaskMoveNetworkId;

/**
 * _GET_TASK_MOVE_NETWORK_PHASE_FLOAT
 */
global.GetTaskMoveNetworkPhaseFloat = function (ped, phaseName) {
	return _in(0x844ceee4, 0x28ea35b0, ped, _ts(phaseName), _r, _rf);
};
global.N_0x844ceee428ea35b0 = global.GetTaskMoveNetworkPhaseFloat;

/**
 * GET_TASK_MOVE_NETWORK_STATE
 */
global.GetTaskMoveNetworkState = function (ped) {
	return _in(0x717e4d1f, 0x2048376d, ped, _r, _s);
};

/**
 * _GET_TEMP_PLAYER_HORSE
 */
global.GetTempPlayerHorse = function (player) {
	return _in(0xd3f7445c, 0xea2e5035, player, _r, _ri);
};
global.N_0xd3f7445cea2e5035 = global.GetTempPlayerHorse;

/**
 * _GET_TEMPERATURE_AT_COORDS
 */
global.GetTemperatureAtCoords = function (x, y, z) {
	return _in(0xb98b78c3, 0x768af6e0, _fv(x), _fv(y), _fv(z), _r, _rf);
};

/**
 * Similar to 0x9D7E12EC6A1EE4E5(GET_TEXT_SUBSTRING) but starts at the beginning of the string
 */
global.GetTextSubstring_2 = function (text, length) {
	return _in(0xd8402b85, 0x8f4ddd88, _ts(text), length, _r, _s);
};
global.N_0xd8402b858f4ddd88 = global.GetTextSubstring_2;

/**
 * GET_THREAD_EXISTENCE_DETAILS
 */
global.GetThreadExistenceDetails = function (threadId) {
	return _in(0xd92fa81b, 0x64920e85, threadId, _i /* actually bool */, _i /* actually bool */);
};
global.N_0xd92fa81b64920e85 = global.GetThreadExistenceDetails;

/**
 * enum eThreadExitReason
 * {
 * THREAD_EXIT_REASON_NONE,
 * THREAD_EXIT_REASON_BACKGROUND_THREAD_STOPPED,
 * THREAD_EXIT_REASON_SESSION_MERGE,
 * THREAD_EXIT_REASON_SCENARIO_OUT_OF_SCOPE,
 * THREAD_EXIT_REASON_REQUESTED_BY_SCRIPT
 * };
 */
global.GetThreadExitReason = function () {
	return _in(0x54ae4fde, 0xefeab77e, _r, _ri);
};
global.N_0x54ae4fdeefeab77e = global.GetThreadExitReason;

/**
 * Subtracts the second argument from the first.
 */
global.GetTimeDifference = function (timeA, timeB) {
	return _in(0xa2c6fc03, 0x1d46fff0, timeA, timeB, _r, _ri);
};

/**
 * Adds the first argument to the second.
 */
global.GetTimeOffset = function (timeA, timeB) {
	return _in(0x017008cc, 0xdad48503, timeA, timeB, _r, _ri);
};

/**
 * GET_TIME_POSITION_IN_RECORDING
 */
global.GetTimePositionInRecording = function (vehicle) {
	return _in(0x233b51c7, 0x913fa031, vehicle, _r, _rf);
};

/**
 * Returns the amount of time (probably in game minutes) since last seen by the law / left the wanted radius
 */
global.GetTimeSinceLastSeenByLaw = function (player) {
	return _in(0x717da228, 0x1df90855, player, _r, _rf);
};
global.N_0x717da2281df90855 = global.GetTimeSinceLastSeenByLaw;

/**
 * GET_TIMECYCLE_MODIFIER_COUNT
 * @return Returns the amount of timecycle modifiers loaded.
 */
global.GetTimecycleModifierCount = function () {
	return _in(0x00000000, 0xfe2a1d4d, _r, _ri);
};

/**
 * GET_TIMECYCLE_MODIFIER_INDEX
 */
global.GetTimecycleModifierIndex = function () {
	return _in(0xa7053942, 0x93e2b3d3, _r, _ri);
};

/**
 * GET_TIMECYCLE_MODIFIER_INDEX_BY_NAME
 * @param modifierName The timecycle modifier name.
 * @return The timecycle modifier index.
 */
global.GetTimecycleModifierIndexByName = function (modifierName) {
	return _in(0x00000000, 0x5f4cd0e2, _ts(modifierName), _r, _ri);
};

/**
 * GET_TIMECYCLE_MODIFIER_NAME_BY_INDEX
 * @param modifierIndex The timecycle modifier index.
 * @return The timecycle modifier name.
 */
global.GetTimecycleModifierNameByIndex = function (modifierIndex) {
	return _in(0x00000000, 0x28cb8608, modifierIndex, _r, _s);
};

/**
 * A getter for [SET_TIMECYCLE_MODIFIER_STRENGTH](#\_0x82E7FFCD5B2326B3).
 * @return Returns current timecycle modifier strength.
 */
global.GetTimecycleModifierStrength = function () {
	return _in(0x00000000, 0xbe54124a, _r, _rf);
};

/**
 * GET_TIMECYCLE_MODIFIER_VAR
 * @param modifierName The name of timecycle modifier.
 * @param varName The name of timecycle variable.
 * @return Whether or not variable by name was found on the specified timecycle modifier.
 */
global.GetTimecycleModifierVar = function (modifierName, varName) {
	return _in(0x00000000, 0xa7109e12, _ts(modifierName), _ts(varName), _f, _f, _r);
};

/**
 * GET_TIMECYCLE_MODIFIER_VAR_COUNT
 * @param modifierName The timecycle modifier name.
 * @return The amount of variables used on a specified timecycle modifier.
 */
global.GetTimecycleModifierVarCount = function (modifierName) {
	return _in(0x00000000, 0x60fb60fe, _ts(modifierName), _r, _ri);
};

/**
 * GET_TIMECYCLE_MODIFIER_VAR_NAME_BY_INDEX
 * @param modifierName The name of timecycle modifier.
 * @param modifierVarIndex The index of a variable on the specified timecycle modifier.
 * @return The name of a variable by index.
 */
global.GetTimecycleModifierVarNameByIndex = function (modifierName, modifierVarIndex) {
	return _in(0x00000000, 0xe874ab1d, _ts(modifierName), modifierVarIndex, _r, _s);
};

/**
 * GET_TIMECYCLE_TRANSITION_MODIFIER_INDEX
 */
global.GetTimecycleTransitionModifierIndex = function () {
	return _in(0x2da67ba3, 0xc8a6755d, _r, _ri);
};

/**
 * Returns the amount of variables available to be applied on timecycle modifiers.
 * @return The amount of available variables for timecycle modifiers.
 */
global.GetTimecycleVarCount = function () {
	return _in(0x00000000, 0x838b34d8, _r, _ri);
};

/**
 * See [GET_TIMECYCLE_VAR_COUNT](#\_0x838B34D8).
 * @param varIndex The index of variable.
 * @return The default value of a timecycle variable.
 */
global.GetTimecycleVarDefaultValueByIndex = function (varIndex) {
	return _in(0x00000000, 0x03b90238, varIndex, _r, _rf);
};

/**
 * See [GET_TIMECYCLE_VAR_COUNT](#\_0x838B34D8).
 * @param varIndex The index of variable.
 * @return The name of a timecycle variable.
 */
global.GetTimecycleVarNameByIndex = function (varIndex) {
	return _in(0x00000000, 0xc6c55aaf, varIndex, _r, _s);
};

/**
 * GET_TOGGLE_PAUSED_RENDERPHASES_STATUS
 */
global.GetTogglePausedRenderphasesStatus = function () {
	return _in(0x86ed21bd, 0xb2791ce8, _r);
};

/**
 * _GET_WA*
 */
global.GetTotalPedDamageFromAi = function (ped) {
	return _in(0x92c8eaca, 0x29f6bed6, ped, _r, _rf);
};
global.N_0x92c8eaca29f6bed6 = global.GetTotalPedDamageFromAi;

/**
 * Returns trackIndex
 * _E* - _F*
 */
global.GetTrackIndexFromCoords = function (x, y, z) {
	return _in(0x85d39f5e, 0x3b6d7eb0, _fv(x), _fv(y), _fv(z), _r, _ri);
};
global.N_0x85d39f5e3b6d7eb0 = global.GetTrackIndexFromCoords;

/**
 * GET_TRACK_INDEX_OF_TRAIN
 */
global.GetTrackIndexOfTrain = function (train) {
	return _in(0x865fec2f, 0xa899f29c, train, _r, _ri);
};
global.N_0x865fec2fa899f29c = global.GetTrackIndexOfTrain;

/**
 * GET_TRACKED_PED_PIXELCOUNT
 */
global.GetTrackedPedPixelcount = function (ped) {
	return _in(0x511f1a68, 0x3387c7e2, ped, _r, _ri);
};
global.N_0x511f1a683387c7e2 = global.GetTrackedPedPixelcount;

/**
 * Returns train car, use GET_TRAIN_CARRIAGE when trailerNumber is bigger than 0
 */
global.GetTrainCar = function (train) {
	return _in(0x671a07c9, 0xa1cd50a5, train, _r, _ri);
};
global.N_0x671a07c9a1cd50a5 = global.GetTrainCar;

/**
 * GET_TRAIN_CARRIAGE
 */
global.GetTrainCarriage = function (train, trailerNumber) {
	return _in(0xd0fb093a, 0x4cdb932c, train, trailerNumber, _r, _ri);
};

/**
 * Example before/after deleting a train carriage's propset: https://imgur.com/a/qRNrIrK
 */
global.GetTrainCarriagePropSet = function (trainCarriage) {
	return _in(0xcfc0bd09, 0xbb1b73ff, trainCarriage, _r, _ri);
};
global.N_0xcfc0bd09bb1b73ff = global.GetTrainCarriagePropSet;

/**
 * Returns iNumCars - to be used with GET_TRAIN_CARRIAGE (trailerNumber)
 * _C* (O, P, Q, R)
 */
global.GetTrainCarriageTrailerNumber = function (train) {
	return _in(0x60b7d1dc, 0xc312697d, train, _r, _ri);
};
global.N_0x60b7d1dcc312697d = global.GetTrainCarriageTrailerNumber;

/**
 * _GET_TRAIN_DIRECTION
 */
global.GetTrainDirection = function (train) {
	return _in(0x3c9628a8, 0x11cbd724, train, _r, _ri);
};
global.N_0x3c9628a811cbd724 = global.GetTrainDirection;

/**
 * https://i.imgur.com/1rHibjW.jpg
 */
global.GetTrainDirectionFromIndex = function (trackIndex) {
	return _in(0x67995318, 0xf5faa496, trackIndex, _r, _ri);
};
global.N_0x67995318f5faa496 = global.GetTrainDirectionFromIndex;

/**
 * Returns modelHash
 */
global.GetTrainModelFromTrainConfigByCarIndex = function (trainConfig, trainCarIndex) {
	return _in(0x8df5f6a1, 0x9f99f0d5, _ch(trainConfig), trainCarIndex, _r, _ri);
};
global.N_0x8df5f6a19f99f0d5 = global.GetTrainModelFromTrainConfigByCarIndex;

/**
 * _GET_TRAIN_POSITION_ON_TRACK
 */
global.GetTrainPositionOnTrack = function (trackIndex) {
	return _in(0x1e8a9211, 0x12891651, trackIndex, _r, _rv);
};
global.N_0x1e8a921112891651 = global.GetTrainPositionOnTrack;

/**
 * Returns trackIndex
 */
global.GetTrainTrackFromTrainVehicle = function (train) {
	return _in(0x45853f4e, 0x17d847d5, train, _r, _ri);
};
global.N_0x45853f4e17d847d5 = global.GetTrainTrackFromTrainVehicle;

/**
 * Outputs junctionIndex, to be used with 0xE6C5E2125EB210C1
 */
global.GetTrainTrackJunctionAtCoords = function (trainTrack, x, y, z, junctionIndex) {
	return _in(0x86afc343, 0xcf7f0b34, _ch(trainTrack), _fv(x), _fv(y), _fv(z), _ii(junctionIndex) /* may be optional */, _r, _ri);
};
global.N_0x86afc343cf7f0b34 = global.GetTrainTrackJunctionAtCoords;

/**
 * Returns train
 */
global.GetTrainVehicleFromTrackIndex = function (trackIndex) {
	return _in(0x6e585a61, 0x6abb8401, trackIndex, _r, _ri);
};
global.N_0x6e585a616abb8401 = global.GetTrainVehicleFromTrackIndex;

/**
 * flagId: see SET_TRANSPORT_CONFIG_FLAG
 */
global.GetTransportConfigFlag = function (transportEntity, flagId, p2) {
	return _in(0xf382c92c, 0xcc1ccdbc, transportEntity, flagId, p2, _r, _ri);
};
global.N_0xf382c92ccc1ccdbc = global.GetTransportConfigFlag;

/**
 * _GET_TRANSPORT_PED_IS_SEATED_ON
 */
global.GetTransportPedIsSeatedOn = function (ped) {
	return _in(0x849bd6c6, 0x314793d0, ped, _r, _ri);
};
global.N_0x849bd6c6314793d0 = global.GetTransportPedIsSeatedOn;

/**
 * See _SET_TRANSPORT_USAGE_FLAGS
 */
global.GetTransportUsageFlags = function (transportEntity, flags) {
	return _in(0xe195c5a8, 0x2156321d, transportEntity, _ii(flags) /* may be optional */, _r, _ri);
};
global.N_0xe195c5a82156321d = global.GetTransportUsageFlags;

/**
 * GET_TV_CHANNEL
 */
global.GetTvChannel = function () {
	return _in(0xf90fbfd6, 0x8f3c59ae, _r, _ri);
};

/**
 * _GET_UIAPP_CURRENT_ACTIVITY_BY_HASH
 */
global.GetUiappCurrentActivityByHash = function (appNameHash) {
	return _in(0x96fd694f, 0xe5be55dc, _ch(appNameHash), _r, _ri);
};
global.N_0x96fd694fe5be55dc = global.GetUiappCurrentActivityByHash;

/**
 * GET_UNIQUE_INT_FOR_PLAYER
 */
global.GetUniqueIntForPlayer = function (player) {
	return _in(0x07f72340, 0x1b9d921c, player, _r, _ri);
};

/**
 * Seems related to vehicle health, like the one in IV.
 * Max 1000, min 0.
 * Vehicle does not necessarily explode or become undrivable at 0.
 */
global.GetVehicleBodyHealth = function (vehicle) {
	return _in(0x42113b85, 0x7e33c16e, vehicle, _r, _rf);
};

/**
 * GET_VEHICLE_DOOR_LOCK_STATUS
 */
global.GetVehicleDoorLockStatus = function (vehicle) {
	return _in(0xc867fd14, 0x4f2469d3, vehicle, _r, _ri);
};

/**
 * GET_VEHICLE_DOORS_LOCKED_FOR_PLAYER
 */
global.GetVehicleDoorsLockedForPlayer = function (vehicle, player) {
	return _in(0xfa2cddfe, 0xb8bc898b, vehicle, player, _r);
};

/**
 * _GET_VEHICLE_DOORS_LOCKED_FOR_TEAM
 */
global.GetVehicleDoorsLockedForTeam = function (vehicle, team) {
	return _in(0xdd1e1393, 0xd966d39a, vehicle, team, _r, _ri);
};
global.N_0xdd1e1393d966d39a = global.GetVehicleDoorsLockedForTeam;

/**
 * _GET_VEHICLE_DRAFT_HORSE_IS_ATTACHED_TO
 */
global.GetVehicleDraftHorseIsAttachedTo = function (horse) {
	return _in(0xe4770da1, 0xb8ff4fd1, horse, _r, _ri);
};
global.N_0xe4770da1b8ff4fd1 = global.GetVehicleDraftHorseIsAttachedTo;

/**
 * Returns 1000.0 if the function is unable to get the address of the specified vehicle or if it's not a vehicle.
 * Minimum: -4000
 * Maximum: 1000
 * -4000: Engine is destroyed
 * 0 and below: Engine catches fire and health rapidly declines
 * 300: Engine is smoking and losing functionality
 * 1000: Engine is perfect
 */
global.GetVehicleEngineHealth = function (vehicle) {
	return _in(0x90dbffac, 0x43b22081, vehicle, _r, _rf);
};

/**
 * GET_VEHICLE_ESTIMATED_MAX_SPEED
 */
global.GetVehicleEstimatedMaxSpeed = function (vehicle) {
	return _in(0xfe52f344, 0x91529f0b, vehicle, _r, _rf);
};

/**
 * _GET_VEHICLE_FROM_INDEXED_ITEM
 */
global.GetVehicleFromIndexedItem = function (item) {
	return _in(0xe578c8ae, 0x173719b3, item, _r, _ri);
};
global.N_0xe578c8ae173719b3 = global.GetVehicleFromIndexedItem;

/**
 * Simply returns whatever is passed to it (Regardless of whether the handle is valid or not).
 */
global.GetVehicleIndexFromEntityIndex = function (entity) {
	return _in(0xdf1e5aac, 0x561afc59, entity, _r, _ri);
};

/**
 * _GET_VEHICLE_IS_PROP_SET_APPLIED
 */
global.GetVehicleIsPropSetApplied = function (vehicle) {
	return _in(0xd798df5d, 0xb67b1659, vehicle, _r, _ri);
};
global.N_0xd798df5db67b1659 = global.GetVehicleIsPropSetApplied;

/**
 * Returns PropSet handle to be used with _GET_PROP_SET_MODEL
 */
global.GetVehicleLightPropSet = function (vehicle) {
	return _in(0xa079300a, 0xf757fb1a, vehicle, _r, _ri);
};
global.N_0xa079300af757fb1a = global.GetVehicleLightPropSet;

/**
 * _GET_VEHICLE_LIVERY
 */
global.GetVehicleLivery = function (vehicle) {
	return _in(0xbb765b8f, 0xd49a796c, vehicle, _r, _ri);
};
global.N_0xbb765b8fd49a796c = global.GetVehicleLivery;

/**
 * GET_VEHICLE_MAX_NUMBER_OF_PASSENGERS
 */
global.GetVehicleMaxNumberOfPassengers = function (vehicle) {
	return _in(0xa9c55f1c, 0x15e62e06, vehicle, _r, _ri);
};

/**
 * GET_VEHICLE_MODEL_NUMBER_OF_SEATS
 */
global.GetVehicleModelNumberOfSeats = function (modelHash) {
	return _in(0x9a578736, 0xff3a17c3, _ch(modelHash), _r, _ri);
};

/**
 * GET_VEHICLE_NODE_IS_SWITCHED_OFF
 */
global.GetVehicleNodeIsSwitchedOff = function (nodeID) {
	return _in(0x28533dbd, 0xdf7c2c97, nodeID, _r);
};

/**
 * GET_VEHICLE_NODE_POSITION
 */
global.GetVehicleNodePosition = function (nodeId, outPosition) {
	return _in(0x8e8d72ff, 0x24dee1fb, nodeId, _v);
};

/**
 * Gets the number of passengers, NOT including the driver. Use IS_VEHICLE_SEAT_FREE(Vehicle, -1) to also check for the driver
 */
global.GetVehicleNumberOfPassengers = function (vehicle) {
	return _in(0x59f3f165, 0x77cd79b2, vehicle, _r, _ri);
};

/**
 * _GET_VEHICLE_OWNED_BY_PLAYER
 */
global.GetVehicleOwnedByPlayer = function (player) {
	return _in(0xb9050a97, 0x594c8832, player, _r, _ri);
};
global.N_0xb9050a97594c8832 = global.GetVehicleOwnedByPlayer;

/**
 * _GET_VEHICLE_OWNER
 */
global.GetVehicleOwner = function (vehicle) {
	return _in(0xb7296793, 0x56a889ae, vehicle, _r, _ri);
};
global.N_0xb729679356a889ae = global.GetVehicleOwner;

/**
 * GET_VEHICLE_PED_IS_ENTERING
 */
global.GetVehiclePedIsEntering = function (ped) {
	return _in(0xf92691ae, 0xd837a5fc, ped, _r, _ri);
};

/**
 * Gets the vehicle the specified Ped is in.
 * If the Ped is not in a vehicle and includeLastVehicle is true, the vehicle they were last in is returned.
 */
global.GetVehiclePedIsIn = function (ped, lastVehicle) {
	return _in(0x9a9112a0, 0xfe9a4713, ped, lastVehicle, _r, _ri);
};

/**
 * GET_VEHICLE_PED_IS_USING
 */
global.GetVehiclePedIsUsing = function (ped) {
	return _in(0x6094ad01, 0x1a2ea87d, ped, _r, _ri);
};

/**
 * 1000 is max health
 */
global.GetVehiclePetrolTankHealth = function (vehicle) {
	return _in(0x1e5a9b35, 0x6d5098be, vehicle, _r, _rf);
};

/**
 * _GET_VEHICLE_PROP_SET
 */
global.GetVehiclePropSet = function (vehicle) {
	return _in(0xce2acd6f, 0x602803e5, vehicle, _r, _ri);
};
global.N_0xce2acd6f602803e5 = global.GetVehiclePropSet;

/**
 * _GET_VEHICLE_PROP_SET_HASH
 */
global.GetVehiclePropSetHash = function (vehicle) {
	return _in(0x36f69e7a, 0x22655653, vehicle, _r, _ri);
};
global.N_0x36f69e7a22655653 = global.GetVehiclePropSetHash;

/**
 * _GET_VEHICLE_TINT
 */
global.GetVehicleTint = function (vehicle) {
	return _in(0xa44d65e6, 0xc624526f, vehicle, _r, _ri);
};
global.N_0xa44d65e6c624526f = global.GetVehicleTint;

/**
 * Gets the trailer of a vehicle and puts it into the trailer parameter.
 */
global.GetVehicleTrailerVehicle = function (vehicle, trailer) {
	return _in(0xcf867a23, 0x9ec30741, vehicle, _ii(trailer) /* may be optional */, _r);
};

/**
 * _GET_VEHICLE_TURRET_SEAT
 */
global.GetVehicleTurretSeat = function (vehicle, seatIndex) {
	return _in(0xff5791b7, 0x639c2a46, vehicle, _ii(seatIndex) /* may be optional */, _r, _ri);
};
global.N_0xff5791b7639c2a46 = global.GetVehicleTurretSeat;

/**
 * Returns the type of the passed vehicle.
 * For client scripts, reference the more detailed [GET_VEHICLE_TYPE_RAW](#\_0xDE73BC10) native.
 * ### Vehicle types
 * *   automobile
 * *   bike
 * *   boat
 * *   heli
 * *   plane
 * *   submarine
 * *   trailer
 * *   train
 * @param vehicle The vehicle's entity handle.
 * @return If the entity is a vehicle, the vehicle type. If it is not a vehicle, the return value will be null.
 */
global.GetVehicleType = function (vehicle) {
	return _in(0x00000000, 0xa273060e, vehicle, _r, _s);
};

/**
 * Returns the model type of the vehicle as defined by:
 * ```cpp
 * enum VehicleType
 * {
 * VEHICLE_TYPE_NONE = -1,
 * VEHICLE_TYPE_CAR = 0,
 * VEHICLE_TYPE_PLANE = 1,
 * VEHICLE_TYPE_TRAILER = 2,
 * VEHICLE_TYPE_QUADBIKE = 3,
 * VEHICLE_TYPE_DRAFT = 4,
 * VEHICLE_TYPE_SUBMARINECAR = 5,
 * VEHICLE_TYPE_AMPHIBIOUS_AUTOMOBILE = 6,
 * VEHICLE_TYPE_AMPHIBIOUS_QUADBIKE = 7,
 * VEHICLE_TYPE_HELI = 8,
 * VEHICLE_TYPE_BLIMP = 9,
 * VEHICLE_TYPE_AUTOGYRO = 10,
 * VEHICLE_TYPE_BIKE = 11,
 * VEHICLE_TYPE_BICYCLE = 12,
 * VEHICLE_TYPE_BOAT = 13,
 * VEHICLE_TYPE_TRAIN = 14,
 * VEHICLE_TYPE_SUBMARINE = 15,
 * };
 * ```
 * @param vehicle The vehicle's entity handle.
 * @return Returns the vehicles model type
 */
global.GetVehicleTypeRaw = function (vehicle) {
	return _in(0x00000000, 0xde73bc10, vehicle, _r, _ri);
};

/**
 * GET_VEHICLE_WAYPOINT_PLAYBACK_OVERRIDE_SPEED
 */
global.GetVehicleWaypointPlaybackOverrideSpeed = function (p0) {
	return _in(0x3dc971eb, 0x22f73447, p0, _r, _ri);
};

/**
 * GET_VEHICLE_WAYPOINT_PROGRESS
 */
global.GetVehicleWaypointProgress = function (vehicle) {
	return _in(0x9824cff8, 0xfc66e159, vehicle, _r, _ri);
};

/**
 * GET_VEHICLE_WAYPOINT_TARGET_POINT
 */
global.GetVehicleWaypointTargetPoint = function (vehicle) {
	return _in(0x416b62ac, 0x8b9e5bbd, vehicle, _r, _ri);
};

/**
 * _GET_VOLUME_BOUNDS
 */
global.GetVolumeBounds = function (volume) {
	return _in(0x5737199a, 0xf2dc609f, volume, _v, _v);
};
global.N_0x5737199af2dc609f = global.GetVolumeBounds;

/**
 * GET_VOLUME_COORDS
 */
global.GetVolumeCoords = function (volume) {
	return _in(0xf70f0001, 0x3a62f866, volume, _r, _rv);
};
global.N_0xf70f00013a62f866 = global.GetVolumeCoords;

/**
 * _GET_VOLUME_FROM_INDEXED_ITEM
 */
global.GetVolumeFromIndexedItem = function (item) {
	return _in(0xf18af483, 0xdf70bbde, item, _r, _ri);
};
global.N_0xf18af483df70bbde = global.GetVolumeFromIndexedItem;

/**
 * enum eVolumeLockRequestStatus
 * {
 * VOLUME_LOCK_REQUEST_STATUS_INVALID,
 * VOLUME_LOCK_REQUEST_STATUS_READY,
 * VOLUME_LOCK_REQUEST_STATUS_IN_PROGRESS,
 * VOLUME_LOCK_REQUEST_STATUS_SUCCEEDED,
 * VOLUME_LOCK_REQUEST_STATUS_FAILED
 * };
 */
global.GetVolumeLockRequestStatus = function (volLockRequestId) {
	return _in(0xb33a6043, 0x45f58202, volLockRequestId, _r, _ri);
};
global.N_0xb33a604345f58202 = global.GetVolumeLockRequestStatus;

/**
 * Returns relationshipGroup Hash
 */
global.GetVolumeRelationship = function (volume) {
	return _in(0x666c2f53, 0xabefc952, volume, _r, _ri);
};
global.N_0x666c2f53abefc952 = global.GetVolumeRelationship;

/**
 * GET_VOLUME_ROTATION
 */
global.GetVolumeRotation = function (volume) {
	return _in(0x18675bc9, 0x14891122, volume, _r, _rv);
};
global.N_0x18675bc914891122 = global.GetVolumeRotation;

/**
 * GET_VOLUME_SCALE
 */
global.GetVolumeScale = function (volume) {
	return _in(0x3e2a25b2, 0x416dd67e, volume, _r, _rv);
};
global.N_0x3e2a25b2416dd67e = global.GetVolumeScale;

/**
 * Returns -1.0f if no multiplier has been set
 */
global.GetWantedLevelMultiplier = function () {
	return _in(0xa82964b9, 0xd8d6a983, _r, _rf);
};
global.N_0xa82964b9d8d6a983 = global.GetWantedLevelMultiplier;

/**
 * GET_WANTED_LEVEL_RADIUS
 */
global.GetWantedLevelRadius = function (p0) {
	return _in(0x80b00eb2, 0x6d9521c7, p0, _r, _rf);
};

/**
 * GET_WANTED_LEVEL_THRESHOLD
 */
global.GetWantedLevelThreshold = function (wantedLevel) {
	return _in(0x1b1a3b35, 0x8f7d8f07, wantedLevel, _r, _ri);
};

/**
 * GET_WANTED_SCORE
 */
global.GetWantedScore = function (player) {
	return _in(0xdd5fd601, 0x481f648b, player, _r, _ri);
};
global.N_0xdd5fd601481f648b = global.GetWantedScore;

/**
 * Checks against a global variable that is set by _SET_WORLD_WATER_TYPE. If that is set to one it will fail. Likely not the only issue but part of it.
 */
global.GetWaterHeight = function (x, y, z, height) {
	return _in(0xfca8b23f, 0x28813f69, _fv(x), _fv(y), _fv(z), _fi(height) /* may be optional */, _r);
};

/**
 * GET_WATER_HEIGHT_NO_WAVES
 */
global.GetWaterHeightNoWaves = function (x, y, z, height) {
	return _in(0xdcf3690a, 0xa262c03f, _fv(x), _fv(y), _fv(z), _fi(height) /* may be optional */, _r);
};

/**
 * Returns the zone's name hash if its type matches one of the following:
 * - LAKE
 * - RIVER
 * - OIL_SPILL
 * - SWAMP
 * - OCEAN
 * - CREEK
 * - POND
 * - GLACIER
 */
global.GetWaterMapZoneAtCoords = function (x, y, z) {
	return _in(0x5ba7a68a, 0x346a5a91, _fv(x), _fv(y), _fv(z), _r, _ri);
};
global.N_0x5ba7a68a346a5a91 = global.GetWaterMapZoneAtCoords;

/**
 * _GET_WAYPOINT_COORDS
 */
global.GetWaypointCoords = function () {
	return _in(0x29b30d07, 0xc3f7873b, _r, _rv);
};

/**
 * GET_WAYPOINT_DISTANCE_ALONG_ROUTE
 */
global.GetWaypointDistanceAlongRoute = function (waypointRecording, p1) {
	return _in(0xa5b76905, 0x8763e497, _ts(waypointRecording), p1, _r, _rf);
};

/**
 * Returns WeaponAttachPoint
 */
global.GetWeaponAttachPoint = function (ped, attachPoint) {
	return _in(0xcad4fe93, 0x98820d24, ped, attachPoint, _r, _ri);
};
global.N_0xcad4fe9398820d24 = global.GetWeaponAttachPoint;

/**
 * GET_WEAPON_CLIP_SIZE
 */
global.GetWeaponClipSize = function (weaponHash) {
	return _in(0xd3750ccc, 0x00635fc2, _ch(weaponHash), _r, _ri);
};
global.N_0xd3750ccc00635fc2 = global.GetWeaponClipSize;

/**
 * _GET_WEAPON_COMPONENT_TYPE_MODEL
 */
global.GetWeaponComponentTypeModel = function (componentHash) {
	return _in(0x59de0344, 0x2b6c9598, _ch(componentHash), _r, _ri);
};
global.N_0x59de03442b6c9598 = global.GetWeaponComponentTypeModel;

/**
 * Related to weapon visual damage, not actual damage.
 */
global.GetWeaponDamage = function (weaponObject) {
	return _in(0x904103d5, 0xd2333977, weaponObject, _r, _rf);
};
global.N_0x904103d5d2333977 = global.GetWeaponDamage;

/**
 * 0.0: good condition, 1.0: poor condition
 */
global.GetWeaponDegradation = function (weaponObject) {
	return _in(0x0d78e109, 0x7f89e637, weaponObject, _r, _rf);
};
global.N_0x0d78e1097f89e637 = global.GetWeaponDegradation;

/**
 * _GET_WEAPON_DIRT
 */
global.GetWeaponDirt = function (weaponObject) {
	return _in(0x810e8ae9, 0xafea7e54, weaponObject, _r, _rf);
};
global.N_0x810e8ae9afea7e54 = global.GetWeaponDirt;

/**
 * Returns weaponEmoteVariation
 * WEAPON_EMOTE_VARIATION_INVALID = -2,
 * WEAPON_EMOTE_VARIATION_BASE,
 * WEAPON_EMOTE_VARIATION_A,
 * WEAPON_EMOTE_VARIATION_B,
 * WEAPON_EMOTE_VARIATION_C,
 * WEAPON_EMOTE_VARIATION_D,
 * WEAPON_EMOTE_VARIATION_PREVIEW,
 * WEAPON_EMOTE_NUM_VARIATIONS
 * ```
 * ```
 * NativeDB Introduced: v1355
 */
global.GetWeaponEmoteVariation = function (ped, variation) {
	return _in(0x86147d05, 0xfa831d3a, ped, variation, _r, _ri);
};

/**
 * Returns iSpinHash
 */
global.GetWeaponGunSpinningWeaponEmoteTrickTypeHash = function (emote, weaponEmoteTrickType) {
	return _in(0xf4601c12, 0x03b1a78d, _ch(emote), weaponEmoteTrickType, _r, _ri);
};
global.N_0xf4601c1203b1a78d = global.GetWeaponGunSpinningWeaponEmoteTrickTypeHash;

/**
 * Returns "WNS_INVALID" if the weapon is invalid/doesn't exist.
 */
global.GetWeaponName = function (weaponHash) {
	return _in(0x89cf5ff3, 0xd363311e, _ch(weaponHash), _r, _s);
};
global.N_0x89cf5ff3d363311e = global.GetWeaponName;

/**
 * _GET_WEAPON_NAME_WITH_PERMANENT_DEGRADATION
 */
global.GetWeaponNameWithPermanentDegradation = function (weaponHash, permanentDegradationLevel) {
	return _in(0x7a56d66c, 0x78d8ef8e, _ch(weaponHash), _fv(permanentDegradationLevel), _r, _s);
};
global.N_0x7a56d66c78d8ef8e = global.GetWeaponNameWithPermanentDegradation;

/**
 * _GET_WEAPON_NAME_2
 */
global.GetWeaponName_2 = function (weaponHash) {
	return _in(0x6d3ac616, 0x94a791c5, _ch(weaponHash), _r, _s);
};
global.N_0x6d3ac61694a791c5 = global.GetWeaponName_2;

/**
 * Detaches the weapon from the ped and actually removes the ped's weapon
 */
global.GetWeaponObjectFromPed = function (ped, p1) {
	return _in(0xc6a6789b, 0xb405d11c, ped, p1, _r, _ri);
};
global.N_0xc6a6789bb405d11c = global.GetWeaponObjectFromPed;

/**
 * Related to rust of weapons
 */
global.GetWeaponPermanentDegradation = function (weaponObject) {
	return _in(0xd56e5f33, 0x6c675efa, weaponObject, _r, _rf);
};
global.N_0xd56e5f336c675efa = global.GetWeaponPermanentDegradation;

/**
 * _GET_WEAPON_SCALE
 */
global.GetWeaponScale = function (weaponObject) {
	return _in(0x22084ca6, 0x99219624, weaponObject, _r, _rf);
};
global.N_0x22084ca699219624 = global.GetWeaponScale;

/**
 * _GET_WEAPON_SOOT
 */
global.GetWeaponSoot = function (weaponObject) {
	return _in(0x4bf66f88, 0x78f67663, weaponObject, _r, _rf);
};
global.N_0x4bf66f8878f67663 = global.GetWeaponSoot;

/**
 * _GET_WEAPON_STAT_ID
 */
global.GetWeaponStatId = function (weaponHash) {
	return _in(0x8ec44ae8, 0xdecff841, _ch(weaponHash), _r, _ri);
};
global.N_0x8ec44ae8decff841 = global.GetWeaponStatId;

/**
 * _GET_WEAPON_TYPE_FROM_AMMO_TYPE
 */
global.GetWeaponTypeFromAmmoType = function (ammoType) {
	return _in(0x7aa043f6, 0xc41d151e, _ch(ammoType), _r, _ri);
};
global.N_0x7aa043f6c41d151e = global.GetWeaponTypeFromAmmoType;

/**
 * GET_WEAPON_TYPE_FROM_PICKUP_TYPE
 */
global.GetWeaponTypeFromPickupType = function (pickupHash) {
	return _in(0x08f96ca6, 0xc551ad51, _ch(pickupHash), _r, _ri);
};

/**
 * _GET_WEAPON_UNLOCK
 */
global.GetWeaponUnlock = function (weaponHash) {
	return _in(0x865f3629, 0x9079fb75, _ch(weaponHash), _r, _ri);
};
global.N_0x865f36299079fb75 = global.GetWeaponUnlock;

/**
 * GET_WEAPONTYPE_GROUP
 */
global.GetWeapontypeGroup = function (weaponHash) {
	return _in(0xedca14ca, 0x5199ff25, _ch(weaponHash), _r, _ri);
};

/**
 * Gets the model hash from the weapon hash.
 */
global.GetWeapontypeModel = function (weaponHash) {
	return _in(0xf70825eb, 0x340e7d15, _ch(weaponHash), _r, _ri);
};

/**
 * Returns hash where WEAPON_ is replaced with SLOT_
 */
global.GetWeapontypeSlot = function (weaponHash) {
	return _in(0x46f032b8, 0xddf46cde, _ch(weaponHash), _r, _ri);
};
global.N_0x46f032b8ddf46cde = global.GetWeapontypeSlot;

/**
 * GET_WIND_DIRECTION
 */
global.GetWindDirection = function () {
	return _in(0xf703e82f, 0x3fe14a5f, _r, _rv);
};

/**
 * GET_WIND_SPEED
 */
global.GetWindSpeed = function () {
	return _in(0xffb7e74e, 0x041150a4, _r, _rf);
};

/**
 * Converts a screen coordinate into its relative world coordinate.
 * @param screenX A screen horizontal axis coordinate (0.0 - 1.0).
 * @param screenY A screen vertical axis coordinate (0.0 - 1.0).
 * @param worldVector The world coord vector pointer.
 * @param normalVector The screen normal vector pointer.
 * @return A Vector3 representing the world coordinates relative to the specified screen coordinates and a screen plane normal Vector3 (normalised).
 */
global.GetWorldCoordFromScreenCoord = function (screenX, screenY) {
	return _in(0x00000000, 0xc81d0659, _fv(screenX), _fv(screenY), _v, _v);
};

/**
 * Returns the coordinates of an entity-bone.
 * https://github.com/femga/rdr3_discoveries/tree/master/boneNames
 */
global.GetWorldPositionOfEntityBone = function (entity, boneIndex) {
	return _in(0x82cfa50e, 0x34681ca5, entity, boneIndex, _r, _rv);
};

/**
 * _GET_WORLD_WATER_TYPE
 */
global.GetWorldWaterType = function () {
	return _in(0x189739a7, 0x631c1867, _r, _ri);
};
global.N_0x189739a7631c1867 = global.GetWorldWaterType;

/**
 * addReason: see _ADD_AMMO_TO_PED
 */
global.GiveDelayedWeaponToPed = function (ped, weaponHash, ammoCount, p3, addReason) {
	return _in(0xb282dc6e, 0xbd803c75, ped, _ch(weaponHash), ammoCount, p3, _ch(addReason));
};

/**
 * Ped Command Hash are special commands, that can be activated to change conditional anim variations or trigger transitions between conditional anims.
 * https://github.com/femga/rdr3_discoveries/blob/master/animations/scenarios
 */
global.GivePedHashCommand = function (ped, commandHash, activationDuration) {
	return _in(0xd65fdc68, 0x6a031c83, ped, _ch(commandHash), _fv(activationDuration));
};
global.N_0xd65fdc686a031c83 = global.GivePedHashCommand;

/**
 * GIVE_PED_HASH_SCENARIO_PROP
 */
global.GivePedHashScenarioProp = function (ped, object, conditionalAnim, scenarioType, p4, p5) {
	return _in(0x2b02db08, 0x2258625f, ped, object, _ts(conditionalAnim), _ch(scenarioType), _ch(p4), p5, _r, _ri);
};
global.N_0x2b02db082258625f = global.GivePedHashScenarioProp;

/**
 * _GIVE_PED_SCENARIO_PROP
 */
global.GivePedScenarioProp = function (ped, object, conditionalAnim, p3, p4, p5) {
	return _in(0x3bbdd614, 0x3ff16f98, ped, object, _ts(conditionalAnim), _ts(p3), _ts(p4), p5, _r, _ri);
};
global.N_0x3bbdd6143ff16f98 = global.GivePedScenarioProp;

/**
 * Only used in SP R* Script rcm_jack2
 */
global.GivePedScenarioPropDynamic = function (ped, object, p2, p3, p4) {
	return _in(0xa0774e38, 0x8ce4a679, ped, object, _ts(p2), _ts(p3), p4, _r, _ri);
};
global.N_0xa0774e388ce4a679 = global.GivePedScenarioPropDynamic;

/**
 * _GIVE_WEAPON_COLLECTION_TO_PED
 */
global.GiveWeaponCollectionToPed = function (ped, weaponCollection) {
	return _in(0x899a04af, 0xcc725d04, ped, _ch(weaponCollection));
};
global.N_0x899a04afcc725d04 = global.GiveWeaponCollectionToPed;

/**
 * entity can be a ped or weapon object.
 */
global.GiveWeaponComponentToEntity = function (entity, componentHash, weaponHash, p3) {
	return _in(0x74c9090f, 0xdd1bb48e, entity, _ch(componentHash), _ch(weaponHash), p3);
};
global.N_0x74c9090fdd1bb48e = global.GiveWeaponComponentToEntity;

/**
 * _GIVE_WEAPON_COMPONENT_TO_WEAPON_OBJECT
 */
global.GiveWeaponComponentToWeaponObject = function (ped, componentHash, p3) {
	return _in(0x1a47699e, 0x8d533e8f, _i, ped, _ch(componentHash), p3);
};
global.N_0x1a47699e8d533e8f = global.GiveWeaponComponentToWeaponObject;

/**
 * Gives the ped the weapon.
 * List: https://github.com/femga/rdr3_discoveries/blob/master/weapons/weapons.lua
 * Params: p7 is 0.5f, and p8 is 1.0f. p11 and p12 are both 0 in R* Scripts
 * attachPoint: see SET_CURRENT_PED_WEAPON
 * addReason: see _ADD_AMMO_TO_PED
 * permanentDegradation: default 0.5, any higher than 0 it will automatically make the weapon worn, you can also adjust the value to change the weapons maximum cleanliness
 */
global.GiveWeaponToPed = function (ped, weaponHash, ammoCount, bForceInHand, bForceInHolster, attachPoint, bAllowMultipleCopies, p7, p8, addReason, bIgnoreUnlocks, permanentDegradation, p12) {
	return _in(0x5e3bddbc, 0xb83f3d84, ped, _ch(weaponHash), ammoCount, bForceInHand, bForceInHolster, attachPoint, bAllowMultipleCopies, _fv(p7), _fv(p8), _ch(addReason), bIgnoreUnlocks, _fv(permanentDegradation), p12, _r, _ri);
};
global.GiveWeaponToPed_2 = global.GiveWeaponToPed;

/**
 * GIVE_WEAPON_TO_PED_WITH_OPTIONS
 */
global.GiveWeaponToPedWithOptions = function (ped) {
	return _in(0xbe7e42b0, 0x7fd317ac, ped, _i, _i, _r);
};
global.N_0xbe7e42b07fd317ac = global.GiveWeaponToPedWithOptions;

/**
 * NativeDB Introduced: v1355
 */
global.GoogleAnalyticsEndEvent = function () {
	return _in(0x87bbcc43, 0x60a9bde3, _r);
};

/**
 * _GOOGLE_ANALYTICS_POP_PAGE
 */
global.GoogleAnalyticsPopPage = function (pageName) {
	return _in(0xc6de0403, 0x78364798, _ts(pageName));
};

/**
 * _GOOGLE_ANALYTICS_PUSH_PAGE
 */
global.GoogleAnalyticsPushPage = function (pageName) {
	return _in(0xd43a616a, 0xe3ac4ef6, _ts(pageName));
};

/**
 * NativeDB Introduced: v1355
 */
global.GoogleAnalyticsStartEvent = function (eventCategory, eventAction, eventLabel, eventValue) {
	return _in(0x1c54f031, 0xd7c0f7ac, _ts(eventCategory), _ts(eventAction), _ts(eventLabel), eventValue, _r);
};

/**
 * HAS_ANIM_DICT_LOADED
 */
global.HasAnimDictLoaded = function (animDict) {
	return _in(0x27ff6fe8, 0x009b40ca, _ts(animDict), _r);
};

/**
 * HAS_ANIM_EVENT_FIRED
 */
global.HasAnimEventFired = function (entity, actionHash) {
	return _in(0x5851cc48, 0x405f4a07, entity, _ch(actionHash), _r);
};

/**
 * HAS_ANIM_SCENE_EXITED
 */
global.HasAnimSceneExited = function (animScene, p1) {
	return _in(0xf94692eb, 0x9dc15d74, animScene, p1, _r, _ri);
};
global.N_0xf94692eb9dc15d74 = global.HasAnimSceneExited;

/**
 * p3 - possibly radius?
 */
global.HasBulletImpactedInArea = function (x, y, z, p3, p4, p5) {
	return _in(0xc153e5bc, 0xcf411814, _fv(x), _fv(y), _fv(z), _fv(p3), p4, p5, _r);
};

/**
 * HAS_BULLET_IMPACTED_IN_BOX
 */
global.HasBulletImpactedInBox = function (p0, p1, p2, p3, p4, p5, p6, p7) {
	return _in(0x3b6a4c05, 0xfb2b33ac, _fv(p0), _fv(p1), _fv(p2), _fv(p3), _fv(p4), _fv(p5), p6, p7, _r);
};

/**
 * Alias for HAS_ANIM_SET_LOADED.
 */
global.HasClipSetLoaded = function (clipSet) {
	return _in(0x1f23d6b6, 0xda1cc3b2, _ts(clipSet), _r);
};

/**
 * HAS_CLOSEST_OBJECT_OF_TYPE_BEEN_BROKEN
 */
global.HasClosestObjectOfTypeBeenBroken = function (p0, p1, p2, p3, modelHash, p5) {
	return _in(0x761b0e69, 0xac4d007e, _fv(p0), _fv(p1), _fv(p2), _fv(p3), _ch(modelHash), p5, _r);
};

/**
 * HAS_COLLISION_FOR_MODEL_LOADED
 */
global.HasCollisionForModelLoaded = function (model) {
	return _in(0x210a79c9, 0xec89778f, _ch(model), _r);
};

/**
 * HAS_COLLISION_LOADED_AROUND_ENTITY
 */
global.HasCollisionLoadedAroundEntity = function (entity) {
	return _in(0xbeb16009, 0x52b9cf5c, entity, _r);
};

/**
 * HAS_COLLISION_LOADED_AROUND_POSITION
 */
global.HasCollisionLoadedAroundPosition = function (xPos, yPos, zPos) {
	return _in(0x6bfbdc46, 0x139c45ab, _fv(xPos), _fv(yPos), _fv(zPos), _r, _ri);
};
global.N_0x6bfbdc46139c45ab = global.HasCollisionLoadedAroundPosition;

/**
 * _HAS_COLLISION_LOADED_AT_COORD
 */
global.HasCollisionLoadedAtCoord = function (x, y, z) {
	return _in(0xda8b2eaf, 0x29e872e2, _fv(x), _fv(y), _fv(z), _r, _ri);
};
global.N_0xda8b2eaf29e872e2 = global.HasCollisionLoadedAtCoord;

/**
 * HAS_ENTITY_ANIM_FINISHED
 */
global.HasEntityAnimFinished = function (entity, animDict, animName, p3) {
	return _in(0xaeb40615, 0x337ef1e3, entity, _ts(animDict), _ts(animName), p3, _r);
};

/**
 * HAS_ENTITY_BEEN_DAMAGED_BY_ANY_OBJECT
 */
global.HasEntityBeenDamagedByAnyObject = function (entity) {
	return _in(0x73bb7638, 0x80cd23a6, entity, _r);
};

/**
 * HAS_ENTITY_BEEN_DAMAGED_BY_ANY_PED
 */
global.HasEntityBeenDamagedByAnyPed = function (entity) {
	return _in(0x9934e9c4, 0x2d52d87e, entity, _r);
};

/**
 * HAS_ENTITY_BEEN_DAMAGED_BY_ANY_VEHICLE
 */
global.HasEntityBeenDamagedByAnyVehicle = function (entity) {
	return _in(0x695d7c26, 0xde65c423, entity, _r);
};

/**
 * HAS_ENTITY_BEEN_DAMAGED_BY_ENTITY
 */
global.HasEntityBeenDamagedByEntity = function (entity1, entity2, p2, p3) {
	return _in(0x7b6e7bec, 0x1143ac86, entity1, entity2, p2, p3, _r);
};

/**
 * _HAS_ENTITY_BEEN_DAMAGED_BY_WEAPON
 */
global.HasEntityBeenDamagedByWeapon = function (entity, weaponName, weaponType) {
	return _in(0xdcf06d0c, 0xdff68424, entity, _ch(weaponName), weaponType, _r, _ri);
};
global.N_0xdcf06d0cdff68424 = global.HasEntityBeenDamagedByWeapon;

/**
 * _HAS_ENTITY_BEEN_DAMAGED_BY_WEAPON_RECENTLY
 */
global.HasEntityBeenDamagedByWeaponRecently = function (entity, weaponHash, ms) {
	return _in(0x9e2d5d6b, 0xc97a5f1e, entity, _ch(weaponHash), ms, _r, _ri);
};
global.N_0x9e2d5d6bc97a5f1e = global.HasEntityBeenDamagedByWeaponRecently;

/**
 * HAS_ENTITY_CLEAR_LOS_TO_COORD
 */
global.HasEntityClearLosToCoord = function (entity, x, y, z, flags) {
	return _in(0x0c9dbf48, 0xc6ba6e4c, entity, _fv(x), _fv(y), _fv(z), flags, _r, _ri);
};
global.N_0x0c9dbf48c6ba6e4c = global.HasEntityClearLosToCoord;

/**
 * HAS_ENTITY_CLEAR_LOS_TO_ENTITY
 */
global.HasEntityClearLosToEntity = function (entity1, entity2, traceType) {
	return _in(0xfcdff7b7, 0x2d23a1ac, entity1, entity2, traceType, _r);
};

/**
 * Has the entity1 got a clear line of sight to the other entity2 from the direction entity1 is facing.
 */
global.HasEntityClearLosToEntityInFront = function (entity1, entity2, traceType) {
	return _in(0xe88f1966, 0x0651d566, entity1, entity2, traceType, _r);
};

/**
 * HAS_ENTITY_COLLIDED_WITH_ANYTHING
 */
global.HasEntityCollidedWithAnything = function (entity) {
	return _in(0xdf18751e, 0xc74f90ff, entity, _r);
};

/**
 * _HAS_L* (?)
 */
global.HasEntityEnteredAnimScene = function (animScene, entityName) {
	return _in(0x337f1cc8, 0xee895601, animScene, _ts(entityName), _r, _ri);
};
global.N_0x337f1cc8ee895601 = global.HasEntityEnteredAnimScene;

/**
 * HAS_ENTITY_EXITED_ANIM_SCENE
 */
global.HasEntityExitedAnimScene = function (animScene, entityName) {
	return _in(0xb89fcff1, 0x9dafff28, animScene, _ts(entityName), _r, _ri);
};
global.N_0xb89fcff19dafff28 = global.HasEntityExitedAnimScene;

/**
 * HAS_FORCE_CLEANUP_OCCURRED
 */
global.HasForceCleanupOccurred = function (cleanupFlags) {
	return _in(0xc11469dc, 0xa6fc3bb5, cleanupFlags, _r);
};

/**
 * HAS_INSTANT_FILL_VEHICLE_POPULATION_FINISHED
 */
global.HasInstantFillVehiclePopulationFinished = function () {
	return _in(0x2701d01d, 0x5e18fc31, _r);
};
global.N_0x2701d01d5e18fc31 = global.HasInstantFillVehiclePopulationFinished;

/**
 * More info: https://en.wikipedia.org/wiki/Letterboxing_(filming)
 */
global.HasLetterBox = function () {
	return _in(0x81dcfd13, 0xcf39920e, _r, _ri);
};
global.N_0x81dcfd13cf39920e = global.HasLetterBox;

/**
 * _HAS_META_PED_ASSET_LOADED
 */
global.HasMetaPedAssetLoaded = function (requestId) {
	return _in(0xb0b2c6d1, 0x70b0e8e5, requestId, _r, _ri);
};
global.N_0xb0b2c6d170b0e8e5 = global.HasMetaPedAssetLoaded;
global.HasMetapedAssetLoaded = global.HasMetaPedAssetLoaded;

/**
 * _HAS_META_PED_OUTFIT_LOADED
 */
global.HasMetaPedOutfitLoaded = function (requestId) {
	return _in(0x61043837, 0x5e5d1801, requestId, _r, _ri);
};
global.N_0x610438375e5d1801 = global.HasMetaPedOutfitLoaded;
global.HasMetapedOutfitLoaded = global.HasMetaPedOutfitLoaded;

/**
 * _HAS_META_PED_REQUEST_LOADED
 */
global.HasMetaPedRequestLoaded = function (requestId) {
	return _in(0xc0940ac8, 0x58c1e126, requestId, _r, _ri);
};
global.N_0xc0940ac858c1e126 = global.HasMetaPedRequestLoaded;
global.HasMetapedPedRequestLoaded = global.HasMetaPedRequestLoaded;

/**
 * Checks if the specified model has loaded into memory.
 */
global.HasModelLoaded = function (model) {
	return _in(0x1283b8b8, 0x9dd5d1b6, _ch(model), _r);
};

/**
 * HAS_MOTION_TYPE_ASSET_LOADED
 */
global.HasMotionTypeAssetLoaded = function (nameHash, ped) {
	return _in(0x854bc9b1, 0xa1ccd034, _ch(nameHash), ped, _r, _ri);
};
global.N_0x854bc9b1a1ccd034 = global.HasMotionTypeAssetLoaded;

/**
 * HAS_MOVE_NETWORK_DEF_LOADED
 */
global.HasMoveNetworkDefLoaded = function (name) {
	return _in(0x2c04d89a, 0x0fb4e244, _ts(name), _r, _ri);
};
global.N_0x2c04d89a0fb4e244 = global.HasMoveNetworkDefLoaded;

/**
 * HAS_NAMED_PTFX_ASSET_LOADED
 */
global.HasNamedPtfxAssetLoaded = function (fxNameHash) {
	return _in(0x65bb72f2, 0x9138f5d6, _ch(fxNameHash), _r);
};

/**
 * HAS_NETWORK_TIME_STARTED
 */
global.HasNetworkTimeStarted = function () {
	return _in(0x46718ace, 0xedeafc84, _r);
};

/**
 * HAS_OBJECT_BEEN_BROKEN
 */
global.HasObjectBeenBroken = function (p0) {
	return _in(0x8abfb70c, 0x49cc43e2, p0, _r);
};

/**
 * _HAS_PED_BEEN_SHOVED_RECENTLY
 */
global.HasPedBeenShovedRecently = function (ped, ms) {
	return _in(0x29fce825, 0x613fefca, ped, ms, _r, _ri);
};
global.N_0x29fce825613fefca = global.HasPedBeenShovedRecently;

/**
 * See _REQUEST_PED_EMOTIONAL_PRESET
 */
global.HasPedEmotionalPresetLoaded = function (ped, name) {
	return _in(0xde3904b2, 0x2695d9f9, ped, _ts(name), _r, _ri);
};
global.N_0xde3904b22695d9f9 = global.HasPedEmotionalPresetLoaded;

/**
 * HAS_PED_GOT_WEAPON
 */
global.HasPedGotWeapon = function (ped, weaponHash, p2, p3) {
	return _in(0x8decb02f, 0x88f428bc, ped, _ch(weaponHash), p2, p3, _r);
};

/**
 * _HAS_PED_GOT_WEAPON_COMPONENT
 */
global.HasPedGotWeaponComponent = function (ped, componentHash, weaponHash) {
	return _in(0xbbc67a6f, 0x965c688a, ped, _ch(componentHash), _ch(weaponHash), _r, _ri);
};
global.N_0xbbc67a6f965c688a = global.HasPedGotWeaponComponent;

/**
 * limb: 3 = Left Hand, 4 = Left Arm, 6 = Right Hand, 7 = Right Arm, 9 = Left Foot, 10 = Left Leg, 12 = Right Foot, 13 = Right Leg, 37 = Head
 */
global.HasPedTakenGoreDamage = function (ped, limb) {
	return _in(0xba208a8d, 0x6399a3ac, ped, limb, _r, _ri);
};
global.N_0xba208a8d6399a3ac = global.HasPedTakenGoreDamage;

/**
 * HAS_PICKUP_BEEN_COLLECTED
 */
global.HasPickupBeenCollected = function (pickup) {
	return _in(0x80ec48e6, 0x679313f9, pickup, _r);
};

/**
 * HAS_PLAYER_BEEN_SPOTTED_IN_STOLEN_VEHICLE
 */
global.HasPlayerBeenSpottedInStolenVehicle = function (player) {
	return _in(0xc932f57f, 0x31ea9152, player, _r);
};

/**
 * HAS_PLAYER_DAMAGED_AT_LEAST_ONE_NON_ANIMAL_PED
 */
global.HasPlayerDamagedAtLeastOneNonAnimalPed = function (player) {
	return _in(0x16c8d205, 0xdd5a2e90, player, _r);
};

/**
 * HAS_PLAYER_DAMAGED_AT_LEAST_ONE_PED
 */
global.HasPlayerDamagedAtLeastOnePed = function (player) {
	return _in(0xda4a4b9b, 0x96e20092, player, _r);
};

/**
 * _HAS_PROP_SET_LOADED
 */
global.HasPropSetLoaded = function (hash) {
	return _in(0x48a88fc6, 0x84c55fdc, _ch(hash), _r, _ri);
};
global.N_0x48a88fc684c55fdc = global.HasPropSetLoaded;

/**
 * Same as _HAS_PROP_SET_LOADED
 */
global.HasPropSetLoaded_2 = function (hash) {
	return _in(0xd090abef, 0x4d6a7d96, _ch(hash), _r, _ri);
};
global.N_0xd090abef4d6a7d96 = global.HasPropSetLoaded_2;

/**
 * HAS_PTFX_ASSET_LOADED
 */
global.HasPtfxAssetLoaded = function () {
	return _in(0x13a3f30a, 0x9ed0bc31, _r);
};

/**
 * _HAS_SCENARIO_TYPE_LOADED
 */
global.HasScenarioTypeLoaded = function (scenarioType, p1) {
	return _in(0x9427c94d, 0x2e4094a4, _ch(scenarioType), p1, _r, _ri);
};
global.N_0x9427c94d2e4094a4 = global.HasScenarioTypeLoaded;

/**
 * Returns if a script has been loaded into the game. Used to see if a script was loaded after requesting.
 */
global.HasScriptLoaded = function (scriptName) {
	return _in(0xe97bd365, 0x74f8b0a6, _ts(scriptName), _r);
};

/**
 * HAS_SCRIPT_WITH_NAME_HASH_LOADED
 */
global.HasScriptWithNameHashLoaded = function (scriptHash) {
	return _in(0xa5d8e0c2, 0xf3c7eebc, _ch(scriptHash), _r);
};

/**
 * _HAS_SOUND_AUDIO_NAME_FINISHED
 */
global.HasSoundAudioNameFinished = function (audioName, soundsetName) {
	return _in(0x714a0ea7, 0xde1167be, _ts(audioName), _ts(soundsetName), _r, _ri);
};
global.N_0x714a0ea7de1167be = global.HasSoundAudioNameFinished;

/**
 * _HAS_SOUND_ID_FINISHED
 */
global.HasSoundIdFinished = function (soundId) {
	return _in(0x84848e1c, 0x0fc67dbb, soundId, _r, _ri);
};
global.N_0x84848e1c0fc67dbb = global.HasSoundIdFinished;

/**
 * HAS_STREAMED_TEXTURE_DICT_LOADED
 */
global.HasStreamedTextureDictLoaded = function (textureDict) {
	return _in(0x54d69009, 0x29ccf162, _ts(textureDict), _r);
};

/**
 * HAS_STREAMED_TXD_LOADED
 */
global.HasStreamedTxdLoaded = function (txdHash) {
	return _in(0xbe72591d, 0x1509ffe4, _ch(txdHash), _r, _ri);
};
global.N_0xbe72591d1509ffe4 = global.HasStreamedTxdLoaded;

/**
 * _HAS_TRAIN_LOADED
 */
global.HasTrainLoaded = function (train) {
	return _in(0xbd3c4a2e, 0xd509205e, train, _r, _ri);
};
global.N_0xbd3c4a2ed509205e = global.HasTrainLoaded;

/**
 * HAS_VEHICLE_ASSET_LOADED
 */
global.HasVehicleAssetLoaded = function (vehicleAsset) {
	return _in(0xb935f315, 0x4bc913c8, _ch(vehicleAsset), _r);
};

/**
 * See REQUEST_VEHICLE_RECORDING
 */
global.HasVehicleRecordingBeenLoaded = function (recording, script) {
	return _in(0xba9325be, 0x372ab6ea, recording, _ts(script), _r);
};

/**
 * _HAS_VEHICLE_TRAILER_PROP_SET_LOADED
 */
global.HasVehicleTrailerPropSetLoaded = function (vehicle, wagonIndex) {
	return _in(0x8f3333f0, 0xa6900b3c, vehicle, wagonIndex, _r, _ri);
};
global.N_0x8f3333f0a6900b3c = global.HasVehicleTrailerPropSetLoaded;

/**
 * _HAS_WEAPON_ASSET_LOADED
 */
global.HasWeaponAssetLoaded = function (weaponHash) {
	return _in(0xff07cf46, 0x5f48b830, _ch(weaponHash), _r, _ri);
};
global.N_0xff07cf465f48b830 = global.HasWeaponAssetLoaded;

/**
 * HAS_WEAPON_GOT_WEAPON_COMPONENT
 */
global.HasWeaponGotWeaponComponent = function (weapon, addonHash) {
	return _in(0x76a18844, 0xe743bf91, weapon, _ch(addonHash), _r);
};

/**
 * Waiting for child scripts to terminate / waiting for collapse of child scripts
 */
global.HaveAllChildScriptsTerminated = function (p0) {
	return _in(0x380ffa15, 0xb72408fb, p0, _r, _ri);
};
global.N_0x380ffa15b72408fb = global.HaveAllChildScriptsTerminated;

/**
 * HAVE_CONTROLS_CHANGED
 */
global.HaveControlsChanged = function (control) {
	return _in(0x6cd79468, 0xa1e595c6, control, _r);
};
global.N_0x6cd79468a1e595c6 = global.HaveControlsChanged;

/**
 * _HIDE_ACTIVE_POINTS_OF_INTEREST
 */
global.HideActivePointsOfInterest = function () {
	return _in(0xa1b4052c, 0x2a3dcc1e);
};
global.N_0xa1b4052c2a3dcc1e = global.HideActivePointsOfInterest;

/**
 * _HIDE_HORSE_REINS
 */
global.HideHorseReins = function (vehicle) {
	return _in(0x201b8ed4, 0xff7fe9f5, vehicle);
};
global.N_0x201b8ed4ff7fe9f5 = global.HideHorseReins;

/**
 * HIDE_HUD_AND_RADAR_THIS_FRAME
 */
global.HideHudAndRadarThisFrame = function () {
	return _in(0x36cdd816, 0x27a6fcd2);
};

/**
 * _HIDE_HUD_THIS_FRAME
 */
global.HideHudThisFrame = function () {
	return _in(0xbf4f34a8, 0x5ca2970d);
};
global.N_0xbf4f34a85ca2970d = global.HideHudThisFrame;

/**
 * HIDE_LOADING_ON_FADE_THIS_FRAME
 */
global.HideLoadingOnFadeThisFrame = function () {
	return _in(0xea600aab, 0xaf4b9084);
};

/**
 * Hides the ped's weapon during a cutscene.
 */
global.HidePedWeaponForScriptedCutscene = function (ped, toggle) {
	return _in(0x6f6981d2, 0x253c208f, ped, toggle);
};

/**
 * Unequip current weapon and set current weapon to WEAPON_UNARMED.
 * p0 usually 2 in R* scripts. Doesn't seem to have any effect if changed....
 * immediately: if true it will instantly switch to unarmed
 */
global.HidePedWeapons = function (ped, p0, immediately) {
	return _in(0xfccc886e, 0xde3c63ec, ped, p0, immediately);
};
global.N_0xfccc886ede3c63ec = global.HidePedWeapons;

/**
 * _HIDE_PICKUP_OBJECT
 */
global.HidePickupObject = function (pickupObject, toggle) {
	return _in(0x2777150c, 0xc7d9365e, pickupObject, toggle);
};

/**
 * _HITCH_HORSE
 */
global.HitchHorse = function (horse, x, y, z) {
	return _in(0x06aade17, 0x334f7a40, horse, _fv(x), _fv(y), _fv(z));
};
global.N_0x06aade17334f7a40 = global.HitchHorse;

/**
 * _HOLSTER_PED_WEAPONS
 */
global.HolsterPedWeapons = function (ped, p1, p2, p3, immediately) {
	return _in(0x94a3c1b8, 0x04d291ec, ped, p1, p2, p3, immediately);
};
global.N_0x94a3c1b804d291ec = global.HolsterPedWeapons;

/**
 * _H* - _I*
 */
global.HorseAgitate = function (mount, kickOffRider) {
	return _in(0xbae08f00, 0x021bffb2, mount, kickOffRider);
};
global.N_0xbae08f00021bffb2 = global.HorseAgitate;

/**
 * IGNORE_NEXT_RESTART
 */
global.IgnoreNextRestart = function (toggle) {
	return _in(0x6c9ff40f, 0xf1b69f8f, toggle);
};

/**
 * _INCAPACITATED_REVIVE
 */
global.IncapacitatedRevive = function (ped, ped2) {
	return _in(0xf6262491, 0xc7704a63, ped, ped2);
};
global.N_0xf6262491c7704a63 = global.IncapacitatedRevive;

/**
 * INFORM_CODE_OF_CONTENT_ID_OF_CURRENT_UGC_MISSION
 */
global.InformCodeOfContentIdOfCurrentUgcMission = function (p0) {
	return _in(0x708df841, 0xb8f27aa2, _ts(p0));
};
global.N_0x708df841b8f27aa2 = global.InformCodeOfContentIdOfCurrentUgcMission;

/**
 * INIT_PED_DEFAULT_HEALTH
 */
global.InitPedDefaultHealth = function (ped) {
	return _in(0x7dd7fb34, 0x80d8083e, ped);
};
global.N_0x7dd7fb3480d8083e = global.InitPedDefaultHealth;

/**
 * INSTANTLY_FILL_PED_POPULATION
 */
global.InstantlyFillPedPopulation = function () {
	return _in(0x4759cc73, 0x0f947c81);
};
global.N_0x4759cc730f947c81 = global.InstantlyFillPedPopulation;

/**
 * INSTANTLY_FILL_VEHICLE_POPULATION
 */
global.InstantlyFillVehiclePopulation = function () {
	return _in(0x1ff00db4, 0x3026b12f);
};
global.N_0x1ff00db43026b12f = global.InstantlyFillVehiclePopulation;

/**
 * Simply returns whatever is passed to it (Regardless of whether the handle is valid or not).
 */
global.IntToParticipantindex = function (value) {
	return _in(0x58ff971f, 0xc8f2702c, value, _r, _ri);
};

/**
 * Simply returns whatever is passed to it (Regardless of whether the handle is valid or not).
 */
global.IntToPlayerindex = function (value) {
	return _in(0x748b3a65, 0xc2604c33, value, _r, _ri);
};

/**
 * Note: the buffer should be exactly 32 bytes long
 */
global.IntToString = function (value, format, buffer) {
	return _in(0xcf11c0ce, 0xb40c401b, value, _ts(format), _ts(buffer));
};

/**
 * INVALIDATE_CINEMATIC_VEHICLE_IDLE_MODE
 */
global.InvalidateCinematicVehicleIdleMode = function () {
	return _in(0x634f4a05, 0x62cf19b8);
};
global.N_0x634f4a0562cf19b8 = global.InvalidateCinematicVehicleIdleMode;

/**
 * inventoryItemSlotHash: https://pastebin.com/P6fyr3vr
 */
global.InventoryAddItemWithGuid = function (inventoryId, item, inventoryItemSlot, p5, addReason) {
	return _in(0xcb5d11f9, 0x508a928d, inventoryId, _i, _i, _ch(item), _ch(inventoryItemSlot), p5, _ch(addReason), _r, _ri);
};
global.N_0xcb5d11f9508a928d = global.InventoryAddItemWithGuid;

/**
 * inventoryId: see _INVENTORY_GET_PED_INVENTORY_ID
 */
global.InventoryAreLocalChangesAllowed = function (inventoryId) {
	return _in(0x0fbbffc8, 0x91a97c81, inventoryId, _r, _ri);
};
global.N_0x0fbbffc891a97c81 = global.InventoryAreLocalChangesAllowed;

/**
 * _INVENTORY_COMPARE_GUIDS
 */
global.InventoryCompareGuids = function () {
	return _in(0x4c543d5d, 0xfcd2dafd, _i, _i, _r, _ri);
};
global.N_0x4c543d5dfcd2dafd = global.InventoryCompareGuids;

/**
 * _INVENTORY_COPY_ITEM_TO_INVENTORY
 */
global.InventoryCopyItemToInventory = function (inventoryId, inventoryIdCloned, p3) {
	return _in(0xc04f47d4, 0x88ef9eba, inventoryId, inventoryIdCloned, _i, p3);
};
global.N_0xc04f47d488ef9eba = global.InventoryCopyItemToInventory;

/**
 * _INVENTORY_COPY_ITEM_TO_MISSION_INVENTORY
 */
global.InventoryCopyItemToMissionInventory = function (p1) {
	return _in(0x3112adb9, 0xd5f3426b, _i, p1);
};
global.N_0x3112adb9d5f3426b = global.InventoryCopyItemToMissionInventory;

/**
 * INVENTORY_COPY_MP_INVENTORY_TO_MISSION_INVENTORY
 */
global.InventoryCopyMpInventoryToMissionInventory = function (p0, p1, bCopySatchelItems, bCopyEmotes, bCopyHorse, p5) {
	return _in(0x644ccb76, 0xa76cfbd6, p0, p1, bCopySatchelItems, bCopyEmotes, bCopyHorse, p5);
};
global.N_0x644ccb76a76cfbd6 = global.InventoryCopyMpInventoryToMissionInventory;

/**
 * filterName (collections): "ALL", "ALL SATCHEL", "ALL HORSES", "ALL COACHES", "ALL MOUNTS", "ALL CLOTHING", "ALL WEAPONS", "ALL SATCHEL EXCLUDING CLOTHING", "ALL EXCLUDING CLOTHING"
 * slotId: -1591664384
 * p3: outCollectionSize (?)
 * Returns collectionId
 */
global.InventoryCreateItemCollection = function (inventoryId, filterName, slotId, size) {
	return _in(0x80d78bdc, 0x9d88ef07, inventoryId, _ts(filterName), _ch(slotId), _ii(size) /* may be optional */, _r, _ri);
};
global.N_0x80d78bdc9d88ef07 = global.InventoryCreateItemCollection;

/**
 * _INVENTORY_CREATE_ITEM_COLLECTION_WITH_FILTER
 */
global.InventoryCreateItemCollectionWithFilter = function (inventoryId) {
	return _in(0x640f890c, 0x3e5a3ffd, inventoryId, _i, _i, _r, _ri);
};
global.N_0x640f890c3e5a3ffd = global.InventoryCreateItemCollectionWithFilter;

/**
 * Returns collectionId
 * ```
 * ```
 * NativeDB Introduced: v1232
 */
global.InventoryCreateItemCollection_2 = function (collectionSize) {
	return _in(0x97a36466, 0x45727f42, _ii(collectionSize) /* may be optional */, _r, _ri);
};

/**
 * p1: 32
 * Returns collectionId
 * ```
 * ```
 * NativeDB Introduced: v1311
 */
global.InventoryCreateSortedCollection = function (inventoryId, p1, size) {
	return _in(0xbb7f9686, 0x75b34b0c, inventoryId, p1, _ii(size) /* may be optional */, _r, _ri);
};

/**
 * Example: (1, WEAPON_REVOLVER_CATTLEMAN, 0) - disables cattleman revolver on weapon wheel
 */
global.InventoryDisableItem = function (inventoryId, item, gtxReason) {
	return _in(0x766315a5, 0x64594401, inventoryId, _ch(item), _ch(gtxReason));
};
global.N_0x766315a564594401 = global.InventoryDisableItem;

/**
 * NativeDB Introduced: v1311
 */
global.InventoryDisableMissionInventoryPickups = function () {
	return _in(0xe1f389f0, 0x3dc83673);
};

/**
 * Params: p1 = 0
 */
global.InventoryDisableWeapons = function (inventoryId, p1) {
	return _in(0xe3a46370, 0xf70f3607, inventoryId, p1);
};
global.N_0xe3a46370f70f3607 = global.InventoryDisableWeapons;

/**
 * _INVENTORY_DOES_ITEM_OWN_EQUIPMENT
 */
global.InventoryDoesItemOwnEquipment = function (inventoryId, item) {
	return _in(0x88b58b83, 0xa43a8cab, inventoryId, _i, _ch(item), _r, _ri);
};
global.N_0x88b58b83a43a8cab = global.InventoryDoesItemOwnEquipment;

/**
 * _INVENTORY_ENABLE_ITEM
 */
global.InventoryEnableItem = function (inventoryId, item) {
	return _in(0x6a564540, 0xfac12211, inventoryId, _ch(item));
};
global.N_0x6a564540fac12211 = global.InventoryEnableItem;

/**
 * _INVENTORY_ENABLE_WEAPONS
 */
global.InventoryEnableWeapons = function (inventoryId) {
	return _in(0xd5d72f16, 0x24f3ba7c, inventoryId);
};
global.N_0xd5d72f1624f3ba7c = global.InventoryEnableWeapons;

/**
 * _INVENTORY_EQUIP_ITEM_WITH_GUID
 */
global.InventoryEquipItemWithGuid = function (inventoryId, bEquipped) {
	return _in(0x734311e2, 0x852760d0, inventoryId, _i, bEquipped, _r, _ri);
};
global.N_0x734311e2852760d0 = global.InventoryEquipItemWithGuid;

/**
 * _INVENTORY_FITS_SLOT_ID
 */
global.InventoryFitsSlotId = function (item, slotId) {
	return _in(0x780c5b9a, 0xe2819807, _ch(item), _ch(slotId), _r, _ri);
};
global.N_0x780c5b9ae2819807 = global.InventoryFitsSlotId;

/**
 * _INVENTORY_GET_CHILDREN_COUNT
 */
global.InventoryGetChildrenCount = function (inventoryId, parentGuid) {
	return _in(0xe843d21a, 0x8e2498aa, inventoryId, _ii(parentGuid) /* may be optional */, _r, _ri);
};
global.N_0xe843d21a8e2498aa = global.InventoryGetChildrenCount;

/**
 * INVENTORY_GET_CHILDREN_IN_SLOT_COUNT
 */
global.InventoryGetChildrenInSlotCount = function (inventoryId, slotId) {
	return _in(0x033ee4b8, 0x9f3ac545, inventoryId, _i, _ch(slotId), _r, _ri);
};
global.N_0x033ee4b89f3ac545 = global.InventoryGetChildrenInSlotCount;

/**
 * _INVENTORY_GET_FULL_INVENTORY_ITEM_DATA
 */
global.InventoryGetFullInventoryItemData = function (inventoryId, p3, p4) {
	return _in(0x025a1b1f, 0xb03fbf61, inventoryId, _i, _i, p3, p4, _r, _ri);
};
global.N_0x025a1b1fb03fbf61 = global.InventoryGetFullInventoryItemData;

/**
 * INVENTORY_GET_GUID_FROM_ITEMID
 */
global.InventoryGetGuidFromItemid = function (inventoryId, p2, slotId) {
	return _in(0x886dfd3e, 0x185c8a89, inventoryId, _i, _ch(p2), _ch(slotId), _i, _r, _ri);
};
global.N_0x886dfd3e185c8a89 = global.InventoryGetGuidFromItemid;

/**
 * Returns a unique inventory ID for this ped.
 * For the local player ped, it is an eInventories value.
 * For other peds, it is the inventory address casted to unsigned int.
 * enum eInventories
 * {
 * INVENTORY_INVALID,
 * INVENTORY_SP_PLAYER,
 * INVENTORY_MP_PLAYER,
 * INVENTORY_MP_MISSION,
 * INVENTORY_SECOND_SCREEN,
 * INVENTORY_SP_BACKUP,
 * INVENTORY_SP_SNAPSHOT,
 * INVENTORY_0xDE2AE452,
 * INVENTORY_0x399D9B3A,
 * INVENTORY_0x4BD43FA7,
 * INVENTORY_0x9529D251,
 * INVENTORY_0xA75776AC,
 * INVENTORY_MAX_ID = 11,
 * INVENTORY_IDS_COUNT
 * };
 */
global.InventoryGetInventoryIdFromPed = function (ped) {
	return _in(0x13d234a2, 0xa3f66e63, ped, _r, _ri);
};
global.N_0x13d234a2a3f66e63 = global.InventoryGetInventoryIdFromPed;

/**
 * INVENTORY_GET_INVENTORY_ITEM
 */
global.InventoryGetInventoryItem = function (inventoryId, p3) {
	return _in(0x9700e8ef, 0xc4ab9089, inventoryId, _i, _i, p3, _r, _ri);
};
global.N_0x9700e8efc4ab9089 = global.InventoryGetInventoryItem;

/**
 * _INVENTORY_GET_INVENTORY_ITEM_CHILD
 */
global.InventoryGetInventoryItemChild = function (inventoryId, childIndex) {
	return _in(0xcd9a485f, 0x2b383b44, inventoryId, _i, childIndex, _i, _r, _ri);
};
global.N_0xcd9a485f2b383b44 = global.InventoryGetInventoryItemChild;

/**
 * _INVENTORY_GET_INVENTORY_ITEM_COUNT_WITH_GUID
 */
global.InventoryGetInventoryItemCountWithGuid = function (inventoryId, p2) {
	return _in(0xc97e0d23, 0x02382211, inventoryId, _i, p2, _r, _ri);
};
global.N_0xc97e0d2302382211 = global.InventoryGetInventoryItemCountWithGuid;

/**
 * _INVENTORY_GET_INVENTORY_ITEM_COUNT_WITH_ITEMID
 */
global.InventoryGetInventoryItemCountWithItemid = function (inventoryId, eInventoryItem, p2) {
	return _in(0xe787f05d, 0xfc977bde, inventoryId, _ch(eInventoryItem), p2, _r, _ri);
};
global.N_0xe787f05dfc977bde = global.InventoryGetInventoryItemCountWithItemid;

/**
 * _INVENTORY_GET_INVENTORY_ITEM_DESCRIPTION_HASH
 */
global.InventoryGetInventoryItemDescriptionHash = function (item) {
	return _in(0xa4550fe9, 0xc512e3dd, _ch(item), _r, _ri);
};
global.N_0xa4550fe9c512e3dd = global.InventoryGetInventoryItemDescriptionHash;

/**
 * _INVENTORY_GET_INVENTORY_ITEM_EQUIPPED_IN_SLOT
 */
global.InventoryGetInventoryItemEquippedInSlot = function (inventoryId, slotId, p3) {
	return _in(0xbe012571, 0xb25f5aca, inventoryId, _i, _ch(slotId), p3, _i, _r, _ri);
};
global.N_0xbe012571b25f5aca = global.InventoryGetInventoryItemEquippedInSlot;

/**
 * _INVENTORY_GET_INVENTORY_ITEM_EQUIPPED_IN_SLOT_BY_REF
 */
global.InventoryGetInventoryItemEquippedInSlotByRef = function (inventoryId, slotId) {
	return _in(0x22e590f1, 0x08289a9d, inventoryId, _i, _ch(slotId), _i, _r, _ri);
};
global.N_0x22e590f108289a9d = global.InventoryGetInventoryItemEquippedInSlotByRef;

/**
 * _INVENTORY_GET_INVENTORY_ITEM_FIT_SLOT
 */
global.InventoryGetInventoryItemFitSlot = function (p0, p2) {
	return _in(0xb991fe16, 0x6faf84fd, _ch(p0), _i, p2, _r, _ri);
};
global.N_0xb991fe166faf84fd = global.InventoryGetInventoryItemFitSlot;

/**
 * _INVENTORY_GET_INVENTORY_ITEM_HIDDEN
 */
global.InventoryGetInventoryItemHidden = function (inventoryId, guid) {
	return _in(0xf9933164, 0x965533b7, inventoryId, _ii(guid) /* may be optional */, _r, _ri);
};
global.N_0xf9933164965533b7 = global.InventoryGetInventoryItemHidden;

/**
 * NativeDB Introduced: v1311
 */
global.InventoryGetInventoryItemInUse = function (inventoryId, guid) {
	return _in(0x70e3a884, 0xed000a01, inventoryId, _ii(guid) /* may be optional */, _r);
};

/**
 * _INVENTORY_GET_INVENTORY_ITEM_INSPECTION_INFO
 */
global.InventoryGetInventoryItemInspectionInfo = function (item, info) {
	return _in(0x0c093c17, 0x87f18519, _ch(item), _ii(info) /* may be optional */, _r, _ri);
};
global.N_0x0c093c1787f18519 = global.InventoryGetInventoryItemInspectionInfo;

/**
 * _INVENTORY_GET_INVENTORY_ITEM_IS_ANIMAL_PELT
 */
global.InventoryGetInventoryItemIsAnimalPelt = function (item) {
	return _in(0x4aef1fb5, 0xb9011d75, _ch(item), _r, _ri);
};
global.N_0x4aef1fb5b9011d75 = global.InventoryGetInventoryItemIsAnimalPelt;

/**
 * soundType: see 0x2BAE4880DCDD560B
 * Returns item Hash to be used with _IS_SCRIPTED_AUDIO_CUSTOM and _PLAY_SOUND_FROM_ITEM (p0)
 */
global.InventoryGetInventoryItemSound = function (item, soundType) {
	return _in(0x2e1cdc1f, 0xf3b8473e, _ch(item), soundType, _r, _ri);
};
global.N_0x2e1cdc1ff3b8473e = global.InventoryGetInventoryItemSound;

/**
 * Returns CopyID
 */
global.InventoryGetInventoryItemWeaponCopyId = function (inventoryId, guid) {
	return _in(0xab5f1274, 0x6a099a0e, inventoryId, _ii(guid) /* may be optional */, _r, _ri);
};
global.N_0xab5f12746a099a0e = global.InventoryGetInventoryItemWeaponCopyId;

/**
 * soundType: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/CItemInfoSoundsInterface__sSoundsInfo__eSoundType
 */
global.InventoryGetIsInventoryItemSoundValid = function (item, soundType) {
	return _in(0x2bae4880, 0xdcdd560b, _ch(item), soundType, _r, _ri);
};
global.N_0x2bae4880dcdd560b = global.InventoryGetIsInventoryItemSoundValid;

/**
 * NativeDB Introduced: v1232
 */
global.InventoryGetItemExpiryTime = function (itemGUID) {
	return _in(0x4a606c17, 0x276e1bcc, _ii(itemGUID) /* may be optional */, _r, _ri);
};

/**
 * collectionId is < outCollectionSize
 */
global.InventoryGetItemFromCollectionIndex = function (collectionId, itemIndex, itemData) {
	return _in(0x82fa24c3, 0xd3fcd9b7, collectionId, itemIndex, _ii(itemData) /* may be optional */, _r, _ri);
};
global.N_0x82fa24c3d3fcd9b7 = global.InventoryGetItemFromCollectionIndex;

/**
 * _INVENTORY_IS_GUID_VALID
 */
global.InventoryIsGuidValid = function (guid) {
	return _in(0xb881ca83, 0x6cc4b6d4, _ii(guid) /* may be optional */, _r, _ri);
};
global.N_0xb881ca836cc4b6d4 = global.InventoryIsGuidValid;

/**
 * Alternative Name: _INVENTORY_IS_ITEM_DISABLED
 */
global.InventoryIsInventoryItemEquipped = function (inventoryId, item, p2) {
	return _in(0x3d10d717, 0x9d7034af, inventoryId, _ch(item), p2, _r, _ri);
};
global.N_0x3d10d7179d7034af = global.InventoryIsInventoryItemEquipped;

/**
 * flag: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/ItemDatabaseItemFlags
 * 2097152 (is item read?), 8388608 (is item sent/received/mailable?), 16777216 (is item consumable?)
 */
global.InventoryIsInventoryItemFlagEnabled = function (item, flag) {
	return _in(0x245d0765, 0x1b1d183b, _ch(item), flag, _r, _ri);
};
global.N_0x245d07651b1d183b = global.InventoryIsInventoryItemFlagEnabled;

/**
 * NativeDB Introduced: v1232
 */
global.InventoryIsItemExpired = function (itemGUID) {
	return _in(0x0137c77a, 0x2ec64536, _ii(itemGUID) /* may be optional */, _r);
};

/**
 * _INVENTORY_IS_PLAYER_INVENTORY_MIRRORING_TRANSACTIONS
 */
global.InventoryIsPlayerInventoryMirroringTransactions = function () {
	return _in(0xfc7563f4, 0x82781a3d, _r, _ri);
};
global.N_0xfc7563f482781a3d = global.InventoryIsPlayerInventoryMirroringTransactions;

/**
 * guid1: old parent GUID
 * guid2: new parent GUID
 * guid3: new item GUID (out param)
 */
global.InventoryMoveInventoryItem = function (inventoryId, slotId, quantity) {
	return _in(0xdccaa7c3, 0xbfd88862, inventoryId, _i, _i, _ch(slotId), quantity, _i, _r, _ri);
};
global.N_0xdccaa7c3bfd88862 = global.InventoryMoveInventoryItem;

/**
 * Max num of collections is 5, so release your unused ones.
 */
global.InventoryReleaseItemCollection = function (collectionId) {
	return _in(0x42a2f33a, 0x1942e865, collectionId, _r, _ri);
};
global.N_0x42a2f33a1942e865 = global.InventoryReleaseItemCollection;

/**
 * _INVENTORY_REMOVE_INVENTORY_ITEM_WITH_GUID
 */
global.InventoryRemoveInventoryItemWithGuid = function (inventoryId, quantity, removeReason) {
	return _in(0x3e4e8114, 0x80b3ae79, inventoryId, _i, quantity, _ch(removeReason), _r, _ri);
};
global.N_0x3e4e811480b3ae79 = global.InventoryRemoveInventoryItemWithGuid;

/**
 * _INVENTORY_REMOVE_INVENTORY_ITEM_WITH_ITEMID
 */
global.InventoryRemoveInventoryItemWithItemid = function (inventoryId, item, quantity, removeReason) {
	return _in(0xb4158c8c, 0x9a3b5dce, inventoryId, _ch(item), quantity, _ch(removeReason), _r, _ri);
};
global.N_0xb4158c8c9a3b5dce = global.InventoryRemoveInventoryItemWithItemid;

/**
 * Used with CClothingItem
 */
global.InventorySetInventoryItemHidden = function (inventoryId, hidden) {
	return _in(0x9a113c66, 0x0aea3832, inventoryId, _i, hidden);
};
global.N_0x9a113c660aea3832 = global.InventorySetInventoryItemHidden;

/**
 * Used with CSatchelItem, R* Script usage: fisihing_core
 */
global.InventorySetInventoryItemHidden_2 = function (inventoryId, hidden) {
	return _in(0xd740f11f, 0xbc8aef43, inventoryId, _i, hidden);
};
global.N_0xd740f11fbc8aef43 = global.InventorySetInventoryItemHidden_2;

/**
 * Only works on CClothingItem
 */
global.InventorySetInventoryItemInUse = function (inventoryId, inUse) {
	return _in(0x65a5f70f, 0x4a292ebe, inventoryId, _i, inUse);
};
global.N_0x65a5f70f4a292ebe = global.InventorySetInventoryItemInUse;

/**
 * _INVENTORY_SET_INVENTORY_ITEM_INSPECTION_ENABLED
 */
global.InventorySetInventoryItemInspectionEnabled = function (inventoryId, enabled) {
	return _in(0x227522fd, 0x59ddb7e8, inventoryId, _i, enabled, _r, _ri);
};
global.N_0x227522fd59ddb7e8 = global.InventorySetInventoryItemInspectionEnabled;

/**
 * OWE_INVALID = -1,
 * OWE_GOOD_IN_HOT
 * OWE_GOOD_IN_NONE
 * OWE_GOOD_IN_COLD
 * OWE_GOOD_IN_ALL
 */
global.InventorySetInventoryItemWeatherEffectiveness = function (inventoryId, weatherEffectiveness) {
	return _in(0x6d2f9877, 0x36a42d4c, inventoryId, _i, weatherEffectiveness);
};
global.N_0x6d2f987736a42d4c = global.InventorySetInventoryItemWeatherEffectiveness;

/**
 * _INVENTORY_SWAP_INVENTORY_ITEM
 */
global.InventorySwapInventoryItem = function (inventoryId) {
	return _in(0xf2753d69, 0x1bcda314, inventoryId, _i, _i, _r, _ri);
};
global.N_0xf2753d691bcda314 = global.InventorySwapInventoryItem;

/**
 * Getter: _INVENTORY_GET_FULL_INVENTORY_ITEM_DATA
 */
global.InventoryUpdateInventoryItem = function (inventoryId, p3) {
	return _in(0xd80a8854, 0xdb5cfba5, inventoryId, _i, _i, p3, _r, _ri);
};
global.N_0xd80a8854db5cfba5 = global.InventoryUpdateInventoryItem;

/**
 * _INVENTORY_USE_MISSION_INVENTORY
 */
global.InventoryUseMissionInventory = function (enable, mirrorTransactions) {
	return _in(0xa6aa9f56, 0xbc6cff58, enable, mirrorTransactions);
};
global.N_0xa6aa9f56bc6cff58 = global.InventoryUseMissionInventory;

/**
 * _INVENTORY_USE_SP_BACKUP
 */
global.InventoryUseSpBackup = function () {
	return _in(0x7c7e4ab7, 0x48ea3b07, _r, _ri);
};
global.N_0x7c7e4ab748ea3b07 = global.InventoryUseSpBackup;

/**
 * _INVERSE_KINEMATICS_REQUEST_LOOK_AT
 */
global.InverseKinematicsRequestLookAt = function (ped, args) {
	return _in(0x66f9eb44, 0x342bb4c5, ped, _ii(args) /* may be optional */);
};
global.N_0x66f9eb44342bb4c5 = global.InverseKinematicsRequestLookAt;

/**
 * Seems to disable IK on ped
 */
global.InverseKinematicsSetDisabledForPed = function (ped, p1, p2) {
	return _in(0x0eabf182, 0xfbb63d72, ped, p1, p2);
};
global.N_0x0eabf182fbb63d72 = global.InverseKinematicsSetDisabledForPed;

/**
 * IPL_GROUP_SWAP_CANCEL
 */
global.IplGroupSwapCancel = function () {
	return _in(0x31108bb5, 0x715d035f);
};
global.N_0x31108bb5715d035f = global.IplGroupSwapCancel;

/**
 * IPL_GROUP_SWAP_FINISH
 */
global.IplGroupSwapFinish = function () {
	return _in(0x040ee319, 0xefd1d3b5);
};
global.N_0x040ee319efd1d3b5 = global.IplGroupSwapFinish;

/**
 * IPL_GROUP_SWAP_IS_ACTIVE
 */
global.IplGroupSwapIsActive = function () {
	return _in(0xfc464598, 0xf6ee97b0, _r, _ri);
};
global.N_0xfc464598f6ee97b0 = global.IplGroupSwapIsActive;

/**
 * IPL_GROUP_SWAP_IS_READY
 */
global.IplGroupSwapIsReady = function () {
	return _in(0xc2c05def, 0xe85a0b64, _r);
};
global.N_0xc2c05defe85a0b64 = global.IplGroupSwapIsReady;

/**
 * IPL_GROUP_SWAP_START
 */
global.IplGroupSwapStart = function (iplName1, iplName2) {
	return _in(0x20d50499, 0x4fdc4412, _ts(iplName1), _ts(iplName2));
};
global.N_0x20d504994fdc4412 = global.IplGroupSwapStart;

/**
 * IS_ACE_ALLOWED
 */
global.IsAceAllowed = function (object) {
	return _in(0x00000000, 0x7ebb9929, _ts(object), _r);
};

/**
 * _IS_AGGREGATE_VOLUME
 */
global.IsAggregateVolume = function (volume) {
	return _in(0xfeff01b5, 0x725bcd22, volume, _r, _ri);
};
global.N_0xfeff01b5725bcd22 = global.IsAggregateVolume;

/**
 * NativeDB Introduced: v1232
 */
global.IsAimCamActive = function () {
	return _in(0x698f456f, 0xb909e077, _r);
};

/**
 * IS_AMBIENT_SPEECH_DISABLED
 */
global.IsAmbientSpeechDisabled = function (ped) {
	return _in(0x932c2d09, 0x6a2c3fff, ped, _r);
};

/**
 * IS_AMBIENT_SPEECH_PLAYING
 */
global.IsAmbientSpeechPlaying = function (ped) {
	return _in(0x9072c8b4, 0x9907bfad, ped, _r);
};

/**
 * NativeDB Introduced: v1232
 */
global.IsAmmoSilent = function (ammoHash) {
	return _in(0xd2866cba, 0x797e872e, _ch(ammoHash), _r);
};

/**
 * _IS_AMMO_SILENT_2
 */
global.IsAmmoSilent_2 = function (ammoHash) {
	return _in(0x7efacc58, 0x9b98c488, _ch(ammoHash), _r, _ri);
};
global.N_0x7efacc589b98c488 = global.IsAmmoSilent_2;

/**
 * _IS_AMMO_TYPE_VALID_FOR_WEAPON
 */
global.IsAmmoTypeValidForWeapon = function (weaponHash, ammoHash) {
	return _in(0xc570b881, 0x754df609, _ch(weaponHash), _ch(ammoHash), _r, _ri);
};
global.N_0xc570b881754df609 = global.IsAmmoTypeValidForWeapon;

/**
 * _IS_AMMO_VALID
 */
global.IsAmmoValid = function (ammoHash) {
	return _in(0x1f7977c9, 0x101f807f, _ch(ammoHash), _r, _ri);
};
global.N_0x1f7977c9101f807f = global.IsAmmoValid;

/**
 * IS_AN_ENTITY
 */
global.IsAnEntity = function (handle) {
	return _in(0x27cff3e5, 0xa286d3df, handle, _r);
};

/**
 * _IS_ANIM_SCENE_ABORTED
 */
global.IsAnimSceneAborted = function (animScene) {
	return _in(0x34a0671b, 0xe613d3d0, animScene, _r, _ri);
};
global.N_0x34a0671be613d3d0 = global.IsAnimSceneAborted;

/**
 * Only used in R* Script camera_photomode
 */
global.IsAnimSceneCamActive = function () {
	return _in(0x20389408, 0xf0e93b9a, _r, _ri);
};
global.N_0x20389408f0e93b9a = global.IsAnimSceneCamActive;

/**
 * IS_ANIM_SCENE_EXITING_THIS_FRAME
 */
global.IsAnimSceneExitingThisFrame = function (animScene) {
	return _in(0xcdc5512a, 0x407cf08d, animScene, _r, _ri);
};
global.N_0xcdc5512a407cf08d = global.IsAnimSceneExitingThisFrame;

/**
 * IS_ANIM_SCENE_FINISHED
 */
global.IsAnimSceneFinished = function (animScene, p1) {
	return _in(0xd8254cb2, 0xc586412b, animScene, p1, _r, _ri);
};
global.N_0xd8254cb2c586412b = global.IsAnimSceneFinished;

/**
 * IS_ANIM_SCENE_IN_SECTION
 */
global.IsAnimSceneInSection = function (animScene, sectionName, p2) {
	return _in(0x8d81e782, 0x4b7753f7, animScene, _ts(sectionName), p2, _r, _ri);
};
global.N_0x8d81e7824b7753f7 = global.IsAnimSceneInSection;

/**
 * IS_ANIM_SCENE_LOADED
 */
global.IsAnimSceneLoaded = function (animScene, p1, p2) {
	return _in(0x477122b8, 0xd05e7968, animScene, p1, p2, _r, _ri);
};
global.N_0x477122b8d05e7968 = global.IsAnimSceneLoaded;

/**
 * _IS_ANIM_SCENE_LOADING
 */
global.IsAnimSceneLoading = function (animScene, p1) {
	return _in(0x59606519, 0xff9d3ec2, animScene, p1, _r, _ri);
};
global.N_0x59606519ff9d3ec2 = global.IsAnimSceneLoading;

/**
 * _IS_ANIM_SCENE_METADATA_ASSET_IN_RANGE_LOADING
 */
global.IsAnimSceneMetadataAssetInRangeLoading = function (animScene, p1) {
	return _in(0xf8d1d2da, 0xb6007eef, animScene, p1, _r, _ri);
};
global.N_0xf8d1d2dab6007eef = global.IsAnimSceneMetadataAssetInRangeLoading;

/**
 * IS_ANIM_SCENE_METADATA_LOADED
 */
global.IsAnimSceneMetadataLoaded = function (animScene, p1) {
	return _in(0x95531a4a, 0x20cce7bc, animScene, p1, _r, _ri);
};
global.N_0x95531a4a20cce7bc = global.IsAnimSceneMetadataLoaded;

/**
 * _IS_ANIM_SCENE_PAUSED
 */
global.IsAnimScenePaused = function (animScene) {
	return _in(0x4b403879, 0x6f0d6566, animScene, _r, _ri);
};
global.N_0x4b4038796f0d6566 = global.IsAnimScenePaused;

/**
 * _IS_ANIM_SCENE_PLAYBACK_LIST_PHASE_ACTIVE
 */
global.IsAnimScenePlaybackListPhaseActive = function (animScene, phaseName) {
	return _in(0x1f0e4010, 0x31e20146, animScene, _ts(phaseName), _r, _ri);
};
global.N_0x1f0e401031e20146 = global.IsAnimScenePlaybackListPhaseActive;

/**
 * _IS_ANIM_SCENE_PLAYBACK_LIST_PHASE_LOADED
 */
global.IsAnimScenePlaybackListPhaseLoaded = function (animScene, phaseName) {
	return _in(0x23e33cb9, 0xf4a3f547, animScene, _ts(phaseName), _r, _ri);
};
global.N_0x23e33cb9f4a3f547 = global.IsAnimScenePlaybackListPhaseLoaded;

/**
 * _IS_ANIM_SCENE_PLAYBACK_LIST_PHASE_LOADING
 */
global.IsAnimScenePlaybackListPhaseLoading = function (animScene, phaseName) {
	return _in(0x0df57f86, 0xfe71dbe5, animScene, _ts(phaseName), _r, _ri);
};
global.N_0x0df57f86fe71dbe5 = global.IsAnimScenePlaybackListPhaseLoading;

/**
 * IS_ANIM_SCENE_RUNNING
 */
global.IsAnimSceneRunning = function (animScene, p1) {
	return _in(0xcbfc7725, 0xde6ce2e0, animScene, p1, _r, _ri);
};
global.N_0xcbfc7725de6ce2e0 = global.IsAnimSceneRunning;

/**
 * _IS_ANIM_SCENE_SKIPPABLE
 */
global.IsAnimSceneSkippable = function (animScene) {
	return _in(0x4cdffe31, 0x89ebdbd0, animScene, _r, _ri);
};
global.N_0x4cdffe3189ebdbd0 = global.IsAnimSceneSkippable;

/**
 * Returns true only if it's a player ped and an animal as well.
 * _IS_ANY_* - _IS_CONTROL_*
 * ```
 * ```
 * NativeDB Introduced: v1311
 */
global.IsAnimalControlledByAPlayer = function (ped) {
	return _in(0x0e2f4351, 0x6f998269, ped, _r);
};

/**
 * IS_ANIMAL_INTERACTION_POSSIBLE
 */
global.IsAnimalInteractionPossible = function (ped, animal) {
	return _in(0xd543d3a8, 0xfde4f185, ped, animal, _r, _ri);
};
global.N_0xd543d3a8fde4f185 = global.IsAnimalInteractionPossible;

/**
 * _IS_ANIMAL_INTERACTION_RUNNING
 */
global.IsAnimalInteractionRunning = function (ped) {
	return _in(0x7fc84e85, 0xd98f063d, ped, _r, _ri);
};
global.N_0x7fc84e85d98f063d = global.IsAnimalInteractionRunning;

/**
 * IS_ANIMAL_VOCALIZATION_PLAYING
 */
global.IsAnimalVocalizationPlaying = function (pedHandle) {
	return _in(0xc265df9f, 0xb44a9fbd, pedHandle, _r);
};

/**
 * _IS_ANY_BIT_FLAG_SET
 */
global.IsAnyBitFlagSet = function (bitFlags) {
	return _in(0x80e9c316, 0xef84dd81, _ii(bitFlags) /* may be optional */, _r, _ri);
};
global.N_0x80e9c316ef84dd81 = global.IsAnyBitFlagSet;

/**
 * _IS_ANY_CONVERSATION_PLAYING
 */
global.IsAnyConversationPlaying = function (p0) {
	return _in(0xa2cac9de, 0xf0195e6f, p0, _r, _ri);
};
global.N_0xa2cac9def0195e6f = global.IsAnyConversationPlaying;

/**
 * NativeDB Introduced: v1311
 */
global.IsAnyHostilePedNearPoint = function (ped, x, y, z, radius) {
	return _in(0x68772db2, 0xb2526f9f, ped, _fv(x), _fv(y), _fv(z), _fv(radius), _r);
};

/**
 * IS_ANY_PED_NEAR_POINT
 */
global.IsAnyPedNearPoint = function (x, y, z, radius) {
	return _in(0x08396149, 0x8679dc9f, _fv(x), _fv(y), _fv(z), _fv(radius), _r);
};

/**
 * IS_ANY_PED_SHOOTING_IN_AREA
 */
global.IsAnyPedShootingInArea = function (x1, y1, z1, x2, y2, z2, p6, p7) {
	return _in(0xa0d3d71e, 0xa1086c55, _fv(x1), _fv(y1), _fv(z1), _fv(x2), _fv(y2), _fv(z2), p6, p7, _r);
};

/**
 * _IS_ANY_PLAYER_BIT_SET
 */
global.IsAnyPlayerBitSet = function (playerBits) {
	return _in(0x179a6f0e, 0xe2e79026, _ii(playerBits) /* may be optional */, _r, _ri);
};
global.N_0x179a6f0ee2e79026 = global.IsAnyPlayerBitSet;

/**
 * IS_ANY_SPEECH_PLAYING
 */
global.IsAnySpeechPlaying = function (ped) {
	return _in(0x72907235, 0x5fa39ec9, ped, _r);
};

/**
 * IS_ANY_UIAPP_ACTIVE
 */
global.IsAnyUiappActive = function () {
	return _in(0xac959ab9, 0x9aaf3d9f, _r, _ri);
};
global.N_0xac959ab99aaf3d9f = global.IsAnyUiappActive;

/**
 * IS_ANY_UIAPP_RUNNING
 */
global.IsAnyUiappRunning = function () {
	return _in(0xdb30bec7, 0xa7a5cbd3, _r, _ri);
};
global.IsAnyAppRunning = global.IsAnyUiappRunning;

/**
 * IS_ANY_VEHICLE_NEAR_POINT
 */
global.IsAnyVehicleNearPoint = function (x, y, z, radius) {
	return _in(0x5698ba4f, 0xd04d39c4, _fv(x), _fv(y), _fv(z), _fv(radius), _r);
};

/**
 * _IS_ATTRIBUTE_CORE_OVERPOWERED
 */
global.IsAttributeCoreOverpowered = function (ped, coreIndex) {
	return _in(0x200373a8, 0xdf081f22, ped, coreIndex, _r, _ri);
};
global.N_0x200373a8df081f22 = global.IsAttributeCoreOverpowered;

/**
 * attributeIndex: see SET_ATTRIBUTE_BASE_RANK
 */
global.IsAttributeOverpowered = function (ped, attributeIndex) {
	return _in(0x103c2f88, 0x5abeb00b, ped, attributeIndex, _r, _ri);
};
global.N_0x103c2f885abeb00b = global.IsAttributeOverpowered;

/**
 * IS_AUDIO_SCENE_ACTIVE
 */
global.IsAudioSceneActive = function (scene) {
	return _in(0xb65b6055, 0x6e2a9225, _ts(scene), _r);
};

/**
 * _IS_BACKGROUND_SCRIPT
 */
global.IsBackgroundScript = function (threadId) {
	return _in(0x20b7f69b, 0x40c6b755, threadId, _r, _ri);
};
global.N_0x20b7f69b40c6b755 = global.IsBackgroundScript;

/**
 * _IS_BASE_A_COVER_POINT
 */
global.IsBaseACoverPoint = function (handle) {
	return _in(0xfec1d4b5, 0xc82c176f, handle, _r, _ri);
};
global.N_0xfec1d4b5c82c176f = global.IsBaseACoverPoint;

/**
 * _IS_BASE_A_PERSISTENT_CHARACTER
 */
global.IsBaseAPersistentCharacter = function (handle) {
	return _in(0x716f17f8, 0xa0419f95, handle, _r, _ri);
};
global.N_0x716f17f8a0419f95 = global.IsBaseAPersistentCharacter;

/**
 * _IS_BIT_FLAG_SET
 */
global.IsBitFlagSet = function (flag) {
	return _in(0x8f4f0500, 0x54005c27, _i, flag, _r, _ri);
};
global.N_0x8f4f050054005c27 = global.IsBitFlagSet;

/**
 * IS_BIT_SET
 */
global.IsBitSet = function (address, offset) {
	return _in(0x4ed6cfdf, 0xe8d4131a, address, offset, _r);
};

/**
 * _IS_BLIP_ATTACHED_TO_ANY_ENTITY
 */
global.IsBlipAttachedToAnyEntity = function (blip) {
	return _in(0xe9f67678, 0x8f8d5e1e, blip, _r, _ri);
};
global.N_0xe9f676788f8d5e1e = global.IsBlipAttachedToAnyEntity;

/**
 * IS_BLIP_ON_MINIMAP
 */
global.IsBlipOnMinimap = function (blip) {
	return _in(0x46534526, 0xb9cd2d17, blip, _r);
};

/**
 * _IS_BOAT_GROUNDED
 */
global.IsBoatGrounded = function (vehicle) {
	return _in(0x30d86b2b, 0x7622d0eb, vehicle, _r, _ri);
};
global.N_0x30d86b2b7622d0eb = global.IsBoatGrounded;

/**
 * IS_BULLET_IN_ANGLED_AREA
 */
global.IsBulletInAngledArea = function (p0, p1, p2, p3, p4, p5, p6, p7) {
	return _in(0x9d09d849, 0x3747cf02, _fv(p0), _fv(p1), _fv(p2), _fv(p3), _fv(p4), _fv(p5), _fv(p6), p7, _r);
};

/**
 * IS_BULLET_IN_AREA
 */
global.IsBulletInArea = function (p0, p1, p2, p3, p4) {
	return _in(0xc652fd30, 0x8772d79e, _fv(p0), _fv(p1), _fv(p2), _fv(p3), p4, _r);
};

/**
 * IS_BULLET_IN_BOX
 */
global.IsBulletInBox = function (p0, p1, p2, p3, p4, p5, p6) {
	return _in(0xc128137c, 0x52152741, _fv(p0), _fv(p1), _fv(p2), _fv(p3), _fv(p4), _fv(p5), p6, _r);
};

/**
 * Returns whether or not the passed camera handle is active.
 */
global.IsCamActive = function (cam) {
	return _in(0x63efcc7e, 0x1810b8e6, cam, _r);
};

/**
 * _IS_CAM_DATA_DICT_LOADED
 */
global.IsCamDataDictLoaded = function (cameraDictionary) {
	return _in(0xdd0b7c5a, 0xe58f721d, _ts(cameraDictionary), _r, _ri);
};
global.N_0xdd0b7c5ae58f721d = global.IsCamDataDictLoaded;

/**
 * IS_CAM_INTERPOLATING
 */
global.IsCamInterpolating = function (cam) {
	return _in(0x578f8f1c, 0xaa17bd2b, cam, _r);
};

/**
 * _IS_CAM_PHOTOFX_RUNNING
 */
global.IsCamPhotofxRunning = function () {
	return _in(0xa14d5fe8, 0x2bcb1d9e, _r, _ri);
};
global.N_0xa14d5fe82bcb1d9e = global.IsCamPhotofxRunning;

/**
 * IS_CAM_RENDERING
 */
global.IsCamRendering = function (cam) {
	return _in(0x4415f8a6, 0xc536d39f, cam, _r);
};

/**
 * IS_CAM_SHAKING
 */
global.IsCamShaking = function (cam) {
	return _in(0x2eeb402b, 0xd7320159, cam, _r);
};

/**
 * _IS_CAMERA_AVAILABLE
 */
global.IsCameraAvailable = function (cameraDictionary) {
	return _in(0x927b810e, 0x43e99932, _ts(cameraDictionary), _r, _ri);
};
global.N_0x927b810e43e99932 = global.IsCameraAvailable;

/**
 * _IS_CARRIABLE_MODEL
 */
global.IsCarriableModel = function (model) {
	return _in(0x5affa9dd, 0xc87846f8, _ch(model), _r, _ri);
};
global.N_0x5affa9ddc87846f8 = global.IsCarriableModel;

/**
 * _IS_CINEMATIC_CAM_LOCATION_LOADED
 */
global.IsCinematicCamLocationLoaded = function (sLocationDictName) {
	return _in(0xaa235e2f, 0x2c09e952, _ts(sLocationDictName), _r);
};
global.N_0xaa235e2f2c09e952 = global.IsCinematicCamLocationLoaded;

/**
 * Checks data related to Cinematic Cam Locations, if the check fails, the location is being loaded using 0x1B3C2D961F5FC0E1.
 */
global.IsCinematicCamLocationLoaded_2 = function (locationDictName) {
	return _in(0x59555037, 0x6b7ea230, _ts(locationDictName), _r);
};
global.N_0x595550376b7ea230 = global.IsCinematicCamLocationLoaded_2;

/**
 * IS_CINEMATIC_CAM_RENDERING
 */
global.IsCinematicCamRendering = function () {
	return _in(0xbf7c7807, 0x31aadbf8, _r);
};

/**
 * Returns true if the collision at the specified coords is marked as being outside (false if there's an interior)
 */
global.IsCollisionMarkedOutside = function (x, y, z) {
	return _in(0xf291396b, 0x517e25b2, _fv(x), _fv(y), _fv(z), _r);
};
global.AreCoordsCollidingWithExterior = global.IsCollisionMarkedOutside;

/**
 * _IS_CONTROL_ACTION_VALID
 */
global.IsControlActionValid = function (action, control) {
	return _in(0xbc0884bc, 0x590951c7, _ch(action), control, _r, _ri);
};
global.N_0xbc0884bc590951c7 = global.IsControlActionValid;

/**
 * IS_CONTROL_ENABLED
 */
global.IsControlEnabled = function (control, action) {
	return _in(0x1cea6bfd, 0xf248e5d9, control, _ch(action), _r);
};

/**
 * IS_CONTROL_JUST_PRESSED
 */
global.IsControlJustPressed = function (control, action) {
	return _in(0x58041710, 0x1ddb492f, control, _ch(action), _r);
};

/**
 * IS_CONTROL_JUST_RELEASED
 */
global.IsControlJustReleased = function (control, action) {
	return _in(0x50f94025, 0x9d3841e6, control, _ch(action), _r);
};

/**
 * IS_CONTROL_PRESSED
 */
global.IsControlPressed = function (control, action) {
	return _in(0xf3a21bcd, 0x95725a4a, control, _ch(action), _r);
};

/**
 * IS_CONTROL_RELEASED
 */
global.IsControlReleased = function (control, action) {
	return _in(0x648ee3e7, 0xf38877dd, control, _ch(action), _r);
};

/**
 * IS_DAMAGE_TRACKER_ACTIVE_ON_NETWORK_ID
 */
global.IsDamageTrackerActiveOnNetworkId = function (netID) {
	return _in(0x6e192e33, 0xad436366, netID, _r);
};

/**
 * _IS_DEADEYE_ABILITY_LOCKED
 */
global.IsDeadeyeAbilityLocked = function (player, abilityType) {
	return _in(0x8a0643b0, 0xb4ca276b, player, abilityType, _r, _ri);
};
global.N_0x8a0643b0b4ca276b = global.IsDeadeyeAbilityLocked;

/**
 * IS_DEATH_FAIL_CAMERA_RUNNING
 */
global.IsDeathFailCameraRunning = function () {
	return _in(0x139efb0a, 0x71dd9011, _r, _ri);
};
global.N_0x139efb0a71dd9011 = global.IsDeathFailCameraRunning;

/**
 * IS_DECAL_ALIVE
 */
global.IsDecalAlive = function (decal) {
	return _in(0x3e4b4e5c, 0xf5d3eeb5, decal, _r);
};

/**
 * IS_DISABLED_CONTROL_JUST_PRESSED
 */
global.IsDisabledControlJustPressed = function (control, action) {
	return _in(0x91aef906, 0xbca88877, control, _ch(action), _r);
};

/**
 * IS_DISABLED_CONTROL_JUST_RELEASED
 */
global.IsDisabledControlJustReleased = function (control, action) {
	return _in(0x305c8dcd, 0x79da8b0f, control, _ch(action), _r);
};

/**
 * IS_DISABLED_CONTROL_PRESSED
 */
global.IsDisabledControlPressed = function (control, action) {
	return _in(0xe2587f8c, 0xbbd87b1d, control, _ch(action), _r);
};

/**
 * IS_DLC_PRESENT
 */
global.IsDlcPresent = function (dlcHash) {
	return _in(0x2763dc12, 0xbbe2bb6f, _ch(dlcHash), _r);
};

/**
 * IS_DOOR_CLOSED
 */
global.IsDoorClosed = function (doorHash) {
	return _in(0xc531ee8a, 0x1145a149, _ch(doorHash), _r);
};

/**
 * _IS_DOOR_REGISTERED_WITH_NETWORK
 */
global.IsDoorRegisteredWithNetwork = function (doorHash) {
	return _in(0xb5ded7b6, 0x5c604fdf, _ch(doorHash), _r, _ri);
};
global.N_0xb5ded7b65c604fdf = global.IsDoorRegisteredWithNetwork;

/**
 * Returns true if door is alredy registered with owner
 */
global.IsDoorRegisteredWithOwner = function (doorHash) {
	return _in(0x4f89dad4, 0x156ba145, _ch(doorHash), _r, _ri);
};
global.N_0x4f89dad4156ba145 = global.IsDoorRegisteredWithOwner;

/**
 * IS_DOOR_REGISTERED_WITH_SYSTEM
 */
global.IsDoorRegisteredWithSystem = function (doorHash) {
	return _in(0xc153c43e, 0xa202c8c1, _ch(doorHash), _r);
};

/**
 * IS_DRAFT_VEHICLE
 */
global.IsDraftVehicle = function (vehicle) {
	return _in(0xea44e978, 0x49e9f3dd, vehicle, _r, _ri);
};
global.N_0xea44e97849e9f3dd = global.IsDraftVehicle;

/**
 * IS_DRIVEBY_TASK_UNDERNEATH_DRIVING_TASK
 */
global.IsDrivebyTaskUnderneathDrivingTask = function (ped) {
	return _in(0x8785e6e4, 0x0c7a8818, ped, _r);
};

/**
 * Returns whether or not a browser is created for a specified DUI browser object.
 * @param duiObject The DUI browser handle.
 * @return A boolean indicating TRUE if the browser is created.
 */
global.IsDuiAvailable = function (duiObject) {
	return _in(0x00000000, 0x7aac3b4c, duiObject, _r);
};

/**
 * Gets whether or not this is the CitizenFX server.
 * @return A boolean value.
 */
global.IsDuplicityVersion = function () {
	return _in(0x00000000, 0xcf24c52e, _r);
};

/**
 * Hardcoded to return false.
 * Checks for XBOXONE Game Build.
 */
global.IsDurangoVersion = function () {
	return _in(0xd1ccc2a2, 0x639d325f, _r);
};

/**
 * _IS_EAGLE_EYE_REGISTERED_FOR_ENTITY
 */
global.IsEagleEyeRegisteredForEntity = function (player, entity) {
	return _in(0x0e684647, 0x6906c9dd, player, entity, _r, _ri);
};
global.N_0x0e6846476906c9dd = global.IsEagleEyeRegisteredForEntity;

/**
 * NativeDB Introduced: v1355
 */
global.IsEmoteTaskRunning = function (ped, p1) {
	return _in(0xcf9b71c0, 0xaf824036, ped, p1, _r);
};

/**
 * IS_ENTITY_A_GHOST
 */
global.IsEntityAGhost = function (entity) {
	return _in(0x21d04d7b, 0xc538c146, entity, _r);
};
global.N_0x21d04d7bc538c146 = global.IsEntityAGhost;

/**
 * IS_ENTITY_A_MISSION_ENTITY
 */
global.IsEntityAMissionEntity = function (entity) {
	return _in(0x138190f6, 0x4db4bbd1, entity, _r);
};

/**
 * IS_ENTITY_A_PED
 */
global.IsEntityAPed = function (entity) {
	return _in(0xcf817691, 0x2dda4ea5, entity, _r);
};

/**
 * IS_ENTITY_A_VEHICLE
 */
global.IsEntityAVehicle = function (entity) {
	return _in(0xc3d96af4, 0x5fccec4c, entity, _r);
};

/**
 * IS_ENTITY_AN_OBJECT
 */
global.IsEntityAnObject = function (entity) {
	return _in(0x0a27a546, 0xa375fdef, entity, _r);
};

/**
 * Checks if entity is within x/y/zSize distance of x/y/z.
 * Last three are unknown ints, almost always p7 = 0, p8 = 1, p9 = 0
 */
global.IsEntityAtCoord = function (entity, xPos, yPos, zPos, xSize, ySize, zSize, p7, p8, p9) {
	return _in(0x5e583426, 0x02e94718, entity, _fv(xPos), _fv(yPos), _fv(zPos), _fv(xSize), _fv(ySize), _fv(zSize), p7, p8, p9, _r);
};

/**
 * Checks if entity1 is within the box defined by x/y/zSize of entity2.
 * Last three parameters are almost always p5 = 0, p6 = 1, p7 = 0
 */
global.IsEntityAtEntity = function (entity1, entity2, xSize, ySize, zSize, p5, p6, p7) {
	return _in(0xc057f02b, 0x837a27f6, entity1, entity2, _fv(xSize), _fv(ySize), _fv(zSize), p5, p6, p7, _r);
};

/**
 * IS_ENTITY_ATTACHED
 */
global.IsEntityAttached = function (entity) {
	return _in(0xee6ad63a, 0xbf59c0b7, entity, _r);
};

/**
 * IS_ENTITY_ATTACHED_TO_ANY_OBJECT
 */
global.IsEntityAttachedToAnyObject = function (entity) {
	return _in(0x306c1f61, 0x78f01ab3, entity, _r);
};

/**
 * IS_ENTITY_ATTACHED_TO_ANY_PED
 */
global.IsEntityAttachedToAnyPed = function (entity) {
	return _in(0xc841153d, 0xed2ca89a, entity, _r);
};

/**
 * IS_ENTITY_ATTACHED_TO_ANY_VEHICLE
 */
global.IsEntityAttachedToAnyVehicle = function (entity) {
	return _in(0x12df6e0d, 0x2e736749, entity, _r);
};

/**
 * IS_ENTITY_ATTACHED_TO_ENTITY
 */
global.IsEntityAttachedToEntity = function (from, to) {
	return _in(0x154a3c52, 0x9497053e, from, to, _r);
};

/**
 * _IS_ENTITY_CONSUMED_BY_FIRE
 */
global.IsEntityConsumedByFire = function (entity) {
	return _in(0xcdc25355, 0xc0d65963, entity, _r, _ri);
};
global.N_0xcdc25355c0d65963 = global.IsEntityConsumedByFire;

/**
 * IS_ENTITY_DEAD
 */
global.IsEntityDead = function (entity) {
	return _in(0x7d5b1f88, 0xe7504bba, entity, _r);
};

/**
 * IS_ENTITY_EXITING_ANIM_SCENE_THIS_FRAME
 */
global.IsEntityExitingAnimSceneThisFrame = function (animScene, entityName) {
	return _in(0x005e6f28, 0xdd7ed58d, animScene, _ts(entityName), _r, _ri);
};
global.N_0x005e6f28dd7ed58d = global.IsEntityExitingAnimSceneThisFrame;

/**
 * IS_ENTITY_FOCUS
 */
global.IsEntityFocus = function (entity) {
	return _in(0xf87de697, 0xe9a06ec6, entity, _r);
};

/**
 * Getter for FREEZE_ENTITY_POSITION
 */
global.IsEntityFrozen = function (entity) {
	return _in(0x083d497d, 0x57b7400f, entity, _r, _ri);
};
global.N_0x083d497d57b7400f = global.IsEntityFrozen;

/**
 * _IS_ENTITY_FULLY_LOOTED
 */
global.IsEntityFullyLooted = function (entity) {
	return _in(0x8de41e99, 0x02e85756, entity, _r, _ri);
};
global.N_0x8de41e9902e85756 = global.IsEntityFullyLooted;

/**
 * IS_ENTITY_IN_AIR
 */
global.IsEntityInAir = function (entity, p1) {
	return _in(0x886e37ec, 0x497200b6, entity, p1, _r);
};

/**
 * Creates a spherical cone at origin that extends to surface with the angle specified. Then returns true if the entity is inside the spherical cone
 * Angle is measured in degrees.
 */
global.IsEntityInAngledArea = function (entity, originX, originY, originZ, edgeX, edgeY, edgeZ, angle, p8, p9, p10) {
	return _in(0xd3151e53, 0x134595e5, entity, _fv(originX), _fv(originY), _fv(originZ), _fv(edgeX), _fv(edgeY), _fv(edgeZ), _fv(angle), p8, p9, p10, _r);
};

/**
 * IS_ENTITY_IN_AREA
 */
global.IsEntityInArea = function (entity, x1, y1, z1, x2, y2, z2, p7, p8, p9) {
	return _in(0x0c2634c4, 0x0a16193e, entity, _fv(x1), _fv(y1), _fv(z1), _fv(x2), _fv(y2), _fv(z2), p7, p8, p9, _r);
};

/**
 * IS_ENTITY_IN_VOLUME
 */
global.IsEntityInVolume = function (entity, volume, p2, p3) {
	return _in(0x5a5526bc, 0x09c06623, entity, volume, p2, p3, _r);
};

/**
 * IS_ENTITY_IN_WATER
 */
global.IsEntityInWater = function (entity) {
	return _in(0xdde5c125, 0xac446723, entity, _r);
};

/**
 * IS_ENTITY_OCCLUDED
 */
global.IsEntityOccluded = function (entity) {
	return _in(0x140188e8, 0x84645624, entity, _r);
};

/**
 * IS_ENTITY_ON_FIRE
 */
global.IsEntityOnFire = function (entity) {
	return _in(0x1bd7c371, 0xce257c3e, entity, _r);
};

/**
 * IS_ENTITY_ON_SCREEN
 */
global.IsEntityOnScreen = function (entity) {
	return _in(0x613c15d5, 0xd8db781f, entity, _r);
};

/**
 * _IS_ENTITY_ON_TRAIN_TRACK
 */
global.IsEntityOnTrainTrack = function (entity) {
	return _in(0x857acb0a, 0xb4bd0d55, entity, _r, _ri);
};
global.N_0x857acb0ab4bd0d55 = global.IsEntityOnTrainTrack;

/**
 * _IS_ENTITY_OWNED_BY_PERSISTENCE_SYSTEM
 */
global.IsEntityOwnedByPersistenceSystem = function (entity) {
	return _in(0xa7e51b53, 0x309eac97, entity, _r, _ri);
};
global.N_0xa7e51b53309eac97 = global.IsEntityOwnedByPersistenceSystem;

/**
 * IS_ENTITY_PLAYING_ANIM
 */
global.IsEntityPlayingAnim = function (entity, animDict, animName, animType) {
	return _in(0xdee49d5c, 0xa6c49148, entity, _ts(animDict), _ts(animName), animType, _r);
};

/**
 * IS_ENTITY_PLAYING_ANIM_SCENE
 */
global.IsEntityPlayingAnimScene = function (entity, animScene) {
	return _in(0x3ab6c7b0, 0xbb0df4b1, entity, animScene, _r, _ri);
};
global.N_0x3ab6c7b0bb0df4b1 = global.IsEntityPlayingAnimScene;

/**
 * Params: p1 (probably animType) = 1, 0
 */
global.IsEntityPlayingAnyAnim = function (entity, p1) {
	return _in(0x0b7cb130, 0x0cbfe19c, entity, p1, _r);
};
global.N_0x0b7cb1300cbfe19c = global.IsEntityPlayingAnyAnim;

/**
 * IS_ENTITY_STATIC
 */
global.IsEntityStatic = function (entity) {
	return _in(0x86468adf, 0xa0f6b861, entity, _r);
};

/**
 * IS_ENTITY_TOUCHING_ENTITY
 */
global.IsEntityTouchingEntity = function (entity, targetEntity) {
	return _in(0x9a2304a6, 0x4c3c8423, entity, targetEntity, _r);
};

/**
 * IS_ENTITY_TOUCHING_MODEL
 */
global.IsEntityTouchingModel = function (entity, modelHash) {
	return _in(0x2ae3ebc8, 0xdeb9768b, entity, _ch(modelHash), _r);
};

/**
 * _IS_ENTITY_UNDERWATER
 */
global.IsEntityUnderwater = function (entity, p1) {
	return _in(0xd4e5c1e9, 0x3c466127, entity, p1, _r, _ri);
};
global.N_0xd4e5c1e93c466127 = global.IsEntityUnderwater;

/**
 * IS_ENTITY_UPRIGHT
 */
global.IsEntityUpright = function (entity, angle) {
	return _in(0xf6f6afd8, 0xd4fb2658, entity, _fv(angle), _r);
};

/**
 * IS_ENTITY_UPSIDEDOWN
 */
global.IsEntityUpsidedown = function (entity) {
	return _in(0x109de3da, 0x41aad94a, entity, _r);
};

/**
 * IS_ENTITY_VISIBLE
 */
global.IsEntityVisible = function (entity) {
	return _in(0xffc96ecb, 0x7fa404ca, entity, _r);
};

/**
 * IS_ENTITY_VISIBLE_TO_SCRIPT
 */
global.IsEntityVisibleToScript = function (entity) {
	return _in(0xf213c724, 0xe77f321a, entity, _r);
};

/**
 * IS_ENTITY_WAITING_FOR_WORLD_COLLISION
 */
global.IsEntityWaitingForWorldCollision = function (entity) {
	return _in(0x5e1cc2e8, 0xdc3111dd, entity, _r);
};

/**
 * IS_ENTRY_POINT_FOR_SEAT_CLEAR
 */
global.IsEntryPointForSeatClear = function (ped, vehicle, seatIndex, side, onEnter) {
	return _in(0x80ddccb2, 0xf4a3eb57, ped, vehicle, seatIndex, side, onEnter, _r);
};
global.N_0x80ddccb2f4a3eb57 = global.IsEntryPointForSeatClear;

/**
 * IS_EVENT_IN_QUEUE
 */
global.IsEventInQueue = function (ped, eventType) {
	return _in(0xc8d523bf, 0x5bbd3808, ped, _ch(eventType), _r, _ri);
};
global.N_0xc8d523bf5bbd3808 = global.IsEventInQueue;

/**
 * _IS_EVENT_TRACKER_ACTIVE
 */
global.IsEventTrackerActive = function (eventName, shockingEvent) {
	return _in(0x797b3d4d, 0x92e56094, _ts(eventName), _ch(shockingEvent), _r);
};
global.N_0x797b3d4d92e56094 = global.IsEventTrackerActive;

/**
 * explosionType: see ADD_EXPLOSION
 */
global.IsExplosionActiveInArea = function (explosionType, x1, y1, z1, x2, y2, z2) {
	return _in(0xd96e82ae, 0xbffaaff0, explosionType, _fv(x1), _fv(y1), _fv(z1), _fv(x2), _fv(y2), _fv(z2), _r);
};

/**
 * explosionType: see ADD_EXPLOSION
 */
global.IsExplosionInAngledArea = function (explosionType, x1, y1, z1, x2, y2, z2, angle) {
	return _in(0x5ae661ec, 0xd18524c9, explosionType, _fv(x1), _fv(y1), _fv(z1), _fv(x2), _fv(y2), _fv(z2), _fv(angle), _r);
};

/**
 * explosionType: see ADD_EXPLOSION
 */
global.IsExplosionInArea = function (explosionType, x1, y1, z1, x2, y2, z2) {
	return _in(0x8391ba43, 0x13a25ad3, explosionType, _fv(x1), _fv(y1), _fv(z1), _fv(x2), _fv(y2), _fv(z2), _r);
};

/**
 * explosionType: see ADD_EXPLOSION
 */
global.IsExplosionInSphere = function (explosionType, x, y, z, radius) {
	return _in(0xd62dd846, 0xd82cbb90, explosionType, _fv(x), _fv(y), _fv(z), _fv(radius), _r);
};

/**
 * explosionType: see ADD_EXPLOSION
 */
global.IsExplosionInVolume = function (explosionType, volume) {
	return _in(0xe24822a4, 0xcfc9107a, explosionType, volume, _r, _ri);
};
global.N_0xe24822a4cfc9107a = global.IsExplosionInVolume;

/**
 * IS_FIRST_PERSON_AIM_CAM_ACTIVE
 */
global.IsFirstPersonAimCamActive = function () {
	return _in(0xf63134c5, 0x4b6ec212, _r);
};

/**
 * IS_FIRST_PERSON_CAMERA_ACTIVE
 */
global.IsFirstPersonCameraActive = function (p0, p1, p2) {
	return _in(0xa24c1d34, 0x1c6e0d53, p0, p1, p2, _r, _ri);
};
global.N_0xa24c1d341c6e0d53 = global.IsFirstPersonCameraActive;

/**
 * IS_FOLLOW_VEHICLE_CAM_ACTIVE
 */
global.IsFollowVehicleCamActive = function () {
	return _in(0xa40c2f51, 0xfb589e9a, _r);
};

/**
 * IS_GAME_SESSION_STATE_MACHINE_IDLE
 */
global.IsGameSessionStateMachineIdle = function () {
	return _in(0xf9e7dbb3, 0x9080640b, _r, _ri);
};
global.N_0xf9e7dbb39080640b = global.IsGameSessionStateMachineIdle;

/**
 * IS_GAMEPLAY_CAM_LOOKING_BEHIND
 */
global.IsGameplayCamLookingBehind = function () {
	return _in(0x8fe0d24f, 0xfd04d5a2, _r);
};

/**
 * IS_GAMEPLAY_CAM_RENDERING
 */
global.IsGameplayCamRendering = function () {
	return _in(0x8660ea71, 0x4834e412, _r);
};

/**
 * IS_GAMEPLAY_CAM_SHAKING
 */
global.IsGameplayCamShaking = function () {
	return _in(0xea4c5f4a, 0xa0a4dbef, _r);
};

/**
 * IS_GAMEPLAY_HINT_ACTIVE
 */
global.IsGameplayHintActive = function () {
	return _in(0x2e04ab5f, 0xee042d4a, _r);
};

/**
 * _IS_GLOBAL_BLOCK_VALID
 */
global.IsGlobalBlockValid = function (index) {
	return _in(0xacb7e141, 0x8a8b6e32, index, _r, _ri);
};
global.N_0xacb7e1418a8b6e32 = global.IsGlobalBlockValid;

/**
 * goalContext: see _ACTIVATE_GOAL_CONTEXT
 */
global.IsGoalContextActive = function (goalContext) {
	return _in(0x7409669c, 0x5ed50144, _ch(goalContext), _r, _ri);
};
global.N_0x7409669c5ed50144 = global.IsGoalContextActive;

/**
 * IS_GROUP_LOCALLY_CONTROLLED
 */
global.IsGroupLocallyControlled = function (groupId) {
	return _in(0x909ad9e9, 0xa92a10df, groupId, _r, _ri);
};
global.N_0x909ad9e9a92a10df = global.IsGroupLocallyControlled;

/**
 * _IS_GUARD_PED_INVESTIGATING
 */
global.IsGuardPedInvestigating = function (ped) {
	return _in(0xd743c429, 0x3f47afad, ped, _r, _ri);
};
global.N_0xd743c4293f47afad = global.IsGuardPedInvestigating;

/**
 * Returns true while a hat is being picked up
 * _IS_A* - _IS_D*
 */
global.IsHatBeingPickedUp = function (hatObject) {
	return _in(0x11cd066f, 0x54da0133, hatObject, _r, _ri);
};
global.N_0x11cd066f54da0133 = global.IsHatBeingPickedUp;

/**
 * Returns true while a hat is being picked up. Similar to 0x11CD066F54DA0133
 * _IS_A* - _IS_D*
 */
global.IsHatBeingPickedUp_2 = function (hatObject) {
	return _in(0x4eccc281, 0x5ca79ae2, hatObject, _r, _ri);
};
global.N_0x4eccc2815ca79ae2 = global.IsHatBeingPickedUp_2;

/**
 * _IS_HERD_VALID
 */
global.IsHerdValid = function (herdHandle) {
	return _in(0x8d913e49, 0x3bafe0a3, herdHandle, _r);
};
global.N_0x8d913e493bafe0a3 = global.IsHerdValid;

/**
 * Checks whether the horn of a vehicle is currently played.
 */
global.IsHornActive = function (vehicle) {
	return _in(0x9d6bfc12, 0xb05c6121, vehicle, _r);
};

/**
 * IS_HUD_HIDDEN
 */
global.IsHudHidden = function () {
	return _in(0x71b72b47, 0x8f8189dc, _r);
};

/**
 * _IS_IN_CINEMATIC_MODE
 */
global.IsInCinematicMode = function () {
	return _in(0x74f1d22e, 0xfa71fab8, _r, _ri);
};
global.N_0x74f1d22efa71fab8 = global.IsInCinematicMode;

/**
 * Returns true if player is in first person
 */
global.IsInFullFirstPersonMode = function () {
	return _in(0xd1ba6694, 0x0e94c547, _r, _ri);
};
global.N_0xd1ba66940e94c547 = global.IsInFullFirstPersonMode;

/**
 * IS_IN_ITEMSET
 */
global.IsInItemset = function (entity, itemset) {
	return _in(0xd1503c2e, 0xe2fe688c, entity, itemset, _r);
};

/**
 * IS_INCIDENT_VALID
 */
global.IsIncidentValid = function (incidentId) {
	return _in(0x39f2b1ba, 0xd412246a, incidentId, _r);
};

/**
 * IS_INSTANTLY_FILL_PED_POPULATION_FINISHED
 */
global.IsInstantlyFillPedPopulationFinished = function () {
	return _in(0x0ee3f0d7, 0xfeccc54f, _r, _ri);
};
global.N_0x0ee3f0d7feccc54f = global.IsInstantlyFillPedPopulationFinished;

/**
 * IS_INTERIOR_ENTITY_SET_ACTIVE
 */
global.IsInteriorEntitySetActive = function (interior, entitySetName) {
	return _in(0x32810ca2, 0x125f5842, interior, _ts(entitySetName), _r);
};

/**
 * _IS_INTERIOR_ENTITY_SET_VALID
 */
global.IsInteriorEntitySetValid = function (interior, entitySetName) {
	return _in(0xd56ff170, 0x710fc826, interior, _ts(entitySetName), _r, _ri);
};
global.N_0xd56ff170710fc826 = global.IsInteriorEntitySetValid;

/**
 * IS_INTERIOR_READY
 */
global.IsInteriorReady = function (interior) {
	return _in(0x941560d2, 0xd45dbfc8, interior, _r);
};

/**
 * IS_INTERIOR_SCENE
 */
global.IsInteriorScene = function () {
	return _in(0x4200f14d, 0x6f840a9a, _r);
};

/**
 * IS_INTERPOLATING_FROM_SCRIPT_CAMS
 */
global.IsInterpolatingFromScriptCams = function () {
	return _in(0x251241ca, 0xec707106, _r);
};
global.N_0x251241caec707106 = global.IsInterpolatingFromScriptCams;

/**
 * IS_INTERPOLATING_TO_SCRIPT_CAMS
 */
global.IsInterpolatingToScriptCams = function () {
	return _in(0x43ab9d5a, 0x7d415478, _r);
};
global.N_0x43ab9d5a7d415478 = global.IsInterpolatingToScriptCams;

/**
 * IS_IPL_ACTIVE_BY_HASH
 */
global.IsIplActiveByHash = function (iplHash) {
	return _in(0x93ac1b91, 0xcb6d9913, _ch(iplHash), _r);
};
global.IsImapActive_2 = global.IsIplActiveByHash;

/**
 * IS_IPL_ACTIVE_HASH
 */
global.IsIplActiveHash = function (iplHash) {
	return _in(0xd779b9b9, 0x10bd3b7c, _ch(iplHash), _r);
};
global.IsImapActive = global.IsIplActiveHash;

/**
 * IS_ITEMSET_VALID
 */
global.IsItemsetValid = function (itemset) {
	return _in(0xd30765d1, 0x53ef5c76, itemset, _r);
};

/**
 * IS_LAW_INCIDENT_ACTIVE
 */
global.IsLawIncidentActive = function (player) {
	return _in(0xad401c63, 0x158acbaa, player, _r, _ri);
};
global.N_0xad401c63158acbaa = global.IsLawIncidentActive;

/**
 * IS_LOAD_SCENE_ACTIVE
 */
global.IsLoadSceneActive = function () {
	return _in(0xcf45df50, 0xc7775f2a, _r, _ri);
};
global.N_0xcf45df50c7775f2a = global.IsLoadSceneActive;

/**
 * IS_LOAD_SCENE_LOADED
 */
global.IsLoadSceneLoaded = function () {
	return _in(0x0909f71b, 0x5c070797, _r, _ri);
};
global.N_0x0909f71b5c070797 = global.IsLoadSceneLoaded;

/**
 * Same as GET_IS_LOADING_SCREEN_ACTIVE
 */
global.IsLoadingScreenVisible = function () {
	return _in(0xb54adbe6, 0x5d528fcb, _r);
};
global.IsLoadingScreenActive = global.IsLoadingScreenVisible;

/**
 * IS_LOCATION_SPAWN_SAFE
 */
global.IsLocationSpawnSafe = function (ped, p1) {
	return _in(0xfb1e7998, 0xb8595825, ped, _fv(p1), _r, _ri);
};
global.N_0xfb1e7998b8595825 = global.IsLocationSpawnSafe;

/**
 * IS_LOOK_INVERTED
 */
global.IsLookInverted = function () {
	return _in(0x77b61253, 0x1280010d, _r);
};

/**
 * magdemo = magazine demo, i. e. for magazines such as IGN, pre play phases to prepare articles etc. - example 2012 builds for V
 * Hardcoded to return false.
 */
global.IsMagDemo_1Active = function () {
	return _in(0x5fc9357c, 0x26daefce, _r, _ri);
};
global.N_0x5fc9357c26daefce = global.IsMagDemo_1Active;

/**
 * IS_MAP_ENTITY_PINNED
 */
global.IsMapEntityPinned = function (p0) {
	return _in(0x1ff441d7, 0x954f8709, p0, _r, _ri);
};
global.N_0x1ff441d7954f8709 = global.IsMapEntityPinned;

/**
 * _IS_META_PED_ASSET_VALID
 */
global.IsMetaPedAssetValid = function (requestId) {
	return _in(0x93ffd92f, 0x05ec32fd, requestId, _r, _ri);
};
global.N_0x93ffd92f05ec32fd = global.IsMetaPedAssetValid;
global.IsMetapedAssetValid = global.IsMetaPedAssetValid;

/**
 * Returns true if given ped is a fish.
 * _IS_ME* - _IS_MO*
 */
global.IsMetaPedFish = function (ped) {
	return _in(0x118d476a, 0x6f1a13f1, ped, _r, _ri);
};
global.N_0x118d476a6f1a13f1 = global.IsMetaPedFish;
global.IsMetapedFish = global.IsMetaPedFish;

/**
 * Used in script function HORSE_IS_META_PED_OUTFIT_SADDLE_EQUIPPED
 */
global.IsMetaPedOutfitEquipped = function (ped, outfit) {
	return _in(0x98082246, 0x107a6acf, ped, _ch(outfit), _r, _ri);
};
global.N_0x98082246107a6acf = global.IsMetaPedOutfitEquipped;

/**
 * _IS_META_PED_OUTFIT_REQUEST_VALID
 */
global.IsMetaPedOutfitRequestValid = function (requestId) {
	return _in(0xb25e57fc, 0x8e37114d, requestId, _r, _ri);
};
global.N_0xb25e57fc8e37114d = global.IsMetaPedOutfitRequestValid;
global.IsMetapedOutfitRequestValid = global.IsMetaPedOutfitRequestValid;

/**
 * _IS_META_PED_REQUEST_VALID
 */
global.IsMetaPedRequestValid = function (requestId) {
	return _in(0x43e4da46, 0x9541a9c9, requestId, _r, _ri);
};
global.N_0x43e4da469541a9c9 = global.IsMetaPedRequestValid;
global.IsMetapedPedRequestValid = global.IsMetaPedRequestValid;

/**
 * _IS_META_PED_USING_COMPONENT
 */
global.IsMetaPedUsingComponent = function (ped, component) {
	return _in(0xfb4891bd, 0x7578cdc1, ped, _ch(component), _r, _ri);
};
global.N_0xfb4891bd7578cdc1 = global.IsMetaPedUsingComponent;
global.IsMetapedUsingComponent = global.IsMetaPedUsingComponent;

/**
 * MGM stands for MiniGameMoments.
 */
global.IsMgmSystemLoaded = function (mgmFilename) {
	return _in(0xfdfc1479, 0x9373283f, _ts(mgmFilename), _r, _ri);
};
global.N_0xfdfc14799373283f = global.IsMgmSystemLoaded;

/**
 * IS_MINIGAME_IN_PROGRESS
 */
global.IsMinigameInProgress = function () {
	return _in(0xf4d8bcd0, 0x52e7ea1b, _r);
};

/**
 * _IS_MISSION_CREATOR_ACTIVE
 */
global.IsMissionCreatorActive = function () {
	return _in(0xf236c84c, 0x6adfcb2f, _r, _ri);
};
global.N_0xf236c84c6adfcb2f = global.IsMissionCreatorActive;

/**
 * IS_MODEL_A_PED
 */
global.IsModelAPed = function (model) {
	return _in(0xc3f09de9, 0xd6d17dda, _ch(model), _r);
};

/**
 * Returns whether the specified model represents a vehicle.
 */
global.IsModelAVehicle = function (model) {
	return _in(0x354f6267, 0x2de7db0a, _ch(model), _r);
};

/**
 * _IS_MODEL_AN_OBJECT
 */
global.IsModelAnObject = function (model) {
	return _in(0x274ee1b9, 0x0cfa669e, _ch(model), _r, _ri);
};
global.N_0x274ee1b90cfa669e = global.IsModelAnObject;

/**
 * Returns whether the specified model exists in the game.
 */
global.IsModelInCdimage = function (model) {
	return _in(0xd6f3b6d7, 0x716cff8e, _ch(model), _r);
};

/**
 * Returns whether the specified model is valid
 */
global.IsModelValid = function (model) {
	return _in(0x392c8d8e, 0x07b70efc, _ch(model), _r);
};

/**
 * _IS_MOUNT_SEAT_FREE
 */
global.IsMountSeatFree = function (mount, seat) {
	return _in(0xaab0fe20, 0x2e9fc9f0, mount, seat, _r, _ri);
};
global.N_0xaab0fe202e9fc9f0 = global.IsMountSeatFree;

/**
 * IS_MOUNTED_WEAPON_TASK_UNDERNEATH_DRIVING_TASK
 */
global.IsMountedWeaponTaskUnderneathDrivingTask = function (ped) {
	return _in(0xa320ef04, 0x6186fa3b, ped, _r);
};

/**
 * IS_MOVE_BLEND_RATIO_RUNNING
 */
global.IsMoveBlendRatioRunning = function (moveBlendRatio) {
	return _in(0xd4d8636c, 0x0199a939, _fv(moveBlendRatio), _r);
};

/**
 * IS_MOVE_BLEND_RATIO_SPRINTING
 */
global.IsMoveBlendRatioSprinting = function (moveBlendRatio) {
	return _in(0x24a2ad74, 0xfa9814e2, _fv(moveBlendRatio), _r);
};

/**
 * IS_MOVE_BLEND_RATIO_STILL
 */
global.IsMoveBlendRatioStill = function (moveBlendRatio) {
	return _in(0x349ce7b5, 0x6dafd95c, _fv(moveBlendRatio), _r);
};

/**
 * IS_MOVE_BLEND_RATIO_WALKING
 */
global.IsMoveBlendRatioWalking = function (moveBlendRatio) {
	return _in(0xf133bbbe, 0x91e1691f, _fv(moveBlendRatio), _r);
};

/**
 * IS_MP_GAMER_TAG_ACTIVE
 */
global.IsMpGamerTagActive = function (gamerTagId) {
	return _in(0x6e1c31e1, 0x4c7a5f97, gamerTagId, _r);
};

/**
 * _IS_MP_GAMER_TAG_ACTIVE_ON_ENTITY
 */
global.IsMpGamerTagActiveOnEntity = function (gamerTagId, entity) {
	return _in(0x502e1591, 0xa504f843, gamerTagId, entity, _r, _ri);
};
global.N_0x502e1591a504f843 = global.IsMpGamerTagActiveOnEntity;

/**
 * _IS_MULTIPLAYER_CHAT_ACTIVE
 */
global.IsMultiplayerChatActive = function () {
	return _in(0xbc19069d, 0x5fbb5c46, _r);
};

/**
 * IS_NAMED_RENDERTARGET_LINKED
 */
global.IsNamedRendertargetLinked = function (modelHash) {
	return _in(0x70703283, 0x5ff09ae7, _ch(modelHash), _r);
};

/**
 * IS_NAMED_RENDERTARGET_REGISTERED
 */
global.IsNamedRendertargetRegistered = function (name) {
	return _in(0x3ee32f79, 0x64c40fe6, _ts(name), _r);
};

/**
 * Returns whether navmesh for the region is loaded.
 */
global.IsNavmeshLoadedInArea = function (x1, y1, z1, x2, y2, z2) {
	return _in(0xf813c7e6, 0x3f9062a5, _fv(x1), _fv(y1), _fv(z1), _fv(x2), _fv(y2), _fv(z2), _r);
};

/**
 * IS_NETWORK_ID_OWNED_BY_PARTICIPANT
 */
global.IsNetworkIdOwnedByParticipant = function (netId) {
	return _in(0xa1607996, 0x431332df, netId, _r);
};

/**
 * Checks if keyboard input is enabled during NUI focus using `SET_NUI_FOCUS_KEEP_INPUT`.
 * @return True or false.
 */
global.IsNuiFocusKeepingInput = function () {
	return _in(0x00000000, 0x39c9dc92, _r);
};

/**
 * Returns the current NUI focus state previously set with `SET_NUI_FOCUS`.
 * @return True or false.
 */
global.IsNuiFocused = function () {
	return _in(0x00000000, 0x98545e6d, _r);
};

/**
 * IS_OBJECT_A_PORTABLE_PICKUP
 */
global.IsObjectAPortablePickup = function (object) {
	return _in(0x0378c085, 0x04160d0d, object, _r);
};
global.N_0x0378c08504160d0d = global.IsObjectAPortablePickup;

/**
 * Note: this native was added in build 1311.16
 * ```
 * ```
 * NativeDB Introduced: v1311
 */
global.IsObjectReassignmentInProgress = function () {
	return _in(0x8fe9eb11, 0xec9cc23a, _r);
};

/**
 * IS_OBJECT_VISIBLE
 */
global.IsObjectVisible = function (object) {
	return _in(0x8b32ace6, 0x326a7546, object, _r);
};

/**
 * Hardcoded to return false.
 * Checks for PS4 Game Build.
 */
global.IsOrbisVersion = function () {
	return _in(0x88cfae25, 0x0d3e0c71, _r);
};

/**
 * Returns true when either Pause Menu, a Frontend Menu, Online Policies menu or Social Club menu is active.
 */
global.IsPauseMenuActive = function () {
	return _in(0x535384d6, 0x067ba42e, _r);
};

/**
 * Hardcoded to return true.
 */
global.IsPcVersion = function () {
	return _in(0xb0fb6cfa, 0xa5a1c833, _r);
};

/**
 * IS_PED_A_PLAYER
 */
global.IsPedAPlayer = function (ped) {
	return _in(0x12534c34, 0x8c6cb68b, ped, _r);
};

/**
 * _IS_PED_ACTION_DISABLE_FLAG_ENABLED
 */
global.IsPedActionDisableFlagEnabled = function (ped, actionDisableFlag) {
	return _in(0xb346c85d, 0x49cc998e, ped, actionDisableFlag, _r, _ri);
};
global.N_0xb346c85d49cc998e = global.IsPedActionDisableFlagEnabled;

/**
 * IS_PED_ACTIVE_IN_SCENARIO
 */
global.IsPedActiveInScenario = function (ped, scenario) {
	return _in(0xaa135f94, 0x82c82cc3, ped, scenario, _r);
};

/**
 * IS_PED_AIMING_FROM_COVER
 */
global.IsPedAimingFromCover = function (ped) {
	return _in(0x3998b127, 0x6a3300e5, ped, _r);
};

/**
 * IS_PED_ARMED
 */
global.IsPedArmed = function (ped, flags) {
	return _in(0xcb690f68, 0x0a3ea971, ped, flags, _r, _ri);
};
global.N_0xcb690f680a3ea971 = global.IsPedArmed;

/**
 * _IS_PED_ARRESTING_ANY_PED
 */
global.IsPedArrestingAnyPed = function (ped) {
	return _in(0xa9cc7856, 0xd52dbd25, ped, _r, _ri);
};
global.N_0xa9cc7856d52dbd25 = global.IsPedArrestingAnyPed;

/**
 * This function is hard-coded to always return false.
 */
global.IsPedBeingArrested = function (ped) {
	return _in(0x90a09f3a, 0x45fed688, ped, _r);
};

/**
 * IS_PED_BEING_DRAGGED
 */
global.IsPedBeingDragged = function (ped) {
	return _in(0xef3a8772, 0xf085b4aa, ped, _r, _ri);
};
global.N_0xef3a8772f085b4aa = global.IsPedBeingDragged;

/**
 * IS_PED_BEING_HOGTIED
 */
global.IsPedBeingHogtied = function (ped) {
	return _in(0xd453bb60, 0x1d4a606e, ped, _r, _ri);
};
global.N_0xd453bb601d4a606e = global.IsPedBeingHogtied;

/**
 * IS_PED_BEING_JACKED
 */
global.IsPedBeingJacked = function (ped) {
	return _in(0x9a497fe2, 0xdf198913, ped, _r);
};

/**
 * IS_PED_BEING_STEALTH_KILLED
 */
global.IsPedBeingStealthKilled = function (ped) {
	return _in(0x863b23ef, 0xde9c5df2, ped, _r);
};

/**
 * IS_PED_BEING_STUNNED
 */
global.IsPedBeingStunned = function (ped, weaponType) {
	return _in(0x4fbacce3, 0xb4138ee8, ped, _ch(weaponType), _r);
};

/**
 * IS_PED_CARRYING_SOMETHING
 */
global.IsPedCarryingSomething = function (ped) {
	return _in(0xa911ee21, 0xedf69daf, ped, _r, _ri);
};
global.N_0xa911ee21edf69daf = global.IsPedCarryingSomething;

/**
 * IS_PED_CARRYING_WEAPON
 */
global.IsPedCarryingWeapon = function (ped, weaponHash) {
	return _in(0xf29a186e, 0xd428b552, ped, _ch(weaponHash), _r, _ri);
};
global.N_0xf29a186ed428b552 = global.IsPedCarryingWeapon;

/**
 * _IS_PED_CHILD
 */
global.IsPedChild = function (ped) {
	return _in(0x13777200, 0x0daf42c5, ped, _r, _ri);
};
global.N_0x137772000daf42c5 = global.IsPedChild;

/**
 * IS_PED_CLIMBING
 */
global.IsPedClimbing = function (ped) {
	return _in(0x53e8cb4f, 0x48bfe623, ped, _r);
};

/**
 * _IS_PED_CLIMBING_LADDER
 */
global.IsPedClimbingLadder = function (ped) {
	return _in(0x59643424, 0xb68d52b5, ped, _r, _ri);
};
global.N_0x59643424b68d52b5 = global.IsPedClimbingLadder;

/**
 * _IS_PED_COWERING
 */
global.IsPedCowering = function (ped) {
	return _in(0xb086c8c0, 0xf5701d14, ped, _r, _ri);
};
global.N_0xb086c8c0f5701d14 = global.IsPedCowering;

/**
 * IS_PED_CUFFED
 */
global.IsPedCuffed = function (ped) {
	return _in(0x74e559b3, 0xbc910685, ped, _r);
};

/**
 * _IS_PED_CURRENT_WEAPON_HOLSTERED
 */
global.IsPedCurrentWeaponHolstered = function (ped) {
	return _in(0xbdd9c235, 0xd8d1052e, ped, _r, _ri);
};
global.N_0xbdd9c235d8d1052e = global.IsPedCurrentWeaponHolstered;

/**
 * IS_PED_DEAD_OR_DYING
 */
global.IsPedDeadOrDying = function (ped, p1) {
	return _in(0x3317dedb, 0x88c95038, ped, p1, _r);
};

/**
 * _IS_PED_DECOMPOSED
 */
global.IsPedDecomposed = function (ped) {
	return _in(0x5170dda6, 0xd63acaaa, ped, _r, _ri);
};
global.N_0x5170dda6d63acaaa = global.IsPedDecomposed;

/**
 * IS_PED_DEFENSIVE_AREA_ACTIVE
 */
global.IsPedDefensiveAreaActive = function (ped, p1) {
	return _in(0xba63d9fe, 0x45412247, ped, p1, _r);
};

/**
 * IS_PED_DIVING
 */
global.IsPedDiving = function (ped) {
	return _in(0x5527b824, 0x6fef9b11, ped, _r);
};

/**
 * _IS_PED_DOING_SCENARIO_TRANSITION
 */
global.IsPedDoingScenarioTransition = function (ped) {
	return _in(0xc488b8c0, 0xe52560d8, ped, _r, _ri);
};
global.N_0xc488b8c0e52560d8 = global.IsPedDoingScenarioTransition;

/**
 * _IS_PED_DRAGGING
 */
global.IsPedDragging = function (ped) {
	return _in(0x226cf9b1, 0x59e38f42, ped, _r, _ri);
};
global.N_0x226cf9b159e38f42 = global.IsPedDragging;

/**
 * _IS_PED_DRUNK
 */
global.IsPedDrunk = function (ped) {
	return _in(0x50f124e6, 0xef188b22, ped, _r, _ri);
};
global.N_0x50f124e6ef188b22 = global.IsPedDrunk;

/**
 * _IS_PED_DUELLING
 */
global.IsPedDuelling = function (ped) {
	return _in(0xc8b29d18, 0x022ea2b7, ped, _r, _ri);
};
global.N_0xc8b29d18022ea2b7 = global.IsPedDuelling;

/**
 * IS_PED_ENTERING_ANY_TRANSPORT
 */
global.IsPedEnteringAnyTransport = function (ped) {
	return _in(0x1d46b417, 0xf926d34d, ped, _r, _ri);
};
global.N_0x1d46b417f926d34d = global.IsPedEnteringAnyTransport;

/**
 * IS_PED_ENTERING_TRANSPORT
 */
global.IsPedEnteringTransport = function (ped, transportEntity, p2) {
	return _in(0x619e6398, 0x0bfc0096, ped, transportEntity, p2, _r, _ri);
};
global.N_0x619e63980bfc0096 = global.IsPedEnteringTransport;

/**
 * Presumably returns the Entity that the Ped is currently diving out of the way of.
 */
global.IsPedEvasiveDiving = function (ped, evadingEntity) {
	return _in(0x414641c2, 0x6e105898, ped, _ii(evadingEntity) /* may be optional */, _r);
};

/**
 * _IS_PED_EXCLUSIVE_DRIVER_OF_VEHICLE
 */
global.IsPedExclusiveDriverOfVehicle = function (ped, vehicle, outIndex) {
	return _in(0xb213d2a5, 0x60b2e48b, ped, vehicle, _ii(outIndex) /* may be optional */, _r, _ri);
};
global.N_0xb213d2a560b2e48b = global.IsPedExclusiveDriverOfVehicle;

/**
 * IS_PED_EXITING_SCENARIO
 */
global.IsPedExitingScenario = function (ped, p1) {
	return _in(0x0c3cb2e6, 0x00c8977d, ped, p1, _r, _ri);
};
global.N_0x0c3cb2e600c8977d = global.IsPedExitingScenario;

/**
 * IS_PED_EXITING_TRANSPORT
 */
global.IsPedExitingTransport = function (ped, transportEntity) {
	return _in(0x660639bc, 0x60157048, ped, transportEntity, _r, _ri);
};
global.N_0x660639bc60157048 = global.IsPedExitingTransport;

/**
 * angle is ped's view cone
 */
global.IsPedFacingPed = function (ped, otherPed, angle) {
	return _in(0xd71649db, 0x0a545aa3, ped, otherPed, _fv(angle), _r);
};

/**
 * IS_PED_FALLING
 */
global.IsPedFalling = function (ped) {
	return _in(0xfb92a102, 0xf1c4dfa3, ped, _r);
};

/**
 * IS_PED_FALLING_OVER
 */
global.IsPedFallingOver = function (ped) {
	return _in(0x3e592d04, 0x86dec0f6, ped, _r, _ri);
};
global.N_0x3e592d0486dec0f6 = global.IsPedFallingOver;

/**
 * Gets a value indicating whether this ped's health is below its fatally injured threshold. The default threshold is 100.
 * If the handle is invalid, the function returns true.
 */
global.IsPedFatallyInjured = function (ped) {
	return _in(0xd8394507, 0x56ed5a80, ped, _r);
};

/**
 * IS_PED_FLEEING
 */
global.IsPedFleeing = function (ped) {
	return _in(0xbbcce00b, 0x381f8482, ped, _r);
};

/**
 * IS_PED_FULLY_ON_MOUNT
 */
global.IsPedFullyOnMount = function (ped, p1) {
	return _in(0x95cbc657, 0x80de7eb1, ped, p1, _r, _ri);
};
global.N_0x95cbc65780de7eb1 = global.IsPedFullyOnMount;

/**
 * IS_PED_GETTING_INTO_A_VEHICLE
 */
global.IsPedGettingIntoAVehicle = function (ped) {
	return _in(0xbb062b2b, 0x5722478e, ped, _r);
};

/**
 * IS_PED_GETTING_UP
 */
global.IsPedGettingUp = function (ped) {
	return _in(0x2a74e1d5, 0xf2f00eec, ped, _r);
};

/**
 * IS_PED_GOING_INTO_COVER
 */
global.IsPedGoingIntoCover = function (ped) {
	return _in(0x9f65dbc5, 0x37e59ad5, ped, _r);
};

/**
 * _IS_PED_GROUP_LEADER
 */
global.IsPedGroupLeader = function (ped, groupId) {
	return _in(0x878b6896, 0x0c1c2a35, ped, groupId, _r, _ri);
};
global.N_0x878b68960c1c2a35 = global.IsPedGroupLeader;

/**
 * IS_PED_GROUP_MEMBER
 */
global.IsPedGroupMember = function (ped, groupId, p2) {
	return _in(0x9bb01e38, 0x34671191, ped, groupId, p2, _r);
};

/**
 * IS_PED_HANGING_ON_TO_VEHICLE
 */
global.IsPedHangingOnToVehicle = function (ped) {
	return _in(0x1c86d8ae, 0xf8254b78, ped, _r);
};

/**
 * IS_PED_HEADING_TOWARDS_POSITION
 */
global.IsPedHeadingTowardsPosition = function (ped, x, y, z, p4) {
	return _in(0xfcf37a45, 0x7cb96dc0, ped, _fv(x), _fv(y), _fv(z), _fv(p4), _r);
};

/**
 * IS_PED_HEADTRACKING_ENTITY
 */
global.IsPedHeadtrackingEntity = function (ped, entity) {
	return _in(0x813a0a7c, 0x9d2e831f, ped, entity, _r);
};

/**
 * IS_PED_HEADTRACKING_PED
 */
global.IsPedHeadtrackingPed = function (ped1, ped2) {
	return _in(0x5cd3cb88, 0xa7f8850d, ped1, ped2, _r);
};

/**
 * IS_PED_HOGTIED
 */
global.IsPedHogtied = function (ped) {
	return _in(0x3aa24ccc, 0x0d451379, ped, _r, _ri);
};
global.N_0x3aa24ccc0d451379 = global.IsPedHogtied;

/**
 * IS_PED_HOGTYING
 */
global.IsPedHogtying = function (ped) {
	return _in(0x42429c67, 0x4b61238b, ped, _r, _ri);
};
global.N_0x42429c674b61238b = global.IsPedHogtying;

/**
 * Returns true/false if the ped is/isn't humanoid.
 */
global.IsPedHuman = function (ped) {
	return _in(0xb980061d, 0xa992779d, ped, _r);
};

/**
 * IS_PED_IN_ANY_BOAT
 */
global.IsPedInAnyBoat = function (ped) {
	return _in(0x2e0e1c2b, 0x4f6cb339, ped, _r);
};

/**
 * _IS_PED_IN_ANY_CONVERSATION
 */
global.IsPedInAnyConversation = function (ped, p1) {
	return _in(0x54b187f1, 0x11d9c6f8, ped, p1, _r, _ri);
};
global.N_0x54b187f111d9c6f8 = global.IsPedInAnyConversation;

/**
 * IS_PED_IN_ANY_HELI
 */
global.IsPedInAnyHeli = function (ped) {
	return _in(0x298b91ae, 0x825e5705, ped, _r);
};

/**
 * IS_PED_IN_ANY_PLANE
 */
global.IsPedInAnyPlane = function (ped) {
	return _in(0x5fff4cfc, 0x74d8fb80, ped, _r);
};

/**
 * IS_PED_IN_ANY_TAXI
 */
global.IsPedInAnyTaxi = function (ped) {
	return _in(0x6e575d6a, 0x898ab852, ped, _r);
};

/**
 * IS_PED_IN_ANY_TRAIN
 */
global.IsPedInAnyTrain = function (ped) {
	return _in(0x6f972c1a, 0xb75a1ed0, ped, _r);
};

/**
 * Gets a value indicating whether the specified ped is in any vehicle.
 */
global.IsPedInAnyVehicle = function (ped, atGetIn) {
	return _in(0x997abd67, 0x1d25ca0b, ped, atGetIn, _r);
};

/**
 * IS_PED_IN_COMBAT
 */
global.IsPedInCombat = function (ped, target) {
	return _in(0x4859f1fc, 0x66a6278e, ped, target, _r);
};

/**
 * IS_PED_IN_COVER
 */
global.IsPedInCover = function (ped, p1, p2) {
	return _in(0x60dfd069, 0x1a170b88, ped, p1, p2, _r);
};

/**
 * IS_PED_IN_COVER_FACING_LEFT
 */
global.IsPedInCoverFacingLeft = function (ped) {
	return _in(0x845333b3, 0x150583ab, ped, _r);
};

/**
 * IS_PED_IN_CURRENT_CONVERSATION
 */
global.IsPedInCurrentConversation = function (p0, ped, p2) {
	return _in(0x049e937f, 0x18f4020c, _ts(p0), ped, p2, _r);
};

/**
 * IS_PED_IN_FLYING_VEHICLE
 */
global.IsPedInFlyingVehicle = function (ped) {
	return _in(0x91348735, 0x37fa419c, ped, _r);
};

/**
 * IS_PED_IN_GROUP
 */
global.IsPedInGroup = function (ped) {
	return _in(0x5891cac5, 0xd4acff74, ped, _r);
};

/**
 * IS_PED_IN_HIT_REACT
 */
global.IsPedInHitReact = function (ped) {
	return _in(0xf330a5c0, 0x62b29bed, ped, _r, _ri);
};
global.N_0xf330a5c062b29bed = global.IsPedInHitReact;

/**
 * Notes: The function only returns true while the ped is:
 * A.) Swinging a random melee attack (including pistol-whipping)
 * B.) Reacting to being hit by a melee attack (including pistol-whipping)
 * C.) Is locked-on to an enemy (arms up, strafing/skipping in the default fighting-stance, ready to dodge+counter).
 * You don't have to be holding the melee-targeting button to be in this stance; you stay in it by default for a few seconds after swinging at someone. If you do a sprinting punch, it returns true for the duration of the punch animation and then returns false again, even if you've punched and made-angry many peds
 */
global.IsPedInMeleeCombat = function (ped) {
	return _in(0x4e209b2c, 0x1ead5159, ped, _r);
};

/**
 * IS_PED_IN_MODEL
 */
global.IsPedInModel = function (ped, modelHash) {
	return _in(0x796d90ef, 0xb19aa332, ped, _ch(modelHash), _r);
};

/**
 * If returned true: There are enemy peds near friendly turn in ped. Going to aggro.
 * If returned false: Moving back to idle as there aren't any remaining enemy peds near ped
 * _IS_PED_IN_*
 */
global.IsPedInPoint = function (ped, x, y, z, radius, p5) {
	return _in(0x078076ab, 0x50fb117f, ped, _fv(x), _fv(y), _fv(z), _fv(radius), p5, _r);
};
global.N_0x078076ab50fb117f = global.IsPedInPoint;

/**
 * Gets a value indicating whether the specified ped is in the specified vehicle.
 */
global.IsPedInVehicle = function (ped, vehicle, atGetIn) {
	return _in(0xa3ee4a07, 0x279bb9db, ped, vehicle, atGetIn, _r);
};

/**
 * This native checks if a ped is on the ground, in pain from a (gunshot) wound.
 */
global.IsPedInWrithe = function (ped) {
	return _in(0xdeb6d521, 0x26e7d640, ped, _r);
};

/**
 * IS_PED_INCAPACITATED
 */
global.IsPedIncapacitated = function (ped) {
	return _in(0xb655db75, 0x82aec805, ped, _r, _ri);
};
global.N_0xb655db7582aec805 = global.IsPedIncapacitated;

/**
 * Gets a value indicating whether this ped's health is below its injured threshold.
 * The default threshold is 100.
 */
global.IsPedInjured = function (ped) {
	return _in(0x84a2dd9a, 0xc37c35c1, ped, _r);
};

/**
 * _IS_PED_INTIMIDATED
 */
global.IsPedIntimidated = function (ped) {
	return _in(0x57779b55, 0xb83e2bea, ped, _r, _ri);
};
global.N_0x57779b55b83e2bea = global.IsPedIntimidated;

/**
 * _IS_PED_IN*
 */
global.IsPedInvestigating = function (ped) {
	return _in(0x7583a9d3, 0x5248b83f, ped, _r);
};
global.N_0x7583a9d35248b83f = global.IsPedInvestigating;

/**
 * IS_PED_JACKING
 */
global.IsPedJacking = function (ped) {
	return _in(0x4ae4ff91, 0x1dfb61da, ped, _r);
};

/**
 * IS_PED_JUMPING
 */
global.IsPedJumping = function (ped) {
	return _in(0xcedabc59, 0x00a0bf97, ped, _r);
};

/**
 * IS_PED_LASSOED
 */
global.IsPedLassoed = function (ped) {
	return _in(0x9682f850, 0x056c9ade, ped, _r, _ri);
};
global.N_0x9682f850056c9ade = global.IsPedLassoed;

/**
 * _IS_PED_L* - _IS_PED_M*
 */
global.IsPedLeadingAnyGroup = function (ped) {
	return _in(0x917760cf, 0xe7a0e0f1, ped, _r);
};
global.N_0x917760cfe7a0e0f1 = global.IsPedLeadingAnyGroup;

/**
 * _IS_PED_LEADING_HORSE
 */
global.IsPedLeadingHorse = function (ped) {
	return _in(0xefc4303d, 0xdc6e60d3, ped, _r, _ri);
};
global.N_0xefc4303ddc6e60d3 = global.IsPedLeadingHorse;

/**
 * Returns true/false if the ped is/isn't male.
 */
global.IsPedMale = function (ped) {
	return _in(0x6d9f5faa, 0x7488ba46, ped, _r);
};

/**
 * IS_PED_MODEL
 */
global.IsPedModel = function (ped, modelHash) {
	return _in(0xc9d55b1a, 0x358a5bf7, ped, _ch(modelHash), _r);
};

/**
 * _IS_PED_MODEL_SUPPRESSED
 */
global.IsPedModelSuppressed = function (model) {
	return _in(0xaa9f048d, 0xcf69b6dc, _ch(model), _r, _ri);
};
global.N_0xaa9f048dcf69b6dc = global.IsPedModelSuppressed;

/**
 * IS_PED_ON_FOOT
 */
global.IsPedOnFoot = function (ped) {
	return _in(0x01fee67d, 0xb37f59b2, ped, _r);
};

/**
 * IS_PED_ON_MOUNT
 */
global.IsPedOnMount = function (ped) {
	return _in(0x460bc76a, 0x0e10655e, ped, _r);
};

/**
 * IS_PED_ON_SPECIFIC_VEHICLE
 */
global.IsPedOnSpecificVehicle = function (ped, vehicle) {
	return _in(0xec5f66e4, 0x59af3bb2, ped, vehicle, _r);
};

/**
 * Checks if ped is placed on target transportEntity
 */
global.IsPedOnTransportEntity = function (ped, transportEntity) {
	return _in(0x159ef5b6, 0xedce00e8, ped, transportEntity, _r, _ri);
};
global.N_0x159ef5b6edce00e8 = global.IsPedOnTransportEntity;

/**
 * _IS_PED_ON_TRANSPORT_SEAT
 */
global.IsPedOnTransportSeat = function (ped, p1) {
	return _in(0xdc44f405, 0xa6b98d03, ped, p1, _r, _ri);
};
global.N_0xdc44f405a6b98d03 = global.IsPedOnTransportSeat;

/**
 * Gets a value indicating whether the specified ped is on top of any vehicle.
 * Return 1 when ped is on vehicle.
 * Return 0 when ped is not on a vehicle.
 */
global.IsPedOnVehicle = function (ped, p1) {
	return _in(0x67722aeb, 0x798e5fab, ped, p1, _r);
};

/**
 * Returns true if the ped is currently opening a door (CTaskOpenDoor).
 */
global.IsPedOpeningDoor = function (ped) {
	return _in(0x26af0e8e, 0x30bd2a2c, ped, _r);
};
global.IsPedOpeningADoor = global.IsPedOpeningDoor;

/**
 * IS_PED_PERFORMING_MELEE_ACTION
 */
global.IsPedPerformingMeleeAction = function (ped, p1, p2) {
	return _in(0xdcca191d, 0xf9980fd7, ped, p1, _ch(p2), _r);
};

/**
 * IS_PED_PLANTING_BOMB
 */
global.IsPedPlantingBomb = function (ped) {
	return _in(0xc70b5fae, 0x151982d8, ped, _r);
};

/**
 * IS_PED_PRONE
 */
global.IsPedProne = function (ped) {
	return _in(0xd6a86331, 0xa537a7b9, ped, _r);
};

/**
 * _IS_PED_QUEUED_FOR_DELETION
 */
global.IsPedQueuedForDeletion = function (ped) {
	return _in(0x8d9bfce3, 0x352de47f, ped, _r, _ri);
};
global.N_0x8d9bfce3352de47f = global.IsPedQueuedForDeletion;

/**
 * If the ped handle passed through the parenthesis is in a ragdoll state this will return true.
 */
global.IsPedRagdoll = function (ped) {
	return _in(0x47e4e977, 0x581c5b55, ped, _r);
};

/**
 * IS_PED_READY_TO_RENDER
 */
global.IsPedReadyToRender = function (ped) {
	return _in(0xa0bc8fae, 0xd8cfeb3c, ped, _r, _ri);
};
global.N_0xa0bc8faed8cfeb3c = global.IsPedReadyToRender;

/**
 * Returns whether the specified ped is reloading.
 */
global.IsPedReloading = function (ped) {
	return _in(0x24b100c6, 0x8c645951, ped, _r);
};

/**
 * eventType: https://alloc8or.re/rdr3/doc/enums/eEventType.txt
 */
global.IsPedRespondingToEvent = function (ped, eventType) {
	return _in(0x625b774d, 0x75c87068, ped, _ch(eventType), _r);
};

/**
 * IS_PED_RESPONDING_TO_THREAT
 */
global.IsPedRespondingToThreat = function (ped) {
	return _in(0x77525bbf, 0x433f2cd6, ped, _r, _ri);
};
global.N_0x77525bbf433f2cd6 = global.IsPedRespondingToThreat;

/**
 * IS_PED_RUNNING
 */
global.IsPedRunning = function (ped) {
	return _in(0xc5286ffc, 0x176f28a2, ped, _r);
};

/**
 * IS_PED_RUNNING_INSPECTION_TASK
 */
global.IsPedRunningInspectionTask = function (ped) {
	return _in(0x038b1f16, 0x74f0e242, ped, _r, _ri);
};
global.N_0x038b1f1674f0e242 = global.IsPedRunningInspectionTask;

/**
 * IS_PED_RUNNING_MOBILE_PHONE_TASK
 */
global.IsPedRunningMobilePhoneTask = function (ped) {
	return _in(0x2afe52f7, 0x82f25775, ped, _r);
};

/**
 * IS_PED_RUNNING_RAGDOLL_TASK
 */
global.IsPedRunningRagdollTask = function (ped) {
	return _in(0xe3b6097c, 0xc25aa69e, ped, _r);
};

/**
 * IS_PED_RUNNING_TASK_ITEM_INTERACTION
 */
global.IsPedRunningTaskItemInteraction = function (ped) {
	return _in(0xec7e480f, 0xf8bd0bed, ped, _r, _ri);
};
global.N_0xec7e480ff8bd0bed = global.IsPedRunningTaskItemInteraction;

/**
 * IS_PED_SCENARIO_REACT_LOOKING
 */
global.IsPedScenarioReactLooking = function (ped, p1) {
	return _in(0x916b8e07, 0x5abc8b4e, ped, p1, _r, _ri);
};
global.N_0x916b8e075abc8b4e = global.IsPedScenarioReactLooking;

/**
 * Tested with fire & dynamite. Only returns true using value p1 = 1 and when the ped is affected by fire.
 * ```
 * ```
 * NativeDB Introduced: v1232
 */
global.IsPedShockingEventActive = function (ped, p1) {
	return _in(0xab7993ba, 0x61a4674f, ped, p1, _r);
};

/**
 * Returns whether the specified ped is shooting.
 */
global.IsPedShooting = function (ped) {
	return _in(0x34616828, 0xcd07f1a1, ped, _r);
};

/**
 * IS_PED_SITTING
 */
global.IsPedSitting = function (ped) {
	return _in(0x84d0bf2b, 0x21862059, ped, _r, _ri);
};
global.N_0x84d0bf2b21862059 = global.IsPedSitting;

/**
 * Detect if ped is in any vehicle
 * [True/False]
 */
global.IsPedSittingInAnyVehicle = function (ped) {
	return _in(0x826aa586, 0xedb9fef8, ped, _r);
};

/**
 * Detect if ped is sitting in the specified vehicle
 * [True/False]
 */
global.IsPedSittingInVehicle = function (ped, vehicle) {
	return _in(0xa808aa1d, 0x79230fc2, ped, vehicle, _r);
};

/**
 * _IS_PED_SLIDING
 */
global.IsPedSliding = function (ped) {
	return _in(0xd6740e14, 0xe4cefc0b, ped, _r, _ri);
};
global.N_0xd6740e14e4cefc0b = global.IsPedSliding;

/**
 * IS_PED_SPRINTING
 */
global.IsPedSprinting = function (ped) {
	return _in(0x57e457cd, 0x2c0fc168, ped, _r);
};

/**
 * IS_PED_STILL
 */
global.IsPedStill = function (ped) {
	return _in(0xac29253e, 0xef8f0180, ped, _r);
};

/**
 * IS_PED_STOPPED
 */
global.IsPedStopped = function (ped) {
	return _in(0x530944f6, 0xf4b8a214, ped, _r);
};

/**
 * IS_PED_SWIMMING
 */
global.IsPedSwimming = function (ped) {
	return _in(0x9de32763, 0x1295b4c2, ped, _r);
};

/**
 * IS_PED_SWIMMING_UNDER_WATER
 */
global.IsPedSwimmingUnderWater = function (ped) {
	return _in(0xc024869a, 0x53992f34, ped, _r);
};

/**
 * _IS_PED_TARGET_ACTION_DISABLE_FLAG_ENABLED
 */
global.IsPedTargetActionDisableFlagEnabled = function (ped, actionDisableFlag) {
	return _in(0x02aa2096, 0xfe00f3e1, ped, actionDisableFlag, _r, _ri);
};
global.N_0x02aa2096fe00f3e1 = global.IsPedTargetActionDisableFlagEnabled;

/**
 * IS_PED_USING_ACTION_MODE
 */
global.IsPedUsingActionMode = function (ped) {
	return _in(0x00e73468, 0xd085f745, ped, _r);
};

/**
 * _IS_PED_USING_ACTION_MODE_2
 */
global.IsPedUsingActionMode_2 = function (ped) {
	return _in(0xebb208d6, 0xae712c03, ped, _r, _ri);
};
global.N_0xebb208d6ae712c03 = global.IsPedUsingActionMode_2;

/**
 * IS_PED_USING_ANY_SCENARIO
 */
global.IsPedUsingAnyScenario = function (ped) {
	return _in(0x57ab4a30, 0x80f85143, ped, _r);
};

/**
 * Equivalent to IS_PED_USING_SCENARIO from V but takes a hash instead of a string.
 */
global.IsPedUsingScenarioHash = function (ped, scenarioHash) {
	return _in(0x34d6ac11, 0x57c8226c, ped, _ch(scenarioHash), _r, _ri);
};
global.N_0x34d6ac1157c8226c = global.IsPedUsingScenarioHash;

/**
 * IS_PED_USING_THIS_SCENARIO
 */
global.IsPedUsingThisScenario = function (ped, scenario) {
	return _in(0x9c54041b, 0xb66bcf9e, ped, scenario, _r, _ri);
};
global.N_0x9c54041bb66bcf9e = global.IsPedUsingThisScenario;

/**
 * IS_PED_VAULTING
 */
global.IsPedVaulting = function (ped) {
	return _in(0x117c70d1, 0xf5730b5e, ped, _r);
};

/**
 * _IS_PED_VISIBILITY_TRACKED
 */
global.IsPedVisibilityTracked = function (ped) {
	return _in(0x5102307c, 0xe88798eb, ped, _r, _ri);
};
global.N_0x5102307ce88798eb = global.IsPedVisibilityTracked;

/**
 * IS_PED_WALKING
 */
global.IsPedWalking = function (ped) {
	return _in(0xde4c184b, 0x2b9b071a, ped, _r);
};

/**
 * IS_PED_WEAPON_READY_TO_SHOOT
 */
global.IsPedWeaponReadyToShoot = function (ped) {
	return _in(0xb80ca294, 0xf2f26749, ped, _r);
};

/**
 * _IS_PERSISTENT_CHARACTER_DEAD
 */
global.IsPersistentCharacterDead = function (persChar) {
	return _in(0xeb98b38c, 0xa60742d7, persChar, _r, _ri);
};
global.N_0xeb98b38ca60742d7 = global.IsPersistentCharacterDead;

/**
 * _IS_PERSISTENT_CHARACTER_VALID
 */
global.IsPersistentCharacterValid = function (persChar) {
	return _in(0x800df3fc, 0x913355f3, persChar, _r, _ri);
};
global.N_0x800df3fc913355f3 = global.IsPersistentCharacterValid;

/**
 * NativeDB Introduced: v1355
 */
global.IsPhotoFrame = function () {
	return _in(0x86076ae3, 0x5cbbe55f, _r);
};

/**
 * _IS_PICKUP_TYPE_VALID
 */
global.IsPickupTypeValid = function (pickupHash) {
	return _in(0x007bd043, 0x587f7c82, _ch(pickupHash), _r, _ri);
};
global.N_0x007bd043587f7c82 = global.IsPickupTypeValid;

/**
 * IS_PLAYBACK_GOING_ON_FOR_VEHICLE
 */
global.IsPlaybackGoingOnForVehicle = function (vehicle) {
	return _in(0x02774b3a, 0x9034278f, vehicle, _r);
};

/**
 * IS_PLAYBACK_USING_AI_GOING_ON_FOR_VEHICLE
 */
global.IsPlaybackUsingAiGoingOnForVehicle = function (vehicle) {
	return _in(0x5a747260, 0x6ec5b7c1, vehicle, _r);
};

/**
 * Return true while player is being arrested / busted.
 * If atArresting is set to 1, this function will return 1 when player is being arrested (while player is putting his hand up, but still have control)
 * If atArresting is set to 0, this function will return 1 only when the busted screen is shown.
 */
global.IsPlayerBeingArrested = function (player, atArresting) {
	return _in(0xc8183ae9, 0x63c58374, player, atArresting, _r);
};

/**
 * _IS_PLAYER_BIT_SET_AT_INDEX
 */
global.IsPlayerBitSetAtIndex = function (bitIndex) {
	return _in(0x72b2e00c, 0x9bac6789, _i, bitIndex, _r);
};
global.N_0x72b2e00c9bac6789 = global.IsPlayerBitSetAtIndex;

/**
 * Returns TRUE if the player ('s ped) is climbing at the moment.
 */
global.IsPlayerClimbing = function (player) {
	return _in(0xb8a70c22, 0xfd48197a, player, _r);
};

/**
 * Returns whether the player can control himself.
 */
global.IsPlayerControlOn = function (player) {
	return _in(0x7964097f, 0xce4c244b, player, _r);
};

/**
 * IS_PLAYER_DEAD
 */
global.IsPlayerDead = function (player) {
	return _in(0x2e9c3fcb, 0x6798f397, player, _r);
};

/**
 * _IS_PLAYER_FOLLOWING_TARGET
 */
global.IsPlayerFollowingTarget = function (player, ped) {
	return _in(0xe24c64d9, 0xaded2ef5, player, ped, _r, _ri);
};
global.N_0xe24c64d9aded2ef5 = global.IsPlayerFollowingTarget;

/**
 * Gets a value indicating whether the specified player is currently aiming freely.
 */
global.IsPlayerFreeAiming = function (player) {
	return _in(0x936f967d, 0x4be1ce9d, player, _r);
};

/**
 * Gets a value indicating whether the specified player is currently aiming freely at the specified entity.
 */
global.IsPlayerFreeAimingAtEntity = function (player, entity) {
	return _in(0x8c67c11c, 0x68713d25, player, entity, _r);
};

/**
 * Checks if player is focused on any entity
 */
global.IsPlayerFreeFocusing = function (player) {
	return _in(0x1a51bfe6, 0x0708e482, player, _r, _ri);
};
global.N_0x1a51bfe60708e482 = global.IsPlayerFreeFocusing;

/**
 * _IS_PLAYER_IN_SCOPE
 */
global.IsPlayerInScope = function (player) {
	return _in(0x04d7f336, 0x40662fa2, player, _r, _ri);
};
global.N_0x04d7f33640662fa2 = global.IsPlayerInScope;

/**
 * NativeDB Introduced: v1355
 */
global.IsPlayerOwningStandaloneSp = function () {
	return _in(0x36040772, 0xdf5e59a0, _r);
};

/**
 * Checks whether the specified player has a Ped, the Ped is not dead, is not injured and is not arrested.
 */
global.IsPlayerPlaying = function (player) {
	return _in(0xbffb3598, 0x6caae58c, player, _r);
};

/**
 * IS_PLAYER_READY_FOR_CUTSCENE
 */
global.IsPlayerReadyForCutscene = function (player) {
	return _in(0xaa67bcb0, 0x097f2fa3, player, _r);
};

/**
 * Returns true if the player is riding a train.
 */
global.IsPlayerRidingTrain = function (player) {
	return _in(0x2fb0acad, 0xa6a238dd, player, _r);
};

/**
 * IS_PLAYER_SCRIPT_CONTROL_ON
 */
global.IsPlayerScriptControlOn = function (player) {
	return _in(0xb7835075, 0x4157c00f, player, _r);
};

/**
 * IS_PLAYER_SWITCH_IN_PROGRESS
 */
global.IsPlayerSwitchInProgress = function () {
	return _in(0xed20cb1f, 0x5297791d, _r);
};

/**
 * IS_PLAYER_TARGETTING_ANYTHING
 */
global.IsPlayerTargettingAnything = function (player) {
	return _in(0x4605c66e, 0x0f935f83, player, _r);
};

/**
 * IS_PLAYER_TARGETTING_ENTITY
 */
global.IsPlayerTargettingEntity = function (player, entity, p2) {
	return _in(0x27f89fdc, 0x16688a7a, player, entity, p2, _r);
};

/**
 * IS_PLAYER_TELEPORT_ACTIVE
 */
global.IsPlayerTeleportActive = function () {
	return _in(0x085eeaeb, 0x8783feb5, _r);
};

/**
 * IS_PLAYER_WANTED_LEVEL_GREATER
 */
global.IsPlayerWantedLevelGreater = function (player, wantedLevel) {
	return _in(0xe1c0ad4c, 0x24324c36, player, wantedLevel, _r);
};

/**
 * IS_POINT_IN_ANGLED_AREA
 */
global.IsPointInAngledArea = function (p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11) {
	return _in(0x2a70bae8, 0x883e4c81, _fv(p0), _fv(p1), _fv(p2), _fv(p3), _fv(p4), _fv(p5), _fv(p6), _fv(p7), _fv(p8), _fv(p9), p10, p11, _r);
};

/**
 * IS_POINT_IN_VOLUME
 */
global.IsPointInVolume = function (volume, x, y, z) {
	return _in(0xf256a752, 0x10c5c0eb, volume, _fv(x), _fv(y), _fv(z), _r, _ri);
};
global.N_0xf256a75210c5c0eb = global.IsPointInVolume;

/**
 * _IS_POINT_NEAR_VOLUME_LOCK_CENTER
 */
global.IsPointNearVolumeLockCenter = function (x, y, z, radius, p4, p5, flags) {
	return _in(0x769bb762, 0x6b8cdb06, _fv(x), _fv(y), _fv(z), _fv(radius), p4, p5, flags, _r, _ri);
};
global.N_0x769bb7626b8cdb06 = global.IsPointNearVolumeLockCenter;

/**
 * Gets a value indicating whether the specified position is on a road.
 */
global.IsPointOnRoad = function (x, y, z, vehicle) {
	return _in(0x125bf4ab, 0xfc536b09, _fv(x), _fv(y), _fv(z), vehicle, _r);
};

/**
 * _IS_POPZONE_VALID
 */
global.IsPopzoneValid = function (popZone) {
	return _in(0xa5bd5850, 0x05efcad4, popZone, _r, _ri);
};
global.N_0xa5bd585005efcad4 = global.IsPopzoneValid;

/**
 * Returns true if IPL is streamed in (?)
 */
global.IsPositionInsideIplStreamingExtents = function (iplHash, x, y, z) {
	return _in(0x73b40d97, 0xd7baad77, _ch(iplHash), _fv(x), _fv(y), _fv(z), _r, _ri);
};
global.N_0x73b40d97d7baad77 = global.IsPositionInsideIplStreamingExtents;

/**
 * IS_POSITION_OCCUPIED
 */
global.IsPositionOccupied = function (x, y, z, range, p4, p5, p6, p7, p8, p9, p10) {
	return _in(0x825ca3ed, 0x43831015, _fv(x), _fv(y), _fv(z), _fv(range), p4, p5, p6, p7, p8, p9, p10, _r);
};

/**
 * IS_PRINCIPAL_ACE_ALLOWED
 */
global.IsPrincipalAceAllowed = function (principal, object) {
	return _in(0x00000000, 0x37cf52ce, _ts(principal), _ts(object), _r);
};

/**
 * Determines whether there is a projectile within the specified coordinates. The coordinates form a rectangle.
 * ownedByPlayer = only projectiles fired by the player will be detected.
 */
global.IsProjectileInArea = function (x1, y1, z1, x2, y2, z2, ownedByPlayer) {
	return _in(0x05b0061e, 0xfdfc8941, _fv(x1), _fv(y1), _fv(z1), _fv(x2), _fv(y2), _fv(z2), ownedByPlayer, _r);
};

/**
 * IS_PROJECTILE_TYPE_IN_ANGLED_AREA
 */
global.IsProjectileTypeInAngledArea = function (p0, p1, p2, p3, p4, p5, p6, p7, p8) {
	return _in(0x928431f4, 0x133cd3d4, _fv(p0), _fv(p1), _fv(p2), _fv(p3), _fv(p4), _fv(p5), _fv(p6), p7, p8, _r);
};

/**
 * Determines whether there is a projectile of a specific type within the specified coordinates. The coordinates form a rectangle.
 */
global.IsProjectileTypeInArea = function (xMin, yMin, zMin, xMax, yMax, zMax, weaponType, isPlayer) {
	return _in(0x04965fb9, 0xe14235c7, _fv(xMin), _fv(yMin), _fv(zMin), _fv(xMax), _fv(yMax), _fv(zMax), _ch(weaponType), isPlayer, _r);
};

/**
 * IS_PROJECTILE_TYPE_WITHIN_DISTANCE
 */
global.IsProjectileTypeWithinDistance = function (p0, p1, p2, p3, p4, p5) {
	return _in(0xf51c9baa, 0xd9ed64c4, _fv(p0), _fv(p1), _fv(p2), p3, _fv(p4), p5, _r);
};
global.IsProjectileTypeInRadius = global.IsProjectileTypeWithinDistance;

/**
 * IS_PROP_SET_FULLY_LOADED
 */
global.IsPropSetFullyLoaded = function (propSet) {
	return _in(0xf42db680, 0xa8b2a4d9, propSet, _r, _ri);
};
global.N_0xf42db680a8b2a4d9 = global.IsPropSetFullyLoaded;

/**
 * _IS_PROP_SET_VISIBLE
 */
global.IsPropSetVisible = function (propSet) {
	return _in(0x0ce8aafe, 0x9e433a23, propSet, _r, _ri);
};
global.N_0x0ce8aafe9e433a23 = global.IsPropSetVisible;

/**
 * _IS_PROXY_INTERIOR_INDEX_ARTIFICIAL_LIGHTS_ENABLED
 */
global.IsProxyInteriorIndexArtificialLightsEnabled = function (proxyInteriorIndex) {
	return _in(0x113857d6, 0x6a9cabe6, proxyInteriorIndex, _r, _ri);
};
global.N_0x113857d66a9cabe6 = global.IsProxyInteriorIndexArtificialLightsEnabled;

/**
 * IS_RADAR_HIDDEN
 */
global.IsRadarHidden = function () {
	return _in(0x1b82fd5f, 0xfa4d666e, _r);
};

/**
 * IS_RADAR_HIDDEN_BY_SCRIPT
 */
global.IsRadarHiddenByScript = function () {
	return _in(0x66f35dd9, 0xd2b58579, _r, _ri);
};
global.N_0x66f35dd9d2b58579 = global.IsRadarHiddenByScript;

/**
 * IS_RADAR_PREFERENCE_SWITCHED_ON
 */
global.IsRadarPreferenceSwitchedOn = function () {
	return _in(0x81e47f0e, 0xe1f2b21e, _r);
};

/**
 * Can be used to get state of raw key on keyboard.
 * Virtual key codes can be found [here](https://learn.microsoft.com/en-us/windows/win32/inputdev/virtual-key-codes)
 * @param rawKeyIndex Index of raw key from keyboard.
 * @return Returns bool value of down state.
 */
global.IsRawKeyDown = function (rawKeyIndex) {
	return _in(0x00000000, 0xd95a7387, rawKeyIndex, _r);
};

/**
 * Can be used to get state of raw key on keyboard.
 * Virtual key codes can be found [here](https://learn.microsoft.com/en-us/windows/win32/inputdev/virtual-key-codes)
 * @param rawKeyIndex Index of raw key from keyboard.
 * @return Returns bool value of pressed state.
 */
global.IsRawKeyPressed = function (rawKeyIndex) {
	return _in(0x00000000, 0x69f7c29e, rawKeyIndex, _r);
};

/**
 * Can be used to get release state of raw key on keyboard.
 * Virtual key codes can be found [here](https://learn.microsoft.com/en-us/windows/win32/inputdev/virtual-key-codes)
 * @param rawKeyIndex Index of raw key from keyboard.
 * @return Returns bool value of released state.
 */
global.IsRawKeyReleased = function (rawKeyIndex) {
	return _in(0x00000000, 0xeaa50861, rawKeyIndex, _r);
};

/**
 * Can be used to get state of raw key on keyboard.
 * Virtual key codes can be found [here](https://learn.microsoft.com/en-us/windows/win32/inputdev/virtual-key-codes)
 * @param rawKeyIndex Index of raw key from keyboard.
 * @return Returns bool value of up state.
 */
global.IsRawKeyUp = function (rawKeyIndex) {
	return _in(0x00000000, 0x36f4e505, rawKeyIndex, _r);
};

/**
 * IS_RENDERED_SCENE_LOADED
 */
global.IsRenderedSceneLoaded = function () {
	return _in(0x45bf3a62, 0x39a576b7, _r, _ri);
};
global.N_0x45bf3a6239a576b7 = global.IsRenderedSceneLoaded;

/**
 * _IS_ROPE_ATTACHED_TO_ENTITY
 */
global.IsRopeAttachedToEntity = function (ropeId, entity) {
	return _in(0x9b4f7e3e, 0x4f9c77b3, ropeId, entity, _r, _ri);
};
global.N_0x9b4f7e3e4f9c77b3 = global.IsRopeAttachedToEntity;

/**
 * _IS_ROPE_BROKEN
 */
global.IsRopeBroken = function (ropeId) {
	return _in(0x79c2bec8, 0x2cfd7f7f, ropeId, _r, _ri);
};
global.N_0x79c2bec82cfd7f7f = global.IsRopeBroken;

/**
 * _IS_SCENARIO_BLOCKING_AREA_VALID
 */
global.IsScenarioBlockingAreaValid = function (p0) {
	return _in(0x91a5f9cb, 0xebb9d936, p0, _r, _ri);
};
global.N_0x91a5f9cbebb9d936 = global.IsScenarioBlockingAreaValid;

/**
 * IS_SCENARIO_GROUP_ENABLED
 */
global.IsScenarioGroupEnabled = function (scenarioGroup) {
	return _in(0x367a09de, 0xd4e05b99, _ts(scenarioGroup), _r);
};

/**
 * _IS_SCENARIO_GROUP_ENABLED_HASH
 */
global.IsScenarioGroupEnabledHash = function (scenarioGroup) {
	return _in(0xdcc37491, 0x3de6aaa6, _ch(scenarioGroup), _r);
};

/**
 * IS_SCENARIO_OCCUPIED
 */
global.IsScenarioOccupied = function (p0, p1, p2, p3, p4) {
	return _in(0x788756d7, 0x3ac2e07c, _fv(p0), _fv(p1), _fv(p2), _fv(p3), p4, _r);
};

/**
 * _IS_SCENARIO_POINT_ACTIVE
 */
global.IsScenarioPointActive = function (scenario) {
	return _in(0x0cc36d41, 0x56006509, scenario, _r, _ri);
};
global.N_0x0cc36d4156006509 = global.IsScenarioPointActive;

/**
 * _IS_SCENARIO_POINT_FLAG_SET
 */
global.IsScenarioPointFlagSet = function (scenario, flag) {
	return _in(0x8569c38d, 0x2fb80650, scenario, flag, _r, _ri);
};
global.N_0x8569c38d2fb80650 = global.IsScenarioPointFlagSet;

/**
 * IS_SCENARIO_TYPE_ENABLED
 */
global.IsScenarioTypeEnabled = function (scenarioType) {
	return _in(0x3a815db3, 0xea088722, _ts(scenarioType), _r);
};

/**
 * IS_SCREEN_FADED_IN
 */
global.IsScreenFadedIn = function () {
	return _in(0x37f9a426, 0xfbcf4af2, _r);
};

/**
 * IS_SCREEN_FADED_OUT
 */
global.IsScreenFadedOut = function () {
	return _in(0xf5472c80, 0xdf2ff847, _r);
};

/**
 * IS_SCREEN_FADING_IN
 */
global.IsScreenFadingIn = function () {
	return _in(0x0ceccc63, 0xffa2ef24, _r);
};

/**
 * IS_SCREEN_FADING_OUT
 */
global.IsScreenFadingOut = function () {
	return _in(0x02f39bef, 0xe7b88d00, _r);
};

/**
 * item: FUSE, value returned from 0x2E1CDC1FF3B8473E
 * soundSet: HUD_SHOP_SOUNDSET, COMPANIONS_ROBBERIES_SOUNDSET
 */
global.IsScriptedAudioCustom = function (item, soundSet) {
	return _in(0x6df942c4, 0x179be5ab, _ch(item), _ch(soundSet), _r, _ri);
};
global.N_0x6df942c4179be5ab = global.IsScriptedAudioCustom;

/**
 * _IS_SCRIPTED_CONVERSATION_CREATED
 */
global.IsScriptedConversationCreated = function (convoRoot) {
	return _in(0xd89504d9, 0xd7d5057d, _ts(convoRoot), _r, _ri);
};
global.N_0xd89504d9d7d5057d = global.IsScriptedConversationCreated;

/**
 * IS_SCRIPTED_CONVERSATION_LOADED
 */
global.IsScriptedConversationLoaded = function (convoRoot) {
	return _in(0xdf0d54be, 0x7a776737, _ts(convoRoot), _r);
};

/**
 * IS_SCRIPTED_CONVERSATION_PLAYING
 */
global.IsScriptedConversationPlaying = function (p0) {
	return _in(0x1ecc7679, 0x2f661cf5, _ts(p0), _r, _ri);
};
global.N_0x1ecc76792f661cf5 = global.IsScriptedConversationPlaying;

/**
 * _IS_SCRIPTED_CONVERSION_ONGOING
 */
global.IsScriptedConversionOngoing = function (p0) {
	return _in(0xf01c570e, 0x0a0a1e67, _ts(p0), _r, _ri);
};
global.N_0xf01c570e0a0a1e67 = global.IsScriptedConversionOngoing;

/**
 * IS_SCRIPTED_SPEECH_PLAYING
 */
global.IsScriptedSpeechPlaying = function (p0) {
	return _in(0xcc9aa18d, 0xcc7084f4, p0, _r);
};

/**
 * seatIndex: see CREATE_PED_INSIDE_VEHICLE
 */
global.IsSeatWarpOnly = function (vehicle, seatIndex) {
	return _in(0x7892685b, 0xf6d9775e, vehicle, seatIndex, _r);
};

/**
 * _IS_SECONDARY_SPECIAL_ABILITY_ACTIVE
 */
global.IsSecondarySpecialAbilityActive = function (player) {
	return _in(0x45ab66d0, 0x2b601fa7, player, _r, _ri);
};
global.N_0x45ab66d02b601fa7 = global.IsSecondarySpecialAbilityActive;

/**
 * Returns true if eagle eye is enabled for the player
 */
global.IsSecondarySpecialAbilityEnabled = function (player) {
	return _in(0xe022cc1b, 0x545f1d9f, player, _r);
};
global.N_0xe022cc1b545f1d9f = global.IsSecondarySpecialAbilityEnabled;

/**
 * eventType: https://alloc8or.re/rdr3/doc/enums/eEventType.txt
 */
global.IsShockingEventInSphere = function (eventType, x, y, z, radius) {
	return _in(0x9db47e16, 0x060d6354, _ch(eventType), _fv(x), _fv(y), _fv(z), _fv(radius), _r);
};

/**
 * _IS_SPECIAL_ABILITY_ACTIVE
 */
global.IsSpecialAbilityActive = function (player) {
	return _in(0xb16223cb, 0x7da965f0, player, _r, _ri);
};
global.N_0xb16223cb7da965f0 = global.IsSpecialAbilityActive;

/**
 * IS_SPHERE_VISIBLE
 */
global.IsSphereVisible = function (x, y, z, radius) {
	return _in(0x2e941b5f, 0xfa2989c6, _fv(x), _fv(y), _fv(z), _fv(radius), _r);
};

/**
 * IS_SPHERE_VISIBLE_TO_ANOTHER_MACHINE
 */
global.IsSphereVisibleToAnotherMachine = function (p0, p1, p2, p3, p4) {
	return _in(0xd82cf8e6, 0x4c8729d8, p0, p1, p2, p3, p4, _r);
};

/**
 * IS_SPHERE_VISIBLE_TO_PLAYER
 */
global.IsSphereVisibleToPlayer = function (p0, p1, p2, p3, p4, p5) {
	return _in(0xdc3a3102, 0x19e5da62, p0, p1, p2, p3, p4, p5, _r);
};

/**
 * IS_SRL_LOADED
 */
global.IsSrlLoaded = function () {
	return _in(0x5c2c8851, 0x2cf6dafb, _r);
};

/**
 * Hardcoded to return false.
 */
global.IsStadiaVersion = function () {
	return _in(0x268ab842, 0x0a9e4ed7, _r);
};
global.N_0x268ab8420a9e4ed7 = global.IsStadiaVersion;

/**
 * _IS_STATIC_VEG_MODIFIER_ENABLED
 */
global.IsStaticVegModifierEnabled = function (p0) {
	return _in(0xde9bad32, 0x92aa6d5e, _ch(p0), _r, _ri);
};
global.N_0xde9bad3292aa6d5e = global.IsStaticVegModifierEnabled;

/**
 * IS_STREAM_PLAYING
 */
global.IsStreamPlaying = function (streamId) {
	return _in(0xd11fa52e, 0xb849d978, streamId, _r);
};

/**
 * IS_STRING_NULL
 */
global.IsStringNull = function (string) {
	return _in(0x60210232, 0x4604d96b, _ts(string), _r);
};

/**
 * IS_STRING_NULL_OR_EMPTY
 */
global.IsStringNullOrEmpty = function (string) {
	return _in(0x2cf12f9a, 0xcf18f048, _ts(string), _r);
};

/**
 * Returns true if the entire string consists only of space characters.
 */
global.IsStringNullOrEmptyOrSpaces = function (string) {
	return _in(0x375f5870, 0xa7b8bec1, _ts(string), _r, _ri);
};
global.N_0x375f5870a7b8bec1 = global.IsStringNullOrEmptyOrSpaces;

/**
 * NativeDB Introduced: v1355
 */
global.IsSubtitlePreferenceSwitchedOn = function () {
	return _in(0x7c4ac957, 0x3587f2df, _r);
};

/**
 * IS_SYSTEM_UI_BEING_DISPLAYED
 */
global.IsSystemUiBeingDisplayed = function () {
	return _in(0x908258b6, 0x209e71f7, _r);
};

/**
 * _IS_TARGET
 */
global.IsTarget = function (ped, targetPed) {
	return _in(0x6e5cbcb3, 0x941d7d08, ped, targetPed, _r, _ri);
};
global.N_0x6e5cbcb3941d7d08 = global.IsTarget;

/**
 * NativeDB Introduced: v1232
 */
global.IsTargetPedConstrainedByPedUsingBolas = function (ped, targetPed) {
	return _in(0x8d50f432, 0x98ab9545, ped, targetPed, _r);
};

/**
 * Returns true if ped is in perception (focused and looking at target ped)
 * Most float params are -1.f in R* Scripts
 */
global.IsTargetPedInPerceptionArea = function (ped, targetPed, p2, customDistance, p4, p5) {
	return _in(0x06087579, 0xe7aa85a9, ped, targetPed, _fv(p2), _fv(customDistance), _fv(p4), _fv(p5), _r);
};
global.N_0x06087579e7aa85a9 = global.IsTargetPedInPerceptionArea;

/**
 * IS_TASK_MOVE_NETWORK_ACTIVE
 */
global.IsTaskMoveNetworkActive = function (ped) {
	return _in(0x921ce12c, 0x489c4c41, ped, _r);
};

/**
 * IS_TASK_MOVE_NETWORK_READY_FOR_TRANSITION
 */
global.IsTaskMoveNetworkReadyForTransition = function (ped) {
	return _in(0x30ed88d5, 0xe0c56a37, ped, _r);
};

/**
 * IS_TEAM_CARRIABLE_ENTITY
 */
global.IsTeamCarriableEntity = function (p0, p1) {
	return _in(0x559a6f8c, 0x5133b4ee, p0, p1, _r, _ri);
};
global.N_0x559a6f8c5133b4ee = global.IsTeamCarriableEntity;

/**
 * _IS_TEXTURE_IN_DICT
 */
global.IsTextureInDict = function (txdHash, dict) {
	return _in(0xa2a51869, 0xbded733b, _ch(txdHash), _ch(dict), _r, _ri);
};
global.N_0xa2a51869bded733b = global.IsTextureInDict;

/**
 * _IS_TEXTURE_VALID
 */
global.IsTextureValid = function (textureId) {
	return _in(0x31dc8d3f, 0x216d8509, textureId, _r, _ri);
};
global.N_0x31dc8d3f216d8509 = global.IsTextureValid;

/**
 * IS_THIS_MODEL_A_BOAT
 */
global.IsThisModelABoat = function (model) {
	return _in(0x799cfc7c, 0x5b743b15, _ch(model), _r);
};

/**
 * _IS_THIS_MODEL_A_DRAFT_VEHICLE
 */
global.IsThisModelADraftVehicle = function (model) {
	return _in(0xb9d5bdda, 0x88e1bb66, _ch(model), _r, _ri);
};
global.N_0xb9d5bdda88e1bb66 = global.IsThisModelADraftVehicle;

/**
 * _IS_THIS_MODEL_A_HORSE
 */
global.IsThisModelAHorse = function (model) {
	return _in(0x772a1969, 0xf649e902, _ch(model), _r, _ri);
};
global.N_0x772a1969f649e902 = global.IsThisModelAHorse;

/**
 * IS_THIS_MODEL_A_TRAIN
 */
global.IsThisModelATrain = function (model) {
	return _in(0xfc08c8f8, 0xc1edf174, _ch(model), _r);
};

/**
 * IS_THREAD_ACTIVE
 */
global.IsThreadActive = function (threadId, ignoreKilledState) {
	return _in(0x46e9ae36, 0xd8fa6417, threadId, ignoreKilledState, _r);
};

/**
 * IS_THREAD_EXIT_REQUESTED
 */
global.IsThreadExitRequested = function () {
	return _in(0x9e4ef615, 0xe307fbbe, _r, _ri);
};
global.N_0x9e4ef615e307fbbe = global.IsThreadExitRequested;

/**
 * _IS_THREAD_EXIT_REQUESTED_FOR_THREAD_WITH_THIS_ID
 */
global.IsThreadExitRequestedForThreadWithThisId = function (threadId) {
	return _in(0x30bed536, 0x46c86d11, threadId, _r, _ri);
};
global.N_0x30bed53646c86d11 = global.IsThreadExitRequestedForThreadWithThisId;

/**
 * Subtracts the second argument from the first, then returns whether the result is negative.
 */
global.IsTimeLessThan = function (timeA, timeB) {
	return _in(0xcb2cf514, 0x8012c8d0, timeA, timeB, _r);
};

/**
 * Subtracts the first argument from the second, then returns whether the result is negative.
 */
global.IsTimeMoreThan = function (timeA, timeB) {
	return _in(0xde350f86, 0x51e4346c, timeA, timeB, _r);
};

/**
 * _IS_TRACKED_ENTITY_VISIBLE
 */
global.IsTrackedEntityVisible = function (entity) {
	return _in(0xc8ccdb71, 0x2fbcba92, entity, _r, _ri);
};
global.N_0xc8ccdb712fbcba92 = global.IsTrackedEntityVisible;

/**
 * _IS_TRACKED_PED_VISIBILITY_PERCENTAGE_NOT_LESS_THAN
 */
global.IsTrackedPedVisibilityPercentageNotLessThan = function (ped, percent) {
	return _in(0x164cecc5, 0x9e70df86, ped, _fv(percent), _r, _ri);
};
global.N_0x164cecc59e70df86 = global.IsTrackedPedVisibilityPercentageNotLessThan;

/**
 * Returns whether or not a ped is visible within your FOV, not this check auto's to false after a certain distance.
 * Target needs to be tracked first, won't work otherwise.
 */
global.IsTrackedPedVisible = function (ped) {
	return _in(0x91c8e617, 0xf64188ac, ped, _r);
};

/**
 * _IS_TRACKED_POINT_VALID
 */
global.IsTrackedPointValid = function (point) {
	return _in(0xf2fddcc8, 0xc6bae1b3, point, _r, _ri);
};
global.N_0xf2fddcc8c6bae1b3 = global.IsTrackedPointValid;

/**
 * IS_TRACKED_POINT_VISIBLE
 */
global.IsTrackedPointVisible = function (point) {
	return _in(0xcbb056ba, 0x159fb48d, point, _r);
};

/**
 * IS_TRAIN_WAITING_AT_STATION
 */
global.IsTrainWaitingAtStation = function (train) {
	return _in(0xe887bd31, 0xd97793f6, train, _r, _ri);
};
global.N_0xe887bd31d97793f6 = global.IsTrainWaitingAtStation;

/**
 * Called together with IS_VEHICLE_SEAT_FREE
 */
global.IsTransportSeatFree = function (transportEntity, seatIndex) {
	return _in(0x43ff27fc, 0x1829c202, transportEntity, seatIndex, _r, _ri);
};
global.N_0x43ff27fc1829c202 = global.IsTransportSeatFree;

/**
 * _IS_TRANSPORT_SEAT_OCCUPIED
 */
global.IsTransportSeatOccupied = function (transportEntity, seatIndex) {
	return _in(0x2e2e0602, 0x3d07631e, transportEntity, seatIndex, _r, _ri);
};
global.N_0x2e2e06023d07631e = global.IsTransportSeatOccupied;

/**
 * IS_TVSHOW_CURRENTLY_PLAYING
 */
global.IsTvshowCurrentlyPlaying = function (videoCliphash) {
	return _in(0x4d562223, 0xe0eb65f3, _ch(videoCliphash), _r);
};
global.IsTvPlaylistItemPlaying = global.IsTvshowCurrentlyPlaying;

/**
 * IS_UIAPP_ACTIVE_BY_HASH
 */
global.IsUiappActiveByHash = function (appNameHash) {
	return _in(0x25b7a020, 0x6bdfac76, _ch(appNameHash), _r, _ri);
};
global.IsAppActive = global.IsUiappActiveByHash;

/**
 * NativeDB Introduced: v1232
 */
global.IsUiappRunning = function (appName) {
	return _in(0xde4a9b35, 0xd028979f, _ts(appName), _r);
};

/**
 * IS_UIAPP_RUNNING_BY_HASH
 */
global.IsUiappRunningByHash = function (appNameHash) {
	return _in(0x4e511d09, 0x3a86ad49, _ch(appNameHash), _r, _ri);
};
global.IsAppRunning = global.IsUiappRunningByHash;

/**
 * NativeDB Introduced: v1232
 */
global.IsUiappTransitioningByHash = function (appNameHash) {
	return _in(0x42095b88, 0x6d30de66, _ch(appNameHash), _r);
};

/**
 * padIndex is not used
 */
global.IsUsingKeyboardAndMouse = function (control) {
	return _in(0xa571d467, 0x27e2b718, control, _r);
};
global.IsInputDisabled = global.IsUsingKeyboardAndMouse;

/**
 * _IS_TRACKED_* - IS_V*
 */
global.IsUsingSlipstream = function (ped) {
	return _in(0xaf61b3cd, 0x8c3b82c3, ped, _r, _ri);
};
global.N_0xaf61b3cd8c3b82c3 = global.IsUsingSlipstream;

/**
 * IS_VALID_INTERIOR
 */
global.IsValidInterior = function (interior) {
	return _in(0x017c1b31, 0x59f79f6c, interior, _r);
};

/**
 * Only returns true if BRING_VEHICLE_TO_HALT is called on vehicle beforehand
 */
global.IsVehicleBroughtToHalt = function (vehicle) {
	return _in(0x404527bc, 0x03da0e6c, vehicle, _r, _ri);
};
global.N_0x404527bc03da0e6c = global.IsVehicleBroughtToHalt;

/**
 * doorId: see SET_VEHICLE_DOOR_SHUT
 */
global.IsVehicleDoorBroken = function (vehicle, doorId) {
	return _in(0xe979bb56, 0x02ad3402, vehicle, doorId, _r, _ri);
};
global.N_0xe979bb5602ad3402 = global.IsVehicleDoorBroken;

/**
 * doorId: see SET_VEHICLE_DOOR_SHUT
 */
global.IsVehicleDoorFullyOpen = function (vehicle, doorId) {
	return _in(0x7ae19114, 0x3c7a9107, vehicle, doorId, _r);
};

/**
 * IS_VEHICLE_DRIVEABLE
 */
global.IsVehicleDriveable = function (vehicle, p1, p2) {
	return _in(0xb86d29b1, 0x0f627379, vehicle, p1, p2, _r);
};

/**
 * IS_VEHICLE_EXTRA_TURNED_ON
 */
global.IsVehicleExtraTurnedOn = function (vehicle, extraId) {
	return _in(0xfa9a55d9, 0xc4351625, vehicle, extraId, _r);
};

/**
 * _IS_VEHICLE_FADING_OUT
 */
global.IsVehicleFadingOut = function (vehicle) {
	return _in(0x5136b284, 0xb67b35c7, vehicle, _r, _ri);
};
global.N_0x5136b284b67b35c7 = global.IsVehicleFadingOut;

/**
 * IS_VEHICLE_IN_BURNOUT
 */
global.IsVehicleInBurnout = function (vehicle) {
	return _in(0x3f5029a8, 0xfc060c48, vehicle, _r);
};

/**
 * _IS_VEHICLE_LIGHT_PROP_SET_LOADED
 */
global.IsVehicleLightPropSetLoaded = function (vehicle) {
	return _in(0x0790473e, 0xee1977d3, vehicle, _r, _ri);
};
global.N_0x0790473eee1977d3 = global.IsVehicleLightPropSetLoaded;

/**
 * IS_VEHICLE_MODEL
 */
global.IsVehicleModel = function (vehicle, model) {
	return _in(0x0045a54e, 0xc7a22455, vehicle, _ch(model), _r);
};

/**
 * Returns true if the id is non zero.
 */
global.IsVehicleNodeIdValid = function (vehicleNodeId) {
	return _in(0x5829a02a, 0xf4f0b3cb, vehicleNodeId, _r);
};

/**
 * IS_VEHICLE_ON_ALL_WHEELS
 */
global.IsVehicleOnAllWheels = function (vehicle) {
	return _in(0x0d5d1195, 0x29654ee0, vehicle, _r);
};

/**
 * _IS_VEHICLE_ON_FIRE
 */
global.IsVehicleOnFire = function (vehicle) {
	return _in(0x0e3bf7ed, 0x4169ec43, vehicle, _r, _ri);
};
global.N_0x0e3bf7ed4169ec43 = global.IsVehicleOnFire;

/**
 * _IS_VEHICLE_PROP_SET_LOADED
 */
global.IsVehiclePropSetLoaded = function (vehicle) {
	return _in(0x155b2fbe, 0x72d7d1d0, vehicle, _r, _ri);
};
global.N_0x155b2fbe72d7d1d0 = global.IsVehiclePropSetLoaded;

/**
 * _IS_VEHICLE_PROP_SET_LOADED_ADDITIONAL
 */
global.IsVehiclePropSetLoadedAdditional = function (vehicle) {
	return _in(0x7264f9ca, 0x87a9830b, vehicle, _r, _ri);
};
global.N_0x7264f9ca87a9830b = global.IsVehiclePropSetLoadedAdditional;

/**
 * seatIndex: see CREATE_PED_INSIDE_VEHICLE
 * Use GET_VEHICLE_MAX_NUMBER_OF_PASSENGERS(vehicle) - 1 for last seat index.
 */
global.IsVehicleSeatFree = function (vehicle, seatIndex) {
	return _in(0xe052c1b1, 0xcaa4ece4, vehicle, seatIndex, _r);
};

/**
 * Returns true if the vehicle's current speed is less than, or equal to 0.0025f.
 * For some vehicles it returns true if the current speed is <= 0.00039999999.
 */
global.IsVehicleStopped = function (vehicle) {
	return _in(0x78c3311a, 0x73135241, vehicle, _r);
};

/**
 * VEH_STUCK_ON_ROOF = 0,
 * VEH_STUCK_ON_SIDE,
 * VEH_STUCK_HUNG_UP,
 * VEH_STUCK_JAMMED
 */
global.IsVehicleStuckTimerUp = function (vehicle, stuckType, ms) {
	return _in(0x1aba9753, 0x939503c5, vehicle, stuckType, ms, _r);
};

/**
 * Requires a visibility tracker on the vehicle (TRACK_VEHICLE_VISIBILITY)
 */
global.IsVehicleVisible = function (vehicle) {
	return _in(0x424910cd, 0x5de8c246, vehicle, _r);
};

/**
 * _IS_VEHICLE_WHEEL_DESTROYED
 */
global.IsVehicleWheelDestroyed = function (vehicle, wheel) {
	return _in(0xcb2ca620, 0xc48bc875, vehicle, wheel, _r, _ri);
};
global.N_0xcb2ca620c48bc875 = global.IsVehicleWheelDestroyed;

/**
 * NativeDB Introduced: v1436
 */
global.IsVehicleWindowIntact = function (vehicle, windowIndex) {
	return _in(0x0e7910a6, 0x3e05b12c, vehicle, windowIndex, _r);
};

/**
 * IS_VEHICLE_WRECKED
 */
global.IsVehicleWrecked = function (vehicle) {
	return _in(0xddbea550, 0x6c848227, vehicle, _r, _ri);
};
global.N_0xddbea5506c848227 = global.IsVehicleWrecked;

/**
 * Hardcoded to return false.
 */
global.IsVideoEditorRunning = function () {
	return _in(0x9eeb0073, 0x17fa3b9c, _r, _ri);
};
global.N_0x9eeb007317fa3b9c = global.IsVideoEditorRunning;

/**
 * IS_VOLUME_LOCK_REQUEST_VALID
 */
global.IsVolumeLockRequestValid = function (volLockRequestId) {
	return _in(0xa4a43593, 0x20345b34, volLockRequestId, _r, _ri);
};
global.N_0xa4a4359320345b34 = global.IsVolumeLockRequestValid;

/**
 * _IS_VOLUME_LOCK_REQUEST_VALID_2
 */
global.IsVolumeLockRequestValid_2 = function (volLockRequestId) {
	return _in(0xf6a8a652, 0xa6b186cd, volLockRequestId, _r, _ri);
};
global.N_0xf6a8a652a6b186cd = global.IsVolumeLockRequestValid_2;

/**
 * IS_WAYPOINT_ACTIVE
 */
global.IsWaypointActive = function () {
	return _in(0x202b1bbf, 0xc6ab5ee4, _r);
};

/**
 * IS_WAYPOINT_PLAYBACK_GOING_ON_FOR_PED
 */
global.IsWaypointPlaybackGoingOnForPed = function (ped, waypointRecording) {
	return _in(0xe03b3f2d, 0x3dc59b64, ped, _ts(waypointRecording), _r);
};

/**
 * IS_WAYPOINT_PLAYBACK_GOING_ON_FOR_VEHICLE
 */
global.IsWaypointPlaybackGoingOnForVehicle = function (p0, p1) {
	return _in(0xf5134943, 0xea29868c, p0, p1, _r);
};

/**
 * Returns true if CWeaponInfoFlags::Flags::Gun is set.
 */
global.IsWeaponAGun = function (weaponHash) {
	return _in(0x705be297, 0xeebdb95d, _ch(weaponHash), _r, _ri);
};
global.N_0x705be297eebdb95d = global.IsWeaponAGun;

/**
 * _IS_WEAPON_BINOCULARS
 */
global.IsWeaponBinoculars = function (weaponHash) {
	return _in(0xc853230e, 0x76a152df, _ch(weaponHash), _r, _ri);
};
global.N_0xc853230e76a152df = global.IsWeaponBinoculars;

/**
 * IS_WEAPON_BOW
 */
global.IsWeaponBow = function (weaponHash) {
	return _in(0xc4dec3ca, 0x8c365a5d, _ch(weaponHash), _r, _ri);
};
global.N_0xc4dec3ca8c365a5d = global.IsWeaponBow;

/**
 * Returns true if the ped is currently holstering or unholstering a weapon
 */
global.IsWeaponHolsterStateChanging = function (ped) {
	return _in(0x2387d6e9, 0xc6b478aa, ped, _r);
};
global.N_0x2387d6e9c6b478aa = global.IsWeaponHolsterStateChanging;

/**
 * Returns true when the weapon passed is either a lasso, the camera or the binoculars
 * _IS_WEAPON_M* - _IS_WEAPON_P*
 */
global.IsWeaponKit = function (weaponHash) {
	return _in(0x6abad7b0, 0xa854f8fb, _ch(weaponHash), _r, _ri);
};
global.N_0x6abad7b0a854f8fb = global.IsWeaponKit;

/**
 * Returns true when the weapon passed is either the fishingrod, a lasso, the camera or the binoculars
 * _IS_WEAPON_M* - _IS_WEAPON_P*
 */
global.IsWeaponKit_2 = function (weaponHash) {
	return _in(0x49e40483, 0x948af062, _ch(weaponHash), _r, _ri);
};
global.N_0x49e40483948af062 = global.IsWeaponKit_2;

/**
 * _IS_WEAPON_KNIFE
 */
global.IsWeaponKnife = function (weaponHash) {
	return _in(0x792e3ef7, 0x6c911959, _ch(weaponHash), _r, _ri);
};
global.N_0x792e3ef76c911959 = global.IsWeaponKnife;

/**
 * _IS_WEAPON_LANTERN
 */
global.IsWeaponLantern = function (weaponHash) {
	return _in(0x79407d33, 0x328286c6, _ch(weaponHash), _r, _ri);
};
global.N_0x79407d33328286c6 = global.IsWeaponLantern;

/**
 * _IS_WEAPON_LASSO
 */
global.IsWeaponLasso = function (weaponHash) {
	return _in(0x6e4e1a82, 0x081eabed, _ch(weaponHash), _r, _ri);
};
global.N_0x6e4e1a82081eabed = global.IsWeaponLasso;

/**
 * IS_WEAPON_MELEE_WEAPON
 */
global.IsWeaponMeleeWeapon = function (weaponHash) {
	return _in(0x959383dc, 0xd42040da, _ch(weaponHash), _r, _ri);
};
global.N_0x959383dcd42040da = global.IsWeaponMeleeWeapon;

/**
 * _IS_WEAPON_ONE_HANDED
 */
global.IsWeaponOneHanded = function (weaponHash) {
	return _in(0xd955fee4, 0xb87afa07, _ch(weaponHash), _r, _ri);
};
global.N_0xd955fee4b87afa07 = global.IsWeaponOneHanded;

/**
 * IS_WEAPON_PISTOL
 */
global.IsWeaponPistol = function (weaponHash) {
	return _in(0xddc64f5e, 0x31eedab6, _ch(weaponHash), _r, _ri);
};
global.N_0xddc64f5e31eedab6 = global.IsWeaponPistol;

/**
 * IS_WEAPON_REPEATER
 */
global.IsWeaponRepeater = function (weaponHash) {
	return _in(0xddb2578e, 0x95ef7138, _ch(weaponHash), _r, _ri);
};
global.N_0xddb2578e95ef7138 = global.IsWeaponRepeater;

/**
 * IS_WEAPON_REVOLVER
 */
global.IsWeaponRevolver = function (weaponHash) {
	return _in(0xc212f1d0, 0x5a8232bb, _ch(weaponHash), _r, _ri);
};
global.N_0xc212f1d05a8232bb = global.IsWeaponRevolver;

/**
 * IS_WEAPON_RIFLE
 */
global.IsWeaponRifle = function (weaponHash) {
	return _in(0x0a82317b, 0x7ebfc420, _ch(weaponHash), _r, _ri);
};
global.N_0x0a82317b7ebfc420 = global.IsWeaponRifle;

/**
 * IS_WEAPON_SHOTGUN
 */
global.IsWeaponShotgun = function (weaponHash) {
	return _in(0xc7538617, 0x4ece95d5, _ch(weaponHash), _r, _ri);
};
global.N_0xc75386174ece95d5 = global.IsWeaponShotgun;

/**
 * _IS_WEAPON_SILENT
 */
global.IsWeaponSilent = function (weaponHash) {
	return _in(0x5809dbca, 0x0a37c82b, _ch(weaponHash), _r, _ri);
};
global.N_0x5809dbca0a37c82b = global.IsWeaponSilent;

/**
 * _IS_WEAPON_SNIPER
 */
global.IsWeaponSniper = function (weaponHash) {
	return _in(0x6ad66548, 0x840472e5, _ch(weaponHash), _r, _ri);
};
global.N_0x6ad66548840472e5 = global.IsWeaponSniper;

/**
 * _IS_WEAPON_THROWABLE
 */
global.IsWeaponThrowable = function (weaponHash) {
	return _in(0x30e7c16b, 0x12da8211, _ch(weaponHash), _r, _ri);
};
global.N_0x30e7c16b12da8211 = global.IsWeaponThrowable;

/**
 * _IS_WEAPON_TORCH
 */
global.IsWeaponTorch = function (weaponHash) {
	return _in(0x506f1de1, 0xbfc75304, _ch(weaponHash), _r, _ri);
};
global.N_0x506f1de1bfc75304 = global.IsWeaponTorch;

/**
 * _IS_WEAPON_TWO_HANDED
 */
global.IsWeaponTwoHanded = function (weaponHash) {
	return _in(0x0556e9d2, 0xecf39d01, _ch(weaponHash), _r, _ri);
};
global.N_0x0556e9d2ecf39d01 = global.IsWeaponTwoHanded;

/**
 * IS_WEAPON_VALID
 */
global.IsWeaponValid = function (weaponHash) {
	return _in(0x937c7116, 0x5cf334b3, _ch(weaponHash), _r);
};

/**
 * _ITEMDATABASE_CAN_EQUIP_ITEM_ON_CATEGORY
 */
global.ItemdatabaseCanEquipItemOnCategory = function (p0, p1, slotId) {
	return _in(0x856ff92c, 0x57742ae5, p0, p1, _ch(slotId), _r, _ri);
};
global.ItemDatabaseCanEquipItemOnCategory = global.ItemdatabaseCanEquipItemOnCategory;

/**
 * Returns collectionId to be used with 0x8750F69A720C2E41 (p0) and 0xCBB7B6EDFA933ADE (p0)
 */
global.ItemdatabaseCreateItemCollection = function (comparisonType) {
	return _in(0x71efa799, 0x9ae79408, _i, _i, comparisonType, _r, _ri);
};
global.ItemDatabaseCreateItemCollection = global.ItemdatabaseCreateItemCollection;

/**
 * Params: tag = TAG_ITEM_PROPERTY (tagType(?))
 */
global.ItemdatabaseDoesBundleHaveTag = function (bundle, tag, tagType) {
	return _in(0x99c6ea66, 0xdfe73757, _ch(bundle), _ch(tag), _ch(tagType), _r, _ri);
};
global.N_0x99c6ea66dfe73757 = global.ItemdatabaseDoesBundleHaveTag;

/**
 * _ITEMDATABASE_DOES_ITEM_HAVE_TAG
 */
global.ItemdatabaseDoesItemHaveTag = function (item, tag, tagType) {
	return _in(0xff5fb560, 0x5ad56856, _ch(item), _ch(tag), _ch(tagType), _r, _ri);
};
global.ItemDatabaseDoesItemHaveTag = global.ItemdatabaseDoesItemHaveTag;

/**
 * _ITEMDATABASE_FILLOUT_ACQUIRE_COST
 */
global.ItemdatabaseFilloutAcquireCost = function (p0, p1, p2) {
	return _in(0x74f79288, 0x16e4e181, p0, p1, p2, _r, _ri);
};
global.ItemDatabaseFilloutAcquireCost = global.ItemdatabaseFilloutAcquireCost;

/**
 * _ITEMDATABASE_FILLOUT_AWARD_ITEM_INFO
 */
global.ItemdatabaseFilloutAwardItemInfo = function (award, index, currency) {
	return _in(0x121d2005, 0xdd64496b, _ch(award), index, _ii(currency) /* may be optional */, _r, _ri);
};
global.N_0x121d2005dd64496b = global.ItemdatabaseFilloutAwardItemInfo;

/**
 * NativeDB Introduced: v1232
 */
global.ItemdatabaseFilloutBundle = function (p0, p1, p2, p3) {
	return _in(0xb5426326, 0x93d53408, p0, p1, p2, p3, _r);
};

/**
 * _ITEMDATABASE_FILLOUT_BUY_AWARD_ACQUIRE_COSTS
 */
global.ItemdatabaseFilloutBuyAwardAcquireCosts = function (p0, p1, p2, p3) {
	return _in(0xb52e20f6, 0x767a09a2, p0, p1, p2, p3, _r, _ri);
};
global.ItemDatabaseFilloutBuyAwardAcquireCosts = global.ItemdatabaseFilloutBuyAwardAcquireCosts;

/**
 * NativeDB Introduced: v1232
 */
global.ItemdatabaseFilloutItem = function (p0, costShop, fillOutIndex, p3) {
	return _in(0xad73b614, 0xdf26cf8a, _ch(p0), _ch(costShop), fillOutIndex, p3, _r);
};

/**
 * ITEMDATABASE_FILLOUT_ITEM_BY_NAME
 */
global.ItemdatabaseFilloutItemByName = function (p0, p1) {
	return _in(0x2a610bee, 0x7d341cc4, p0, p1, _r, _ri);
};
global.N_0x2a610bee7d341cc4 = global.ItemdatabaseFilloutItemByName;

/**
 * ITEMDATABASE_FILLOUT_ITEM_EFFECT_ID_INFO
 */
global.ItemdatabaseFilloutItemEffectIdInfo = function (p0, p1) {
	return _in(0xcf2d360d, 0x27fd1abf, p0, p1, _r, _ri);
};
global.ItemDatabaseFilloutItemEffectsIdInfo = global.ItemdatabaseFilloutItemEffectIdInfo;

/**
 * _ITEMDATABASE_FILLOUT_ITEM_EFFECT_IDS
 */
global.ItemdatabaseFilloutItemEffectIds = function (p0, p1) {
	return _in(0x9379be60, 0xdc55bbe6, p0, p1, _r, _ri);
};
global.ItemDatabaseFilloutItemEffectsIds = global.ItemdatabaseFilloutItemEffectIds;

/**
 * p0 can be a weapon hash, component item
 * p1 is a struct containing WEAPON_MOD and WEAPON_DECORATION
 */
global.ItemdatabaseFilloutItemInfo = function (p0, p1) {
	return _in(0xfe90abbc, 0xbfdc13b2, _ch(p0), _ii(p1) /* may be optional */, _r, _ri);
};
global.ItemDatabaseFilloutItemInfo = global.ItemdatabaseFilloutItemInfo;

/**
 * _ITEMDATABASE_FILLOUT_MODIFIER
 */
global.ItemdatabaseFilloutModifier = function (p0, p1, p2) {
	return _in(0x60614a0a, 0xb580a2b5, p0, p1, p2, _r, _ri);
};
global.ItemDatabaseFilloutModifier = global.ItemdatabaseFilloutModifier;

/**
 * _ITEMDATABASE_FILLOUT_PRICE_MODIFIER_BY_KEY
 */
global.ItemdatabaseFilloutPriceModifierByKey = function (p0, p1) {
	return _in(0x40c5d958, 0x18823c94, p0, p1, _r, _ri);
};
global.ItemDatabaseFilloutPriceModifierByKey = global.ItemdatabaseFilloutPriceModifierByKey;

/**
 * _ITEMDATABASE_FILLOUT_SATCHEL_DATA
 */
global.ItemdatabaseFilloutSatchelData = function (p0, p1) {
	return _in(0x4776efd7, 0x8f75c23f, p0, p1, _r, _ri);
};
global.ItemDatabaseFilloutSatchelData = global.ItemdatabaseFilloutSatchelData;

/**
 * _ITEMDATABASE_FILLOUT_SELL_PRICE
 */
global.ItemdatabaseFilloutSellPrice = function (p0, p1, p2) {
	return _in(0x7a62a2ee, 0xde1c3766, p0, p1, p2, _r, _ri);
};
global.ItemDatabaseFilloutSellPrice = global.ItemdatabaseFilloutSellPrice;

/**
 * _ITEMDATABASE_FILLOUT_TAG_DATA
 */
global.ItemdatabaseFilloutTagData = function (p0, p1, p2, p3) {
	return _in(0x5a11d6ee, 0xa17165b0, p0, p1, p2, p3, _r, _ri);
};
global.ItemDatabaseFilloutTagData = global.ItemdatabaseFilloutTagData;

/**
 * _ITEMDATABASE_FILLOUT_UI_DATA
 */
global.ItemdatabaseFilloutUiData = function (p0, p1) {
	return _in(0xb86f7cc2, 0xdc67ac60, p0, p1, _r, _ri);
};
global.ItemDatabaseFilloutUiData = global.ItemdatabaseFilloutUiData;

/**
 * _ITEMDATABASE_GET_ACQUIRE_COST
 */
global.ItemdatabaseGetAcquireCost = function (p0, p1, p2) {
	return _in(0x6772a83c, 0x67a25775, p0, p1, p2, _r, _ri);
};
global.ItemDatabaseGetAcquireCost = global.ItemdatabaseGetAcquireCost;

/**
 * _ITEMDATABASE_GET_ACQUIRE_COSTS_COUNT
 */
global.ItemdatabaseGetAcquireCostsCount = function (p0) {
	return _in(0x01fddad3, 0x92d04144, p0, _r, _ri);
};
global.ItemDatabaseGetAcquireCostsCount = global.ItemdatabaseGetAcquireCostsCount;

/**
 * _ITEMDATABASE_GET_(A)* - _ITEMDATABASE_GET_(B)*
 * ```
 * ```
 * NativeDB Introduced: v1311
 */
global.ItemdatabaseGetAwardAcquireCostType = function (p0) {
	return _in(0x12df9c58, 0x201dd19a, p0, _r, _ri);
};
global.N_0x12df9c58201dd19a = global.ItemdatabaseGetAwardAcquireCostType;

/**
 * NativeDB Introduced: v1232
 */
global.ItemdatabaseGetAwardCostModifiers = function (p0, p1) {
	return _in(0xe81d0378, 0xa384e755, p0, p1, _r);
};
global.N_0xe81d0378a384e755 = global.ItemdatabaseGetAwardCostModifiers;

/**
 * Returns iAwardItemCount
 */
global.ItemdatabaseGetAwardItemCount = function (award) {
	return _in(0x3faa928a, 0x79591761, _ch(award), _r, _ri);
};
global.N_0x3faa928a79591761 = global.ItemdatabaseGetAwardItemCount;

/**
 * _ITEMDATABASE_GET_BUNDLE_ID
 */
global.ItemdatabaseGetBundleId = function (p0) {
	return _in(0x891a4596, 0x0b6b768a, p0, _r, _ri);
};
global.ItemDatabaseGetBundleId = global.ItemdatabaseGetBundleId;

/**
 * _ITEMDATABASE_GET_BUNDLE_ITEM_COUNT
 */
global.ItemdatabaseGetBundleItemCount = function (p0, p1) {
	return _in(0x3332695b, 0x01015df9, p0, p1, _r, _ri);
};
global.ItemDatabaseGetBundleItemCount = global.ItemdatabaseGetBundleItemCount;

/**
 * _ITEMDATABASE_GET_BUNDLE_ITEM_INFO
 */
global.ItemdatabaseGetBundleItemInfo = function (p0, p1, p2, p3) {
	return _in(0x5d48a77e, 0x4b668b57, p0, p1, p2, p3, _r, _ri);
};
global.ItemDatabaseGetBundleItemInfo = global.ItemdatabaseGetBundleItemInfo;

/**
 * Returns (collection?) size/index (?)
 * _ITEMDATABASE_GET_(A)* - _ITEMDATABASE_GET_(B)*
 */
global.ItemdatabaseGetCollectionSize = function (collectionId) {
	return _in(0xd389a254, 0x9c4efb30, collectionId, _r, _ri);
};
global.N_0xd389a2549c4efb30 = global.ItemdatabaseGetCollectionSize;

/**
 * Params: p2 can be a component item hash
 */
global.ItemdatabaseGetComponentItem = function (collectionId, index, p2) {
	return _in(0x8750f69a, 0x720c2e41, collectionId, index, _ii(p2) /* may be optional */, _r, _ri);
};
global.N_0x8750f69a720c2e41 = global.ItemdatabaseGetComponentItem;

/**
 * _ITEMDATABASE_GET_FITS_SLOT_COUNT
 */
global.ItemdatabaseGetFitsSlotCount = function (p0) {
	return _in(0x2970d1d6, 0xbfcf9b46, p0, _r, _ri);
};
global.ItemDatabaseGetFitsSlotCount = global.ItemdatabaseGetFitsSlotCount;

/**
 * _ITEMDATABASE_GET_FITS_SLOT_INFO
 */
global.ItemdatabaseGetFitsSlotInfo = function (p0, p1, p2) {
	return _in(0x77210c14, 0x6ced5261, p0, p1, p2, _r, _ri);
};
global.ItemDatabaseGetFitsSlotInfo = global.ItemdatabaseGetFitsSlotInfo;

/**
 * _ITEMDATABASE_GET_HAS_SLOT_COUNT
 */
global.ItemdatabaseGetHasSlotCount = function (p0) {
	return _in(0x44915068, 0x579d7710, p0, _r, _ri);
};
global.ItemDatabaseGetHasSlotCount = global.ItemdatabaseGetHasSlotCount;

/**
 * _ITEMDATABASE_GET_HAS_SLOT_INFO
 */
global.ItemdatabaseGetHasSlotInfo = function (p0, p1, p2) {
	return _in(0x8a9bd0db, 0x7e8376cf, p0, p1, p2, _r, _ri);
};
global.ItemDatabaseGetHasSlotInfo = global.ItemdatabaseGetHasSlotInfo;

/**
 * _ITEMDATABASE_GET_ITEM_PATHSET
 */
global.ItemdatabaseGetItemPathset = function (item, p1) {
	return _in(0xf4452ce8, 0x3118c738, item, p1, _r, _ri);
};
global.N_0xf4452ce83118c738 = global.ItemdatabaseGetItemPathset;

/**
 * _ITEMDATABASE_GET_ITEM_PRICE_MODIFIERS
 */
global.ItemdatabaseGetItemPriceModifiers = function (p0, p1) {
	return _in(0x4eb37aab, 0x79ab0c48, p0, p1, _r, _ri);
};
global.ItemDatabaseGetItemPriceModifiers = global.ItemdatabaseGetItemPriceModifiers;

/**
 * _ITEMDATABASE_GET_ITEM_TAG_TYPE
 */
global.ItemdatabaseGetItemTagType = function (item, tag) {
	return _in(0x6111b8f9, 0x413f413a, _ch(item), _ch(tag), _r, _ri);
};
global.ItemDatabaseGetItemTagType = global.ItemdatabaseGetItemTagType;

/**
 * Returns an alternative cost hash to COST_SHOP_DEFAULT
 */
global.ItemdatabaseGetModifiedPrice = function (p0, p1) {
	return _in(0xcb92ec9c, 0x004732b4, p0, p1, _r, _ri);
};
global.ItemDatabaseGetModifiedPrice = global.ItemdatabaseGetModifiedPrice;

/**
 * _ITEMDATABASE_GET_NUMBER_OF_MODIFIED_PRICES
 */
global.ItemdatabaseGetNumberOfModifiedPrices = function (p0) {
	return _in(0x5aaaf40e, 0x9b224f5e, p0, _r, _ri);
};
global.ItemDatabaseGetNumberOfModifiedPrices = global.ItemdatabaseGetNumberOfModifiedPrices;

/**
 * _ITEMDATABASE_GET_NUMBER_OF_MODIFIERS
 */
global.ItemdatabaseGetNumberOfModifiers = function (p0) {
	return _in(0x1289d831, 0x5235856d, p0, _r, _ri);
};
global.ItemDatabaseGetNumberOfModifiers = global.ItemdatabaseGetNumberOfModifiers;

/**
 * _ITEMDATABASE_GET_* - _ITEMDATABASE_IS_*
 */
global.ItemdatabaseGetPriorityAccessAward = function (award) {
	return _in(0xef254f1a, 0x4c08b7e6, _ch(award), _r, _ri);
};
global.N_0xef254f1a4c08b7e6 = global.ItemdatabaseGetPriorityAccessAward;

/**
 * _ITEMDATABASE_GET_SHOP_INVENTORIES_ITEM_INFO
 */
global.ItemdatabaseGetShopInventoriesItemInfo = function (p0, p1, p2) {
	return _in(0x4a79b41b, 0x4eb91f4e, p0, p1, p2, _r, _ri);
};
global.ItemDatabaseGetShopInventoriesItemInfo = global.ItemdatabaseGetShopInventoriesItemInfo;

/**
 * Same Native Function as 0x17721003A66C72BF
 */
global.ItemdatabaseGetShopInventoriesItemInfoByKey = function (p0, p1, p2) {
	return _in(0xcfb06801, 0xf5099b25, p0, p1, p2, _r, _ri);
};
global.ItemDatabaseGetShopInventoriesItemInfoByKey = global.ItemdatabaseGetShopInventoriesItemInfoByKey;

/**
 * _ITEMDATABASE_GET_SHOP_INVENTORIES_ITEMS_COUNT
 */
global.ItemdatabaseGetShopInventoriesItemsCount = function (p0) {
	return _in(0xc568b1a0, 0xf17c7025, p0, _r, _ri);
};
global.ItemDatabaseGetShopInventoriesItemsCount = global.ItemdatabaseGetShopInventoriesItemsCount;

/**
 * _ITEMDATABASE_GET_SHOP_INVENTORIES_REQUIREMENT_GROUP_INFO
 */
global.ItemdatabaseGetShopInventoriesRequirementGroupInfo = function (p0, p1, p2, p3) {
	return _in(0x76c752d7, 0x88a76813, p0, p1, p2, p3, _r, _ri);
};
global.ItemDatabaseGetShopInventoriesRequirementGroupInfo = global.ItemdatabaseGetShopInventoriesRequirementGroupInfo;

/**
 * _ITEMDATABASE_GET_SHOP_INVENTORIES_REQUIREMENT_INFO
 */
global.ItemdatabaseGetShopInventoriesRequirementInfo = function (p0, p1, p2, p3, p4) {
	return _in(0xe0ea5c03, 0x1ae5539f, p0, p1, p2, p3, p4, _r, _ri);
};
global.ItemDatabaseGetShopInventoriesRequirementInfo = global.ItemdatabaseGetShopInventoriesRequirementInfo;

/**
 * _ITEMDATABASE_GET_SHOP_LAYOUT_INFO
 */
global.ItemdatabaseGetShopLayoutInfo = function (p0, p1) {
	return _in(0x66a6d76b, 0x6bb999b4, p0, p1, _r, _ri);
};
global.ItemDatabaseGetShopLayoutInfo = global.ItemdatabaseGetShopLayoutInfo;

/**
 * _ITEMDATABASE_GET_SHOP_LAYOUT_MENU_INFO_BY_ID
 */
global.ItemdatabaseGetShopLayoutMenuInfoById = function (p0, p1, p2) {
	return _in(0xd6611446, 0x9978b55b, p0, p1, p2, _r, _ri);
};
global.ItemDatabaseGetShopLayoutMenuInfoById = global.ItemdatabaseGetShopLayoutMenuInfoById;

/**
 * _ITEMDATABASE_GET_SHOP_LAYOUT_MENU_INFO_BY_INDEX
 */
global.ItemdatabaseGetShopLayoutMenuInfoByIndex = function (p0, p1, p2, p3) {
	return _in(0xf0424709, 0x2f193b75, p0, p1, p2, p3, _r, _ri);
};
global.ItemDatabaseGetShopLayoutMenuInfoByIndex = global.ItemdatabaseGetShopLayoutMenuInfoByIndex;

/**
 * _ITEMDATABASE_GET_SHOP_LAYOUT_MENU_PAGE_KEY
 */
global.ItemdatabaseGetShopLayoutMenuPageKey = function (p0, p1, p2, p3) {
	return _in(0x9a605706, 0x57a7b635, p0, p1, p2, p3, _r, _ri);
};
global.ItemDatabaseGetShopLayoutMenuPageKey = global.ItemdatabaseGetShopLayoutMenuPageKey;

/**
 * _ITEMDATABASE_GET_SHOP_LAYOUT_PAGE_INFO_BY_KEY
 */
global.ItemdatabaseGetShopLayoutPageInfoByKey = function (p0, p1, p2) {
	return _in(0xb347c100, 0xdf0c9b7f, p0, p1, p2, _r, _ri);
};
global.ItemDatabaseGetShopLayoutPageInfoByKey = global.ItemdatabaseGetShopLayoutPageInfoByKey;

/**
 * _ITEMDATABASE_GET_SHOP_LAYOUT_PAGE_ITEM_KEY
 */
global.ItemdatabaseGetShopLayoutPageItemKey = function (p0, p1, p2, p3, p4, p5) {
	return _in(0xf32bef57, 0x8b3dbae8, p0, p1, p2, p3, p4, p5, _r, _ri);
};
global.ItemDatabaseGetShopLayoutPageItemKey = global.ItemdatabaseGetShopLayoutPageItemKey;

/**
 * _ITEMDATABASE_GET_SHOP_LAYOUT_ROOT_MENU_INFO
 */
global.ItemdatabaseGetShopLayoutRootMenuInfo = function (p0, p1, p2) {
	return _in(0x86fcb565, 0xcca0cfa7, p0, p1, p2, _r, _ri);
};
global.ItemDatabaseGetShopLayoutRootMenuInfo = global.ItemdatabaseGetShopLayoutRootMenuInfo;

/**
 * _ITEMDATABASE_IS_BUNDLE_VALID
 */
global.ItemdatabaseIsBundleValid = function (p0, p1) {
	return _in(0x4308812a, 0x6e9ca62e, p0, p1, _r, _ri);
};
global.N_0x4308812a6e9ca62e = global.ItemdatabaseIsBundleValid;

/**
 * ITEMDATABASE_IS_BUYABLE_AWARD_VALID
 */
global.ItemdatabaseIsBuyableAwardValid = function (p0) {
	return _in(0x4ce75320, 0x3fa42214, p0, _r, _ri);
};
global.ItemDatabaseIsBuyAwardKeyValid = global.ItemdatabaseIsBuyableAwardValid;

/**
 * _ITEMDATABASE_IS_INTRINSIC_ITEM
 */
global.ItemdatabaseIsIntrinsicItem = function (p0) {
	return _in(0x337f88e3, 0xa063995e, p0, _r, _ri);
};
global.ItemDatabaseIsIntrinsicItem = global.ItemdatabaseIsIntrinsicItem;

/**
 * _ITEMDATABASE_IS_KEY_VALID
 */
global.ItemdatabaseIsKeyValid = function (p0, p1) {
	return _in(0x6d5d51b1, 0x88333fd1, p0, p1, _r, _ri);
};
global.ItemDatabaseIsKeyValid = global.ItemdatabaseIsKeyValid;

/**
 * _ITEMDATABASE_IS_OVERPOWERED_ITEM
 */
global.ItemdatabaseIsOverpoweredItem = function (p0) {
	return _in(0x337f88e3, 0xa063995f, p0, _r, _ri);
};
global.ItemDatabaseIsOverpoweredItem = global.ItemdatabaseIsOverpoweredItem;

/**
 * _ITEMDATABASE_IS_SHOP_KEY_VALID
 */
global.ItemdatabaseIsShopKeyValid = function (p0) {
	return _in(0x00b9507d, 0x8e1d8716, p0, _r, _ri);
};
global.ItemDatabaseIsShopKeyValid = global.ItemdatabaseIsShopKeyValid;

/**
 * _ITEMDATABASE_IS_SHOP_LAYOUT_KEY_VALID
 */
global.ItemdatabaseIsShopLayoutKeyValid = function (p0) {
	return _in(0x3afe5182, 0xc45a84f6, p0, _r, _ri);
};
global.ItemDatabaseIsShopLayoutKeyValid = global.ItemdatabaseIsShopLayoutKeyValid;

/**
 * Returns docData.iNumTotalLabelTypes
 */
global.ItemdatabaseLocalizationGetNumLabelTypes = function (p0) {
	return _in(0xcec6a41e, 0x8910486a, p0, _r, _ri);
};
global.ItemDatabaseLocalizationGetNumLabelTypes = global.ItemdatabaseLocalizationGetNumLabelTypes;

/**
 * Returns iNumValuesForType
 */
global.ItemdatabaseLocalizationGetNumValues = function (p0, p1) {
	return _in(0x49885d82, 0xa13eeaea, p0, p1, _r, _ri);
};
global.ItemDatabaseLocalizationGetNumValues = global.ItemdatabaseLocalizationGetNumValues;

/**
 * Returns LabelType
 */
global.ItemdatabaseLocalizationGetType = function (p0, p1) {
	return _in(0xcabf5d41, 0xd0073d4a, p0, p1, _r, _ri);
};
global.ItemDatabaseLocalizationGetType = global.ItemdatabaseLocalizationGetType;

/**
 * _ITEMDATABASE_LOCALIZATION_GET_VALUE
 */
global.ItemdatabaseLocalizationGetValue = function (p0, label, p2) {
	return _in(0x9ae5610f, 0xdced6ea7, p0, _ch(label), p2, _r, _ri);
};
global.ItemDatabaseLocalizationGetValue = global.ItemdatabaseLocalizationGetValue;

/**
 * _ITEMDATABASE_RELEASE_ITEM_COLLECTION
 */
global.ItemdatabaseReleaseItemCollection = function (collectionId) {
	return _in(0xcbb7b6ed, 0xfa933ade, collectionId, _r, _ri);
};
global.N_0xcbb7b6edfa933ade = global.ItemdatabaseReleaseItemCollection;

/**
 * _JOURNAL_CAN_WRITE_ENTRY
 */
global.JournalCanWriteEntry = function (p0) {
	return _in(0xcf782691, 0xd91f270e, p0, _r, _ri);
};

/**
 * _JOURNAL_CLEAR_ALL_PROGRESS
 */
global.JournalClearAllProgress = function () {
	return _in(0xf402978d, 0xe6f88d6e);
};
global.JorunalClearAllProgress = global.JournalClearAllProgress;

/**
 * _JOURNAL_GET_ENTRY_AT_INDEX
 */
global.JournalGetEntryAtIndex = function (p0) {
	return _in(0x3d16abd7, 0xa1fd8c96, p0, _r, _ri);
};

/**
 * _JOURNAL_GET_ENTRY_COUNT
 */
global.JournalGetEntryCount = function () {
	return _in(0xe65b5de5, 0x3351be22, _r, _ri);
};

/**
 * _JOURNAL_GET_ENTRY_INFO
 */
global.JournalGetEntryInfo = function (p0, p1) {
	return _in(0x5514c3e6, 0x0673530f, p0, p1, _r, _ri);
};

/**
 * _JOURNAL_GET_GRIME_AT_INDEX
 */
global.JournalGetGrimeAtIndex = function (p0) {
	return _in(0xcb5945e1, 0xb855852f, p0, _r, _ri);
};

/**
 * _JOURNAL_GET_TEXTURE_WITH_LAYOUT
 */
global.JournalGetTextureWithLayout = function (p0, p1, p2) {
	return _in(0x62cc549b, 0x3b8ea2aa, p0, p1, p2, _r, _ri);
};
global.JorunalGetTextureWithLayout = global.JournalGetTextureWithLayout;

/**
 * _JOURNAL_MARK_READ
 */
global.JournalMarkRead = function (p0) {
	return _in(0xe4509bab, 0xe59bd24e, p0);
};
global.JorunalMarkRead = global.JournalMarkRead;

/**
 * _JOURNAL_WRITE_ENTRY
 */
global.JournalWriteEntry = function (p0) {
	return _in(0x6dfdd665, 0xe416b093, p0);
};

/**
 * KEEP_NETWORK_ID_IN_FAST_INSTANCE
 */
global.KeepNetworkIdInFastInstance = function (netId, p1, p2) {
	return _in(0xe1bc73d6, 0x815ba361, netId, p1, p2);
};
global.N_0xe1bc73d6815ba361 = global.KeepNetworkIdInFastInstance;

/**
 * KNOCK_OFF_PED_PROP
 */
global.KnockOffPedProp = function (ped, p1, p2, p3, p4) {
	return _in(0x6fd7816a, 0x36615f48, ped, p1, p2, p3, p4);
};

/**
 * KNOCK_PED_OFF_VEHICLE
 */
global.KnockPedOffVehicle = function (ped) {
	return _in(0x45bbcba7, 0x7c29a841, ped);
};

/**
 * LAUNCH_UIAPP_BY_HASH
 */
global.LaunchUiappByHash = function (appNameHash) {
	return _in(0xc8fc7f4e, 0x4cf4f581, _ch(appNameHash), _r, _ri);
};
global.LaunchAppByHash = global.LaunchUiappByHash;

/**
 * LAUNCH_UIAPP_BY_HASH_WITH_ENTRY
 */
global.LaunchUiappByHashWithEntry = function (appNameHash, entryHash) {
	return _in(0xc1bcf31e, 0x975b3195, _ch(appNameHash), _ch(entryHash), _r, _ri);
};
global.LaunchAppByHashWithEntry = global.LaunchUiappByHashWithEntry;

/**
 * LAUNCH_UIAPP_WITH_ENTRY
 */
global.LaunchUiappWithEntry = function (appName, entry) {
	return _in(0x7b2027ba, 0xc5c8ec89, _ts(appName), _ts(entry), _r, _ri);
};
global.LaunchAppWithEntry = global.LaunchUiappWithEntry;

/**
 * _LAW_WITNESS_RESPONSE_TASK
 */
global.LawWitnessResponseTask = function (pedGroup1, ped, pedGroup2, x, y, z, crimeType) {
	return _in(0xf0b67bad, 0x53c35bd9, pedGroup1, ped, pedGroup2, _fv(x), _fv(y), _fv(z), _ch(crimeType), _r, _ri);
};
global.N_0xf0b67bad53c35bd9 = global.LawWitnessResponseTask;

/**
 * LINK_NAMED_RENDERTARGET
 */
global.LinkNamedRendertarget = function (modelHash) {
	return _in(0x2f506b85, 0x56242ddb, _ch(modelHash));
};

/**
 * _LISTEN_PROJECTILE_HIT_EVENTS
 */
global.ListenProjectileHitEvents = function (listen) {
	return _in(0xda5d3f2c, 0x6dd5b5d4, listen);
};
global.N_0xda5d3f2c6dd5b5d4 = global.ListenProjectileHitEvents;

/**
 * LOAD_ANIM_SCENE
 */
global.LoadAnimScene = function (animScene) {
	return _in(0xaf068580, 0x194d9dc7, animScene);
};

/**
 * _LOAD_CAMERA_DATA_DICT
 */
global.LoadCameraDataDict = function (cameraDictionary) {
	return _in(0x6a4d224f, 0xc7643941, _ts(cameraDictionary));
};
global.N_0x6a4d224fc7643941 = global.LoadCameraDataDict;

/**
 * _LOAD_CINEMATIC_CAM_LOCATION
 */
global.LoadCinematicCamLocation = function (locationDictName) {
	return _in(0x1b3c2d96, 0x1f5fc0e1, _ts(locationDictName));
};
global.N_0x1b3c2d961f5fc0e1 = global.LoadCinematicCamLocation;

/**
 * Used to request MiniGameMoments Assets.
 * mgmFilename's:
 * Poker
 * PokerArthur
 * PokerArthurCamp
 * PokerJohn
 * PokerJohnCamp
 */
global.LoadMgmAssets = function (mgmFilename) {
	return _in(0xb727a847, 0x862cb00a, _ts(mgmFilename), _r, _ri);
};
global.N_0xb727a847862cb00a = global.LoadMgmAssets;

/**
 * LOAD_MISSION_CREATOR_PHOTO
 */
global.LoadMissionCreatorPhoto = function (p1, p2, p3) {
	return _in(0x84f0ba74, 0x62ff8d58, _i, p1, p2, p3, _r);
};
global.N_0x84f0ba7462ff8d58 = global.LoadMissionCreatorPhoto;

/**
 * Reads the contents of a text file in a specified resource.
 * If executed on the client, this file has to be included in `files` in the resource manifest.
 * Example: `local data = LoadResourceFile("devtools", "data.json")`
 * @param resourceName The resource name.
 * @param fileName The file in the resource.
 * @return The file contents
 */
global.LoadResourceFile = function (resourceName, fileName) {
	return _in(0x00000000, 0x76a9ee1f, _ts(resourceName), _ts(fileName), _r, _s);
};

/**
 * LOAD_SCENE_START
 */
global.LoadSceneStart = function (posX, posY, posZ, offsetX, offsetY, offsetZ, radius, p7) {
	return _in(0x387ad749, 0xe3b69b70, _fv(posX), _fv(posY), _fv(posZ), _fv(offsetX), _fv(offsetY), _fv(offsetZ), _fv(radius), p7, _r, _ri);
};
global.N_0x387ad749e3b69b70 = global.LoadSceneStart;

/**
 * LOAD_SCENE_START_SPHERE
 */
global.LoadSceneStartSphere = function (x, y, z, radius, p4) {
	return _in(0x513f8aa5, 0xbf2f17cf, _fv(x), _fv(y), _fv(z), _fv(radius), p4, _r, _ri);
};
global.N_0x513f8aa5bf2f17cf = global.LoadSceneStartSphere;

/**
 * LOAD_SCENE_STOP
 */
global.LoadSceneStop = function () {
	return _in(0x5a8b0119, 0x9c3e79c3);
};
global.N_0x5a8b01199c3e79c3 = global.LoadSceneStop;

/**
 * LOAD_STREAM
 */
global.LoadStream = function (streamName, soundSet) {
	return _in(0x1f1f9571, 0x54ec51df, _ts(streamName), _ts(soundSet), _r);
};

/**
 * _LOCAL_PLAYER_PEDSHOT_TEXTURE_DOWNLOAD_REQUEST
 */
global.LocalPlayerPedshotTextureDownloadRequest = function (playerSlot, personaPhotoLocalCacheType) {
	return _in(0x6e2fd8cf, 0x7eb10e53, playerSlot, personaPhotoLocalCacheType, _r, _ri);
};
global.N_0x6e2fd8cf7eb10e53 = global.LocalPlayerPedshotTextureDownloadRequest;

/**
 * 0 = DATE_FORMAT_DMY
 * 1 = DATE_FORMAT_MDY
 * 2 = DATE_FORMAT_YMD
 */
global.LocalizationGetSystemDateType = function () {
	return _in(0x76e30b79, 0x9ebeea0f, _r, _ri);
};
global.LocalizationGetUserLanguage = global.LocalizationGetSystemDateType;

/**
 * Same return values as GET_CURRENT_LANGUAGE
 */
global.LocalizationGetSystemLanguage = function () {
	return _in(0x3c1a05f8, 0x6ae6acb5, _r, _ri);
};
global.LocalizationGetSystemLanguage = global.LocalizationGetSystemLanguage;

/**
 * LOCK_DOORS_WHEN_NO_LONGER_NEEDED
 */
global.LockDoorsWhenNoLongerNeeded = function (vehicle) {
	return _in(0x1ef36558, 0xfbde2daa, vehicle);
};
global.N_0x1ef36558fbde2daa = global.LockDoorsWhenNoLongerNeeded;

/**
 * Locks the minimap to the specified angle in integer degrees.
 * angle: The angle in whole degrees. If less than 0 or greater than 360, unlocks the angle.
 */
global.LockMinimapAngle = function (angle) {
	return _in(0x0bfd145e, 0xf819fb3a, angle);
};

/**
 * NativeDB Introduced: v1232
 */
global.Log10 = function (value) {
	return _in(0xe816e655, 0xde37fe20, _fv(value), _r, _rf);
};

/**
 * NativeDB Introduced: v1311
 */
global.LootGetLootClaimData = function (dataIndex) {
	return _in(0xf1e9045f, 0x5aa9e428, _i, dataIndex, _i, _r);
};

/**
 * _LOOT_GET_RESULT_ITEM
 */
global.LootGetResultItem = function (itemIndex) {
	return _in(0x4293b44a, 0x855f82cc, _i, itemIndex, _i, _r, _ri);
};
global.N_0x4293b44a855f82cc = global.LootGetResultItem;

/**
 * _LOOT_TABLES_GET_INFO
 */
global.LootTablesGetInfo = function (ped, p1, p2, lootTableKey, p5) {
	return _in(0x48e4d50f, 0x87a96aa5, ped, p1, p2, _ch(lootTableKey), _i, p5);
};
global.N_0x48e4d50f87a96aa5 = global.LootTablesGetInfo;

/**
 * _PRE* or _Q* or _RE*
 */
global.MakeItemCarriable = function (object) {
	return _in(0x1461df6d, 0xb886be3f, object);
};
global.N_0x1461df6db886be3f = global.MakeItemCarriable;

/**
 * _MAKE_OBJECT_CARRIABLE
 */
global.MakeObjectCarriable = function (object) {
	return _in(0x78b4567e, 0x18b54480, object);
};
global.N_0x78b4567e18b54480 = global.MakeObjectCarriable;

/**
 * MAKE_OBJECT_NOT_CARRIABLE
 */
global.MakeObjectNotCarriable = function (object) {
	return _in(0x67bfced2, 0x2909834d, object);
};
global.N_0x67bfced22909834d = global.MakeObjectNotCarriable;

/**
 * MAKE_PED_DROP_WEAPON
 */
global.MakePedDropWeapon = function (ped, p1, attachPoint, p3, p4) {
	return _in(0xcef4c65d, 0xe502d367, ped, p1, attachPoint, p3, p4, _r, _ri);
};
global.N_0xcef4c65de502d367 = global.MakePedDropWeapon;

/**
 * _MAKE_PED_RELOAD
 */
global.MakePedReload = function (ped) {
	return _in(0x79e1e511, 0xff7efb13, ped, _r, _ri);
};
global.N_0x79e1e511ff7efb13 = global.MakePedReload;

/**
 * _MAP_DISABLE_REGION_BLIP
 */
global.MapDisableRegionBlip = function (regionHash) {
	return _in(0x6786d7af, 0xac3162b3, _ch(regionHash));
};
global.N_0x6786d7afac3162b3 = global.MapDisableRegionBlip;

/**
 * _MAP_DISCOVER_REGION
 */
global.MapDiscoverRegion = function (discoveryHash) {
	return _in(0xd8c7162a, 0xb2e2af45, _ch(discoveryHash));
};
global.N_0xd8c7162ab2e2af45 = global.MapDiscoverRegion;

/**
 * _MAP_DISCOVERY_SET_ENABLED
 */
global.MapDiscoverySetEnabled = function (discoveryHash) {
	return _in(0xda98246c, 0x7a3c2189, _ch(discoveryHash));
};
global.N_0xda98246c7a3c2189 = global.MapDiscoverySetEnabled;

/**
 * regionHash: https://github.com/femga/rdr3_discoveries/tree/master/graphics/minimap/wanted_regions
 */
global.MapEnableRegionBlip = function (regionHash, styleHash) {
	return _in(0x563fcb66, 0x20523917, _ch(regionHash), _ch(styleHash));
};
global.N_0x563fcb6620523917 = global.MapEnableRegionBlip;

/**
 * _MAP_IS_DISCOVERY_ACTIVE
 */
global.MapIsDiscoveryActive = function (discoveryHash) {
	return _in(0x3f81ea42, 0x75d39d6f, _ch(discoveryHash), _r, _ri);
};
global.N_0x3f81ea4275d39d6f = global.MapIsDiscoveryActive;

/**
 * _MAP_IS_REGION_HIGHLIGHTED_WITH_STYLE
 */
global.MapIsRegionHighlightedWithStyle = function (regionHash, styleHash) {
	return _in(0xe38450db, 0xcbc70e3d, _ch(regionHash), _ch(styleHash), _r, _ri);
};
global.N_0xe38450dbcbc70e3d = global.MapIsRegionHighlightedWithStyle;

/**
 * _MINIGAME_GET_NEXT_EVENT
 */
global.MinigameGetNextEvent = function (p0, p1) {
	return _in(0xdf728c5a, 0xe137fc13, p0, p1, _r, _ri);
};

/**
 * _MINIGAME_GET_NEXT_EVENT_TYPE
 */
global.MinigameGetNextEventType = function () {
	return _in(0x578907f5, 0x9ba01b6c, _r, _ri);
};

/**
 * _MINIGAME_IS_CONNECTED_TO_SERVER
 */
global.MinigameIsConnectedToServer = function (p0) {
	return _in(0x2a0c4736, 0xac5af0ce, p0, _r, _ri);
};

/**
 * _MINIGAME_IS_REQUEST_PENDING
 */
global.MinigameIsRequestPending = function (p0) {
	return _in(0x9105a4a2, 0x556fa937, p0, _r, _ri);
};

/**
 * _MINIGAME_IS_SEAT_OCCUPIED
 */
global.MinigameIsSeatOccupied = function (p0) {
	return _in(0x8593a8cb, 0x0ed2c3b4, p0, _r, _ri);
};
global.N_0x8593a8cb0ed2c3b4 = global.MinigameIsSeatOccupied;

/**
 * _MINIGAME_LEAVE_TABLE
 */
global.MinigameLeaveTable = function (p0) {
	return _in(0xf5446e47, 0x941e654c, p0, _r, _ri);
};

/**
 * _MINIGAME_POP_NEXT_EVENT
 */
global.MinigamePopNextEvent = function () {
	return _in(0x833e03ba, 0xebadc4b0);
};

/**
 * _MINIGAME_REQUEST_SEAT_AT_TABLE
 */
global.MinigameRequestSeatAtTable = function (data) {
	return _in(0xf6ac6085, 0xd8d6c004, _ii(data) /* may be optional */, _r);
};

/**
 * NativeDB Introduced: v1232
 */
global.MissiondataGetCatagory = function (missionId) {
	return _in(0x57e798b6, 0x5c45ee17, _ch(missionId), _r, _ri);
};

/**
 * MISSIONDATA_GET_HIGH_SCORE
 */
global.MissiondataGetHighScore = function (missionId) {
	return _in(0x9aababf8, 0x313c3516, _ch(missionId), _r, _ri);
};

/**
 * MISSIONDATA_GET_RATING
 */
global.MissiondataGetRating = function (missionId) {
	return _in(0x57e798b5, 0x4c45ee1a, _ch(missionId), _r, _ri);
};
global.N_0x57e798b54c45ee1a = global.MissiondataGetRating;

/**
 * MISSIONDATA_GET_REPLAY_STATE
 */
global.MissiondataGetReplayState = function (p0) {
	return _in(0x8c32d86e, 0x9556ed86, p0, _r, _ri);
};

/**
 * MISSIONDATA_GET_TEXTURE_NAME
 */
global.MissiondataGetTextureName = function (missionId) {
	return _in(0x57e798b5, 0x6c45ee15, _ch(missionId), _r, _ri);
};
global.N_0x57e798b56c45ee15 = global.MissiondataGetTextureName;

/**
 * MISSIONDATA_GET_TEXTURE_TXD
 */
global.MissiondataGetTextureTxd = function (missionId) {
	return _in(0x57e798b5, 0x7c45ee16, _ch(missionId), _r, _ri);
};
global.N_0x57e798b57c45ee16 = global.MissiondataGetTextureTxd;

/**
 * NativeDB Introduced: v1232
 */
global.MissiondataIsReplayCategoryLocked = function (category) {
	return _in(0xe145864d, 0xecc34219, _ch(category), _r);
};

/**
 * MISSIONDATA_IS_REQUIRED_STORY_MISSION
 */
global.MissiondataIsRequiredStoryMission = function (missionId) {
	return _in(0xe824ce7d, 0x13fcb35e, _ch(missionId), _r, _ri);
};
global.N_0xe824ce7d13fcb35e = global.MissiondataIsRequiredStoryMission;

/**
 * MISSIONDATA_IS_VALID
 */
global.MissiondataIsValid = function (p0) {
	return _in(0xe54dc275, 0x71d5edc5, p0, _r, _ri);
};
global.N_0xe54dc27571d5edc5 = global.MissiondataIsValid;

/**
 * MISSIONDATA_SET_HIGH_SCORE
 */
global.MissiondataSetHighScore = function (missionId, score) {
	return _in(0x3a04f016, 0x9da87a9d, _ch(missionId), score);
};

/**
 * MISSION_RATING_INCOMPLETE = 0,
 * MISSION_RATING_SKIPPED,
 * MISSION_RATING_COMPLETE,
 * MISSION_RATING_BRONZE,
 * MISSION_RATING_SILVER,
 * MISSION_RATING_GOLD,
 */
global.MissiondataSetMissionRating = function (missionId, rating) {
	return _in(0xe824ce7d, 0x13fcb300, _ch(missionId), rating);
};
global.N_0xe824ce7d13fcb300 = global.MissiondataSetMissionRating;

/**
 * MISSIONDATA_SET_RATING_SCORES
 */
global.MissiondataSetRatingScores = function (missionId, bronzeScore, silverScore, goldScore) {
	return _in(0x12f65317, 0x708749a5, _ch(missionId), bronzeScore, silverScore, goldScore);
};

/**
 * NativeDB Introduced: v1232
 */
global.MissiondataSetReplayLockedForCategory = function (category, locked) {
	return _in(0x957a830c, 0x9b4b99ea, _ch(category), locked);
};

/**
 * replayState: MISSIONDATA_GET_REPLAY_STATE
 */
global.MissiondataSetReplayStateLocked = function (missionId, replayState) {
	return _in(0xe4e2c581, 0xf127a11c, _ch(missionId), replayState);
};
global.N_0xe4e2c581f127a11c = global.MissiondataSetReplayStateLocked;

/**
 * _MISSIONDATA_TIMECYCLE_BOX_DELETE
 */
global.MissiondataTimecycleBoxDelete = function () {
	return _in(0x7f89e15a, 0x8fb8de97);
};
global.N_0x7f89e15a8fb8de97 = global.MissiondataTimecycleBoxDelete;

/**
 * _MISSIONDATA_TIMECYCLE_BOX_EXISTS
 */
global.MissiondataTimecycleBoxExists = function () {
	return _in(0x7e8f86a4, 0xfa33033c, _r, _ri);
};
global.N_0x7e8f86a4fa33033c = global.MissiondataTimecycleBoxExists;

/**
 * _MISSIONDATA_TIMECYCLE_BOX_SET_MODIFIER
 */
global.MissiondataTimecycleBoxSetModifier = function (timecycleName) {
	return _in(0x25855b15, 0x74bf8cd5, _ts(timecycleName));
};
global.N_0x25855b1574bf8cd5 = global.MissiondataTimecycleBoxSetModifier;

/**
 * see: missions.meta
 */
global.MissiondataWasCompleted = function (missionId) {
	return _in(0xe54dc275, 0x71d5edc4, _ch(missionId), _r, _ri);
};
global.N_0xe54dc27571d5edc4 = global.MissiondataWasCompleted;

/**
 * Toggle handles wether Deadeye and Eagleeye are infinite or not.
 */
global.ModifyInfiniteTrailVision = function (player, toggle) {
	return _in(0x28a13bf6, 0xb05c3d83, player, toggle);
};
global.N_0x28a13bf6b05c3d83 = global.ModifyInfiniteTrailVision;

/**
 * _MODIFY_PLAYER_DISCOVERED_CHARACTER_NAME_MP_SET_UNDISCOVERED
 */
global.ModifyPlayerDiscoveredCharacterNameMpSetUndiscovered = function (discoveryHash) {
	return _in(0xfb0e622b, 0x401884d3, _ch(discoveryHash));
};
global.N_0xfb0e622b401884d3 = global.ModifyPlayerDiscoveredCharacterNameMpSetUndiscovered;

/**
 * Params: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/ePromptType
 * promptType is mostly 34 (PP_TRACK_ANIMAL), promptMode = 0 (PP_MODE_BLOCK) in R* Scripts
 */
global.ModifyPlayerUiPrompt = function (player, promptType, promptMode, disabled) {
	return _in(0x0751d461, 0xf06e41ce, player, promptType, promptMode, disabled);
};
global.N_0x0751d461f06e41ce = global.ModifyPlayerUiPrompt;

/**
 * Params: See 0x0751D461F06E41CE
 */
global.ModifyPlayerUiPromptForPed = function (player, ped, promptType, promptMode, enabled) {
	return _in(0xa3db37ed, 0xf9a74635, player, ped, promptType, promptMode, enabled);
};
global.N_0xa3db37edf9a74635 = global.ModifyPlayerUiPromptForPed;

/**
 * MODIFY_VEHICLE_TOP_SPEED
 */
global.ModifyVehicleTopSpeed = function (vehicle, value) {
	return _in(0x35ad938c, 0x74cacd6a, vehicle, _fv(value));
};

/**
 * _MODIFY_VOLUME_LOCK_LOCATION
 */
global.ModifyVolumeLockLocation = function (volLock, x, y, z) {
	return _in(0xec43c2ff, 0xb70e3f30, volLock, _fv(x), _fv(y), _fv(z));
};
global.N_0xec43c2ffb70e3f30 = global.ModifyVolumeLockLocation;

/**
 * _MONEY_DECREMENT_CASH_BALANCE
 */
global.MoneyDecrementCashBalance = function (amount) {
	return _in(0x466bc876, 0x9cf26a7a, amount, _r);
};

/**
 * _MONEY_GET_CASH_BALANCE
 */
global.MoneyGetCashBalance = function () {
	return _in(0x0c02dabf, 0xa3b98176, _r, _ri);
};

/**
 * _MONEY_INCREMENT_CASH_BALANCE
 */
global.MoneyIncrementCashBalance = function (amount, addReason) {
	return _in(0xbc3422dc, 0x91667621, amount, _ch(addReason), _r);
};

/**
 * _MP_GAMER_TAG_DISABLE_REVIVE_TOP_ICON
 */
global.MpGamerTagDisableReviveTopIcon = function (gamerTagId) {
	return _in(0x1f9a64c2, 0x804b3471, gamerTagId);
};
global.N_0x1f9a64c2804b3471 = global.MpGamerTagDisableReviveTopIcon;

/**
 * _MP_GAMER_TAG_ENABLE_REVIVE_TOP_ICON
 */
global.MpGamerTagEnableReviveTopIcon = function (gamerTagId) {
	return _in(0xfff6579c, 0xf0139fce, gamerTagId);
};
global.N_0xfff6579cf0139fce = global.MpGamerTagEnableReviveTopIcon;

/**
 * Returns textureDownloadId
 */
global.MugshotTextureDownloadRequest = function (p1, name, p3) {
	return _in(0x9b5db6ce, 0xafaa10bb, _i, p1, _ts(name), p3, _r, _ri);
};
global.N_0x9b5db6ceafaa10bb = global.MugshotTextureDownloadRequest;

/**
 * Starts listening to the specified channel, when available.
 * @param channel A game voice channel ID.
 */
global.MumbleAddVoiceChannelListen = function (channel) {
	return _in(0x00000000, 0xc79f44bf, channel);
};

/**
 * Adds the specified channel to the target list for the specified Mumble voice target ID.
 * @param targetId A Mumble voice target ID, ranging from 1..30 (inclusive).
 * @param channel A game voice channel ID.
 */
global.MumbleAddVoiceTargetChannel = function (targetId, channel) {
	return _in(0x00000000, 0x4d386c9e, targetId, channel);
};

/**
 * Adds the specified player to the target list for the specified Mumble voice target ID.
 * @param targetId A Mumble voice target ID, ranging from 1..30 (inclusive).
 * @param player A game player index.
 */
global.MumbleAddVoiceTargetPlayer = function (targetId, player) {
	return _in(0x00000000, 0x32c5355a, targetId, player);
};

/**
 * Adds the specified player to the target list for the specified Mumble voice target ID.
 * @param targetId A Mumble voice target ID, ranging from 1..30 (inclusive).
 * @param serverId The player's server id.
 */
global.MumbleAddVoiceTargetPlayerByServerId = function (targetId, serverId) {
	return _in(0x00000000, 0x25f2b65f, targetId, serverId);
};

/**
 * MUMBLE_CLEAR_VOICE_CHANNEL
 */
global.MumbleClearVoiceChannel = function () {
	return _in(0x00000000, 0xbf847807);
};

/**
 * Clears the target list for the specified Mumble voice target ID.
 * @param targetId A Mumble voice target ID, ranging from 1..30 (inclusive).
 */
global.MumbleClearVoiceTarget = function (targetId) {
	return _in(0x00000000, 0x8555dcba, targetId);
};

/**
 * Clears channels from the target list for the specified Mumble voice target ID.
 * @param targetId A Mumble voice target ID, ranging from 1..30 (inclusive).
 */
global.MumbleClearVoiceTargetChannels = function (targetId) {
	return _in(0x00000000, 0x5ea72e76, targetId);
};

/**
 * Clears players from the target list for the specified Mumble voice target ID.
 * @param targetId A Mumble voice target ID, ranging from 1..30 (inclusive).
 */
global.MumbleClearVoiceTargetPlayers = function (targetId) {
	return _in(0x00000000, 0x912e21da, targetId);
};

/**
 * Check whether specified channel exists on the Mumble server.
 * @param channel A game voice channel ID.
 * @return True if the specific channel exists. False otherwise.
 */
global.MumbleDoesChannelExist = function (channel) {
	return _in(0x00000000, 0x0cc8ca25, channel, _r);
};

/**
 * MUMBLE_GET_TALKER_PROXIMITY
 * @return Talker proximity value.
 */
global.MumbleGetTalkerProximity = function () {
	return _in(0x00000000, 0x84e02a32, _r, _rf);
};

/**
 * Returns the mumble voice channel from a player's server id.
 * @param serverId The player's server id.
 * @return Int representing the identifier of the voice channel.
 */
global.MumbleGetVoiceChannelFromServerId = function (serverId) {
	return _in(0x00000000, 0x221c09f1, serverId, _r, _ri);
};

/**
 * MUMBLE_IS_ACTIVE
 * @return True if the player has enabled voice chat.
 */
global.MumbleIsActive = function () {
	return _in(0x00000000, 0xe820bc10, _r);
};

/**
 * This native will return true if the user succesfully connected to the voice server.
 * If the user disabled the voice-chat setting it will return false.
 * @return True if the player is connected to a mumble server.
 */
global.MumbleIsConnected = function () {
	return _in(0x00000000, 0xb816370a, _r);
};

/**
 * MUMBLE_IS_PLAYER_TALKING
 * @param player The target player.
 * @return Whether or not the player is talking.
 */
global.MumbleIsPlayerTalking = function (player) {
	return _in(0x00000000, 0x33eef97f, player, _r);
};

/**
 * Stops listening to the specified channel.
 * @param channel A game voice channel ID.
 */
global.MumbleRemoveVoiceChannelListen = function (channel) {
	return _in(0x00000000, 0x231523b7, channel);
};

/**
 * Removes the specified voice channel from the user's voice targets.
 * Performs the opposite operation of [MUMBLE_ADD_VOICE_TARGET_CHANNEL](#\_0x4D386C9E)
 * @param targetId A Mumble voice target ID, ranging from 1..30 (inclusive).
 * @param channel The game voice channel ID to remove from the target.
 */
global.MumbleRemoveVoiceTargetChannel = function (targetId, channel) {
	return _in(0x00000000, 0x268db867, targetId, channel);
};

/**
 * Removes the specified player from the user's voice targets.
 * Performs the opposite operation of [MUMBLE_ADD_VOICE_TARGET_PLAYER](#\_0x32C5355A)
 * @param targetId A Mumble voice target ID, ranging from 1..30 (inclusive).
 * @param player The player index to remove from the target.
 */
global.MumbleRemoveVoiceTargetPlayer = function (targetId, player) {
	return _in(0x00000000, 0x88cd646f, targetId, player);
};

/**
 * Removes the specified player from the user's voice targets.
 * Performs the opposite operation of [MUMBLE_ADD_VOICE_TARGET_PLAYER_BY_SERVER_ID](#\_0x25F2B65F)
 * @param targetId A Mumble voice target ID, ranging from 1..30 (inclusive).
 * @param serverId The player's server id to remove from the target.
 */
global.MumbleRemoveVoiceTargetPlayerByServerId = function (targetId, serverId) {
	return _in(0x00000000, 0x930bd34b, targetId, serverId);
};

/**
 * MUMBLE_SET_ACTIVE
 * @param state Voice chat state.
 */
global.MumbleSetActive = function (state) {
	return _in(0x00000000, 0xd932a3f3, state);
};

/**
 * Sets the current input distance. The player will be able to talk to other players within this distance.
 * @param distance The input distance.
 */
global.MumbleSetAudioInputDistance = function (distance) {
	return _in(0x00000000, 0x1b1052e2, _fv(distance));
};

/**
 * Use this native to disable noise suppression and high pass filters.
 * The possible intents for this are as follows (backticks are used to represent hashes):
 * | Index | Description |
 * |-|-|
 * | \`speech\` | Default intent |
 * | \`music\` | Disable noise suppression and high pass filter |
 * @param intentHash The intent hash.
 */
global.MumbleSetAudioInputIntent = function (intentHash) {
	return _in(0x00000000, 0x6383526b, _ch(intentHash));
};

/**
 * Sets the current output distance. The player will be able to hear other players talking within this distance.
 * @param distance The output distance.
 */
global.MumbleSetAudioOutputDistance = function (distance) {
	return _in(0x00000000, 0x74c597d9, _fv(distance));
};

/**
 * Changes the Mumble server address to connect to, and reconnects to the new address.
 * @param address The address of the mumble server.
 * @param port The port of the mumble server.
 */
global.MumbleSetServerAddress = function (address, port) {
	return _in(0x00000000, 0xe6eb2cd8, _ts(address), port);
};

/**
 * Sets the audio submix ID for a specified player using Mumble 'Native Audio' functionality.
 * @param serverId The player's server ID.
 * @param submixId The submix ID.
 */
global.MumbleSetSubmixForServerId = function (serverId, submixId) {
	return _in(0x00000000, 0xfe3a3054, serverId, submixId);
};

/**
 * MUMBLE_SET_TALKER_PROXIMITY
 * @param value Proximity value.
 */
global.MumbleSetTalkerProximity = function (value) {
	return _in(0x00000000, 0x74e927b0, _fv(value));
};

/**
 * MUMBLE_SET_VOICE_CHANNEL
 * @param channel A game voice channel ID.
 */
global.MumbleSetVoiceChannel = function (channel) {
	return _in(0x00000000, 0x8737eee8, channel);
};

/**
 * Sets the current Mumble voice target ID to broadcast voice to.
 * @param targetId A Mumble voice target ID, ranging from 1..30 (inclusive). 0 disables voice targets, and 31 is server loopback.
 */
global.MumbleSetVoiceTarget = function (targetId) {
	return _in(0x00000000, 0x960a4a95, targetId);
};

/**
 * Overrides the output volume for a particular player on Mumble. This will also bypass 3D audio and distance calculations. -1.0 to reset the override.
 * Set to -1.0 to reset the Volume override.
 * @param player A game player index.
 * @param volume The volume, ranging from 0.0 to 1.0 (or above).
 */
global.MumbleSetVolumeOverride = function (player, volume) {
	return _in(0x00000000, 0x61c309e3, player, _fv(volume));
};

/**
 * Overrides the output volume for a particular player with the specified server id and player name on Mumble. This will also bypass 3D audio and distance calculations. -1.0 to reset the override.
 * @param serverId The player's server id.
 * @param volume The volume, ranging from 0.0 to 1.0 (or above).
 */
global.MumbleSetVolumeOverrideByServerId = function (serverId, volume) {
	return _in(0x00000000, 0xce8e25b4, serverId, _fv(volume));
};

/**
 * 0x0000A8ACDC2E1B6A
 */
global.N_0x0000a8acdc2e1b6a = function (p0, p1) {
	return _in(0x0000a8ac, 0xdc2e1b6a, p0, p1);
};

/**
 * 0x000FA7A4A8443AF7
 */
global.N_0x000fa7a4a8443af7 = function (p0) {
	return _in(0x000fa7a4, 0xa8443af7, p0);
};

/**
 * 0x002AAC783ED323ED
 */
global.N_0x002aac783ed323ed = function (p0, p1) {
	return _in(0x002aac78, 0x3ed323ed, p0, p1);
};

/**
 * shakeNames in script_rel: CORRECTOR_SHAKE, MINIGAME_BOUNTY_SHAKE, POV_DRUNK_SHAKE, DRUNK_SHAKE, MINIGAME_TRAIN_SHAKE
 * _IS_GAMEPLAY_*
 */
global.N_0x0060b31968e60e41 = function (shakeName) {
	return _in(0x0060b319, 0x68e60e41, _ts(shakeName), _r);
};

/**
 * 0x007AAC783ED323ED
 */
global.N_0x007aac783ed323ed = function (p0, p1, p2) {
	return _in(0x007aac78, 0x3ed323ed, p0, p1, p2);
};

/**
 * 0x00B156AFEBCC5AE0
 */
global.N_0x00b156afebcc5ae0 = function (p0) {
	return _in(0x00b156af, 0xebcc5ae0, p0);
};

/**
 * 0x00B380FF2DF6AB7A
 */
global.N_0x00b380ff2df6ab7a = function (p0, p1) {
	return _in(0x00b380ff, 0x2df6ab7a, p0, p1);
};

/**
 * 0x00DB0BC05E3FAA4E
 */
global.N_0x00db0bc05e3faa4e = function (ped, bitset) {
	return _in(0x00db0bc0, 0x5e3faa4e, ped, bitset);
};

/**
 * 0x00EB5A760638DB55
 */
global.N_0x00eb5a760638db55 = function (p0, p1, p2) {
	return _in(0x00eb5a76, 0x0638db55, p0, p1, p2);
};

/**
 * 0x00FFE0F85253C572
 */
global.N_0x00ffe0f85253c572 = function (p0) {
	return _in(0x00ffe0f8, 0x5253c572, p0, _r, _ri);
};

/**
 * 0x0105FEE8F9091255
 */
global.N_0x0105fee8f9091255 = function (p0, p1) {
	return _in(0x0105fee8, 0xf9091255, p0, p1, _r, _ri);
};

/**
 * 0x012027C28F421F46
 */
global.N_0x012027c28f421f46 = function (p0, p1) {
	return _in(0x012027c2, 0x8f421f46, p0, p1, _r, _ri);
};

/**
 * Only used in SP Scripts.
 * Related to Vehicle Speed.
 */
global.N_0x012701ed938b85de = function (p0, p1) {
	return _in(0x012701ed, 0x938b85de, _fv(p0), _fv(p1));
};

/**
 * 0x017492B2201E3428
 */
global.N_0x017492b2201e3428 = function (p0, p1, p2, p3) {
	return _in(0x017492b2, 0x201e3428, p0, p1, p2, p3);
};

/**
 * NativeDB Introduced: v1232
 */
global.N_0x018abe833ca64d2a = function (p0, p1) {
	return _in(0x018abe83, 0x3ca64d2a, p0, p1);
};

/**
 * 0x018F30D762E62DF8
 */
global.N_0x018f30d762e62df8 = function (ped, p1) {
	return _in(0x018f30d7, 0x62e62df8, ped, _ii(p1) /* may be optional */, _r, _ri);
};

/**
 * 0x01AF8A3729231A43
 */
global.N_0x01af8a3729231a43 = function (p0) {
	return _in(0x01af8a37, 0x29231a43, p0, _r, _ri);
};

/**
 * _CLEAR*
 */
global.N_0x01b928ca2e198b01 = function (p0) {
	return _in(0x01b928ca, 0x2e198b01, p0, _r, _ri);
};

/**
 * 0x024EC9B649111915
 */
global.N_0x024ec9b649111915 = function (ped, p1) {
	return _in(0x024ec9b6, 0x49111915, ped, p1);
};

/**
 * 0x025E98E317652CDD
 */
global.N_0x025e98e317652cdd = function (p0) {
	return _in(0x025e98e3, 0x17652cdd, p0);
};

/**
 * _SET_ST* - _SET_SW*
 */
global.N_0x028e7b3bba0bd2fc = function (ped) {
	return _in(0x028e7b3b, 0xba0bd2fc, ped);
};

/**
 * 0x02B21B6BEEDD83CC
 */
global.N_0x02b21b6beedd83cc = function (entryId, p1) {
	return _in(0x02b21b6b, 0xeedd83cc, _ch(entryId), p1, _r, _ri);
};

/**
 * Note: this native was added in build 1311.16
 * GET_NUM_*
 * ```
 * ```
 * NativeDB Introduced: v1311
 */
global.N_0x02b3cdd652b3cdd6 = function () {
	return _in(0x02b3cdd6, 0x52b3cdd6, _r, _ri);
};

/**
 * Only used in SP R* Script dominoes_sp: p1 = 0
 */
global.N_0x02c4c6c2900d84df = function (player, p1) {
	return _in(0x02c4c6c2, 0x900d84df, player, p1);
};

/**
 * _SET_PLAYER_SN* - _SET_PLAYER_STAMINA*
 */
global.N_0x02e741e19e39628c = function (ped, p1) {
	return _in(0x02e741e1, 0x9e39628c, ped, _fv(p1));
};

/**
 * _SET_E* or _SET_F*
 */
global.N_0x032a14d082a9b269 = function (p0) {
	return _in(0x032a14d0, 0x82a9b269, _ch(p0));
};

/**
 * Params: p0 is only 0 or 1
 * Only used in R* SP Scripts
 */
global.N_0x0349404a22736740 = function (p0, inventoryId, guid) {
	return _in(0x0349404a, 0x22736740, p0, inventoryId, _ii(guid) /* may be optional */);
};

/**
 * 0x0355FE37240E2C77
 */
global.N_0x0355fe37240e2c77 = function (p0, p1) {
	return _in(0x0355fe37, 0x240e2c77, p0, p1);
};

/**
 * 0x0358B8A41916C613
 */
global.N_0x0358b8a41916c613 = function (p0, p1, p2, p3) {
	return _in(0x0358b8a4, 0x1916c613, p0, p1, p2, p3, _r, _ri);
};

/**
 * 0x0365000D8BF86531
 */
global.N_0x0365000d8bf86531 = function (p0) {
	return _in(0x0365000d, 0x8bf86531, p0, _r, _ri);
};

/**
 * Note: this native was added in build 1311.23
 * ```
 * ```
 * NativeDB Introduced: v1311
 */
global.N_0x039ad6b57d5179ff = function () {
	return _in(0x039ad6b5, 0x7d5179ff, _r, _ri);
};

/**
 * Note: this native was added in build 1311.23
 * ```
 * ```
 * NativeDB Introduced: v1311
 */
global.N_0x039b692b3318fab6 = function (p0) {
	return _in(0x039b692b, 0x3318fab6, p0, _r, _ri);
};

/**
 * 0x03B4B759A8990505
 */
global.N_0x03b4b759a8990505 = function (p0) {
	return _in(0x03b4b759, 0xa8990505, p0, _r, _ri);
};

/**
 * NativeDB Introduced: v1232
 */
global.N_0x03d741cb4052e26c = function (p0) {
	return _in(0x03d741cb, 0x4052e26c, p0, _r, _ri);
};

/**
 * 0x03DDBF2D73799F9E
 */
global.N_0x03ddbf2d73799f9e = function (p0) {
	return _in(0x03ddbf2d, 0x73799f9e, p0);
};

/**
 * 0x04084490CC302CFB
 */
global.N_0x04084490cc302cfb = function () {
	return _in(0x04084490, 0xcc302cfb);
};

/**
 * _DOES_GROUP_* - _DOES_N*
 */
global.N_0x0455546f23ff08e4 = function (groupId) {
	return _in(0x0455546f, 0x23ff08e4, groupId, _r);
};

/**
 * 0x04AA59CA40571C2E
 */
global.N_0x04aa59ca40571c2e = function (p0, p1) {
	return _in(0x04aa59ca, 0x40571c2e, p0, p1, _r, _ri);
};

/**
 * _SET_VEHICLE_*
 */
global.N_0x04f0579dbdd32f34 = function (vehicle) {
	return _in(0x04f0579d, 0xbdd32f34, vehicle);
};

/**
 * 0x0501D52D24EA8934
 */
global.N_0x0501d52d24ea8934 = function (p0) {
	return _in(0x0501d52d, 0x24ea8934, p0, _r, _ri);
};

/**
 * Takes value returned from 0x45853F4E17D847D5
 */
global.N_0x0516fae561276efc = function (trackIndex) {
	return _in(0x0516fae5, 0x61276efc, trackIndex, _r);
};

/**
 * 0x052D4AC0922AF91A
 */
global.N_0x052d4ac0922af91a = function (p0, p1) {
	return _in(0x052d4ac0, 0x922af91a, p0, p1);
};

/**
 * _DATABINDING_WRITE_DATA_*
 */
global.N_0x05ac9e1e02975afb = function (p0, p1, p2) {
	return _in(0x05ac9e1e, 0x02975afb, p0, _ts(p1), _fv(p2));
};

/**
 * 0x05DD384F39DE1C8C
 */
global.N_0x05dd384f39de1c8c = function (p0, p1) {
	return _in(0x05dd384f, 0x39de1c8c, p0, p1, _r, _ri);
};

/**
 * Note: this native was added in build 1311.23
 * ```
 * ```
 * NativeDB Introduced: v1311
 */
global.N_0x062842d61d0d53fd = function () {
	return _in(0x062842d6, 0x1d0d53fd, _r);
};

/**
 * 0x06557F6D96C86881
 */
global.N_0x06557f6d96c86881 = function () {
	return _in(0x06557f6d, 0x96c86881);
};

/**
 * 0x065887B694359799
 */
global.N_0x065887b694359799 = function (p0) {
	return _in(0x065887b6, 0x94359799, p0);
};

/**
 * 0x066167C63111D8CF
 */
global.N_0x066167c63111d8cf = function (p0, p1, p2, p3, p4) {
	return _in(0x066167c6, 0x3111d8cf, p0, p1, p2, p3, p4);
};

/**
 * NativeDB Introduced: v1232
 */
global.N_0x066725a9d52b3641 = function () {
	return _in(0x066725a9, 0xd52b3641, _r, _ri);
};

/**
 * _SET_TRAIN_*
 */
global.N_0x06a09a6e0c6d2a84 = function (train, p1) {
	return _in(0x06a09a6e, 0x0c6d2a84, train, p1);
};

/**
 * _GET_PED_D*
 */
global.N_0x06a10b4d7f50b0c3 = function (ped) {
	return _in(0x06a10b4d, 0x7f50b0c3, ped, _r);
};

/**
 * NativeDB Introduced: v1232
 */
global.N_0x06c3db00b69d5435 = function (player, p1) {
	return _in(0x06c3db00, 0xb69d5435, player, _ts(p1));
};

/**
 * 0x06C5DF5EE444BC6B
 */
global.N_0x06c5df5ee444bc6b = function (p0, p1, p2, p3, p4) {
	return _in(0x06c5df5e, 0xe444bc6b, p0, p1, p2, p3, p4);
};

/**
 * 0x06E1FB78B1E59CA5
 */
global.N_0x06e1fb78b1e59ca5 = function (ped, p1) {
	return _in(0x06e1fb78, 0xb1e59ca5, ped, p1);
};

/**
 * NativeDB Introduced: v1311
 */
global.N_0x06ecf3925bc2abae = function (p0, p1) {
	return _in(0x06ecf392, 0x5bc2abae, p0, p1);
};

/**
 * 0x070A3841406C43D5
 */
global.N_0x070a3841406c43d5 = function (p0, p1) {
	return _in(0x070a3841, 0x406c43d5, p0, p1);
};

/**
 * 0x071769BCB24379E5
 */
global.N_0x071769bcb24379e5 = function () {
	return _in(0x071769bc, 0xb24379e5, _r, _ri);
};

/**
 * 0x0730E518486DEEC3
 */
global.N_0x0730e518486deec3 = function (p0) {
	return _in(0x0730e518, 0x486deec3, p0);
};

/**
 * 0x07559B29950301FF
 */
global.N_0x07559b29950301ff = function (p0, p1) {
	return _in(0x07559b29, 0x950301ff, p0, p1);
};

/**
 * 0x078F77FD1A43EAB3
 */
global.N_0x078f77fd1a43eab3 = function (p0, p1) {
	return _in(0x078f77fd, 0x1a43eab3, p0, p1);
};

/**
 * _SET_VEHICLE_S*
 */
global.N_0x0794199b25e499e1 = function (wagon, p1) {
	return _in(0x0794199b, 0x25e499e1, wagon, p1);
};

/**
 * 0x07AD9E43FD478527
 */
global.N_0x07ad9e43fd478527 = function (p0, p1) {
	return _in(0x07ad9e43, 0xfd478527, p0, p1, _r);
};

/**
 * Seems to return true if the passed weapon is some sort of non-lethal melee weapon.
 * Weapon must currently be held/equipped by the ped.
 */
global.N_0x07e1c35f0078c3f9 = function (ped, weapon) {
	return _in(0x07e1c35f, 0x0078c3f9, ped, _ch(weapon), _r);
};

/**
 * 0x07E2E21E799080A0
 */
global.N_0x07e2e21e799080a0 = function (p0, p1) {
	return _in(0x07e2e21e, 0x799080a0, p0, p1);
};

/**
 * Used in SP only, called together with 0x55F37F5F3F2475E1 & CLEAR_WANTED_SCORE
 * _REPORT_*
 */
global.N_0x07e8b8b20570271c = function (player) {
	return _in(0x07e8b8b2, 0x0570271c, player);
};

/**
 * 0x07EA5B053FA60AC7
 */
global.N_0x07ea5b053fa60ac7 = function (groupId, p1) {
	return _in(0x07ea5b05, 0x3fa60ac7, groupId, p1);
};

/**
 * 0x0816C31480764AB0
 */
global.N_0x0816c31480764ab0 = function (p0, p1, p2, p3) {
	return _in(0x0816c314, 0x80764ab0, p0, p1, p2, p3);
};

/**
 * 0x082C043C7AFC3747
 */
global.N_0x082c043c7afc3747 = function (compositeId, p1) {
	return _in(0x082c043c, 0x7afc3747, compositeId, p1);
};

/**
 * 0x085C5B61A0114F32
 */
global.N_0x085c5b61a0114f32 = function (p0, p1) {
	return _in(0x085c5b61, 0xa0114f32, p0, p1);
};

/**
 * 0x086549F3B0381CB1
 */
global.N_0x086549f3b0381cb1 = function (p0, p1) {
	return _in(0x086549f3, 0xb0381cb1, p0, p1);
};

/**
 * 0x0869D499A7848309
 */
global.N_0x0869d499a7848309 = function (p0, p1, p2, p3, p4, p5, p6, p7) {
	return _in(0x0869d499, 0xa7848309, p0, p1, p2, p3, p4, p5, p6, p7);
};

/**
 * 0x0876326238914A3F
 */
global.N_0x0876326238914a3f = function () {
	return _in(0x08763262, 0x38914a3f);
};

/**
 * 0x08797A8C03868CB8
 */
global.N_0x08797a8c03868cb8 = function (threshold) {
	return _in(0x08797a8c, 0x03868cb8, _fv(threshold));
};

/**
 * 0x08892122769770D5
 */
global.N_0x08892122769770d5 = function (popZone, p1) {
	return _in(0x08892122, 0x769770d5, popZone, p1);
};

/**
 * 0x08C5825A2932EA7B
 */
global.N_0x08c5825a2932ea7b = function (p0) {
	return _in(0x08c5825a, 0x2932ea7b, p0, _r, _ri);
};

/**
 * 0x08E22898A6AF4905
 */
global.N_0x08e22898a6af4905 = function (p0, p1) {
	return _in(0x08e22898, 0xa6af4905, p0, p1);
};

/**
 * 0x08FC896D2CB31FCC
 */
global.N_0x08fc896d2cb31fcc = function (p0, p1) {
	return _in(0x08fc896d, 0x2cb31fcc, p0, p1, _r, _ri);
};

/**
 * _RESET_VEHICLE_*
 */
global.N_0x09034479e6e3e269 = function (train) {
	return _in(0x09034479, 0xe6e3e269, train, _i, _i, _r, _ri);
};

/**
 * 0x09171A6F8FDE5DC1
 */
global.N_0x09171a6f8fde5dc1 = function (p0, p1, p2, p3, p4) {
	return _in(0x09171a6f, 0x8fde5dc1, p0, p1, p2, p3, p4);
};

/**
 * 0x0939E773925C4719
 */
global.N_0x0939e773925c4719 = function () {
	return _in(0x0939e773, 0x925c4719);
};

/**
 * Params: p1 = 23 in R* Scripts
 */
global.N_0x0943113e02322164 = function (object, p1) {
	return _in(0x0943113e, 0x02322164, object, p1, _r, _ri);
};

/**
 * 0x095C2277FED731DB
 */
global.N_0x095c2277fed731db = function (p0) {
	return _in(0x095c2277, 0xfed731db, p0, _r, _ri);
};

/**
 * 0x0961B089947BA6D0
 */
global.N_0x0961b089947ba6d0 = function (p0) {
	return _in(0x0961b089, 0x947ba6d0, p0);
};

/**
 * 0x098036CAB8373D36
 */
global.N_0x098036cab8373d36 = function (p0) {
	return _in(0x098036ca, 0xb8373d36, p0);
};

/**
 * 0x098CAA6DBE7D8D82
 */
global.N_0x098caa6dbe7d8d82 = function (p0, p1) {
	return _in(0x098caa6d, 0xbe7d8d82, p0, p1);
};

/**
 * Called together with REMOVE_EXTRA_CALMING_QUAD in rcm_crackpot1 R* Script: p0 = 0
 * _REMOVE_*
 */
global.N_0x09a1c7dfdce54fbc = function (p0) {
	return _in(0x09a1c7df, 0xdce54fbc, p0);
};

/**
 * 0x09D7AFD3716DA8E1
 */
global.N_0x09d7afd3716da8e1 = function (ped, p1) {
	return _in(0x09d7afd3, 0x716da8e1, ped, p1, _r);
};

/**
 * 0x09E378C52B1433B5
 */
global.N_0x09e378c52b1433b5 = function (p0, p1, p2, p3, p4) {
	return _in(0x09e378c5, 0x2b1433b5, p0, p1, p2, p3, p4);
};

/**
 * 0x09EE00B8F858E0BE
 */
global.N_0x09ee00b8f858e0be = function (p0, p1, p2, p3, p4, p5, p6) {
	return _in(0x09ee00b8, 0xf858e0be, p0, p1, p2, p3, p4, p5, p6, _r, _ri);
};

/**
 * 0x09FBF15D73EFC900
 */
global.N_0x09fbf15d73efc900 = function () {
	return _in(0x09fbf15d, 0x73efc900);
};

/**
 * 0x0A4618FFD517E24D
 */
global.N_0x0a4618ffd517e24d = function (p0, p1) {
	return _in(0x0a4618ff, 0xd517e24d, p0, p1);
};

/**
 * 0x0A487CC74A517FB5
 */
global.N_0x0a487cc74a517fb5 = function (p0) {
	return _in(0x0a487cc7, 0x4a517fb5, p0);
};

/**
 * 0x0A79C81C418F5D38
 */
global.N_0x0a79c81c418f5d38 = function (p0, p1) {
	return _in(0x0a79c81c, 0x418f5d38, p0, p1, _r, _ri);
};

/**
 * 0x0A8FD91EDE7B328A
 */
global.N_0x0a8fd91ede7b328a = function (p0, p1) {
	return _in(0x0a8fd91e, 0xde7b328a, p0, p1);
};

/**
 * 0x0A98A362C5A19A43
 */
global.N_0x0a98a362c5a19a43 = function (p0) {
	return _in(0x0a98a362, 0xc5a19a43, p0, _r, _ri);
};

/**
 * 0x0ADA3EC589E1736E
 */
global.N_0x0ada3ec589e1736e = function () {
	return _in(0x0ada3ec5, 0x89e1736e);
};

/**
 * 0x0B3A99AB6713AA52
 */
global.N_0x0b3a99ab6713aa52 = function (p0) {
	return _in(0x0b3a99ab, 0x6713aa52, p0);
};

/**
 * 0x0B6B4507AC5EA8B8
 */
global.N_0x0b6b4507ac5ea8b8 = function () {
	return _in(0x0b6b4507, 0xac5ea8b8, _r);
};

/**
 * Hardcoded to return zero/false.
 */
global.N_0x0b7803f6f7bb43e0 = function () {
	return _in(0x0b7803f6, 0xf7bb43e0, _r, _ri);
};

/**
 * NativeDB Introduced: v1311
 */
global.N_0x0b787a37eedd226f = function (p0, p1) {
	return _in(0x0b787a37, 0xeedd226f, p0, p1);
};

/**
 * 0x0B9F7A01EC50448D
 */
global.N_0x0b9f7a01ec50448d = function (ped, args) {
	return _in(0x0b9f7a01, 0xec50448d, ped, _ii(args) /* may be optional */);
};

/**
 * 0x0BA4250D20007C2E
 */
global.N_0x0ba4250d20007c2e = function (p0) {
	return _in(0x0ba4250d, 0x20007c2e, p0, _r, _ri);
};

/**
 * Only used in net_fetch R* Script
 */
global.N_0x0bdfebcf40a5f7e3 = function (crimeType) {
	return _in(0x0bdfebcf, 0x40a5f7e3, _ch(crimeType), _r, _ri);
};

/**
 * 0x0BF90CBB6B72977B
 */
global.N_0x0bf90cbb6b72977b = function () {
	return _in(0x0bf90cbb, 0x6b72977b);
};

/**
 * 0x0C0A373D181BF900
 */
global.N_0x0c0a373d181bf900 = function (p0) {
	return _in(0x0c0a373d, 0x181bf900, p0);
};

/**
 * 0x0C392DB374655176
 */
global.N_0x0c392db374655176 = function (x, y, z, p3, itemSet) {
	return _in(0x0c392db3, 0x74655176, _fv(x), _fv(y), _fv(z), _fv(p3), itemSet);
};

/**
 * 0x0C6A00DAE896614C
 */
global.N_0x0c6a00dae896614c = function (p0, p1) {
	return _in(0x0c6a00da, 0xe896614c, p0, p1);
};

/**
 * 0x0CB16D05E03FB525
 */
global.N_0x0cb16d05e03fb525 = function (p0) {
	return _in(0x0cb16d05, 0xe03fb525, p0);
};

/**
 * 0x0CB3D1919E8D7CBA
 */
global.N_0x0cb3d1919e8d7cba = function (convoRoot) {
	return _in(0x0cb3d191, 0x9e8d7cba, _ts(convoRoot), _r);
};

/**
 * nullsub, doesn't do anything
 */
global.N_0x0cc28c08613ba9e5 = function (p0) {
	return _in(0x0cc28c08, 0x613ba9e5, p0);
};

/**
 * 0x0CCEFC6C2C95DA2A
 */
global.N_0x0ccefc6c2c95da2a = function (p0, p1, p2, p3) {
	return _in(0x0ccefc6c, 0x2c95da2a, p0, p1, p2, p3, _r, _ri);
};

/**
 * 0x0CD7914D17A970AB
 */
global.N_0x0cd7914d17a970ab = function (p0, p1) {
	return _in(0x0cd7914d, 0x17a970ab, p0, p1);
};

/**
 * 0x0D0AE5081F88CFE1
 */
global.N_0x0d0ae5081f88cfe1 = function (p0) {
	return _in(0x0d0ae508, 0x1f88cfe1, _ch(p0), _r);
};

/**
 * Note: this native was added in build 1311.23
 * ```
 * ```
 * NativeDB Introduced: v1311
 */
global.N_0x0d183d8490ee4366 = function (p0, p1) {
	return _in(0x0d183d84, 0x90ee4366, p0, p1);
};

/**
 * 0x0D322AEF8878B8FE
 */
global.N_0x0d322aef8878b8fe = function (p0, p1) {
	return _in(0x0d322aef, 0x8878b8fe, p0, p1);
};

/**
 * _IS_PED_M*
 */
global.N_0x0d3b1568917ebda0 = function (ped, p1) {
	return _in(0x0d3b1568, 0x917ebda0, ped, p1, _r);
};

/**
 * 0x0D497AA69059FE40
 */
global.N_0x0d497aa69059fe40 = function (p0, p1) {
	return _in(0x0d497aa6, 0x9059fe40, p0, p1);
};

/**
 * Gets set to 1 when GET_STATUS_OF_TAKE_HIGH_QUALITY_PHOTO = PHOTO_OPERATION_SUCCEEDED
 * ```
 * ```
 * NativeDB Introduced: v1311
 */
global.N_0x0d5b19c34068fee7 = function (p0) {
	return _in(0x0d5b19c3, 0x4068fee7, p0);
};

/**
 * 0x0D5FDF0D36FA10CD
 */
global.N_0x0d5fdf0d36fa10cd = function (trackIndex) {
	return _in(0x0d5fdf0d, 0x36fa10cd, trackIndex);
};

/**
 * speechEventType: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/naSpeechEventType
 * p1 is possibly naSpeechAudibility, naSpeechType, or naSpeechEventTypeRequestPriority
 * SKIP_* - START_*
 */
global.N_0x0d7fd6a55fd63aef = function (speechEventType, p1, p2) {
	return _in(0x0d7fd6a5, 0x5fd63aef, speechEventType, p1, p2);
};

/**
 * 0x0DB41D59E0F1502B
 */
global.N_0x0db41d59e0f1502b = function (p0) {
	return _in(0x0db41d59, 0xe0f1502b, p0);
};

/**
 * Only used in sisikapenitentiary R* Script: name = SISIKA
 * _IS_G* or _IS_H*
 */
global.N_0x0dbaca9c38c9a686 = function (name) {
	return _in(0x0dbaca9c, 0x38c9a686, _ts(name), _r);
};

/**
 * Only used in native_son1 R* Script: p1 = 1
 */
global.N_0x0dcec6a92e497e17 = function (entity, p1) {
	return _in(0x0dcec6a9, 0x2e497e17, entity, p1);
};

/**
 * 0x0DE02DA3C0F66955
 */
global.N_0x0de02da3c0f66955 = function (ped, p1) {
	return _in(0x0de02da3, 0xc0f66955, ped, _ch(p1));
};

/**
 * _GET_D* - _GET_L*
 * ```
 * ```
 * NativeDB Introduced: v1232
 */
global.N_0x0de0944eccb3df5d = function (ped) {
	return _in(0x0de0944e, 0xccb3df5d, ped, _r);
};

/**
 * 0x0DED260A1958A82E
 */
global.N_0x0ded260a1958a82e = function (player) {
	return _in(0x0ded260a, 0x1958a82e, player, _r);
};

/**
 * 0x0E184495B27BB57D
 */
global.N_0x0e184495b27bb57d = function () {
	return _in(0x0e184495, 0xb27bb57d);
};

/**
 * 0x0E54D4DA6018FF8E
 */
global.N_0x0e54d4da6018ff8e = function () {
	return _in(0x0e54d4da, 0x6018ff8e, _r);
};

/**
 * 0x0E558D3A49D759D6
 */
global.N_0x0e558d3a49d759d6 = function (p0, p1) {
	return _in(0x0e558d3a, 0x49d759d6, p0, p1, _r, _ri);
};

/**
 * 0x0E5C9FB9ED5DFF1C
 */
global.N_0x0e5c9fb9ed5dff1c = function (p0) {
	return _in(0x0e5c9fb9, 0xed5dff1c, p0, _r, _ri);
};

/**
 * 0x0E9057A9DA78D0F8
 */
global.N_0x0e9057a9da78d0f8 = function (player, bitflag) {
	return _in(0x0e9057a9, 0xda78d0f8, player, bitflag);
};

/**
 * _CAN_PED_B* - _CAN_PED_I*
 */
global.N_0x0ea9eacba3b01601 = function (ped1, ped2, p2) {
	return _in(0x0ea9eacb, 0xa3b01601, ped1, ped2, p2, _r, _rf);
};

/**
 * 0x0EAF918F751F27BA
 */
global.N_0x0eaf918f751f27ba = function (ped) {
	return _in(0x0eaf918f, 0x751f27ba, ped, _r);
};

/**
 * _IS_PED_L* - _IS_PED_M*
 */
global.N_0x0eef7a81c17679db = function (ped) {
	return _in(0x0eef7a81, 0xc17679db, ped, _r);
};

/**
 * 0x0F1861101C9A9944
 */
global.N_0x0f1861101c9a9944 = function (popZone, p1) {
	return _in(0x0f186110, 0x1c9a9944, popZone, p1);
};

/**
 * NPLOI_UPDATE__GUN_SPINNING_PREVIEW - Adjusting Camera / Ped Reset Flags This Frame
 * _DISABLE_*
 */
global.N_0x0f1ffef5d54ae832 = function () {
	return _in(0x0f1ffef5, 0xd54ae832);
};

/**
 * 0x0F230DE0DDBE3649
 */
global.N_0x0f230de0ddbe3649 = function (player) {
	return _in(0x0f230de0, 0xddbe3649, player, _r);
};

/**
 * 0x0F4EAF69DA41AF43
 */
global.N_0x0f4eaf69da41af43 = function (p0) {
	return _in(0x0f4eaf69, 0xda41af43, p0, _r, _ri);
};

/**
 * 0x0F4F6C4CE471259D
 */
global.N_0x0f4f6c4ce471259d = function (p0, p1) {
	return _in(0x0f4f6c4c, 0xe471259d, p0, p1);
};

/**
 * 0x0F7F603BDE08C4D3
 */
global.N_0x0f7f603bde08c4d3 = function (p0) {
	return _in(0x0f7f603b, 0xde08c4d3, p0);
};

/**
 * 0x0F967019CC853BCC
 */
global.N_0x0f967019cc853bcc = function (p0, p1) {
	return _in(0x0f967019, 0xcc853bcc, p0, p1);
};

/**
 * 0x0F9CF06986300875
 */
global.N_0x0f9cf06986300875 = function (p0) {
	return _in(0x0f9cf069, 0x86300875, p0);
};

/**
 * 0x0FAF7171BF613B80
 */
global.N_0x0faf7171bf613b80 = function (p0) {
	return _in(0x0faf7171, 0xbf613b80, p0);
};

/**
 * 0x0FAF95D71ED67ADE
 */
global.N_0x0faf95d71ed67ade = function (player, p1) {
	return _in(0x0faf95d7, 0x1ed67ade, player, _ts(p1));
};

/**
 * 0x0FB1BA7FF73B41E1
 */
global.N_0x0fb1ba7ff73b41e1 = function (p0, p1, p2) {
	return _in(0x0fb1ba7f, 0xf73b41e1, p0, p1, p2);
};

/**
 * Only used in R* SP Script beat_animal_attack
 * Returns feedMessage
 */
global.N_0x0fd07141ad048aae = function (p1) {
	return _in(0x0fd07141, 0xad048aae, _i, p1, _r, _ri);
};

/**
 * 0x0FD3ECF9D0C8655F
 */
global.N_0x0fd3ecf9d0c8655f = function (p0) {
	return _in(0x0fd3ecf9, 0xd0c8655f, _ts(p0));
};

/**
 * 0x0FD7D7C232876E72
 */
global.N_0x0fd7d7c232876e72 = function (p0) {
	return _in(0x0fd7d7c2, 0x32876e72, p0);
};

/**
 * 0x0FDDEE66E3465726
 */
global.N_0x0fddee66e3465726 = function (p0) {
	return _in(0x0fddee66, 0xe3465726, p0, _r, _ri);
};

/**
 * 0x0FE797DD9F70DFA6
 */
global.N_0x0fe797dd9f70dfa6 = function (p0, p1, p2, p3) {
	return _in(0x0fe797dd, 0x9f70dfa6, p0, p1, p2, p3);
};

/**
 * statId: see STAT_ID_IS_VALID
 */
global.N_0x0fee2561120f3333 = function (statId) {
	return _in(0x0fee2561, 0x120f3333, _ii(statId) /* may be optional */);
};

/**
 * 0x0FF7125F07DEB84F
 */
global.N_0x0ff7125f07deb84f = function (p0, p1) {
	return _in(0x0ff7125f, 0x07deb84f, p0, p1);
};

/**
 * 0x0FFDF937E5C11382
 */
global.N_0x0ffdf937e5c11382 = function (p0, p1, p2, p3, p4, p5) {
	return _in(0x0ffdf937, 0xe5c11382, p0, p1, p2, p3, p4, p5);
};

/**
 * 0x100157D6D7FE32CA
 */
global.N_0x100157d6d7fe32ca = function (p0, p1) {
	return _in(0x100157d6, 0xd7fe32ca, p0, p1, _r, _ri);
};

/**
 * 0x101B45C5F56D970F
 */
global.N_0x101b45c5f56d970f = function (ped, damageCleanliness, p3) {
	return _in(0x101b45c5, 0xf56d970f, _i, ped, damageCleanliness, p3, _r);
};

/**
 * 0x10342CC82E8356E9
 */
global.N_0x10342cc82e8356e9 = function (p0, p1) {
	return _in(0x10342cc8, 0x2e8356e9, p0, p1, _r, _ri);
};

/**
 * 0x104D9A7B1C0D0783
 */
global.N_0x104d9a7b1c0d0783 = function (vehicle, p1) {
	return _in(0x104d9a7b, 0x1c0d0783, vehicle, _fv(p1));
};

/**
 * Note: this native was added in build 1311.23
 * ```
 * ```
 * NativeDB Introduced: v1311
 */
global.N_0x106cbdd5077dede1 = function (p0) {
	return _in(0x106cbdd5, 0x077dede1, p0, _r, _ri);
};

/**
 * 0x107F2A66E1C4C83A
 */
global.N_0x107f2a66e1c4c83a = function (p0) {
	return _in(0x107f2a66, 0xe1c4c83a, p0);
};

/**
 * _SET_MISSION_NAME_*(FOR_ACTIVITY?/MINIGAME?)
 */
global.N_0x1096603b519c905f = function (name) {
	return _in(0x1096603b, 0x519c905f, _ts(name));
};

/**
 * 0x10ADFDF07B7DFFBA
 */
global.N_0x10adfdf07b7dffba = function (p0, p1, p2) {
	return _in(0x10adfdf0, 0x7b7dffba, p0, p1, p2, _r, _ri);
};

/**
 * 0x10C44F633E2D6D9E
 */
global.N_0x10c44f633e2d6d9e = function (p0) {
	return _in(0x10c44f63, 0x3e2d6d9e, p0);
};

/**
 * NB_CUSTOM_CLIENT_ON_CREATE_COMPLETE - set legendary to not avoid prey
 */
global.N_0x10f96086123b939f = function (legendaryPed, preyPed, p2) {
	return _in(0x10f96086, 0x123b939f, legendaryPed, preyPed, _fv(p2));
};

/**
 * 0x1121B07088ED3013
 */
global.N_0x1121b07088ed3013 = function (p0) {
	return _in(0x1121b070, 0x88ed3013, p0, _r, _ri);
};

/**
 * Only used in R* SP Scripts
 */
global.N_0x112bca290d2eb53c = function (inventoryId, p1) {
	return _in(0x112bca29, 0x0d2eb53c, inventoryId, _ch(p1), _i, _i, _i, _i, _i, _i, _r);
};

/**
 * 0x112DDF56300BC6E5
 */
global.N_0x112ddf56300bc6e5 = function (p0) {
	return _in(0x112ddf56, 0x300bc6e5, p0, _r, _ri);
};

/**
 * 0x113EF458AB6CDA67
 */
global.N_0x113ef458ab6cda67 = function (p0, p1) {
	return _in(0x113ef458, 0xab6cda67, p0, p1);
};

/**
 * _CAN_PED_SEE* - _CAN_PED_USE_(SCENARIO_HASH?)*
 */
global.N_0x1148f706cf4ebdda = function (ped, p1, p2) {
	return _in(0x1148f706, 0xcf4ebdda, ped, _ch(p1), p2, _r);
};

/**
 * Returns p1 for 0xBA958F68031DDBFC (stationIndex)
 * _GET_N* (NEAREST_STATION_FOR_TRAIN?)
 */
global.N_0x1180a2974d251b7b = function (train) {
	return _in(0x1180a297, 0x4d251b7b, train, _r, _ri);
};

/**
 * 0x119A5714578F4E05
 */
global.N_0x119a5714578f4e05 = function (p0, p1) {
	return _in(0x119a5714, 0x578f4e05, p0, p1);
};

/**
 * Used in Script Function DISABLE_REGISTERED_WORLD_BRAINS
 */
global.N_0x11b0a0b282fa9b10 = function (p0) {
	return _in(0x11b0a0b2, 0x82fa9b10, p0);
};

/**
 * 0x11C7CE1AE38911B5
 */
global.N_0x11c7ce1ae38911b5 = function (p0) {
	return _in(0x11c7ce1a, 0xe38911b5, p0, _r, _ri);
};

/**
 * 0x120376C23F019C6C
 */
global.N_0x120376c23f019c6c = function (p0, p1) {
	return _in(0x120376c2, 0x3f019c6c, p0, p1, _r, _ri);
};

/**
 * Used for DUELING_LOCK_CAMERA_CONTROLS_THIS_FRAME: Disabling look/aim controls
 * _IS_SC(REEN_)* (?)
 */
global.N_0x1204eb53a5fbc63d = function () {
	return _in(0x1204eb53, 0xa5fbc63d, _r);
};

/**
 * _IS_R* - _IS_S*
 */
global.N_0x1252c029fc8ebb4d = function () {
	return _in(0x1252c029, 0xfc8ebb4d, _r);
};

/**
 * nullsub, doesn't do anything
 */
global.N_0x128fc3a893bf853a = function (p0) {
	return _in(0x128fc3a8, 0x93bf853a, p0);
};

/**
 * 0x1298B3D8E4C2409F
 */
global.N_0x1298b3d8e4c2409f = function (p0) {
	return _in(0x1298b3d8, 0xe4c2409f, p0);
};

/**
 * 0x12990818C1D35886
 */
global.N_0x12990818c1d35886 = function (p0, p1, p2) {
	return _in(0x12990818, 0xc1d35886, p0, p1, p2);
};

/**
 * 0x12E09E278C6C29B7
 */
global.N_0x12e09e278c6c29b7 = function (p0) {
	return _in(0x12e09e27, 0x8c6c29b7, p0);
};

/**
 * _GET_IS_PED_(BLEEDING_OUT?)*
 */
global.N_0x12eb4e31f092c9b3 = function (ped) {
	return _in(0x12eb4e31, 0xf092c9b3, ped, _r);
};

/**
 * _SET_A* - _SET_B*
 */
global.N_0x12f2d161bf4031fc = function (ped, p1) {
	return _in(0x12f2d161, 0xbf4031fc, ped, _fv(p1));
};

/**
 * Params: coords = GET_ENTITY_VELOCITY
 * _SET_VELOCITY*
 */
global.N_0x12f6c6ed3eff42de = function (vehicle, x, y, z) {
	return _in(0x12f6c6ed, 0x3eff42de, vehicle, _fv(x), _fv(y), _fv(z));
};

/**
 * 0x131E294EF60160DF
 */
global.N_0x131e294ef60160df = function (player, p1, p2, p3, p4, p5) {
	return _in(0x131e294e, 0xf60160df, player, _fv(p1), _fv(p2), _fv(p3), _fv(p4), p5);
};

/**
 * 0x131EC9247E7A2903
 */
global.N_0x131ec9247e7a2903 = function (p0) {
	return _in(0x131ec924, 0x7e7a2903, p0, _r, _ri);
};

/**
 * _GET_PED_M*
 */
global.N_0x134775b093ad5c38 = function (ped) {
	return _in(0x134775b0, 0x93ad5c38, ped, _r, _rf);
};

/**
 * 0x138ADB94F8B90616
 */
global.N_0x138adb94f8b90616 = function () {
	return _in(0x138adb94, 0xf8b90616);
};

/**
 * NativeDB Introduced: v1232
 */
global.N_0x139a4b9df2d26cbf = function (p0, p1) {
	return _in(0x139a4b9d, 0xf2d26cbf, p0, p1);
};

/**
 * 0x13C190302369308B
 */
global.N_0x13c190302369308b = function (p0) {
	return _in(0x13c19030, 0x2369308b, p0, _r, _ri);
};

/**
 * 0x13EB275BF81636D1
 */
global.N_0x13eb275bf81636d1 = function (p0, p1) {
	return _in(0x13eb275b, 0xf81636d1, p0, p1);
};

/**
 * 0x13F592FC3BF0EA84
 */
global.N_0x13f592fc3bf0ea84 = function (volume, p1, originalWeight, p3, p4) {
	return _in(0x13f592fc, 0x3bf0ea84, volume, p1, _fv(originalWeight), p3, p4);
};

/**
 * Used in SP R* Scripts only
 * Params: p1 = 2B-LowHonor, 2A-HighHonor
 */
global.N_0x1407f5115fb9583e = function (animScene, p1) {
	return _in(0x1407f511, 0x5fb9583e, animScene, _ts(p1), _r);
};

/**
 * weaponHash can also be -1
 */
global.N_0x140b3cb1d424a945 = function (ped, weaponHash) {
	return _in(0x140b3cb1, 0xd424a945, ped, _ch(weaponHash));
};

/**
 * 0x1413B6BF27AB7A95
 */
global.N_0x1413b6bf27ab7a95 = function () {
	return _in(0x1413b6bf, 0x27ab7a95, _r, _ri);
};

/**
 * 0x141BC64C8D7C5529
 */
global.N_0x141bc64c8d7c5529 = function (vehicle) {
	return _in(0x141bc64c, 0x8d7c5529, vehicle);
};

/**
 * 0x1431540BCA1A1BD2
 */
global.N_0x1431540bca1a1bd2 = function () {
	return _in(0x1431540b, 0xca1a1bd2, _r, _ri);
};

/**
 * _RESET_*
 */
global.N_0x1460b644397453eb = function () {
	return _in(0x1460b644, 0x397453eb);
};

/**
 * 0x148E7AC8141C9E64
 */
global.N_0x148e7ac8141c9e64 = function (player) {
	return _in(0x148e7ac8, 0x141c9e64, player, _r, _ri);
};

/**
 * 0x14C4A49E36C29E49
 */
global.N_0x14c4a49e36c29e49 = function () {
	return _in(0x14c4a49e, 0x36c29e49, _r, _ri);
};

/**
 * 0x14DA8C4BC2CCD90A
 */
global.N_0x14da8c4bc2ccd90a = function (p0) {
	return _in(0x14da8c4b, 0xc2ccd90a, p0, _r, _ri);
};

/**
 * 0x14E57F88BA0A07FC
 */
global.N_0x14e57f88ba0a07fc = function (location) {
	return _in(0x14e57f88, 0xba0a07fc, _ch(location));
};

/**
 * Puts the gun visibly in your horse's holster without having to be close to the horse. Use 0xE9BD19F8121ADE3E before using this native
 * _A* or _B*
 */
global.N_0x14ff0c2545527f9b = function (horse, weaponHash, ped) {
	return _in(0x14ff0c25, 0x45527f9b, horse, _ch(weaponHash), ped);
};

/**
 * 0x1520626FFAFFFA8F
 */
global.N_0x1520626ffafffa8f = function (p0, p1) {
	return _in(0x1520626f, 0xfafffa8f, p0, p1);
};

/**
 * 0x15206E88FF7617DF
 */
global.N_0x15206e88ff7617df = function (trackIndex, p1) {
	return _in(0x15206e88, 0xff7617df, trackIndex, _fv(p1));
};

/**
 * 0x152664AA3188B193
 */
global.N_0x152664aa3188b193 = function (p0, p1, p2, p3, p4, p5) {
	return _in(0x152664aa, 0x3188b193, p0, p1, p2, p3, p4, p5, _r, _ri);
};

/**
 * 0x152ED1B56E8F1F50
 */
global.N_0x152ed1b56e8f1f50 = function (p0, currentScriptedConvoLine) {
	return _in(0x152ed1b5, 0x6e8f1f50, _ts(p0), currentScriptedConvoLine, _r, _ri);
};

/**
 * 0x154340E87D8CC178
 */
global.N_0x154340e87d8cc178 = function (p0) {
	return _in(0x154340e8, 0x7d8cc178, p0);
};

/**
 * _SET_SCENARIO_PED_* - _SET_SPAWNER_*
 */
global.N_0x154b7e841ac7412f = function (groupId, p1) {
	return _in(0x154b7e84, 0x1ac7412f, groupId, p1);
};

/**
 * Params: p0 either 0, 1 or -1 in R* Scripts
 * Set to 0 called together with _SUPPRESS_CRIME
 */
global.N_0x15abd5004cad2d99 = function (p0) {
	return _in(0x15abd500, 0x4cad2d99, p0);
};

/**
 * NativeDB Introduced: v1436
 */
global.N_0x15cc8c33d7ffcc4a = function (vehicle, p1) {
	return _in(0x15cc8c33, 0xd7ffcc4a, vehicle, p1);
};

/**
 * 0x15E90B6A993017AA
 */
global.N_0x15e90b6a993017aa = function () {
	return _in(0x15e90b6a, 0x993017aa, _r, _ri);
};

/**
 * 0x15F4732C357B1D6D
 */
global.N_0x15f4732c357b1d6d = function (p0, p1, p2) {
	return _in(0x15f4732c, 0x357b1d6d, p0, p1, p2);
};

/**
 * 0x160825DADF1B04B3
 */
global.N_0x160825dadf1b04b3 = function () {
	return _in(0x160825da, 0xdf1b04b3);
};

/**
 * 0x160C1B5AB48AB87C
 */
global.N_0x160c1b5ab48ab87c = function (train, p1) {
	return _in(0x160c1b5a, 0xb48ab87c, train, _fv(p1));
};

/**
 * nullsub, doesn't do anything
 */
global.N_0x160f0ce6d76a39c9 = function () {
	return _in(0x160f0ce6, 0xd76a39c9, _r, _ri);
};

/**
 * 0x1632EB9386CDBE64
 */
global.N_0x1632eb9386cdbe64 = function (p0, p1) {
	return _in(0x1632eb93, 0x86cdbe64, p0, p1);
};

/**
 * 0x165BE2001E5E4B75
 */
global.N_0x165be2001e5e4b75 = function (p0) {
	return _in(0x165be200, 0x1e5e4b75, p0);
};

/**
 * 0x16802C32B2FCA06B
 */
global.N_0x16802c32b2fca06b = function (p0, p1, p2, p3) {
	return _in(0x16802c32, 0xb2fca06b, p0, p1, p2, p3);
};

/**
 * 0x16908E859C3AB698
 */
global.N_0x16908e859c3ab698 = function (p0, p1, p2, p3, p4) {
	return _in(0x16908e85, 0x9c3ab698, p0, p1, p2, p3, p4);
};

/**
 * 0x16B86A49E072AA85
 */
global.N_0x16b86a49e072aa85 = function () {
	return _in(0x16b86a49, 0xe072aa85);
};

/**
 * 0x16D9841A85FA627E
 */
global.N_0x16d9841a85fa627e = function (ped, toggle) {
	return _in(0x16d9841a, 0x85fa627e, ped, toggle);
};

/**
 * 0x16E9ABDD34DDD931
 */
global.N_0x16e9abdd34ddd931 = function () {
	return _in(0x16e9abdd, 0x34ddd931);
};

/**
 * 0x16EFB123C4451032
 */
global.N_0x16efb123c4451032 = function (p0, gamerHandle) {
	return _in(0x16efb123, 0xc4451032, p0, _ii(gamerHandle) /* may be optional */, _r);
};

/**
 * _PED_COWER_M*
 */
global.N_0x16f798a05bb9e3b5 = function (ped) {
	return _in(0x16f798a0, 0x5bb9e3b5, ped);
};

/**
 * 0x171C18E994C1A395
 */
global.N_0x171c18e994c1a395 = function (p0, p1, p2, p3, p4) {
	return _in(0x171c18e9, 0x94c1a395, p0, p1, p2, p3, p4);
};

/**
 * 0x1726963E6049DB53
 */
global.N_0x1726963e6049db53 = function (p0) {
	return _in(0x1726963e, 0x6049db53, p0);
};

/**
 * 0x172E9DD35858DCD7
 */
global.N_0x172e9dd35858dcd7 = function (p0) {
	return _in(0x172e9dd3, 0x5858dcd7, p0);
};

/**
 * 0x17721003A66C72BF
 */
global.N_0x17721003a66c72bf = function (p0, p1, p2) {
	return _in(0x17721003, 0xa66c72bf, p0, p1, p2, _r);
};

/**
 * 0x17E3E5C46ECCD308
 */
global.N_0x17e3e5c46eccd308 = function (p0, p1, p2) {
	return _in(0x17e3e5c4, 0x6eccd308, p0, p1, p2);
};

/**
 * 0x1811A02277A9E49D
 */
global.N_0x1811a02277a9e49d = function () {
	return _in(0x1811a022, 0x77a9e49d, _r);
};

/**
 * 0x183672FE838A661B
 */
global.N_0x183672fe838a661b = function (data) {
	return _in(0x183672fe, 0x838a661b, _ii(data) /* may be optional */);
};

/**
 * 0x183CE355115B6E75
 */
global.N_0x183ce355115b6e75 = function (p0, p1) {
	return _in(0x183ce355, 0x115b6e75, p0, p1);
};

/**
 * _ARE_ANY_VEHICLE_(WHEELS_DESTROYED?)*
 */
global.N_0x18714953cced17d3 = function (vehicle) {
	return _in(0x18714953, 0xcced17d3, vehicle, _r);
};

/**
 * 0x188736456D1DEDE6
 */
global.N_0x188736456d1dede6 = function (p0, p1) {
	return _in(0x18873645, 0x6d1dede6, p0, p1, _r, _ri);
};

/**
 * 0x18A0D48DF9211C07
 */
global.N_0x18a0d48df9211c07 = function () {
	return _in(0x18a0d48d, 0xf9211c07);
};

/**
 * 0x18B94666CF610AEB
 */
global.N_0x18b94666cf610aeb = function () {
	return _in(0x18b94666, 0xcf610aeb, _r);
};

/**
 * 0x18C3DFAC458783BB
 */
global.N_0x18c3dfac458783bb = function () {
	return _in(0x18c3dfac, 0x458783bb);
};

/**
 * Only used in R* SP Scripts
 */
global.N_0x18d6869fbffec0f8 = function (p2, p3) {
	return _in(0x18d6869f, 0xbffec0f8, _i, _i, p2, p3, _r, _ri);
};

/**
 * Only used in R* SP Script beat_rat_infestation and homeinvasion
 */
global.N_0x18e93ebfc1fcfa48 = function (volume, p1, p2) {
	return _in(0x18e93ebf, 0xc1fcfa48, volume, p1, p2, _r, _ri);
};

/**
 * 0x190F7DA1AC09A8EF
 */
global.N_0x190f7da1ac09a8ef = function () {
	return _in(0x190f7da1, 0xac09a8ef, _r, _ri);
};

/**
 * 0x1919D59E60FD516E
 */
global.N_0x1919d59e60fd516e = function (p0, p1, p2) {
	return _in(0x1919d59e, 0x60fd516e, p0, p1, p2);
};

/**
 * Note: this native was added in build 1311.23
 * ```
 * ```
 * NativeDB Introduced: v1311
 */
global.N_0x19447fcae97704dc = function (ctx, ec, ex, ro) {
	return _in(0x19447fca, 0xe97704dc, _ch(ctx), ec, ex, ro);
};

/**
 * 0x19870C40C7EE15BE
 */
global.N_0x19870c40c7ee15be = function (p0, p1) {
	return _in(0x19870c40, 0xc7ee15be, p0, p1, _r, _ri);
};

/**
 * 0x198B85CC3C7A4593
 */
global.N_0x198b85cc3c7a4593 = function (p0, p1) {
	return _in(0x198b85cc, 0x3c7a4593, p0, p1, _r, _ri);
};

/**
 * 0x19B2C7A6C34FAD54
 */
global.N_0x19b2c7a6c34fad54 = function (p0, p1) {
	return _in(0x19b2c7a6, 0xc34fad54, p0, p1, _r, _ri);
};

/**
 * 0x19B52C20B5C4757C
 */
global.N_0x19b52c20b5c4757c = function () {
	return _in(0x19b52c20, 0xb5c4757c);
};

/**
 * 0x19BC99C678FBA139
 */
global.N_0x19bc99c678fba139 = function (p0, p1, p2) {
	return _in(0x19bc99c6, 0x78fba139, p0, p1, p2);
};

/**
 * AGGRO_CHECK_PROPERTY_DAMAGE: Property damage found with event
 */
global.N_0x1a5c5d350068a673 = function (ped, p1) {
	return _in(0x1a5c5d35, 0x0068a673, ped, p1);
};

/**
 * 0x1A6E84F13C952094
 */
global.N_0x1a6e84f13c952094 = function (player, p1, p2) {
	return _in(0x1a6e84f1, 0x3c952094, player, p1, _ii(p2) /* may be optional */, _r);
};

/**
 * 0x1A7D63CB1B0BB223
 */
global.N_0x1a7d63cb1b0bb223 = function (p0) {
	return _in(0x1a7d63cb, 0x1b0bb223, p0);
};

/**
 * 0x1A861F899EBBE17C
 */
global.N_0x1a861f899ebbe17c = function (train, p1) {
	return _in(0x1a861f89, 0x9ebbe17c, train, p1);
};

/**
 * Used in shop scripts for CATALOG_BOOK
 * false = Normal -> [CATALOG_BOOK_SHUTDOWN]
 * true = Trees flickering? -> [CATALOG_BOOK_OPEN]
 */
global.N_0x1a9f09ab458d49c6 = function (p0) {
	return _in(0x1a9f09ab, 0x458d49c6, p0);
};

/**
 * 0x1AC5A8AB50CFAA33
 */
global.N_0x1ac5a8ab50cfaa33 = function (p0) {
	return _in(0x1ac5a8ab, 0x50cfaa33, p0, _r, _ri);
};

/**
 * NativeDB Introduced: v1436
 */
global.N_0x1acbc313966c21f3 = function (scenario) {
	return _in(0x1acbc313, 0x966c21f3, scenario, _r, _ri);
};

/**
 * Used in braithwaites2 SP R* Scripts only
 * _A*
 */
global.N_0x1ad896bf43619551 = function () {
	return _in(0x1ad896bf, 0x43619551);
};

/**
 * NativeDB Introduced: v1311
 */
global.N_0x1ad8ad999c27f44a = function (p0) {
	return _in(0x1ad8ad99, 0x9c27f44a, p0);
};

/**
 * 0x1BDB5A07307F6929
 */
global.N_0x1bdb5a07307f6929 = function (p0, p1) {
	return _in(0x1bdb5a07, 0x307f6929, p0, p1);
};

/**
 * 0x1BFBAFCC6760FF02
 */
global.N_0x1bfbafcc6760ff02 = function (train, p1) {
	return _in(0x1bfbafcc, 0x6760ff02, train, p1);
};

/**
 * 0x1C38C3577901AF1F
 */
global.N_0x1c38c3577901af1f = function () {
	return _in(0x1c38c357, 0x7901af1f);
};

/**
 * Used in SP R* Scripts only
 * _IS_ANIM_SCENE_P*
 */
global.N_0x1c5d33a4293e6dde = function (animScene, phaseName) {
	return _in(0x1c5d33a4, 0x293e6dde, animScene, _ts(phaseName), _r);
};

/**
 * 0x1C5EB3C27F7508CB
 */
global.N_0x1c5eb3c27f7508cb = function (p0, p1) {
	return _in(0x1c5eb3c2, 0x7f7508cb, p0, p1);
};

/**
 * 0x1C6306E5BC25C29C
 */
global.N_0x1c6306e5bc25c29c = function () {
	return _in(0x1c6306e5, 0xbc25c29c);
};

/**
 * 0x1C65CC931C0F946F
 */
global.N_0x1c65cc931c0f946f = function (p0, p1, p2) {
	return _in(0x1c65cc93, 0x1c0f946f, p0, p1, p2);
};

/**
 * 0x1D125814EBC517EB
 */
global.N_0x1d125814ebc517eb = function (p0, p1, p2, p3) {
	return _in(0x1d125814, 0xebc517eb, p0, p1, p2, p3);
};

/**
 * _GET*
 */
global.N_0x1d1b448d719415ab = function (ped) {
	return _in(0x1d1b448d, 0x719415ab, ped, _r, _ri);
};

/**
 * 0x1D23D3F70606D788
 */
global.N_0x1d23d3f70606d788 = function (p0, p1) {
	return _in(0x1d23d3f7, 0x0606d788, p0, p1);
};

/**
 * 0x1D256EED194F5B58
 */
global.N_0x1d256eed194f5b58 = function (p0) {
	return _in(0x1d256eed, 0x194f5b58, p0);
};

/**
 * _SET_PED_CA* - _SET_PED_CO*
 */
global.N_0x1d4636c90bbefacb = function (ped, p1) {
	return _in(0x1d4636c9, 0x0bbefacb, ped, p1);
};

/**
 * NativeDB Introduced: v1436
 */
global.N_0x1d931b7cc0ee3956 = function (dictionary, shotName, cameraName) {
	return _in(0x1d931b7c, 0xc0ee3956, _ts(dictionary), _ts(shotName), _ts(cameraName), _r);
};

/**
 * 0x1D97DA8ACB5D2582
 */
global.N_0x1d97da8acb5d2582 = function (ropeId, p1) {
	return _in(0x1d97da8a, 0xcb5d2582, ropeId, p1);
};

/**
 * 0x1D9F72DD4FD9A9D7
 */
global.N_0x1d9f72dd4fd9a9d7 = function (p0) {
	return _in(0x1d9f72dd, 0x4fd9a9d7, p0);
};

/**
 * 0x1DA5C5B0923E1B85
 */
global.N_0x1da5c5b0923e1b85 = function (p0) {
	return _in(0x1da5c5b0, 0x923e1b85, p0, _r, _ri);
};

/**
 * 0x1DA6CB02071055D5
 */
global.N_0x1da6cb02071055d5 = function (p0) {
	return _in(0x1da6cb02, 0x071055d5, p0, _r, _rv);
};

/**
 * 0x1E017404784AA6A3
 */
global.N_0x1e017404784aa6a3 = function (ped, p1) {
	return _in(0x1e017404, 0x784aa6a3, ped, _ch(p1), _r);
};

/**
 * Note: this native was added in build 1311.23
 * ```
 * ```
 * NativeDB Introduced: v1311
 */
global.N_0x1e4e097d71d449fb = function (p0) {
	return _in(0x1e4e097d, 0x71d449fb, p0, _r, _ri);
};

/**
 * 0x1E6F9A9FE1A99F36
 */
global.N_0x1e6f9a9fe1a99f36 = function (audSpeechEvent) {
	return _in(0x1e6f9a9f, 0xe1a99f36, _ts(audSpeechEvent));
};

/**
 * 0x1E8099F449ABB0BA
 */
global.N_0x1e8099f449abb0ba = function (p0) {
	return _in(0x1e8099f4, 0x49abb0ba, p0, _r, _ri);
};

/**
 * 0x1ECF56C040FD839C
 */
global.N_0x1ecf56c040fd839c = function (p0, p1) {
	return _in(0x1ecf56c0, 0x40fd839c, p0, p1);
};

/**
 * 0x1F11702DDBD915C6
 */
global.N_0x1f11702ddbd915c6 = function (p0, p1) {
	return _in(0x1f11702d, 0xdbd915c6, p0, p1, _r, _ri);
};

/**
 * 0x1F298C7BD30D1240
 */
global.N_0x1f298c7bd30d1240 = function (ped) {
	return _in(0x1f298c7b, 0xd30d1240, ped);
};

/**
 * Only used in SP R* Scripts
 * Params: p2 = same as p2 of 0x3C529A827998F9B3
 * _SET_PED_TA* - _SET_PED_TO_*
 */
global.N_0x1f44b7e283c09ede = function (ped, p1, p2) {
	return _in(0x1f44b7e2, 0x83c09ede, ped, _fv(p1), p2);
};

/**
 * _RESET_PLAYER_A* - _RESET_PLAYER_I*
 */
global.N_0x1f488807bc8e0630 = function (player) {
	return _in(0x1f488807, 0xbc8e0630, player);
};

/**
 * 0x1F56FB3FDB4EAF65
 */
global.N_0x1f56fb3fdb4eaf65 = function (p0) {
	return _in(0x1f56fb3f, 0xdb4eaf65, p0, _r, _ri);
};

/**
 * _SET_A(MBIENT_PICKUP_?)*
 */
global.N_0x1f5e07e14a86fafc = function (p0) {
	return _in(0x1f5e07e1, 0x4a86fafc, p0);
};

/**
 * 0x1F6EBD94680252CE
 */
global.N_0x1f6ebd94680252ce = function (p0, p1) {
	return _in(0x1f6ebd94, 0x680252ce, p0, p1);
};

/**
 * 0x1F7A9A9C38C13A56
 */
global.N_0x1f7a9a9c38c13a56 = function (p0) {
	return _in(0x1f7a9a9c, 0x38c13a56, p0, _r, _ri);
};

/**
 * 0x1F8215D0E446F593
 */
global.N_0x1f8215d0e446f593 = function (p0, p1, p2) {
	return _in(0x1f8215d0, 0xe446f593, p0, p1, p2);
};

/**
 * 0x1FBF7F5BA7E4BE3A
 */
global.N_0x1fbf7f5ba7e4be3a = function (p0) {
	return _in(0x1fbf7f5b, 0xa7e4be3a, p0);
};

/**
 * _ITEMDATABASE_GET_(A)* - _ITEMDATABASE_GET_(B)*
 * ```
 * ```
 * NativeDB Introduced: v1311
 */
global.N_0x1fc25aeb5f76b38d = function (p0, index, data) {
	return _in(0x1fc25aeb, 0x5f76b38d, p0, index, _ii(data) /* may be optional */, _r);
};

/**
 * 0x1FC6C727D30FFDDE
 */
global.N_0x1fc6c727d30ffdde = function (p0) {
	return _in(0x1fc6c727, 0xd30ffdde, p0);
};

/**
 * 0x1FC92BDBA1106BD2
 */
global.N_0x1fc92bdba1106bd2 = function (ropeId, p1) {
	return _in(0x1fc92bdb, 0xa1106bd2, ropeId, _fv(p1));
};

/**
 * 0x1FDA57E8908F2609
 */
global.N_0x1fda57e8908f2609 = function (player, ped, useSteerassist) {
	return _in(0x1fda57e8, 0x908f2609, player, ped, useSteerassist);
};

/**
 * 0x1FF8731BE1DFC0C0
 */
global.N_0x1ff8731be1dfc0c0 = function (p0, p1) {
	return _in(0x1ff8731b, 0xe1dfc0c0, p0, p1);
};

/**
 * Only used in resapwn_dump_body R* Script
 */
global.N_0x2001687f9562fd9d = function (p0) {
	return _in(0x2001687f, 0x9562fd9d, p0);
};

/**
 * _IS_PLAYER_F*
 */
global.N_0x2009f8ab7a5e9d6d = function (player) {
	return _in(0x2009f8ab, 0x7a5e9d6d, player, _r);
};

/**
 * 0x20135AF9C10D2A3D
 */
global.N_0x20135af9c10d2a3d = function (p0) {
	return _in(0x20135af9, 0xc10d2a3d, p0, _r, _ri);
};

/**
 * 0x2045429505158D1A
 */
global.N_0x2045429505158d1a = function (p0) {
	return _in(0x20454295, 0x05158d1a, p0, _r, _ri);
};

/**
 * 0x2064B33F6E6B92D4
 */
global.N_0x2064b33f6e6b92d4 = function (p0, p1, p2, p3) {
	return _in(0x2064b33f, 0x6e6b92d4, p0, p1, p2, p3);
};

/**
 * 0x20FAEE47427A4497
 */
global.N_0x20faee47427a4497 = function () {
	return _in(0x20faee47, 0x427a4497);
};

/**
 * 0x21091B4BEB6376EE
 */
global.N_0x21091b4beb6376ee = function (p0) {
	return _in(0x21091b4b, 0xeb6376ee, p0, _r, _ri);
};

/**
 * 0x21213B833EF4DAE7
 */
global.N_0x21213b833ef4dae7 = function (player, ped, outCoords) {
	return _in(0x21213b83, 0x3ef4dae7, player, ped, _v);
};

/**
 * 0x2161278C6322F740
 */
global.N_0x2161278c6322f740 = function (includeFlags, excludeFlags, p2, p3, p4, volume) {
	return _in(0x2161278c, 0x6322f740, includeFlags, excludeFlags, p2, _ch(p3), p4, volume);
};

/**
 * 0x216343750545A486
 */
global.N_0x216343750545a486 = function (p0, p1, p2) {
	return _in(0x21634375, 0x0545a486, p0, p1, p2);
};

/**
 * 0x216BC0D3D2E413D2
 */
global.N_0x216bc0d3d2e413d2 = function (player, p1) {
	return _in(0x216bc0d3, 0xd2e413d2, player, p1);
};

/**
 * 0x218F7710A139D012
 */
global.N_0x218f7710a139d012 = function () {
	return _in(0x218f7710, 0xa139d012);
};

/**
 * 0x21D0890D88DFB0B0
 */
global.N_0x21d0890d88dfb0b0 = function (ropeId, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10) {
	return _in(0x21d0890d, 0x88dfb0b0, ropeId, p1, _fv(p2), _fv(p3), _fv(p4), _fv(p5), _fv(p6), _fv(p7), _fv(p8), _fv(p9), p10);
};

/**
 * Params: component - used in odriscolls1 and sean1 R* SP Script: COMPONENT_BINOCULARS_SCOPE01
 * Triggers the binocular scaleform
 */
global.N_0x21f00e08cbb5f37b = function (component) {
	return _in(0x21f00e08, 0xcbb5f37b, _ts(component));
};

/**
 * 0x2200AB13CBD10F4E
 */
global.N_0x2200ab13cbd10f4e = function (vehicle, x, y, z, p4, p5) {
	return _in(0x2200ab13, 0xcbd10f4e, vehicle, _fv(x), _fv(y), _fv(z), p4, _fv(p5));
};

/**
 * 0x22031584496CFB70
 */
global.N_0x22031584496cfb70 = function (p0, p1) {
	return _in(0x22031584, 0x496cfb70, p0, p1);
};

/**
 * Used in SP only
 * _REPORT_*
 */
global.N_0x22741652985c84d0 = function (player, lawRegionHash) {
	return _in(0x22741652, 0x985c84d0, player, _ch(lawRegionHash));
};

/**
 * 0x22B3CABEDDB538B2
 */
global.N_0x22b3cabeddb538b2 = function (player, p1) {
	return _in(0x22b3cabe, 0xddb538b2, player, _fv(p1));
};

/**
 * 0x22C8B10802301381
 */
global.N_0x22c8b10802301381 = function (p0, p1) {
	return _in(0x22c8b108, 0x02301381, p0, p1);
};

/**
 * 0x22CD2C33ED4467A1
 */
global.N_0x22cd2c33ed4467a1 = function (p0) {
	return _in(0x22cd2c33, 0xed4467a1, p0, _r, _ri);
};

/**
 * 0x22CDBF317C40A122
 */
global.N_0x22cdbf317c40a122 = function (ped) {
	return _in(0x22cdbf31, 0x7c40a122, ped);
};

/**
 * 0x232E1EB23CDB313C
 */
global.N_0x232e1eb23cdb313c = function () {
	return _in(0x232e1eb2, 0x3cdb313c, _r);
};

/**
 * 0x235C863DA77BD88D
 */
global.N_0x235c863da77bd88d = function (p0, p1, p2) {
	return _in(0x235c863d, 0xa77bd88d, p0, p1, p2, _r, _ri);
};

/**
 * _NETWORK_GET_A* - _NETWORK_GET_D*
 */
global.N_0x236321f1178a5446 = function (player, ped, p2) {
	return _in(0x236321f1, 0x178a5446, player, ped, _ii(p2) /* may be optional */, _r);
};

/**
 * 0x2371C39D4F91C288
 */
global.N_0x2371c39d4f91c288 = function (ped) {
	return _in(0x2371c39d, 0x4f91c288, ped);
};

/**
 * NativeDB Introduced: v1311
 */
global.N_0x23767d80c7eed7c6 = function (p0, p1) {
	return _in(0x23767d80, 0xc7eed7c6, p0, p1);
};

/**
 * 0x23BDE06596A22CEC
 */
global.N_0x23bde06596a22cec = function (ped, p1, p2, p3) {
	return _in(0x23bde065, 0x96a22cec, ped, p1, _fv(p2), p3);
};

/**
 * 0x23BF601A42F329A0
 */
global.N_0x23bf601a42f329a0 = function (p0) {
	return _in(0x23bf601a, 0x42f329a0, p0, _r, _ri);
};

/**
 * 0x23CCAB8F40B9CBEE
 */
global.N_0x23ccab8f40b9cbee = function (x, y, z) {
	return _in(0x23ccab8f, 0x40b9cbee, _fv(x), _fv(y), _fv(z), _r);
};

/**
 * 0x23F66C36F8E5EAAB
 */
global.N_0x23f66c36f8e5eaab = function (p0, p1) {
	return _in(0x23f66c36, 0xf8e5eaab, p0, p1);
};

/**
 * 0x2416EC2F31F75266
 */
global.N_0x2416ec2f31f75266 = function (entity, targetEntity, duration, p3, p4) {
	return _in(0x2416ec2f, 0x31f75266, entity, targetEntity, duration, p3, p4);
};

/**
 * 0x242EDF85D4E87B65
 */
global.N_0x242edf85d4e87b65 = function (p0) {
	return _in(0x242edf85, 0xd4e87b65, p0, _r, _ri);
};

/**
 * 0x243CEDE8F916B994
 */
global.N_0x243cede8f916b994 = function () {
	return _in(0x243cede8, 0xf916b994);
};

/**
 * 0x244430C13BA5258E
 */
global.N_0x244430c13ba5258e = function (p0, p1, p2, p3) {
	return _in(0x244430c1, 0x3ba5258e, p0, p1, p2, p3, _r, _ri);
};

/**
 * 0x247F86595D396344
 */
global.N_0x247f86595d396344 = function (p0) {
	return _in(0x247f8659, 0x5d396344, p0);
};

/**
 * Only used in R* SP Related Camp Scripts
 */
global.N_0x24db6b9f2b719043 = function (p0) {
	return _in(0x24db6b9f, 0x2b719043, _fv(p0));
};

/**
 * 0x250C75EB1728CC0D
 */
global.N_0x250c75eb1728cc0d = function (blip) {
	return _in(0x250c75eb, 0x1728cc0d, blip);
};

/**
 * 0x250EBB11E81A10BE
 */
global.N_0x250ebb11e81a10be = function (p0) {
	return _in(0x250ebb11, 0xe81a10be, p0, _r, _ri);
};

/**
 * 0x2533F2AB0EB9C6F9
 */
global.N_0x2533f2ab0eb9c6f9 = function (p0, p1) {
	return _in(0x2533f2ab, 0x0eb9c6f9, p0, p1);
};

/**
 * 0x254B0241E964B450
 */
global.N_0x254b0241e964b450 = function (p0, currentScriptedConvoLine) {
	return _in(0x254b0241, 0xe964b450, _ts(p0), currentScriptedConvoLine, _r, _ri);
};

/**
 * _IS_PED_FL* - _IS_PED_FU*
 */
global.N_0x256edd55c6be1482 = function (ped) {
	return _in(0x256edd55, 0xc6be1482, ped, _r);
};

/**
 * 0x259ACC5B52A2B2D9
 */
global.N_0x259acc5b52a2b2d9 = function (p0, p1) {
	return _in(0x259acc5b, 0x52a2b2d9, p0, p1);
};

/**
 * 0x26054EB81AC0893B
 */
global.N_0x26054eb81ac0893b = function (object) {
	return _in(0x26054eb8, 0x1ac0893b, object, _r);
};

/**
 * 0x263D69767F76059C
 */
global.N_0x263d69767f76059c = function (player, p1) {
	return _in(0x263d6976, 0x7f76059c, player, p1);
};

/**
 * 0x264E9A5CD78C338F
 */
global.N_0x264e9a5cd78c338f = function (p0) {
	return _in(0x264e9a5c, 0xd78c338f, p0);
};

/**
 * 0x2651DDC0EA269073
 */
global.N_0x2651ddc0ea269073 = function (ropeId, p1) {
	return _in(0x2651ddc0, 0xea269073, ropeId, _fv(p1));
};

/**
 * NativeDB Introduced: v1311
 */
global.N_0x2660e7720edc4bd0 = function (p0, p1, p2) {
	return _in(0x2660e772, 0x0edc4bd0, p0, p1, p2);
};

/**
 * 0x2686BD9566B65EDA
 */
global.N_0x2686bd9566b65eda = function (x, y, z) {
	return _in(0x2686bd95, 0x66b65eda, _fv(x), _fv(y), _fv(z));
};

/**
 * 0x26934083D3F2579C
 */
global.N_0x26934083d3f2579c = function (player) {
	return _in(0x26934083, 0xd3f2579c, player, _r);
};

/**
 * _GET_LAUNCH_PARAM_(RESPOT?)*
 * Name is probably invalid since this native only reads data from parsed entity.
 * ```
 * ```
 * NativeDB Introduced: v1232
 */
global.N_0x26a867c0b7a456d1 = function (entity) {
	return _in(0x26a867c0, 0xb7a456d1, entity, _r);
};

/**
 * effectName2, p2 and p3 are unused
 * ANIMPOSTFX_*
 */
global.N_0x26dd2fb0a88cc412 = function (effectName, effectName2, p2, p3) {
	return _in(0x26dd2fb0, 0xa88cc412, _ts(effectName), _ts(effectName2), p2, p3);
};

/**
 * 0x271F95E55C663B8B
 */
global.N_0x271f95e55c663b8b = function (p0, p1) {
	return _in(0x271f95e5, 0x5c663b8b, p0, p1, _r, _ri);
};

/**
 * 0x273915CE30780986
 */
global.N_0x273915ce30780986 = function (p0, p1) {
	return _in(0x273915ce, 0x30780986, p0, p1, _r, _ri);
};

/**
 * 0x273E04A3A7AD1F2D
 */
global.N_0x273e04a3a7ad1f2d = function () {
	return _in(0x273e04a3, 0xa7ad1f2d, _r);
};

/**
 * 0x277251C161B4C3F4
 */
global.N_0x277251c161b4c3f4 = function (p0, p1, p2) {
	return _in(0x277251c1, 0x61b4c3f4, p0, p1, p2);
};

/**
 * 0x27AD7162D3FED01E
 */
global.N_0x27ad7162d3fed01e = function (p0, p1) {
	return _in(0x27ad7162, 0xd3fed01e, p0, p1, _r, _ri);
};

/**
 * 0x27AF48C62B281341
 */
global.N_0x27af48c62b281341 = function () {
	return _in(0x27af48c6, 0x2b281341, _r, _ri);
};

/**
 * 0x27B1AE4D8C652F08
 */
global.N_0x27b1ae4d8c652f08 = function (p0) {
	return _in(0x27b1ae4d, 0x8c652f08, p0, _r, _ri);
};

/**
 * _BOUNTY_IS_* or _BOUNTY_REQUEST_*
 */
global.N_0x27d3a0e1fe090a43 = function (p0) {
	return _in(0x27d3a0e1, 0xfe090a43, _ii(p0) /* may be optional */, _r);
};

/**
 * 0x27E3F2B57209FA54
 */
global.N_0x27e3f2b57209fa54 = function (p0, p1) {
	return _in(0x27e3f2b5, 0x7209fa54, p0, p1);
};

/**
 * 0x27E8A84C12B0B7D1
 */
global.N_0x27e8a84c12b0b7d1 = function (p0, p1, p2) {
	return _in(0x27e8a84c, 0x12b0b7d1, p0, p1, p2, _r, _ri);
};

/**
 * NativeDB Introduced: v1311
 */
global.N_0x28508173c6a7cc18 = function (p0) {
	return _in(0x28508173, 0xc6a7cc18, p0);
};

/**
 * 0x285438C26C732F9D
 */
global.N_0x285438c26c732f9d = function () {
	return _in(0x285438c2, 0x6c732f9d, _r, _ri);
};

/**
 * 0x288CBB414C3C2FBB
 */
global.N_0x288cbb414c3c2fbb = function (p0) {
	return _in(0x288cbb41, 0x4c3c2fbb, p0, _r, _ri);
};

/**
 * 0x28AE29D909C8FDCE
 */
global.N_0x28ae29d909c8fdce = function (p0) {
	return _in(0x28ae29d9, 0x09c8fdce, p0, _r, _ri);
};

/**
 * 0x28EF780BDEA8A639
 */
global.N_0x28ef780bdea8a639 = function (ped, p1) {
	return _in(0x28ef780b, 0xdea8a639, ped, p1);
};

/**
 * _IS_PED_L* - _IS_PED_M*
 */
global.N_0x290b2e6ccde532e1 = function (ped) {
	return _in(0x290b2e6c, 0xcde532e1, ped, _r);
};

/**
 * 0x2916B30DC6C41179
 */
global.N_0x2916b30dc6c41179 = function (weatherType) {
	return _in(0x2916b30d, 0xc6c41179, _ch(weatherType));
};

/**
 * 0x2917E634206B9E17
 */
global.N_0x2917e634206b9e17 = function (ped, p1) {
	return _in(0x2917e634, 0x206b9e17, ped, p1);
};

/**
 * 0x291CC21D1FB6790E
 */
global.N_0x291cc21d1fb6790e = function (p0) {
	return _in(0x291cc21d, 0x1fb6790e, p0);
};

/**
 * Only used in R* Script fm_mission_controller
 * _CLEAR_WANTED_*
 */
global.N_0x292ad61a33a7a485 = function () {
	return _in(0x292ad61a, 0x33a7a485);
};

/**
 * 0x2948235DB2058E99
 */
global.N_0x2948235db2058e99 = function (p0, p1) {
	return _in(0x2948235d, 0xb2058e99, p0, p1);
};

/**
 * 0x294AF5323F44B053
 */
global.N_0x294af5323f44b053 = function (p0, p1, p2) {
	return _in(0x294af532, 0x3f44b053, p0, _ts(p1), p2, _r, _ri);
};

/**
 * 0x295859EB18F48D82
 */
global.N_0x295859eb18f48d82 = function (p0) {
	return _in(0x295859eb, 0x18f48d82, _ts(p0), _r, _ri);
};

/**
 * _SET_PED_K* or _SET_PED_L*
 */
global.N_0x29924eb8ee9db926 = function (ped, p1) {
	return _in(0x29924eb8, 0xee9db926, ped, _fv(p1));
};

/**
 * nullsub, doesn't do anything
 */
global.N_0x29c733459a9011eb = function (p0, p1) {
	return _in(0x29c73345, 0x9a9011eb, _ch(p0), _ts(p1));
};

/**
 * 0x29CD4896ECB66C12
 */
global.N_0x29cd4896ecb66c12 = function () {
	return _in(0x29cd4896, 0xecb66c12);
};

/**
 * 0x29E6655DF3590B0D
 */
global.N_0x29e6655df3590b0d = function (p0) {
	return _in(0x29e6655d, 0xf3590b0d, p0);
};

/**
 * 0x29F3539189D3E277
 */
global.N_0x29f3539189d3e277 = function (p0, p1) {
	return _in(0x29f35391, 0x89d3e277, p0, p1);
};

/**
 * 0x29FB4CE89472C3CB
 */
global.N_0x29fb4ce89472c3cb = function (p0, p1, p2, p3, p4, p5, p6, p7) {
	return _in(0x29fb4ce8, 0x9472c3cb, p0, p1, _fv(p2), _fv(p3), _ts(p4), _ts(p5), _ts(p6), p7);
};

/**
 * 0x2A10538D0A005E81
 */
global.N_0x2a10538d0a005e81 = function (p0, p1) {
	return _in(0x2a10538d, 0x0a005e81, p0, p1);
};

/**
 * 0x2A4765812202E671
 */
global.N_0x2a4765812202e671 = function () {
	return _in(0x2a476581, 0x2202e671, _r, _ri);
};

/**
 * 0x2A6D1DAAB9EBB262
 */
global.N_0x2a6d1daab9ebb262 = function (p0) {
	return _in(0x2a6d1daa, 0xb9ebb262, p0, _r, _ri);
};

/**
 * 0x2A7413168F6CD5A8
 */
global.N_0x2a7413168f6cd5a8 = function () {
	return _in(0x2a741316, 0x8f6cd5a8);
};

/**
 * 0x2A77EF9BEC8518F4
 */
global.N_0x2a77ef9bec8518f4 = function (p0) {
	return _in(0x2a77ef9b, 0xec8518f4, p0, _r, _ri);
};

/**
 * 0x2AB7C81B3F70570C
 */
global.N_0x2ab7c81b3f70570c = function () {
	return _in(0x2ab7c81b, 0x3f70570c, _r, _ri);
};

/**
 * 0x2B101AD9F651243A
 */
global.N_0x2b101ad9f651243a = function () {
	return _in(0x2b101ad9, 0xf651243a, _r, _ri);
};

/**
 * 0x2B12B6FC8B8772AB
 */
global.N_0x2b12b6fc8b8772ab = function (player, p1) {
	return _in(0x2b12b6fc, 0x8b8772ab, player, p1);
};

/**
 * 0x2B32B11520626229
 */
global.N_0x2b32b11520626229 = function (p0, p1, p2, p3, p4) {
	return _in(0x2b32b115, 0x20626229, p0, p1, p2, p3, p4, _r, _ri);
};

/**
 * 0x2B4CE170DE09F346
 */
global.N_0x2b4ce170de09f346 = function (ped, p1) {
	return _in(0x2b4ce170, 0xde09f346, ped, _ch(p1));
};

/**
 * 0x2B8AF29A78024BD3
 */
global.N_0x2b8af29a78024bd3 = function (p0) {
	return _in(0x2b8af29a, 0x78024bd3, p0);
};

/**
 * 0x2B9C37C01BF25EDB
 */
global.N_0x2b9c37c01bf25edb = function (p0) {
	return _in(0x2b9c37c0, 0x1bf25edb, p0, _r, _ri);
};

/**
 * Used in Script Function CHECK_IS_PLAYER_SEEN
 * _GET_PED_*
 */
global.N_0x2ba9d7bf629f920c = function (ped) {
	return _in(0x2ba9d7bf, 0x629f920c, ped, _r, _rf);
};

/**
 * 0x2BB2B5BCF0DF8008
 */
global.N_0x2bb2b5bcf0df8008 = function (p0, p1) {
	return _in(0x2bb2b5bc, 0xf0df8008, p0, p1);
};

/**
 * 0x2BB8D58E88777499
 */
global.N_0x2bb8d58e88777499 = function (p0) {
	return _in(0x2bb8d58e, 0x88777499, p0);
};

/**
 * 0x2BEED53B912537D0
 */
global.N_0x2beed53b912537d0 = function (p0, p1, p2) {
	return _in(0x2beed53b, 0x912537d0, p0, p1, p2);
};

/**
 * 0x2BF1953C0C21AC88
 */
global.N_0x2bf1953c0c21ac88 = function (p0) {
	return _in(0x2bf1953c, 0x0c21ac88, p0, _r, _ri);
};

/**
 * 0x2C2D287748E8E9B7
 */
global.N_0x2c2d287748e8e9b7 = function (p0) {
	return _in(0x2c2d2877, 0x48e8e9b7, p0);
};

/**
 * 0x2C46D2A591D8C322
 */
global.N_0x2c46d2a591d8c322 = function (p0, p1, p2) {
	return _in(0x2c46d2a5, 0x91d8c322, p0, p1, p2, _r, _ri);
};

/**
 * 0x2C497BDEF897C6DF
 */
global.N_0x2c497bdef897c6df = function (p0) {
	return _in(0x2c497bde, 0xf897c6df, p0, _r, _ri);
};

/**
 * nullsub, doesn't do anything
 */
global.N_0x2c4e98dda475364f = function (p0) {
	return _in(0x2c4e98dd, 0xa475364f, _ts(p0));
};

/**
 * nullsub, doesn't do anything
 */
global.N_0x2cd41ac000e6f611 = function () {
	return _in(0x2cd41ac0, 0x00e6f611);
};

/**
 * 0x2D40BCBFE9305DEA
 */
global.N_0x2d40bcbfe9305dea = function (p0, p1) {
	return _in(0x2d40bcbf, 0xe9305dea, p0, p1);
};

/**
 * 0x2D657B10F211C572
 */
global.N_0x2d657b10f211c572 = function (ped, p1) {
	return _in(0x2d657b10, 0xf211c572, ped, _fv(p1), _r, _ri);
};

/**
 * 0x2D976DBDC731DF80
 */
global.N_0x2d976dbdc731df80 = function (ped) {
	return _in(0x2d976dbd, 0xc731df80, ped);
};

/**
 * Used in SP R* Scripts only
 * _IS_PED_* - _IS_SC*
 */
global.N_0x2db524750dc41ed4 = function () {
	return _in(0x2db52475, 0x0dc41ed4, _r);
};

/**
 * _IS_PED_D*
 */
global.N_0x2dc0e8dcbd3546e9 = function (ped) {
	return _in(0x2dc0e8dc, 0xbd3546e9, ped, _r);
};

/**
 * 0x2DD3149DC34A3F4C
 */
global.N_0x2dd3149dc34a3f4c = function (p0) {
	return _in(0x2dd3149d, 0xc34a3f4c, p0);
};

/**
 * 0x2DD42FAD06E6F19E
 */
global.N_0x2dd42fad06e6f19e = function (object, p1, p2) {
	return _in(0x2dd42fad, 0x06e6f19e, object, p1, p2, _r, _ri);
};

/**
 * _IS_PED_M* - _IS_PED_O*
 */
global.N_0x2dd4e0e26dfad97d = function (ped1, ped2, p2) {
	return _in(0x2dd4e0e2, 0x6dfad97d, ped1, ped2, _fv(p2), _r);
};

/**
 * 0x2DF3D457D86F8E57
 */
global.N_0x2df3d457d86f8e57 = function (p0, p1) {
	return _in(0x2df3d457, 0xd86f8e57, p0, p1);
};

/**
 * 0x2DF89CD2ED1D0BDE
 */
global.N_0x2df89cd2ed1d0bde = function (p0, p1) {
	return _in(0x2df89cd2, 0xed1d0bde, p0, p1);
};

/**
 * 0x2E1ABE627C95ED9B
 */
global.N_0x2e1abe627c95ed9b = function () {
	return _in(0x2e1abe62, 0x7c95ed9b, _r, _ri);
};

/**
 * 0x2E1D6D87346BB7D2
 */
global.N_0x2e1d6d87346bb7d2 = function (p0, p1, p2, p3) {
	return _in(0x2e1d6d87, 0x346bb7d2, p0, p1, p2, p3);
};

/**
 * NativeDB Introduced: v1311
 */
global.N_0x2e24c27b112b5b12 = function (p0) {
	return _in(0x2e24c27b, 0x112b5b12, p0);
};

/**
 * 0x2E545965DF98D476
 */
global.N_0x2e545965df98d476 = function (p0) {
	return _in(0x2e545965, 0xdf98d476, p0, _r, _ri);
};

/**
 * 0x2E5B5D1F1453E08E
 */
global.N_0x2e5b5d1f1453e08e = function (ped, p1) {
	return _in(0x2e5b5d1f, 0x1453e08e, ped, p1);
};

/**
 * 0x2E67707BEC52CA4B
 */
global.N_0x2e67707bec52ca4b = function (p0) {
	return _in(0x2e67707b, 0xec52ca4b, p0);
};

/**
 * 0x2E957AA81F2C61C9
 */
global.N_0x2e957aa81f2c61c9 = function () {
	return _in(0x2e957aa8, 0x1f2c61c9);
};

/**
 * 0x2EB977293923C723
 */
global.N_0x2eb977293923c723 = function (p0, p1) {
	return _in(0x2eb97729, 0x3923c723, p0, p1);
};

/**
 * _SET_A* - _SET_B*
 */
global.N_0x2ebf70e1d8c06683 = function (ped, p1) {
	return _in(0x2ebf70e1, 0xd8c06683, ped, _ch(p1));
};

/**
 * 0x2F4D53023F826FF0
 */
global.N_0x2f4d53023f826ff0 = function () {
	return _in(0x2f4d5302, 0x3f826ff0, _r, _ri);
};

/**
 * nullsub, doesn't do anything
 */
global.N_0x2f7bb105144acf30 = function () {
	return _in(0x2f7bb105, 0x144acf30);
};

/**
 * 0x2F7EB8B6F6AFE79C
 */
global.N_0x2f7eb8b6f6afe79c = function (p0) {
	return _in(0x2f7eb8b6, 0xf6afe79c, p0, _r, _ri);
};

/**
 * 0x2F82CAB262C8AE26
 */
global.N_0x2f82cab262c8ae26 = function (player) {
	return _in(0x2f82cab2, 0x62c8ae26, player, _r, _rf);
};

/**
 * 0x2FA568BFA725F8D6
 */
global.N_0x2fa568bfa725f8d6 = function (p0, p1, p2, p3) {
	return _in(0x2fa568bf, 0xa725f8d6, p0, p1, p2, p3);
};

/**
 * NativeDB Introduced: v1436
 */
global.N_0x2fff4a78384affdf = function (entity) {
	return _in(0x2fff4a78, 0x384affdf, entity, _r, _ri);
};

/**
 * 0x30146C25686B7836
 */
global.N_0x30146c25686b7836 = function (p0, p1) {
	return _in(0x30146c25, 0x686b7836, p0, p1, _r, _ri);
};

/**
 * statId: see STAT_ID_IS_VALID
 */
global.N_0x302e71c1d9ee75b9 = function (p1) {
	return _in(0x302e71c1, 0xd9ee75b9, _i, _ch(p1), _i, _r);
};

/**
 * 0x3034C77C79A58880
 */
global.N_0x3034c77c79a58880 = function (p0) {
	return _in(0x3034c77c, 0x79a58880, p0);
};

/**
 * 0x3053064F909B5F42
 */
global.N_0x3053064f909b5f42 = function (p0, p1) {
	return _in(0x3053064f, 0x909b5f42, p0, p1);
};

/**
 * 0x30B391915538EBE2
 */
global.N_0x30b391915538ebe2 = function (p0) {
	return _in(0x30b39191, 0x5538ebe2, p0);
};

/**
 * 0x310CE349E0C0EC4B
 */
global.N_0x310ce349e0c0ec4b = function (player, ped, p2) {
	return _in(0x310ce349, 0xe0c0ec4b, player, ped, p2);
};

/**
 * 0x31160EC47E7C9549
 */
global.N_0x31160ec47e7c9549 = function (p0, p1) {
	return _in(0x31160ec4, 0x7e7c9549, p0, p1);
};

/**
 * NativeDB Introduced: v1355
 */
global.N_0x3137edc899e6dae4 = function (p0, p1) {
	return _in(0x3137edc8, 0x99e6dae4, p0, p1);
};

/**
 * nullsub, doesn't do anything
 */
global.N_0x3168ba5d6dece323 = function () {
	return _in(0x3168ba5d, 0x6dece323);
};

/**
 * Note: this native was added in build 1311.23
 * ```
 * ```
 * NativeDB Introduced: v1311
 */
global.N_0x316fd416c432c761 = function () {
	return _in(0x316fd416, 0xc432c761, _r);
};

/**
 * Only used in R* SP Script av_amb_camp_robbery
 */
global.N_0x318f0f9a4426cfa2 = function (ped, p1) {
	return _in(0x318f0f9a, 0x4426cfa2, ped, _ii(p1) /* may be optional */, _r, _ri);
};

/**
 * 0x31B2E7F2E3C58B89
 */
global.N_0x31b2e7f2e3c58b89 = function (p0, p1, p2, p3) {
	return _in(0x31b2e7f2, 0xe3c58b89, p0, p1, p2, p3, _r, _ri);
};

/**
 * 0x31BB338F64D5C861
 */
global.N_0x31bb338f64d5c861 = function (ped, p1) {
	return _in(0x31bb338f, 0x64d5c861, ped, p1);
};

/**
 * 0x32417CB860A3BDC4
 */
global.N_0x32417cb860a3bdc4 = function (p0, p1) {
	return _in(0x32417cb8, 0x60a3bdc4, p0, p1, _r, _ri);
};

/**
 * 0x324AB2A68AD8AEE5
 */
global.N_0x324ab2a68ad8aee5 = function () {
	return _in(0x324ab2a6, 0x8ad8aee5);
};

/**
 * Only used in script function UPDATE_PLAYER_JUST_DIED_STATE
 */
global.N_0x325434c68358d282 = function (toggle) {
	return _in(0x325434c6, 0x8358d282, toggle);
};

/**
 * Only used in R* SP Script short_update
 * _GET_TARGET_* - _GET_TRACKED*
 */
global.N_0x326f7951ef0d7f75 = function (ped, eventType) {
	return _in(0x326f7951, 0xef0d7f75, ped, _ch(eventType), _r, _ri);
};

/**
 * _SET_PED_P* - _SET_PED_R*
 */
global.N_0x329772c47dbb2fbc = function (ped) {
	return _in(0x329772c4, 0x7dbb2fbc, ped);
};

/**
 * 0x32A7C216344D623B
 */
global.N_0x32a7c216344d623b = function (p0, p1, p2) {
	return _in(0x32a7c216, 0x344d623b, p0, p1, p2, _r, _ri);
};

/**
 * _STOP_(?)*
 */
global.N_0x32ccad8a981b53d3 = function (ped) {
	return _in(0x32ccad8a, 0x981b53d3, ped);
};

/**
 * 0x32CEDA9A0AB4CEF7
 */
global.N_0x32ceda9a0ab4cef7 = function (ped, p1, p2) {
	return _in(0x32ceda9a, 0x0ab4cef7, ped, _ch(p1), p2);
};

/**
 * 0x32DE2BFFDA43E62A
 */
global.N_0x32de2bffda43e62a = function () {
	return _in(0x32de2bff, 0xda43e62a);
};

/**
 * 0x32F4DBFDFCCCC735
 */
global.N_0x32f4dbfdfcccc735 = function (p0, p1, p2) {
	return _in(0x32f4dbfd, 0xfcccc735, p0, p1, p2);
};

/**
 * 0x330CA55A3647FA1C
 */
global.N_0x330ca55a3647fa1c = function (p0, p1) {
	return _in(0x330ca55a, 0x3647fa1c, p0, p1);
};

/**
 * Returns trackIndex
 */
global.N_0x331cbd247fc5daa8 = function (configHash, x, y, z, direction, p5) {
	return _in(0x331cbd24, 0x7fc5daa8, _ch(configHash), _fv(x), _fv(y), _fv(z), direction, p5, _r, _ri);
};

/**
 * 0x331D349E0380B097
 */
global.N_0x331d349e0380b097 = function (p0) {
	return _in(0x331d349e, 0x0380b097, p0);
};

/**
 * 0x332630B862277879
 */
global.N_0x332630b862277879 = function () {
	return _in(0x332630b8, 0x62277879, _r, _ri);
};

/**
 * Note: this native was added in build 1311.23
 * ```
 * ```
 * NativeDB Introduced: v1311
 */
global.N_0x335af56613ca0f49 = function (p0) {
	return _in(0x335af566, 0x13ca0f49, p0);
};

/**
 * 0x33825A7388A6B9F6
 */
global.N_0x33825a7388a6b9f6 = function (collectableCategory, p1) {
	return _in(0x33825a73, 0x88a6b9f6, _ch(collectableCategory), p1, _r, _ri);
};

/**
 * 0x33982467B1E349EF
 */
global.N_0x33982467b1e349ef = function (p0, p1, p2, p3, p4, p5, p6) {
	return _in(0x33982467, 0xb1e349ef, p0, p1, p2, p3, p4, p5, p6, _r, _ri);
};

/**
 * 0x33C1D63E55FA4284
 */
global.N_0x33c1d63e55fa4284 = function (p0) {
	return _in(0x33c1d63e, 0x55fa4284, _ts(p0), _r);
};

/**
 * 0x341CDD17EFC2472E
 */
global.N_0x341cdd17efc2472e = function (p0, p1) {
	return _in(0x341cdd17, 0xefc2472e, p0, p1);
};

/**
 * 0x34AE85C7CA4857AA
 */
global.N_0x34ae85c7ca4857aa = function (p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10) {
	return _in(0x34ae85c7, 0xca4857aa, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10);
};

/**
 * 0x34B5CEAC180A5D6E
 */
global.N_0x34b5ceac180a5d6e = function (ped, p1, p2) {
	return _in(0x34b5ceac, 0x180a5d6e, ped, _ch(p1), p2);
};

/**
 * 0x34B9C4D86DF2C2F3
 */
global.N_0x34b9c4d86df2c2f3 = function (p0) {
	return _in(0x34b9c4d8, 0x6df2c2f3, p0, _r, _ri);
};

/**
 * _NETWORK_A* - _NETWORK_C*
 * ```
 * ```
 * NativeDB Introduced: v1232
 */
global.N_0x34bc1e79546ba543 = function (p0) {
	return _in(0x34bc1e79, 0x546ba543, p0);
};

/**
 * 0x34BCF6209B9668A7
 */
global.N_0x34bcf6209b9668a7 = function (trackIndex, p1) {
	return _in(0x34bcf620, 0x9b9668a7, trackIndex, p1);
};

/**
 * 0x34C11114887150FD
 */
global.N_0x34c11114887150fd = function (p0, p1) {
	return _in(0x34c11114, 0x887150fd, p0, p1);
};

/**
 * 0x34C9AF25649172D0
 */
global.N_0x34c9af25649172d0 = function (p0) {
	return _in(0x34c9af25, 0x649172d0, p0);
};

/**
 * 0x34EDDD59364AD74A
 */
global.N_0x34eddd59364ad74a = function (ped, p1) {
	return _in(0x34eddd59, 0x364ad74a, ped, _ii(p1) /* may be optional */);
};

/**
 * 0x350E9211074955AF
 */
global.N_0x350e9211074955af = function (p0, p1) {
	return _in(0x350e9211, 0x074955af, p0, p1, _r, _ri);
};

/**
 * 0x35165C658077CD0B
 */
global.N_0x35165c658077cd0b = function () {
	return _in(0x35165c65, 0x8077cd0b, _r, _ri);
};

/**
 * 0x351D71B8B72B858B
 */
global.N_0x351d71b8b72b858b = function (p0) {
	return _in(0x351d71b8, 0xb72b858b, p0, _r, _ri);
};

/**
 * 0x351F74ED6177EBE7
 */
global.N_0x351f74ed6177ebe7 = function () {
	return _in(0x351f74ed, 0x6177ebe7, _r, _ri);
};

/**
 * 0x354CA4DDDEEC397A
 */
global.N_0x354ca4dddeec397a = function (ped) {
	return _in(0x354ca4dd, 0xdeec397a, ped, _r, _ri);
};

/**
 * 0x356135B9B10A2A82
 */
global.N_0x356135b9b10a2a82 = function (gamerHandle) {
	return _in(0x356135b9, 0xb10a2a82, _ii(gamerHandle) /* may be optional */, _r);
};

/**
 * 0x358A1A751B335A11
 */
global.N_0x358a1a751b335a11 = function (p0) {
	return _in(0x358a1a75, 0x1b335a11, p0);
};

/**
 * NativeDB Introduced: v1311
 */
global.N_0x35a33783ec3c3448 = function (p0) {
	return _in(0x35a33783, 0xec3c3448, p0);
};

/**
 * 0x35B8C070E0C16E2F
 */
global.N_0x35b8c070e0c16e2f = function (p0, p1) {
	return _in(0x35b8c070, 0xe0c16e2f, p0, p1);
};

/**
 * p2: MINIGAME_GET_SECONDARY_VOICE_STRING
 * _SET_*
 */
global.N_0x3641fcd53e59b335 = function (mgmHandle, ped, secondaryVoiceString) {
	return _in(0x3641fcd5, 0x3e59b335, mgmHandle, ped, _ts(secondaryVoiceString));
};

/**
 * 0x36486AF7DA93A464
 */
global.N_0x36486af7da93a464 = function (p0) {
	return _in(0x36486af7, 0xda93a464, p0, _r, _ri);
};

/**
 * _RESET_PED_*
 */
global.N_0x36513affc703c60d = function (p0) {
	return _in(0x36513aff, 0xc703c60d, p0);
};

/**
 * _ADD* (_ADD_SHOCKING_EVENT_* ?)
 */
global.N_0x36d0f2ba2c0d9bde = function (entity, p1) {
	return _in(0x36d0f2ba, 0x2c0d9bde, entity, p1, _r, _ri);
};

/**
 * _RESET_PED_*
 */
global.N_0x370a973252741ac4 = function (ped, p1) {
	return _in(0x370a9732, 0x52741ac4, ped, p1);
};

/**
 * 0x370F57C47F68EBCA
 */
global.N_0x370f57c47f68ebca = function (p0) {
	return _in(0x370f57c4, 0x7f68ebca, p0, _r, _ri);
};

/**
 * Called if entity is in water and submerged level is larger than 1f. If CARRYING_FLAG_FORCE_ALLOW_WARP_TO_SAFE_GROUND_LOCATION is true, it gets disabled as well.
 * ```
 * ```
 * NativeDB Introduced: v1436
 */
global.N_0x371d179701d9c082 = function (entity) {
	return _in(0x371d1797, 0x01d9c082, entity);
};

/**
 * 0x3738B784DDD35CC6
 */
global.N_0x3738b784ddd35cc6 = function (player, p1, p2) {
	return _in(0x3738b784, 0xddd35cc6, player, p1, p2, _r);
};

/**
 * 0x378D3B1B11D9385B
 */
global.N_0x378d3b1b11d9385b = function (p0) {
	return _in(0x378d3b1b, 0x11d9385b, p0);
};

/**
 * 0x3799EFCC3C8CD5E1
 */
global.N_0x3799efcc3c8cd5e1 = function (p0) {
	return _in(0x3799efcc, 0x3c8cd5e1, p0, _r, _ri);
};

/**
 * Seems to return true if entity is burned / scorched
 * _GET_ENTITY_*
 */
global.N_0x37b01666bae8f7ef = function (entity) {
	return _in(0x37b01666, 0xbae8f7ef, entity, _r, _ri);
};

/**
 * 0x37CEB637BA3B1A47
 */
global.N_0x37ceb637ba3b1a47 = function (p0) {
	return _in(0x37ceb637, 0xba3b1a47, p0);
};

/**
 * 0x37D238BE69F7378A
 */
global.N_0x37d238be69f7378a = function (trackIndex) {
	return _in(0x37d238be, 0x69f7378a, trackIndex, _r);
};

/**
 * 0x380A2E353AD30917
 */
global.N_0x380a2e353ad30917 = function (p0, p1, p2) {
	return _in(0x380a2e35, 0x3ad30917, p0, p1, p2);
};

/**
 * 0x3813E11A378958A5
 */
global.N_0x3813e11a378958a5 = function (p0) {
	return _in(0x3813e11a, 0x378958a5, p0, _r, _ri);
};

/**
 * Used when checking if ped is in water
 */
global.N_0x383f64263f946e45 = function (entity, p2, ped, p4, p5) {
	return _in(0x383f6426, 0x3f946e45, _i, entity, p2, ped, p4, p5, _r);
};

/**
 * 0x3852237A3D9DF145
 */
global.N_0x3852237a3d9df145 = function (p0) {
	return _in(0x3852237a, 0x3d9df145, p0);
};

/**
 * NativeDB Introduced: v1311
 */
global.N_0x38640a8c2def011b = function (p0) {
	return _in(0x38640a8c, 0x2def011b, p0, _r, _ri);
};

/**
 * NativeDB Introduced: v1232
 */
global.N_0x388088bff3681189 = function (p0, p1) {
	return _in(0x388088bf, 0xf3681189, p0, p1, _r, _ri);
};

/**
 * 0x38C0C9CAE1544500
 */
global.N_0x38c0c9cae1544500 = function (p0) {
	return _in(0x38c0c9ca, 0xe1544500, _ch(p0));
};

/**
 * 0x38C2BF94D15F464D
 */
global.N_0x38c2bf94d15f464d = function (p0) {
	return _in(0x38c2bf94, 0xd15f464d, p0, _r, _ri);
};

/**
 * ANIMPOSTFX_*
 */
global.N_0x38d9d50f2085e9b3 = function (effectNameHash) {
	return _in(0x38d9d50f, 0x2085e9b3, _ch(effectNameHash));
};

/**
 * 0x38E7DD70A242D5CB
 */
global.N_0x38e7dd70a242d5cb = function (trackIndex, p1) {
	return _in(0x38e7dd70, 0xa242d5cb, trackIndex, p1);
};

/**
 * 0x3900491C0D61ED4B
 */
global.N_0x3900491c0d61ed4b = function (p0, p1) {
	return _in(0x3900491c, 0x0d61ed4b, p0, p1);
};

/**
 * _CLEAR*
 */
global.N_0x390710d2dafa6bff = function (player, p1) {
	return _in(0x390710d2, 0xdafa6bff, player, p1);
};

/**
 * 0x39073DA4EDDBC91D
 */
global.N_0x39073da4eddbc91d = function (p0) {
	return _in(0x39073da4, 0xeddbc91d, p0);
};

/**
 * 0x3946FC742AC305CD
 */
global.N_0x3946fc742ac305cd = function (player, ped, p2, x, y, z, targetEntity, p7) {
	return _in(0x3946fc74, 0x2ac305cd, player, ped, _ts(p2), _fv(x), _fv(y), _fv(z), targetEntity, _ts(p7));
};

/**
 * 0x39654E1F68B78287
 */
global.N_0x39654e1f68b78287 = function () {
	return _in(0x39654e1f, 0x68b78287, _r, _ri);
};

/**
 * 0x398066F893149856
 */
global.N_0x398066f893149856 = function (p0, p1, p2) {
	return _in(0x398066f8, 0x93149856, p0, p1, p2, _r, _ri);
};

/**
 * NativeDB Introduced: v1311
 */
global.N_0x39d8d7082bc34b72 = function (p0) {
	return _in(0x39d8d708, 0x2bc34b72, p0);
};

/**
 * 0x3A00D87B20A2A5E4
 */
global.N_0x3a00d87b20a2a5e4 = function (p0, p1) {
	return _in(0x3a00d87b, 0x20a2a5e4, p0, p1);
};

/**
 * 0x3A0B667ABFF87F6E
 */
global.N_0x3a0b667abff87f6e = function (p0, p1, p2) {
	return _in(0x3a0b667a, 0xbff87f6e, p0, p1, p2, _r);
};

/**
 * 0x3A3BE6B920525237
 */
global.N_0x3a3be6b920525237 = function (p0, p1) {
	return _in(0x3a3be6b9, 0x20525237, p0, p1);
};

/**
 * _SET_PED_MO*
 */
global.N_0x3a5697b80fed5ebe = function (ped, p1, p2, p3, p4) {
	return _in(0x3a5697b8, 0x0fed5ebe, ped, _fv(p1), _fv(p2), _fv(p3), _fv(p4));
};

/**
 * 0x3A66F1963B223F61
 */
global.N_0x3a66f1963b223f61 = function (p0) {
	return _in(0x3a66f196, 0x3b223f61, _ts(p0), _r);
};

/**
 * 0x3A77DAE8B4FD7586
 */
global.N_0x3a77dae8b4fd7586 = function (p0, p1) {
	return _in(0x3a77dae8, 0xb4fd7586, p0, p1);
};

/**
 * 0x3A8611BD7BDE84F7
 */
global.N_0x3a8611bd7bde84f7 = function (p0, p1) {
	return _in(0x3a8611bd, 0x7bde84f7, p0, p1);
};

/**
 * 0x3A87FDA8F1B6CDFB
 */
global.N_0x3a87fda8f1b6cdfb = function (p0, p1, p2) {
	return _in(0x3a87fda8, 0xf1b6cdfb, p0, p1, p2);
};

/**
 * 0x3AA0CDC63696166D
 */
global.N_0x3aa0cdc63696166d = function (p0) {
	return _in(0x3aa0cdc6, 0x3696166d, p0, _r);
};

/**
 * 0x3AB3A77672F6473F
 */
global.N_0x3ab3a77672f6473f = function (p0, p1, p2, p3) {
	return _in(0x3ab3a776, 0x72f6473f, p0, p1, p2, p3, _r, _rv);
};

/**
 * Called together with 0xE6C5E2125EB210C1 in R* Script medium_update
 */
global.N_0x3abfa128f5bf5a70 = function (trainTrack, junctionIndex, enabled) {
	return _in(0x3abfa128, 0xf5bf5a70, _ch(trainTrack), junctionIndex, enabled);
};

/**
 * Used in script function INIT_DEADEYE_SLOWDOWN
 */
global.N_0x3acac8832e77bc93 = function (player, p1) {
	return _in(0x3acac883, 0x2e77bc93, player, p1);
};

/**
 * 0x3ACC128510142B9D
 */
global.N_0x3acc128510142b9d = function (waypointRecording, x, y, z) {
	return _in(0x3acc1285, 0x10142b9d, _ts(waypointRecording), _fv(x), _fv(y), _fv(z), _r, _rf);
};

/**
 * Used in R* Script net_fetch (NET_FETCH_UPDATE_RECIPIENT_PROP_ILO_IN_COMBAT) and various SP Scripts
 * Params: p1 = 4/5/6, p5 = 40.f/100.f, coords = Player ped
 * Perhaps returns some distance (Clearing that the local player is able to use ILO while in combat because they are near the recipient but also near hated peds)
 * _GET_NUM_M* - _GET_PEDS_J*
 */
global.N_0x3acce14dfa6ba8c2 = function (ped, p1, x, y, z, p5, itemset) {
	return _in(0x3acce14d, 0xfa6ba8c2, ped, p1, _fv(x), _fv(y), _fv(z), _fv(p5), itemset, _r, _ri);
};

/**
 * 0x3AD212429E095EFB
 */
global.N_0x3ad212429e095efb = function (p0, p1) {
	return _in(0x3ad21242, 0x9e095efb, p0, p1);
};

/**
 * 0x3ADC71A66356D706
 */
global.N_0x3adc71a66356d706 = function () {
	return _in(0x3adc71a6, 0x6356d706, _r, _ri);
};

/**
 * 0x3AE451860F03CA8A
 */
global.N_0x3ae451860f03ca8a = function (p0, p1) {
	return _in(0x3ae45186, 0x0f03ca8a, p0, p1, _r, _ri);
};

/**
 * 0x3AEABAE3F3C7600C
 */
global.N_0x3aeabae3f3c7600c = function () {
	return _in(0x3aeabae3, 0xf3c7600c, _r);
};

/**
 * _IS_PED_R*
 */
global.N_0x3aec4a410ecaf30d = function (ped) {
	return _in(0x3aec4a41, 0x0ecaf30d, ped, _r);
};

/**
 * nullsub, doesn't do anything
 */
global.N_0x3b296934db026873 = function (p0, p1) {
	return _in(0x3b296934, 0xdb026873, p0, p1);
};

/**
 * 0x3B31732FADE5BAF3
 */
global.N_0x3b31732fade5baf3 = function () {
	return _in(0x3b31732f, 0xade5baf3, _r, _ri);
};

/**
 * Used in SP R* Scripts only
 * _IS_*
 */
global.N_0x3b393716c3fd8237 = function (ped) {
	return _in(0x3b393716, 0xc3fd8237, ped, _r);
};

/**
 * 0x3B8E3AD9677CE12B
 */
global.N_0x3b8e3ad9677ce12b = function (p0, p1, p2) {
	return _in(0x3b8e3ad9, 0x677ce12b, p0, p1, p2);
};

/**
 * 0x3BB84F812E052C90
 */
global.N_0x3bb84f812e052c90 = function (p0) {
	return _in(0x3bb84f81, 0x2e052c90, p0);
};

/**
 * 0x3BBEECC5B8F35318
 */
global.N_0x3bbeecc5b8f35318 = function (p0, p1) {
	return _in(0x3bbeecc5, 0xb8f35318, p0, p1);
};

/**
 * 0x3BF0767CF33FCC88
 */
global.N_0x3bf0767cf33fcc88 = function (entryId) {
	return _in(0x3bf0767c, 0xf33fcc88, _ch(entryId));
};

/**
 * 0x3C3C7B1B5EC08764
 */
global.N_0x3c3c7b1b5ec08764 = function () {
	return _in(0x3c3c7b1b, 0x5ec08764);
};

/**
 * 0x3C486E334520579D
 */
global.N_0x3c486e334520579d = function () {
	return _in(0x3c486e33, 0x4520579d);
};

/**
 * 0x3C4AE8506638C7E2
 */
global.N_0x3c4ae8506638c7e2 = function (p0, p1) {
	return _in(0x3c4ae850, 0x6638c7e2, p0, p1);
};

/**
 * _SET_PED_TA* - _SET_PED_TO_*
 */
global.N_0x3c529a827998f9b3 = function (ped, p1, p2) {
	return _in(0x3c529a82, 0x7998f9b3, ped, p1, p2);
};

/**
 * 0x3C7A9C2C953128FE
 */
global.N_0x3c7a9c2c953128fe = function (ped) {
	return _in(0x3c7a9c2c, 0x953128fe, ped);
};

/**
 * 0x3C8F74E8FE751614
 */
global.N_0x3c8f74e8fe751614 = function () {
	return _in(0x3c8f74e8, 0xfe751614);
};

/**
 * 0x3CA5E58C9731A16B
 */
global.N_0x3ca5e58c9731a16b = function (p0, p1) {
	return _in(0x3ca5e58c, 0x9731a16b, p0, p1);
};

/**
 * 0x3CAAD93FA5B9579A
 */
global.N_0x3caad93fa5b9579a = function (volume, p1, p2) {
	return _in(0x3caad93f, 0xa5b9579a, volume, p1, p2);
};

/**
 * 0x3CB8859F04763C78
 */
global.N_0x3cb8859f04763c78 = function (p0, p1) {
	return _in(0x3cb8859f, 0x04763c78, p0, p1, _r, _ri);
};

/**
 * Note: this native was added in build 1311.23
 * ```
 * ```
 * NativeDB Introduced: v1311
 */
global.N_0x3cbd6565d9c3b133 = function (p0, p1, p2) {
	return _in(0x3cbd6565, 0xd9c3b133, p0, p1, _fv(p2));
};

/**
 * 0x3D0BBCCF401B5FDB
 */
global.N_0x3d0bbccf401b5fdb = function () {
	return _in(0x3d0bbccf, 0x401b5fdb);
};

/**
 * 0x3D2674828A4E6B3C
 */
global.N_0x3d2674828a4e6b3c = function () {
	return _in(0x3d267482, 0x8a4e6b3c, _r);
};

/**
 * 0x3D86997A86FEEF0D
 */
global.N_0x3d86997a86feef0d = function (p0, p1) {
	return _in(0x3d86997a, 0x86feef0d, p0, p1);
};

/**
 * 0x3D9DA5C9EFD20D88
 */
global.N_0x3d9da5c9efd20d88 = function (p0, p1) {
	return _in(0x3d9da5c9, 0xefd20d88, p0, p1);
};

/**
 * 0x3D9F958834AB9C30
 */
global.N_0x3d9f958834ab9c30 = function (ped) {
	return _in(0x3d9f9588, 0x34ab9c30, ped, _r, _ri);
};

/**
 * ANIMPOSTFX_*
 */
global.N_0x3da7a10583a4bec0 = function () {
	return _in(0x3da7a105, 0x83a4bec0, _r);
};

/**
 * 0x3DAABE78A23694BC
 */
global.N_0x3daabe78a23694bc = function (p0, p1) {
	return _in(0x3daabe78, 0xa23694bc, p0, p1);
};

/**
 * NativeDB Introduced: v1436
 */
global.N_0x3df1a0a58498e209 = function (object, p1) {
	return _in(0x3df1a0a5, 0x8498e209, object, p1);
};

/**
 * 0x3DF7EE3A76185108
 */
global.N_0x3df7ee3a76185108 = function () {
	return _in(0x3df7ee3a, 0x76185108);
};

/**
 * 0x3E2616E7EA539480
 */
global.N_0x3e2616e7ea539480 = function (p0) {
	return _in(0x3e2616e7, 0xea539480, p0, _r, _ri);
};

/**
 * 0x3E4A16BC669E71B3
 */
global.N_0x3e4a16bc669e71b3 = function () {
	return _in(0x3e4a16bc, 0x669e71b3, _r);
};

/**
 * 0x3E74A687A73979C6
 */
global.N_0x3e74a687a73979c6 = function (p0) {
	return _in(0x3e74a687, 0xa73979c6, p0);
};

/**
 * Stadia only; always returns -1 on other platforms. p0 may be a BOOL.
 */
global.N_0x3e8cce6769db5f34 = function (p0) {
	return _in(0x3e8cce67, 0x69db5f34, p0, _r, _ri);
};

/**
 * 0x3E93DDDCBB6111E4
 */
global.N_0x3e93dddcbb6111e4 = function (p0, p1) {
	return _in(0x3e93dddc, 0xbb6111e4, _ts(p0), _fv(p1));
};

/**
 * 0x3E98AC9D8C56C62C
 */
global.N_0x3e98ac9d8c56c62c = function (p0) {
	return _in(0x3e98ac9d, 0x8c56c62c, p0);
};

/**
 * 0x3EB2791A1FBC8A42
 */
global.N_0x3eb2791a1fbc8a42 = function (statItem, p1) {
	return _in(0x3eb2791a, 0x1fbc8a42, _ch(statItem), p1);
};

/**
 * Used in Script Function DUELING_DID_PLAYER_DISARM_OPPONENT
 */
global.N_0x3ec28da1ffac9ddd = function (entity1, entity2, p2, p3) {
	return _in(0x3ec28da1, 0xffac9ddd, entity1, entity2, p2, p3, _r);
};

/**
 * 0x3EECAADAB0D9FE29
 */
global.N_0x3eecaadab0d9fe29 = function () {
	return _in(0x3eecaada, 0xb0d9fe29, _r, _ri);
};

/**
 * 0x3EFABB21E14A6BD1
 */
global.N_0x3efabb21e14a6bd1 = function (p0, p1, p2) {
	return _in(0x3efabb21, 0xe14a6bd1, p0, p1, p2);
};

/**
 * NativeDB Introduced: v1232
 */
global.N_0x3efed081b4834ba1 = function (p0) {
	return _in(0x3efed081, 0xb4834ba1, p0);
};

/**
 * 0x3F08C6163A4AB1D6
 */
global.N_0x3f08c6163a4ab1d6 = function (p0) {
	return _in(0x3f08c616, 0x3a4ab1d6, p0);
};

/**
 * 0x3F0ABAE38A0515AD
 */
global.N_0x3f0abae38a0515ad = function (p0, p1) {
	return _in(0x3f0abae3, 0x8a0515ad, p0, p1);
};

/**
 * 0x3F2EE18A3E294801
 */
global.N_0x3f2ee18a3e294801 = function (p0) {
	return _in(0x3f2ee18a, 0x3e294801, p0, _r, _ri);
};

/**
 * 0x3F4FD4BED07AB8C4
 */
global.N_0x3f4fd4bed07ab8c4 = function (p0) {
	return _in(0x3f4fd4be, 0xd07ab8c4, p0, _r, _ri);
};

/**
 * 0x3F6FD87D2030ADC6
 */
global.N_0x3f6fd87d2030adc6 = function () {
	return _in(0x3f6fd87d, 0x2030adc6, _r, _s);
};

/**
 * 0x3F8387DB1B9F31B7
 */
global.N_0x3f8387db1b9f31b7 = function (p0, p1) {
	return _in(0x3f8387db, 0x1b9f31b7, p0, p1, _r, _ri);
};

/**
 * 0x3FA09DD57B93C0DE
 */
global.N_0x3fa09dd57b93c0de = function (p0, p1, p2, p3, p4) {
	return _in(0x3fa09dd5, 0x7b93c0de, _ch(p0), p1, p2, p3, p4, _r);
};

/**
 * Used for script function PROCESS_PLAYER_HAT_EVENT
 * Returns requestId to be used with 0x13E7320C762F0477
 */
global.N_0x3fcbb5fcfd968698 = function (drawable, albedo, normal, material, p4) {
	return _in(0x3fcbb5fc, 0xfd968698, _ch(drawable), _ch(albedo), _ch(normal), _ch(material), p4, _r, _ri);
};

/**
 * NativeDB Introduced: v1232
 */
global.N_0x3fd91f1a148a0468 = function (collectableCategory, p1) {
	return _in(0x3fd91f1a, 0x148a0468, _ch(collectableCategory), p1, _r, _ri);
};

/**
 * 0x3FDBB99EFD8CE4AF
 */
global.N_0x3fdbb99efd8ce4af = function (p0, p1, p2) {
	return _in(0x3fdbb99e, 0xfd8ce4af, p0, p1, p2);
};

/**
 * Changes health bar around heart core icon
 * INITIALISE_NEW_ROLE - Applying Super Jump buffs: p1 = 10, p2 = 0.0f
 * INITIALISE_NEW_ROLE - Clearing up Super Jump buffs: p1 = 10, p2 = 1.0f
 * _SET_D*
 */
global.N_0x3fdcc1f8c17e303e = function (ped, p1, p2) {
	return _in(0x3fdcc1f8, 0xc17e303e, ped, p1, _fv(p2));
};

/**
 * 0x3FE4FB41EF7D2196
 */
global.N_0x3fe4fb41ef7d2196 = function (p0) {
	return _in(0x3fe4fb41, 0xef7d2196, p0);
};

/**
 * 0x3FEB770D8ED9047A
 */
global.N_0x3feb770d8ed9047a = function (p0) {
	return _in(0x3feb770d, 0x8ed9047a, p0, _r, _ri);
};

/**
 * 0x3FFCD7BBA074CC80
 */
global.N_0x3ffcd7bba074cc80 = function (ped, p1, p2, p3, p4, p5, p6, p7, p8) {
	return _in(0x3ffcd7bb, 0xa074cc80, ped, p1, p2, p3, p4, p5, p6, p7, p8);
};

/**
 * 0x3FFE60DD8A936551
 */
global.N_0x3ffe60dd8a936551 = function (p0, p1) {
	return _in(0x3ffe60dd, 0x8a936551, p0, p1, _r, _ri);
};

/**
 * Only used in R* SP Script spd_agnesdown1
 */
global.N_0x402e1a61d2587fcd = function (p0, x, y, z, p4, p5, heading) {
	return _in(0x402e1a61, 0xd2587fcd, p0, _fv(x), _fv(y), _fv(z), _fv(p4), _fv(p5), _fv(heading), _r);
};

/**
 * 0x404514D231DB27A0
 */
global.N_0x404514d231db27a0 = function (p0, p1) {
	return _in(0x404514d2, 0x31db27a0, p0, p1);
};

/**
 * _DISABLE_*
 */
global.N_0x4046493d2eeaca0e = function () {
	return _in(0x4046493d, 0x2eeaca0e);
};

/**
 * _SET_PED_A*
 */
global.N_0x405180b14da5a935 = function (ped, p1) {
	return _in(0x405180b1, 0x4da5a935, ped, p1);
};

/**
 * 0x405DDEFB1F531B18
 */
global.N_0x405ddefb1f531b18 = function (volume, p1, p2, p3) {
	return _in(0x405ddefb, 0x1f531b18, volume, p1, p2, p3);
};

/**
 * 0x406808610220405B
 */
global.N_0x406808610220405b = function (p0) {
	return _in(0x40680861, 0x0220405b, p0);
};

/**
 * 0x40851BCC33ACD9AB
 */
global.N_0x40851bcc33acd9ab = function (ped) {
	return _in(0x40851bcc, 0x33acd9ab, ped, _r);
};

/**
 * 0x408D1149C5E39C1E
 */
global.N_0x408d1149c5e39c1e = function (p0, p1) {
	return _in(0x408d1149, 0xc5e39c1e, p0, p1);
};

/**
 * _SET_SCENARIO_PED_* - _SET_SPAWNER_*
 */
global.N_0x40c3524d4ed83554 = function (groupId, p1) {
	return _in(0x40c3524d, 0x4ed83554, groupId, p1);
};

/**
 * _IS_PED_RE*
 */
global.N_0x40c9155af8bc13f3 = function (ped) {
	return _in(0x40c9155a, 0xf8bc13f3, ped, _r);
};

/**
 * 0x40CA665AB9D8D505
 */
global.N_0x40ca665ab9d8d505 = function (convoRoot, singleLineIndex) {
	return _in(0x40ca665a, 0xb9d8d505, _ts(convoRoot), singleLineIndex);
};

/**
 * 0x40F769D31A00D5A0
 */
global.N_0x40f769d31a00d5a0 = function (p0, p1) {
	return _in(0x40f769d3, 0x1a00d5a0, p0, p1, _r, _ri);
};

/**
 * Note: this native was added in build 1355.30
 * ```
 * ```
 * NativeDB Introduced: v1355
 */
global.N_0x40fedb13870042f1 = function () {
	return _in(0x40fedb13, 0x870042f1);
};

/**
 * 0x41323F4E0C4AE94B
 */
global.N_0x41323f4e0c4ae94b = function (p0, p1, p2, p3, p4, p5, p6) {
	return _in(0x41323f4e, 0x0c4ae94b, p0, p1, p2, p3, p4, p5, p6);
};

/**
 * 0x41365DB586CD9E8E
 */
global.N_0x41365db586cd9e8e = function (trackIndex, p1) {
	return _in(0x41365db5, 0x86cd9e8e, trackIndex, _fv(p1));
};

/**
 * 0x413697EC260AABBF
 */
global.N_0x413697ec260aabbf = function (p0, p1, p2) {
	return _in(0x413697ec, 0x260aabbf, p0, p1, p2);
};

/**
 * 0x4138EE36BC3DC0A7
 */
global.N_0x4138ee36bc3dc0a7 = function (p0, p1) {
	return _in(0x4138ee36, 0xbc3dc0a7, p0, p1, _r, _ri);
};

/**
 * 0x41452E8A3B9C0C4B
 */
global.N_0x41452e8a3b9c0c4b = function () {
	return _in(0x41452e8a, 0x3b9c0c4b, _r, _ri);
};

/**
 * 0x4161648394262FDF
 */
global.N_0x4161648394262fdf = function (p0, p1, p2, p3) {
	return _in(0x41616483, 0x94262fdf, p0, p1, p2, p3);
};

/**
 * NativeDB Introduced: v1232
 */
global.N_0x41b87a6495ee13dd = function (p0, p1, p2, p3, p4, p5, p6, p7, p8, p9) {
	return _in(0x41b87a64, 0x95ee13dd, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, _r, _ri);
};

/**
 * _SET_PED_IN*
 */
global.N_0x41c23a8e6b344867 = function (ped, p1) {
	return _in(0x41c23a8e, 0x6b344867, ped, _ts(p1));
};

/**
 * _SET_PED_*
 */
global.N_0x41d1331afad5a091 = function (ped, p1, p2) {
	return _in(0x41d1331a, 0xfad5a091, ped, p1, p2);
};

/**
 * 0x41E452A3C580D1A7
 */
global.N_0x41e452a3c580d1a7 = function () {
	return _in(0x41e452a3, 0xc580d1a7);
};

/**
 * _H*
 */
global.N_0x41f0b254ddf71473 = function (wagon) {
	return _in(0x41f0b254, 0xddf71473, wagon);
};

/**
 * Used in CREATE_BEZIER_BLOOD_TRAIL_OF_TYPE
 */
global.N_0x41f88a85a579a61d = function (p0) {
	return _in(0x41f88a85, 0xa579a61d, _fv(p0));
};

/**
 * 0x422179C7F6AD9304
 */
global.N_0x422179c7f6ad9304 = function (p0, gamerHandle) {
	return _in(0x422179c7, 0xf6ad9304, p0, _ii(gamerHandle) /* may be optional */);
};

/**
 * Note: this native was added in build 1355.30
 * ```
 * ```
 * NativeDB Introduced: v1355
 */
global.N_0x422f9d6d6c7bc290 = function (p0) {
	return _in(0x422f9d6d, 0x6c7bc290, p0);
};

/**
 * 0x423C6B1F3786D28B
 */
global.N_0x423c6b1f3786d28b = function (p0, p1) {
	return _in(0x423c6b1f, 0x3786d28b, p0, p1);
};

/**
 * 0x42404D57D621601A
 */
global.N_0x42404d57d621601a = function (p0) {
	return _in(0x42404d57, 0xd621601a, p0, _r, _ri);
};

/**
 * _SET_TRANSPORT_*
 */
global.N_0x4248ab2eeb3c75ad = function (transportEntity, ped, p2) {
	return _in(0x4248ab2e, 0xeb3c75ad, transportEntity, ped, p2);
};

/**
 * 0x427C919E9809E370
 */
global.N_0x427c919e9809e370 = function (trackIndex, p1) {
	return _in(0x427c919e, 0x9809e370, trackIndex, p1);
};

/**
 * 0x42A429CDFED6D99D
 */
global.N_0x42a429cdfed6d99d = function (p0, p1, p2) {
	return _in(0x42a429cd, 0xfed6d99d, p0, p1, p2);
};

/**
 * 0x42CFD8FD8CC8DC69
 */
global.N_0x42cfd8fd8cc8dc69 = function (p0, p1) {
	return _in(0x42cfd8fd, 0x8cc8dc69, p0, p1);
};

/**
 * 0x43037ABFE214A851
 */
global.N_0x43037abfe214a851 = function () {
	return _in(0x43037abf, 0xe214a851);
};

/**
 * 0x431240A58484D5D0
 */
global.N_0x431240a58484d5d0 = function (ped, toggle) {
	return _in(0x431240a5, 0x8484d5d0, ped, toggle);
};

/**
 * 0x4358BCF14C91761C
 */
global.N_0x4358bcf14c91761c = function (p0, p1, p2, p3, p4, p5, p6, p7, p8, p9) {
	return _in(0x4358bcf1, 0x4c91761c, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9);
};

/**
 * 0x43CF999205084B4B
 */
global.N_0x43cf999205084b4b = function () {
	return _in(0x43cf9992, 0x05084b4b);
};

/**
 * 0x43F35DDB2905D945
 */
global.N_0x43f35ddb2905d945 = function (p0, p1) {
	return _in(0x43f35ddb, 0x2905d945, p0, p1, _r, _ri);
};

/**
 * 0x443174C20B8B9E7F
 */
global.N_0x443174c20b8b9e7f = function (p0, p1, p2) {
	return _in(0x443174c2, 0x0b8b9e7f, p0, p1, p2);
};

/**
 * 0x445D7D8EA66E373E
 */
global.N_0x445d7d8ea66e373e = function (p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15) {
	return _in(0x445d7d8e, 0xa66e373e, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15);
};

/**
 * 0x4465C3D1475BD3FD
 */
global.N_0x4465c3d1475bd3fd = function (model) {
	return _in(0x4465c3d1, 0x475bd3fd, _ch(model));
};

/**
 * _CLEAR*
 */
global.N_0x44813684f72b563c = function (entity, p1) {
	return _in(0x44813684, 0xf72b563c, entity, p1);
};

/**
 * NativeDB Introduced: v1232
 */
global.N_0x448f2647dd6f2e27 = function (p0, p1, p2, p3, p4) {
	return _in(0x448f2647, 0xdd6f2e27, p0, p1, p2, p3, p4);
};

/**
 * 0x44A5EEF54F62E823
 */
global.N_0x44a5eef54f62e823 = function (p0) {
	return _in(0x44a5eef5, 0x4f62e823, p0, _r, _ri);
};

/**
 * 0x44C8F4908F1B2622
 */
global.N_0x44c8f4908f1b2622 = function (ped, ammoHash) {
	return _in(0x44c8f490, 0x8f1b2622, ped, _ch(ammoHash), _r);
};

/**
 * 0x450080DDEDB91258
 */
global.N_0x450080ddedb91258 = function (p0, p1) {
	return _in(0x450080dd, 0xedb91258, p0, p1);
};

/**
 * 0x450769C833D58844
 */
global.N_0x450769c833d58844 = function () {
	return _in(0x450769c8, 0x33d58844, _r, _ri);
};

/**
 * Returns the entity associated with the given network ID.
 */
global.N_0x4538ee7c321590bc = function (networkId) {
	return _in(0x4538ee7c, 0x321590bc, networkId, _r, _ri);
};

/**
 * 0x453D16D41FC51D3E
 */
global.N_0x453d16d41fc51d3e = function (p0) {
	return _in(0x453d16d4, 0x1fc51d3e, p0);
};

/**
 * 0x455156F47DC6B78C
 */
global.N_0x455156f47dc6b78c = function (p0) {
	return _in(0x455156f4, 0x7dc6b78c, p0);
};

/**
 * 0x455ECCA0715C507F
 */
global.N_0x455ecca0715c507f = function () {
	return _in(0x455ecca0, 0x715c507f);
};

/**
 * NativeDB Introduced: v1436
 */
global.N_0x457b16951ad77c1b = function (p0) {
	return _in(0x457b1695, 0x1ad77c1b, p0);
};

/**
 * 0x45E57FDD531C9477
 */
global.N_0x45e57fdd531c9477 = function (ped, toggle) {
	return _in(0x45e57fdd, 0x531c9477, ped, toggle);
};

/**
 * 0x45EF176B532CA851
 */
global.N_0x45ef176b532ca851 = function (p0, p1) {
	return _in(0x45ef176b, 0x532ca851, p0, p1);
};

/**
 * _SET_PED_IN*
 */
global.N_0x45fea6d5539bd474 = function (ped, p1) {
	return _in(0x45fea6d5, 0x539bd474, ped, _ts(p1));
};

/**
 * 0x461FCBDEB4D06717
 */
global.N_0x461fcbdeb4d06717 = function (ropeId, p1) {
	return _in(0x461fcbde, 0xb4d06717, ropeId, p1);
};

/**
 * 0x4642182A298187D0
 */
global.N_0x4642182a298187d0 = function (ped, p1, p3, p4) {
	return _in(0x4642182a, 0x298187d0, ped, p1, _i, p3, p4, _r, _ri);
};

/**
 * 0x4647842FE8F31C1E
 */
global.N_0x4647842fe8f31c1e = function (p0, p1) {
	return _in(0x4647842f, 0xe8f31c1e, p0, p1);
};

/**
 * 0x465F04F68AD38197
 */
global.N_0x465f04f68ad38197 = function (dictionary, shotName, duration) {
	return _in(0x465f04f6, 0x8ad38197, _ts(dictionary), _ts(shotName), duration, _r, _ri);
};

/**
 * eInventoryItem: CLOTHING_FANCY_SUIT, CLOTHING_GUNSLINGER_OUTFIT, etc.
 * Only used in R* SP Scripts
 */
global.N_0x46743bbfedbc859e = function (inventoryId, eInventoryItem, p2) {
	return _in(0x46743bbf, 0xedbc859e, inventoryId, _ch(eInventoryItem), p2);
};

/**
 * Returns vehicle (desired) speed
 * _COMPUTE_(VEHICLE_SPEED_USING_BLEND_RATIO?)*
 */
global.N_0x46bf2a810679d6e6 = function (ped, maxMoveBlendRatio) {
	return _in(0x46bf2a81, 0x0679d6e6, ped, _fv(maxMoveBlendRatio), _r, _rf);
};

/**
 * 0x46CBCF0E98A4E156
 */
global.N_0x46cbcf0e98a4e156 = function (p0, p1) {
	return _in(0x46cbcf0e, 0x98a4e156, p0, p1);
};

/**
 * _GET_NUM_*
 * ```
 * ```
 * NativeDB Introduced: v1232
 */
global.N_0x46d42883e873c1d7 = function (ped) {
	return _in(0x46d42883, 0xe873c1d7, ped, _r, _ri);
};

/**
 * Returns databindingEntryId to be used with 0x951847CEF3D829FF (p0)
 */
global.N_0x46db71883ee9d5af = function (data, stats, ped) {
	return _in(0x46db7188, 0x3ee9d5af, data, _ts(stats), _i, ped, _r, _ri);
};

/**
 * Params: p1 = 2; p2 = 3 in R* Script net_main_offline
 */
global.N_0x4791899615d70fa2 = function (player, p1, p2) {
	return _in(0x47918996, 0x15d70fa2, player, p1, p2);
};

/**
 * 0x4820A6939D7CEF28
 */
global.N_0x4820a6939d7cef28 = function (p0, p1) {
	return _in(0x4820a693, 0x9d7cef28, p0, p1);
};

/**
 * _ITEMDATABASE_GET_(A)* - _ITEMDATABASE_GET_(B)*
 */
global.N_0x48229ce0c7938237 = function (award) {
	return _in(0x48229ce0, 0xc7938237, _ch(award), _r, _ri);
};

/**
 * 0x4823F13A21F51964
 */
global.N_0x4823f13a21f51964 = function (p0, p1) {
	return _in(0x4823f13a, 0x21f51964, p0, p1, _r, _ri);
};

/**
 * Note: this native was added in build 1311.23
 * ```
 * ```
 * NativeDB Introduced: v1311
 */
global.N_0x4835413ea6f9c9cd = function (p0) {
	return _in(0x4835413e, 0xa6f9c9cd, p0, _r, _ri);
};

/**
 * 0x483D4E917B0D35A9
 */
global.N_0x483d4e917b0d35a9 = function (p0, p1) {
	return _in(0x483d4e91, 0x7b0d35a9, p0, p1);
};

/**
 * 0x485B05EF05B9AEE9
 */
global.N_0x485b05ef05b9aee9 = function (p0, p1) {
	return _in(0x485b05ef, 0x05b9aee9, p0, p1);
};

/**
 * NativeDB Introduced: v1232
 */
global.N_0x486c96a0dcd2bc92 = function (p0, p1) {
	return _in(0x486c96a0, 0xdcd2bc92, p0, p1, _r, _ri);
};

/**
 * 0x48D82C83987E18E4
 */
global.N_0x48d82c83987e18e4 = function (p0) {
	return _in(0x48d82c83, 0x987e18e4, p0, _r, _ri);
};

/**
 * NativeDB Introduced: v1311
 */
global.N_0x48fe0db54045b975 = function (p0, p1, p2, p3, p4, p5, p6) {
	return _in(0x48fe0db5, 0x4045b975, p0, p1, p2, p3, p4, p5, p6);
};

/**
 * 0x491439AEF410A2FC
 */
global.N_0x491439aef410a2fc = function (p0) {
	return _in(0x491439ae, 0xf410a2fc, p0);
};

/**
 * 0x495A04CAEC263AF8
 */
global.N_0x495a04caec263af8 = function (p0, p1) {
	return _in(0x495a04ca, 0xec263af8, p0, p1, _r, _ri);
};

/**
 * 0x49623BCFC3A3D829
 */
global.N_0x49623bcfc3a3d829 = function (player, muted) {
	return _in(0x49623bcf, 0xc3a3d829, player, muted, _r);
};

/**
 * 0x497A18F8F88AA9D8
 */
global.N_0x497a18f8f88aa9d8 = function () {
	return _in(0x497a18f8, 0xf88aa9d8);
};

/**
 * 0x49C44FE78A135A1D
 */
global.N_0x49c44fe78a135a1d = function (p0) {
	return _in(0x49c44fe7, 0x8a135a1d, p0);
};

/**
 * 0x49CF17A564918E8D
 */
global.N_0x49cf17a564918e8d = function () {
	return _in(0x49cf17a5, 0x64918e8d);
};

/**
 * 0x49DADFC4CD808B0A
 */
global.N_0x49dadfc4cd808b0a = function (p0, p1, p2) {
	return _in(0x49dadfc4, 0xcd808b0a, p0, p1, p2);
};

/**
 * 0x49F3241C28EBBFBC
 */
global.N_0x49f3241c28ebbfbc = function (p0) {
	return _in(0x49f3241c, 0x28ebbfbc, p0);
};

/**
 * 0x4A7D73989F52EB37
 */
global.N_0x4a7d73989f52eb37 = function (p0, p1) {
	return _in(0x4a7d7398, 0x9f52eb37, p0, p1);
};

/**
 * 0x4A8FEFC43FD8AC9B
 */
global.N_0x4a8fefc43fd8ac9b = function (p0, p1, p2) {
	return _in(0x4a8fefc4, 0x3fd8ac9b, p0, p1, p2);
};

/**
 * 0x4A98E228A936DBCC
 */
global.N_0x4a98e228a936dbcc = function (p0) {
	return _in(0x4a98e228, 0xa936dbcc, p0, _r, _ri);
};

/**
 * Called with flag 0 before 0xA6AC35DB4A7957A8 in net_entity_brain
 * _SET_SCRIPT_BRAIN*
 */
global.N_0x4aa5ea1edfb25786 = function (flag) {
	return _in(0x4aa5ea1e, 0xdfb25786, flag);
};

/**
 * 0x4AE07EBA3462C5D5
 */
global.N_0x4ae07eba3462c5d5 = function (p0, p1) {
	return _in(0x4ae07eba, 0x3462c5d5, p0, p1);
};

/**
 * 0x4AFC7288C77238B3
 */
global.N_0x4afc7288c77238b3 = function (p0) {
	return _in(0x4afc7288, 0xc77238b3, p0, _r, _ri);
};

/**
 * 0x4B0501A468B749F8
 */
global.N_0x4b0501a468b749f8 = function () {
	return _in(0x4b0501a4, 0x68b749f8);
};

/**
 * 0x4B101DBCC9482F2D
 */
global.N_0x4b101dbcc9482f2d = function (ped) {
	return _in(0x4b101dbc, 0xc9482f2d, ped, _r);
};

/**
 * 0x4B19F171450E0D4F
 */
global.N_0x4b19f171450e0d4f = function (ped) {
	return _in(0x4b19f171, 0x450e0d4f, ped, _r, _ri);
};

/**
 * Only used in R* SP Script coachrobberies
 * _SET_S*
 */
global.N_0x4b2b1a891d437ca7 = function (p0) {
	return _in(0x4b2b1a89, 0x1d437ca7, _fv(p0));
};

/**
 * 0x4B6C9A43F7D9109B
 */
global.N_0x4b6c9a43f7d9109b = function (p0, p1) {
	return _in(0x4b6c9a43, 0xf7d9109b, p0, p1);
};

/**
 * Used in Script Function CUTSCENE_MANAGE_SKIP
 * _CHECK_* (?)
 */
global.N_0x4b85b3cf91972222 = function (animScene) {
	return _in(0x4b85b3cf, 0x91972222, animScene, _r);
};

/**
 * 0x4BA972D0E5AD8122
 */
global.N_0x4ba972d0e5ad8122 = function (p0, p1) {
	return _in(0x4ba972d0, 0xe5ad8122, p0, p1);
};

/**
 * Used in CREATE_BEZIER_BLOOD_TRAIL_OF_TYPE
 */
global.N_0x4bd66b4e3427689b = function (p0) {
	return _in(0x4bd66b4e, 0x3427689b, _ts(p0));
};

/**
 * 0x4BDEBEA5702B97A9
 */
global.N_0x4bdebea5702b97a9 = function (p0, p1, p2, p3, p4, p5) {
	return _in(0x4bdebea5, 0x702b97a9, p0, p1, p2, p3, p4, p5);
};

/**
 * 0x4BE3EC91C01F0FE8
 */
global.N_0x4be3ec91c01f0fe8 = function () {
	return _in(0x4be3ec91, 0xc01f0fe8);
};

/**
 * 0x4C05B42A8D937796
 */
global.N_0x4c05b42a8d937796 = function () {
	return _in(0x4c05b42a, 0x8d937796);
};

/**
 * Params: p1 usually true in R* Scripts
 * _SET_DRAFT_VEHICLE_*
 */
global.N_0x4c60c333f9cca2b6 = function (vehicle, p1) {
	return _in(0x4c60c333, 0xf9cca2b6, vehicle, p1);
};

/**
 * 0x4D14AF567FC02885
 */
global.N_0x4d14af567fc02885 = function (p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10) {
	return _in(0x4d14af56, 0x7fc02885, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10);
};

/**
 * _SET_SPECIAL_ABILITY_*
 */
global.N_0x4d1699543b1c023c = function (player, p1) {
	return _in(0x4d169954, 0x3b1c023c, player, _fv(p1));
};

/**
 * 0x4D2F46D1B28D90FB
 */
global.N_0x4d2f46d1b28d90fb = function (p0, p1) {
	return _in(0x4d2f46d1, 0xb28d90fb, p0, p1);
};

/**
 * 0x4D5C9CC7E7E23E09
 */
global.N_0x4d5c9cc7e7e23e09 = function () {
	return _in(0x4d5c9cc7, 0xe7e23e09);
};

/**
 * 0x4D8611DFE1126478
 */
global.N_0x4d8611dfe1126478 = function (p0) {
	return _in(0x4d8611df, 0xe1126478, p0, _r, _ri);
};

/**
 * Only used in R* SP Scripts
 */
global.N_0x4dac398297981b87 = function (p0) {
	return _in(0x4dac3982, 0x97981b87, p0, _r);
};

/**
 * 0x4DBC4873707E8FD6
 */
global.N_0x4dbc4873707e8fd6 = function (p0, p1, p2, p3) {
	return _in(0x4dbc4873, 0x707e8fd6, p0, p1, p2, p3);
};

/**
 * 0x4E42CA5BCD45444A
 */
global.N_0x4e42ca5bcd45444a = function () {
	return _in(0x4e42ca5b, 0xcd45444a);
};

/**
 * Only used in R* Script net_char_creator
 */
global.N_0x4e463a3cdefffe96 = function () {
	return _in(0x4e463a3c, 0xdefffe96);
};

/**
 * 0x4E68C7EF706DF35D
 */
global.N_0x4e68c7ef706df35d = function (ped, x, y, z, p4, relationshipGroup) {
	return _in(0x4e68c7ef, 0x706df35d, ped, _fv(x), _fv(y), _fv(z), _fv(p4), _ch(relationshipGroup));
};

/**
 * 0x4E806A395D43A458
 */
global.N_0x4e806a395d43a458 = function (p0) {
	return _in(0x4e806a39, 0x5d43a458, p0);
};

/**
 * Returns feedMessage
 */
global.N_0x4e88a65968a55c78 = function (p1) {
	return _in(0x4e88a659, 0x68a55c78, _i, p1, _r, _ri);
};

/**
 * _SET_PED_A*
 */
global.N_0x4ec4ea2f72b36358 = function (ped, p1) {
	return _in(0x4ec4ea2f, 0x72b36358, ped, p1);
};

/**
 * 0x4EC8BE63B8A5D4EF
 */
global.N_0x4ec8be63b8a5d4ef = function (player, p1) {
	return _in(0x4ec8be63, 0xb8a5d4ef, player, p1);
};

/**
 * 0x4F0D2256AAE94EDA
 */
global.N_0x4f0d2256aae94eda = function (p0) {
	return _in(0x4f0d2256, 0xaae94eda, p0);
};

/**
 * 0x4F27603E44A8E4C0
 */
global.N_0x4f27603e44a8e4c0 = function (ped, p1, p2) {
	return _in(0x4f27603e, 0x44a8e4c0, ped, p1, p2);
};

/**
 * Only used in R* Script net_char_creator
 */
global.N_0x4f2d5fa23db992de = function () {
	return _in(0x4f2d5fa2, 0x3db992de);
};

/**
 * 0x4F57397388E1DFF8
 */
global.N_0x4f57397388e1dff8 = function () {
	return _in(0x4f573973, 0x88e1dff8);
};

/**
 * Only used in R* Script shop_harriet
 * _SET_PED_F*
 * ```
 * ```
 * NativeDB Introduced: v1311
 */
global.N_0x4f63433ce3c08230 = function (ped, p1) {
	return _in(0x4f63433c, 0xe3c08230, ped, p1);
};

/**
 * 0x4F81EAD1DE8FA19B
 */
global.N_0x4f81ead1de8fa19b = function (persChar) {
	return _in(0x4f81ead1, 0xde8fa19b, persChar);
};

/**
 * 0x4F9E3ED7617123AC
 */
global.N_0x4f9e3ed7617123ac = function (p0) {
	return _in(0x4f9e3ed7, 0x617123ac, p0, _r, _ri);
};

/**
 * 0x4FB5869E2B37FC00
 */
global.N_0x4fb5869e2b37fc00 = function () {
	return _in(0x4fb5869e, 0x2b37fc00);
};

/**
 * p1: AMB_ANN_COAL_CHUTE_DIVE, AMB_ANN_COAL_CHUTE
 * p2: EMIT
 * p3: either 0.0f or 1.0f
 */
global.N_0x4fb67d172c4476f3 = function (entity, p1, p2, p3) {
	return _in(0x4fb67d17, 0x2c4476f3, entity, _ts(p1), _ts(p2), _fv(p3));
};

/**
 * 0x4FCBCC0584CD08E9
 */
global.N_0x4fcbcc0584cd08e9 = function (p0) {
	return _in(0x4fcbcc05, 0x84cd08e9, _ch(p0));
};

/**
 * 0x503941F65DBA24EC
 */
global.N_0x503941f65dba24ec = function (p0) {
	return _in(0x503941f6, 0x5dba24ec, p0);
};

/**
 * 0x5060FA977CEA4455
 */
global.N_0x5060fa977cea4455 = function () {
	return _in(0x5060fa97, 0x7cea4455, _r, _ri);
};

/**
 * Only used in R* SP Scripts
 * Params: p4 = 1.0f - 30.0f
 */
global.N_0x508f5053e3f6f0c4 = function (ped, x, y, z, p4) {
	return _in(0x508f5053, 0xe3f6f0c4, ped, _fv(x), _fv(y), _fv(z), _fv(p4), _r);
};

/**
 * 0x50AA09A0DA64E73C
 */
global.N_0x50aa09a0da64e73c = function (p0, p1, p2, p3, p4, p5, p6) {
	return _in(0x50aa09a0, 0xda64e73c, p0, p1, p2, p3, p4, p5, p6);
};

/**
 * 0x51139D8C17B16FBC
 */
global.N_0x51139d8c17b16fbc = function (p0) {
	return _in(0x51139d8c, 0x17b16fbc, p0, _r, _ri);
};

/**
 * Hardcoded to return zero.
 */
global.N_0x5133cf81924f1129 = function () {
	return _in(0x5133cf81, 0x924f1129, _r, _ri);
};

/**
 * 0x517D01BF27B682D1
 */
global.N_0x517d01bf27b682d1 = function (ped, entity, p2, p3, p4, p5, p6) {
	return _in(0x517d01bf, 0x27b682d1, ped, entity, _fv(p2), _fv(p3), _fv(p4), _fv(p5), p6);
};

/**
 * 0x51951DE06C0D1C40
 */
global.N_0x51951de06c0d1c40 = function (player, type) {
	return _in(0x51951de0, 0x6c0d1c40, player, type);
};

/**
 * NativeDB Introduced: v1355
 */
global.N_0x519928df02eb5101 = function (p0) {
	return _in(0x519928df, 0x02eb5101, p0);
};

/**
 * 0x51C5EF47086AA0D7
 */
global.N_0x51c5ef47086aa0d7 = function () {
	return _in(0x51c5ef47, 0x086aa0d7, _r, _ri);
};

/**
 * 0x51C7694E140FAE43
 */
global.N_0x51c7694e140fae43 = function (p0) {
	return _in(0x51c7694e, 0x140fae43, p0, _r, _ri);
};

/**
 * 0x51E52C9687FCDEEC
 */
global.N_0x51e52c9687fcdeec = function (p0, p1, p2, p3, p4, p5, p6) {
	return _in(0x51e52c96, 0x87fcdeec, p0, p1, p2, p3, p4, p5, p6, _r, _ri);
};

/**
 * 0x5203038FF8BAE577
 */
global.N_0x5203038ff8bae577 = function (ped, p1, p2) {
	return _in(0x5203038f, 0xf8bae577, ped, p1, p2, _r);
};

/**
 * 0x5217B7B6DB78E1F3
 */
global.N_0x5217b7b6db78e1f3 = function (p0, p1, p2, p3, p4) {
	return _in(0x5217b7b6, 0xdb78e1f3, p0, p1, p2, p3, p4);
};

/**
 * 0x52250B92EA70BE3D
 */
global.N_0x52250b92ea70be3d = function (p0) {
	return _in(0x52250b92, 0xea70be3d, p0, _r, _ri);
};

/**
 * 0x522F74636DF10201
 */
global.N_0x522f74636df10201 = function (player, itemSet) {
	return _in(0x522f7463, 0x6df10201, player, itemSet);
};

/**
 * 0x522FA3F490E2F7AC
 */
global.N_0x522fa3f490e2f7ac = function (ropeId, p1, p2) {
	return _in(0x522fa3f4, 0x90e2f7ac, ropeId, p1, p2);
};

/**
 * 0x5230BF34EB0EC645
 */
global.N_0x5230bf34eb0ec645 = function (p0) {
	return _in(0x5230bf34, 0xeb0ec645, p0);
};

/**
 * 0x52572B331E693AED
 */
global.N_0x52572b331e693aed = function (p0, p1, p2) {
	return _in(0x52572b33, 0x1e693aed, p0, p1, p2);
};

/**
 * 0x5288B7F0690F7C1F
 */
global.N_0x5288b7f0690f7c1f = function (p0) {
	return _in(0x5288b7f0, 0x690f7c1f, p0, _r, _ri);
};

/**
 * 0x52A24D8A1DA89658
 */
global.N_0x52a24d8a1da89658 = function (ped, p1, p2) {
	return _in(0x52a24d8a, 0x1da89658, ped, p1, p2);
};

/**
 * NativeDB Introduced: v1311
 */
global.N_0x52c68e92d6e23add = function (p0) {
	return _in(0x52c68e92, 0xd6e23add, p0);
};

/**
 * 0x53187E563F938E76
 */
global.N_0x53187e563f938e76 = function (p0) {
	return _in(0x53187e56, 0x3f938e76, p0, _r, _ri);
};

/**
 * 0x535A66AAD2BF68F9
 */
global.N_0x535a66aad2bf68f9 = function (p0, p1) {
	return _in(0x535a66aa, 0xd2bf68f9, p0, p1);
};

/**
 * 0x53764309C4618087
 */
global.N_0x53764309c4618087 = function (p0) {
	return _in(0x53764309, 0xc4618087, p0, _r, _ri);
};

/**
 * NativeDB Introduced: v1436
 */
global.N_0x537a0555f62ca01a = function (p0, p1) {
	return _in(0x537a0555, 0xf62ca01a, _ch(p0), p1, _r);
};

/**
 * 0x53A94294FDDCF98C
 */
global.N_0x53a94294fddcf98c = function (p0, p1) {
	return _in(0x53a94294, 0xfddcf98c, p0, p1, _r, _ri);
};

/**
 * 0x53BA7D96B9A421D9
 */
global.N_0x53ba7d96b9a421d9 = function (p0, p1) {
	return _in(0x53ba7d96, 0xb9a421d9, p0, p1);
};

/**
 * 0x53CE46C01A089DA1
 */
global.N_0x53ce46c01a089da1 = function (prompt, p1) {
	return _in(0x53ce46c0, 0x1a089da1, prompt, p1);
};

/**
 * 0x53D05D60E5F5B40C
 */
global.N_0x53d05d60e5f5b40c = function (p0, p1, p2, p3) {
	return _in(0x53d05d60, 0xe5f5b40c, p0, p1, p2, p3);
};

/**
 * 0x53E4D0C079CA6855
 */
global.N_0x53e4d0c079ca6855 = function (handle) {
	return _in(0x53e4d0c0, 0x79ca6855, handle, _r, _ri);
};

/**
 * NativeDB Introduced: v1355
 */
global.N_0x54d3cd482742c482 = function (animal, p2) {
	return _in(0x54d3cd48, 0x2742c482, animal, _fv(p2));
};

/**
 * 0x54F4D7B6670FBB5A
 */
global.N_0x54f4d7b6670fbb5a = function (p0, p1, p2, p3, p4) {
	return _in(0x54f4d7b6, 0x670fbb5a, p0, p1, p2, p3, p4, _r, _ri);
};

/**
 * _HAS_PED_*
 */
global.N_0x550cb89dd7f4fa3d = function (ped1, ped2) {
	return _in(0x550cb89d, 0xd7f4fa3d, ped1, ped2, _r);
};

/**
 * UPDATE_PICKUP_COLLECTIBLE: set Eagle Eye fountain
 * _J*, _K*, _L*
 */
global.N_0x553d67295ddd2309 = function (entity) {
	return _in(0x553d6729, 0x5ddd2309, entity);
};

/**
 * 0x55546004A244302A
 */
global.N_0x55546004a244302a = function (p0, p1) {
	return _in(0x55546004, 0xa244302a, p0, p1);
};

/**
 * NativeDB Introduced: v1232
 */
global.N_0x559fc1d310813031 = function (p0, p1, p2, p3, p4, p5, p6, p7, p8, p9) {
	return _in(0x559fc1d3, 0x10813031, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, _r, _ri);
};

/**
 * NativeDB Introduced: v1311
 */
global.N_0x56076667e7c2dcd6 = function (p0, p1) {
	return _in(0x56076667, 0xe7c2dcd6, p0, p1);
};

/**
 * _CLEAR_A*
 */
global.N_0x5639fbea922788da = function (transportEntity) {
	return _in(0x5639fbea, 0x922788da, transportEntity);
};

/**
 * 0x564552C6AF1EEAB1
 */
global.N_0x564552c6af1eeab1 = function () {
	return _in(0x564552c6, 0xaf1eeab1);
};

/**
 * 0x5651516D947ABC53
 */
global.N_0x5651516d947abc53 = function () {
	return _in(0x5651516d, 0x947abc53);
};

/**
 * 0x569ABC36E28DDEAA
 */
global.N_0x569abc36e28ddeaa = function () {
	return _in(0x569abc36, 0xe28ddeaa);
};

/**
 * Only used in R* SP Script beat_rat_infestation
 * Params: p0 = value returned by 0x18E93EBFC1FCFA48
 */
global.N_0x56b3410626a473e7 = function (p0) {
	return _in(0x56b34106, 0x26a473e7, p0);
};

/**
 * 0x56E0735D6273B227
 */
global.N_0x56e0735d6273b227 = function (p0, p1) {
	return _in(0x56e0735d, 0x6273b227, p0, p1);
};

/**
 * 0x56E4BAD93D33453C
 */
global.N_0x56e4bad93d33453c = function (p0, p1) {
	return _in(0x56e4bad9, 0x3d33453c, p0, p1, _r, _ri);
};

/**
 * _IS_PLAYER_D* - _IS_PLAYER_F*
 * ```
 * ```
 * NativeDB Introduced: v1232
 */
global.N_0x57028fd99886f6f9 = function () {
	return _in(0x57028fd9, 0x9886f6f9, _r);
};

/**
 * Used in script function INIT_DEADEYE_SLOWDOWN
 */
global.N_0x570a13a4ca2799bb = function (player, p1) {
	return _in(0x570a13a4, 0xca2799bb, player, p1);
};

/**
 * 0x5744562E973E33CD
 */
global.N_0x5744562e973e33cd = function (p0, p1, p2, p3, p4) {
	return _in(0x5744562e, 0x973e33cd, p0, p1, p2, p3, p4, _r, _ri);
};

/**
 * 0x5759160AC17C13CE
 */
global.N_0x5759160ac17c13ce = function (message) {
	return _in(0x5759160a, 0xc17c13ce, _i, _ts(message));
};

/**
 * _IS_PED_C* - _IS_PED_D*
 */
global.N_0x577c60ba06d0ea64 = function (ped) {
	return _in(0x577c60ba, 0x06d0ea64, ped, _r);
};

/**
 * 0x578907F59BA01B6D
 */
global.N_0x578907f59ba01b6d = function (p0) {
	return _in(0x578907f5, 0x9ba01b6d, p0, _r, _ri);
};

/**
 * 0x578E2FA64E847C60
 */
global.N_0x578e2fa64e847c60 = function (popZone, p1) {
	return _in(0x578e2fa6, 0x4e847c60, popZone, p1);
};

/**
 * 0x57C242543B7B8FB9
 */
global.N_0x57c242543b7b8fb9 = function (p0, p1) {
	return _in(0x57c24254, 0x3b7b8fb9, p0, p1);
};

/**
 * 0x57D9991DC1334151
 */
global.N_0x57d9991dc1334151 = function (p0) {
	return _in(0x57d9991d, 0xc1334151, p0, _r, _ri);
};

/**
 * _SET_PED_M*
 */
global.N_0x57f35552e771be9d = function (ped, p1) {
	return _in(0x57f35552, 0xe771be9d, ped, p1);
};

/**
 * 0x5801BE2DF2AF07EC
 */
global.N_0x5801be2df2af07ec = function (p0) {
	return _in(0x5801be2d, 0xf2af07ec, p0);
};

/**
 * _IS_SOUND_RUNNING(?)
 */
global.N_0x580d71dfe0088e34 = function (audioName, audioRef) {
	return _in(0x580d71df, 0xe0088e34, _ts(audioName), _ts(audioRef), _r);
};

/**
 * 0x580F34C726387226
 */
global.N_0x580f34c726387226 = function (p0, p1) {
	return _in(0x580f34c7, 0x26387226, p0, p1, _r, _ri);
};

/**
 * 0x58125B691F6827D5
 */
global.N_0x58125b691f6827d5 = function (proximity) {
	return _in(0x58125b69, 0x1f6827d5, _fv(proximity));
};

/**
 * _REMOVE_DECALS_* - _REMOVE_FORCED*
 */
global.N_0x5826efd6d73c4de5 = function (entity) {
	return _in(0x5826efd6, 0xd73c4de5, entity);
};

/**
 * 0x5827BE85A87B073D
 */
global.N_0x5827be85a87b073d = function (p0) {
	return _in(0x5827be85, 0xa87b073d, p0);
};

/**
 * 0x582F73ACFE969571
 */
global.N_0x582f73acfe969571 = function (p0, p1, p2) {
	return _in(0x582f73ac, 0xfe969571, p0, p1, p2, _r, _ri);
};

/**
 * 0x583AE9AF9CEE0958
 */
global.N_0x583ae9af9cee0958 = function (vehicle, x, y, z) {
	return _in(0x583ae9af, 0x9cee0958, vehicle, _fv(x), _fv(y), _fv(z), _r);
};

/**
 * 0x58425FCA3D3A2D15
 */
global.N_0x58425fca3d3a2d15 = function (p0) {
	return _in(0x58425fca, 0x3d3a2d15, p0, _r, _ri);
};

/**
 * 0x58521E6DCDE97D74
 */
global.N_0x58521e6dcde97d74 = function (p0, p1, p2) {
	return _in(0x58521e6d, 0xcde97d74, p0, p1, p2);
};

/**
 * 0x585CE159DB46FADB
 */
global.N_0x585ce159db46fadb = function (p0, p1) {
	return _in(0x585ce159, 0xdb46fadb, p0, p1);
};

/**
 * 0x58D32261AE0F0843
 */
global.N_0x58d32261ae0f0843 = function (ped, boneId, p2, p3, p4, p5, p6, p7, p8) {
	return _in(0x58d32261, 0xae0f0843, ped, boneId, _fv(p2), _fv(p3), _fv(p4), _fv(p5), _fv(p6), _fv(p7), _ts(p8));
};

/**
 * 0x58D378AF2C8765B7
 */
global.N_0x58d378af2c8765b7 = function (p0) {
	return _in(0x58d378af, 0x2c8765b7, p0, _r);
};

/**
 * 0x58DE624FA7FB0E7F
 */
global.N_0x58de624fa7fb0e7f = function (p0) {
	return _in(0x58de624f, 0xa7fb0e7f, p0, _r, _ri);
};

/**
 * 0x58E0B01D45CA7357
 */
global.N_0x58e0b01d45ca7357 = function (p0) {
	return _in(0x58e0b01d, 0x45ca7357, p0);
};

/**
 * NativeDB Introduced: v1232
 */
global.N_0x5952dfa38fa529fe = function () {
	return _in(0x5952dfa3, 0x8fa529fe, _r, _ri);
};

/**
 * 0x59872EA4CBD11C56
 */
global.N_0x59872ea4cbd11c56 = function (p0, p1, p2, p3, p4, p5, p6, p7, p8) {
	return _in(0x59872ea4, 0xcbd11c56, p0, p1, p2, p3, p4, p5, p6, p7, p8, _r, _ri);
};

/**
 * 0x59AE5CA4FFB4E378
 */
global.N_0x59ae5ca4ffb4e378 = function (p0, p1) {
	return _in(0x59ae5ca4, 0xffb4e378, p0, p1, _r, _ri);
};

/**
 * 0x59AEA4DC640814B9
 */
global.N_0x59aea4dc640814b9 = function (p0, p1) {
	return _in(0x59aea4dc, 0x640814b9, p0, p1);
};

/**
 * 0x59C7AD6FEA2AC449
 */
global.N_0x59c7ad6fea2ac449 = function (p0, p1, p2, p3) {
	return _in(0x59c7ad6f, 0xea2ac449, p0, p1, p2, p3);
};

/**
 * 0x5A13586A9447931F
 */
global.N_0x5a13586a9447931f = function (p0) {
	return _in(0x5a13586a, 0x9447931f, p0, _r);
};

/**
 * _C*
 */
global.N_0x5a1a929c8b729b4a = function (ped) {
	return _in(0x5a1a929c, 0x8b729b4a, ped);
};

/**
 * 0x5A3B54ADDF5472A3
 */
global.N_0x5a3b54addf5472a3 = function (p0) {
	return _in(0x5a3b54ad, 0xdf5472a3, _ts(p0), _r, _ri);
};

/**
 * 0x5A4E1A41E3A02AD0
 */
global.N_0x5a4e1a41e3a02ad0 = function (p0, p1, p2) {
	return _in(0x5a4e1a41, 0xe3a02ad0, p0, p1, p2);
};

/**
 * 0x5A695BD328586B44
 */
global.N_0x5a695bd328586b44 = function (p0, p1) {
	return _in(0x5a695bd3, 0x28586b44, p0, p1, _r, _ri);
};

/**
 * 0x5A79220F6D38D7C3
 */
global.N_0x5a79220f6d38d7c3 = function (p0) {
	return _in(0x5a79220f, 0x6d38d7c3, p0, _r, _ri);
};

/**
 * 0x5A91BCEF74944E93
 */
global.N_0x5a91bcef74944e93 = function (player, p1) {
	return _in(0x5a91bcef, 0x74944e93, player, _fv(p1));
};

/**
 * 0x5A989B7EE3672A56
 */
global.N_0x5a989b7ee3672a56 = function (p0, p1) {
	return _in(0x5a989b7e, 0xe3672a56, p0, p1);
};

/**
 * 0x5AADC7BBBB1BCEEB
 */
global.N_0x5aadc7bbbb1bceeb = function (p0, p1, p2, p3, p4) {
	return _in(0x5aadc7bb, 0xbb1bceeb, p0, p1, p2, p3, p4);
};

/**
 * Closes the the binocular scaleform
 */
global.N_0x5ac6e0fa028369de = function () {
	return _in(0x5ac6e0fa, 0x028369de);
};

/**
 * 0x5AE0CB5F35F034FD
 */
global.N_0x5ae0cb5f35f034fd = function (p0, p1, p2, p3, p4, p5, p6, p7) {
	return _in(0x5ae0cb5f, 0x35f034fd, p0, p1, p2, p3, p4, p5, p6, p7);
};

/**
 * _SET_C*
 */
global.N_0x5af24ca9c974e51a = function (ped1, ped2) {
	return _in(0x5af24ca9, 0xc974e51a, ped1, ped2);
};

/**
 * 0x5B235F24472F2C3B
 */
global.N_0x5b235f24472f2c3b = function (p0, p1) {
	return _in(0x5b235f24, 0x472f2c3b, p0, p1, _r, _ri);
};

/**
 * 0x5B4A8121A47D844D
 */
global.N_0x5b4a8121a47d844d = function (p0) {
	return _in(0x5b4a8121, 0xa47d844d, p0, _r, _ri);
};

/**
 * 0x5B637D6F3B67716A
 */
global.N_0x5b637d6f3b67716a = function (p0) {
	return _in(0x5b637d6f, 0x3b67716a, p0);
};

/**
 * 0x5B68D0007D9C92EB
 */
global.N_0x5b68d0007d9c92eb = function (p0, p1) {
	return _in(0x5b68d000, 0x7d9c92eb, p0, p1);
};

/**
 * 0x5B73975B4F12F7F3
 */
global.N_0x5b73975b4f12f7f3 = function (p0, p1, p2, p3, p4) {
	return _in(0x5b73975b, 0x4f12f7f3, p0, p1, p2, p3, p4);
};

/**
 * 0x5B7B97E99F84138B
 */
global.N_0x5b7b97e99f84138b = function (p0) {
	return _in(0x5b7b97e9, 0x9f84138b, p0, _r, _ri);
};

/**
 * 0x5B9C6AC118FD4774
 */
global.N_0x5b9c6ac118fd4774 = function () {
	return _in(0x5b9c6ac1, 0x18fd4774);
};

/**
 * 0x5BB04BC74A474B47
 */
global.N_0x5bb04bc74a474b47 = function (p0, p1) {
	return _in(0x5bb04bc7, 0x4a474b47, p0, p1);
};

/**
 * 0x5BC885EBD75FAA7D
 */
global.N_0x5bc885ebd75faa7d = function (p0, p1) {
	return _in(0x5bc885eb, 0xd75faa7d, p0, p1);
};

/**
 * 0x5BD7457221CC5FF4
 */
global.N_0x5bd7457221cc5ff4 = function (p0, p1) {
	return _in(0x5bd74572, 0x21cc5ff4, p0, p1);
};

/**
 * _IS_PED_B* - _IS_PED_C*
 */
global.N_0x5bf0b9d9a8e227a0 = function (ped) {
	return _in(0x5bf0b9d9, 0xa8e227a0, ped, _r);
};

/**
 * 0x5C2E5E3CAEEB1F58
 */
global.N_0x5c2e5e3caeeb1f58 = function (p0, p1, p2) {
	return _in(0x5c2e5e3c, 0xaeeb1f58, p0, p1, p2);
};

/**
 * 0x5C674EB487891F6B
 */
global.N_0x5c674eb487891f6b = function () {
	return _in(0x5c674eb4, 0x87891f6b, _r, _ri);
};

/**
 * _IS_PED_IN*
 */
global.N_0x5c6c7c70ca302801 = function (ped) {
	return _in(0x5c6c7c70, 0xca302801, ped, _r);
};

/**
 * 0x5C90E20C25E6D83C
 */
global.N_0x5c90e20c25e6d83c = function (p0) {
	return _in(0x5c90e20c, 0x25e6d83c, p0);
};

/**
 * Only used in R* SP Script spd_agnesdown1
 */
global.N_0x5c9c3a466b3296a8 = function (p0) {
	return _in(0x5c9c3a46, 0x6b3296a8, p0, _r, _ri);
};

/**
 * Used in Script Function MP_MAIN_OFFLINE__INITIALIZE_FLOW & PROCESS_GENERIC_PLAYER_INITIALIZATION
 */
global.N_0x5ca20fbe49891bbd = function (ped, p1) {
	return _in(0x5ca20fbe, 0x49891bbd, ped, p1);
};

/**
 * 0x5CA7FB7D6DE49DCC
 */
global.N_0x5ca7fb7d6de49dcc = function (player) {
	return _in(0x5ca7fb7d, 0x6de49dcc, player, _r, _rf);
};

/**
 * NativeDB Introduced: v1355
 */
global.N_0x5cb2ebb467be3ed6 = function (animal, p2) {
	return _in(0x5cb2ebb4, 0x67be3ed6, animal, _fv(p2));
};

/**
 * 0x5CB8B0C846D0F30B
 */
global.N_0x5cb8b0c846d0f30b = function (p0) {
	return _in(0x5cb8b0c8, 0x46d0f30b, p0);
};

/**
 * 0x5CD3AAD8FF9ED121
 */
global.N_0x5cd3aad8ff9ed121 = function (p0) {
	return _in(0x5cd3aad8, 0xff9ed121, p0);
};

/**
 * NativeDB Introduced: v1311
 */
global.N_0x5cd6a2cce5087161 = function (p0) {
	return _in(0x5cd6a2cc, 0xe5087161, p0);
};

/**
 * _NETWORK_SPAWN_CONFIG_*
 */
global.N_0x5d3c528b7a7df836 = function (nsctf) {
	return _in(0x5d3c528b, 0x7a7df836, _ch(nsctf));
};

/**
 * Related to ped hat
 * _SET_PED_LA* - _SET_PED_LE*
 */
global.N_0x5d4cd22a8c82a81a = function (ped, p1) {
	return _in(0x5d4cd22a, 0x8c82a81a, ped, p1);
};

/**
 * 0x5D5E2102B174B8D2
 */
global.N_0x5d5e2102b174b8d2 = function () {
	return _in(0x5d5e2102, 0xb174b8d2, _r, _ri);
};

/**
 * removeReason: REMOVE_REASON_DEFAULT (eRemoveItemReason)
 * Example: INVENTORY::_0x5D6182F3BCE1333B(1, joaat("REMOVE_REASON_DEFAULT")); -> clears weapon wheel
 * Only used in R* SP Scripts
 */
global.N_0x5d6182f3bce1333b = function (inventoryId, removeReason) {
	return _in(0x5d6182f3, 0xbce1333b, inventoryId, _ch(removeReason), _r);
};

/**
 * Used in SP R* Scripts only
 * _IS_ANIM_SCENE_R* - _IS_ANIM_SCENE_S*
 */
global.N_0x5d7bfda2290b4e39 = function (p0) {
	return _in(0x5d7bfda2, 0x290b4e39, _ts(p0), _r);
};

/**
 * 0x5D9B0BAAF04CF65B
 */
global.N_0x5d9b0baaf04cf65b = function (p0, p1, p2, p3) {
	return _in(0x5d9b0baa, 0xf04cf65b, p0, p1, p2, p3);
};

/**
 * 0x5DA36CCCB63C0895
 */
global.N_0x5da36cccb63c0895 = function (p0, p1, p2) {
	return _in(0x5da36ccc, 0xb63c0895, p0, p1, p2, _r, _ri);
};

/**
 * Attaches scenario to bone with an offset
 * _GET_I* - _GET_M*
 */
global.N_0x5e214112806591ea = function (entity, boneIndex) {
	return _in(0x5e214112, 0x806591ea, entity, boneIndex, _r, _rv);
};

/**
 * 0x5E3CCF03995388B5
 */
global.N_0x5e3ccf03995388b5 = function (p0, p1, p2, p3) {
	return _in(0x5e3ccf03, 0x995388b5, p0, p1, p2, p3);
};

/**
 * Only used in R* SP Scripts
 */
global.N_0x5e6f375ca101c108 = function (player, p1) {
	return _in(0x5e6f375c, 0xa101c108, player, p1);
};

/**
 * 0x5E981C764DF33117
 */
global.N_0x5e981c764df33117 = function (p0, p1) {
	return _in(0x5e981c76, 0x4df33117, p0, p1);
};

/**
 * Only used in R* SP Scripts
 * _GET_PED_IN*
 */
global.N_0x5e9faf6c513347b4 = function (ped, eventType) {
	return _in(0x5e9faf6c, 0x513347b4, ped, _ch(eventType), _r, _ri);
};

/**
 * 0x5EA655F01D93667A
 */
global.N_0x5ea655f01d93667a = function (p0) {
	return _in(0x5ea655f0, 0x1d93667a, p0, _r, _ri);
};

/**
 * 0x5ED39DA62BEB1330
 */
global.N_0x5ed39da62beb1330 = function (p0) {
	return _in(0x5ed39da6, 0x2beb1330, p0, _r, _ri);
};

/**
 * 0x5EE6FCCC9C832CA2
 */
global.N_0x5ee6fccc9c832ca2 = function (p0) {
	return _in(0x5ee6fccc, 0x9c832ca2, p0, _r, _rv);
};

/**
 * 0x5EFA8A3D8A60D662
 */
global.N_0x5efa8a3d8a60d662 = function (p0, p1) {
	return _in(0x5efa8a3d, 0x8a60d662, p0, p1, _r, _ri);
};

/**
 * 0x5F0E99071582DECA
 */
global.N_0x5f0e99071582deca = function (p0, index, p2) {
	return _in(0x5f0e9907, 0x1582deca, p0, index, p2, _r, _ri);
};

/**
 * rumbleCurve: common_0/data/rumblecurves.meta
 */
global.N_0x5f217bc1190503d8 = function (rumbleCurve, p1) {
	return _in(0x5f217bc1, 0x190503d8, _ts(rumbleCurve), _fv(p1));
};

/**
 * Note: this native was added in build 1311.23
 * ```
 * ```
 * NativeDB Introduced: v1311
 */
global.N_0x5f328fc909f0e0ff = function (p0, p1, p2, p3) {
	return _in(0x5f328fc9, 0x09f0e0ff, p0, p1, p2, p3, _r);
};

/**
 * 0x5FCF25D584065BFD
 */
global.N_0x5fcf25d584065bfd = function (p0, p1, p2, p3) {
	return _in(0x5fcf25d5, 0x84065bfd, p0, p1, p2, p3);
};

/**
 * Not implemented.
 */
global.N_0x600bbdd29820370c = function (ped) {
	return _in(0x600bbdd2, 0x9820370c, ped);
};

/**
 * 0x603469298A4308AF
 */
global.N_0x603469298a4308af = function (p0) {
	return _in(0x60346929, 0x8a4308af, p0);
};

/**
 * 0x604E1010E3162E86
 */
global.N_0x604e1010e3162e86 = function (p0, p1, p2) {
	return _in(0x604e1010, 0xe3162e86, p0, p1, p2);
};

/**
 * Not implemented.
 */
global.N_0x606d529dada3c940 = function (ped, p1) {
	return _in(0x606d529d, 0xada3c940, ped, p1);
};

/**
 * 0x6072B7420A83A03F
 */
global.N_0x6072b7420a83a03f = function () {
	return _in(0x6072b742, 0x0a83a03f, _r, _ri);
};

/**
 * 0x6098139150DCC745
 */
global.N_0x6098139150dcc745 = function (ped, p1) {
	return _in(0x60981391, 0x50dcc745, ped, p1, _r);
};

/**
 * 0x6102830F764B3DE1
 */
global.N_0x6102830f764b3de1 = function (player) {
	return _in(0x6102830f, 0x764b3de1, player, _r);
};

/**
 * 0x6123E2832C34243D
 */
global.N_0x6123e2832c34243d = function (p0, p1, p2, p3, p4) {
	return _in(0x6123e283, 0x2c34243d, p0, p1, p2, p3, p4);
};

/**
 * 0x614D0B4533F842D3
 */
global.N_0x614d0b4533f842d3 = function (p0) {
	return _in(0x614d0b45, 0x33f842d3, p0, _r, _ri);
};

/**
 * 0x615B3B8E73634509
 */
global.N_0x615b3b8e73634509 = function (trackIndex, p1) {
	return _in(0x615b3b8e, 0x73634509, trackIndex, _fv(p1));
};

/**
 * 0x615DC4A82E90BB48
 */
global.N_0x615dc4a82e90bb48 = function (p0, p1, p2) {
	return _in(0x615dc4a8, 0x2e90bb48, p0, p1, p2);
};

/**
 * Only used in tg_p R* Script
 * Returns true when mgm event success
 * _PREPARE_* - _REGISTER_*
 */
global.N_0x61b2aaef645ddaf0 = function (mgmEventHandle, p1, seatId, p3, p4) {
	return _in(0x61b2aaef, 0x645ddaf0, mgmEventHandle, _ts(p1), seatId, p3, p4, _r);
};

/**
 * 0x61B98367D93F012F
 */
global.N_0x61b98367d93f012f = function (player) {
	return _in(0x61b98367, 0xd93f012f, player);
};

/**
 * 0x61BDA07407754A5C
 */
global.N_0x61bda07407754a5c = function (p0, p1, p2, p3) {
	return _in(0x61bda074, 0x07754a5c, p0, p1, p2, p3);
};

/**
 * Params: collectableCategory = WEEKLY_COLLECTABLES
 * ```
 * ```
 * NativeDB Introduced: v1232
 */
global.N_0x61befba3ce7a3bc8 = function (collectableCategory, p1) {
	return _in(0x61befba3, 0xce7a3bc8, _ch(collectableCategory), p1, _r);
};

/**
 * 0x61BFBAA795E712AD
 */
global.N_0x61bfbaa795e712ad = function () {
	return _in(0x61bfbaa7, 0x95e712ad);
};

/**
 * _IS_PLAYER_S* - _IS_PLAYER_T*
 */
global.N_0x621d1b289caf5978 = function (player) {
	return _in(0x621d1b28, 0x9caf5978, player, _r);
};

/**
 * NativeDB Introduced: v1436
 */
global.N_0x62377977e4f08668 = function (entity) {
	return _in(0x62377977, 0xe4f08668, entity, _r, _ri);
};

/**
 * 0x627B68D9CE6EE8DE
 */
global.N_0x627b68d9ce6ee8de = function (p0) {
	return _in(0x627b68d9, 0xce6ee8de, p0, _r, _ri);
};

/**
 * 0x628E742FE1F79C4A
 */
global.N_0x628e742fe1f79c4a = function (p0, p1) {
	return _in(0x628e742f, 0xe1f79c4a, p0, p1);
};

/**
 * 0x62B9F9A1272AED80
 */
global.N_0x62b9f9a1272aed80 = function (p0) {
	return _in(0x62b9f9a1, 0x272aed80, p0);
};

/**
 * 0x62D5F0588915B277
 */
global.N_0x62d5f0588915b277 = function () {
	return _in(0x62d5f058, 0x8915b277);
};

/**
 * Returns p1 value for 0x8E84119A23C16623
 */
global.N_0x62fdf4e678e40cc6 = function (entity, p1) {
	return _in(0x62fdf4e6, 0x78e40cc6, entity, p1, _r, _ri);
};

/**
 * 0x6318FB3BE37E11B3
 */
global.N_0x6318fb3be37e11b3 = function (entryId, index) {
	return _in(0x6318fb3b, 0xe37e11b3, _ch(entryId), index);
};

/**
 * 0x6329C34BEE5BFF4B
 */
global.N_0x6329c34bee5bff4b = function (p0, p1) {
	return _in(0x6329c34b, 0xee5bff4b, p0, _ch(p1), _r, _ri);
};

/**
 * Zooms in the gameplay camera to the next zoom level?
 * USE_* - WAS_*
 */
global.N_0x632be8d84846fa56 = function () {
	return _in(0x632be8d8, 0x4846fa56);
};

/**
 * 0x633F83B301C87994
 */
global.N_0x633f83b301c87994 = function (p0, p1) {
	return _in(0x633f83b3, 0x01c87994, p0, p1);
};

/**
 * 0x63509DDF102E08E8
 */
global.N_0x63509ddf102e08e8 = function (trackIndex, p1) {
	return _in(0x63509ddf, 0x102e08e8, trackIndex, p1);
};

/**
 * Only used in R* Script beat_train_holdup: p1 = 1
 */
global.N_0x6355602c02edc6df = function (entity, p1) {
	return _in(0x6355602c, 0x02edc6df, entity, p1);
};

/**
 * 0x638FCFC6042A9473
 */
global.N_0x638fcfc6042a9473 = function (p0, p1) {
	return _in(0x638fcfc6, 0x042a9473, p0, p1);
};

/**
 * 0x63AA2B8EB087886A
 */
global.N_0x63aa2b8eb087886a = function (p0, p1) {
	return _in(0x63aa2b8e, 0xb087886a, p0, p1);
};

/**
 * Only used in R* Script fme_escaped_convicts, p0 = 0
 */
global.N_0x63b83a526329afbc = function (p0) {
	return _in(0x63b83a52, 0x6329afbc, p0);
};

/**
 * Maintains the death camera after respawn
 */
global.N_0x63e5841a9264d016 = function (toggle) {
	return _in(0x63e5841a, 0x9264d016, toggle);
};

/**
 * 0x640A602946A8C972
 */
global.N_0x640a602946a8c972 = function (p0) {
	return _in(0x640a6029, 0x46a8c972, p0, _r, _ri);
};

/**
 * 0x641092322A8852AB
 */
global.N_0x641092322a8852ab = function () {
	return _in(0x64109232, 0x2a8852ab);
};

/**
 * 0x641351E9AD103890
 */
global.N_0x641351e9ad103890 = function (p0, p1) {
	return _in(0x641351e9, 0xad103890, p0, p1);
};

/**
 * _SET_PED_M*
 */
global.N_0x642720d8d69328b6 = function (ped, p1) {
	return _in(0x642720d8, 0xd69328b6, ped, _ch(p1));
};

/**
 * coverLayer: see levels_0/levels/rdr3/coverlayers
 */
global.N_0x64340dc208d671d5 = function (coverLayer) {
	return _in(0x64340dc2, 0x08d671d5, _ts(coverLayer));
};

/**
 * 0x643FD1556F621772
 */
global.N_0x643fd1556f621772 = function (p0, p1, p2) {
	return _in(0x643fd155, 0x6f621772, p0, p1, p2, _r, _ri);
};

/**
 * 0x644439B5387EE57E
 */
global.N_0x644439b5387ee57e = function (p0, p1) {
	return _in(0x644439b5, 0x387ee57e, p0, p1, _r, _ri);
};

/**
 * 0x644E02F24F9D4E98
 */
global.N_0x644e02f24f9d4e98 = function (p0, p1) {
	return _in(0x644e02f2, 0x4f9d4e98, p0, p1, _r, _ri);
};

/**
 * 0x6480723D3BE535B6
 */
global.N_0x6480723d3be535b6 = function (p0) {
	return _in(0x6480723d, 0x3be535b6, p0);
};

/**
 * 0x64A36BA85CE01A81
 */
global.N_0x64a36ba85ce01a81 = function (p0, p1, p2, p3) {
	return _in(0x64a36ba8, 0x5ce01a81, p0, p1, p2, p3, _r, _ri);
};

/**
 * 0x64B956F4E761DF5C
 */
global.N_0x64b956f4e761df5c = function (p0) {
	return _in(0x64b956f4, 0xe761df5c, p0);
};

/**
 * 0x64F765D9A1F8F02C
 */
global.N_0x64f765d9a1f8f02c = function () {
	return _in(0x64f765d9, 0xa1f8f02c, _i, _i, _i);
};

/**
 * _IS_N* - _IS_P*
 */
global.N_0x6507ac3bd7c99009 = function (x, y, z, p3) {
	return _in(0x6507ac3b, 0xd7c99009, _fv(x), _fv(y), _fv(z), _fv(p3), _r);
};

/**
 * 0x6519238858AF5479
 */
global.N_0x6519238858af5479 = function (p0) {
	return _in(0x65192388, 0x58af5479, p0);
};

/**
 * 0x651F0530083C0E5A
 */
global.N_0x651f0530083c0e5a = function (p0, p1) {
	return _in(0x651f0530, 0x083c0e5a, p0, p1);
};

/**
 * 0x6579860A5558524A
 */
global.N_0x6579860a5558524a = function (p0, p1) {
	return _in(0x6579860a, 0x5558524a, p0, p1);
};

/**
 * 0x65887EAC535A0B0C
 */
global.N_0x65887eac535a0b0c = function (p0) {
	return _in(0x65887eac, 0x535a0b0c, p0);
};

/**
 * 0x65D281985F2BDFC2
 */
global.N_0x65d281985f2bdfc2 = function (p0, p1) {
	return _in(0x65d28198, 0x5f2bdfc2, p0, p1);
};

/**
 * Returns attachPoint
 * ```
 * ```
 * NativeDB Introduced: v1311
 */
global.N_0x65dc4ac5b96614cb = function (weaponHash) {
	return _in(0x65dc4ac5, 0xb96614cb, _ch(weaponHash), _r, _ri);
};

/**
 * speechEventType: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/naSpeechEventType
 * SKIP_* - START_*
 */
global.N_0x660a8f876df1d4f8 = function (speechEventType) {
	return _in(0x660a8f87, 0x6df1d4f8, speechEventType);
};

/**
 * 0x6652B0C8F3D414D0
 */
global.N_0x6652b0c8f3d414d0 = function (p0) {
	return _in(0x6652b0c8, 0xf3d414d0, p0);
};

/**
 * 0x665B21666351CB37
 */
global.N_0x665b21666351cb37 = function (p0, p1, p2) {
	return _in(0x665b2166, 0x6351cb37, p0, p1, p2, _r, _ri);
};

/**
 * 0x669655FFB29EF1A9
 */
global.N_0x669655ffb29ef1a9 = function (p0, p1, p2, p3) {
	return _in(0x669655ff, 0xb29ef1a9, p0, p1, p2, p3);
};

/**
 * 0x669C25840C6F7AE2
 */
global.N_0x669c25840c6f7ae2 = function (p0, p1) {
	return _in(0x669c2584, 0x0c6f7ae2, p0, p1);
};

/**
 * 0x66BC28E50E85270E
 */
global.N_0x66bc28e50e85270e = function (p0) {
	return _in(0x66bc28e5, 0x0e85270e, p0, _r, _ri);
};

/**
 * _PERSISTENCE_*
 * ```
 * ```
 * NativeDB Introduced: v1232
 */
global.N_0x66daa3a9274e8e82 = function () {
	return _in(0x66daa3a9, 0x274e8e82);
};

/**
 * 0x6703872EC09BC158
 */
global.N_0x6703872ec09bc158 = function (p0, p1) {
	return _in(0x6703872e, 0xc09bc158, p0, p1);
};

/**
 * 0x6734F0A6A52C371C
 */
global.N_0x6734f0a6a52c371c = function (player, horseSlot) {
	return _in(0x6734f0a6, 0xa52c371c, player, horseSlot);
};

/**
 * 0x673A8779D229BA5A
 */
global.N_0x673a8779d229ba5a = function (p0, p1, p2, p3, p4, p5) {
	return _in(0x673a8779, 0xd229ba5a, p0, p1, p2, p3, p4, p5);
};

/**
 * 0x6759BEE6762E140B
 */
global.N_0x6759bee6762e140b = function (persChar) {
	return _in(0x6759bee6, 0x762e140b, persChar);
};

/**
 * 0x67659A8F248E0141
 */
global.N_0x67659a8f248e0141 = function (p0, p1) {
	return _in(0x67659a8f, 0x248e0141, p0, p1);
};

/**
 * Only used in R* SP Script beat_washed_ashore
 * Returns Object prop for TASK::_TASK_ITEM_INTERACTION_2
 */
global.N_0x678d3226cf70b9c8 = function (ped, p1) {
	return _in(0x678d3226, 0xcf70b9c8, ped, p1, _r, _ri);
};

/**
 * 0x67A43EA3F6FE0076
 */
global.N_0x67a43ea3f6fe0076 = function (p0) {
	return _in(0x67a43ea3, 0xf6fe0076, p0);
};

/**
 * 0x67B0778C62E74423
 */
global.N_0x67b0778c62e74423 = function (p0) {
	return _in(0x67b0778c, 0x62e74423, p0);
};

/**
 * 0x67CCDF74C4DF7169
 */
global.N_0x67ccdf74c4df7169 = function () {
	return _in(0x67ccdf74, 0xc4df7169, _r);
};

/**
 * 0x68319452C5064ABA
 */
global.N_0x68319452c5064aba = function (p0, p1) {
	return _in(0x68319452, 0xc5064aba, p0, p1);
};

/**
 * 0x6835AFEA10E186F4
 */
global.N_0x6835afea10e186f4 = function (p0, p1) {
	return _in(0x6835afea, 0x10e186f4, p0, p1);
};

/**
 * 0x6852288340B43239
 */
global.N_0x6852288340b43239 = function (p0, p1) {
	return _in(0x68522883, 0x40b43239, p0, p1, _r, _ri);
};

/**
 * Only used in R* SP Scripts
 */
global.N_0x6862e4d93f64cf01 = function (inventoryId, p2) {
	return _in(0x6862e4d9, 0x3f64cf01, inventoryId, _i, _ch(p2), _i, _r);
};

/**
 * 0x68830738A6BFB370
 */
global.N_0x68830738a6bfb370 = function (p0, p1) {
	return _in(0x68830738, 0xa6bfb370, p0, p1);
};

/**
 * 0x68F6A75FDF5A70D6
 */
global.N_0x68f6a75fdf5a70d6 = function (x, y, z, p3) {
	return _in(0x68f6a75f, 0xdf5a70d6, _fv(x), _fv(y), _fv(z), _fv(p3));
};

/**
 * 0x691E4DE5309EAEFC
 */
global.N_0x691e4de5309eaefc = function (p0, p1) {
	return _in(0x691e4de5, 0x309eaefc, p0, _ii(p1) /* may be optional */);
};

/**
 * 0x694FFA4308060CD1
 */
global.N_0x694ffa4308060cd1 = function (p0, p1) {
	return _in(0x694ffa43, 0x08060cd1, p0, p1);
};

/**
 * 0x695DAC2DB928F308
 */
global.N_0x695dac2db928f308 = function (p0, p1) {
	return _in(0x695dac2d, 0xb928f308, p0, p1);
};

/**
 * Only used in R* SP Scripts
 */
global.N_0x6968ce7ac32f6788 = function (inventoryId) {
	return _in(0x6968ce7a, 0xc32f6788, inventoryId);
};

/**
 * 0x69786495C92A3044
 */
global.N_0x69786495c92a3044 = function (p0) {
	return _in(0x69786495, 0xc92a3044, p0, _r, _ri);
};

/**
 * 0x697DF68F3A761A50
 */
global.N_0x697df68f3a761a50 = function (p0) {
	return _in(0x697df68f, 0x3a761a50, p0);
};

/**
 * 0x69C810B72291D831
 */
global.N_0x69c810b72291d831 = function (p0, p1, p2, p3, p4, p5, p6) {
	return _in(0x69c810b7, 0x2291d831, p0, p1, p2, p3, p4, p5, p6);
};

/**
 * 0x6A190B94C2541A99
 */
global.N_0x6a190b94c2541a99 = function (p0) {
	return _in(0x6a190b94, 0xc2541a99, p0);
};

/**
 * 0x6A1AF481407BF6E9
 */
global.N_0x6a1af481407bf6e9 = function (p0) {
	return _in(0x6a1af481, 0x407bf6e9, p0);
};

/**
 * 0x6A489892E813951A
 */
global.N_0x6a489892e813951a = function (p0) {
	return _in(0x6a489892, 0xe813951a, p0);
};

/**
 * 0x6A6E79FBE8678C98
 */
global.N_0x6a6e79fbe8678c98 = function () {
	return _in(0x6a6e79fb, 0xe8678c98);
};

/**
 * _STOP_AUDIO_*
 */
global.N_0x6ab944df68b512d3 = function (p0) {
	return _in(0x6ab944df, 0x68b512d3, p0);
};

/**
 * 0x6ABC50979655BEE7
 */
global.N_0x6abc50979655bee7 = function (player, p2) {
	return _in(0x6abc5097, 0x9655bee7, player, _i, p2);
};

/**
 * 0x6AFD84AEAA3EA538
 */
global.N_0x6afd84aeaa3ea538 = function (p0) {
	return _in(0x6afd84ae, 0xaa3ea538, p0, _r, _ri);
};

/**
 * 0x6AFDA2264925BD11
 */
global.N_0x6afda2264925bd11 = function (p0) {
	return _in(0x6afda226, 0x4925bd11, p0);
};

/**
 * 0x6B34BE961F639E21
 */
global.N_0x6b34be961f639e21 = function (trackIndex, p1) {
	return _in(0x6b34be96, 0x1f639e21, trackIndex, p1);
};

/**
 * 0x6B53F4B811E583D2
 */
global.N_0x6b53f4b811e583d2 = function (vehicle, toggle) {
	return _in(0x6b53f4b8, 0x11e583d2, vehicle, toggle);
};

/**
 * 0x6B67320E0D57856A
 */
global.N_0x6b67320e0d57856a = function (ped, p2, p3) {
	return _in(0x6b67320e, 0x0d57856a, ped, _i, p2, p3);
};

/**
 * 0x6B7A88A61B41E589
 */
global.N_0x6b7a88a61b41e589 = function (p0) {
	return _in(0x6b7a88a6, 0x1b41e589, p0);
};

/**
 * 0x6BA606AB3A83BC4D
 */
global.N_0x6ba606ab3a83bc4d = function (p0) {
	return _in(0x6ba606ab, 0x3a83bc4d, p0, _r, _ri);
};

/**
 * Params: collectableCategory = WEEKLY_COLLECTABLES
 */
global.N_0x6bab7aced1017204 = function (collectableCategory, p1) {
	return _in(0x6bab7ace, 0xd1017204, _ch(collectableCategory), p1, _r);
};

/**
 * _SET_DISPATCH_*, unused
 */
global.N_0x6bcf7b5cd338281a = function (p0, p1, p2) {
	return _in(0x6bcf7b5c, 0xd338281a, p0, p1, p2);
};

/**
 * 0x6BED40493A1AFDB8
 */
global.N_0x6bed40493a1afdb8 = function (p1) {
	return _in(0x6bed4049, 0x3a1afdb8, _i, _fv(p1));
};

/**
 * 0x6BFFB7C276866996
 */
global.N_0x6bffb7c276866996 = function (p0) {
	return _in(0x6bffb7c2, 0x76866996, p0, _r, _ri);
};

/**
 * 0x6C03118E9E5C1A14
 */
global.N_0x6c03118e9e5c1a14 = function (p0) {
	return _in(0x6c03118e, 0x9e5c1a14, p0);
};

/**
 * 0x6C269F673C47031E
 */
global.N_0x6c269f673c47031e = function (p0) {
	return _in(0x6c269f67, 0x3c47031e, p0, _r, _ri);
};

/**
 * 0x6C27442A225A241A
 */
global.N_0x6c27442a225a241a = function (p0) {
	return _in(0x6c27442a, 0x225a241a, p0, _r, _ri);
};

/**
 * 0x6C31B06E91518269
 */
global.N_0x6c31b06e91518269 = function (p0, p1) {
	return _in(0x6c31b06e, 0x91518269, p0, p1);
};

/**
 * 0x6C3F12ECEB6D2E2A
 */
global.N_0x6c3f12eceb6d2e2a = function (xMin, yMin, zMin, xMax, yMax, zMax, p6, p7) {
	return _in(0x6c3f12ec, 0xeb6d2e2a, _fv(xMin), _fv(yMin), _fv(zMin), _fv(xMax), _fv(yMax), _fv(zMax), p6, p7);
};

/**
 * 0x6C50B9DCCCA70023
 */
global.N_0x6c50b9dccca70023 = function (p0) {
	return _in(0x6c50b9dc, 0xcca70023, p0, _r, _ri);
};

/**
 * 0x6C54E69516CC56BD
 */
global.N_0x6c54e69516cc56bd = function (p0) {
	return _in(0x6c54e695, 0x16cc56bd, p0, _r, _ri);
};

/**
 * 0x6C57BEA886A20C6B
 */
global.N_0x6c57bea886a20c6b = function (p0, p1) {
	return _in(0x6c57bea8, 0x86a20c6b, p0, p1);
};

/**
 * 0x6C7B68D3CE60E8DE
 */
global.N_0x6c7b68d3ce60e8de = function (p0) {
	return _in(0x6c7b68d3, 0xce60e8de, p0, _r, _ri);
};

/**
 * 0x6C7E04E9DE451789
 */
global.N_0x6c7e04e9de451789 = function () {
	return _in(0x6c7e04e9, 0xde451789);
};

/**
 * Returns trackIndex
 */
global.N_0x6c87f49bfa181db5 = function (x, y, z) {
	return _in(0x6c87f49b, 0xfa181db5, _fv(x), _fv(y), _fv(z), _r, _ri);
};

/**
 * 0x6CAB0BA160B168D2
 */
global.N_0x6cab0ba160b168d2 = function () {
	return _in(0x6cab0ba1, 0x60b168d2);
};

/**
 * _NETWORK_SPAWN_CONFIG_*
 */
global.N_0x6cee2e30021daec6 = function () {
	return _in(0x6cee2e30, 0x021daec6);
};

/**
 * _NETWORK_GET_A* - _NETWORK_GET_D*
 */
global.N_0x6cf82a7f65a5ad5f = function (ped, p1) {
	return _in(0x6cf82a7f, 0x65a5ad5f, ped, _ii(p1) /* may be optional */, _r, _ri);
};

/**
 * 0x6D58167F62238284
 */
global.N_0x6d58167f62238284 = function (vehicle) {
	return _in(0x6d58167f, 0x62238284, vehicle, _r, _rf);
};

/**
 * 0x6D5F9E69BA1BE783
 */
global.N_0x6d5f9e69ba1be783 = function (p0) {
	return _in(0x6d5f9e69, 0xba1be783, p0);
};

/**
 * 0x6D85126F6CCF02C9
 */
global.N_0x6d85126f6ccf02c9 = function (feedChannel, p1, p2) {
	return _in(0x6d85126f, 0x6ccf02c9, feedChannel, p1, p2);
};

/**
 * 0x6DA15746D5CC1A92
 */
global.N_0x6da15746d5cc1a92 = function (p0, p1, p2, p3, p4, p5) {
	return _in(0x6da15746, 0xd5cc1a92, p0, p1, p2, p3, p4, p5);
};

/**
 * NativeDB Introduced: v1311
 */
global.N_0x6dac799857ef3f11 = function (p0, p1) {
	return _in(0x6dac7998, 0x57ef3f11, p0, p1, _r, _ri);
};

/**
 * 0x6DAD6630AE4A74CB
 */
global.N_0x6dad6630ae4a74cb = function (p0, p1) {
	return _in(0x6dad6630, 0xae4a74cb, p0, p1);
};

/**
 * Only used in R* SP Script winter1: p1 = 5000
 * _SET_PED_M*
 */
global.N_0x6db875afc584fa32 = function (ped, p1) {
	return _in(0x6db875af, 0xc584fa32, ped, p1, _r, _ri);
};

/**
 * _SET_INSTANTLY_* - _SET_MISSION_TRAIN*
 */
global.N_0x6de072ac8a95ffc1 = function (vehicle, p1) {
	return _in(0x6de072ac, 0x8a95ffc1, vehicle, p1);
};

/**
 * 0x6DFD37E586D4F44F
 */
global.N_0x6dfd37e586d4f44f = function () {
	return _in(0x6dfd37e5, 0x86d4f44f, _r, _ri);
};

/**
 * 0x6E2AA80BB0C03728
 */
global.N_0x6e2aa80bb0c03728 = function (p0, p1) {
	return _in(0x6e2aa80b, 0xb0c03728, p0, p1, _r, _ri);
};

/**
 * Only used in SP R* Script train_robbery3: p1 = CLIPSET@VEH_TRAIN@HANDCART@BASE_PANIC & CLIPSET@VEH_TRAIN@HANDCART@BASE_PANIC_JOHN
 */
global.N_0x6e8b87139854022d = function (ped, clipset) {
	return _in(0x6e8b8713, 0x9854022d, ped, _ts(clipset));
};

/**
 * 0x6EA0E93CFFA472CC
 */
global.N_0x6ea0e93cffa472cc = function (p0) {
	return _in(0x6ea0e93c, 0xffa472cc, p0);
};

/**
 * 0x6EA1273D525427F4
 */
global.N_0x6ea1273d525427f4 = function (p0, p1, p2) {
	return _in(0x6ea1273d, 0x525427f4, p0, p1, p2);
};

/**
 * 0x6ECFC621A168424C
 */
global.N_0x6ecfc621a168424c = function (entity1, entity2, p2, p3) {
	return _in(0x6ecfc621, 0xa168424c, entity1, entity2, p2, _fv(p3));
};

/**
 * 0x6EDB5D08CB03E763
 */
global.N_0x6edb5d08cb03e763 = function (p0, p1) {
	return _in(0x6edb5d08, 0xcb03e763, p0, p1);
};

/**
 * 0x6F02B5E50511721E
 */
global.N_0x6f02b5e50511721e = function (p0) {
	return _in(0x6f02b5e5, 0x0511721e, p0, _r, _ri);
};

/**
 * 0x6F43C351A5D51E2F
 */
global.N_0x6f43c351a5d51e2f = function (ped, p1) {
	return _in(0x6f43c351, 0xa5d51e2f, ped, _ii(p1) /* may be optional */, _r, _ri);
};

/**
 * 0x6F46F8ACB44C4FC1
 */
global.N_0x6f46f8acb44c4fc1 = function (p0) {
	return _in(0x6f46f8ac, 0xb44c4fc1, p0, _r, _ri);
};

/**
 * Note: this native was added in build 1491.50
 * ```
 * ```
 * NativeDB Introduced: v1491
 */
global.N_0x6f5bc5c4eab42b15 = function (linkID, type, contentId) {
	return _in(0x6f5bc5c4, 0xeab42b15, linkID, type, _ts(contentId));
};

/**
 * 0x6F700A4BF7C3331B
 */
global.N_0x6f700a4bf7c3331b = function (p0) {
	return _in(0x6f700a4b, 0xf7c3331b, p0);
};

/**
 * 0x6FD7BDF10304363A
 */
global.N_0x6fd7bdf10304363a = function (p0, p1) {
	return _in(0x6fd7bdf1, 0x0304363a, p0, p1);
};

/**
 * _HAS_*
 */
global.N_0x7020839c7302d8ac = function (ped) {
	return _in(0x7020839c, 0x7302d8ac, ped, _r);
};

/**
 * 0x70379B5C3FF1D209
 */
global.N_0x70379b5c3ff1d209 = function () {
	return _in(0x70379b5c, 0x3ff1d209, _r, _ri);
};

/**
 * 0x703D4FB366DA4452
 */
global.N_0x703d4fb366da4452 = function (p0, p1) {
	return _in(0x703d4fb3, 0x66da4452, p0, p1);
};

/**
 * _CLEAR*
 */
global.N_0x704c908e9c405136 = function (ped) {
	return _in(0x704c908e, 0x9c405136, ped);
};

/**
 * 0x704F92B3AF20D857
 */
global.N_0x704f92b3af20d857 = function (setting) {
	return _in(0x704f92b3, 0xaf20d857, setting);
};

/**
 * 0x70605812ABC9FF0F
 */
global.N_0x70605812abc9ff0f = function (p0, p1) {
	return _in(0x70605812, 0xabc9ff0f, p0, p1);
};

/**
 * 0x706B434FEFAD6A24
 */
global.N_0x706b434fefad6a24 = function (p0) {
	return _in(0x706b434f, 0xefad6a24, p0);
};

/**
 * 0x709BA8C08C5C008D
 */
global.N_0x709ba8c08c5c008d = function () {
	return _in(0x709ba8c0, 0x8c5c008d);
};

/**
 * 0x70A6658D476C6187
 */
global.N_0x70a6658d476c6187 = function () {
	return _in(0x70a6658d, 0x476c6187);
};

/**
 * _SET_PED_MO*
 */
global.N_0x712b2c2b2471b493 = function (ped, p1) {
	return _in(0x712b2c2b, 0x2471b493, ped, _ch(p1));
};

/**
 * ANIMPOSTFX_*
 */
global.N_0x71845905bccde781 = function (effectNameHash) {
	return _in(0x71845905, 0xbccde781, _ch(effectNameHash));
};

/**
 * 0x718C6ECF5E8CBDD4
 */
global.N_0x718c6ecf5e8cbdd4 = function () {
	return _in(0x718c6ecf, 0x5e8cbdd4);
};

/**
 * 0x718EB706B6E998A0
 */
global.N_0x718eb706b6e998a0 = function (trackIndex) {
	return _in(0x718eb706, 0xb6e998a0, trackIndex);
};

/**
 * 0x71D71E08A7ED5BD7
 */
global.N_0x71d71e08a7ed5bd7 = function (p0) {
	return _in(0x71d71e08, 0xa7ed5bd7, p0);
};

/**
 * Only used in R* Script fm_race_controller
 */
global.N_0x71fa2d1880c48032 = function (p0) {
	return _in(0x71fa2d18, 0x80c48032, p0);
};

/**
 * 0x722D6A49200174FE
 */
global.N_0x722d6a49200174fe = function (p0, p1, p2, p3, p4) {
	return _in(0x722d6a49, 0x200174fe, p0, p1, p2, p3, p4);
};

/**
 * 0x722FBE08EF5B87BD
 */
global.N_0x722fbe08ef5b87bd = function (p0, p1, p2, p3, p4) {
	return _in(0x722fbe08, 0xef5b87bd, p0, p1, p2, p3, p4, _r, _ri);
};

/**
 * Only used in R* SP Scripts, category = GANGS
 * _COMPENDIUM_GET_*
 */
global.N_0x725d52f21a5e9e22 = function (category) {
	return _in(0x725d52f2, 0x1a5e9e22, _ch(category), _r, _rf);
};

/**
 * 0x7274F84B1501B523
 */
global.N_0x7274f84b1501b523 = function (p0) {
	return _in(0x7274f84b, 0x1501b523, p0);
};

/**
 * 0x728491FB3DFFEF99
 */
global.N_0x728491fb3dffef99 = function (p0) {
	return _in(0x728491fb, 0x3dffef99, p0);
};

/**
 * Only used in R* SP Scripts, category = GANGS
 * _COMPENDIUM_GET_NUM_OF_ENTRIES_IN_*
 */
global.N_0x729d52461aea9e22 = function (category) {
	return _in(0x729d5246, 0x1aea9e22, _ch(category), _r, _ri);
};

/**
 * _HAS_PLAYER_D*
 */
global.N_0x72ad59f7b7fb6e24 = function (player, p1) {
	return _in(0x72ad59f7, 0xb7fb6e24, player, p1, _r);
};

/**
 * 0x72E4D1C4639BC465
 */
global.N_0x72e4d1c4639bc465 = function (p0, p1) {
	return _in(0x72e4d1c4, 0x639bc465, p0, p1, _r, _ri);
};

/**
 * _SET_VEHICLE_WHEELS_*
 */
global.N_0x73118a3ee9c9b6db = function (wagon, p1, p2) {
	return _in(0x73118a3e, 0xe9c9b6db, wagon, p1, p2);
};

/**
 * args: f_0 = Volume Handle, f_2 = integer (-1, 32 used in R* Scripts)
 */
global.N_0x733077295ab51304 = function (args) {
	return _in(0x73307729, 0x5ab51304, _ii(args) /* may be optional */);
};

/**
 * Only used in shoprobberies
 */
global.N_0x7351da734f989f4e = function (entity) {
	return _in(0x7351da73, 0x4f989f4e, entity, _r);
};

/**
 * _SET_PED_F*
 */
global.N_0x735662994e60a710 = function (ped, p1) {
	return _in(0x73566299, 0x4e60a710, ped, p1);
};

/**
 * 0x735762E8D7573E42
 */
global.N_0x735762e8d7573e42 = function (p0, p1, p2) {
	return _in(0x735762e8, 0xd7573e42, p0, p1, p2);
};

/**
 * Used in SP R* Scripts only
 * _CO* - _CR*
 */
global.N_0x73616e64696c132e = function (animScene, p1) {
	return _in(0x73616e64, 0x696c132e, animScene, p1, _r);
};

/**
 * 0x73EB2EF2E92D23BF
 */
global.N_0x73eb2ef2e92d23bf = function () {
	return _in(0x73eb2ef2, 0xe92d23bf, _r);
};

/**
 * 0x73FF6BE63DC18819
 */
global.N_0x73ff6be63dc18819 = function () {
	return _in(0x73ff6be6, 0x3dc18819, _r, _ri);
};

/**
 * 0x7406C71F4AC2FFCC
 */
global.N_0x7406c71f4ac2ffcc = function (p0) {
	return _in(0x7406c71f, 0x4ac2ffcc, p0);
};

/**
 * 0x7408B5C66BA31ADB
 */
global.N_0x7408b5c66ba31adb = function (p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10) {
	return _in(0x7408b5c6, 0x6ba31adb, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10);
};

/**
 * Note: this native was added in build 1311.23
 * ```
 * ```
 * NativeDB Introduced: v1311
 */
global.N_0x744bfbb0ca908161 = function (p0) {
	return _in(0x744bfbb0, 0xca908161, p0, _r, _ri);
};

/**
 * _AUDIO_IS_* - _AUDIO_TRIGGER*
 */
global.N_0x7455cd705f7e933e = function () {
	return _in(0x7455cd70, 0x5f7e933e);
};

/**
 * 0x745808BB01CEC6B9
 */
global.N_0x745808bb01cec6b9 = function (p0) {
	return _in(0x745808bb, 0x01cec6b9, _fv(p0));
};

/**
 * 0x747257807B8721CE
 */
global.N_0x747257807b8721ce = function (p0, p1) {
	return _in(0x74725780, 0x7b8721ce, p0, p1, _r, _ri);
};

/**
 * nullsub, doesn't do anything
 */
global.N_0x748c5f51a18cb8f0 = function (p0) {
	return _in(0x748c5f51, 0xa18cb8f0, p0);
};

/**
 * 0x748D5E0D2A1A4C61
 */
global.N_0x748d5e0d2a1a4c61 = function (p0, p1, p2) {
	return _in(0x748d5e0d, 0x2a1a4c61, p0, p1, p2);
};

/**
 * 0x74ACA66484CEBAF0
 */
global.N_0x74aca66484cebaf0 = function (p0) {
	return _in(0x74aca664, 0x84cebaf0, p0);
};

/**
 * nullsub, doesn't do anything
 */
global.N_0x74bcceb233ad95b2 = function (p0, p1) {
	return _in(0x74bcceb2, 0x33ad95b2, _ch(p0), _ch(p1));
};

/**
 * 0x74C2365FDD1BB48F
 */
global.N_0x74c2365fdd1bb48f = function (p0, p1) {
	return _in(0x74c2365f, 0xdd1bb48f, p0, p1);
};

/**
 * _ITEMDATABASE_FILLOUT_(A)* - _ITEMDATABASE_FILLOUT_(B)*
 */
global.N_0x74c3b1093728d263 = function (p0, p1) {
	return _in(0x74c3b109, 0x3728d263, p0, p1, _r);
};

/**
 * 0x74C8000FDD1BB111
 */
global.N_0x74c8000fdd1bb111 = function (p0, p1) {
	return _in(0x74c8000f, 0xdd1bb111, p0, p1, _r, _ri);
};

/**
 * 0x74C8000FDD1BB222
 */
global.N_0x74c8000fdd1bb222 = function (p0, p1) {
	return _in(0x74c8000f, 0xdd1bb222, p0, p1, _r, _ri);
};

/**
 * 0x74C9080FDD1BB48E
 */
global.N_0x74c9080fdd1bb48e = function (p0, p1) {
	return _in(0x74c9080f, 0xdd1bb48e, p0, p1);
};

/**
 * 0x74C9080FDD1BB48F
 */
global.N_0x74c9080fdd1bb48f = function (p0, p1) {
	return _in(0x74c9080f, 0xdd1bb48f, p0, p1);
};

/**
 * 0x74C90AAACC1DD48F
 */
global.N_0x74c90aaacc1dd48f = function (p0) {
	return _in(0x74c90aaa, 0xcc1dd48f, p0);
};

/**
 * 0x74F0209674864CBD
 */
global.N_0x74f0209674864cbd = function () {
	return _in(0x74f02096, 0x74864cbd, _r, _ri);
};

/**
 * 0x750D42C013F64AE7
 */
global.N_0x750d42c013f64ae7 = function (p0, p1) {
	return _in(0x750d42c0, 0x13f64ae7, p0, p1);
};

/**
 * 0x751A7E0EAEDAD0D3
 */
global.N_0x751a7e0eaedad0d3 = function (p0, p1, p2) {
	return _in(0x751a7e0e, 0xaedad0d3, p0, p1, p2, _r, _ri);
};

/**
 * 0x751DF00EEFF122E3
 */
global.N_0x751df00eeff122e3 = function (p0) {
	return _in(0x751df00e, 0xeff122e3, p0);
};

/**
 * 0x754937C28271BC65
 */
global.N_0x754937c28271bc65 = function (p0) {
	return _in(0x754937c2, 0x8271bc65, p0);
};

/**
 * Returns p2 (index?) for 0xB9020EC89C07DF04
 */
global.N_0x755901c7598b97bc = function (collectableCategory, p1) {
	return _in(0x755901c7, 0x598b97bc, _ch(collectableCategory), p1, _r, _ri);
};

/**
 * FM_CLIENT_SETUP_EAGLE_EYE - setting up eagle eye for entity
 */
global.N_0x7563cbca99253d1a = function (entity, blip) {
	return _in(0x7563cbca, 0x99253d1a, entity, _ch(blip));
};

/**
 * 0x756C7B4C43DF0422
 */
global.N_0x756c7b4c43df0422 = function (p0) {
	return _in(0x756c7b4c, 0x43df0422, p0, _r, _ri);
};

/**
 * 0x758F081DB204DDDE
 */
global.N_0x758f081db204ddde = function (ped) {
	return _in(0x758f081d, 0xb204ddde, ped, _r);
};

/**
 * 0x75A082563B4452E5
 */
global.N_0x75a082563b4452e5 = function (p0, p1, p2, p3) {
	return _in(0x75a08256, 0x3b4452e5, p0, p1, p2, p3);
};

/**
 * p0: value returned by 0x9D21B185ABC2DBC5
 */
global.N_0x75cfac49301e134e = function (data, p1, ped) {
	return _in(0x75cfac49, 0x301e134e, data, p1, ped);
};

/**
 * p1, p2: 0
 */
global.N_0x75cfac49301e134f = function (databindingEntryId, p1, p2) {
	return _in(0x75cfac49, 0x301e134f, _ch(databindingEntryId), p1, p2);
};

/**
 * 0x75D3333409CD33CE
 */
global.N_0x75d3333409cd33ce = function (p0, p1, p2) {
	return _in(0x75d33334, 0x09cd33ce, p0, p1, p2);
};

/**
 * 0x75FC34A2BA345BD1
 */
global.N_0x75fc34a2ba345bd1 = function (entity, player, p2) {
	return _in(0x75fc34a2, 0xba345bd1, entity, player, _ii(p2) /* may be optional */, _r);
};

/**
 * Seems to be related while setting a (door) state of specific trains (midlandboxcar05x, privateboxcar01x, privateboxcar02x, midlandrefrigeratorCar, privateArmoured, armoredCar01x)
 */
global.N_0x762fdc4c19e5a981 = function (trainCarriage, p1) {
	return _in(0x762fdc4c, 0x19e5a981, trainCarriage, p1);
};

/**
 * 0x763637F9B838B0A7
 */
global.N_0x763637f9b838b0a7 = function (p0, p1, p2) {
	return _in(0x763637f9, 0xb838b0a7, p0, _ch(p1), _ts(p2));
};

/**
 * Used in Script Function NB_EVENT_OVERRIDE__HANDLE__EVENT_DAMAGE_ENTITY
 * ```
 * ```
 * NativeDB Introduced: v1311
 */
global.N_0x763fa8a9d76ee3a7 = function (ped) {
	return _in(0x763fa8a9, 0xd76ee3a7, ped, _r, _rf);
};

/**
 * 0x764DB5A48390FBAD
 */
global.N_0x764db5a48390fbad = function (p0, p1) {
	return _in(0x764db5a4, 0x8390fbad, p0, p1);
};

/**
 * NativeDB Introduced: v1311
 */
global.N_0x76610d12a838ebde = function (p0) {
	return _in(0x76610d12, 0xa838ebde, p0, _r, _ri);
};

/**
 * Note: this native was added in build 1311.23
 * ```
 * ```
 * NativeDB Introduced: v1311
 */
global.N_0x7673c0d2c5cdac55 = function () {
	return _in(0x7673c0d2, 0xc5cdac55);
};

/**
 * 0x7678FE0455ED1145
 */
global.N_0x7678fe0455ed1145 = function (p0, p1, p2) {
	return _in(0x7678fe04, 0x55ed1145, p0, p1, p2, _r, _ri);
};

/**
 * Returns p2 value of 0x4791899615D70FA2
 */
global.N_0x767931c727df2ed7 = function (player, p1) {
	return _in(0x767931c7, 0x27df2ed7, player, p1, _r, _ri);
};

/**
 * 0x7681B677400C7071
 */
global.N_0x7681b677400c7071 = function (p0, p1, p2, p3, p4) {
	return _in(0x7681b677, 0x400c7071, p0, p1, p2, p3, p4);
};

/**
 * 0x76BAD9D538BCA1AA
 */
global.N_0x76bad9d538bca1aa = function (ropeId, p1) {
	return _in(0x76bad9d5, 0x38bca1aa, ropeId, _fv(p1));
};

/**
 * 0x76CBCD9EADC00955
 */
global.N_0x76cbcd9eadc00955 = function () {
	return _in(0x76cbcd9e, 0xadc00955);
};

/**
 * 0x76F7E1BCD623A429
 */
global.N_0x76f7e1bcd623a429 = function (p0) {
	return _in(0x76f7e1bc, 0xd623a429, p0);
};

/**
 * _IS_I* - _IS_L*
 */
global.N_0x77243ed4f7caaa55 = function (ped) {
	return _in(0x77243ed4, 0xf7caaa55, ped, _r);
};

/**
 * NativeDB Introduced: v1232
 */
global.N_0x775fa1fc87666847 = function (collectableCategory, p1) {
	return _in(0x775fa1fc, 0x87666847, _ch(collectableCategory), p1, _r, _ri);
};

/**
 * nullsub, doesn't do anything
 */
global.N_0x77b0b6d17a3ac9aa = function (p0, p1) {
	return _in(0x77b0b6d1, 0x7a3ac9aa, p0, p1);
};

/**
 * 0x77B299E8799B1332
 */
global.N_0x77b299e8799b1332 = function (p0, p1, p2) {
	return _in(0x77b299e8, 0x799b1332, p0, p1, p2, _r, _ri);
};

/**
 * 0x77E83C315A3B31CA
 */
global.N_0x77e83c315a3b31ca = function (p0) {
	return _in(0x77e83c31, 0x5a3b31ca, p0);
};

/**
 * 0x7803436E68C32B26
 */
global.N_0x7803436e68c32b26 = function () {
	return _in(0x7803436e, 0x68c32b26);
};

/**
 * NativeDB Introduced: v1311
 */
global.N_0x780a13f780a13f1b = function (toggle) {
	return _in(0x780a13f7, 0x80a13f1b, toggle);
};

/**
 * Note: this native was added in build 1436.31
 * ```
 * ```
 * NativeDB Introduced: v1436
 */
global.N_0x78271bc02ae9af83 = function (p0) {
	return _in(0x78271bc0, 0x2ae9af83, p0, _r, _ri);
};

/**
 * 0x7840576C50A13DBA
 */
global.N_0x7840576c50a13dba = function (train, p1) {
	return _in(0x7840576c, 0x50a13dba, train, p1);
};

/**
 * 0x785639D89F8451AB
 */
global.N_0x785639d89f8451ab = function (p0, p1) {
	return _in(0x785639d8, 0x9f8451ab, p0, p1, _r, _rv);
};

/**
 * 0x78D8C1D4EB80C588
 */
global.N_0x78d8c1d4eb80c588 = function (p0) {
	return _in(0x78d8c1d4, 0xeb80c588, p0, _r, _ri);
};

/**
 * 0x79197F7D2BB5E73A
 */
global.N_0x79197f7d2bb5e73a = function (p0, p1, p2, p3, p4, p5) {
	return _in(0x79197f7d, 0x2bb5e73a, p0, p1, p2, p3, p4, p5, _r, _ri);
};

/**
 * 0x7933754F260B428A
 */
global.N_0x7933754f260b428a = function (player) {
	return _in(0x7933754f, 0x260b428a, player, _r, _ri);
};

/**
 * 0x796085220ADCC847
 */
global.N_0x796085220adcc847 = function () {
	return _in(0x79608522, 0x0adcc847, _r, _ri);
};

/**
 * Returns Item Count
 * ```
 * ```
 * NativeDB Introduced: v1355
 */
global.N_0x799fcd53358ed5fa = function (bundle, p1) {
	return _in(0x799fcd53, 0x358ed5fa, bundle, p1, _r, _ri);
};

/**
 * 0x79F478FF5F9F4F05
 */
global.N_0x79f478ff5f9f4f05 = function (enabled) {
	return _in(0x79f478ff, 0x5f9f4f05, enabled);
};

/**
 * Only used in R* SP Script cv_mus_shared
 */
global.N_0x79f9c57b8d0dfe90 = function (convoRoot, animScene) {
	return _in(0x79f9c57b, 0x8d0dfe90, _ts(convoRoot), animScene, _r);
};

/**
 * 0x7A1BD123E5CDB6E5
 */
global.N_0x7a1bd123e5cdb6e5 = function () {
	return _in(0x7a1bd123, 0xe5cdb6e5);
};

/**
 * coverLayer: see levels_0/levels/rdr3/coverlayers
 */
global.N_0x7a1fdcf35eaa140f = function (coverLayer) {
	return _in(0x7a1fdcf3, 0x5eaa140f, _ts(coverLayer));
};

/**
 * 0x7A35A72A692BE9DB
 */
global.N_0x7a35a72a692be9db = function (p0) {
	return _in(0x7a35a72a, 0x692be9db, p0, _r, _ri);
};

/**
 * 0x7A49D40DE437BC8D
 */
global.N_0x7a49d40de437bc8d = function (p0, p1) {
	return _in(0x7a49d40d, 0xe437bc8d, p0, p1);
};

/**
 * 0x7A76104CC2CC69E8
 */
global.N_0x7a76104cc2cc69e8 = function (entity, p1, p2) {
	return _in(0x7a76104c, 0xc2cc69e8, entity, p1, p2, _r, _ri);
};

/**
 * 0x7A8E8DF782B47EB0
 */
global.N_0x7a8e8df782b47eb0 = function (p0, p1, p2) {
	return _in(0x7a8e8df7, 0x82b47eb0, p0, p1, p2, _r, _ri);
};

/**
 * 0x7ABBD9E449E0DB00
 */
global.N_0x7abbd9e449e0db00 = function (ped, p1) {
	return _in(0x7abbd9e4, 0x49e0db00, ped, p1);
};

/**
 * Only used in script function PROCESS_PED_INTERRUPT_DIALOGUE
 * _GET_PLAYER_*
 */
global.N_0x7ae93c45ec14a166 = function (player, ped) {
	return _in(0x7ae93c45, 0xec14a166, player, _ii(ped) /* may be optional */, _r);
};

/**
 * Hardcoded to return false.
 */
global.N_0x7af1bb4504ea5ed9 = function () {
	return _in(0x7af1bb45, 0x04ea5ed9, _r);
};

/**
 * 0x7B3FF2D193628126
 */
global.N_0x7b3ff2d193628126 = function (player) {
	return _in(0x7b3ff2d1, 0x93628126, player);
};

/**
 * 0x7B5C293238EE4F20
 */
global.N_0x7b5c293238ee4f20 = function (p0) {
	return _in(0x7b5c2932, 0x38ee4f20, p0, _r, _ri);
};

/**
 * 0x7B8C2B846C05E5AD
 */
global.N_0x7b8c2b846c05e5ad = function () {
	return _in(0x7b8c2b84, 0x6c05e5ad, _r, _ri);
};

/**
 * 0x7BAA30C9BBE8AEE7
 */
global.N_0x7baa30c9bbe8aee7 = function (p0, p1) {
	return _in(0x7baa30c9, 0xbbe8aee7, p0, p1, _r, _ri);
};

/**
 * 0x7BB810E8B343AC7B
 */
global.N_0x7bb810e8b343ac7b = function (p0) {
	return _in(0x7bb810e8, 0xb343ac7b, p0, _r, _ri);
};

/**
 * 0x7BCA0A3972708436
 */
global.N_0x7bca0a3972708436 = function (p1) {
	return _in(0x7bca0a39, 0x72708436, _i, p1, _r, _ri);
};

/**
 * 0x7BE0746539DEF0C8
 */
global.N_0x7be0746539def0c8 = function (p0, p1) {
	return _in(0x7be07465, 0x39def0c8, p0, p1, _r, _ri);
};

/**
 * 0x7C015D8BCEC72CF4
 */
global.N_0x7c015d8bcec72cf4 = function (p0, p1) {
	return _in(0x7c015d8b, 0xcec72cf4, p0, p1);
};

/**
 * Only used in SP
 * _SET_REMOVE_PED*
 */
global.N_0x7c08e7cb8d951b70 = function (ped, p1) {
	return _in(0x7c08e7cb, 0x8d951b70, ped, _fv(p1));
};

/**
 * _CLEAR_PED_M*
 */
global.N_0x7c10221ce718aa72 = function (ped, p1) {
	return _in(0x7c10221c, 0xe718aa72, ped, p1);
};

/**
 * Only used in R* SP Scripts
 * Hash only used in R* Script mob3.ysc: ROBBERY
 * _ADD_PED*
 */
global.N_0x7c511e91738a0828 = function (ped1, ped2, p2, p3) {
	return _in(0x7c511e91, 0x738a0828, ped1, ped2, p2, _ch(p3));
};

/**
 * 0x7C680FF55617F82F
 */
global.N_0x7c680ff55617f82f = function () {
	return _in(0x7c680ff5, 0x5617f82f, _r);
};

/**
 * 0x7C8AA850617651D9
 */
global.N_0x7c8aa850617651d9 = function (p0, p1) {
	return _in(0x7c8aa850, 0x617651d9, p0, p1, _r, _ri);
};

/**
 * NativeDB Introduced: v1311
 */
global.N_0x7c9f4cdf402ca82a = function () {
	return _in(0x7c9f4cdf, 0x402ca82a);
};

/**
 * NativeDB Introduced: v1311
 */
global.N_0x7cb99fadde73cd1b = function (p0) {
	return _in(0x7cb99fad, 0xde73cd1b, p0, _r, _ri);
};

/**
 * 0x7CE9DC58E3E4755F
 */
global.N_0x7ce9dc58e3e4755f = function () {
	return _in(0x7ce9dc58, 0xe3e4755f, _r, _ri);
};

/**
 * 0x7CF96F1250EF3221
 */
global.N_0x7cf96f1250ef3221 = function (p0) {
	return _in(0x7cf96f12, 0x50ef3221, p0, _r, _ri);
};

/**
 * 0x7D4411D6736CD295
 */
global.N_0x7d4411d6736cd295 = function (p0, p1) {
	return _in(0x7d4411d6, 0x736cd295, p0, p1, _r, _ri);
};

/**
 * 0x7E176C676F8652A9
 */
global.N_0x7e176c676f8652a9 = function (p0) {
	return _in(0x7e176c67, 0x6f8652a9, p0);
};

/**
 * 0x7E300B5B86AB1D1A
 */
global.N_0x7e300b5b86ab1d1a = function (p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14) {
	return _in(0x7e300b5b, 0x86ab1d1a, _i, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14);
};

/**
 * 0x7E40A01B11398FCB
 */
global.N_0x7e40a01b11398fcb = function () {
	return _in(0x7e40a01b, 0x11398fcb);
};

/**
 * _SET_FORMATION_P*
 */
global.N_0x7e5185b979706210 = function (groupId, p1) {
	return _in(0x7e5185b9, 0x79706210, groupId, p1);
};

/**
 * 0x7E6BC0B94F5928F0
 */
global.N_0x7e6bc0b94f5928f0 = function (popZone, p1, p2) {
	return _in(0x7e6bc0b9, 0x4f5928f0, popZone, p1, p2);
};

/**
 * 0x7E8F9949B7AABBF0
 */
global.N_0x7e8f9949b7aabbf0 = function (p0, p1, p2) {
	return _in(0x7e8f9949, 0xb7aabbf0, p0, p1, p2);
};

/**
 * 0x7EC0D68233E391AC
 */
global.N_0x7ec0d68233e391ac = function (p0) {
	return _in(0x7ec0d682, 0x33e391ac, p0, _r, _ri);
};

/**
 * Only used in R* Script net_moonshine_property
 * _A* - _B*
 * ```
 * ```
 * NativeDB Introduced: v1232
 */
global.N_0x7edb3c766b0d073f = function (ped) {
	return _in(0x7edb3c76, 0x6b0d073f, ped);
};

/**
 * _IS_PED_H* - _IS_PED_I*
 */
global.N_0x7ee3a8660f38797e = function (ped) {
	return _in(0x7ee3a866, 0x0f38797e, ped, _r);
};

/**
 * _SET_DISPATCH_*
 */
global.N_0x7ef2a2fe38d74456 = function (flag, p1) {
	return _in(0x7ef2a2fe, 0x38d74456, flag, p1);
};

/**
 * 0x7F090958AE95B61B
 */
global.N_0x7f090958ae95b61b = function (ped, p1) {
	return _in(0x7f090958, 0xae95b61b, ped, p1, _r);
};

/**
 * 0x7F20092547B4DDEA
 */
global.N_0x7f20092547b4ddea = function (p0) {
	return _in(0x7f200925, 0x47b4ddea, p0);
};

/**
 * 0x7F458B543006C8FE
 */
global.N_0x7f458b543006c8fe = function (p0, p1) {
	return _in(0x7f458b54, 0x3006c8fe, p0, p1);
};

/**
 * 0x7FA58CED69405F9A
 */
global.N_0x7fa58ced69405f9a = function (p0, p1) {
	return _in(0x7fa58ced, 0x69405f9a, p0, p1);
};

/**
 * 0x7FB78B2199C10E92
 */
global.N_0x7fb78b2199c10e92 = function (p0) {
	return _in(0x7fb78b21, 0x99c10e92, p0);
};

/**
 * 0x7FC60C94C83C5CD7
 */
global.N_0x7fc60c94c83c5cd7 = function (p0, p1, p2) {
	return _in(0x7fc60c94, 0xc83c5cd7, p0, _ch(p1), p2);
};

/**
 * Only used in R* Script long_update
 * Returns a value thats being subtracted from GET_GAME_TIMER
 */
global.N_0x7fc667f6ddfbcdcc = function (player) {
	return _in(0x7fc667f6, 0xddfbcdcc, player, _r, _ri);
};

/**
 * 0x7FCD49388BC9B775
 */
global.N_0x7fcd49388bc9b775 = function (p0, p1) {
	return _in(0x7fcd4938, 0x8bc9b775, p0, p1);
};

/**
 * 0x7FD78DFD0C5D7B9B
 */
global.N_0x7fd78dfd0c5d7b9b = function (p0) {
	return _in(0x7fd78dfd, 0x0c5d7b9b, p0, _r, _ri);
};

/**
 * 0x801BD27403F3CBA0
 */
global.N_0x801bd27403f3cba0 = function (p0, p1, p2, p3) {
	return _in(0x801bd274, 0x03f3cba0, p0, p1, p2, p3);
};

/**
 * 0x8049B17BEC937662
 */
global.N_0x8049b17bec937662 = function (p0, p1, p2, p3, p4, p5, p6) {
	return _in(0x8049b17b, 0xec937662, p0, p1, p2, p3, p4, p5, p6, _r, _ri);
};

/**
 * 0x806862E5D266CF38
 */
global.N_0x806862e5d266cf38 = function (p0, p1, p2) {
	return _in(0x806862e5, 0xd266cf38, p0, p1, p2, _r, _ri);
};

/**
 * 0x80B3E0597366ADF1
 */
global.N_0x80b3e0597366adf1 = function () {
	return _in(0x80b3e059, 0x7366adf1);
};

/**
 * 0x80BB243789008A82
 */
global.N_0x80bb243789008a82 = function (p0, p1) {
	return _in(0x80bb2437, 0x89008a82, p0, p1, _r, _ri);
};

/**
 * 0x80D7A3E39B120BC4
 */
global.N_0x80d7a3e39b120bc4 = function () {
	return _in(0x80d7a3e3, 0x9b120bc4, _r, _ri);
};

/**
 * 0x80FDEB3A9E9AA578
 */
global.N_0x80fdeb3a9e9aa578 = function (entity, p1) {
	return _in(0x80fdeb3a, 0x9e9aa578, entity, p1);
};

/**
 * _ATTACH_*
 */
global.N_0x8101ba1c0b462412 = function (ped, ropeId) {
	return _in(0x8101ba1c, 0x0b462412, ped, ropeId);
};

/**
 * Used in CREATE_BEZIER_BLOOD_TRAIL_OF_TYPE
 * _ENABLE_*
 */
global.N_0x812c1563185c6fb2 = function () {
	return _in(0x812c1563, 0x185c6fb2);
};

/**
 * 0x814729078AED6D30
 */
global.N_0x814729078aed6d30 = function () {
	return _in(0x81472907, 0x8aed6d30);
};

/**
 * 0x814D453FCFDF119F
 */
global.N_0x814d453fcfdf119f = function (p0, p1, p2) {
	return _in(0x814d453f, 0xcfdf119f, p0, p1, p2);
};

/**
 * 0x815653A42C5ABE76
 */
global.N_0x815653a42c5abe76 = function () {
	return _in(0x815653a4, 0x2c5abe76);
};

/**
 * _SET_PED_COMBAT_R - _SET_PED_C*
 */
global.N_0x815c0074a1bc0d93 = function (ped, p1) {
	return _in(0x815c0074, 0xa1bc0d93, ped, p1);
};

/**
 * 0x816A3ACD265E2297
 */
global.N_0x816a3acd265e2297 = function (p0, p1) {
	return _in(0x816a3acd, 0x265e2297, p0, p1);
};

/**
 * _SET_PLAYER_DAMAGE_* - _SET_PLAYER_DEFENSE_*
 */
global.N_0x818241b3eda84191 = function (player, p1) {
	return _in(0x818241b3, 0xeda84191, player, p1);
};

/**
 * 0x81847C2134039BDC
 */
global.N_0x81847c2134039bdc = function (p0) {
	return _in(0x81847c21, 0x34039bdc, _ii(p0) /* may be optional */, _r);
};

/**
 * 0x81F4E92BE3958364
 */
global.N_0x81f4e92be3958364 = function (p0, p1, p2) {
	return _in(0x81f4e92b, 0xe3958364, p0, p1, p2);
};

/**
 * 0x821C32C728B24477
 */
global.N_0x821c32c728b24477 = function (p0, p1, p2) {
	return _in(0x821c32c7, 0x28b24477, p0, p1, p2);
};

/**
 * 0x827A58CED9D4D5B4
 */
global.N_0x827a58ced9d4d5b4 = function (p0, p1) {
	return _in(0x827a58ce, 0xd9d4d5b4, p0, p1);
};

/**
 * 0x82CB0F3F0C7785E5
 */
global.N_0x82cb0f3f0c7785e5 = function (p0) {
	return _in(0x82cb0f3f, 0x0c7785e5, p0, _r, _ri);
};

/**
 * 0x82ED59F095056550
 */
global.N_0x82ed59f095056550 = function (p0, p1) {
	return _in(0x82ed59f0, 0x95056550, p0, p1);
};

/**
 * Only used in rcm_gunslinger1_1 R* Script: p0 = 0
 */
global.N_0x82f11e1296996574 = function (p0) {
	return _in(0x82f11e12, 0x96996574, p0);
};

/**
 * Only used in R* SP Scripts
 */
global.N_0x8312f09c56149a8a = function (animalType) {
	return _in(0x8312f09c, 0x56149a8a, _ch(animalType));
};

/**
 * 0x8314FC2013ECE2DA
 */
global.N_0x8314fc2013ece2da = function (p0, p1, p2) {
	return _in(0x8314fc20, 0x13ece2da, p0, p1, p2, _r, _ri);
};

/**
 * 0x8379E05871AD24E0
 */
global.N_0x8379e05871ad24e0 = function () {
	return _in(0x8379e058, 0x71ad24e0);
};

/**
 * 0x839C9F124BE74D94
 */
global.N_0x839c9f124be74d94 = function (p0, p1, p2, p3, p4) {
	return _in(0x839c9f12, 0x4be74d94, p0, p1, p2, p3, p4);
};

/**
 * 0x83C989D5B5B5B466
 */
global.N_0x83c989d5b5b5b466 = function (p0, p1) {
	return _in(0x83c989d5, 0xb5b5b466, p0, p1);
};

/**
 * _GET*
 */
global.N_0x83d43f0fd5276e4d = function (entity, p1) {
	return _in(0x83d43f0f, 0xd5276e4d, entity, p1, _r, _ri);
};

/**
 * 0x84481018E668E1B8
 */
global.N_0x84481018e668e1b8 = function (player, ped, p2) {
	return _in(0x84481018, 0xe668e1b8, player, ped, p2);
};

/**
 * 0x847748AE5D7B1071
 */
global.N_0x847748ae5d7b1071 = function (p0) {
	return _in(0x847748ae, 0x5d7b1071, p0, _r);
};

/**
 * 0x849791EBBDBA0362
 */
global.N_0x849791ebbdba0362 = function (p0) {
	return _in(0x849791eb, 0xbdba0362, p0, _r, _ri);
};

/**
 * 0x8505E05FC8822843
 */
global.N_0x8505e05fc8822843 = function (p0) {
	return _in(0x8505e05f, 0xc8822843, p0);
};

/**
 * 0x850CE59DEC2028F3
 */
global.N_0x850ce59dec2028f3 = function (vehicle, p1) {
	return _in(0x850ce59d, 0xec2028f3, vehicle, p1);
};

/**
 * 0x851966E1E35AF491
 */
global.N_0x851966e1e35af491 = function (p0, p1) {
	return _in(0x851966e1, 0xe35af491, p0, p1);
};

/**
 * 0x856CE8FDE2416602
 */
global.N_0x856ce8fde2416602 = function (ped) {
	return _in(0x856ce8fd, 0xe2416602, ped, _r);
};

/**
 * SET_PLAYER_S/T*
 */
global.N_0x8591ee69cc3ed257 = function (player, toggle) {
	return _in(0x8591ee69, 0xcc3ed257, player, toggle);
};

/**
 * 0x85B8F04555AB49B8
 */
global.N_0x85b8f04555ab49b8 = function (p0) {
	return _in(0x85b8f045, 0x55ab49b8, p0, _r, _ri);
};

/**
 * Used in Script Function SKCS_PLAYER_ROBBING
 * _SET_PED_A*
 */
global.N_0x85f500f4e24ca43e = function (ped, p1) {
	return _in(0x85f500f4, 0xe24ca43e, ped, _fv(p1));
};

/**
 * 0x862C5040F4888741
 */
global.N_0x862c5040f4888741 = function (player1, player2) {
	return _in(0x862c5040, 0xf4888741, player1, player2, _r);
};

/**
 * Not implemented.
 */
global.N_0x864a842b86993851 = function (ped) {
	return _in(0x864a842b, 0x86993851, ped);
};

/**
 * 0x865732725536EE39
 */
global.N_0x865732725536ee39 = function (p0) {
	return _in(0x86573272, 0x5536ee39, p0, _r, _rv);
};

/**
 * 0x869A7015BD4606E9
 */
global.N_0x869a7015bd4606e9 = function (p0) {
	return _in(0x869a7015, 0xbd4606e9, p0);
};

/**
 * _BOUNTY_C* or _BOUNTY_GET_*
 * ```
 * ```
 * NativeDB Introduced: v1436
 */
global.N_0x86ec5f83867c4b70 = function (p0) {
	return _in(0x86ec5f83, 0x867c4b70, _ii(p0) /* may be optional */, _r);
};

/**
 * _SET_PED_*
 */
global.N_0x86f0b6730c32ac14 = function (ped, p1) {
	return _in(0x86f0b673, 0x0c32ac14, ped, p1);
};

/**
 * 0x86FAFC18E3D4380C
 */
global.N_0x86fafc18e3d4380c = function (groupId, p1) {
	return _in(0x86fafc18, 0xe3d4380c, groupId, p1);
};

/**
 * 0x8702D9150D9FBB3D
 */
global.N_0x8702d9150d9fbb3d = function (p0, p1) {
	return _in(0x8702d915, 0x0d9fbb3d, p0, p1, _r, _ri);
};

/**
 * 0x870E9981ED27C815
 */
global.N_0x870e9981ed27c815 = function (p0, p1, p2, p3, p4, p5) {
	return _in(0x870e9981, 0xed27c815, p0, p1, p2, p3, p4, p5, _r, _ri);
};

/**
 * 0x873AAF600CC36DAC
 */
global.N_0x873aaf600cc36dac = function (p0) {
	return _in(0x873aaf60, 0x0cc36dac, p0);
};

/**
 * 0x873C792E07A32C8B
 */
global.N_0x873c792e07a32c8b = function (ped1, ped2) {
	return _in(0x873c792e, 0x07a32c8b, ped1, ped2);
};

/**
 * 0x877EA24EB1614495
 */
global.N_0x877ea24eb1614495 = function (p0, p1, p2) {
	return _in(0x877ea24e, 0xb1614495, p0, p1, p2, _r, _ri);
};

/**
 * 0x878E8104FA27CDAE
 */
global.N_0x878e8104fa27cdae = function (vehicle, p1) {
	return _in(0x878e8104, 0xfa27cdae, vehicle, _ch(p1));
};

/**
 * 0x8798CF6815B8FE0F
 */
global.N_0x8798cf6815b8fe0f = function (p0, p1) {
	return _in(0x8798cf68, 0x15b8fe0f, p0, p1);
};

/**
 * 0x87B974E54C71BA7B
 */
global.N_0x87b974e54c71ba7b = function (vehicle, p1) {
	return _in(0x87b974e5, 0x4c71ba7b, vehicle, p1);
};

/**
 * _CLEAR_PED_E* - _CLEAR_PED_L*
 */
global.N_0x87c2724a56f66020 = function (ped) {
	return _in(0x87c2724a, 0x56f66020, ped);
};

/**
 * 0x87F005C969EF1563
 */
global.N_0x87f005c969ef1563 = function (p0) {
	return _in(0x87f005c9, 0x69ef1563, _fv(p0), _r);
};

/**
 * Params: p5 = 50.f, p6 = 0 in R* Script net_fetch (NET_FETCH_CLIENT_UPDATE_PED_ROLE_CLUE_IDLE)
 * ```
 * ```
 * NativeDB Introduced: v1311
 */
global.N_0x880a7202301e282b = function (x, y, z, p5, p6) {
	return _in(0x880a7202, 0x301e282b, _i, _i, _fv(x), _fv(y), _fv(z), _fv(p5), p6, _r);
};

/**
 * Only used in R* Script train_robbery4
 * _SET_PED_D*
 */
global.N_0x8822f124788b8d0a = function (ped, p1) {
	return _in(0x8822f124, 0x788b8d0a, ped, p1);
};

/**
 * If returned true, SET_ENABLE_BOUND_ANKLES is called in R* Script guama2
 * _GET_D* - _GET_E*
 */
global.N_0x8822f139408b8d0a = function (ped) {
	return _in(0x8822f139, 0x408b8d0a, ped, _r);
};

/**
 * UPDATE_PLAYER_PLAYING_STATE - Releasing Lasso Hint Cam
 * Return type char in ida
 * _SET_GAMEPLAY_HINT_*
 */
global.N_0x88544c0e3291dcae = function (p0) {
	return _in(0x88544c0e, 0x3291dcae, p0);
};

/**
 * 0x885D19AC2B6FBFF4
 */
global.N_0x885d19ac2b6fbff4 = function (p0, p1) {
	return _in(0x885d19ac, 0x2b6fbff4, p0, p1);
};

/**
 * NativeDB Introduced: v1232
 */
global.N_0x886657c5b3d8ede3 = function (entity) {
	return _in(0x886657c5, 0xb3d8ede3, entity, _r, _ri);
};

/**
 * NativeDB Introduced: v1232
 */
global.N_0x8870895ba5ed9385 = function (p0, tagType, p2) {
	return _in(0x8870895b, 0xa5ed9385, p0, _ch(tagType), p2, _r, _ri);
};

/**
 * 0x8878FF3EEE2868A9
 */
global.N_0x8878ff3eee2868a9 = function (p0, p1) {
	return _in(0x8878ff3e, 0xee2868a9, p0, p1);
};

/**
 * 0x88A5564B19C15391
 */
global.N_0x88a5564b19c15391 = function (ped) {
	return _in(0x88a5564b, 0x19c15391, ped, _r);
};

/**
 * Used in R* Script generic_weight_control_item
 * _CLEAR_PED_E* - CLEAR_PED_(G?)L*
 */
global.N_0x88a95bb640fc186f = function (ped) {
	return _in(0x88a95bb6, 0x40fc186f, ped);
};

/**
 * 0x88B2026A3B0BE33D
 */
global.N_0x88b2026a3b0be33d = function (ped, p1) {
	return _in(0x88b2026a, 0x3b0be33d, ped, _fv(p1));
};

/**
 * 0x88FD60D846D9CD63
 */
global.N_0x88fd60d846d9cd63 = function (ped) {
	return _in(0x88fd60d8, 0x46d9cd63, ped);
};

/**
 * 0x894B5ECAB45D2342
 */
global.N_0x894b5ecab45d2342 = function (netHandle, p1) {
	return _in(0x894b5eca, 0xb45d2342, netHandle, p1);
};

/**
 * 0x897934E868EDDD6C
 */
global.N_0x897934e868eddd6c = function (ped, p1, p2, p3, p4) {
	return _in(0x897934e8, 0x68eddd6c, ped, p1, _fv(p2), _fv(p3), _fv(p4));
};

/**
 * _GET_PED_B* - _GET_PED_C*
 */
global.N_0x89816b58c3466262 = function (ped) {
	return _in(0x89816b58, 0xc3466262, ped, _r, _ri);
};

/**
 * 0x898586729DB5221D
 */
global.N_0x898586729db5221d = function (ped) {
	return _in(0x89858672, 0x9db5221d, ped);
};

/**
 * 0x8996FA6AD9FE4E90
 */
global.N_0x8996fa6ad9fe4e90 = function (p0) {
	return _in(0x8996fa6a, 0xd9fe4e90, p0);
};

/**
 * _SET_PED_O*
 */
global.N_0x899dfa0009ac93de = function (ped, p1) {
	return _in(0x899dfa00, 0x09ac93de, ped, _fv(p1));
};

/**
 * 0x89E005B1662F6E48
 */
global.N_0x89e005b1662f6e48 = function (player, p1, p2) {
	return _in(0x89e005b1, 0x662f6e48, player, p1, p2, _r);
};

/**
 * _SET_C*
 */
global.N_0x89e59dbd15e21177 = function (groupId, p1) {
	return _in(0x89e59dbd, 0x15e21177, groupId, p1);
};

/**
 * 0x8A59D44189AF2BC5
 */
global.N_0x8a59d44189af2bc5 = function (p0, p1) {
	return _in(0x8a59d441, 0x89af2bc5, p0, p1);
};

/**
 * Only used in R* SP Scripts native_son2, native_son3 and smuggler2
 * Params: p2 = -1
 */
global.N_0x8a779706da5ca3dd = function (ped, p1, p2) {
	return _in(0x8a779706, 0xda5ca3dd, ped, p1, p2);
};

/**
 * 0x8AE4EFA464DAE42D
 */
global.N_0x8ae4efa464dae42d = function (p0, p1) {
	return _in(0x8ae4efa4, 0x64dae42d, p0, p1);
};

/**
 * _SET_PED_IN*
 */
global.N_0x8af46e5159a5b620 = function (ped, speechParams) {
	return _in(0x8af46e51, 0x59a5b620, ped, _ch(speechParams));
};

/**
 * Returns offset (0 < 32) to be used with MISC::SET_BIT
 * _GET_PED_CR*
 */
global.N_0x8af8e647d6b2a649 = function (groupId, ped) {
	return _in(0x8af8e647, 0xd6b2a649, groupId, ped, _r, _ri);
};

/**
 * _SET_FORMATION_*
 */
global.N_0x8afccc0f18d70018 = function (groupId, p1) {
	return _in(0x8afccc0f, 0x18d70018, groupId, p1);
};

/**
 * NativeDB Introduced: v1311
 */
global.N_0x8b1a5fe7e41e52b2 = function () {
	return _in(0x8b1a5fe7, 0xe41e52b2, _r, _ri);
};

/**
 * 0x8B1FDF63C3193EDA
 */
global.N_0x8b1fdf63c3193eda = function (ped, p1) {
	return _in(0x8b1fdf63, 0xc3193eda, ped, _fv(p1));
};

/**
 * 0x8B44273A92CD406C
 */
global.N_0x8b44273a92cd406c = function (p0) {
	return _in(0x8b44273a, 0x92cd406c, p0);
};

/**
 * NativeDB Introduced: v1232
 */
global.N_0x8b55b324a9123f6b = function (groupId, volume, p2, p3, p4, p5) {
	return _in(0x8b55b324, 0xa9123f6b, groupId, volume, _ts(p2), p3, p4, p5, _r, _ri);
};

/**
 * 0x8B74032DDD2156FE
 */
global.N_0x8b74032ddd2156fe = function (p0, p1, p2, p3, p4) {
	return _in(0x8b74032d, 0xdd2156fe, p0, p1, p2, p3, p4);
};

/**
 * 0x8BA0C65AC15A7D33
 */
global.N_0x8ba0c65ac15a7d33 = function (p0, p1, p2, p3) {
	return _in(0x8ba0c65a, 0xc15a7d33, p0, p1, p2, p3);
};

/**
 * 0x8BA3D7B1E83EF803
 */
global.N_0x8ba3d7b1e83ef803 = function (p0) {
	return _in(0x8ba3d7b1, 0xe83ef803, _ch(p0), _r, _ri);
};

/**
 * 0x8BB283A7888AD1AD
 */
global.N_0x8bb283a7888ad1ad = function (p0, p1, p2) {
	return _in(0x8bb283a7, 0x888ad1ad, p0, p1, p2);
};

/**
 * 0x8BB99B85444544D9
 */
global.N_0x8bb99b85444544d9 = function (p0, p1) {
	return _in(0x8bb99b85, 0x444544d9, p0, p1, _r, _ri);
};

/**
 * 0x8BC555034A5A5E8C
 */
global.N_0x8bc555034a5a5e8c = function (p0, p1) {
	return _in(0x8bc55503, 0x4a5a5e8c, p0, p1);
};

/**
 * Used in Script Function NET_CAMP_DOG_CLIENT_HANDLE_ANIMAL_INTERACTION
 */
global.N_0x8be24d74d74c6e9b = function (ped) {
	return _in(0x8be24d74, 0xd74c6e9b, ped, _r, _ri);
};

/**
 * 0x8C0F6A3D7236DEEB
 */
global.N_0x8c0f6a3d7236deeb = function (p0, p1) {
	return _in(0x8c0f6a3d, 0x7236deeb, p0, p1);
};

/**
 * _SET_TRANSPORT_*
 */
global.N_0x8c8371edfaf014a0 = function (ped, p1) {
	return _in(0x8c8371ed, 0xfaf014a0, ped, _fv(p1));
};

/**
 * 0x8C889E4CBB4B2356
 */
global.N_0x8c889e4cbb4b2356 = function (p0, ped) {
	return _in(0x8c889e4c, 0xbb4b2356, p0, ped);
};

/**
 * _SET_PED_T* - SET_PED_U*
 */
global.N_0x8cb2553c559102c1 = function (ped, p1, p2) {
	return _in(0x8cb2553c, 0x559102c1, ped, p1, p2);
};

/**
 * _ITEMDATABASE_FILLOUT_(A)* - _ITEMDATABASE_FILLOUT_(B)*
 */
global.N_0x8d029948ca29409b = function (award, p1, p2) {
	return _in(0x8d029948, 0xca29409b, _ch(award), p1, p2, _r);
};

/**
 * NativeDB Introduced: v1232
 */
global.N_0x8d29fdf565ded9ae = function (p0, p1, p2) {
	return _in(0x8d29fdf5, 0x65ded9ae, p0, p1, p2);
};

/**
 * 0x8D56BDA343D9519F
 */
global.N_0x8d56bda343d9519f = function (p0) {
	return _in(0x8d56bda3, 0x43d9519f, p0, _r, _ri);
};

/**
 * _ROPE_SET_*
 */
global.N_0x8d59079c37c21d78 = function (ropeId, p1) {
	return _in(0x8d59079c, 0x37c21d78, ropeId, _fv(p1));
};

/**
 * 0x8D9DB115FBA8E23D
 */
global.N_0x8d9db115fba8e23d = function (p0) {
	return _in(0x8d9db115, 0xfba8e23d, p0);
};

/**
 * 0x8DB104CCEBCD58C5
 */
global.N_0x8db104ccebcd58c5 = function (p0, p1) {
	return _in(0x8db104cc, 0xebcd58c5, p0, p1, _r, _ri);
};

/**
 * 0x8DE104BEC243A73B
 */
global.N_0x8de104bec243a73b = function (p0) {
	return _in(0x8de104be, 0xc243a73b, p0);
};

/**
 * 0x8DECD262602548B9
 */
global.N_0x8decd262602548b9 = function (p0, p1) {
	return _in(0x8decd262, 0x602548b9, p0, p1);
};

/**
 * 0x8E036B41C37D0E5F
 */
global.N_0x8e036b41c37d0e5f = function (p0) {
	return _in(0x8e036b41, 0xc37d0e5f, p0);
};

/**
 * 0x8E10DF0FFA63FB65
 */
global.N_0x8e10df0ffa63fb65 = function (p0, p1, p2, p3, p4) {
	return _in(0x8e10df0f, 0xfa63fb65, p0, p1, p2, p3, p4, _r, _ri);
};

/**
 * 0x8E1DDE26D270CC5E
 */
global.N_0x8e1dde26d270cc5e = function (p0, p1) {
	return _in(0x8e1dde26, 0xd270cc5e, p0, p1);
};

/**
 * 0x8E462DB1EAA9C47C
 */
global.N_0x8e462db1eaa9c47c = function (player) {
	return _in(0x8e462db1, 0xeaa9c47c, player, _r);
};

/**
 * Used in Script Function GENERIC_ITEM_HAS_ANIM_COMPLETED
 * _GET_ENTITY_*
 */
global.N_0x8e46e18aa828334f = function (entity, animDict, animClip) {
	return _in(0x8e46e18a, 0xa828334f, entity, _ts(animDict), _ts(animClip), _r, _rf);
};

/**
 * 0x8E8FFB9E4AD051D2
 */
global.N_0x8e8ffb9e4ad051d2 = function (p0, p1, p2, p3) {
	return _in(0x8e8ffb9e, 0x4ad051d2, p0, p1, p2, p3);
};

/**
 * 0x8E901B65206C2D3E
 */
global.N_0x8e901b65206c2d3e = function (ped) {
	return _in(0x8e901b65, 0x206c2d3e, ped);
};

/**
 * 0x8EC7CD701F872F87
 */
global.N_0x8ec7cd701f872f87 = function (p0, p1, p2, p3, p4, p5) {
	return _in(0x8ec7cd70, 0x1f872f87, p0, p1, p2, p3, p4, p5);
};

/**
 * 0x8EEDFD8921389928
 */
global.N_0x8eedfd8921389928 = function (p0, p1, p2, p3, p4, p5, p6, p7, p8, p9) {
	return _in(0x8eedfd89, 0x21389928, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9);
};

/**
 * 0x8F44EBB3BA8F6D44
 */
global.N_0x8f44ebb3ba8f6d44 = function (p0, p1) {
	return _in(0x8f44ebb3, 0xba8f6d44, p0, p1);
};

/**
 * 0x8F8C84363810691A
 */
global.N_0x8f8c84363810691a = function (p0, p1) {
	return _in(0x8f8c8436, 0x3810691a, p0, p1);
};

/**
 * 0x8FB98B719AA0075A
 */
global.N_0x8fb98b719aa0075a = function (p0, p1, p2, p3, p4) {
	return _in(0x8fb98b71, 0x9aa0075a, p0, p1, p2, p3, p4);
};

/**
 * Used in Script Function AGGRO_SHOULD_PED_HEAR_DEATH
 * _GET_PED_*
 */
global.N_0x900ca00ce703e1e2 = function (ped) {
	return _in(0x900ca00c, 0xe703e1e2, ped, _r, _rf);
};

/**
 * 0x9044835BE9D9DBFE
 */
global.N_0x9044835be9d9dbfe = function (p0, p1) {
	return _in(0x9044835b, 0xe9d9dbfe, p0, p1);
};

/**
 * 0x9050DF2C53801208
 */
global.N_0x9050df2c53801208 = function (ped, p1) {
	return _in(0x9050df2c, 0x53801208, ped, _fv(p1));
};

/**
 * 0x90703A8F75EE4ABD
 */
global.N_0x90703a8f75ee4abd = function (p0, p1) {
	return _in(0x90703a8f, 0x75ee4abd, p0, p1, _r, _ri);
};

/**
 * 0x9073EC5456651A90
 */
global.N_0x9073ec5456651a90 = function (p0, p1) {
	return _in(0x9073ec54, 0x56651a90, p0, p1);
};

/**
 * 0x9078FB0557364099
 */
global.N_0x9078fb0557364099 = function (p0) {
	return _in(0x9078fb05, 0x57364099, p0);
};

/**
 * 0x908BB14BCE85C80E
 */
global.N_0x908bb14bce85c80e = function (p0) {
	return _in(0x908bb14b, 0xce85c80e, p0, _r, _ri);
};

/**
 * 0x908D4B72854C8F62
 */
global.N_0x908d4b72854c8f62 = function (p0) {
	return _in(0x908d4b72, 0x854c8f62, p0);
};

/**
 * 0x910B088E51A511AC
 */
global.N_0x910b088e51a511ac = function () {
	return _in(0x910b088e, 0x51a511ac, _r, _ri);
};

/**
 * 0x910E260AEAD855DE
 */
global.N_0x910e260aead855de = function () {
	return _in(0x910e260a, 0xead855de);
};

/**
 * _IS_PED_S* - _IS_PED_U*
 */
global.N_0x913d04a5176f84c9 = function (ped) {
	return _in(0x913d04a5, 0x176f84c9, ped, _r);
};

/**
 * Note: this native was added in build 1311.23
 * ```
 * ```
 * NativeDB Introduced: v1311
 */
global.N_0x917ad74bdcf8b6e9 = function (p0) {
	return _in(0x917ad74b, 0xdcf8b6e9, p0, _r, _ri);
};

/**
 * 0x9184788BFF1EDAD7
 */
global.N_0x9184788bff1edad7 = function (p0, p1) {
	return _in(0x9184788b, 0xff1edad7, p0, p1);
};

/**
 * 0x919AF2D93E9AA89D
 */
global.N_0x919af2d93e9aa89d = function (player) {
	return _in(0x919af2d9, 0x3e9aa89d, player, _r);
};

/**
 * statId: see STAT_ID_IS_VALID
 */
global.N_0x91a4f58e01ed5e4c = function (value) {
	return _in(0x91a4f58e, 0x01ed5e4c, _i, value);
};

/**
 * 0x91BAB9E064F036CD
 */
global.N_0x91bab9e064f036cd = function (p0, p1) {
	return _in(0x91bab9e0, 0x64f036cd, p0, p1);
};

/**
 * 0x91CB5E431F579BA1
 */
global.N_0x91cb5e431f579ba1 = function (p0) {
	return _in(0x91cb5e43, 0x1f579ba1, p0, _r, _rv);
};

/**
 * NativeDB Introduced: v1311
 */
global.N_0x920684be432875b1 = function (p0) {
	return _in(0x920684be, 0x432875b1, p0, _r, _ri);
};

/**
 * NativeDB Introduced: v1311
 */
global.N_0x9229ed770975bd9e = function () {
	return _in(0x9229ed77, 0x0975bd9e);
};

/**
 * 0x923346025512DFB7
 */
global.N_0x923346025512dfb7 = function (p0) {
	return _in(0x92334602, 0x5512dfb7, p0, _r, _ri);
};

/**
 * 0x92690B0822493CE0
 */
global.N_0x92690b0822493ce0 = function () {
	return _in(0x92690b08, 0x22493ce0);
};

/**
 * _GET_A* - _GET_C*
 */
global.N_0x927861b2c08dbea5 = function (player) {
	return _in(0x927861b2, 0xc08dbea5, player, _r);
};

/**
 * NativeDB Introduced: v1232
 */
global.N_0x929ddd5538f3df1f = function (p0, p1) {
	return _in(0x929ddd55, 0x38f3df1f, p0, p1);
};

/**
 * 0x92A1B55A59720395
 */
global.N_0x92a1b55a59720395 = function (p0, p1) {
	return _in(0x92a1b55a, 0x59720395, p0, p1);
};

/**
 * 0x92A32BA29622763F
 */
global.N_0x92a32ba29622763f = function (id, index, p2) {
	return _in(0x92a32ba2, 0x9622763f, id, index, _ii(p2) /* may be optional */, _r);
};

/**
 * 0x935DBD96D4A3DA1F
 */
global.N_0x935dbd96d4a3da1f = function (p0, currentScriptedConvoLine) {
	return _in(0x935dbd96, 0xd4a3da1f, _ts(p0), currentScriptedConvoLine, _r, _ri);
};

/**
 * 0x93624B36E8851B42
 */
global.N_0x93624b36e8851b42 = function (player) {
	return _in(0x93624b36, 0xe8851b42, player);
};

/**
 * 0x93F2E7B5DB85657B
 */
global.N_0x93f2e7b5db85657b = function (p0, p1) {
	return _in(0x93f2e7b5, 0xdb85657b, p0, p1, _r, _ri);
};

/**
 * Only used in R* SP Script guama3
 */
global.N_0x9409c62504a8f9e9 = function (vehicle, p1) {
	return _in(0x9409c625, 0x04a8f9e9, vehicle, p1);
};

/**
 * _GET_IS_PED_*
 */
global.N_0x94132d7c8d3575c4 = function (ped) {
	return _in(0x94132d7c, 0x8d3575c4, ped, _r);
};

/**
 * 0x9420FB11B8D77948
 */
global.N_0x9420fb11b8d77948 = function (p0) {
	return _in(0x9420fb11, 0xb8d77948, p0, _r, _ri);
};

/**
 * 0x9422743A5BA50E10
 */
global.N_0x9422743a5ba50e10 = function (p0) {
	return _in(0x9422743a, 0x5ba50e10, p0, _r, _ri);
};

/**
 * 0x9461A8FAB0378E5B
 */
global.N_0x9461a8fab0378e5b = function (p0, p1) {
	return _in(0x9461a8fa, 0xb0378e5b, p0, p1);
};

/**
 * flags: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/0x947E43F544B6AB34
 * _GET_PED_G* - _GET_PED_I(NTERACTION?)*
 */
global.N_0x947e43f544b6ab34 = function (ped, player, flag, ms) {
	return _in(0x947e43f5, 0x44b6ab34, ped, player, flag, ms, _r);
};

/**
 * 0x94995829ED15A598
 */
global.N_0x94995829ed15a598 = function (p0) {
	return _in(0x94995829, 0xed15a598, p0, _r, _rv);
};

/**
 * nullsub, doesn't do anything
 */
global.N_0x94b261f1f35293e1 = function (p0) {
	return _in(0x94b261f1, 0xf35293e1, p0);
};

/**
 * 0x94E8CA3DEE952789
 */
global.N_0x94e8ca3dee952789 = function (p0, p1) {
	return _in(0x94e8ca3d, 0xee952789, p0, p1, _r, _ri);
};

/**
 * 0x94FCADCF9F0C368E
 */
global.N_0x94fcadcf9f0c368e = function (p0) {
	return _in(0x94fcadcf, 0x9f0c368e, p0);
};

/**
 * Related to container entity (RANSACK_ATTACHED_LOCKBOX / RANSACK_ATTACHED_CHEST)
 * ```
 * ```
 * NativeDB Introduced: v1355
 */
global.N_0x950acd8f05b7b9df = function (p0) {
	return _in(0x950acd8f, 0x05b7b9df, p0, _r, _ri);
};

/**
 * p0: value returned by 0x46DB71883EE9D5AF
 */
global.N_0x951847cef3d829ff = function (p0, ped) {
	return _in(0x951847ce, 0xf3d829ff, p0, _i, ped);
};

/**
 * _SET_P*
 */
global.N_0x9520175b35e2268d = function (ped, p1) {
	return _in(0x9520175b, 0x35e2268d, ped, p1);
};

/**
 * 0x954451EA2D2120FB
 */
global.N_0x954451ea2d2120fb = function (p0, p1) {
	return _in(0x954451ea, 0x2d2120fb, p0, p1);
};

/**
 * 0x957D7E750216D74B
 */
global.N_0x957d7e750216d74b = function (ped) {
	return _in(0x957d7e75, 0x0216d74b, ped, _r, _ri);
};

/**
 * NativeDB Introduced: v1232
 */
global.N_0x958278b97c4affd8 = function (p0, p1) {
	return _in(0x958278b9, 0x7c4affd8, p0, p1);
};

/**
 * 0x9585FF23C4B8EDE0
 */
global.N_0x9585ff23c4b8ede0 = function (p0, p1) {
	return _in(0x9585ff23, 0xc4b8ede0, p0, p1);
};

/**
 * 0x95878B13E272EF1F
 */
global.N_0x95878b13e272ef1f = function (entity, ped, p2, x, y, z, crimeType) {
	return _in(0x95878b13, 0xe272ef1f, entity, ped, p2, _fv(x), _fv(y), _fv(z), _ch(crimeType), _r, _ri);
};

/**
 * 0x95CA12E2C68043E5
 */
global.N_0x95ca12e2c68043e5 = function (p0, p1) {
	return _in(0x95ca12e2, 0xc68043e5, p0, p1, _r, _ri);
};

/**
 * NativeDB Introduced: v1311
 */
global.N_0x96282005c5c6801f = function (p0, p1) {
	return _in(0x96282005, 0xc5c6801f, p0, p1);
};

/**
 * 0x9629FAF6460D35CB
 */
global.N_0x9629faf6460d35cb = function (group, p1) {
	return _in(0x9629faf6, 0x460d35cb, _ch(group), p1);
};

/**
 * Only used in R* Script mob4 combined with SET_ANIMAL_TUNING_BOOL_PARAM
 * _SET_PED_S* - _SET_PED_TARGET_*
 */
global.N_0x96595b36d6a2279b = function (animal, toggle) {
	return _in(0x96595b36, 0xd6a2279b, animal, toggle);
};

/**
 * 0x9667CCE29BFA0780
 */
global.N_0x9667cce29bfa0780 = function (p0) {
	return _in(0x9667cce2, 0x9bfa0780, p0);
};

/**
 * _SET_FORMATION_P*
 */
global.N_0x966de09688a1de39 = function (groupId, p1, p2, p3, p4) {
	return _in(0x966de096, 0x88a1de39, groupId, _fv(p1), _fv(p2), _fv(p3), _fv(p4));
};

/**
 * 0x96C7B659854DE629
 */
global.N_0x96c7b659854de629 = function (p0, p1) {
	return _in(0x96c7b659, 0x854de629, p0, p1);
};

/**
 * 0x970339EFA4FDE518
 */
global.N_0x970339efa4fde518 = function (p0, p1, p2) {
	return _in(0x970339ef, 0xa4fde518, p0, p1, p2, _r, _ri);
};

/**
 * 0x974DA3408DEC4E79
 */
global.N_0x974da3408dec4e79 = function (p0) {
	return _in(0x974da340, 0x8dec4e79, p0, _r, _ri);
};

/**
 * _IS_SCRIPTED_S*
 */
global.N_0x975f6ebb62632fe3 = function () {
	return _in(0x975f6ebb, 0x62632fe3, _r);
};

/**
 * Only used in loanshark_miner1 R* Script: name = ANNESBURG_MINES
 */
global.N_0x9772395cc73e8d1f = function (ped, name) {
	return _in(0x9772395c, 0xc73e8d1f, ped, _ts(name));
};

/**
 * 0x978AA2323ED32209
 */
global.N_0x978aa2323ed32209 = function (p0, p1) {
	return _in(0x978aa232, 0x3ed32209, p0, p1);
};

/**
 * Must be called from a background script, otherwise it will do nothing.
 */
global.N_0x979765465a6f25fc = function (entity, p1) {
	return _in(0x97976546, 0x5a6f25fc, entity, p1);
};

/**
 * _SET_PED_D*
 */
global.N_0x97a38b65ebda3d50 = function (ped, p1) {
	return _in(0x97a38b65, 0xebda3d50, ped, p1);
};

/**
 * _CLEAR*
 */
global.N_0x97b06669ac569003 = function (ped1, ped2) {
	return _in(0x97b06669, 0xac569003, ped1, ped2);
};

/**
 * 0x97BCE4C4B3191228
 */
global.N_0x97bce4c4b3191228 = function () {
	return _in(0x97bce4c4, 0xb3191228);
};

/**
 * _SET_SCENARIO_PED_* - _SET_SPAWNER_*
 */
global.N_0x97c475212b327666 = function (groupId, p1) {
	return _in(0x97c47521, 0x2b327666, groupId, p1);
};

/**
 * 0x97F6F158CC5B5CA2
 */
global.N_0x97f6f158cc5b5ca2 = function (entity, p1) {
	return _in(0x97f6f158, 0xcc5b5ca2, entity, p1);
};

/**
 * 0x981146E5C9CE9250
 */
global.N_0x981146e5c9ce9250 = function (inviteIndex) {
	return _in(0x981146e5, 0xc9ce9250, inviteIndex, _r);
};

/**
 * 0x981C7D863980FA51
 */
global.N_0x981c7d863980fa51 = function () {
	return _in(0x981c7d86, 0x3980fa51);
};

/**
 * Note: this native was added in build 1311.23
 * ```
 * ```
 * NativeDB Introduced: v1311
 */
global.N_0x982d7ad755b8f62c = function (p0) {
	return _in(0x982d7ad7, 0x55b8f62c, p0, _r, _ri);
};

/**
 * 0x9851DE7AEC10B4E1
 */
global.N_0x9851de7aec10b4e1 = function (x, y, z, p3, p4, p5) {
	return _in(0x9851de7a, 0xec10b4e1, _fv(x), _fv(y), _fv(z), _fv(p3), p4, p5);
};

/**
 * nullsub, doesn't do anything
 */
global.N_0x9868c0d0134855f7 = function (p0) {
	return _in(0x9868c0d0, 0x134855f7, p0);
};

/**
 * 0x987BE590FB9D41E5
 */
global.N_0x987be590fb9d41e5 = function (p0) {
	return _in(0x987be590, 0xfb9d41e5, p0);
};

/**
 * NativeDB Introduced: v1232
 */
global.N_0x988c9045531b9fce = function (player, p1) {
	return _in(0x988c9045, 0x531b9fce, player, _ts(p1));
};

/**
 * 0x98A7598C579EE871
 */
global.N_0x98a7598c579ee871 = function (p0, p1, p2) {
	return _in(0x98a7598c, 0x579ee871, p0, p1, p2);
};

/**
 * 0x991E3346D788F20F
 */
global.N_0x991e3346d788f20f = function (p0, p1) {
	return _in(0x991e3346, 0xd788f20f, p0, p1);
};

/**
 * NativeDB Introduced: v1311
 */
global.N_0x992187d975635df5 = function (p0, p1) {
	return _in(0x992187d9, 0x75635df5, p0, p1);
};

/**
 * 0x99230691875FC218
 */
global.N_0x99230691875fc218 = function (p0, p1, x, y, z) {
	return _in(0x99230691, 0x875fc218, p0, _ch(p1), _fv(x), _fv(y), _fv(z));
};

/**
 * 0x9945A3E2528A02E8
 */
global.N_0x9945a3e2528a02e8 = function (player) {
	return _in(0x9945a3e2, 0x528a02e8, player, _r);
};

/**
 * 0x997060BC223ADFF9
 */
global.N_0x997060bc223adff9 = function () {
	return _in(0x997060bc, 0x223adff9, _r, _ri);
};

/**
 * 0x998202B206872672
 */
global.N_0x998202b206872672 = function (p0) {
	return _in(0x998202b2, 0x06872672, p0);
};

/**
 * _CAN_PED_*
 * ```
 * ```
 * NativeDB Introduced: v1232
 */
global.N_0x99df2639da76c1dc = function (ped1, ped2, p2) {
	return _in(0x99df2639, 0xda76c1dc, ped1, ped2, p2, _r);
};

/**
 * 0x99F92061EFE908BA
 */
global.N_0x99f92061efe908ba = function () {
	return _in(0x99f92061, 0xefe908ba, _r, _ri);
};

/**
 * 0x9A252AA23D7098F2
 */
global.N_0x9a252aa23d7098f2 = function () {
	return _in(0x9a252aa2, 0x3d7098f2);
};

/**
 * 0x9A4AC116CC1EEE14
 */
global.N_0x9a4ac116cc1eee14 = function (p0) {
	return _in(0x9a4ac116, 0xcc1eee14, p0);
};

/**
 * 0x9A74A9CADFA8A598
 */
global.N_0x9a74a9cadfa8a598 = function (p0) {
	return _in(0x9a74a9ca, 0xdfa8a598, p0);
};

/**
 * Used in SP R* Scripts only
 * _IS_ANIM_SCENE_*
 */
global.N_0x9aae3c1148a09bca = function (animScene) {
	return _in(0x9aae3c11, 0x48a09bca, animScene, _r);
};

/**
 * _SET_PED_M*
 */
global.N_0x9ab33cb5834885b3 = function (ped, p1, p2, p3, p4) {
	return _in(0x9ab33cb5, 0x834885b3, ped, _fv(p1), _fv(p2), _fv(p3), _fv(p4));
};

/**
 * p1 (out) and p2 (in) are both script arrays?
 * item: can be a component item, see SHOP_CATALOG_BUILD_LIST_OF_WEAPON_COMPONENTS
 */
global.N_0x9ac53cb6907b4428 = function (item) {
	return _in(0x9ac53cb6, 0x907b4428, _ch(item), _i, _i, _r);
};

/**
 * 0x9AC65A36D3C0C189
 */
global.N_0x9ac65a36d3c0c189 = function (p0) {
	return _in(0x9ac65a36, 0xd3c0c189, p0);
};

/**
 * 0x9ADDBB9242179D56
 */
global.N_0x9addbb9242179d56 = function (object, ped) {
	return _in(0x9addbb92, 0x42179d56, object, ped);
};

/**
 * Params: collectableCategory = WEEKLY_COLLECTABLES
 */
global.N_0x9adee485726025d4 = function (collectableCategory) {
	return _in(0x9adee485, 0x726025d4, _ch(collectableCategory), _r, _ri);
};

/**
 * 0x9AFCF9FE1884BF62
 */
global.N_0x9afcf9fe1884bf62 = function (p0, p1) {
	return _in(0x9afcf9fe, 0x1884bf62, p0, p1);
};

/**
 * 0x9B39B0555CC692B5
 */
global.N_0x9b39b0555cc692b5 = function () {
	return _in(0x9b39b055, 0x5cc692b5);
};

/**
 * 0x9B4C564BFA7CFF37
 */
global.N_0x9b4c564bfa7cff37 = function (p0) {
	return _in(0x9b4c564b, 0xfa7cff37, _fv(p0));
};

/**
 * Used in function SET_SHOP_BEING_ROBBED and many other shop related scripts and functions.
 * INVENTORY_A*
 */
global.N_0x9b4e793b1cb6550a = function () {
	return _in(0x9b4e793b, 0x1cb6550a);
};

/**
 * Only used in SP R* Script winter1: p1 = Winter1Mount
 */
global.N_0x9b65444c07b782bf = function (ped, p1) {
	return _in(0x9b65444c, 0x07b782bf, ped, _ts(p1));
};

/**
 * 0x9B6A58FDB0024F12
 */
global.N_0x9b6a58fdb0024f12 = function (p0, p1) {
	return _in(0x9b6a58fd, 0xb0024f12, p0, p1);
};

/**
 * 0x9B90842304C938A7
 */
global.N_0x9b90842304c938a7 = function (p0, p1, p2) {
	return _in(0x9b908423, 0x04c938a7, p0, p1, p2, _r, _ri);
};

/**
 * Used in Script Function SKCS_PLAYER_ROBBING
 * _SET_PED_SHOULD_PLAY_* - _SET_PED_SW*
 */
global.N_0x9b9b9fa0ea283e3d = function (ped, p1) {
	return _in(0x9b9b9fa0, 0xea283e3d, ped, _fv(p1));
};

/**
 * 0x9BB83C4DD7BE0802
 */
global.N_0x9bb83c4dd7be0802 = function (p0, p1, p2, p3, p4) {
	return _in(0x9bb83c4d, 0xd7be0802, p0, p1, p2, p3, p4);
};

/**
 * _SET_PLAYER_CAN_B* - _SET_PLAYER_CAN_U*
 */
global.N_0x9bbeaf8b0c007f1e = function (ped, p1) {
	return _in(0x9bbeaf8b, 0x0c007f1e, ped, p1);
};

/**
 * 0x9BF2C0C568C61641
 */
global.N_0x9bf2c0c568c61641 = function (p0) {
	return _in(0x9bf2c0c5, 0x68c61641, p0);
};

/**
 * 0x9C24846D0A4A2776
 */
global.N_0x9c24846d0a4a2776 = function (p0) {
	return _in(0x9c24846d, 0x0a4a2776, p0);
};

/**
 * 0x9C409BBC492CB5B1
 */
global.N_0x9c409bbc492cb5b1 = function () {
	return _in(0x9c409bbc, 0x492cb5b1, _r, _ri);
};

/**
 * 0x9C5BD8C562565CE6
 */
global.N_0x9c5bd8c562565ce6 = function (crimeType) {
	return _in(0x9c5bd8c5, 0x62565ce6, _ii(crimeType) /* may be optional */);
};

/**
 * NativeDB Introduced: v1436
 */
global.N_0x9c6906ef8cb20c5f = function (entity) {
	return _in(0x9c6906ef, 0x8cb20c5f, entity);
};

/**
 * 0x9C7F95946E304778
 */
global.N_0x9c7f95946e304778 = function (p0, p1) {
	return _in(0x9c7f9594, 0x6e304778, p0, p1, _r, _ri);
};

/**
 * If returned true: CHECK_SHOT_NEAR: Succeeded shot near
 * If returned false: CHECK_SHOT_NEAR: Failed shot near
 */
global.N_0x9c81338b2e62ce0a = function (player, ped, shotNearRecentlyTime) {
	return _in(0x9c81338b, 0x2e62ce0a, player, ped, shotNearRecentlyTime, _r);
};

/**
 * Only used in act_bankrobbery01 R* Script
 */
global.N_0x9c8a2bf37e966464 = function (player, itemSet) {
	return _in(0x9c8a2bf3, 0x7e966464, player, itemSet);
};

/**
 * 0x9C8F42A5D1859DC1
 */
global.N_0x9c8f42a5d1859dc1 = function (p0) {
	return _in(0x9c8f42a5, 0xd1859dc1, p0);
};

/**
 * 0x9C902084F48D2E6C
 */
global.N_0x9c902084f48d2e6c = function (p0) {
	return _in(0x9c902084, 0xf48d2e6c, p0);
};

/**
 * _GET_P - _GET_T*
 */
global.N_0x9cc94a948eaf5372 = function (trackIndex, stationIndex) {
	return _in(0x9cc94a94, 0x8eaf5372, trackIndex, stationIndex, _r, _ri);
};

/**
 * 0x9CCA3131E6B53C68
 */
global.N_0x9cca3131e6b53c68 = function (p0, p1, p2) {
	return _in(0x9cca3131, 0xe6b53c68, p0, p1, p2, _r, _ri);
};

/**
 * 0x9D0F5D2E1951CD84
 */
global.N_0x9d0f5d2e1951cd84 = function () {
	return _in(0x9d0f5d2e, 0x1951cd84, _r, _rf);
};

/**
 * 0x9D12796EF4BF9EA9
 */
global.N_0x9d12796ef4bf9ea9 = function (p0) {
	return _in(0x9d12796e, 0xf4bf9ea9, p0);
};

/**
 * 0x9D1B0B5066205692
 */
global.N_0x9d1b0b5066205692 = function () {
	return _in(0x9d1b0b50, 0x66205692);
};

/**
 * p0 is the return value of DATABINDING::_DATABINDING_ADD_DATA_CONTAINER_FROM_PATH
 * p2, p3: 0
 * Returns databindingEntryId
 */
global.N_0x9d21b185abc2dbc4 = function (data, effects, p2, p3) {
	return _in(0x9d21b185, 0xabc2dbc4, data, _ts(effects), p2, p3, _r, _ri);
};

/**
 * p2: 0
 * p3: -1
 * Returns databindingEntryId to be used with 0x75CFAC49301E134E (p0)
 */
global.N_0x9d21b185abc2dbc5 = function (data, stats, p2, p3) {
	return _in(0x9d21b185, 0xabc2dbc5, data, _ts(stats), p2, p3, _r, _ri);
};

/**
 * 0x9D37EB5003E0F2CF
 */
global.N_0x9d37eb5003e0f2cf = function (p0, p1) {
	return _in(0x9d37eb50, 0x03e0f2cf, p0, p1);
};

/**
 * 0x9D5C9A5A3321B128
 */
global.N_0x9d5c9a5a3321b128 = function (player) {
	return _in(0x9d5c9a5a, 0x3321b128, player, _r);
};

/**
 * 0x9D6DEC9791A4E501
 */
global.N_0x9d6dec9791a4e501 = function (p0, p1, p2, p3) {
	return _in(0x9d6dec97, 0x91a4e501, p0, p1, p2, p3, _r, _ri);
};

/**
 * _RESET_PED_*
 */
global.N_0x9d8dfe2de9cb4dfc = function (ped) {
	return _in(0x9d8dfe2d, 0xe9cb4dfc, ped);
};

/**
 * 0x9DD95B405AB4983E
 */
global.N_0x9dd95b405ab4983e = function (p0, p1) {
	return _in(0x9dd95b40, 0x5ab4983e, p0, p1, _r, _ri);
};

/**
 * 0x9E13ACC38BA8F9C3
 */
global.N_0x9e13acc38ba8f9c3 = function (p0, p1) {
	return _in(0x9e13acc3, 0x8ba8f9c3, p0, p1, _r, _ri);
};

/**
 * Only used in SP R* Script loanshark_hunter
 */
global.N_0x9e3842e5dad69f80 = function (volume) {
	return _in(0x9e3842e5, 0xdad69f80, volume);
};

/**
 * 0x9E58207B194488AC
 */
global.N_0x9e58207b194488ac = function (ped, p1) {
	return _in(0x9e58207b, 0x194488ac, ped, p1);
};

/**
 * Note: this native was added in build 1311.23
 * ```
 * ```
 * NativeDB Introduced: v1311
 */
global.N_0x9e5a47744c0f0376 = function (p0) {
	return _in(0x9e5a4774, 0x4c0f0376, p0, _r);
};

/**
 * 0x9E66708B2B41F14A
 */
global.N_0x9e66708b2b41f14a = function (p0, p1) {
	return _in(0x9e66708b, 0x2b41f14a, p0, p1);
};

/**
 * Forcing high LOD buoyancy for vehicle: p1 = false
 * _SET_A*
 */
global.N_0x9e8711c81aa17876 = function (vehicle, p1) {
	return _in(0x9e8711c8, 0x1aa17876, vehicle, p1);
};

/**
 * 0x9EB779765E68C52E
 */
global.N_0x9eb779765e68c52e = function (p0, p1) {
	return _in(0x9eb77976, 0x5e68c52e, p0, p1);
};

/**
 * 0x9EBD34958AB6F824
 */
global.N_0x9ebd34958ab6f824 = function (p0) {
	return _in(0x9ebd3495, 0x8ab6f824, p0);
};

/**
 * Returns weaponHash
 */
global.N_0x9eefd670f10656d7 = function (weaponCollection, weaponGroup) {
	return _in(0x9eefd670, 0xf10656d7, _ch(weaponCollection), _ch(weaponGroup), _r, _ri);
};

/**
 * Only used in shoprobberies R* Scripts
 */
global.N_0x9ef07cfbb19a9733 = function () {
	return _in(0x9ef07cfb, 0xb19a9733, _r);
};

/**
 * 0x9F0E1892C7F228A8
 */
global.N_0x9f0e1892c7f228a8 = function (p0) {
	return _in(0x9f0e1892, 0xc7f228a8, p0, _r, _ri);
};

/**
 * NativeDB Introduced: v1355
 */
global.N_0x9f0f28b42c4ee80a = function (animal, p2) {
	return _in(0x9f0f28b4, 0x2c4ee80a, animal, _fv(p2));
};

/**
 * 0x9F130129EBC31B34
 */
global.N_0x9f130129ebc31b34 = function (p0, p1, p2) {
	return _in(0x9f130129, 0xebc31b34, p0, p1, p2);
};

/**
 * 0x9F158A49B0D84C3C
 */
global.N_0x9f158a49b0d84c3c = function (p0) {
	return _in(0x9f158a49, 0xb0d84c3c, p0);
};

/**
 * 0x9F24A34863FD35DA
 */
global.N_0x9f24a34863fd35da = function (p0) {
	return _in(0x9f24a348, 0x63fd35da, p0);
};

/**
 * 0x9F348DE670423460
 */
global.N_0x9f348de670423460 = function (p0) {
	return _in(0x9f348de6, 0x70423460, p0);
};

/**
 * 0x9F52AD67D1A91BAD
 */
global.N_0x9f52ad67d1a91bad = function (p0, p1) {
	return _in(0x9f52ad67, 0xd1a91bad, p0, p1, _r, _ri);
};

/**
 * NativeDB Introduced: v1311
 */
global.N_0x9f6d859c80708b26 = function (p0, p1) {
	return _in(0x9f6d859c, 0x80708b26, p0, p1);
};

/**
 * 0x9F933E0985E12C51
 */
global.N_0x9f933e0985e12c51 = function (ped, p1, p2, p3) {
	return _in(0x9f933e09, 0x85e12c51, ped, _fv(p1), _fv(p2), _fv(p3));
};

/**
 * 0x9FC5A003FB76EDBD
 */
global.N_0x9fc5a003fb76edbd = function (p0, p1) {
	return _in(0x9fc5a003, 0xfb76edbd, p0, p1);
};

/**
 * 0x9FF5F9B24E870748
 */
global.N_0x9ff5f9b24e870748 = function (p0) {
	return _in(0x9ff5f9b2, 0x4e870748, p0, _r, _ri);
};

/**
 * 0xA04EF43030593ABC
 */
global.N_0xa04ef43030593abc = function (p0, p1) {
	return _in(0xa04ef430, 0x30593abc, p0, p1);
};

/**
 * 0xA052608A12559BBB
 */
global.N_0xa052608a12559bbb = function (p0, p1) {
	return _in(0xa052608a, 0x12559bbb, p0, p1);
};

/**
 * 0xA064BBABB064446F
 */
global.N_0xa064bbabb064446f = function (p0) {
	return _in(0xa064bbab, 0xb064446f, p0);
};

/**
 * 0xA079FF7CFB9AC8BD
 */
global.N_0xa079ff7cfb9ac8bd = function (p0, p1) {
	return _in(0xa079ff7c, 0xfb9ac8bd, p0, p1);
};

/**
 * _CLEAR*
 */
global.N_0xa08111b053d84b4d = function (p0) {
	return _in(0xa08111b0, 0x53d84b4d, p0);
};

/**
 * 0xA0AE7653E8181725
 */
global.N_0xa0ae7653e8181725 = function (p0) {
	return _in(0xa0ae7653, 0xe8181725, p0, _r, _ri);
};

/**
 * 0xA0B7094629724974
 */
global.N_0xa0b7094629724974 = function (p0, p1) {
	return _in(0xa0b70946, 0x29724974, _ch(p0), p1, _r);
};

/**
 * Params: p1 is mostly 15, sometimes 1 in R* Scripts (Function: PLAYER_TOGGLE_PICK_UP_HATS)
 * _SET_PLAYER_*
 */
global.N_0xa0c683284df027c7 = function (player, p1, enable) {
	return _in(0xa0c68328, 0x4df027c7, player, p1, enable);
};

/**
 * 0xA0F4D12D6042F6D5
 */
global.N_0xa0f4d12d6042f6d5 = function (p0, p1) {
	return _in(0xa0f4d12d, 0x6042f6d5, p0, p1);
};

/**
 * 0xA13028E22564A1BD
 */
global.N_0xa13028e22564a1bd = function (p0, p1) {
	return _in(0xa13028e2, 0x2564a1bd, p0, p1);
};

/**
 * 0xA15CCAB8AD038291
 */
global.N_0xa15ccab8ad038291 = function (p0, p1, p2, p3) {
	return _in(0xa15ccab8, 0xad038291, p0, p1, p2, p3, _r, _ri);
};

/**
 * 0xA180FBD502A03125
 */
global.N_0xa180fbd502a03125 = function (p0, p1, p2) {
	return _in(0xa180fbd5, 0x02a03125, p0, p1, p2, _r, _ri);
};

/**
 * 0xA1A86055792FB249
 */
global.N_0xa1a86055792fb249 = function (personaPhotoLocalCacheType) {
	return _in(0xa1a86055, 0x792fb249, personaPhotoLocalCacheType);
};

/**
 * 0xA1FBAC56D38563E2
 */
global.N_0xa1fbac56d38563e2 = function (volume) {
	return _in(0xa1fbac56, 0xd38563e2, volume, _r);
};

/**
 * ANIMPOSTFX_*
 */
global.N_0xa201a3d0ac087c37 = function (effectName) {
	return _in(0xa201a3d0, 0xac087c37, _ts(effectName));
};

/**
 * 0xA20398536B7F1134
 */
global.N_0xa20398536b7f1134 = function (p0, p1, p2, p3, p4, p5) {
	return _in(0xa2039853, 0x6b7f1134, p0, p1, p2, p3, p4, p5);
};

/**
 * 0xA2091482ED42EF85
 */
global.N_0xa2091482ed42ef85 = function (p0, p1) {
	return _in(0xa2091482, 0xed42ef85, p0, p1, _r, _ri);
};

/**
 * _SET_PED_*
 */
global.N_0xa2116c1e4ed85c24 = function (ped, inverted) {
	return _in(0xa2116c1e, 0x4ed85c24, ped, inverted);
};

/**
 * 0xA218D2BBCAA7388C
 */
global.N_0xa218d2bbcaa7388c = function (p0, p1) {
	return _in(0xa218d2bb, 0xcaa7388c, p0, p1, _r, _ri);
};

/**
 * 0xA21AA2F0C2180125
 */
global.N_0xa21aa2f0c2180125 = function (p0, p1) {
	return _in(0xa21aa2f0, 0xc2180125, p0, p1);
};

/**
 * 0xA21AF60C9F99CCC5
 */
global.N_0xa21af60c9f99ccc5 = function () {
	return _in(0xa21af60c, 0x9f99ccc5);
};

/**
 * 0xA230A5DDE12ED374
 */
global.N_0xa230a5dde12ed374 = function (p0) {
	return _in(0xa230a5dd, 0xe12ed374, p0);
};

/**
 * 0xA2323A2EAE32A290
 */
global.N_0xa2323a2eae32a290 = function (listeningToPed, ped, listenerName) {
	return _in(0xa2323a2e, 0xae32a290, listeningToPed, ped, _ts(listenerName));
};

/**
 * 0xA263ADBBC8056214
 */
global.N_0xa263adbbc8056214 = function (p0, p1) {
	return _in(0xa263adbb, 0xc8056214, p0, p1);
};

/**
 * 0xA274F51EF7E34B95
 */
global.N_0xa274f51ef7e34b95 = function (p0, p1) {
	return _in(0xa274f51e, 0xf7e34b95, p0, p1, _r, _ri);
};

/**
 * NativeDB Introduced: v1232
 */
global.N_0xa28056cd1b04b250 = function (p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10) {
	return _in(0xa28056cd, 0x1b04b250, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10);
};

/**
 * 0xA2837A5E21FB5A58
 */
global.N_0xa2837a5e21fb5a58 = function (p0) {
	return _in(0xa2837a5e, 0x21fb5a58, p0, _r);
};

/**
 * 0xA2B18FF8D39F6D87
 */
global.N_0xa2b18ff8d39f6d87 = function (p0) {
	return _in(0xa2b18ff8, 0xd39f6d87, p0);
};

/**
 * 0xA2B851605748AD0E
 */
global.N_0xa2b851605748ad0e = function () {
	return _in(0xa2b85160, 0x5748ad0e);
};

/**
 * 0xA2B8E47442C76CEC
 */
global.N_0xa2b8e47442c76cec = function (p0, p1) {
	return _in(0xa2b8e474, 0x42c76cec, p0, p1);
};

/**
 * 0xA2DB3C6270C122E3
 */
global.N_0xa2db3c6270c122e3 = function (p0, p1) {
	return _in(0xa2db3c62, 0x70c122e3, p0, p1, _r, _ri);
};

/**
 * 0xA2E2BEA4E83F6270
 */
global.N_0xa2e2bea4e83f6270 = function (p0) {
	return _in(0xa2e2bea4, 0xe83f6270, _ch(p0), _r, _ri);
};

/**
 * 0xA2F8B3B5FEDFC100
 */
global.N_0xa2f8b3b5fedfc100 = function (p0, p1) {
	return _in(0xa2f8b3b5, 0xfedfc100, p0, p1);
};

/**
 * 0xA31D350D66FA1855
 */
global.N_0xa31d350d66fa1855 = function (p0) {
	return _in(0xa31d350d, 0x66fa1855, p0, _r, _ri);
};

/**
 * 0xA33914B00CA55756
 */
global.N_0xa33914b00ca55756 = function (p0, p1) {
	return _in(0xa33914b0, 0x0ca55756, _ts(p0), p1, _r, _rl);
};

/**
 * Only used in fishing_core R* Script
 */
global.N_0xa33f5069b0cb89b8 = function () {
	return _in(0xa33f5069, 0xb0cb89b8);
};

/**
 * 0xA342495F93B7B838
 */
global.N_0xa342495f93b7b838 = function (p0, p1) {
	return _in(0xa342495f, 0x93b7b838, p0, p1);
};

/**
 * 0xA3716A77DCF17424
 */
global.N_0xa3716a77dcf17424 = function (p0, p1, p2) {
	return _in(0xa3716a77, 0xdcf17424, p0, p1, p2);
};

/**
 * 0xA3A8926951471C82
 */
global.N_0xa3a8926951471c82 = function () {
	return _in(0xa3a89269, 0x51471c82);
};

/**
 * NativeDB Introduced: v1311
 */
global.N_0xa3b8d31c13cb4239 = function (p0, p1, p3, p5) {
	return _in(0xa3b8d31c, 0x13cb4239, p0, _ch(p1), _i, p3, _i, p5, _r);
};

/**
 * 0xA405BF9F01960C16
 */
global.N_0xa405bf9f01960c16 = function (p0) {
	return _in(0xa405bf9f, 0x01960c16, p0);
};

/**
 * 0xA42DC7919159CCCF
 */
global.N_0xa42dc7919159cccf = function (p0) {
	return _in(0xa42dc791, 0x9159cccf, p0);
};

/**
 * 0xA4454592DCF7C992
 */
global.N_0xa4454592dcf7c992 = function (p0) {
	return _in(0xa4454592, 0xdcf7c992, p0, _r, _ri);
};

/**
 * 0xA46FD001D1BE896C
 */
global.N_0xa46fd001d1be896c = function () {
	return _in(0xa46fd001, 0xd1be896c, _r, _s);
};

/**
 * 0xA47D48D06AA5A188
 */
global.N_0xa47d48d06aa5a188 = function () {
	return _in(0xa47d48d0, 0x6aa5a188, _r);
};

/**
 * 0xA48E4801DEBDF7E4
 */
global.N_0xa48e4801debdf7e4 = function (entity, p1) {
	return _in(0xa48e4801, 0xdebdf7e4, entity, p1);
};

/**
 * 0xA49D6D503E3EA847
 */
global.N_0xa49d6d503e3ea847 = function (p0, p1, p2, p3, p4) {
	return _in(0xa49d6d50, 0x3e3ea847, p0, p1, p2, p3, p4);
};

/**
 * 0xA4AC05B1A364EBC5
 */
global.N_0xa4ac05b1a364ebc5 = function (p0, p1, p2) {
	return _in(0xa4ac05b1, 0xa364ebc5, p0, p1, p2, _r, _ri);
};

/**
 * NativeDB Introduced: v1311
 */
global.N_0xa4b6432e3880f2f9 = function (ped) {
	return _in(0xa4b6432e, 0x3880f2f9, ped, _r);
};

/**
 * 0xA4DCB3F0DD7488BD
 */
global.N_0xa4dcb3f0dd7488bd = function (p0, p1, p2, p3, p4) {
	return _in(0xa4dcb3f0, 0xdd7488bd, p0, p1, p2, p3, p4);
};

/**
 * 0xA54000D4BFD90BDE
 */
global.N_0xa54000d4bfd90bde = function (p0) {
	return _in(0xa54000d4, 0xbfd90bde, p0, _r, _ri);
};

/**
 * 0xA54D643D0773EB65
 */
global.N_0xa54d643d0773eb65 = function (dictionary, shotName, duration) {
	return _in(0xa54d643d, 0x0773eb65, _ts(dictionary), _ts(shotName), duration);
};

/**
 * Only used in R* SP Scripts
 */
global.N_0xa59590050f80ff2e = function (p0, p1, p2, p3) {
	return _in(0xa5959005, 0x0f80ff2e, p0, p1, p2, p3);
};

/**
 * NativeDB Introduced: v1436
 */
global.N_0xa596890cf55b5095 = function (ped, p1) {
	return _in(0xa596890c, 0xf55b5095, ped, p1);
};

/**
 * 0xA62BBAAE67A05BB0
 */
global.N_0xa62bbaae67a05bb0 = function (p0) {
	return _in(0xa62bbaae, 0x67a05bb0, p0, _r, _ri);
};

/**
 * 0xA63E4F050F20021F
 */
global.N_0xa63e4f050f20021f = function () {
	return _in(0xa63e4f05, 0x0f20021f);
};

/**
 * 0xA67F0B039D9CD513
 */
global.N_0xa67f0b039d9cd513 = function (p0) {
	return _in(0xa67f0b03, 0x9d9cd513, p0, _r);
};

/**
 * 0xA6847BBA4FCDD13F
 */
global.N_0xa6847bba4fcdd13f = function (p0, p1) {
	return _in(0xa6847bba, 0x4fcdd13f, p0, p1);
};

/**
 * 0xA691C10054275290
 */
global.N_0xa691c10054275290 = function (mount, player, dismountedTimestamp) {
	return _in(0xa691c100, 0x54275290, mount, player, dismountedTimestamp);
};

/**
 * 0xA6A3A3F96B8B030E
 */
global.N_0xa6a3a3f96b8b030e = function () {
	return _in(0xa6a3a3f9, 0x6b8b030e, _r, _ri);
};

/**
 * 0xA6A76D666A281F2D
 */
global.N_0xa6a76d666a281f2d = function (p0, item) {
	return _in(0xa6a76d66, 0x6a281f2d, p0, _ch(item));
};

/**
 * Common flags: 250, 99999
 * _SET_SCRIPT_BRAIN*
 */
global.N_0xa6ac35db4a7957a8 = function (flag) {
	return _in(0xa6ac35db, 0x4a7957a8, flag);
};

/**
 * _DELETE_*
 */
global.N_0xa6d6f03095c88f59 = function (ped) {
	return _in(0xa6d6f030, 0x95c88f59, ped);
};

/**
 * 0xA6F1BAABFF6AD7B9
 */
global.N_0xa6f1baabff6ad7b9 = function (p0) {
	return _in(0xa6f1baab, 0xff6ad7b9, _ii(p0) /* may be optional */);
};

/**
 * 0xA72B1BF3857B94D7
 */
global.N_0xa72b1bf3857b94d7 = function (train, p1) {
	return _in(0xa72b1bf3, 0x857b94d7, train, p1);
};

/**
 * _SET_SCENARIO_*
 */
global.N_0xa7479fb665361edb = function (p0, p1) {
	return _in(0xa7479fb6, 0x65361edb, p0, p1);
};

/**
 * Note: this native was added in build 1311.23
 * ```
 * ```
 * NativeDB Introduced: v1311
 */
global.N_0xa7670f7991099680 = function (p0) {
	return _in(0xa7670f79, 0x91099680, p0);
};

/**
 * 0xA769D753922B031B
 */
global.N_0xa769d753922b031b = function (p0, p1, p2) {
	return _in(0xa769d753, 0x922b031b, p0, p1, p2);
};

/**
 * 0xA7966807953A18EE
 */
global.N_0xa7966807953a18ee = function (trackIndex, p1) {
	return _in(0xa7966807, 0x953a18ee, trackIndex, _fv(p1));
};

/**
 * Washing player's face/hands now
 * _CLEAR_PED_E* - _CLEAR_PED_L*
 */
global.N_0xa7a806677f8de138 = function (ped) {
	return _in(0xa7a80667, 0x7f8de138, ped);
};

/**
 * _CLEAR_PED_B* - _CLEAR_PED_C*
 */
global.N_0xa7dc9266ed6a4e51 = function (ped) {
	return _in(0xa7dc9266, 0xed6a4e51, ped);
};

/**
 * NativeDB Introduced: v1436
 */
global.N_0xa7ecebafbaf997a5 = function (savegameType) {
	return _in(0xa7ecebaf, 0xbaf997a5, _ch(savegameType), _r, _ri);
};

/**
 * 0xA8120EBEAF290C7A
 */
global.N_0xa8120ebeaf290c7a = function (p0) {
	return _in(0xa8120ebe, 0xaf290c7a, p0, _r, _ri);
};

/**
 * 0xA844FEB5C22C2C74
 */
global.N_0xa844feb5c22c2c74 = function () {
	return _in(0xa844feb5, 0xc22c2c74);
};

/**
 * 0xA86B0EE9B39D15D6
 */
global.N_0xa86b0ee9b39d15d6 = function (object) {
	return _in(0xa86b0ee9, 0xb39d15d6, object);
};

/**
 * 0xA881F5C77A560906
 */
global.N_0xa881f5c77a560906 = function (p0) {
	return _in(0xa881f5c7, 0x7a560906, p0);
};

/**
 * 0xA88E1D7FA1E20080
 */
global.N_0xa88e1d7fa1e20080 = function (p0) {
	return _in(0xa88e1d7f, 0xa1e20080, p0, _r, _ri);
};

/**
 * _SET_ENABLE_B* - _SET_ENABLE_H*
 */
global.N_0xa8a95cecb1906ea2 = function (groupId, p1) {
	return _in(0xa8a95cec, 0xb1906ea2, groupId, p1);
};

/**
 * NPLOI_UPDATE__GUN_SPINNING_PREVIEW - Adjusting Camera / Ped Reset Flags This Frame
 * _DISABLE_*
 * ```
 * ```
 * NativeDB Introduced: v1355
 */
global.N_0xa8ba2e0204d8486f = function () {
	return _in(0xa8ba2e02, 0x04d8486f);
};

/**
 * 0xA8C406C2A56EDC16
 */
global.N_0xa8c406c2a56edc16 = function (persChar) {
	return _in(0xa8c406c2, 0xa56edc16, persChar);
};

/**
 * nullsub, doesn't do anything
 */
global.N_0xa8d970d8a72640a6 = function () {
	return _in(0xa8d970d8, 0xa72640a6, _r, _ri);
};

/**
 * Only used in R* Script mob4 and rcm_mason4
 * _SET_PED_DEFENSIVE_* - _SET_PED_DESIRED_*
 */
global.N_0xa90684ed185ccb4b = function (animal, p1, p2, p3) {
	return _in(0xa90684ed, 0x185ccb4b, animal, p1, _fv(p2), _fv(p3));
};

/**
 * nullsub, doesn't do anything
 */
global.N_0xa9342743b634a462 = function (p0) {
	return _in(0xa9342743, 0xb634a462, p0);
};

/**
 * 0xA93F925F1942E434
 */
global.N_0xa93f925f1942e434 = function (p0, p1) {
	return _in(0xa93f925f, 0x1942e434, p0, p1);
};

/**
 * 0xA94ECE191D90637A
 */
global.N_0xa94ece191d90637a = function () {
	return _in(0xa94ece19, 0x1d90637a, _r, _ri);
};

/**
 * 0xA95470DA137587F5
 */
global.N_0xa95470da137587f5 = function (p0) {
	return _in(0xa95470da, 0x137587f5, p0);
};

/**
 * Used in SP R* Scripts only
 * _WAS_ANIM_SCENE_*
 */
global.N_0xa96619fe85159ed2 = function (animScene) {
	return _in(0xa96619fe, 0x85159ed2, animScene, _r);
};

/**
 * _SET_PED_P* - _SET_PED_R*
 */
global.N_0xa967d6a8ed2d713b = function (ped, p1) {
	return _in(0xa967d6a8, 0xed2d713b, ped, p1);
};

/**
 * 0xA97EE5E4589FCF5A
 */
global.N_0xa97ee5e4589fcf5a = function (p0, p1) {
	return _in(0xa97ee5e4, 0x589fcf5a, p0, p1, _r);
};

/**
 * 0xA9CEAE8D6637FBAD
 */
global.N_0xa9ceae8d6637fbad = function (p0) {
	return _in(0xa9ceae8d, 0x6637fbad, p0);
};

/**
 * 0xA9E185D498B9AC67
 */
global.N_0xa9e185d498b9ac67 = function (p0, p1) {
	return _in(0xa9e185d4, 0x98b9ac67, p0, p1, _r, _ri);
};

/**
 * 0xA9E6D8F2DDFC4DB9
 */
global.N_0xa9e6d8f2ddfc4db9 = function (p0, p1) {
	return _in(0xa9e6d8f2, 0xddfc4db9, p0, p1);
};

/**
 * 0xA9E7672F8C6C6F74
 */
global.N_0xa9e7672f8c6c6f74 = function (p0) {
	return _in(0xa9e7672f, 0x8c6c6f74, p0, _r, _ri);
};

/**
 * Returns Pathset Hash
 * ```
 * ```
 * NativeDB Introduced: v1232
 */
global.N_0xaa29a5f13b2c20b2 = function (p0, p1) {
	return _in(0xaa29a5f1, 0x3b2c20b2, p0, _ch(p1), _r, _ri);
};

/**
 * 0xAA35FD9ABAB490A3
 */
global.N_0xaa35fd9abab490a3 = function (player) {
	return _in(0xaa35fd9a, 0xbab490a3, player, _r);
};

/**
 * 0xAA6C49AE90A32299
 */
global.N_0xaa6c49ae90a32299 = function (ped, p1) {
	return _in(0xaa6c49ae, 0x90a32299, ped, _ch(p1));
};

/**
 * 0xAA9EE2AAFC717623
 */
global.N_0xaa9ee2aafc717623 = function (p0, p1, p2, p3, p4, p5) {
	return _in(0xaa9ee2aa, 0xfc717623, p0, p1, p2, p3, p4, p5, _r, _ri);
};

/**
 * 0xAAACB74442C1BED3
 */
global.N_0xaaacb74442c1bed3 = function (p0) {
	return _in(0xaaacb744, 0x42c1bed3, p0, _r, _ri);
};

/**
 * 0xAAACF33CBF9B990A
 */
global.N_0xaaacf33cbf9b990a = function (p0, p1) {
	return _in(0xaaacf33c, 0xbf9b990a, p0, p1);
};

/**
 * Related to _0x704C908E9C405136 for component loading
 * _S*
 */
global.N_0xaab86462966168ce = function (ped, isMP) {
	return _in(0xaab86462, 0x966168ce, ped, isMP, _r, _ri);
};

/**
 * 0xAAC0EE3B4999ABB5
 */
global.N_0xaac0ee3b4999abb5 = function (ped, targetPed) {
	return _in(0xaac0ee3b, 0x4999abb5, ped, targetPed);
};

/**
 * 0xAAED694CE814817F
 */
global.N_0xaaed694ce814817f = function (p0) {
	return _in(0xaaed694c, 0xe814817f, p0, _r, _ri);
};

/**
 * 0xAB26DEEE120FD3FD
 */
global.N_0xab26deee120fd3fd = function (p0, p1) {
	return _in(0xab26deee, 0x120fd3fd, p0, p1);
};

/**
 * 0xABC18A28BAD4B46F
 */
global.N_0xabc18a28bad4b46f = function (p0, p1) {
	return _in(0xabc18a28, 0xbad4b46f, p0, p1, _r, _ri);
};

/**
 * 0xABDB4863D3D72021
 */
global.N_0xabdb4863d3d72021 = function (entity, p1, p2, p3, p4) {
	return _in(0xabdb4863, 0xd3d72021, entity, p1, p2, _fv(p3), p4);
};

/**
 * 0xAC355980681A7F89
 */
global.N_0xac355980681a7f89 = function (p0) {
	return _in(0xac355980, 0x681a7f89, p0);
};

/**
 * 0xAC5045AB7F1A34FD
 */
global.N_0xac5045ab7f1a34fd = function (p0) {
	return _in(0xac5045ab, 0x7f1a34fd, p0, _r, _ri);
};

/**
 * 0xAC77757C05DE9E5A
 */
global.N_0xac77757c05de9e5a = function (cameraDictionary) {
	return _in(0xac77757c, 0x05de9e5a, _ts(cameraDictionary));
};

/**
 * _SET_PLAYER_CAN_BE_* - _SET_PLAYER_CAN_USE_*
 */
global.N_0xaca45ddcef6071c4 = function (player, p1) {
	return _in(0xaca45ddc, 0xef6071c4, player, p1);
};

/**
 * nullsub, doesn't do anything
 */
global.N_0xacc44768af229042 = function () {
	return _in(0xacc44768, 0xaf229042);
};

/**
 * 0xACD4F9831DFAD7F5
 */
global.N_0xacd4f9831dfad7f5 = function (p0) {
	return _in(0xacd4f983, 0x1dfad7f5, p0, _r, _ri);
};

/**
 * nullsub, doesn't do anything
 */
global.N_0xacf9cb705befa8cb = function () {
	return _in(0xacf9cb70, 0x5befa8cb, _r, _ri);
};

/**
 * Might return time since some (?) event.
 */
global.N_0xad17a18215dd23d6 = function (entity, p1, p2) {
	return _in(0xad17a182, 0x15dd23d6, entity, p1, p2, _r, _ri);
};

/**
 * 0xAD22AB64FA428DF3
 */
global.N_0xad22ab64fa428df3 = function (p0) {
	return _in(0xad22ab64, 0xfa428df3, p0);
};

/**
 * 0xAD3330E3C3E98007
 */
global.N_0xad3330e3c3e98007 = function (p0, p1) {
	return _in(0xad3330e3, 0xc3e98007, p0, p1);
};

/**
 * 0xAD44856A1CD29635
 */
global.N_0xad44856a1cd29635 = function (p0, p1, p2) {
	return _in(0xad44856a, 0x1cd29635, p0, p1, p2);
};

/**
 * _SET_SCENARIO_POINT_*
 */
global.N_0xadc45010bc17af0e = function (p0, p1) {
	return _in(0xadc45010, 0xbc17af0e, p0, p1);
};

/**
 * 0xAE00387E53B1E9FC
 */
global.N_0xae00387e53b1e9fc = function () {
	return _in(0xae00387e, 0x53b1e9fc);
};

/**
 * 0xAE6B68A83ABBE7C0
 */
global.N_0xae6b68a83abbe7c0 = function (p0) {
	return _in(0xae6b68a8, 0x3abbe7c0, p0);
};

/**
 * _UNLOAD_* - _WAS_ANIM_SCENE_*
 */
global.N_0xae6de22de0ed4554 = function (mgmHandle, ped) {
	return _in(0xae6de22d, 0xe0ed4554, mgmHandle, ped);
};

/**
 * _SET_TRAIN_*
 */
global.N_0xae7e66a61e7c17a5 = function (train, p1) {
	return _in(0xae7e66a6, 0x1e7c17a5, train, p1);
};

/**
 * 0xAEE6C800E124CFE1
 */
global.N_0xaee6c800e124cfe1 = function (p0, p1) {
	return _in(0xaee6c800, 0xe124cfe1, p0, p1);
};

/**
 * _CLEAR_PED_D*
 */
global.N_0xaf041c10756c30fb = function (ped, p1, p2, p3) {
	return _in(0xaf041c10, 0x756c30fb, ped, p1, p2, p3);
};

/**
 * 0xAF2EF28CE3084505
 */
global.N_0xaf2ef28ce3084505 = function (p0, p1, p2, p3) {
	return _in(0xaf2ef28c, 0xe3084505, p0, p1, p2, p3);
};

/**
 * 0xAF3A84C7DE6A1DC5
 */
global.N_0xaf3a84c7de6a1dc5 = function (p0, p1) {
	return _in(0xaf3a84c7, 0xde6a1dc5, p0, p1);
};

/**
 * Hardcoded to return one/true.
 */
global.N_0xaf530e56505d1bd6 = function (p0) {
	return _in(0xaf530e56, 0x505d1bd6, p0, _r, _ri);
};

/**
 * NativeDB Introduced: v1311
 */
global.N_0xaf72ec7e1b54539b = function (entity) {
	return _in(0xaf72ec7e, 0x1b54539b, entity, _r, _ri);
};

/**
 * SET_ENTITY_LO*
 */
global.N_0xaf7f3099b9feb535 = function (entity, p1, p2, p3) {
	return _in(0xaf7f3099, 0xb9feb535, entity, _fv(p1), _fv(p2), _fv(p3));
};

/**
 * 0xAFA14F98327791CE
 */
global.N_0xafa14f98327791ce = function (sessionRequestId) {
	return _in(0xafa14f98, 0x327791ce, _ii(sessionRequestId) /* may be optional */, _r);
};

/**
 * 0xAFA87A7D41EE346A
 */
global.N_0xafa87a7d41ee346a = function (p0) {
	return _in(0xafa87a7d, 0x41ee346a, p0);
};

/**
 * 0xAFD3599A3CC5637D
 */
global.N_0xafd3599a3cc5637d = function () {
	return _in(0xafd3599a, 0x3cc5637d, _r, _ri);
};

/**
 * 0xAFE2AE66F6251C66
 */
global.N_0xafe2ae66f6251c66 = function (xMin, yMin, zMin, xMax, yMax, zMax, p6, p7) {
	return _in(0xafe2ae66, 0xf6251c66, _fv(xMin), _fv(yMin), _fv(zMin), _fv(xMax), _fv(yMax), _fv(zMax), p6, p7);
};

/**
 * 0xAFF5BE9BA496CE40
 */
global.N_0xaff5be9ba496ce40 = function (p2, p3, collectableCategory) {
	return _in(0xaff5be9b, 0xa496ce40, _i, _i, p2, p3, _ch(collectableCategory), _r, _ri);
};

/**
 * 0xAFFD0CCF31F469B8
 */
global.N_0xaffd0ccf31f469b8 = function (p0) {
	return _in(0xaffd0ccf, 0x31f469b8, p0, _r, _ri);
};

/**
 * 0xB00CE33465B5406D
 */
global.N_0xb00ce33465b5406d = function (p0, p1) {
	return _in(0xb00ce334, 0x65b5406d, p0, p1, _r, _ri);
};

/**
 * nullsub, doesn't do anything
 */
global.N_0xb03140014aca6c40 = function (p0, p1) {
	return _in(0xb0314001, 0x4aca6c40, p0, p1);
};

/**
 * _SET_D* or _SET_E*
 */
global.N_0xb032c085d9a03907 = function () {
	return _in(0xb032c085, 0xd9a03907);
};

/**
 * 0xB03944057FD735BA
 */
global.N_0xb03944057fd735ba = function (p0, p1, p2) {
	return _in(0xb0394405, 0x7fd735ba, p0, p1, p2);
};

/**
 * Used to set up bad guy groups in nb_kidnapped R* Script (MP_RE_KIDNAPPED): p1 = 4.f
 * _SET_FORMATION_*
 */
global.N_0xb05cc690cde8a4a9 = function (groupId, p1) {
	return _in(0xb05cc690, 0xcde8a4a9, groupId, _fv(p1), _r);
};

/**
 * 0xB06F5F1DEF417216
 */
global.N_0xb06f5f1def417216 = function (p0, p1, p2, p3) {
	return _in(0xb06f5f1d, 0xef417216, p0, p1, p2, p3);
};

/**
 * 0xB08C4FA25BC29DB9
 */
global.N_0xb08c4fa25bc29db9 = function (p0) {
	return _in(0xb08c4fa2, 0x5bc29db9, p0);
};

/**
 * 0xB0E8599243B3F568
 */
global.N_0xb0e8599243b3f568 = function (p0) {
	return _in(0xb0e85992, 0x43b3f568, p0, _r, _ri);
};

/**
 * 0xB0FB9B196A3D13F0
 */
global.N_0xb0fb9b196a3d13f0 = function (p0, p1, p2) {
	return _in(0xb0fb9b19, 0x6a3d13f0, p0, p1, p2);
};

/**
 * 0xB112B9262EC29C20
 */
global.N_0xb112b9262ec29c20 = function (p0, p1) {
	return _in(0xb112b926, 0x2ec29c20, _ch(p0), p1, _r, _s);
};

/**
 * 0xB131E686BD97B3F8
 */
global.N_0xb131e686bd97b3f8 = function () {
	return _in(0xb131e686, 0xbd97b3f8);
};

/**
 * 0xB138CA787F3DD858
 */
global.N_0xb138ca787f3dd858 = function (p0, p1, p2) {
	return _in(0xb138ca78, 0x7f3dd858, p0, _ts(p1), p2);
};

/**
 * 0xB15CD2F9932C9AB5
 */
global.N_0xb15cd2f9932c9ab5 = function (p0) {
	return _in(0xb15cd2f9, 0x932c9ab5, p0, _r, _ri);
};

/**
 * 0xB16C780C51E51E2B
 */
global.N_0xb16c780c51e51e2b = function (p0) {
	return _in(0xb16c780c, 0x51e51e2b, p0, _r, _ri);
};

/**
 * 0xB173599D61FAEB31
 */
global.N_0xb173599d61faeb31 = function () {
	return _in(0xb173599d, 0x61faeb31);
};

/**
 * 0xB18FEC133C7C6C69
 */
global.N_0xb18fec133c7c6c69 = function (p0) {
	return _in(0xb18fec13, 0x3c7c6c69, p0, _r, _ri);
};

/**
 * _PREPARE_* - _REGISTER_*
 */
global.N_0xb1a196bafe650402 = function (mgmHandle, ped) {
	return _in(0xb1a196ba, 0xfe650402, mgmHandle, ped);
};

/**
 * NativeDB Introduced: v1311
 */
global.N_0xb1dd74a1f5536622 = function (inventoryId, itemGUID) {
	return _in(0xb1dd74a1, 0xf5536622, inventoryId, _ii(itemGUID) /* may be optional */, _r);
};

/**
 * 0xB1F6665AA54DCD5C
 */
global.N_0xb1f6665aa54dcd5c = function (p0) {
	return _in(0xb1f6665a, 0xa54dcd5c, p0, _r, _ri);
};

/**
 * 0xB223249B7798EEED
 */
global.N_0xb223249b7798eeed = function (p0, p1, p2, p3) {
	return _in(0xb223249b, 0x7798eeed, p0, p1, p2, p3, _r, _ri);
};

/**
 * 0xB22B1D9F74095382
 */
global.N_0xb22b1d9f74095382 = function (p0) {
	return _in(0xb22b1d9f, 0x74095382, p0);
};

/**
 * 0xB292203008EBBAAC
 */
global.N_0xb292203008ebbaac = function (p0) {
	return _in(0xb2922030, 0x08ebbaac, p0, _r, _ri);
};

/**
 * Used in Script Function SATCHEL_COUNT_BREAKDOWN_COMPONENTS
 */
global.N_0xb29c553ba582d09e = function (model, damageCleanliness, p3) {
	return _in(0xb29c553b, 0xa582d09e, _i, _ch(model), damageCleanliness, p3, _r, _ri);
};

/**
 * NativeDB Introduced: v1311
 */
global.N_0xb2d15d3551fe4fae = function (p0) {
	return _in(0xb2d15d35, 0x51fe4fae, p0);
};

/**
 * 0xB2F47A1AFDFCC595
 */
global.N_0xb2f47a1afdfcc595 = function (p0, p1) {
	return _in(0xb2f47a1a, 0xfdfcc595, p0, p1);
};

/**
 * _IS_PLAYER_I* - _IS_PLAYER_P*
 */
global.N_0xb331d8a73f9d2bdf = function (player, p1) {
	return _in(0xb331d8a7, 0x3f9d2bdf, player, _ii(p1) /* may be optional */, _r);
};

/**
 * Used in bounty1, fanale3, sean1 R* Scripts
 */
global.N_0xb34a6009a0db80b8 = function (entity) {
	return _in(0xb34a6009, 0xa0db80b8, entity);
};

/**
 * 0xB35370D5353995CB
 */
global.N_0xb35370d5353995cb = function (ped, item, p2) {
	return _in(0xb35370d5, 0x353995cb, ped, _ch(item), _fv(p2));
};

/**
 * 0xB389289F031F059A
 */
global.N_0xb389289f031f059a = function () {
	return _in(0xb389289f, 0x031f059a, _r, _ri);
};

/**
 * 0xB38A29CCD5447783
 */
global.N_0xb38a29ccd5447783 = function (p0, p1, p2) {
	return _in(0xb38a29cc, 0xd5447783, p0, p1, p2);
};

/**
 * 0xB38C256498748413
 */
global.N_0xb38c256498748413 = function () {
	return _in(0xb38c2564, 0x98748413);
};

/**
 * 0xB3B1546D23DF8DE1
 */
global.N_0xb3b1546d23df8de1 = function (p0, p1, p2, p3, p4) {
	return _in(0xb3b1546d, 0x23df8de1, p0, p1, p2, p3, p4);
};

/**
 * 0xB3E8841F6BDAF83E
 */
global.N_0xb3e8841f6bdaf83e = function () {
	return _in(0xb3e8841f, 0x6bdaf83e);
};

/**
 * 0xB40EA9E0D2E2F7F3
 */
global.N_0xb40ea9e0d2e2f7f3 = function (ropeId, p1) {
	return _in(0xb40ea9e0, 0xd2e2f7f3, ropeId, _fv(p1));
};

/**
 * 0xB4241AD8F5AEE9ED
 */
global.N_0xb4241ad8f5aee9ed = function (trackIndex) {
	return _in(0xb4241ad8, 0xf5aee9ed, trackIndex, _r);
};

/**
 * 0xB42C87521D1BDD2F
 */
global.N_0xb42c87521d1bdd2f = function (vehicle, x, y, z) {
	return _in(0xb42c8752, 0x1d1bdd2f, vehicle, _fv(x), _fv(y), _fv(z));
};

/**
 * 0xB440F4E35393FC39
 */
global.N_0xb440f4e35393fc39 = function (volume, p1) {
	return _in(0xb440f4e3, 0x5393fc39, volume, p1);
};

/**
 * 0xB469CFD9E065EB99
 */
global.N_0xb469cfd9e065eb99 = function (p0, p1) {
	return _in(0xb469cfd9, 0xe065eb99, p0, p1);
};

/**
 * _RESET_PED_C*
 */
global.N_0xb4b7c92fce7347b7 = function (ped) {
	return _in(0xb4b7c92f, 0xce7347b7, ped);
};

/**
 * 0xB520DBDA7FCF573F
 */
global.N_0xb520dbda7fcf573f = function (ped) {
	return _in(0xb520dbda, 0x7fcf573f, ped, _r);
};

/**
 * 0xB527099D1E1EED49
 */
global.N_0xb527099d1e1eed49 = function (player, p1, crimeType) {
	return _in(0xb527099d, 0x1e1eed49, player, p1, _ii(crimeType) /* may be optional */, _r);
};

/**
 * 0xB5E2EDA2135E0FA1
 */
global.N_0xb5e2eda2135e0fa1 = function (p0, p1, scheduleLocation) {
	return _in(0xb5e2eda2, 0x135e0fa1, _ch(p0), p1, _ii(scheduleLocation) /* may be optional */, _r);
};

/**
 * 0xB65927F861E7AE39
 */
global.N_0xb65927f861e7ae39 = function (ped, p1) {
	return _in(0xb65927f8, 0x61e7ae39, ped, p1, _r);
};

/**
 * 0xB65E7F733956CF25
 */
global.N_0xb65e7f733956cf25 = function (persChar) {
	return _in(0xb65e7f73, 0x3956cf25, persChar);
};

/**
 * NativeDB Introduced: v1311
 */
global.N_0xb6a80e1e3a5444f1 = function () {
	return _in(0xb6a80e1e, 0x3a5444f1, _r, _ri);
};

/**
 * 0xB6E79850B759A30E
 */
global.N_0xb6e79850b759a30e = function (teamId, allow) {
	return _in(0xb6e79850, 0xb759a30e, teamId, allow);
};

/**
 * 0xB6F4557060EF0FB4
 */
global.N_0xb6f4557060ef0fb4 = function (p0, p1) {
	return _in(0xb6f45570, 0x60ef0fb4, p0, p1, _r, _ri);
};

/**
 * _S* (_SUPPRESS_EVENTS_NEXT_FRAME?)
 */
global.N_0xb6f4825153920582 = function () {
	return _in(0xb6f48251, 0x53920582);
};

/**
 * nullsub, doesn't do anything
 */
global.N_0xb6fd96420c0126a1 = function (p0, p1) {
	return _in(0xb6fd9642, 0x0c0126a1, _ch(p0), p1);
};

/**
 * nullsub, doesn't do anything
 */
global.N_0xb711eb4bc8d06013 = function () {
	return _in(0xb711eb4b, 0xc8d06013);
};

/**
 * 0xB7223B91CD6B7E07
 */
global.N_0xb7223b91cd6b7e07 = function (feedChannel) {
	return _in(0xb7223b91, 0xcd6b7e07, feedChannel, _r);
};

/**
 * 0xB7469CB9AC3C0FD4
 */
global.N_0xb7469cb9ac3c0fd4 = function (p0, p1, p2, p3, p4, p5, p6, p7) {
	return _in(0xb7469cb9, 0xac3c0fd4, p0, p1, p2, p3, p4, p5, p6, p7);
};

/**
 * 0xB779F4FA19269AEC
 */
global.N_0xb779f4fa19269aec = function (flag) {
	return _in(0xb779f4fa, 0x19269aec, flag);
};

/**
 * 0xB79817DB31FF72B9
 */
global.N_0xb79817db31ff72b9 = function (p0, p1) {
	return _in(0xb79817db, 0x31ff72b9, p0, p1);
};

/**
 * 0xB7DBB2986B87E230
 */
global.N_0xb7dbb2986b87e230 = function (ped, p1) {
	return _in(0xb7dbb298, 0x6b87e230, ped, _fv(p1), _r);
};

/**
 * _ADD_EXPLOSION_*(ON ENTITY?)
 */
global.N_0xb7df150605eedc9b = function (entity, p1, x, y, z, explosionType, damageScale, isAudible, isInvisible, cameraShake) {
	return _in(0xb7df1506, 0x05eedc9b, entity, p1, _fv(x), _fv(y), _fv(z), explosionType, _fv(damageScale), isAudible, isInvisible, _fv(cameraShake));
};

/**
 * 0xB832F1A686B9B810
 */
global.N_0xb832f1a686b9b810 = function (p0, p1, p2) {
	return _in(0xb832f1a6, 0x86b9b810, p0, p1, p2);
};

/**
 * 0xB85C13E0BF1F2A1C
 */
global.N_0xb85c13e0bf1f2a1c = function (p0) {
	return _in(0xb85c13e0, 0xbf1f2a1c, p0);
};

/**
 * _SET_HO*
 */
global.N_0xb8ab265426cfe6dd = function (ped, p1) {
	return _in(0xb8ab2654, 0x26cfe6dd, ped, p1);
};

/**
 * 0xB8E213D02F37947D
 */
global.N_0xb8e213d02f37947d = function (p0, p1, p2, p3, p4, p5, p6) {
	return _in(0xb8e213d0, 0x2f37947d, p0, p1, p2, p3, p4, p5, p6);
};

/**
 * 0xB8E2D655E1D5BD39
 */
global.N_0xb8e2d655e1d5bd39 = function (p0) {
	return _in(0xb8e2d655, 0xe1d5bd39, p0, _r, _ri);
};

/**
 * 0xB8E3486D107F4194
 */
global.N_0xb8e3486d107f4194 = function (p0, p1) {
	return _in(0xb8e3486d, 0x107f4194, p0, p1);
};

/**
 * 0xB8F52A3F84A7CC59
 */
global.N_0xb8f52a3f84a7cc59 = function (p0) {
	return _in(0xb8f52a3f, 0x84a7cc59, p0, _r, _ri);
};

/**
 * Accepts more hashes than 0xCC644BC1DD655269
 * Such as: CAROLINA_PARAKEETS, DINO_BONES, EGRET_FEATHERS, ...
 */
global.N_0xb9020ec89c07df04 = function (collectableCategory, p1, index) {
	return _in(0xb9020ec8, 0x9c07df04, _ch(collectableCategory), p1, index, _r, _ri);
};

/**
 * _IS_PED_J* - _IS_PED_L*
 */
global.N_0xb91ab3be7f655d49 = function (ped) {
	return _in(0xb91ab3be, 0x7f655d49, ped, _r);
};

/**
 * Used in Script Function NET_CAMP_CLIENT_UPDATE_PED_ROLE_STATE_SHOP: hash exists! Playing hash
 */
global.N_0xb93a769b8b726950 = function (ped, p1) {
	return _in(0xb93a769b, 0x8b726950, ped, _ch(p1));
};

/**
 * ANIMPOSTFX_*
 */
global.N_0xb958d97a0dfaa0c2 = function (effectName) {
	return _in(0xb958d97a, 0x0dfaa0c2, _ts(effectName), _r);
};

/**
 * 0xB961DD799A837BD7
 */
global.N_0xb961dd799a837bd7 = function () {
	return _in(0xb961dd79, 0x9a837bd7);
};

/**
 * Sorts some unknown data.
 * Likely SORT_*
 */
global.N_0xb9b9e47edb9d63db = function () {
	return _in(0xb9b9e47e, 0xdb9d63db);
};

/**
 * 0xB9BDFAE609DFB7C5
 */
global.N_0xb9bdfae609dfb7c5 = function (p0, p1, p2) {
	return _in(0xb9bdfae6, 0x09dfb7c5, p0, p1, p2);
};

/**
 * 0xBA2A089E60ED1163
 */
global.N_0xba2a089e60ed1163 = function (p0, p1, p2, p3, p4) {
	return _in(0xba2a089e, 0x60ed1163, p0, p1, p2, p3, p4, _r, _ri);
};

/**
 * 0xBA2C49EA6A8D24FF
 */
global.N_0xba2c49ea6a8d24ff = function (p0, p1, p2, p3, p4, p5, p6) {
	return _in(0xba2c49ea, 0x6a8d24ff, p0, p1, p2, p3, p4, p5, p6, _r, _ri);
};

/**
 * 0xBA5CA1FEB5DE0DF6
 */
global.N_0xba5ca1feb5de0df6 = function (p0, p1, p2, p3, p4, p5) {
	return _in(0xba5ca1fe, 0xb5de0df6, p0, p1, p2, p3, p4, p5);
};

/**
 * 0xBAAB791AA72C2821
 */
global.N_0xbaab791aa72c2821 = function (p0, p1) {
	return _in(0xbaab791a, 0xa72c2821, p0, p1);
};

/**
 * _SET_PED_D*
 */
global.N_0xbad2a311667a50d7 = function (ped, p1) {
	return _in(0xbad2a311, 0x667a50d7, ped, p1);
};

/**
 * Note: this native was added in build 1311.23
 * ```
 * ```
 * NativeDB Introduced: v1311
 */
global.N_0xbaf7e2979442b29f = function (p0) {
	return _in(0xbaf7e297, 0x9442b29f, p0, _r, _ri);
};

/**
 * 0xBB1EC8C2EEF33BAA
 */
global.N_0xbb1ec8c2eef33baa = function (entity) {
	return _in(0xbb1ec8c2, 0xeef33baa, entity);
};

/**
 * 0xBB282CF5D2333FB8
 */
global.N_0xbb282cf5d2333fb8 = function (p0, p1) {
	return _in(0xbb282cf5, 0xd2333fb8, p0, p1);
};

/**
 * 0xBB3E5370EBB6BE28
 */
global.N_0xbb3e5370ebb6be28 = function (p0, p1) {
	return _in(0xbb3e5370, 0xebb6be28, p0, p1, _r, _ri);
};

/**
 * 0xBB3E9B073E66C3C9
 */
global.N_0xbb3e9b073e66c3c9 = function (ropeId, p1, p2, p3, p4) {
	return _in(0xbb3e9b07, 0x3e66c3c9, ropeId, p1, p2, p3, p4);
};

/**
 * 0xBB68908CD11AEBDC
 */
global.N_0xbb68908cd11aebdc = function (persChar) {
	return _in(0xbb68908c, 0xd11aebdc, persChar);
};

/**
 * 0xBB68D4D3CA3DE402
 */
global.N_0xbb68d4d3ca3de402 = function (p0, p1) {
	return _in(0xbb68d4d3, 0xca3de402, p0, p1);
};

/**
 * 0xBB697756309D77EE
 */
global.N_0xbb697756309d77ee = function (p0) {
	return _in(0xbb697756, 0x309d77ee, p0, _r, _ri);
};

/**
 * NPEW__ENUM__EMOTE_CATEGORY_INVALID = -1
 * NPEW__ENUM__EMOTE_CATEGORY_ACTIONS
 * NPEW__ENUM__EMOTE_CATEGORY_ANTAGONIZE
 * NPEW__ENUM__EMOTE_CATEGORY_REACTIONS
 * NPEW__ENUM__EMOTE_CATEGORY_GREET
 * NPEW__ENUM__NUM_EMOTE_CATEGORIES
 * NPEW__ENUM__NUM_DISPLAY_TEXTURES
 */
global.N_0xbb6ea5d59e926095 = function (category, emote) {
	return _in(0xbb6ea5d5, 0x9e926095, category, _ch(emote));
};

/**
 * Used in script function INIT_DEADEYE_SLOWDOWN
 * _SPECIAL_ABILITY*
 */
global.N_0xbba140062b15a8ac = function (player) {
	return _in(0xbba14006, 0x2b15a8ac, player);
};

/**
 * 0xBBE5B63EFFB08E68
 */
global.N_0xbbe5b63effb08e68 = function (p0, p1, p2, p3, p4, p5, p6) {
	return _in(0xbbe5b63e, 0xffb08e68, p0, p1, p2, p3, p4, p5, p6, _r, _ri);
};

/**
 * 0xBC02B3D151D3859F
 */
global.N_0xbc02b3d151d3859f = function (entity, p1) {
	return _in(0xbc02b3d1, 0x51d3859f, entity, p1);
};

/**
 * NativeDB Introduced: v1232
 */
global.N_0xbc07ca8fd710e7fd = function (p0, p1) {
	return _in(0xbc07ca8f, 0xd710e7fd, p0, p1);
};

/**
 * 0xBC0DF006A4952C68
 */
global.N_0xbc0df006a4952c68 = function (p0, p1, p2) {
	return _in(0xbc0df006, 0xa4952c68, p0, p1, p2);
};

/**
 * 0xBC1DC48270468444
 */
global.N_0xbc1dc48270468444 = function (p0) {
	return _in(0xbc1dc482, 0x70468444, p0);
};

/**
 * 0xBC3F847AE2C3DC65
 */
global.N_0xbc3f847ae2c3dc65 = function (p0, p1) {
	return _in(0xbc3f847a, 0xe2c3dc65, p0, p1);
};

/**
 * Only used in fm_race_controller R* Script (PROCESS_LOCAL_PLAYER_INIT)
 */
global.N_0xbc7d36946d19e60e = function (p0) {
	return _in(0xbc7d3694, 0x6d19e60e, p0);
};

/**
 * NativeDB Introduced: v1355
 */
global.N_0xbc9444f2ff94a9c0 = function (p0) {
	return _in(0xbc9444f2, 0xff94a9c0, p0, _r, _ri);
};

/**
 * _IS_PED_M* - _IS_PED_O*
 */
global.N_0xbd0e4f52f6d95242 = function (ped) {
	return _in(0xbd0e4f52, 0xf6d95242, ped, _r);
};

/**
 * 0xBD1C3C0F271C39D3
 */
global.N_0xbd1c3c0f271c39d3 = function (p0, p1) {
	return _in(0xbd1c3c0f, 0x271c39d3, p0, p1);
};

/**
 * 0xBD629C1C4F501C80
 */
global.N_0xbd629c1c4f501c80 = function (p0) {
	return _in(0xbd629c1c, 0x4f501c80, p0, _r, _ri);
};

/**
 * 0xBD70108D01875299
 */
global.N_0xbd70108d01875299 = function (p0) {
	return _in(0xbd70108d, 0x01875299, p0, _r, _ri);
};

/**
 * Called together with REPORT_POLICE_SPOTTED_PLAYER
 */
global.N_0xbd944a3d36e992de = function () {
	return _in(0xbd944a3d, 0x36e992de);
};

/**
 * 0xBD94CECFB2D65119
 */
global.N_0xbd94cecfb2d65119 = function (p0, p1, p2, p3, p4, p5) {
	return _in(0xbd94cecf, 0xb2d65119, p0, p1, p2, p3, p4, p5);
};

/**
 * 0xBD96185264DDAAEA
 */
global.N_0xbd96185264ddaaea = function (p0, p1) {
	return _in(0xbd961852, 0x64ddaaea, p0, p1);
};

/**
 * 0xBDDA142759307528
 */
global.N_0xbdda142759307528 = function (p0) {
	return _in(0xbdda1427, 0x59307528, p0);
};

/**
 * Checks for MOONSHINE_BAND
 */
global.N_0xbe28db99556ff8d9 = function (entity) {
	return _in(0xbe28db99, 0x556ff8d9, entity, _r, _ri);
};

/**
 * NativeDB Introduced: v1311
 */
global.N_0xbe66b26b6529e943 = function (unlockHash, ped, animalType) {
	return _in(0xbe66b26b, 0x6529e943, _ch(unlockHash), ped, _ch(animalType));
};

/**
 * 0xBE8DAA9D8D01DA6A
 */
global.N_0xbe8daa9d8d01da6a = function (p0, p1, p2) {
	return _in(0xbe8daa9d, 0x8d01da6a, p0, p1, p2);
};

/**
 * _GET_PLAYER_I*
 */
global.N_0xbea3a6e5f5f79a6f = function (p0, p1) {
	return _in(0xbea3a6e5, 0xf5f79a6f, p0, p1, _r, _ri);
};

/**
 * 0xBEA7D3CB47E1479C
 */
global.N_0xbea7d3cb47e1479c = function () {
	return _in(0xbea7d3cb, 0x47e1479c, _r, _ri);
};

/**
 * 0xBED386157F65942C
 */
global.N_0xbed386157f65942c = function (p0, p1) {
	return _in(0xbed38615, 0x7f65942c, p0, p1);
};

/**
 * 0xBEDBE39B5FD98FD6
 */
global.N_0xbedbe39b5fd98fd6 = function (ped) {
	return _in(0xbedbe39b, 0x5fd98fd6, ped, _r);
};

/**
 * 0xBEEFBB608D2AA68A
 */
global.N_0xbeefbb608d2aa68a = function (p0) {
	return _in(0xbeefbb60, 0x8d2aa68a, p0);
};

/**
 * 0xBEFED69CE8317F91
 */
global.N_0xbefed69ce8317f91 = function (p0) {
	return _in(0xbefed69c, 0xe8317f91, p0, _r, _ri);
};

/**
 * 0xBF567DF2BEF211A6
 */
global.N_0xbf567df2bef211a6 = function (p0, p1) {
	return _in(0xbf567df2, 0xbef211a6, p0, p1);
};

/**
 * 0xBF6583E926D13890
 */
global.N_0xbf6583e926d13890 = function (p0, p1) {
	return _in(0xbf6583e9, 0x26d13890, p0, p1);
};

/**
 * 0xBF8276E51761F9DA
 */
global.N_0xbf8276e51761f9da = function () {
	return _in(0xbf8276e5, 0x1761f9da, _r, _ri);
};

/**
 * Only used in R* Script tg_p (CLIENT__AMBIENT_POPULATION - Player starts the populate in region)
 */
global.N_0xbfa6b7731c3baf02 = function () {
	return _in(0xbfa6b773, 0x1c3baf02);
};

/**
 * _DATABINDING_WRITE_DATA_*
 */
global.N_0xbfc83da249befcc9 = function (p0, p1, p2) {
	return _in(0xbfc83da2, 0x49befcc9, p0, _ch(p1), p2);
};

/**
 * 0xBFCA7AFABF9D7967
 */
global.N_0xbfca7afabf9d7967 = function (p0, p1) {
	return _in(0xbfca7afa, 0xbf9d7967, p0, p1, _r, _ri);
};

/**
 * nullsub, doesn't do anything
 */
global.N_0xbfff81e12a745a5f = function () {
	return _in(0xbfff81e1, 0x2a745a5f);
};

/**
 * 0xC028B3F52C707C49
 */
global.N_0xc028b3f52c707c49 = function (p0) {
	return _in(0xc028b3f5, 0x2c707c49, p0, _r);
};

/**
 * 0xC06CFF658B2E51DA
 */
global.N_0xc06cff658b2e51da = function (p0, p1, p2) {
	return _in(0xc06cff65, 0x8b2e51da, p0, p1, p2, _r, _ri);
};

/**
 * Used in NET_CAMP_SPIRIT_ANIMAL_CLEAR_ANIMAL_VISIBILITY
 * ```
 * ```
 * NativeDB Introduced: v1311
 */
global.N_0xc06f2f45a73eabcd = function (entity) {
	return _in(0xc06f2f45, 0xa73eabcd, entity);
};

/**
 * 0xC07B91B996C1DE89
 */
global.N_0xc07b91b996c1de89 = function (p0, p1) {
	return _in(0xc07b91b9, 0x96c1de89, p0, p1);
};

/**
 * 0xC07CFF658B2E51DA
 */
global.N_0xc07cff658b2e51da = function (p0, p1) {
	return _in(0xc07cff65, 0x8b2e51da, p0, p1, _r, _ri);
};

/**
 * 0xC084FF658B2E52DA
 */
global.N_0xc084ff658b2e52da = function (p0) {
	return _in(0xc084ff65, 0x8b2e52da, p0, _r, _ri);
};

/**
 * 0xC084FF658B2E53DA
 */
global.N_0xc084ff658b2e53da = function () {
	return _in(0xc084ff65, 0x8b2e53da, _r, _ri);
};

/**
 * 0xC084FF658B2E54DA
 */
global.N_0xc084ff658b2e54da = function (p0) {
	return _in(0xc084ff65, 0x8b2e54da, p0, _r, _ri);
};

/**
 * 0xC084FF658B2E55DA
 */
global.N_0xc084ff658b2e55da = function (p0, p1) {
	return _in(0xc084ff65, 0x8b2e55da, p0, p1, _r, _ri);
};

/**
 * 0xC084FF658B2E61DA
 */
global.N_0xc084ff658b2e61da = function (p0) {
	return _in(0xc084ff65, 0x8b2e61da, p0, _r, _ri);
};

/**
 * 0xC084FF658B2E71DA
 */
global.N_0xc084ff658b2e71da = function (p0, p1, p2) {
	return _in(0xc084ff65, 0x8b2e71da, p0, p1, p2, _r, _ri);
};

/**
 * 0xC084FF658B2E81DA
 */
global.N_0xc084ff658b2e81da = function (p0, p1, p2) {
	return _in(0xc084ff65, 0x8b2e81da, p0, p1, p2, _r, _ri);
};

/**
 * 0xC086FF658B2E51DA
 */
global.N_0xc086ff658b2e51da = function (p0) {
	return _in(0xc086ff65, 0x8b2e51da, p0, _r, _ri);
};

/**
 * 0xC086FF658B2E51DB
 */
global.N_0xc086ff658b2e51db = function () {
	return _in(0xc086ff65, 0x8b2e51db, _r, _ri);
};

/**
 * 0xC087FF658B2E51DA
 */
global.N_0xc087ff658b2e51da = function (p0, p1) {
	return _in(0xc087ff65, 0x8b2e51da, p0, p1, _r, _ri);
};

/**
 * 0xC089FF658B2E51DA
 */
global.N_0xc089ff658b2e51da = function (p0, p1) {
	return _in(0xc089ff65, 0x8b2e51da, p0, p1, _r, _ri);
};

/**
 * 0xC08AFF658B2E51DA
 */
global.N_0xc08aff658b2e51da = function (p0) {
	return _in(0xc08aff65, 0x8b2e51da, p0);
};

/**
 * 0xC08AFF658B2E51DB
 */
global.N_0xc08aff658b2e51db = function (p0) {
	return _in(0xc08aff65, 0x8b2e51db, p0);
};

/**
 * 0xC08BFF658B2E51DA
 */
global.N_0xc08bff658b2e51da = function (p0) {
	return _in(0xc08bff65, 0x8b2e51da, p0, _r, _ri);
};

/**
 * 0xC08CFF658B2E51DA
 */
global.N_0xc08cff658b2e51da = function (p0, p1) {
	return _in(0xc08cff65, 0x8b2e51da, p0, p1, _r, _ri);
};

/**
 * 0xC08DEF658B2E51DA
 */
global.N_0xc08def658b2e51da = function (p0) {
	return _in(0xc08def65, 0x8b2e51da, p0, _r, _ri);
};

/**
 * 0xC08DFF658B2E51DA
 */
global.N_0xc08dff658b2e51da = function () {
	return _in(0xc08dff65, 0x8b2e51da, _r, _ri);
};

/**
 * 0xC08DFF658B2E51DB
 */
global.N_0xc08dff658b2e51db = function (p0) {
	return _in(0xc08dff65, 0x8b2e51db, p0, _r, _ri);
};

/**
 * 0xC08EFF658B2E51DB
 */
global.N_0xc08eff658b2e51db = function (p0, p1) {
	return _in(0xc08eff65, 0x8b2e51db, p0, p1, _r, _ri);
};

/**
 * 0xC08FFF658B2E51DA
 */
global.N_0xc08fff658b2e51da = function () {
	return _in(0xc08fff65, 0x8b2e51da, _r, _ri);
};

/**
 * 0xC08FFF658B2E51DB
 */
global.N_0xc08fff658b2e51db = function (p0) {
	return _in(0xc08fff65, 0x8b2e51db, p0, _r, _ri);
};

/**
 * 0xC09CFF658B2E51DA
 */
global.N_0xc09cff658b2e51da = function (p0, p1, p2) {
	return _in(0xc09cff65, 0x8b2e51da, p0, p1, p2, _r, _ri);
};

/**
 * 0xC0ABF784590798A9
 */
global.N_0xc0abf784590798a9 = function (p0) {
	return _in(0xc0abf784, 0x590798a9, p0);
};

/**
 * 0xC0CFFDA87C2C163D
 */
global.N_0xc0cffda87c2c163d = function (p0, p1, p2) {
	return _in(0xc0cffda8, 0x7c2c163d, p0, p1, p2, _r, _ri);
};

/**
 * Only used in rcm_serial_killer1 R* Script
 */
global.N_0xc0df161950fb101e = function (ped) {
	return _in(0xc0df1619, 0x50fb101e, ped, _r);
};

/**
 * SET_ENTITY_A*
 */
global.N_0xc0edef16d90661ee = function (entity, p1) {
	return _in(0xc0edef16, 0xd90661ee, entity, _fv(p1));
};

/**
 * Used in SP R* Scripts only
 * _RESUME_* - _SET_A*
 */
global.N_0xc1193521e3b9fadd = function (entity, p1) {
	return _in(0xc1193521, 0xe3b9fadd, entity, p1);
};

/**
 * 0xC177C827CEFC0AA4
 */
global.N_0xc177c827cefc0aa4 = function (p0, p1) {
	return _in(0xc177c827, 0xcefc0aa4, p0, p1);
};

/**
 * _SET_PED_P* - _SET_PED_R*
 */
global.N_0xc17a94cc8fc3c61a = function (entity, boneId, p2, p3, p4) {
	return _in(0xc17a94cc, 0x8fc3c61a, entity, boneId, _fv(p2), _fv(p3), _fv(p4));
};

/**
 * 0xC184FF658B2E55DA
 */
global.N_0xc184ff658b2e55da = function (p0, p1) {
	return _in(0xc184ff65, 0x8b2e55da, p0, p1, _r, _ri);
};

/**
 * Note: this native was added in build 1311.23
 * ```
 * ```
 * NativeDB Introduced: v1311
 */
global.N_0xc1968045eeb563b7 = function (p0) {
	return _in(0xc1968045, 0xeeb563b7, p0);
};

/**
 * 0xC1F04FB37E3F0E57
 */
global.N_0xc1f04fb37e3f0e57 = function (p0, p1) {
	return _in(0xc1f04fb3, 0x7e3f0e57, p0, p1, _r, _ri);
};

/**
 * 0xC205B3C54C6A4E37
 */
global.N_0xc205b3c54c6a4e37 = function (p0) {
	return _in(0xc205b3c5, 0x4c6a4e37, p0);
};

/**
 * 0xC252C0CC969AF79A
 */
global.N_0xc252c0cc969af79a = function (p0) {
	return _in(0xc252c0cc, 0x969af79a, p0);
};

/**
 * _FORCE_PED_*
 * ```
 * ```
 * NativeDB Introduced: v1232
 */
global.N_0xc2722b252c79e641 = function (ped, p1, p2, p3) {
	return _in(0xc2722b25, 0x2c79e641, ped, p1, p2, p3);
};

/**
 * 0xC284FF658B2E55DA
 */
global.N_0xc284ff658b2e55da = function (p0, p1, p2) {
	return _in(0xc284ff65, 0x8b2e55da, p0, p1, p2, _r, _ri);
};

/**
 * 0xC285FD21294A1C49
 */
global.N_0xc285fd21294a1c49 = function (cameraDictionary) {
	return _in(0xc285fd21, 0x294a1c49, _ts(cameraDictionary), _r);
};

/**
 * 0xC28F62AC9774FC1B
 */
global.N_0xc28f62ac9774fc1b = function () {
	return _in(0xc28f62ac, 0x9774fc1b, _r, _ri);
};

/**
 * 0xC2E62678D602853C
 */
global.N_0xc2e62678d602853c = function (p0, p1, p2, p3, p4, p5, p6) {
	return _in(0xc2e62678, 0xd602853c, p0, p1, p2, p3, p4, p5, p6);
};

/**
 * 0xC2E71D7E0A7B4C89
 */
global.N_0xc2e71d7e0a7b4c89 = function (p0) {
	return _in(0xc2e71d7e, 0x0a7b4c89, p0, _r, _ri);
};

/**
 * 0xC2EF407645BEECDC
 */
global.N_0xc2ef407645beecdc = function (p0) {
	return _in(0xc2ef4076, 0x45beecdc, p0, _r, _ri);
};

/**
 * 0xC310239ACCCF5579
 */
global.N_0xc310239acccf5579 = function () {
	return _in(0xc310239a, 0xcccf5579);
};

/**
 * Used in Script Function MC_LOCAL_SETUP_VEH - enabling transitions
 */
global.N_0xc325a6baa62cf8a2 = function (vehicle, p1) {
	return _in(0xc325a6ba, 0xa62cf8a2, vehicle, p1);
};

/**
 * 0xC351394B932A6A50
 */
global.N_0xc351394b932a6a50 = function (p0) {
	return _in(0xc351394b, 0x932a6a50, p0);
};

/**
 * 0xC369E2234E34A0CA
 */
global.N_0xc369e2234e34a0ca = function (p0, p1) {
	return _in(0xc369e223, 0x4e34a0ca, p0, p1, _r, _ri);
};

/**
 * Camera will be or is running
 * ```
 * ```
 * NativeDB Introduced: v1355
 */
global.N_0xc3742f1fdf0a6824 = function () {
	return _in(0xc3742f1f, 0xdf0a6824);
};

/**
 * Doesn't actually return anything.
 * ANIMPOSTFX_*
 */
global.N_0xc37792a3f9c90771 = function () {
	return _in(0xc37792a3, 0xf9c90771, _r, _ri);
};

/**
 * 0xC394FF658B2E55DA
 */
global.N_0xc394ff658b2e55da = function (p0, p1, p2, p3) {
	return _in(0xc394ff65, 0x8b2e55da, p0, p1, p2, p3, _r, _ri);
};

/**
 * _GET_PED_G* - _GET_PED_I*
 */
global.N_0xc3995d396f1d97b6 = function (ped, p1, p2) {
	return _in(0xc3995d39, 0x6f1d97b6, ped, p1, p2, _r);
};

/**
 * 0xC399CC89FBA05DA0
 */
global.N_0xc399cc89fba05da0 = function (vehicle, p1) {
	return _in(0xc399cc89, 0xfba05da0, vehicle, p1);
};

/**
 * Returns BOOL in ida
 */
global.N_0xc3abcfbc7d74afa5 = function (ped, p1, p2) {
	return _in(0xc3abcfbc, 0x7d74afa5, ped, p1, p2);
};

/**
 * NativeDB Introduced: v1436
 */
global.N_0xc3aebb276825a359 = function (dictionary, shotName, duration) {
	return _in(0xc3aebb27, 0x6825a359, _ts(dictionary), _ts(shotName), duration, _r);
};

/**
 * NativeDB Introduced: v1232
 */
global.N_0xc3ca424e1f12ed0c = function (collectableCategory, p1) {
	return _in(0xc3ca424e, 0x1f12ed0c, _ch(collectableCategory), p1, _r, _ri);
};

/**
 * 0xC3D581A34BC0A1F0
 */
global.N_0xc3d581a34bc0a1f0 = function (p0, p1) {
	return _in(0xc3d581a3, 0x4bc0a1f0, p0, p1);
};

/**
 * shakeName: REINFORCED_LASSO_STRUGGLE_SHAKE
 * _RES*
 */
global.N_0xc3e9e5d4f413b773 = function (shakeName, intensity) {
	return _in(0xc3e9e5d4, 0xf413b773, _ts(shakeName), _fv(intensity));
};

/**
 * 0xC4019CF9AE8E931A
 */
global.N_0xc4019cf9ae8e931a = function (volLockRequestId) {
	return _in(0xc4019cf9, 0xae8e931a, volLockRequestId, _r, _rv);
};

/**
 * 0xC412AA1C73111FE0
 */
global.N_0xc412aa1c73111fe0 = function (p0, p1, p2, p3, p4) {
	return _in(0xc412aa1c, 0x73111fe0, p0, p1, p2, p3, p4);
};

/**
 * NativeDB Introduced: v1355
 */
global.N_0xc4146375d8a0b374 = function (bundle, p1, index, p3) {
	return _in(0xc4146375, 0xd8a0b374, bundle, p1, index, p3, _r);
};

/**
 * 0xC4533E3E87125C9E
 */
global.N_0xc4533e3e87125c9e = function (p0) {
	return _in(0xc4533e3e, 0x87125c9e, p0);
};

/**
 * 0xC484FF658B2E55DA
 */
global.N_0xc484ff658b2e55da = function (p0) {
	return _in(0xc484ff65, 0x8b2e55da, p0);
};

/**
 * 0xC4873B053054C04B
 */
global.N_0xc4873b053054c04b = function (p0, p1, p2, p3, p4, p5, p6, p7) {
	return _in(0xc4873b05, 0x3054c04b, p0, p1, p2, p3, p4, p5, p6, p7);
};

/**
 * 0xC489FE31AC726512
 */
global.N_0xc489fe31ac726512 = function (p0, p1) {
	return _in(0xc489fe31, 0xac726512, p0, p1);
};

/**
 * _SET_PED_M*
 */
global.N_0xc48af420371c7407 = function (ped, grapple) {
	return _in(0xc48af420, 0x371c7407, ped, _ch(grapple), _r, _ri);
};

/**
 * [WARDROBE] Player took off their disguise: p1 = 13
 * [WARDROBE] Player put on a disguise: p1 = 0
 */
global.N_0xc494c76a34266e82 = function (ped, p1) {
	return _in(0xc494c76a, 0x34266e82, ped, p1);
};

/**
 * _SET_DRAFT_VEHICLE_(STOP?)*
 */
global.N_0xc4a2c11fc0d41916 = function (vehicle, p1) {
	return _in(0xc4a2c11f, 0xc0d41916, vehicle, p1);
};

/**
 * NativeDB Introduced: v1232
 */
global.N_0xc4ac39719c1bb559 = function (collectableCategory, p1) {
	return _in(0xc4ac3971, 0x9c1bb559, _ch(collectableCategory), p1, _r, _ri);
};

/**
 * 0xC4B67EF3FD65622D
 */
global.N_0xc4b67ef3fd65622d = function (p0, p1, p2, p3, p4, p5) {
	return _in(0xc4b67ef3, 0xfd65622d, p0, p1, p2, p3, p4, p5);
};

/**
 * 0xC4CFCE4C656EF480
 */
global.N_0xc4cfce4c656ef480 = function (ped) {
	return _in(0xc4cfce4c, 0x656ef480, ped);
};

/**
 * Returns boneIndex
 * _GET_PED_N* - _GET_PED_R*
 */
global.N_0xc5303f460a40d21d = function (ped, p1) {
	return _in(0xc5303f46, 0x0a40d21d, ped, p1, _r, _ri);
};

/**
 * 0xC584FF658B2E55DA
 */
global.N_0xc584ff658b2e55da = function (p0) {
	return _in(0xc584ff65, 0x8b2e55da, p0);
};

/**
 * 0xC5899C4CD2E2495D
 */
global.N_0xc5899c4cd2e2495d = function (p0) {
	return _in(0xc5899c4c, 0xd2e2495d, p0);
};

/**
 * 0xC58CE6824E604DEC
 */
global.N_0xc58ce6824e604dec = function (p0) {
	return _in(0xc58ce682, 0x4e604dec, p0);
};

/**
 * _SET_H* - _SET_I*
 */
global.N_0xc5b78e41dcf8227c = function (ped, p1) {
	return _in(0xc5b78e41, 0xdcf8227c, ped, p1);
};

/**
 * 0xC5EB2755FA25F1E9
 */
global.N_0xc5eb2755fa25f1e9 = function (p0) {
	return _in(0xc5eb2755, 0xfa25f1e9, p0);
};

/**
 * 0xC6136B40FFFB778B
 */
global.N_0xc6136b40fffb778b = function (p0) {
	return _in(0xc6136b40, 0xfffb778b, p0);
};

/**
 * 0xC6170856E54557B2
 */
global.N_0xc6170856e54557b2 = function (p0, p1, p2) {
	return _in(0xc6170856, 0xe54557b2, p0, p1, p2);
};

/**
 * NativeDB Introduced: v1311
 */
global.N_0xc61e2fd926dbb406 = function () {
	return _in(0xc61e2fd9, 0x26dbb406);
};

/**
 * 0xC64E7A62632AD2FE
 */
global.N_0xc64e7a62632ad2fe = function (ropeId, p1, p2, p3, p4, p5, p6, p7) {
	return _in(0xc64e7a62, 0x632ad2fe, ropeId, p1, p2, p3, p4, p5, p6, p7);
};

/**
 * _DISABLE_*(PLAYER_FORCED_INTERACTION_LOCKON?)
 */
global.N_0xc67a4910425f11f1 = function (player, name) {
	return _in(0xc67a4910, 0x425f11f1, player, _ts(name));
};

/**
 * 0xC684FF658B2E55DA
 */
global.N_0xc684ff658b2e55da = function (p0) {
	return _in(0xc684ff65, 0x8b2e55da, p0);
};

/**
 * 0xC687A23E166DCF68
 */
global.N_0xc687a23e166dcf68 = function (p0) {
	return _in(0xc687a23e, 0x166dcf68, _ii(p0) /* may be optional */, _r, _ri);
};

/**
 * NativeDB Introduced: v1232
 */
global.N_0xc68c02de259c927c = function (p0) {
	return _in(0xc68c02de, 0x259c927c, p0, _r, _ri);
};

/**
 * 0xC6981AFF6D2A71C2
 */
global.N_0xc6981aff6d2a71c2 = function (p0) {
	return _in(0xc6981aff, 0x6d2a71c2, p0);
};

/**
 * NativeDB Introduced: v1311
 */
global.N_0xc6a1a3d63f122de7 = function (p0, p1) {
	return _in(0xc6a1a3d6, 0x3f122de7, p0, p1);
};

/**
 * 0xC6C4E15CF7D52FEA
 */
global.N_0xc6c4e15cf7d52fea = function (p0, p1) {
	return _in(0xc6c4e15c, 0xf7d52fea, p0, p1);
};

/**
 * 0xC71D07C96946E263
 */
global.N_0xc71d07c96946e263 = function (p0, p1) {
	return _in(0xc71d07c9, 0x6946e263, p0, p1);
};

/**
 * 0xC72CE37081DAE625
 */
global.N_0xc72ce37081dae625 = function (p0, p1, p2, p3) {
	return _in(0xc72ce370, 0x81dae625, p0, p1, p2, p3);
};

/**
 * Hardcoded to return zero/false.
 * ```
 * ```
 * NativeDB Introduced: v1232
 */
global.N_0xc74eb3f2ec169f6b = function (p0) {
	return _in(0xc74eb3f2, 0xec169f6b, p0, _r, _ri);
};

/**
 * 0xC76E94A78127412B
 */
global.N_0xc76e94a78127412b = function (p0, p1, p2) {
	return _in(0xc76e94a7, 0x8127412b, p0, p1, p2);
};

/**
 * ANIMPOSTFX_*
 */
global.N_0xc76fc4c2fc5f4405 = function (effectNameHash) {
	return _in(0xc76fc4c2, 0xfc5f4405, _ch(effectNameHash));
};

/**
 * _GET_DISPATCH_*
 */
global.N_0xc7dc5a0a7df608cb = function (flag) {
	return _in(0xc7dc5a0a, 0x7df608cb, flag, _r);
};

/**
 * 0xC81A9E2C8EFD28D5
 */
global.N_0xc81a9e2c8efd28d5 = function (p0) {
	return _in(0xc81a9e2c, 0x8efd28d5, p0);
};

/**
 * 0xC886CD666ADD42E1
 */
global.N_0xc886cd666add42e1 = function (p0, p1) {
	return _in(0xc886cd66, 0x6add42e1, p0, p1);
};

/**
 * 0xC89E7410A93AC19A
 */
global.N_0xc89e7410a93ac19a = function (ropeId, p1) {
	return _in(0xc89e7410, 0xa93ac19a, ropeId, _fv(p1));
};

/**
 * 0xC8B6D18E22484643
 */
global.N_0xc8b6d18e22484643 = function () {
	return _in(0xc8b6d18e, 0x22484643);
};

/**
 * 0xC8D0611D9A0CF5D3
 */
global.N_0xc8d0611d9a0cf5d3 = function (p0) {
	return _in(0xc8d0611d, 0x9a0cf5d3, p0);
};

/**
 * 0xC900A465364A85D6
 */
global.N_0xc900a465364a85d6 = function (player) {
	return _in(0xc900a465, 0x364a85d6, player);
};

/**
 * 0xC900CEC8A172375B
 */
global.N_0xc900cec8a172375b = function (p0, p1, p2) {
	return _in(0xc900cec8, 0xa172375b, p0, _ts(p1), p2);
};

/**
 * 0xC9151483CC06A414
 */
global.N_0xc9151483cc06a414 = function (ped) {
	return _in(0xc9151483, 0xcc06a414, ped);
};

/**
 * 0xC93A9A45430D484E
 */
global.N_0xc93a9a45430d484e = function (p0) {
	return _in(0xc93a9a45, 0x430d484e, p0, _r, _ri);
};

/**
 * 0xC95611869E14F8AF
 */
global.N_0xc95611869e14f8af = function (p0, p1, p2, p3) {
	return _in(0xc9561186, 0x9e14f8af, p0, p1, p2, p3);
};

/**
 * nullsub, doesn't do anything
 */
global.N_0xc964fcd3d1720697 = function () {
	return _in(0xc964fcd3, 0xd1720697, _r, _ri);
};

/**
 * Not implemented.
 */
global.N_0xc991ef46fe323867 = function (ped, p1) {
	return _in(0xc991ef46, 0xfe323867, ped, p1);
};

/**
 * _SET_PLAYER_N* - _SET_PLAYER_S*
 */
global.N_0xc99f104bdf8c7f5a = function (ped, p1) {
	return _in(0xc99f104b, 0xdf8c7f5a, ped, p1);
};

/**
 * 0xCA0BAC376C541978
 */
global.N_0xca0bac376c541978 = function (p0) {
	return _in(0xca0bac37, 0x6c541978, _ts(p0));
};

/**
 * 0xCA1F0B5103936891
 */
global.N_0xca1f0b5103936891 = function (p0) {
	return _in(0xca1f0b51, 0x03936891, _ch(p0), _r);
};

/**
 * 0xCA27A86CAA4E98ED
 */
global.N_0xca27a86caa4e98ed = function (p0, p1, p2, p3, p4, p5, p6) {
	return _in(0xca27a86c, 0xaa4e98ed, p0, p1, p2, p3, p4, p5, p6, _r, _ri);
};

/**
 * 0xCA41E86545413B5B
 */
global.N_0xca41e86545413b5b = function (p0, p1, p2, p3, p4, p5, p6) {
	return _in(0xca41e865, 0x45413b5b, p0, p1, p2, p3, p4, p5, p6);
};

/**
 * 0xCA56DD6AB7A39F64
 */
global.N_0xca56dd6ab7a39f64 = function (p0) {
	return _in(0xca56dd6a, 0xb7a39f64, p0, _r, _ri);
};

/**
 * 0xCA58D4FD20D70F24
 */
global.N_0xca58d4fd20d70f24 = function (p0) {
	return _in(0xca58d4fd, 0x20d70f24, p0, _r, _ri);
};

/**
 * 0xCA59808E51FD67C4
 */
global.N_0xca59808e51fd67c4 = function (p0, p1) {
	return _in(0xca59808e, 0x51fd67c4, p0, p1);
};

/**
 * 0xCA5C90D40665D5CE
 */
global.N_0xca5c90d40665d5ce = function (p0, p1) {
	return _in(0xca5c90d4, 0x0665d5ce, p0, p1, _r, _ri);
};

/**
 * Returns vehicle speed
 * _COMPUTE_*
 */
global.N_0xca95924c893a0c91 = function (ped, p1) {
	return _in(0xca95924c, 0x893a0c91, ped, _fv(p1), _r, _rf);
};

/**
 * 0xCA95C156C14B2054
 */
global.N_0xca95c156c14b2054 = function (p0, p1) {
	return _in(0xca95c156, 0xc14b2054, p0, p1);
};

/**
 * 0xCAAE29CB5591B2A5
 */
global.N_0xcaae29cb5591b2a5 = function (p0, p1) {
	return _in(0xcaae29cb, 0x5591b2a5, p0, p1, _r, _ri);
};

/**
 * _SET_OBJECT_*
 */
global.N_0xcaaf2bccfef37f77 = function (object, p1) {
	return _in(0xcaaf2bcc, 0xfef37f77, object, p1);
};

/**
 * 0xCAC43D060099EA72
 */
global.N_0xcac43d060099ea72 = function (ped) {
	return _in(0xcac43d06, 0x0099ea72, ped);
};

/**
 * 0xCACAB2B123BBDBD6
 */
global.N_0xcacab2b123bbdbd6 = function (p0, p1, p2) {
	return _in(0xcacab2b1, 0x23bbdbd6, p0, p1, p2, _r, _ri);
};

/**
 * 0xCAFF2C9747103C02
 */
global.N_0xcaff2c9747103c02 = function (p0, p1, p2) {
	return _in(0xcaff2c97, 0x47103c02, p0, p1, p2, _r, _ri);
};

/**
 * 0xCB0B9506BC91E441
 */
global.N_0xcb0b9506bc91e441 = function (p0, p1) {
	return _in(0xcb0b9506, 0xbc91e441, p0, p1);
};

/**
 * 0xCB1A3864C524F784
 */
global.N_0xcb1a3864c524f784 = function (p0, p1) {
	return _in(0xcb1a3864, 0xc524f784, p0, p1);
};

/**
 * 0xCB61A63AA53D7D22
 */
global.N_0xcb61a63aa53d7d22 = function (p0, p1) {
	return _in(0xcb61a63a, 0xa53d7d22, p0, p1);
};

/**
 * 0xCB86D3E3E3708901
 */
global.N_0xcb86d3e3e3708901 = function (p0, p1, p2, p3, p4) {
	return _in(0xcb86d3e3, 0xe3708901, p0, p1, p2, p3, p4, _r, _ri);
};

/**
 * Only used in R* SP Scripts
 * _GET_PLAYER_W* - _GET_RANDOM_*
 */
global.N_0xcb8f4c9343ebe240 = function (ped, eventType, coords) {
	return _in(0xcb8f4c93, 0x43ebe240, ped, _ch(eventType), _v, _r);
};

/**
 * 0xCBB54CC7FFFFAB86
 */
global.N_0xcbb54cc7ffffab86 = function (p0, p1, p2, p3) {
	return _in(0xcbb54cc7, 0xffffab86, p0, p1, p2, p3);
};

/**
 * 0xCBC7B6F9A56B79F6
 */
global.N_0xcbc7b6f9a56b79f6 = function (p0, p1) {
	return _in(0xcbc7b6f9, 0xa56b79f6, p0, p1);
};

/**
 * 0xCBDE59C48F2B06F5
 */
global.N_0xcbde59c48f2b06f5 = function (p0, p1, p2) {
	return _in(0xcbde59c4, 0x8f2b06f5, p0, p1, p2);
};

/**
 * 0xCBF2BEBB468A34F3
 */
global.N_0xcbf2bebb468a34f3 = function (p0) {
	return _in(0xcbf2bebb, 0x468a34f3, p0);
};

/**
 * Used in Script Function MC_LOCAL_SETUP_VEH - enabling transitions
 */
global.N_0xcbf88256e44d5d39 = function (vehicle, p1) {
	return _in(0xcbf88256, 0xe44d5d39, vehicle, p1);
};

/**
 * 0xCBFB4951F2E3934C
 */
global.N_0xcbfb4951f2e3934c = function (player, data) {
	return _in(0xcbfb4951, 0xf2e3934c, player, _ii(data) /* may be optional */);
};

/**
 * 0xCBFBD38F2E0A263B
 */
global.N_0xcbfbd38f2e0a263b = function (p0, p1) {
	return _in(0xcbfbd38f, 0x2e0a263b, p0, p1);
};

/**
 * 0xCC1BAF72D571DB8D
 */
global.N_0xcc1baf72d571db8d = function (p0, p1, p2) {
	return _in(0xcc1baf72, 0xd571db8d, p0, p1, p2, _r, _ri);
};

/**
 * 0xCC3B787E73E64160
 */
global.N_0xcc3b787e73e64160 = function (p0, p1, p2, p3, p4) {
	return _in(0xcc3b787e, 0x73e64160, p0, p1, p2, p3, p4);
};

/**
 * 0xCC3EDC5614B03F61
 */
global.N_0xcc3edc5614b03f61 = function (p0) {
	return _in(0xcc3edc56, 0x14b03f61, p0);
};

/**
 * 0xCC4E72C339461ED1
 */
global.N_0xcc4e72c339461ed1 = function () {
	return _in(0xcc4e72c3, 0x39461ed1, _r, _ri);
};

/**
 * 0xCC61D8D6C19D9F14
 */
global.N_0xcc61d8d6c19d9f14 = function (p0) {
	return _in(0xcc61d8d6, 0xc19d9f14, p0);
};

/**
 * 0xCC6B5AAFC87BFC7B
 */
global.N_0xcc6b5aafc87bfc7b = function (p0, p1, p2) {
	return _in(0xcc6b5aaf, 0xc87bfc7b, p0, p1, p2);
};

/**
 * nullsub, doesn't do anything
 */
global.N_0xccb4635a071fb62d = function () {
	return _in(0xccb4635a, 0x071fb62d);
};

/**
 * 0xCCF71FCFA0070B1A
 */
global.N_0xccf71fcfa0070b1a = function () {
	return _in(0xccf71fcf, 0xa0070b1a, _r);
};

/**
 * 0xCD53E6CBF609C012
 */
global.N_0xcd53e6cbf609c012 = function (ugcRequestId) {
	return _in(0xcd53e6cb, 0xf609c012, ugcRequestId, _r);
};

/**
 * NativeDB Introduced: v1232
 */
global.N_0xcd7ca3013fd12749 = function (p0, p1) {
	return _in(0xcd7ca301, 0x3fd12749, p0, p1);
};

/**
 * _SET_PED_R* - _SET_PED_S*
 */
global.N_0xcd9e5f94a2f38683 = function (ped, p1) {
	return _in(0xcd9e5f94, 0xa2f38683, ped, p1);
};

/**
 * 0xCDB682BB47C02F0A
 */
global.N_0xcdb682bb47c02f0a = function (entity, p1) {
	return _in(0xcdb682bb, 0x47c02f0a, entity, _ch(p1));
};

/**
 * Used in SP R* Scripts only
 * _SET_P*
 */
global.N_0xcdcd7b2d49aee73a = function (p0) {
	return _in(0xcdcd7b2d, 0x49aee73a, p0);
};

/**
 * 0xCDDD4B74660E2335
 */
global.N_0xcddd4b74660e2335 = function (p0, p1, p2) {
	return _in(0xcddd4b74, 0x660e2335, p0, p1, p2);
};

/**
 * 0xCDFB8C04D4C95D9B
 */
global.N_0xcdfb8c04d4c95d9b = function (p0, p1, p2, p3) {
	return _in(0xcdfb8c04, 0xd4c95d9b, p0, p1, p2, p3);
};

/**
 * 0xCE0D2F5586627CCE
 */
global.N_0xce0d2f5586627cce = function (p0, p1, p2, p3, p4) {
	return _in(0xce0d2f55, 0x86627cce, p0, p1, p2, p3, p4);
};

/**
 * 0xCE27824B5968B79A
 */
global.N_0xce27824b5968b79a = function (p0, p1) {
	return _in(0xce27824b, 0x5968b79a, p0, p1);
};

/**
 * 0xCE4E669400E5F8AA
 */
global.N_0xce4e669400e5f8aa = function (p0, p1, p2, p3) {
	return _in(0xce4e6694, 0x00e5f8aa, p0, p1, p2, p3);
};

/**
 * 0xCE54C9ABE6FBC6DB
 */
global.N_0xce54c9abe6fbc6db = function (p0) {
	return _in(0xce54c9ab, 0xe6fbc6db, _ch(p0), _r);
};

/**
 * 0xCE7A6C1D5CDE1F9D
 */
global.N_0xce7a6c1d5cde1f9d = function (ped, object, propName, animName) {
	return _in(0xce7a6c1d, 0x5cde1f9d, ped, object, _ts(propName), _ts(animName));
};

/**
 * 0xCEAB54F4632C6EF6
 */
global.N_0xceab54f4632c6ef6 = function (p0, p1) {
	return _in(0xceab54f4, 0x632c6ef6, p0, p1);
};

/**
 * 0xCEB1F1EED484A5B4
 */
global.N_0xceb1f1eed484a5b4 = function (p0, p1) {
	return _in(0xceb1f1ee, 0xd484a5b4, p0, p1);
};

/**
 * 0xCEB40B678E403759
 */
global.N_0xceb40b678e403759 = function (p0) {
	return _in(0xceb40b67, 0x8e403759, p0, _r, _ri);
};

/**
 * 0xCEDC16930526F728
 */
global.N_0xcedc16930526f728 = function (p0) {
	return _in(0xcedc1693, 0x0526f728, p0);
};

/**
 * _SET_PED_COMBAT_*
 */
global.N_0xcf0b19806473d324 = function (ped, x, y, z) {
	return _in(0xcf0b1980, 0x6473d324, ped, _fv(x), _fv(y), _fv(z));
};

/**
 * 0xCF213A5FC3ABFC08
 */
global.N_0xcf213a5fc3abfc08 = function (p0, p1, p2) {
	return _in(0xcf213a5f, 0xc3abfc08, p0, p1, p2);
};

/**
 * 0xCF23AB5BD47B384D
 */
global.N_0xcf23ab5bd47b384d = function (p0) {
	return _in(0xcf23ab5b, 0xd47b384d, p0);
};

/**
 * 0xCF342503CA4C8DF1
 */
global.N_0xcf342503ca4c8df1 = function (vehicle, p1) {
	return _in(0xcf342503, 0xca4c8df1, vehicle, _fv(p1));
};

/**
 * 0xCF69EA05CD9C33C9
 */
global.N_0xcf69ea05cd9c33c9 = function () {
	return _in(0xcf69ea05, 0xcd9c33c9);
};

/**
 * 0xCF9DA72002FC16BF
 */
global.N_0xcf9da72002fc16bf = function (p0, p1, p2) {
	return _in(0xcf9da720, 0x02fc16bf, p0, p1, p2);
};

/**
 * 0xCFAD2C8CD1054523
 */
global.N_0xcfad2c8cd1054523 = function (p0, p1, p2, p3) {
	return _in(0xcfad2c8c, 0xd1054523, p0, p1, p2, p3);
};

/**
 * 0xCFB2EED4FCB7BD77
 */
global.N_0xcfb2eed4fcb7bd77 = function (p0, p1, p2) {
	return _in(0xcfb2eed4, 0xfcb7bd77, p0, p1, p2);
};

/**
 * 0xCFDA2518F322D836
 */
global.N_0xcfda2518f322d836 = function (p0) {
	return _in(0xcfda2518, 0xf322d836, p0, _r, _ri);
};

/**
 * 0xCFFC3ECCD7A5CCEB
 */
global.N_0xcffc3eccd7a5cceb = function (player, weapon, p2) {
	return _in(0xcffc3ecc, 0xd7a5cceb, player, _ch(weapon), p2);
};

/**
 * 0xD0116DF21E6C7B36
 */
global.N_0xd0116df21e6c7b36 = function (p0, p1) {
	return _in(0xd0116df2, 0x1e6c7b36, p0, p1, _r, _ri);
};

/**
 * 0xD049920CD29F6CC8
 */
global.N_0xd049920cd29f6cc8 = function (p0, p1, p2, p3, p4) {
	return _in(0xd049920c, 0xd29f6cc8, p0, p1, p2, p3, p4);
};

/**
 * 0xD049FDAF089FDDB0
 */
global.N_0xd049fdaf089fddb0 = function (ped, p1, p2) {
	return _in(0xd049fdaf, 0x089fddb0, ped, _ch(p1), _fv(p2));
};

/**
 * NativeDB Introduced: v1232
 */
global.N_0xd05a460328560477 = function (p0) {
	return _in(0xd05a4603, 0x28560477, p0, _r, _ri);
};

/**
 * _IS_SCRIPTED_CONVERSATION_*
 */
global.N_0xd0730c1fa40348d9 = function (convoRoot) {
	return _in(0xd0730c1f, 0xa40348d9, _ts(convoRoot), _r);
};

/**
 * NativeDB Introduced: v1311
 */
global.N_0xd076db9b96faadf1 = function (p0, p1) {
	return _in(0xd076db9b, 0x96faadf1, p0, p1, _r);
};

/**
 * Params: p3 returns an int between 0 and 20 (?)
 * Only used in R* SP Scripts
 */
global.N_0xd08685ba892dbfab = function (inventoryId) {
	return _in(0xd08685ba, 0x892dbfab, inventoryId, _i, _i, _i, _r);
};

/**
 * 0xD0AABE5B9F8FA589
 */
global.N_0xd0aabe5b9f8fa589 = function (trackIndex, p1) {
	return _in(0xd0aabe5b, 0x9f8fa589, trackIndex, _fv(p1));
};

/**
 * NativeDB Introduced: v1311
 */
global.N_0xd0abc4ea3b5e21a0 = function (p0, p1) {
	return _in(0xd0abc4ea, 0x3b5e21a0, p0, p1, _r, _ri);
};

/**
 * 0xD0BA1853D76683C8
 */
global.N_0xd0ba1853d76683c8 = function (trackIndex, x, y, z, p4) {
	return _in(0xd0ba1853, 0xd76683c8, trackIndex, _fv(x), _fv(y), _fv(z), p4);
};

/**
 * Params: p1 either a 1 or 0, so perhaps BOOL
 * _SET_PED_A*
 */
global.N_0xd103f6dbb5442be8 = function (ped, p1) {
	return _in(0xd103f6db, 0xb5442be8, ped, p1);
};

/**
 * Only used in R* Script nb_stalking_hunter
 * ```
 * ```
 * NativeDB Introduced: v1311
 */
global.N_0xd1472aff30c103d6 = function (p0) {
	return _in(0xd1472aff, 0x30c103d6, _fv(p0));
};

/**
 * 0xD1555FBC96C88444
 */
global.N_0xd1555fbc96c88444 = function (p0, p1, p2, p3, p4) {
	return _in(0xd1555fbc, 0x96c88444, _ch(p0), p1, p2, p3, p4, _r);
};

/**
 * NativeDB Introduced: v1232
 */
global.N_0xd1806fb3eded6d11 = function (collectableCategory, p1) {
	return _in(0xd1806fb3, 0xeded6d11, _ch(collectableCategory), p1, _r, _ri);
};

/**
 * 0xD1A70C1E8D1031FE
 */
global.N_0xd1a70c1e8d1031fe = function (p0, p1) {
	return _in(0xd1a70c1e, 0x8d1031fe, p0, p1);
};

/**
 * 0xD1DF5E54F4ACBE1A
 */
global.N_0xd1df5e54f4acbe1a = function (p0, p1, p2, p3, p4, p5, p6) {
	return _in(0xd1df5e54, 0xf4acbe1a, p0, p1, p2, p3, p4, p5, p6, _r, _ri);
};

/**
 * 0xD1EFA8D68BF5D63D
 */
global.N_0xd1efa8d68bf5d63d = function (p0, p1, p2, p3) {
	return _in(0xd1efa8d6, 0x8bf5d63d, p0, p1, p2, p3);
};

/**
 * 0xD1F6B912785BFD35
 */
global.N_0xd1f6b912785bfd35 = function (p0) {
	return _in(0xd1f6b912, 0x785bfd35, p0, _r, _ri);
};

/**
 * 0xD1FFB246F4E088AC
 */
global.N_0xd1ffb246f4e088ac = function (p0) {
	return _in(0xd1ffb246, 0xf4e088ac, p0, _r);
};

/**
 * 0xD21A3D421E7F09F7
 */
global.N_0xd21a3d421e7f09f7 = function (p0, p1) {
	return _in(0xd21a3d42, 0x1e7f09f7, p0, p1);
};

/**
 * 0xD21C7418C590BB40
 */
global.N_0xd21c7418c590bb40 = function (p0) {
	return _in(0xd21c7418, 0xc590bb40, p0, _r, _ri);
};

/**
 * 0xD2209866B0CB72EA
 */
global.N_0xd2209866b0cb72ea = function (p0, p1) {
	return _in(0xd2209866, 0xb0cb72ea, p0, p1, _r, _ri);
};

/**
 * NativeDB Introduced: v1311
 */
global.N_0xd288e02e364972d2 = function (p0, p1, p2) {
	return _in(0xd288e02e, 0x364972d2, p0, p1, p2);
};

/**
 * NativeDB Introduced: v1232
 */
global.N_0xd297f68928a58130 = function (collectableCategory, p1) {
	return _in(0xd297f689, 0x28a58130, _ch(collectableCategory), p1, _r, _ri);
};

/**
 * 0xD2F0FE8805D91647
 */
global.N_0xd2f0fe8805d91647 = function (p0, p1) {
	return _in(0xd2f0fe88, 0x05d91647, p0, p1);
};

/**
 * 0xD355E2F1BB41087E
 */
global.N_0xd355e2f1bb41087e = function (ped, p1) {
	return _in(0xd355e2f1, 0xbb41087e, ped, _fv(p1), _r);
};

/**
 * 0xD39A72AE5EBD57E5
 */
global.N_0xd39a72ae5ebd57e5 = function () {
	return _in(0xd39a72ae, 0x5ebd57e5);
};

/**
 * 0xD39D32EB3B52DD83
 */
global.N_0xd39d32eb3b52dd83 = function (p0) {
	return _in(0xd39d32eb, 0x3b52dd83, p0, _r, _ri);
};

/**
 * 0xD3A3C8B9F3BDEF81
 */
global.N_0xd3a3c8b9f3bdef81 = function () {
	return _in(0xd3a3c8b9, 0xf3bdef81, _r, _ri);
};

/**
 * Note: this native was added in build 1311.23
 * ```
 * ```
 * NativeDB Introduced: v1311
 */
global.N_0xd3b6ebc6c3d77d44 = function (p0) {
	return _in(0xd3b6ebc6, 0xc3d77d44, p0);
};

/**
 * 0xD3F58E9316B7FC2A
 */
global.N_0xd3f58e9316b7fc2a = function (p0) {
	return _in(0xd3f58e93, 0x16b7fc2a, p0);
};

/**
 * 0xD3F943B88F55376A
 */
global.N_0xd3f943b88f55376a = function (weatherType) {
	return _in(0xd3f943b8, 0x8f55376a, _ch(weatherType));
};

/**
 * 0xD4022C7286B0DFA2
 */
global.N_0xd4022c7286b0dfa2 = function (p0, p1, p2) {
	return _in(0xd4022c72, 0x86b0dfa2, _ts(p0), p1, p2, _r, _ri);
};

/**
 * 0xD428C3F92FC3F6F8
 */
global.N_0xd428c3f92fc3f6f8 = function (ped, p1) {
	return _in(0xd428c3f9, 0x2fc3f6f8, ped, _ts(p1));
};

/**
 * NativeDB Introduced: v1232
 */
global.N_0xd42c543f73233041 = function (p0) {
	return _in(0xd42c543f, 0x73233041, p0);
};

/**
 * 0xD45BB89B53FC0CFD
 */
global.N_0xd45bb89b53fc0cfd = function (p0, p1, p2, p3, p4, p5, p6, p7) {
	return _in(0xd45bb89b, 0x53fc0cfd, p0, p1, p2, p3, p4, p5, p6, p7);
};

/**
 * 0xD460135C98940274
 */
global.N_0xd460135c98940274 = function (volume, p1) {
	return _in(0xd460135c, 0x98940274, volume, p1);
};

/**
 * 0xD4636C2EDB0DEA8A
 */
global.N_0xd4636c2edb0dea8a = function (p0) {
	return _in(0xd4636c2e, 0xdb0dea8a, p0, _r, _ri);
};

/**
 * 0xD46BF94C4C66FAB0
 */
global.N_0xd46bf94c4c66fab0 = function (p0, p1, p2, p3) {
	return _in(0xd46bf94c, 0x4c66fab0, p0, p1, p2, p3, _r, _ri);
};

/**
 * 0xD47D47EFBF103FB8
 */
global.N_0xd47d47efbf103fb8 = function (p0, p1) {
	return _in(0xd47d47ef, 0xbf103fb8, p0, p1);
};

/**
 * NativeDB Introduced: v1232
 */
global.N_0xd48227263e3d06ae = function (p0, p1, p2, p3, p4, p5, p6, p7, p8, p9) {
	return _in(0xd4822726, 0x3e3d06ae, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9);
};

/**
 * 0xD48993A61938C64D
 */
global.N_0xd48993a61938c64d = function (p0, p1) {
	return _in(0xd48993a6, 0x1938c64d, p0, _ts(p1), _r, _ri);
};

/**
 * 0xD4907EF4334C7602
 */
global.N_0xd4907ef4334c7602 = function (p0, p1) {
	return _in(0xd4907ef4, 0x334c7602, p0, p1);
};

/**
 * 0xD4B614179BCD0654
 */
global.N_0xd4b614179bcd0654 = function (p0) {
	return _in(0xd4b61417, 0x9bcd0654, p0);
};

/**
 * NativeDB Introduced: v1311
 */
global.N_0xd4c6e24d955ff061 = function (p0) {
	return _in(0xd4c6e24d, 0x955ff061, p0);
};

/**
 * 0xD4D403EA031F351C
 */
global.N_0xd4d403ea031f351c = function (ped) {
	return _in(0xd4d403ea, 0x031f351c, ped, _r);
};

/**
 * 0xD4FA73FE628FEC63
 */
global.N_0xd4fa73fe628fec63 = function (p0, p1) {
	return _in(0xd4fa73fe, 0x628fec63, p0, p1);
};

/**
 * 0xD503D6F0986D58BC
 */
global.N_0xd503d6f0986d58bc = function (p0, p1) {
	return _in(0xd503d6f0, 0x986d58bc, p0, p1);
};

/**
 * 0xD508FA229F1C4900
 */
global.N_0xd508fa229f1c4900 = function (p0, p1, p2, p3, p4, p5) {
	return _in(0xd508fa22, 0x9f1c4900, p0, p1, p2, p3, p4, p5, _r, _ri);
};

/**
 * 0xD52DF30355EA7C8E
 */
global.N_0xd52df30355ea7c8e = function (p0, p1, p2) {
	return _in(0xd52df303, 0x55ea7c8e, p0, p1, p2);
};

/**
 * 0xD53846B9C931C181
 */
global.N_0xd53846b9c931c181 = function (p0, p1, p2) {
	return _in(0xd53846b9, 0xc931c181, p0, p1, p2);
};

/**
 * 0xD543487A1F12828F
 */
global.N_0xd543487a1f12828f = function (p0, p1, p2, p3) {
	return _in(0xd543487a, 0x1f12828f, p0, p1, p2, p3);
};

/**
 * 0xD55A871E1CE3481B
 */
global.N_0xd55a871e1ce3481b = function (p0, p1, p2, p3) {
	return _in(0xd55a871e, 0x1ce3481b, p0, p1, p2, p3);
};

/**
 * Used in Script Function LA_CHECK_ALERTED
 * _GET_IS_PED_*
 */
global.N_0xd55db4466d00a258 = function (legendaryAnimal) {
	return _in(0xd55db446, 0x6d00a258, legendaryAnimal, _r);
};

/**
 * _SET_FORMATION_*
 */
global.N_0xd5bd1b5318a81994 = function (groupId, p1) {
	return _in(0xd5bd1b53, 0x18a81994, groupId, p1);
};

/**
 * 0xD61FCF9FCFD515B7
 */
global.N_0xd61fcf9fcfd515b7 = function (p0, p1, p2) {
	return _in(0xd61fcf9f, 0xcfd515b7, p0, p1, p2);
};

/**
 * 0xD637D327080CD86E
 */
global.N_0xd637d327080cd86e = function (p0) {
	return _in(0xd637d327, 0x080cd86e, p0);
};

/**
 * 0xD63B4BA3A02A99E0
 */
global.N_0xd63b4ba3a02a99e0 = function (p0, p1) {
	return _in(0xd63b4ba3, 0xa02a99e0, p0, p1);
};

/**
 * 0xD64DBC8B0424135F
 */
global.N_0xd64dbc8b0424135f = function (ped, animalType) {
	return _in(0xd64dbc8b, 0x0424135f, ped, _ch(animalType));
};

/**
 * 0xD699E688B49C0FD2
 */
global.N_0xd699e688b49c0fd2 = function (ropeId, p1, p2, p3, p4) {
	return _in(0xd699e688, 0xb49c0fd2, ropeId, _fv(p1), _fv(p2), _fv(p3), p4);
};

/**
 * _BOUNTY_GET_*
 * ```
 * ```
 * NativeDB Introduced: v1355
 */
global.N_0xd6a67e2ff373d0e3 = function (p0) {
	return _in(0xd6a67e2f, 0xf373d0e3, p0, _r, _ri);
};

/**
 * 0xD6BD313CFA41E57A
 */
global.N_0xd6bd313cfa41e57a = function (p0) {
	return _in(0xd6bd313c, 0xfa41e57a, p0, _r, _ri);
};

/**
 * 0xD6C0A8C7C0B2F82C
 */
global.N_0xd6c0a8c7c0b2f82c = function (player, p1) {
	return _in(0xd6c0a8c7, 0xc0b2f82c, player, p1);
};

/**
 * 0xD6E39DC5D46DF4AB
 */
global.N_0xd6e39dc5d46df4ab = function (p0) {
	return _in(0xd6e39dc5, 0xd46df4ab, p0, _r, _ri);
};

/**
 * Used in SP R* Scripts only
 * _IS_ANIM_SCENE_*
 */
global.N_0xd70c7a30412f8fa0 = function (animScene) {
	return _in(0xd70c7a30, 0x412f8fa0, animScene, _r);
};

/**
 * 0xD730281E496621FB
 */
global.N_0xd730281e496621fb = function (ped, p1) {
	return _in(0xd730281e, 0x496621fb, ped, _ch(p1));
};

/**
 * 0xD733528B6C35647A
 */
global.N_0xd733528b6c35647a = function (p0, p1) {
	return _in(0xd733528b, 0x6c35647a, p0, p1);
};

/**
 * 0xD747979C053EFA7A
 */
global.N_0xd747979c053efa7a = function (p0) {
	return _in(0xd747979c, 0x053efa7a, p0);
};

/**
 * Only used in R* SP Scripts
 * Params: p2 either 1 or 2
 */
global.N_0xd7494ded50c6ef52 = function (player, crimeType, p2) {
	return _in(0xd7494ded, 0x50c6ef52, player, _ch(crimeType), p2);
};

/**
 * 0xD78A26024BB13E08
 */
global.N_0xd78a26024bb13e08 = function (player) {
	return _in(0xd78a2602, 0x4bb13e08, player);
};

/**
 * 0xD7BAD4062074B9C1
 */
global.N_0xd7bad4062074b9c1 = function (p0) {
	return _in(0xd7bad406, 0x2074b9c1, p0, _r);
};

/**
 * NativeDB Introduced: v1355
 */
global.N_0xd7d0df27cb1765b5 = function (p0) {
	return _in(0xd7d0df27, 0xcb1765b5, p0, _r);
};

/**
 * 0xD7D2F45C56A4F4DF
 */
global.N_0xd7d2f45c56a4f4df = function (p0, p1, p2) {
	return _in(0xd7d2f45c, 0x56a4f4df, p0, p1, p2);
};

/**
 * 0xD7DB94AB78E8EBE4
 */
global.N_0xd7db94ab78e8ebe4 = function (p0, p1) {
	return _in(0xd7db94ab, 0x78e8ebe4, _ts(p0), _ch(p1), _r, _ri);
};

/**
 * 0xD826690B5CF3BEFF
 */
global.N_0xd826690b5cf3beff = function (vehicle, p1) {
	return _in(0xd826690b, 0x5cf3beff, vehicle, p1);
};

/**
 * 0xD840C130D7AACFA5
 */
global.N_0xd840c130d7aacfa5 = function (p0, p1, p2) {
	return _in(0xd840c130, 0xd7aacfa5, p0, p1, p2);
};

/**
 * METAPED_PLAYER_COMPONENTS_SET_META_TYPE_TO_BE_BYPASSED: Setting visibility
 * p1 is mostly 10
 * _CLEAR_PED_N* - _CLEAR_PED_W*
 * ```
 * ```
 * NativeDB Introduced: v1232
 */
global.N_0xd8544f6260f5f01e = function (ped, p1) {
	return _in(0xd8544f62, 0x60f5f01e, ped, p1);
};

/**
 * 0xD882C5B3991575B7
 */
global.N_0xd882c5b3991575b7 = function (p0, p1, p2, p3, p4) {
	return _in(0xd882c5b3, 0x991575b7, p0, p1, p2, p3, p4, _r, _rv);
};

/**
 * 0xD8CEEED54C672B5D
 */
global.N_0xd8ceeed54c672b5d = function (p0, p1, p2, p3, p4, p5, p6) {
	return _in(0xd8ceeed5, 0x4c672b5d, p0, p1, p2, p3, p4, p5, p6);
};

/**
 * 0xD8E3D22AA4F0E0A5
 */
global.N_0xd8e3d22aa4f0e0a5 = function (p0) {
	return _in(0xd8e3d22a, 0xa4f0e0a5, _ts(p0), _r);
};

/**
 * 0xD91E55B6C005EB09
 */
global.N_0xd91e55b6c005eb09 = function (p0, p1) {
	return _in(0xd91e55b6, 0xc005eb09, p0, p1, _r, _ri);
};

/**
 * 0xD95D777F828B2BBB
 */
global.N_0xd95d777f828b2bbb = function (p0) {
	return _in(0xd95d777f, 0x828b2bbb, p0);
};

/**
 * 0xD95F04A4E73BE85E
 */
global.N_0xd95f04a4e73be85e = function (p0, p1) {
	return _in(0xd95f04a4, 0xe73be85e, p0, p1, _r, _ri);
};

/**
 * NativeDB Introduced: v1311
 */
global.N_0xd97bc27ac039f681 = function (p0, p1, p2, p3) {
	return _in(0xd97bc27a, 0xc039f681, p0, p1, p2, p3, _r, _ri);
};

/**
 * 0xD999E379265A4501
 */
global.N_0xd999e379265a4501 = function (p0, p1, p2) {
	return _in(0xd999e379, 0x265a4501, p0, p1, p2);
};

/**
 * 0xD9BC98B55BCFAA9B
 */
global.N_0xd9bc98b55bcfaa9b = function (p0) {
	return _in(0xd9bc98b5, 0x5bcfaa9b, p0);
};

/**
 * 0xD9BF3ED8EFB67EA3
 */
global.N_0xd9bf3ed8efb67ea3 = function (p0, p1, p2, p3, p4) {
	return _in(0xd9bf3ed8, 0xefb67ea3, p0, p1, p2, p3, p4, _r, _ri);
};

/**
 * 0xD9F2FF4AF394D926
 */
global.N_0xd9f2ff4af394d926 = function () {
	return _in(0xd9f2ff4a, 0xf394d926);
};

/**
 * unused = true
 * ```
 * ```
 * NativeDB Introduced: v1436
 */
global.N_0xda05310ea94dc8c6 = function (p0, p1) {
	return _in(0xda05310e, 0xa94dc8c6, _ts(p0), _ts(p1));
};

/**
 * 0xDA0A30153FCC0FFD
 */
global.N_0xda0a30153fcc0ffd = function () {
	return _in(0xda0a3015, 0x3fcc0ffd);
};

/**
 * Only used in R* SP Scripts
 * Params: p1 = true, p2 = false
 */
global.N_0xda1a9adc4e3d4b16 = function (itemSet, p1, p2) {
	return _in(0xda1a9adc, 0x4e3d4b16, itemSet, p1, p2);
};

/**
 * 0xDA1BFED8582F61F0
 */
global.N_0xda1bfed8582f61f0 = function () {
	return _in(0xda1bfed8, 0x582f61f0, _r);
};

/**
 * 0xDA26263C07CCE9C2
 */
global.N_0xda26263c07cce9c2 = function (p0) {
	return _in(0xda26263c, 0x07cce9c2, p0);
};

/**
 * 0xDA4D8EB04E8E2928
 */
global.N_0xda4d8eb04e8e2928 = function (p0) {
	return _in(0xda4d8eb0, 0x4e8e2928, p0);
};

/**
 * 0xDA7FDEFF4DE86839
 */
global.N_0xda7fdeff4de86839 = function () {
	return _in(0xda7fdeff, 0x4de86839, _r, _ri);
};

/**
 * _NETWORK_GET_* or _NETWORK_IS_*
 */
global.N_0xda801f7f6a5278d3 = function (player) {
	return _in(0xda801f7f, 0x6a5278d3, player, _r);
};

/**
 * 0xDA9D7BE231FE865F
 */
global.N_0xda9d7be231fe865f = function (p0, p1, p2) {
	return _in(0xda9d7be2, 0x31fe865f, p0, p1, p2, _r, _ri);
};

/**
 * 0xDAB6A2FC56B7DE65
 */
global.N_0xdab6a2fc56b7de65 = function (p0) {
	return _in(0xdab6a2fc, 0x56b7de65, p0, _r, _ri);
};

/**
 * 0xDABFE48BA0D457AA
 */
global.N_0xdabfe48ba0d457aa = function () {
	return _in(0xdabfe48b, 0xa0d457aa, _r, _ri);
};

/**
 * 0xDAD6CD07CAA4F382
 */
global.N_0xdad6cd07caa4f382 = function () {
	return _in(0xdad6cd07, 0xcaa4f382);
};

/**
 * crimeType: see _REPORT_CRIME
 */
global.N_0xdaefdfdb2aeece37 = function (crimeType, p1) {
	return _in(0xdaefdfdb, 0x2aeece37, _ch(crimeType), p1, _r, _ri);
};

/**
 * 0xDB382FE20C2DA222
 */
global.N_0xdb382fe20c2da222 = function (p0) {
	return _in(0xdb382fe2, 0x0c2da222, p0);
};

/**
 * 0xDB622ECD3DCBE078
 */
global.N_0xdb622ecd3dcbe078 = function (player) {
	return _in(0xdb622ecd, 0x3dcbe078, player, _r, _ri);
};

/**
 * 0xDBBF12EA7C1029B2
 */
global.N_0xdbbf12ea7c1029b2 = function (p0, p1) {
	return _in(0xdbbf12ea, 0x7c1029b2, p0, p1);
};

/**
 * NativeDB Introduced: v1436
 */
global.N_0xdbda48ec456ed908 = function () {
	return _in(0xdbda48ec, 0x456ed908);
};

/**
 * Note: this native was added in build 1491.50
 * ```
 * ```
 * NativeDB Introduced: v1491
 */
global.N_0xdbdf80673bba3d65 = function (p0) {
	return _in(0xdbdf8067, 0x3bba3d65, p0, _r);
};

/**
 * NativeDB Introduced: v1355
 */
global.N_0xdbeada0df5f9ab9f = function (p0, index, menuKey) {
	return _in(0xdbeada0d, 0xf5f9ab9f, p0, index, menuKey, _r);
};

/**
 * 0xDC0556D0F484ECAA
 */
global.N_0xdc0556d0f484ecaa = function (p0) {
	return _in(0xdc0556d0, 0xf484ecaa, p0);
};

/**
 * Hardcoded to return one/true.
 */
global.N_0xdc057b86fc157031 = function () {
	return _in(0xdc057b86, 0xfc157031, _r, _ri);
};

/**
 * 0xDC0A1F0ECEC9F0C0
 */
global.N_0xdc0a1f0ecec9f0c0 = function (p0, p1) {
	return _in(0xdc0a1f0e, 0xcec9f0c0, p0, p1);
};

/**
 * 0xDC2F83A0612CA34D
 */
global.N_0xdc2f83a0612ca34d = function (p0) {
	return _in(0xdc2f83a0, 0x612ca34d, p0, _r, _ri);
};

/**
 * 0xDC416CA762BC4F43
 */
global.N_0xdc416ca762bc4f43 = function (p0, p1, p2, p3, p4, p5) {
	return _in(0xdc416ca7, 0x62bc4f43, p0, p1, p2, p3, p4, p5, _r, _ri);
};

/**
 * 0xDC5E09D012D759C4
 */
global.N_0xdc5e09d012d759c4 = function (entity1, entity2, p2) {
	return _in(0xdc5e09d0, 0x12d759c4, entity1, entity2, p2);
};

/**
 * 0xDC62CD70658E7A02
 */
global.N_0xdc62cd70658e7a02 = function () {
	return _in(0xdc62cd70, 0x658e7a02, _r, _ri);
};

/**
 * 0xDC69F6913CCA0B99
 */
global.N_0xdc69f6913cca0b99 = function (p0, p1) {
	return _in(0xdc69f691, 0x3cca0b99, p0, p1);
};

/**
 * 0xDC6AD5C046F33AB4
 */
global.N_0xdc6ad5c046f33ab4 = function (p0, p1) {
	return _in(0xdc6ad5c0, 0x46f33ab4, p0, p1);
};

/**
 * _IS_PED_IN_* (near water?)
 * Returns true if ped is swimming in water
 */
global.N_0xdc88d06719070c39 = function (ped) {
	return _in(0xdc88d067, 0x19070c39, ped, _r);
};

/**
 * Used in Script Function MP_MAIN_OFFLINE__INITIALIZE_GAME
 * _SET_RELATIONSHIP_*
 */
global.N_0xdc91f22f09bc6c2f = function (group, p1) {
	return _in(0xdc91f22f, 0x09bc6c2f, _ch(group), p1);
};

/**
 * 0xDC93F0948F2C28F4
 */
global.N_0xdc93f0948f2c28f4 = function (p0) {
	return _in(0xdc93f094, 0x8f2c28f4, p0);
};

/**
 * 0xDC9655D47DEC0353
 */
global.N_0xdc9655d47dec0353 = function (p0) {
	return _in(0xdc9655d4, 0x7dec0353, p0, _r, _ri);
};

/**
 * 0xDC9B361CB7776673
 */
global.N_0xdc9b361cb7776673 = function (player) {
	return _in(0xdc9b361c, 0xb7776673, player);
};

/**
 * 0xDCA4A74135E1DEA5
 */
global.N_0xdca4a74135e1dea5 = function (p0) {
	return _in(0xdca4a741, 0x35e1dea5, p0, _r);
};

/**
 * 0xDCEC875A02991AD0
 */
global.N_0xdcec875a02991ad0 = function (p0, p1, p2, p3) {
	return _in(0xdcec875a, 0x02991ad0, p0, p1, p2, p3, _r, _ri);
};

/**
 * 0xDCF12B89624AAC96
 */
global.N_0xdcf12b89624aac96 = function (p0) {
	return _in(0xdcf12b89, 0x624aac96, p0);
};

/**
 * 0xDD03FC2089AD093C
 */
global.N_0xdd03fc2089ad093c = function (p0, p1, p2, p3) {
	return _in(0xdd03fc20, 0x89ad093c, p0, p1, p2, p3);
};

/**
 * 0xDD100CE1EBBF37E3
 */
global.N_0xdd100ce1ebbf37e3 = function (p0, p1) {
	return _in(0xdd100ce1, 0xebbf37e3, p0, p1);
};

/**
 * 0xDD33A82352C4652F
 */
global.N_0xdd33a82352c4652f = function (player, ped, p2) {
	return _in(0xdd33a823, 0x52c4652f, player, ped, p2);
};

/**
 * 0xDD9540E7B1C9714F
 */
global.N_0xdd9540e7b1c9714f = function (ped, p1, r, g, b) {
	return _in(0xdd9540e7, 0xb1c9714f, ped, _ch(p1), _fv(r), _fv(g), _fv(b));
};

/**
 * 0xDDBD560745B1EE98
 */
global.N_0xddbd560745b1ee98 = function (chalHash, goalHash, player) {
	return _in(0xddbd5607, 0x45b1ee98, _ch(chalHash), _ch(goalHash), player, _r, _ri);
};

/**
 * 0xDDCE8E960D1DE240
 */
global.N_0xddce8e960d1de240 = function (p0) {
	return _in(0xddce8e96, 0x0d1de240, p0);
};

/**
 * _SET_FORMATION_P*
 */
global.N_0xddfad4deaa7fa362 = function (groupId, p1, p2, p3, p4) {
	return _in(0xddfad4de, 0xaa7fa362, groupId, _fv(p1), _fv(p2), _fv(p3), _fv(p4));
};

/**
 * 0xDE0C8B145EA466FF
 */
global.N_0xde0c8b145ea466ff = function (p0, p1, p2, p3, p4, p5) {
	return _in(0xde0c8b14, 0x5ea466ff, p0, p1, p2, p3, p4, p5);
};

/**
 * 0xDE116ECFFDD4B997
 */
global.N_0xde116ecffdd4b997 = function (p0, p1) {
	return _in(0xde116ecf, 0xfdd4b997, p0, p1);
};

/**
 * 0xDE2C3B74D2B3705C
 */
global.N_0xde2c3b74d2b3705c = function (p0, p1) {
	return _in(0xde2c3b74, 0xd2b3705c, p0, p1);
};

/**
 * 0xDE6C85975F9D4894
 */
global.N_0xde6c85975f9d4894 = function (p0) {
	return _in(0xde6c8597, 0x5f9d4894, p0, _r, _ri);
};

/**
 * 0xDE8C5B9F65017FA1
 */
global.N_0xde8c5b9f65017fa1 = function (train) {
	return _in(0xde8c5b9f, 0x65017fa1, train, _r, _ri);
};

/**
 * 0xDEA083C16BB91345
 */
global.N_0xdea083c16bb91345 = function () {
	return _in(0xdea083c1, 0x6bb91345);
};

/**
 * 0xDEDBED3020DA49DC
 */
global.N_0xdedbed3020da49dc = function (p0) {
	return _in(0xdedbed30, 0x20da49dc, p0);
};

/**
 * 0xDEDE679ED29DD4E7
 */
global.N_0xdede679ed29dd4e7 = function (ropeId, p1) {
	return _in(0xdede679e, 0xd29dd4e7, ropeId, p1);
};

/**
 * Returns fillOutIndex (?)
 * _ITEMDATABASE_GET_(A)* - _ITEMDATABASE_GET_(B)*
 * ```
 * ```
 * NativeDB Introduced: v1232
 */
global.N_0xdee7b3c76ed664be = function (p0, costShop) {
	return _in(0xdee7b3c7, 0x6ed664be, _ch(p0), _ch(costShop), _r, _ri);
};

/**
 * 0xDEE8D30AA5C2E28D
 */
global.N_0xdee8d30aa5c2e28d = function (ped, p1, p2) {
	return _in(0xdee8d30a, 0xa5c2e28d, ped, _ch(p1), p2);
};

/**
 * NativeDB Introduced: v1311
 */
global.N_0xdeee1f265b7ecef5 = function () {
	return _in(0xdeee1f26, 0x5b7ecef5);
};

/**
 * 0xDF56A2B50C04DEA4
 */
global.N_0xdf56a2b50c04dea4 = function (p0, p1) {
	return _in(0xdf56a2b5, 0x0c04dea4, p0, p1, _r, _ri);
};

/**
 * 0xDF728C5AE137FC14
 */
global.N_0xdf728c5ae137fc14 = function (p0, p1, p2) {
	return _in(0xdf728c5a, 0xe137fc14, p0, p1, p2, _r, _ri);
};

/**
 * 0xDF7F5BE9150E47E4
 */
global.N_0xdf7f5be9150e47e4 = function (p0) {
	return _in(0xdf7f5be9, 0x150e47e4, p0);
};

/**
 * Hardcoded to return zero/false.
 */
global.N_0xdf8e49ea89a01db1 = function (p0, p1, p2) {
	return _in(0xdf8e49ea, 0x89a01db1, p0, p1, p2, _r, _ri);
};

/**
 * 0xDF947FE0D551684E
 */
global.N_0xdf947fe0d551684e = function (ped, p1) {
	return _in(0xdf947fe0, 0xd551684e, ped, _ts(p1), _r);
};

/**
 * 0xDF94844D474F31E5
 */
global.N_0xdf94844d474f31e5 = function (ped) {
	return _in(0xdf94844d, 0x474f31e5, ped);
};

/**
 * 0xDF95DF488A645CE7
 */
global.N_0xdf95df488a645ce7 = function () {
	return _in(0xdf95df48, 0x8a645ce7);
};

/**
 * 0xDFA1237F5228263F
 */
global.N_0xdfa1237f5228263f = function (p0, p1) {
	return _in(0xdfa1237f, 0x5228263f, p0, p1);
};

/**
 * 0xDFC2B226D56D85F6
 */
global.N_0xdfc2b226d56d85f6 = function (p0, p1) {
	return _in(0xdfc2b226, 0xd56d85f6, p0, p1, _r, _rf);
};

/**
 * Returns iNumPixels, iPixelsVisible
 */
global.N_0xdfe332a5da6fe7c9 = function (iTrackedPoint) {
	return _in(0xdfe332a5, 0xda6fe7c9, iTrackedPoint, _r, _ri);
};

/**
 * 0xE01C8DC8EDD28D31
 */
global.N_0xe01c8dc8edd28d31 = function (p0, p1) {
	return _in(0xe01c8dc8, 0xedd28d31, p0, p1);
};

/**
 * 0xE01F55B2896F6B37
 */
global.N_0xe01f55b2896f6b37 = function (p0, p1) {
	return _in(0xe01f55b2, 0x896f6b37, p0, p1);
};

/**
 * 0xE05A5D39BE6E93AF
 */
global.N_0xe05a5d39be6e93af = function (p0) {
	return _in(0xe05a5d39, 0xbe6e93af, p0);
};

/**
 * 0xE083BEDA81709891
 */
global.N_0xe083beda81709891 = function (player) {
	return _in(0xe083beda, 0x81709891, player, _r, _ri);
};

/**
 * 0xE0961AED72642B80
 */
global.N_0xe0961aed72642b80 = function (p0) {
	return _in(0xe0961aed, 0x72642b80, p0);
};

/**
 * 0xE0B45E983BFC0768
 */
global.N_0xe0b45e983bfc0768 = function () {
	return _in(0xe0b45e98, 0x3bfc0768);
};

/**
 * 0xE0E65E0D261F7507
 */
global.N_0xe0e65e0d261f7507 = function (p0) {
	return _in(0xe0e65e0d, 0x261f7507, p0);
};

/**
 * 0xE0FE107AB174D64A
 */
global.N_0xe0fe107ab174d64a = function (p0, p1) {
	return _in(0xe0fe107a, 0xb174d64a, p0, p1);
};

/**
 * 0xE10F2D7715ABABEC
 */
global.N_0xe10f2d7715ababec = function (p0) {
	return _in(0xe10f2d77, 0x15ababec, p0, _r, _ri);
};

/**
 * _SET_FORMATION_P*
 */
global.N_0xe1103300f3456de7 = function (groupId, p1, p2) {
	return _in(0xe1103300, 0xf3456de7, groupId, _fv(p1), _fv(p2));
};

/**
 * 0xE116F6F2DA2D777E
 */
global.N_0xe116f6f2da2d777e = function (p0) {
	return _in(0xe116f6f2, 0xda2d777e, p0, _r, _rv);
};

/**
 * Used in SP R* Scripts only
 * _SET_B* - _SET_C*
 */
global.N_0xe12d7b4b959644cd = function () {
	return _in(0xe12d7b4b, 0x959644cd);
};

/**
 * 0xE12F5ED49F44D40D
 */
global.N_0xe12f5ed49f44d40d = function (p0) {
	return _in(0xe12f5ed4, 0x9f44d40d, p0);
};

/**
 * 0xE13634BB6BAF0734
 */
global.N_0xe13634bb6baf0734 = function (p0, p1) {
	return _in(0xe13634bb, 0x6baf0734, p0, p1, _r, _ri);
};

/**
 * statId: see STAT_ID_IS_VALID
 * Only used in R* SP Scripts
 * _STAT_ID_SET_*
 */
global.N_0xe141f6b40b1e3683 = function (value) {
	return _in(0xe141f6b4, 0x0b1e3683, _i, _fv(value));
};

/**
 * 0xE157A8A336C7F04A
 */
global.N_0xe157a8a336c7f04a = function (p0, p1) {
	return _in(0xe157a8a3, 0x36c7f04a, p0, p1);
};

/**
 * 0xE19035EB65AB2932
 */
global.N_0xe19035eb65ab2932 = function (p0, p1) {
	return _in(0xe19035eb, 0x65ab2932, p0, p1);
};

/**
 * _C*
 */
global.N_0xe1aadd0055d76603 = function (ped, entity, boneIndex1, boneIndex2, x, y, z, p7, p8, p9, p10) {
	return _in(0xe1aadd00, 0x55d76603, ped, entity, boneIndex1, boneIndex2, _fv(x), _fv(y), _fv(z), _fv(p7), p8, p9, p10);
};

/**
 * 0xE1B3BE07D3AADDED
 */
global.N_0xe1b3be07d3aadded = function (ped, p1, p2) {
	return _in(0xe1b3be07, 0xd3aadded, ped, p1, p2);
};

/**
 * Only used in R* SP Script rcm_abigail31: p1 = 5
 * _GET_VEHICLE_T* - _GET_VO*
 */
global.N_0xe1c0f8781bf130c2 = function (wagon, p1) {
	return _in(0xe1c0f878, 0x1bf130c2, wagon, p1, _r);
};

/**
 * 0xE1C105E6BBA48270
 */
global.N_0xe1c105e6bba48270 = function () {
	return _in(0xe1c105e6, 0xbba48270, _r, _ri);
};

/**
 * NativeDB Introduced: v1232
 */
global.N_0xe1d356f5a66d0ffa = function (emote) {
	return _in(0xe1d356f5, 0xa66d0ffa, _ch(emote), _r);
};

/**
 * 0xE1F365C4C8F259D8
 */
global.N_0xe1f365c4c8f259d8 = function (p0, p1, p2) {
	return _in(0xe1f365c4, 0xc8f259d8, p0, p1, p2, _r, _ri);
};

/**
 * Only used in R* SP Scripts
 */
global.N_0xe1f45a67a9f0dcbc = function (inventoryId) {
	return _in(0xe1f45a67, 0xa9f0dcbc, inventoryId);
};

/**
 * 0xE20027B414BFE6C7
 */
global.N_0xe20027b414bfe6c7 = function (p0, p1) {
	return _in(0xe20027b4, 0x14bfe6c7, p0, p1);
};

/**
 * 0xE225CEF1901F6108
 */
global.N_0xe225cef1901f6108 = function (p0, p1) {
	return _in(0xe225cef1, 0x901f6108, p0, p1);
};

/**
 * HAS_ACTOR_RECEIVED_TRACKED_EVENT_THAT_SHOULD_ALERT - iTimeSinceEvent >= iTimeLimitMS
 * ```
 * ```
 * NativeDB Introduced: v1311
 */
global.N_0xe28d7fc9fd32abeb = function (entity, eventType, p2) {
	return _in(0xe28d7fc9, 0xfd32abeb, entity, _ch(eventType), p2);
};

/**
 * 0xE28F73212A813E82
 */
global.N_0xe28f73212a813e82 = function (p0, p1, p2, p3) {
	return _in(0xe28f7321, 0x2a813e82, p0, p1, p2, p3);
};

/**
 * _SET_PED_R* -_SET_PED_S*
 */
global.N_0xe29d8cd66553dbaa = function (horse) {
	return _in(0xe29d8cd6, 0x6553dbaa, horse);
};

/**
 * 0xE2BB2D6A9FE2ECDE
 */
global.N_0xe2bb2d6a9fe2ecde = function (p0) {
	return _in(0xe2bb2d6a, 0x9fe2ecde, p0);
};

/**
 * 0xE2C2FBB7825FFC66
 */
global.N_0xe2c2fbb7825ffc66 = function () {
	return _in(0xe2c2fbb7, 0x825ffc66);
};

/**
 * 0xE2CF104ADD49D4BF
 */
global.N_0xe2cf104add49d4bf = function (p0) {
	return _in(0xe2cf104a, 0xdd49d4bf, p0);
};

/**
 * 0xE31A04513237DC89
 */
global.N_0xe31a04513237dc89 = function (entity) {
	return _in(0xe31a0451, 0x3237dc89, entity);
};

/**
 * 0xE31FC20319874CB3
 */
global.N_0xe31fc20319874cb3 = function (p0, p1, p2) {
	return _in(0xe31fc203, 0x19874cb3, p0, p1, p2, _r, _ri);
};

/**
 * 0xE36D2CB540597EF7
 */
global.N_0xe36d2cb540597ef7 = function (p0, p1, p2, p3, p4, p5, p6, p7) {
	return _in(0xe36d2cb5, 0x40597ef7, p0, p1, p2, p3, p4, p5, p6, p7);
};

/**
 * Only used in R* SP Scripts
 */
global.N_0xe36d4a38d28d9cfb = function (p0) {
	return _in(0xe36d4a38, 0xd28d9cfb, p0);
};

/**
 * _SET_PED_IN*
 */
global.N_0xe37acee15ac50c7e = function (ped, p1) {
	return _in(0xe37acee1, 0x5ac50c7e, ped, _ts(p1));
};

/**
 * 0xE39600E50D608693
 */
global.N_0xe39600e50d608693 = function (p0, p1) {
	return _in(0xe39600e5, 0x0d608693, p0, p1, _r);
};

/**
 * 0xE3AB5EEFCB6671A2
 */
global.N_0xe3ab5eefcb6671a2 = function (setting) {
	return _in(0xe3ab5eef, 0xcb6671a2, setting);
};

/**
 * 0xE4ABE20DCE7C7CFE
 */
global.N_0xe4abe20dce7c7cfe = function (p0, p1, p2) {
	return _in(0xe4abe20d, 0xce7c7cfe, p0, p1, p2);
};

/**
 * 0xE4B7945EF4F1BFB2
 */
global.N_0xe4b7945ef4f1bfb2 = function (cam, args) {
	return _in(0xe4b7945e, 0xf4f1bfb2, cam, _ii(args) /* may be optional */);
};

/**
 * 0xE4C51A8A3BD1664C
 */
global.N_0xe4c51a8a3bd1664c = function (p0) {
	return _in(0xe4c51a8a, 0x3bd1664c, p0, _r, _ri);
};

/**
 * 0xE4C64CD37CB176AA
 */
global.N_0xe4c64cd37cb176aa = function (p0) {
	return _in(0xe4c64cd3, 0x7cb176aa, p0, _r, _ri);
};

/**
 * 0xE4C95E0AE31C6512
 */
global.N_0xe4c95e0ae31c6512 = function (ped, p1) {
	return _in(0xe4c95e0a, 0xe31c6512, ped, p1);
};

/**
 * 0xE4D6E45F491A66CB
 */
global.N_0xe4d6e45f491a66cb = function (player, p1) {
	return _in(0xe4d6e45f, 0x491a66cb, player, p1, _r, _ri);
};

/**
 * 0xE4EF4382E22C780C
 */
global.N_0xe4ef4382e22c780c = function (p0) {
	return _in(0xe4ef4382, 0xe22c780c, p0);
};

/**
 * 0xE50A67C33514A390
 */
global.N_0xe50a67c33514a390 = function (p0, p1) {
	return _in(0xe50a67c3, 0x3514a390, p0, p1, _r, _ri);
};

/**
 * _SET_D*
 * ```
 * ```
 * NativeDB Introduced: v1311
 */
global.N_0xe50c9816b3f22d8b = function (ped, p1, p2) {
	return _in(0xe50c9816, 0xb3f22d8b, ped, _ch(p1), _fv(p2));
};

/**
 * 0xE53A308AC35877A8
 */
global.N_0xe53a308ac35877a8 = function () {
	return _in(0xe53a308a, 0xc35877a8, _r, _ri);
};

/**
 * 0xE54BF2CE6C7D23A9
 */
global.N_0xe54bf2ce6c7d23a9 = function (ropeId, p1, x, y, z) {
	return _in(0xe54bf2ce, 0x6c7d23a9, ropeId, p1, _fv(x), _fv(y), _fv(z));
};

/**
 * 0xE55478C5EDF70AC2
 */
global.N_0xe55478c5edf70ac2 = function (p0) {
	return _in(0xe55478c5, 0xedf70ac2, p0, _r, _ri);
};

/**
 * 0xE5634491A58C2703
 */
global.N_0xe5634491a58c2703 = function (p0) {
	return _in(0xe5634491, 0xa58c2703, _fv(p0));
};

/**
 * 0xE5831AA1E2FD147C
 */
global.N_0xe5831aa1e2fd147c = function (p0) {
	return _in(0xe5831aa1, 0xe2fd147c, p0);
};

/**
 * 0xE59F4924BD3A718D
 */
global.N_0xe59f4924bd3a718d = function (p0) {
	return _in(0xe59f4924, 0xbd3a718d, p0, _r, _s);
};

/**
 * 0xE5A680A5D8B1F687
 */
global.N_0xe5a680a5d8b1f687 = function (p0) {
	return _in(0xe5a680a5, 0xd8b1f687, p0);
};

/**
 * 0xE5B76E5B56CD77DD
 */
global.N_0xe5b76e5b56cd77dd = function () {
	return _in(0xe5b76e5b, 0x56cd77dd, _r, _ri);
};

/**
 * _CLEAR_FACIAL_* - _CLEAR_PED_BLOOD*
 */
global.N_0xe5d3eb37abc1eb03 = function (player) {
	return _in(0xe5d3eb37, 0xabc1eb03, player);
};

/**
 * 0xE5EF9DE716FF737E
 */
global.N_0xe5ef9de716ff737e = function (p0, p1, p2) {
	return _in(0xe5ef9de7, 0x16ff737e, p0, p1, p2);
};

/**
 * 0xE5FF65CFF5160752
 */
global.N_0xe5ff65cff5160752 = function () {
	return _in(0xe5ff65cf, 0xf5160752);
};

/**
 * 0xE600F61F54A444A6
 */
global.N_0xe600f61f54a444a6 = function () {
	return _in(0xe600f61f, 0x54a444a6, _r, _ri);
};

/**
 * 0xE62754D09354F6CF
 */
global.N_0xe62754d09354f6cf = function (p0) {
	return _in(0xe62754d0, 0x9354f6cf, p0, _r, _ri);
};

/**
 * 0xE631EAF35828FA67
 */
global.N_0xe631eaf35828fa67 = function (p0) {
	return _in(0xe631eaf3, 0x5828fa67, p0, _r, _ri);
};

/**
 * 0xE63D68F455CA0B47
 */
global.N_0xe63d68f455ca0b47 = function (p0, p1, p2, p3, p4, p5, p6) {
	return _in(0xe63d68f4, 0x55ca0b47, p0, p1, p2, p3, p4, p5, p6, _r, _ri);
};

/**
 * 0xE682002DB1F30669
 */
global.N_0xe682002db1f30669 = function (p0) {
	return _in(0xe682002d, 0xb1f30669, p0);
};

/**
 * 0xE69FDA40AAC3EFC0
 */
global.N_0xe69fda40aac3efc0 = function (p0, p1) {
	return _in(0xe69fda40, 0xaac3efc0, p0, p1);
};

/**
 * 0xE6A151364C600B24
 */
global.N_0xe6a151364c600b24 = function (p0) {
	return _in(0xe6a15136, 0x4c600b24, p0, _r, _ri);
};

/**
 * 0xE6AAB897120492D6
 */
global.N_0xe6aab897120492d6 = function (p0, p1) {
	return _in(0xe6aab897, 0x120492d6, p0, _ts(p1), _r, _ri);
};

/**
 * 0xE6AAB897120492D7
 */
global.N_0xe6aab897120492d7 = function (p0, p1, p2) {
	return _in(0xe6aab897, 0x120492d7, p0, _ts(p1), p2);
};

/**
 * 0xE6BD7DD3FD474415
 */
global.N_0xe6bd7dd3fd474415 = function (train, p1) {
	return _in(0xe6bd7dd3, 0xfd474415, train, p1);
};

/**
 * 0xE6CB36F43A95D75F
 */
global.N_0xe6cb36f43a95d75f = function (p0) {
	return _in(0xe6cb36f4, 0x3a95d75f, p0);
};

/**
 * 0xE6F364DE6C2FDEFE
 */
global.N_0xe6f364de6c2fdefe = function () {
	return _in(0xe6f364de, 0x6c2fdefe);
};

/**
 * 0xE7282390542F570D
 */
global.N_0xe7282390542f570d = function (p0) {
	return _in(0xe7282390, 0x542f570d, p0, _r, _ri);
};

/**
 * 0xE72E234B30DA7B7A
 */
global.N_0xe72e234b30da7b7a = function (p0) {
	return _in(0xe72e234b, 0x30da7b7a, p0, _r);
};

/**
 * 0xE735A7DA22E88359
 */
global.N_0xe735a7da22e88359 = function (p0) {
	return _in(0xe735a7da, 0x22e88359, p0);
};

/**
 * Only used in R* Script nb_animal_attack: p2 = 120000
 * _SET_PED_SH* - _SET_PED_SP*
 */
global.N_0xe737d5f14304a2ec = function (ped, player, p2) {
	return _in(0xe737d5f1, 0x4304a2ec, ped, player, p2);
};

/**
 * ANIMPOSTFX_*
 */
global.N_0xe75cddebf618c8ff = function (effectNameHash) {
	return _in(0xe75cddeb, 0xf618c8ff, _ch(effectNameHash), _r);
};

/**
 * 0xE75EEA8DB59A9F39
 */
global.N_0xe75eea8db59a9f39 = function (p0, p1, p2, p3, p4, p5) {
	return _in(0xe75eea8d, 0xb59a9f39, p0, p1, p2, p3, p4, p5);
};

/**
 * Used for AUDIO / ANIMSCENE (REFERENCE_REGIONAL_CHARACTER)
 * Params: p1 = 0
 * _GET_PED_IN*
 */
global.N_0xe76687023d8c8505 = function (perscharModel, p1) {
	return _in(0xe7668702, 0x3d8c8505, _ch(perscharModel), p1, _r, _ri);
};

/**
 * 0xE777DDF3E78397E8
 */
global.N_0xe777ddf3e78397e8 = function (p0) {
	return _in(0xe777ddf3, 0xe78397e8, p0, _r, _ri);
};

/**
 * 0xE78993FF9022C064
 */
global.N_0xe78993ff9022c064 = function (p0) {
	return _in(0xe78993ff, 0x9022c064, p0);
};

/**
 * 0xE79BA3BC265895DA
 */
global.N_0xe79ba3bc265895da = function (p0) {
	return _in(0xe79ba3bc, 0x265895da, p0, _r, _s);
};

/**
 * 0xE7BBC4E56B989449
 */
global.N_0xe7bbc4e56b989449 = function (p0, p1, p2) {
	return _in(0xe7bbc4e5, 0x6b989449, p0, p1, p2, _r, _ri);
};

/**
 * 0xE7E6CB8B713ED190
 */
global.N_0xe7e6cb8b713ed190 = function () {
	return _in(0xe7e6cb8b, 0x713ed190);
};

/**
 * _IS_PLAYER_A* - _IS_PLAYER_BE*
 */
global.N_0xe7f8707269544b29 = function (player, ped) {
	return _in(0xe7f87072, 0x69544b29, player, ped, _r);
};

/**
 * Only used in fussar1 / train_robbery2 R* Script
 */
global.N_0xe8126623008372aa = function () {
	return _in(0xe8126623, 0x008372aa);
};

/**
 * 0xE8346E62FD7FB962
 */
global.N_0xe8346e62fd7fb962 = function () {
	return _in(0xe8346e62, 0xfd7fb962);
};

/**
 * 0xE891504B2F0E2DBA
 */
global.N_0xe891504b2f0e2dba = function (p0, p1) {
	return _in(0xe891504b, 0x2f0e2dba, p0, p1);
};

/**
 * 0xE8ABE3B73FC7FE17
 */
global.N_0xe8abe3b73fc7fe17 = function (p0, p1, p2, p3) {
	return _in(0xe8abe3b7, 0x3fc7fe17, p0, p1, p2, p3);
};

/**
 * Returns dismounted timestamp
 */
global.N_0xe8d1ccb9375c101b = function (mount, player) {
	return _in(0xe8d1ccb9, 0x375c101b, mount, player, _r, _ri);
};

/**
 * 0xE8E633215471BB5D
 */
global.N_0xe8e633215471bb5d = function (p0) {
	return _in(0xe8e63321, 0x5471bb5d, p0, _r, _ri);
};

/**
 * 0xE910932F4B30BE23
 */
global.N_0xe910932f4b30be23 = function (player) {
	return _in(0xe910932f, 0x4b30be23, player);
};

/**
 * 0xE9225354FB7437A7
 */
global.N_0xe9225354fb7437a7 = function (p0, p1) {
	return _in(0xe9225354, 0xfb7437a7, p0, p1);
};

/**
 * 0xE92261BD28C0878F
 */
global.N_0xe92261bd28c0878f = function (p0) {
	return _in(0xe92261bd, 0x28c0878f, p0, _r, _ri);
};

/**
 * 0xE93415B3307208E5
 */
global.N_0xe93415b3307208e5 = function (p0, p1, p2, p3, p4, p5, p6, p7, p8) {
	return _in(0xe93415b3, 0x307208e5, p0, p1, p2, p3, p4, p5, p6, p7, p8, _r, _ri);
};

/**
 * Seems to disable lawmen guarding behaviors (like during a region lockdown). Must be called every frame.
 * Only used in R* SP Scripts, mostly used in train_fast_travel_core
 */
global.N_0xe94b5e938619712e = function () {
	return _in(0xe94b5e93, 0x8619712e);
};

/**
 * 0xE956C2340A76272E
 */
global.N_0xe956c2340a76272e = function (p0) {
	return _in(0xe956c234, 0x0a76272e, p0, _r, _ri);
};

/**
 * NativeDB Introduced: v1232
 */
global.N_0xe9694b2d6cb87b06 = function (entity, p1) {
	return _in(0xe9694b2d, 0x6cb87b06, entity, p1);
};

/**
 * 0xE9A6400D1A0E7A55
 */
global.N_0xe9a6400d1a0e7a55 = function (p0) {
	return _in(0xe9a6400d, 0x1a0e7a55, p0, _r, _ri);
};

/**
 * Only used in R* SP Scripts
 * Params: p1 = 0
 */
global.N_0xe9ac8466abe484bb = function (p0, p1) {
	return _in(0xe9ac8466, 0xabe484bb, p0, p1);
};

/**
 * 0xE9B3FEC825668291
 */
global.N_0xe9b3fec825668291 = function (p0, p1, p2) {
	return _in(0xe9b3fec8, 0x25668291, p0, p1, p2);
};

/**
 * 0xE9E06EA514A69061
 */
global.N_0xe9e06ea514a69061 = function (p0, p1) {
	return _in(0xe9e06ea5, 0x14a69061, p0, p1);
};

/**
 * 0xE9E7A0BAC7F57746
 */
global.N_0xe9e7a0bac7f57746 = function (p0, p1) {
	return _in(0xe9e7a0ba, 0xc7f57746, p0, p1);
};

/**
 * Returns p1 value for 0xE4D6E45F491A66CB
 */
global.N_0xe9eb79cbf9c0f58a = function (player) {
	return _in(0xe9eb79cb, 0xf9c0f58a, player, _r, _ri);
};

/**
 * 0xEA113BF9B0C0C5D7
 */
global.N_0xea113bf9b0c0c5d7 = function (dictionary, shotName, duration) {
	return _in(0xea113bf9, 0xb0c0c5d7, _ts(dictionary), _ts(shotName), duration, _r, _ri);
};

/**
 * Used in SP R* Scripts only
 * _PAUSE_* - _PLAY_*
 */
global.N_0xea41d44a8d42057b = function () {
	return _in(0xea41d44a, 0x8d42057b, _r);
};

/**
 * 0xEA522F991E120D45
 */
global.N_0xea522f991e120d45 = function (p0) {
	return _in(0xea522f99, 0x1e120d45, p0, _r, _ri);
};

/**
 * 0xEA546C31FD45F8CD
 */
global.N_0xea546c31fd45f8cd = function (p0) {
	return _in(0xea546c31, 0xfd45f8cd, p0);
};

/**
 * 0xEA8763E505AFD49A
 */
global.N_0xea8763e505afd49a = function (p0, p1, p2) {
	return _in(0xea8763e5, 0x05afd49a, p0, p1, p2);
};

/**
 * 0xEAB3D91D30A344F1
 */
global.N_0xeab3d91d30a344f1 = function (p0) {
	return _in(0xeab3d91d, 0x30a344f1, p0);
};

/**
 * 0xEACEBAAE0A33FB3F
 */
global.N_0xeacebaae0a33fb3f = function (p0) {
	return _in(0xeacebaae, 0x0a33fb3f, p0);
};

/**
 * 0xEAF529446488EB18
 */
global.N_0xeaf529446488eb18 = function (p0) {
	return _in(0xeaf52944, 0x6488eb18, p0);
};

/**
 * 0xEAF87DA2BE78A15B
 */
global.N_0xeaf87da2be78a15b = function (p0, p1) {
	return _in(0xeaf87da2, 0xbe78a15b, p0, p1);
};

/**
 * 0xEB48CE48EEC41FD4
 */
global.N_0xeb48ce48eec41fd4 = function (p0) {
	return _in(0xeb48ce48, 0xeec41fd4, p0);
};

/**
 * 0xEB4D592620B8C209
 */
global.N_0xeb4d592620b8c209 = function (p0) {
	return _in(0xeb4d5926, 0x20b8c209, p0);
};

/**
 * 0xEB67D4E056C85A81
 */
global.N_0xeb67d4e056c85a81 = function (p0) {
	return _in(0xeb67d4e0, 0x56c85a81, p0, _r, _ri);
};

/**
 * Washing player's face/hands now
 * _FA* - _FI*
 */
global.N_0xeb8886e1065654cd = function (ped, p1, p2, p3) {
	return _in(0xeb8886e1, 0x065654cd, ped, p1, _ts(p2), _fv(p3));
};

/**
 * Not implemented.
 */
global.N_0xeb946b9e579729ad = function (ped, p1) {
	return _in(0xeb946b9e, 0x579729ad, ped, p1);
};

/**
 * 0xEBA2081E0A5F4D17
 */
global.N_0xeba2081e0a5f4d17 = function (p0) {
	return _in(0xeba2081e, 0x0a5f4d17, p0);
};

/**
 * 0xEBA314768FB35D58
 */
global.N_0xeba314768fb35d58 = function (p0) {
	return _in(0xeba31476, 0x8fb35d58, p0, _r, _ri);
};

/**
 * 0xEBA51A294C73292E
 */
global.N_0xeba51a294c73292e = function (args) {
	return _in(0xeba51a29, 0x4c73292e, _ii(args) /* may be optional */);
};

/**
 * 0xEBA87B9273835CF3
 */
global.N_0xeba87b9273835cf3 = function (p0, p1) {
	return _in(0xeba87b92, 0x73835cf3, p0, p1);
};

/**
 * If returned true: PROCESS_RESIZING_TRACKING_BOUNDS_VOLUME - Scaling UP the bounds due to tracking
 * If returned false: PROCESS_RESIZING_TRACKING_BOUNDS_VOLUME - Scaling DOWN the bounds due to tracking
 * _IS_PED_T* - _IS_PED_U*
 */
global.N_0xebaac9a750e7563b = function (ped) {
	return _in(0xebaac9a7, 0x50e7563b, ped, _r);
};

/**
 * 0xEBB6E27AC2FF32DA
 */
global.N_0xebb6e27ac2ff32da = function (p0, p1, p2, p3, p4) {
	return _in(0xebb6e27a, 0xc2ff32da, p0, p1, p2, p3, p4);
};

/**
 * 0xEBD49472BCCF7642
 */
global.N_0xebd49472bccf7642 = function (p0, p1) {
	return _in(0xebd49472, 0xbccf7642, p0, p1);
};

/**
 * 0xEBFF94328FF7A18A
 */
global.N_0xebff94328ff7a18a = function (p0, p1) {
	return _in(0xebff9432, 0x8ff7a18a, p0, p1);
};

/**
 * nullsub, doesn't do anything
 */
global.N_0xec089f84a9c16c62 = function () {
	return _in(0xec089f84, 0xa9c16c62, _r, _ri);
};

/**
 * 0xEC0BD8736DCAF841
 */
global.N_0xec0bd8736dcaf841 = function (toggle) {
	return _in(0xec0bd873, 0x6dcaf841, toggle);
};

/**
 * Only used for Special Event (XMAS).
 * _SET_P*
 */
global.N_0xec116edb683ad479 = function (p0) {
	return _in(0xec116edb, 0x683ad479, p0);
};

/**
 * 0xEC254C2C9B0F08F1
 */
global.N_0xec254c2c9b0f08f1 = function (p0, p1) {
	return _in(0xec254c2c, 0x9b0f08f1, p0, p1, _r, _ri);
};

/**
 * 0xEC3959E9950BF56B
 */
global.N_0xec3959e9950bf56b = function (p0) {
	return _in(0xec3959e9, 0x950bf56b, p0, _r, _ri);
};

/**
 * 0xEC3D8C228FE553D7
 */
global.N_0xec3d8c228fe553d7 = function (p0) {
	return _in(0xec3d8c22, 0x8fe553d7, p0, _r);
};

/**
 * 0xEC3F7F24EEEB3BA3
 */
global.N_0xec3f7f24eeeb3ba3 = function () {
	return _in(0xec3f7f24, 0xeeeb3ba3);
};

/**
 * 0xEC516FE805D2CB2D
 */
global.N_0xec516fe805d2cb2d = function (p0) {
	return _in(0xec516fe8, 0x05d2cb2d, p0);
};

/**
 * _SET_C*
 */
global.N_0xec60d1d225bc50aa = function (ped, p1) {
	return _in(0xec60d1d2, 0x25bc50aa, ped, _fv(p1));
};

/**
 * 0xEC819D612038EF4B
 */
global.N_0xec819d612038ef4b = function (p0, p1, p2, p3, p4, p5, p6, p7) {
	return _in(0xec819d61, 0x2038ef4b, p0, p1, p2, p3, p4, p5, p6, p7, _r, _ri);
};

/**
 * 0xEC8703E4536A9952
 */
global.N_0xec8703e4536a9952 = function () {
	return _in(0xec8703e4, 0x536a9952);
};

/**
 * 0xEC97101A8F311282
 */
global.N_0xec97101a8f311282 = function (p0) {
	return _in(0xec97101a, 0x8f311282, p0, _r, _ri);
};

/**
 * 0xECBB26529A737EF6
 */
global.N_0xecbb26529a737ef6 = function (p0) {
	return _in(0xecbb2652, 0x9a737ef6, p0);
};

/**
 * Only used in R* Script nb_stalking_hunter
 */
global.N_0xed1c764997a86d5a = function (ped1, ped2) {
	return _in(0xed1c7649, 0x97a86d5a, ped1, ped2);
};

/**
 * 0xED4B0C1057892B2E
 */
global.N_0xed4b0c1057892b2e = function (p0, p1, p2, p3) {
	return _in(0xed4b0c10, 0x57892b2e, p0, p1, p2, p3);
};

/**
 * _SET_C* - _SET_D*
 */
global.N_0xedfc6c1fd1c964f5 = function (player, crimeType, bounty, p3, p4, p5, p6, p7, p8) {
	return _in(0xedfc6c1f, 0xd1c964f5, player, _ch(crimeType), bounty, _fv(p3), _fv(p4), p5, _fv(p6), _fv(p7), p8);
};

/**
 * 0xEE1D6FF54CAF7714
 */
global.N_0xee1d6ff54caf7714 = function (p0, p1) {
	return _in(0xee1d6ff5, 0x4caf7714, p0, p1, _r, _ri);
};

/**
 * 0xEE4F20004D0288B7
 */
global.N_0xee4f20004d0288b7 = function () {
	return _in(0xee4f2000, 0x4d0288b7);
};

/**
 * 0xEEDC9B29314B2733
 */
global.N_0xeedc9b29314b2733 = function (p0, p1, p2, p3, p4, p5, p6, p7, p8, p9) {
	return _in(0xeedc9b29, 0x314b2733, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9);
};

/**
 * 0xEF1A8A484118735E
 */
global.N_0xef1a8a484118735e = function () {
	return _in(0xef1a8a48, 0x4118735e);
};

/**
 * 0xEF259AA1E097E0AD
 */
global.N_0xef259aa1e097e0ad = function (entity, p1) {
	return _in(0xef259aa1, 0xe097e0ad, entity, p1);
};

/**
 * _SET_TRAIN_*
 */
global.N_0xef28a614b4b264b8 = function (train, p1) {
	return _in(0xef28a614, 0xb4b264b8, train, p1);
};

/**
 * 0xEF2D9ED7CE684F08
 */
global.N_0xef2d9ed7ce684f08 = function (ped) {
	return _in(0xef2d9ed7, 0xce684f08, ped, _r, _ri);
};

/**
 * _ADD_*
 */
global.N_0xef371232bc6053e1 = function (ped) {
	return _in(0xef371232, 0xbc6053e1, ped);
};

/**
 * 0xEF6F2A35FAAF2ED7
 */
global.N_0xef6f2a35faaf2ed7 = function (player) {
	return _in(0xef6f2a35, 0xfaaf2ed7, player, _r);
};

/**
 * 0xEF9A3132A0AA6B19
 */
global.N_0xef9a3132a0aa6b19 = function () {
	return _in(0xef9a3132, 0xa0aa6b19, _r, _ri);
};

/**
 * 0xEFC535C9FAF563B3
 */
global.N_0xefc535c9faf563b3 = function (p0) {
	return _in(0xefc535c9, 0xfaf563b3, p0, _r, _ri);
};

/**
 * 0xEFC5C6670E0B99BA
 */
global.N_0xefc5c6670e0b99ba = function () {
	return _in(0xefc5c667, 0x0e0b99ba);
};

/**
 * 0xEFD875C2791EBEFD
 */
global.N_0xefd875c2791ebefd = function (p0, p1, p2, p3) {
	return _in(0xefd875c2, 0x791ebefd, p0, p1, p2, p3, _r, _ri);
};

/**
 * 0xF01D21DF39554115
 */
global.N_0xf01d21df39554115 = function (p0) {
	return _in(0xf01d21df, 0x39554115, p0);
};

/**
 * _IS_* (related to CREATE_MISSION_TRAIN)
 */
global.N_0xf05dfaf1adfef2cd = function (trainConfig, x, y, z, direction, p5) {
	return _in(0xf05dfaf1, 0xadfef2cd, _ch(trainConfig), _fv(x), _fv(y), _fv(z), direction, p5, _r);
};

/**
 * 0xF06CBB8CCCA823C0
 */
global.N_0xf06cbb8ccca823c0 = function (p0, p1) {
	return _in(0xf06cbb8c, 0xcca823c0, p0, p1);
};

/**
 * 0xF08D8FEB455F2C8C
 */
global.N_0xf08d8feb455f2c8c = function (ped, toggle) {
	return _in(0xf08d8feb, 0x455f2c8c, ped, toggle);
};

/**
 * 0xF08E42BFA46BDFF8
 */
global.N_0xf08e42bfa46bdff8 = function (p0, p1) {
	return _in(0xf08e42bf, 0xa46bdff8, p0, p1, _r, _ri);
};

/**
 * Name: ROPE_SETTINGS_DEFAULT
 */
global.N_0xf092b6030d6fd49c = function (ropeId, name) {
	return _in(0xf092b603, 0x0d6fd49c, ropeId, _ts(name));
};

/**
 * 0xF0D545C1EEAD614A
 */
global.N_0xf0d545c1eead614a = function () {
	return _in(0xf0d545c1, 0xeead614a, _r);
};

/**
 * 0xF0EE69F500952FA5
 */
global.N_0xf0ee69f500952fa5 = function (p0) {
	return _in(0xf0ee69f5, 0x00952fa5, p0, _r, _ri);
};

/**
 * Only used in fishing_core R* Script
 */
global.N_0xf0fbf193f1f5c0ea = function (ped) {
	return _in(0xf0fbf193, 0xf1f5c0ea, ped);
};

/**
 * 0xF11D7CB962FCD747
 */
global.N_0xf11d7cb962fcd747 = function (p0) {
	return _in(0xf11d7cb9, 0x62fcd747, p0);
};

/**
 * 0xF1A6FEEDF3776EF9
 */
global.N_0xf1a6feedf3776ef9 = function () {
	return _in(0xf1a6feed, 0xf3776ef9);
};

/**
 * 0xF1AD3DD218E6558A
 */
global.N_0xf1ad3dd218e6558a = function (p0, p1) {
	return _in(0xf1ad3dd2, 0x18e6558a, p0, p1, _r, _ri);
};

/**
 * 0xF1E6979C0B779985
 */
global.N_0xf1e6979c0b779985 = function (uiscene) {
	return _in(0xf1e6979c, 0x0b779985, uiscene);
};

/**
 * 0xF1EA2A881EB7F2CD
 */
global.N_0xf1ea2a881eb7f2cd = function (ropeId, p1) {
	return _in(0xf1ea2a88, 0x1eb7f2cd, ropeId, p1);
};

/**
 * 0xF21A5D66874FCEDD
 */
global.N_0xf21a5d66874fcedd = function (p0, p1, p2) {
	return _in(0xf21a5d66, 0x874fcedd, p0, _ch(p1), _ch(p2));
};

/**
 * _CLEAR_FACIAL_* - _CLEAR_PED_BLOOD*
 */
global.N_0xf21c7a3f3ffba629 = function (player) {
	return _in(0xf21c7a3f, 0x3ffba629, player);
};

/**
 * 0xF232C2C546AC16D0
 */
global.N_0xf232c2c546ac16d0 = function (p0) {
	return _in(0xf232c2c5, 0x46ac16d0, _ts(p0));
};

/**
 * 0xF23A6D6C11D8EC15
 */
global.N_0xf23a6d6c11d8ec15 = function (gamerHandle) {
	return _in(0xf23a6d6c, 0x11d8ec15, _ii(gamerHandle) /* may be optional */, _r);
};

/**
 * 0xF252A85B8F3F8C58
 */
global.N_0xf252a85b8f3f8c58 = function (weaponCollection, dualwieldVariant) {
	return _in(0xf252a85b, 0x8f3f8c58, _ch(weaponCollection), _ch(dualwieldVariant), _r);
};

/**
 * Same Native Handler as VEH_TO_NET, PED_TO_NET, OBJ_TO_NET and NETWORK_GET_NETWORK_ID_FROM_ENTITY
 */
global.N_0xf260af6f43953316 = function (handle) {
	return _in(0xf260af6f, 0x43953316, handle, _r, _ri);
};

/**
 * _ITEMDATABASE_FILLOUT_(A)* - _ITEMDATABASE_FILLOUT_(B)*
 * ```
 * ```
 * NativeDB Introduced: v1232
 */
global.N_0xf27f01bbf5acd3f3 = function (award, cost, index, p3) {
	return _in(0xf27f01bb, 0xf5acd3f3, award, _ch(cost), index, p3, _r);
};

/**
 * 0xF27F1A8DE4F50A1B
 */
global.N_0xf27f1a8de4f50a1b = function (p0, p1, p2, p3, p4, p5, p6) {
	return _in(0xf27f1a8d, 0xe4f50a1b, p0, p1, p2, p3, p4, p5, p6);
};

/**
 * GPS disabled zone: p1 = 0
 * Clearing GPS disabled zone: p1 = 1
 */
global.N_0xf2a2177ac848b3a8 = function (volume, p1, p2) {
	return _in(0xf2a2177a, 0xc848b3a8, volume, p1, p2);
};

/**
 * NativeDB Introduced: v1311
 */
global.N_0xf2b5abde09958689 = function (unlockHash, ped1, ped2) {
	return _in(0xf2b5abde, 0x09958689, _ch(unlockHash), ped1, ped2);
};

/**
 * species: SPECIES_BIRD_CROW
 */
global.N_0xf2cca7b68cfab2b9 = function (species, x1, y1, z1, x2, y2, z2, x3, y3, z3, p10, p11, p12, p13) {
	return _in(0xf2cca7b6, 0x8cfab2b9, _ch(species), _fv(x1), _fv(y1), _fv(z1), _fv(x2), _fv(y2), _fv(z2), _fv(x3), _fv(y3), _fv(z3), _fv(p10), _fv(p11), _fv(p12), _fv(p13));
};

/**
 * 0xF2F543D48F319A3A
 */
global.N_0xf2f543d48f319a3a = function () {
	return _in(0xf2f543d4, 0x8f319a3a);
};

/**
 * 0xF2F585411E748B9C
 */
global.N_0xf2f585411e748b9c = function (p0, p1) {
	return _in(0xf2f58541, 0x1e748b9c, p0, p1, _r, _ri);
};

/**
 * Returns the entity's network ID.
 */
global.N_0xf302ab9d978352ee = function (entity) {
	return _in(0xf302ab9d, 0x978352ee, entity, _r, _ri);
};

/**
 * 0xF336E9F989B3518F
 */
global.N_0xf336e9f989b3518f = function (p0) {
	return _in(0xf336e9f9, 0x89b3518f, _ts(p0), _r, _ri);
};

/**
 * 0xF342F6BD0A8287D5
 */
global.N_0xf342f6bd0a8287d5 = function (p0) {
	return _in(0xf342f6bd, 0x0a8287d5, p0);
};

/**
 * 0xF3A2FBA5985C8CD5
 */
global.N_0xf3a2fba5985c8cd5 = function (p0, p1, p2, p3) {
	return _in(0xf3a2fba5, 0x985c8cd5, p0, p1, p2, p3);
};

/**
 * NativeDB Introduced: v1436
 */
global.N_0xf3c3503276f4a034 = function (entity, p1) {
	return _in(0xf3c35032, 0x76f4a034, entity, p1);
};

/**
 * 0xF40A109B4B79A848
 */
global.N_0xf40a109b4b79a848 = function (p0, p1, p2) {
	return _in(0xf40a109b, 0x4b79a848, p0, p1, p2);
};

/**
 * 0xF41E2979D5BC5370
 */
global.N_0xf41e2979d5bc5370 = function (p0) {
	return _in(0xf41e2979, 0xd5bc5370, p0);
};

/**
 * 0xF45E46DEECF7DF6E
 */
global.N_0xf45e46deecf7df6e = function (bitFlag, p1, p2, p3, p4) {
	return _in(0xf45e46de, 0xecf7df6e, bitFlag, p1, p2, p3, p4);
};

/**
 * 0xF46108C50A22B029
 */
global.N_0xf46108c50a22b029 = function () {
	return _in(0xf46108c5, 0x0a22b029, _r);
};

/**
 * 0xF47A1EB2A538A3A3
 */
global.N_0xf47a1eb2a538a3a3 = function () {
	return _in(0xf47a1eb2, 0xa538a3a3, _r, _ri);
};

/**
 * Used in Script Function MOONSHINE_BAND_CLIENT_PATRON_UPDATE
 * ```
 * ```
 * NativeDB Introduced: v1232
 */
global.N_0xf47d54b986f0a346 = function (ped, danceIntensity) {
	return _in(0xf47d54b9, 0x86f0a346, ped, danceIntensity);
};

/**
 * 0xF47E33F8D2523825
 */
global.N_0xf47e33f8d2523825 = function (p0, p1) {
	return _in(0xf47e33f8, 0xd2523825, p0, p1, _r, _ri);
};

/**
 * Only used in SP Scripts
 * Returns count / index
 * _C*
 */
global.N_0xf4860514ad354226 = function (shockingEvent, x, y, z, p4, p5) {
	return _in(0xf4860514, 0xad354226, shockingEvent, _fv(x), _fv(y), _fv(z), _fv(p4), _ii(p5) /* may be optional */, _r, _ri);
};

/**
 * 0xF48664E9C83825E3
 */
global.N_0xf48664e9c83825e3 = function (p0, p1) {
	return _in(0xf48664e9, 0xc83825e3, p0, p1);
};

/**
 * 0xF4CB347D7B5EB0FD
 */
global.N_0xf4cb347d7b5eb0fd = function () {
	return _in(0xf4cb347d, 0x7b5eb0fd, _r, _ri);
};

/**
 * Returns itemCount (?)
 * _ITEMDATABASE_GET_(A)* - _ITEMDATABASE_GET_(B)*
 * ```
 * ```
 * NativeDB Introduced: v1232
 */
global.N_0xf540239f9937033b = function (award, cost) {
	return _in(0xf540239f, 0x9937033b, award, _ch(cost), _r, _ri);
};

/**
 * 0xF5622FA6ACFCA7DB
 */
global.N_0xf5622fa6acfca7db = function (p0, p1) {
	return _in(0xf5622fa6, 0xacfca7db, p0, p1);
};

/**
 * 0xF569E33FB72ED28E
 */
global.N_0xf569e33fb72ed28e = function () {
	return _in(0xf569e33f, 0xb72ed28e);
};

/**
 * 0xF5793BB386E1FF9C
 */
global.N_0xf5793bb386e1ff9c = function (p0) {
	return _in(0xf5793bb3, 0x86e1ff9c, p0);
};

/**
 * 0xF57DB8E83DCD8349
 */
global.N_0xf57db8e83dcd8349 = function (p0) {
	return _in(0xf57db8e8, 0x3dcd8349, p0, _r, _ri);
};

/**
 * 0xF59FDE7B4D31A630
 */
global.N_0xf59fde7b4d31a630 = function (p0) {
	return _in(0xf59fde7b, 0x4d31a630, p0, _r, _ri);
};

/**
 * 0xF5EA41C1408695FB
 */
global.N_0xf5ea41c1408695fb = function (p0, p1, p2, p3) {
	return _in(0xf5ea41c1, 0x408695fb, p0, p1, p2, p3, _r, _ri);
};

/**
 * 0xF611DE44AEB36A1D
 */
global.N_0xf611de44aeb36a1d = function (crimeType, p1) {
	return _in(0xf611de44, 0xaeb36a1d, _ch(crimeType), p1);
};

/**
 * 0xF634E2892220EF34
 */
global.N_0xf634e2892220ef34 = function (ped, p1) {
	return _in(0xf634e289, 0x2220ef34, ped, p1);
};

/**
 * 0xF63FA29D4A9ACA86
 */
global.N_0xf63fa29d4a9aca86 = function (p0, p1) {
	return _in(0xf63fa29d, 0x4a9aca86, p0, p1);
};

/**
 * 0xF64034D533CE8AAC
 */
global.N_0xf64034d533ce8aac = function (p0, p1, p2) {
	return _in(0xf64034d5, 0x33ce8aac, p0, p1, p2);
};

/**
 * NativeDB Introduced: v1232
 */
global.N_0xf650dcf5d6f312c1 = function (p0) {
	return _in(0xf650dcf5, 0xd6f312c1, p0);
};

/**
 * 0xF65EDE5D02A7A760
 */
global.N_0xf65ede5d02a7a760 = function (p0, p1) {
	return _in(0xf65ede5d, 0x02a7a760, p0, p1);
};

/**
 * 0xF6A8C4B4A11AE89C
 */
global.N_0xf6a8c4b4a11ae89c = function (p0, p1, p2, p3, p4, p5) {
	return _in(0xf6a8c4b4, 0xa11ae89c, p0, p1, p2, p3, p4, p5, _r, _ri);
};

/**
 * 0xF6CE6F9C3897804E
 */
global.N_0xf6ce6f9c3897804e = function (p0) {
	return _in(0xf6ce6f9c, 0x3897804e, p0, _r, _ri);
};

/**
 * 0xF6DE98516FD3AC9B
 */
global.N_0xf6de98516fd3ac9b = function () {
	return _in(0xf6de9851, 0x6fd3ac9b);
};

/**
 * 0xF6E3D38869D0F7AD
 */
global.N_0xf6e3d38869d0f7ad = function (p0) {
	return _in(0xf6e3d388, 0x69d0f7ad, p0);
};

/**
 * 0xF6E88489B4E6EBE5
 */
global.N_0xf6e88489b4e6ebe5 = function (p0, p1) {
	return _in(0xf6e88489, 0xb4e6ebe5, p0, p1);
};

/**
 * 0xF6F5447D418DAA82
 */
global.N_0xf6f5447d418daa82 = function (p0) {
	return _in(0xf6f5447d, 0x418daa82, p0, _r, _ri);
};

/**
 * 0xF718931A82EEB898
 */
global.N_0xf718931a82eeb898 = function () {
	return _in(0xf718931a, 0x82eeb898);
};

/**
 * 0xF7327ACC7A89AEF1
 */
global.N_0xf7327acc7a89aef1 = function (p0, p1, p2) {
	return _in(0xf7327acc, 0x7a89aef1, p0, p1, p2, _r, _ri);
};

/**
 * 0xF8181B5EF156862C
 */
global.N_0xf8181b5ef156862c = function (ped) {
	return _in(0xf8181b5e, 0xf156862c, ped);
};

/**
 * 0xF81C53561D15F330
 */
global.N_0xf81c53561d15f330 = function () {
	return _in(0xf81c5356, 0x1d15f330, _r, _s);
};

/**
 * Returns weaponHash
 */
global.N_0xf8204ef17410bf43 = function (weaponGroupHash, p1, p2, p3) {
	return _in(0xf8204ef1, 0x7410bf43, _ch(weaponGroupHash), _fv(p1), _fv(p2), p3, _r, _ri);
};

/**
 * 0xF824530B612FE0CE
 */
global.N_0xf824530b612fe0ce = function () {
	return _in(0xf824530b, 0x612fe0ce, _r, _ri);
};

/**
 * 0xF8938CF3984092A5
 */
global.N_0xf8938cf3984092a5 = function (player) {
	return _in(0xf8938cf3, 0x984092a5, player);
};

/**
 * _BOUNTY_GET_*
 */
global.N_0xf8bcc5eca33ac9c1 = function () {
	return _in(0xf8bcc5ec, 0xa33ac9c1, _r, _ri);
};

/**
 * _SET_TRANSPORT_*
 */
global.N_0xf8c20282b237e3f7 = function (ped) {
	return _in(0xf8c20282, 0xb237e3f7, ped);
};

/**
 * 0xF8CA39D5C0D1D9A1
 */
global.N_0xf8ca39d5c0d1d9a1 = function (p0, p1) {
	return _in(0xf8ca39d5, 0xc0d1d9a1, p0, p1);
};

/**
 * _ITEMDATABASE_FILLOUT_(B)* - ITEMDATABASE_FILLOUT_ITEM*
 */
global.N_0xf8d09ef8ce61d7bf = function (p0, p1) {
	return _in(0xf8d09ef8, 0xce61d7bf, p0, p1, _r);
};

/**
 * Note: this native was added in build 1311.23
 * ```
 * ```
 * NativeDB Introduced: v1311
 */
global.N_0xf8dc69dc1ad19072 = function (p0) {
	return _in(0xf8dc69dc, 0x1ad19072, p0, _r, _ri);
};

/**
 * 0xF8DE7154F7D1458F
 */
global.N_0xf8de7154f7d1458f = function (p0) {
	return _in(0xf8de7154, 0xf7d1458f, p0, _r, _ri);
};

/**
 * 0xF8F7DA13CFBD4532
 */
global.N_0xf8f7da13cfbd4532 = function (trackIndex, p1) {
	return _in(0xf8f7da13, 0xcfbd4532, trackIndex, p1);
};

/**
 * 0xF917F92BF22ECBAB
 */
global.N_0xf917f92bf22ecbab = function (p0) {
	return _in(0xf917f92b, 0xf22ecbab, p0);
};

/**
 * 0xF9331B3A314EB49D
 */
global.N_0xf9331b3a314eb49d = function (ped) {
	return _in(0xf9331b3a, 0x314eb49d, ped, _r);
};

/**
 * 0xF948F4356F010F11
 */
global.N_0xf948f4356f010f11 = function (p0, p1, p2) {
	return _in(0xf948f435, 0x6f010f11, p0, p1, p2);
};

/**
 * 0xF97F462779B31786
 */
global.N_0xf97f462779b31786 = function (p0) {
	return _in(0xf97f4627, 0x79b31786, p0, _r, _ri);
};

/**
 * 0xF993373285053D77
 */
global.N_0xf993373285053d77 = function (p0, p1, p2) {
	return _in(0xf9933732, 0x85053d77, p0, p1, p2);
};

/**
 * Used in Script Function PLAYER_HEAD_TRACKING_MAINTAIN
 */
global.N_0xf9cbd46433e36713 = function (ped, targetEntity, p2, p3, p4, p5, p6, p7, p8, p9) {
	return _in(0xf9cbd464, 0x33e36713, ped, targetEntity, _fv(p2), _fv(p3), _fv(p4), _fv(p5), _fv(p6), _fv(p7), _fv(p8), _ts(p9));
};

/**
 * _SET_PED_WETNESS*
 */
global.N_0xf9cff5bb70e8a2cb = function (ped, p1) {
	return _in(0xf9cff5bb, 0x70e8a2cb, ped, _fv(p1));
};

/**
 * 0xF9E951A1E5517C06
 */
global.N_0xf9e951a1e5517c06 = function () {
	return _in(0xf9e951a1, 0xe5517c06);
};

/**
 * 0xFA0D206B489A6846
 */
global.N_0xfa0d206b489a6846 = function (p0, p1, p2, p3, p4) {
	return _in(0xfa0d206b, 0x489a6846, p0, p1, p2, p3, p4);
};

/**
 * nullsub, doesn't do anything
 */
global.N_0xfa15c9a320e707b0 = function () {
	return _in(0xfa15c9a3, 0x20e707b0);
};

/**
 * 0xFA30E2254461ADEB
 */
global.N_0xfa30e2254461adeb = function (p0, p1) {
	return _in(0xfa30e225, 0x4461adeb, p0, p1);
};

/**
 * Params: p1, p2, p3, p4 = 1.f, 0, 0, 0 in R* Scripts
 * _SPECIAL_ABILITY*
 */
global.N_0xfa437fa0738c370c = function (player, p1, p2, p3, p4) {
	return _in(0xfa437fa0, 0x738c370c, player, _fv(p1), p2, p3, p4);
};

/**
 * 0xFA742B82D093D848
 */
global.N_0xfa742b82d093d848 = function (p0, p1, p2) {
	return _in(0xfa742b82, 0xd093d848, p0, p1, p2);
};

/**
 * 0xFA7C5B7E087A4CEB
 */
global.N_0xfa7c5b7e087a4ceb = function () {
	return _in(0xfa7c5b7e, 0x087a4ceb, _r, _ri);
};

/**
 * 0xFA7DAAE3959E6C7B
 */
global.N_0xfa7daae3959e6c7b = function (p0, p1) {
	return _in(0xfa7daae3, 0x959e6c7b, p0, p1);
};

/**
 * 0xFA821997794F48E7
 */
global.N_0xfa821997794f48e7 = function (p0, p1, p2) {
	return _in(0xfa821997, 0x794f48e7, p0, p1, p2);
};

/**
 * _HAS_PED_*
 */
global.N_0xfa8c10dce0706d43 = function (ped) {
	return _in(0xfa8c10dc, 0xe0706d43, ped, _r);
};

/**
 * NativeDB Introduced: v1436
 */
global.N_0xfa99e8e575f2fef8 = function (p0) {
	return _in(0xfa99e8e5, 0x75f2fef8, p0, _r, _ri);
};

/**
 * 0xFB16F08F47B83B4C
 */
global.N_0xfb16f08f47b83b4c = function (p0) {
	return _in(0xfb16f08f, 0x47b83b4c, p0);
};

/**
 * Note: this native was added in build 1311.23
 * ```
 * ```
 * NativeDB Introduced: v1311
 */
global.N_0xfb3205788f8afa3f = function () {
	return _in(0xfb320578, 0x8f8afa3f, _r, _ri);
};

/**
 * _DISABLE_*
 */
global.N_0xfb680a9b33d0edbe = function (p0) {
	return _in(0xfb680a9b, 0x33d0edbe, p0);
};

/**
 * 0xFB9153A54AC713E8
 */
global.N_0xfb9153a54ac713e8 = function (ropeId, p1) {
	return _in(0xfb9153a5, 0x4ac713e8, ropeId, p1);
};

/**
 * ANIMPOSTFX_*
 */
global.N_0xfbf161fcfec8589e = function (effectName, p1, p2, p3) {
	return _in(0xfbf161fc, 0xfec8589e, _ts(effectName), p1, p2, _i /* actually bool */, _r);
};

/**
 * 0xFC23348F0F4E245F
 */
global.N_0xfc23348f0f4e245f = function (p0, p1, p2, p3) {
	return _in(0xfc23348f, 0x0f4e245f, p0, p1, p2, p3);
};

/**
 * 0xFC3B580C4380B5B7
 */
global.N_0xfc3b580c4380b5b7 = function (ped) {
	return _in(0xfc3b580c, 0x4380b5b7, ped, _r, _ri);
};

/**
 * 0xFC3F638BE2B6BB02
 */
global.N_0xfc3f638be2b6bb02 = function () {
	return _in(0xfc3f638b, 0xe2b6bb02);
};

/**
 * _SET_DRAFT_VEHICLE_*
 */
global.N_0xfc4f15a7dddc47b1 = function (vehicle, p1) {
	return _in(0xfc4f15a7, 0xdddc47b1, vehicle, p1);
};

/**
 * 0xFC6ECB9170145ECE
 */
global.N_0xfc6ecb9170145ece = function () {
	return _in(0xfc6ecb91, 0x70145ece);
};

/**
 * nullsub, doesn't do anything
 */
global.N_0xfc6fcf4c03f1bbf6 = function () {
	return _in(0xfc6fcf4c, 0x03f1bbf6);
};

/**
 * 0xFC7F71CF49F70B6B
 */
global.N_0xfc7f71cf49f70b6b = function (p0) {
	return _in(0xfc7f71cf, 0x49f70b6b, p0);
};

/**
 * 0xFC832B06127D8E99
 */
global.N_0xfc832b06127d8e99 = function (collectableCategory, p1) {
	return _in(0xfc832b06, 0x127d8e99, _ch(collectableCategory), p1, _r);
};

/**
 * 0xFC9806DA9A460093
 */
global.N_0xfc9806da9a460093 = function (x1, y1, z1, x2, y2, z2) {
	return _in(0xfc9806da, 0x9a460093, _fv(x1), _fv(y1), _fv(z1), _fv(x2), _fv(y2), _fv(z2));
};

/**
 * 0xFC9B53C072F418E0
 */
global.N_0xfc9b53c072f418e0 = function () {
	return _in(0xfc9b53c0, 0x72f418e0, _r, _ri);
};

/**
 * 0xFCC6DB8DBE709BC8
 */
global.N_0xfcc6db8dbe709bc8 = function (persChar) {
	return _in(0xfcc6db8d, 0xbe709bc8, persChar);
};

/**
 * 0xFCDEC42B1C78B7F8
 */
global.N_0xfcdec42b1c78b7f8 = function (p0, p1) {
	return _in(0xfcdec42b, 0x1c78b7f8, p0, p1);
};

/**
 * R* Script spd_agnesdow1: p0 = SPD_AGNES_DOWD_01
 */
global.N_0xfd05b1dde83749fa = function (p0) {
	return _in(0xfd05b1dd, 0xe83749fa, _ts(p0), _r);
};

/**
 * _DISABLE_A* - _DISABLE_C*
 */
global.N_0xfd3c31a2e45671e7 = function (ped, p1) {
	return _in(0xfd3c31a2, 0xe45671e7, ped, p1);
};

/**
 * Only used in R* Script startup_clip
 */
global.N_0xfd4272a137703449 = function () {
	return _in(0xfd4272a1, 0x37703449);
};

/**
 * 0xFD461D0ABA5559B1
 */
global.N_0xfd461d0aba5559b1 = function (p0, p1) {
	return _in(0xfd461d0a, 0xba5559b1, p0, p1);
};

/**
 * Note: this native was added in build 1311.23
 * ```
 * ```
 * NativeDB Introduced: v1311
 */
global.N_0xfd8112109a96877c = function () {
	return _in(0xfd811210, 0x9a96877c);
};

/**
 * 0xFD8E853F0BC2E942
 */
global.N_0xfd8e853f0bc2e942 = function (p0, p1) {
	return _in(0xfd8e853f, 0x0bc2e942, p0, p1);
};

/**
 * 0xFDB008B3BCF5992F
 */
global.N_0xfdb008b3bcf5992f = function (p0, p1, p2) {
	return _in(0xfdb008b3, 0xbcf5992f, p0, p1, p2);
};

/**
 * 0xFDCEDFB0577A390D
 */
global.N_0xfdcedfb0577a390d = function (p0, p1) {
	return _in(0xfdcedfb0, 0x577a390d, p0, p1, _r, _ri);
};

/**
 * 0xFDECCA06E8B81346
 */
global.N_0xfdecca06e8b81346 = function (ped) {
	return _in(0xfdecca06, 0xe8b81346, ped, _r, _ri);
};

/**
 * 0xFE2B3D5500B1B2E4
 */
global.N_0xfe2b3d5500b1b2e4 = function (p0, p1) {
	return _in(0xfe2b3d55, 0x00b1b2e4, p0, p1);
};

/**
 * 0xFE53B1F8D43F19BF
 */
global.N_0xfe53b1f8d43f19bf = function (player1, player2) {
	return _in(0xfe53b1f8, 0xd43f19bf, player1, player2, _r, _ri);
};

/**
 * 0xFE5C6177064BD390
 */
global.N_0xfe5c6177064bd390 = function (p0) {
	return _in(0xfe5c6177, 0x064bd390, p0, _r);
};

/**
 * 0xFE5D28B9B7837CC1
 */
global.N_0xfe5d28b9b7837cc1 = function (p0, p1, p2, p3) {
	return _in(0xfe5d28b9, 0xb7837cc1, p0, p1, p2, p3, _r, _ri);
};

/**
 * METAPED_PLAYER_COMPONENTS_SET_META_TYPE_TO_BE_BYPASSED: Setting visibility
 * _SET_M* - _SET_P*
 */
global.N_0xfea6126c34df2532 = function (ped, p1) {
	return _in(0xfea6126c, 0x34df2532, ped, p1);
};

/**
 * 0xFEAB3DB4EDB236EB
 */
global.N_0xfeab3db4edb236eb = function (p0) {
	return _in(0xfeab3db4, 0xedb236eb, p0, _r, _ri);
};

/**
 * 0xFEB8646818294C75
 */
global.N_0xfeb8646818294c75 = function (p0, p1) {
	return _in(0xfeb86468, 0x18294c75, p0, p1);
};

/**
 * _SET_GAMEPLAY_P* - _SET_GAMEPLAY_V*
 */
global.N_0xfefddc6e8fdf8a75 = function (shakeName, intensity) {
	return _in(0xfefddc6e, 0x8fdf8a75, _ts(shakeName), _fv(intensity));
};

/**
 * 0xFF1E339CE40EAAAF
 */
global.N_0xff1e339ce40eaaaf = function (p0, p1) {
	return _in(0xff1e339c, 0xe40eaaaf, p0, p1);
};

/**
 * nullsub, doesn't do anything
 */
global.N_0xff252e2bafb7330f = function (p0) {
	return _in(0xff252e2b, 0xafb7330f, p0);
};

/**
 * 0xFF2B1F59FB892F14
 */
global.N_0xff2b1f59fb892f14 = function (p0) {
	return _in(0xff2b1f59, 0xfb892f14, p0);
};

/**
 * 0xFF36F36B07E69059
 */
global.N_0xff36f36b07e69059 = function (p0) {
	return _in(0xff36f36b, 0x07e69059, p0);
};

/**
 * Returns whether the 'killFX' setting is enabled.
 * ANIMPOSTFX_*
 */
global.N_0xff584f097c17fa8f = function () {
	return _in(0xff584f09, 0x7c17fa8f, _r);
};

/**
 * 0xFF745B0346E19E2C
 */
global.N_0xff745b0346e19e2c = function (p0) {
	return _in(0xff745b03, 0x46e19e2c, p0);
};

/**
 * 0xFF8018C778349234
 */
global.N_0xff8018c778349234 = function (p0) {
	return _in(0xff8018c7, 0x78349234, p0);
};

/**
 * 0xFF83AF534156B399
 */
global.N_0xff83af534156b399 = function (p0, p1) {
	return _in(0xff83af53, 0x4156b399, p0, p1);
};

/**
 * 0xFF8AFCA532B500D4
 */
global.N_0xff8afca532b500d4 = function (p0, p1) {
	return _in(0xff8afca5, 0x32b500d4, p0, p1);
};

/**
 * SET_ENTITY_LO*
 */
global.N_0xff9965c47fa404da = function (entity, toggle) {
	return _in(0xff9965c4, 0x7fa404da, entity, toggle);
};

/**
 * 0xFFA1594703ED27CA
 */
global.N_0xffa1594703ed27ca = function (ped, p1) {
	return _in(0xffa15947, 0x03ed27ca, ped, p1);
};

/**
 * 0xFFB520A3E16F7B7B
 */
global.N_0xffb520a3e16f7b7b = function (ped, p1) {
	return _in(0xffb520a3, 0xe16f7b7b, ped, _fv(p1));
};

/**
 * 0xFFDDF802279BE128
 */
global.N_0xffddf802279be128 = function (p0, p1, p2) {
	return _in(0xffddf802, 0x279be128, p0, p1, p2);
};

/**
 * _GET_PED_COMBAT_M* - _GET_PED_C*
 */
global.N_0xffde295662405b25 = function (ped) {
	return _in(0xffde2956, 0x62405b25, ped, _r, _ri);
};

/**
 * 0xFFE9C53DEEA3DB0B
 */
global.N_0xffe9c53deea3db0b = function (p0, p1, x, y, z, isSrlLoaded, p6) {
	return _in(0xffe9c53d, 0xeea3db0b, p0, p1, _fv(x), _fv(y), _fv(z), isSrlLoaded, p6, _r, _ri);
};

/**
 * 0xFFEBE5AA96BC2E4E
 */
global.N_0xffebe5aa96bc2e4e = function (ped, crimeType, p2) {
	return _in(0xffebe5aa, 0x96bc2e4e, ped, _ch(crimeType), p2, _r, _ri);
};

/**
 * 0xFFFE15B433300B8C
 */
global.N_0xfffe15b433300b8c = function (p0, p1, p2) {
	return _in(0xfffe15b4, 0x33300b8c, p0, p1, p2);
};

/**
 * _NAVMESH_ACTIVATE_SWAP
 */
global.NavmeshActivateSwap = function (name) {
	return _in(0x7c334ff4, 0xd9215912, _ts(name), _r, _ri);
};
global.N_0x7c334ff4d9215912 = global.NavmeshActivateSwap;

/**
 * _NAVMESH_ASSIGN_NAVMESH_TO_VEHICLE
 */
global.NavmeshAssignNavmeshToVehicle = function (vehicle, navMeshName) {
	return _in(0x44026e3d, 0xb3ced602, vehicle, _ts(navMeshName), _r, _ri);
};
global.N_0x44026e3db3ced602 = global.NavmeshAssignNavmeshToVehicle;

/**
 * Called in scripts after finished with requested pathes. Immediately resets all values connected to the path handle except query status, which changes from 1 to 2 before eventually becoming fully invalidated to 0.
 */
global.NavmeshClearRequestedPath = function (path) {
	return _in(0x661bb1e1, 0xff77742d, path, _r);
};
global.N_0x661bb1e1ff77742d = global.NavmeshClearRequestedPath;

/**
 * _NAVMESH_DEACTIVATE_SWAP
 */
global.NavmeshDeactivateSwap = function (name) {
	return _in(0x527b97c2, 0x03bb8606, _ts(name), _r, _ri);
};
global.N_0x527b97c203bb8606 = global.NavmeshDeactivateSwap;

/**
 * _NAVMESH_DOES_SWAP_EXIST
 */
global.NavmeshDoesSwapExist = function (name) {
	return _in(0x495cfab2, 0x924237c7, _ts(name), _r, _ri);
};
global.N_0x495cfab2924237c7 = global.NavmeshDoesSwapExist;

/**
 * _NAVMESH_IS_SWAP_ACTIVE
 */
global.NavmeshIsSwapActive = function (name) {
	return _in(0x5ac0944c, 0x156e5f44, _ts(name), _r, _ri);
};
global.N_0x5ac0944c156e5f44 = global.NavmeshIsSwapActive;

/**
 * Starts a nav mesh query for a path between coordinates with a given ped and returns a handle to be validated by _NAVMESH_REQUESTED_QUERY_STATUS and then _NAVMESH_REQUESTED_PATH_WAYPOINTS_FOUND
 * Only bit flag values used in scripts are 0, 23, and 29. 23 is used with dogs and horses. 29 with legendary animals.
 */
global.NavmeshRequestPath = function (ped, x1, y1, z1, x2, y2, z2, bitFlag) {
	return _in(0x348f211c, 0xa2404039, ped, _fv(x1), _fv(y1), _fv(z1), _fv(x2), _fv(y2), _fv(z2), bitFlag, _r, _ri);
};
global.N_0x348f211ca2404039 = global.NavmeshRequestPath;

/**
 * Returns the number of waypoints for a requested path (NAVMESH_REQUEST_PATH) if the query is completed (_NAVMESH_REQUESTED_QUERY_STATUS). For use with _NAVMESH_REQUESTED_PATH_WAYPOINT_BY_INDEX
 */
global.NavmeshRequestedPathNumWaypoints = function (path) {
	return _in(0xd470725e, 0x0703d22f, path, _r, _ri);
};
global.N_0xd470725e0703d22f = global.NavmeshRequestedPathNumWaypoints;

/**
 * Returns a vector3 waypoint at the specified index for a path. Use _NAVMESH_REQUESTED_PATH_NUM_WAYPOINTS to get available indexes.
 */
global.NavmeshRequestedPathWaypointByIndex = function (path, waypointIndex) {
	return _in(0x430f8319, 0xae56c8a9, path, waypointIndex, _r, _rv);
};
global.N_0x430f8319ae56c8a9 = global.NavmeshRequestedPathWaypointByIndex;

/**
 * Returns true if a path of waypoints was found. Waypoints can be retrieved with _NAVMESH_REQUESTED_PATH_NUM_WAYPOINTS and _NAVMESH_REQUESTED_PATH_WAYPOINT_BY_INDEX
 */
global.NavmeshRequestedPathWaypointsFound = function (path) {
	return _in(0x8800776e, 0x410eb669, path, _r);
};
global.N_0x8800776e410eb669 = global.NavmeshRequestedPathWaypointsFound;

/**
 * Returns a bit flag for seemingly terrain within the waypoints in the path. Checked against bit value 2 to match water in the path, seems to always contain at least 1 though regardless of location/ped.
 */
global.NavmeshRequestedPathWaypointsTerrain = function (path) {
	return _in(0xf61cfede, 0xab627bfa, path, _r, _ri);
};
global.N_0xf61cfedeab627bfa = global.NavmeshRequestedPathWaypointsTerrain;

/**
 * Returns eNavMeshQueryStatus
 * enum eNavMeshQueryStatus
 * {
 * QS_NOT_FOUND,
 * QS_COMPLETE,
 * QS_PENDING
 * };
 * It appears that the pending state of 2 is at least also used when cleaning up a request (_NAVMESH_CLEAR_REQUESTED_PATH) or if a request never completes. Eventually queries are invalidated and return 0.
 */
global.NavmeshRequestedQueryStatus = function (path) {
	return _in(0x3a0f82f6, 0xee2291c8, path, _r, _ri);
};
global.N_0x3a0f82f6ee2291c8 = global.NavmeshRequestedQueryStatus;
global.NavmeshQueryStatus = global.NavmeshRequestedQueryStatus;

/**
 * Returns "INVALID_NET_RPC_GUID" if netRpcGuid is invalid.
 * ```
 * ```
 * NativeDB Introduced: v1311
 */
global.NetRpcGuidToString = function (netRpcGuid) {
	return _in(0xac9ff854, 0xbd4ba9b5, _ii(netRpcGuid) /* may be optional */, _r, _s);
};

/**
 * _NET_TO_ANIM_SCENE
 */
global.NetToAnimScene = function (netId) {
	return _in(0xd7f6781a, 0x0abaf6fb, netId, _r, _ri);
};
global.N_0xd7f6781a0abaf6fb = global.NetToAnimScene;

/**
 * gets the entity id of a network id
 */
global.NetToEnt = function (netHandle) {
	return _in(0xbffeab45, 0xa9a9094a, netHandle, _r, _ri);
};

/**
 * gets the object id of a network id
 */
global.NetToObj = function (netHandle) {
	return _in(0xd8515f5f, 0xea14cb3f, netHandle, _r, _ri);
};

/**
 * gets the ped id of a network id
 */
global.NetToPed = function (netHandle) {
	return _in(0xbdcd95fc, 0x216a8b3e, netHandle, _r, _ri);
};

/**
 * _NET_TO_PROPSET
 */
global.NetToPropset = function (netId) {
	return _in(0xd08066e0, 0x0d26c448, netId, _r, _ri);
};
global.N_0xd08066e00d26c448 = global.NetToPropset;

/**
 * NET_TO_VEH
 */
global.NetToVeh = function (netHandle) {
	return _in(0x367b9366, 0x10ba360c, netHandle, _r, _ri);
};

/**
 * _NETWORK_ACCEPT_CLAN_INVITE
 */
global.NetworkAcceptClanInvite = function (crewInviteIndex) {
	return _in(0x8e214314, 0x4b8e188d, crewInviteIndex, _r, _ri);
};
global.N_0x8e2143144b8e188d = global.NetworkAcceptClanInvite;

/**
 * NETWORK_ACCEPT_RS_INVITE
 */
global.NetworkAcceptRsInvite = function (p0) {
	return _in(0xb2cea510, 0x5aac8dde, p0, _r, _ri);
};
global.N_0xb2cea5105aac8dde = global.NetworkAcceptRsInvite;

/**
 * NETWORK_ACCESS_TUNABLE_BOOL
 */
global.NetworkAccessTunableBool = function (tunableContext, tunableName) {
	return _in(0xaa6a47a5, 0x73abb75a, _ch(tunableContext), _ch(tunableName), _r);
};

/**
 * NETWORK_ACCESS_TUNABLE_INT
 */
global.NetworkAccessTunableInt = function (tunableContext, tunableName, value) {
	return _in(0x8be1146d, 0xfd5d4468, _ch(tunableContext), _ch(tunableName), _ii(value) /* may be optional */, _r);
};

/**
 * NETWORK_ACTION_PLATFORM_INVITE
 */
global.NetworkActionPlatformInvite = function () {
	return _in(0x3b82acc3, 0xf4b6240c, _r, _ri);
};
global.N_0x3b82acc3f4b6240c = global.NetworkActionPlatformInvite;

/**
 * NETWORK_ACTIVITY_RESET_TO_IDLE
 */
global.NetworkActivityResetToIdle = function () {
	return _in(0x3fe141fd, 0xb990e3d1);
};
global.N_0x3fe141fdb990e3d1 = global.NetworkActivityResetToIdle;

/**
 * NETWORK_ACTIVITY_SET_CURRENT
 */
global.NetworkActivitySetCurrent = function (netPlaylistActivity) {
	return _in(0x9adac065, 0xd9f6706f, netPlaylistActivity);
};
global.N_0x9adac065d9f6706f = global.NetworkActivitySetCurrent;

/**
 * NETWORK_ADD_FRIEND
 */
global.NetworkAddFriend = function (message) {
	return _in(0x8e02d739, 0x14064223, _i, _ts(message), _r);
};

/**
 * _NETWORK_ADD_PLAYER_TO_RECENT_GAMERS_LIST
 */
global.NetworkAddPlayerToRecentGamersList = function (player, p1) {
	return _in(0x157d8f3d, 0xe12b307f, player, p1);
};
global.N_0x157d8f3de12b307f = global.NetworkAddPlayerToRecentGamersList;

/**
 * NativeDB Introduced: v1311
 */
global.NetworkAlert = function (ctx, lh, ec, h) {
	return _in(0x1baa028f, 0x52eed310, _ch(ctx), _ch(lh), ec, h);
};

/**
 * NETWORK_ALLOW_ALL_ENTITY_FADING_FOR_INSTANCES
 */
global.NetworkAllowAllEntityFadingForInstances = function (toggle) {
	return _in(0x4b05b97b, 0xa46f419d, toggle);
};
global.N_0x4b05b97ba46f419d = global.NetworkAllowAllEntityFadingForInstances;

/**
 * NETWORK_ALLOW_ENTITY_FADING_FOR_INSTANCES
 */
global.NetworkAllowEntityFadingForInstances = function (entity, toggle) {
	return _in(0xf3354d6c, 0xa46f419d, entity, toggle);
};
global.N_0xf3354d6ca46f419d = global.NetworkAllowEntityFadingForInstances;

/**
 * NETWORK_ALLOW_REMOTE_ATTACHMENT_MODIFICATION
 */
global.NetworkAllowRemoteAttachmentModification = function (entity, toggle) {
	return _in(0x267c78c6, 0x0e806b9a, entity, toggle);
};
global.N_0x267c78c60e806b9a = global.NetworkAllowRemoteAttachmentModification;

/**
 * NETWORK_ARE_HANDLES_THE_SAME
 */
global.NetworkAreHandlesTheSame = function () {
	return _in(0x57dba049, 0xe110f217, _i, _i, _r);
};

/**
 * Returns value of fwuiCachedSetting "general.onlineNotificationsInStoryMode"
 */
global.NetworkAreOnlineNotificationsShownInStoryMode = function () {
	return _in(0xf5c5929e, 0x07512f80, _r);
};

/**
 * _NETWORK_ARE_PLAYERS_IN_SAME_PLATFORM_PARTY
 */
global.NetworkArePlayersInSamePlatformParty = function () {
	return _in(0x11820d1a, 0xe80dea39, _i, _i, _r, _ri);
};
global.N_0x11820d1ae80dea39 = global.NetworkArePlayersInSamePlatformParty;

/**
 * NETWORK_ARE_PLAYERS_IN_SAME_TUTORIAL_SESSION
 */
global.NetworkArePlayersInSameTutorialSession = function (player, index) {
	return _in(0x9de986fc, 0x9a87c474, player, index, _r);
};
global.NetworkIsPlayerEqualToIndex = global.NetworkArePlayersInSameTutorialSession;

/**
 * NETWORK_AUTO_SESSION_CAN_SPLIT_SESSION
 */
global.NetworkAutoSessionCanSplitSession = function (p0) {
	return _in(0xe404bff0, 0xaba23cdc, _ii(p0) /* may be optional */, _r, _ri);
};
global.N_0xe404bff0aba23cdc = global.NetworkAutoSessionCanSplitSession;

/**
 * NETWORK_AUTO_SESSION_FINISH_INSTANCE
 */
global.NetworkAutoSessionFinishInstance = function () {
	return _in(0xbb512991, 0x66b844f3);
};
global.N_0xbb51299166b844f3 = global.NetworkAutoSessionFinishInstance;

/**
 * NETWORK_AUTO_SESSION_IS_ALLOWED_TO_MERGE
 */
global.NetworkAutoSessionIsAllowedToMerge = function () {
	return _in(0xaaded99a, 0x6b268a27, _r, _ri);
};
global.N_0xaaded99a6b268a27 = global.NetworkAutoSessionIsAllowedToMerge;

/**
 * _NETWORK_AUTO_SESSION_IS_AUTO_WARP_DISABLED
 */
global.NetworkAutoSessionIsAutoWarpDisabled = function () {
	return _in(0xe258570e, 0x0c116a66, _r, _ri);
};
global.N_0xe258570e0c116a66 = global.NetworkAutoSessionIsAutoWarpDisabled;

/**
 * _NETWORK_AUTO_SESSION_IS_INSTANCED_SESSION
 */
global.NetworkAutoSessionIsInstancedSession = function () {
	return _in(0x277865a7, 0x34918ae6, _r, _ri);
};
global.N_0x277865a734918ae6 = global.NetworkAutoSessionIsInstancedSession;

/**
 * NETWORK_AUTO_SESSION_IS_OBJECT_CREATION_PAUSED
 */
global.NetworkAutoSessionIsObjectCreationPaused = function () {
	return _in(0x0e2c3aee, 0x6ce603b7, _r, _ri);
};
global.N_0x0e2c3aee6ce603b7 = global.NetworkAutoSessionIsObjectCreationPaused;

/**
 * _NETWORK_AUTO_SESSION_IS_PROCESSING_SESSION_SPLIT
 */
global.NetworkAutoSessionIsProcessingSessionSplit = function () {
	return _in(0xa021095c, 0x983f20d8, _r, _ri);
};
global.N_0xa021095c983f20d8 = global.NetworkAutoSessionIsProcessingSessionSplit;

/**
 * _NETWORK_AUTO_SESSION_SET_ALLOWED_TO_MERGE
 */
global.NetworkAutoSessionSetAllowedToMerge = function (toggle, p2) {
	return _in(0x63246a24, 0xf5747510, toggle, _i, p2);
};
global.N_0x63246a24f5747510 = global.NetworkAutoSessionSetAllowedToMerge;

/**
 * _NETWORK_AUTO_SESSION_SET_ALLOWED_TO_SPLIT
 */
global.NetworkAutoSessionSetAllowedToSplit = function (toggle) {
	return _in(0x0a428058, 0x079ee65c, toggle);
};
global.N_0x0a428058079ee65c = global.NetworkAutoSessionSetAllowedToSplit;

/**
 * _NETWORK_AUTO_SESSION_SET_AUTO_WARP_ENABLED
 */
global.NetworkAutoSessionSetAutoWarpEnabled = function (toggle) {
	return _in(0x4440fee3, 0xefe78f54, toggle);
};
global.N_0x4440fee3efe78f54 = global.NetworkAutoSessionSetAutoWarpEnabled;

/**
 * NETWORK_AUTO_SESSION_SPLIT_SESSION
 */
global.NetworkAutoSessionSplitSession = function (playersToTake, maxInstancePlayers, sessionFlags, bucketId) {
	return _in(0xc223d299, 0xc670413d, playersToTake, maxInstancePlayers, sessionFlags, bucketId, _r, _ri);
};
global.N_0xc223d299c670413d = global.NetworkAutoSessionSplitSession;

/**
 * _NETWORK_AUTO_SESSION_SPLIT_SESSION_SUCCESSFUL
 */
global.NetworkAutoSessionSplitSessionSuccessful = function () {
	return _in(0x6d87ba8e, 0xf15226cd, _r, _ri);
};
global.N_0x6d87ba8ef15226cd = global.NetworkAutoSessionSplitSessionSuccessful;

/**
 * NETWORK_AWARD_HAS_REACHED_MAXCLAIM
 */
global.NetworkAwardHasReachedMaxclaim = function (p0) {
	return _in(0xfbe782b3, 0x165ac8ec, p0, _r, _ri);
};
global.N_0xfbe782b3165ac8ec = global.NetworkAwardHasReachedMaxclaim;

/**
 * NETWORK_CAN_ACCESS_MULTIPLAYER
 */
global.NetworkCanAccessMultiplayer = function (loadingState) {
	return _in(0xaf50da1a, 0x3f8b1ba4, _ii(loadingState) /* may be optional */, _r);
};

/**
 * On PC this returns true if gamerHandle is a valid handle.
 */
global.NetworkCanAddFriend = function (gamerHandle) {
	return _in(0x99abe9bf, 0x9dada162, _ii(gamerHandle) /* may be optional */, _r, _ri);
};
global.N_0x99abe9bf9dada162 = global.NetworkCanAddFriend;

/**
 * _NETWORK_CAN_RECEIVE_INVITE_FROM_HANDLE
 */
global.NetworkCanReceiveInviteFromHandle = function (gamerHandle) {
	return _in(0xf23d6475, 0x640d29eb, _ii(gamerHandle) /* may be optional */, _r, _ri);
};
global.N_0xf23d6475640d29eb = global.NetworkCanReceiveInviteFromHandle;

/**
 * NETWORK_CAN_REFRESH_FRIEND_PAGE
 */
global.NetworkCanRefreshFriendPage = function () {
	return _in(0x1af5e28e, 0x64a76a9f, _r, _ri);
};
global.N_0x1af5e28e64a76a9f = global.NetworkCanRefreshFriendPage;

/**
 * NETWORK_CAN_SESSION_END
 */
global.NetworkCanSessionEnd = function () {
	return _in(0x4eebc369, 0x4e49c572, _r);
};

/**
 * NETWORK_CAN_VIEW_GAMER_USER_CONTENT
 */
global.NetworkCanViewGamerUserContent = function (gamerHandle) {
	return _in(0x246545c3, 0x7c27a717, _ii(gamerHandle) /* may be optional */, _r, _ri);
};
global.N_0x246545c37c27a717 = global.NetworkCanViewGamerUserContent;

/**
 * NETWORK_CHECK_ACCESS_AND_ALERT_IF_FAIL
 */
global.NetworkCheckAccessAndAlertIfFail = function () {
	return _in(0x2a8112a9, 0x74de1ef6, _r, _ri);
};
global.N_0x2a8112a974de1ef6 = global.NetworkCheckAccessAndAlertIfFail;

/**
 * NETWORK_CHECK_COMMUNICATION_PRIVILEGES
 */
global.NetworkCheckCommunicationPrivileges = function (p0) {
	return _in(0x83f28ce4, 0x9fbbffba, p0, _r);
};
global.N_0x83f28ce49fbbffba = global.NetworkCheckCommunicationPrivileges;

/**
 * NETWORK_CHECK_USER_CONTENT_PRIVILEGES
 */
global.NetworkCheckUserContentPrivileges = function (p0) {
	return _in(0x595f0286, 0x98072dd9, p0, _r);
};
global.N_0x595f028698072dd9 = global.NetworkCheckUserContentPrivileges;

/**
 * NETWORK_CLAN_GET_LOCAL_MEMBERSHIPS_COUNT
 */
global.NetworkClanGetLocalMembershipsCount = function () {
	return _in(0x1f471b79, 0xacc90bef, _r, _ri);
};

/**
 * NETWORK_CLAN_GET_MEMBERSHIP_DESC
 */
global.NetworkClanGetMembershipDesc = function (p1) {
	return _in(0x48de78af, 0x2c8885b8, _i, p1, _r);
};

/**
 * _NETWORK_CLAN_INVITE_PLAYER
 */
global.NetworkClanInvitePlayer = function (p0) {
	return _in(0xc685b014, 0xce3d988b, p0, _r, _ri);
};
global.N_0xc685b014ce3d988b = global.NetworkClanInvitePlayer;

/**
 * NETWORK_CLAN_IS_EMBLEM_READY
 */
global.NetworkClanIsEmblemReady = function (p0, p1) {
	return _in(0xa134777f, 0xf7f33331, p0, _ii(p1) /* may be optional */, _r);
};

/**
 * NETWORK_CLAN_PLAYER_GET_DESC
 */
global.NetworkClanPlayerGetDesc = function (bufferSize) {
	return _in(0xeee6eacb, 0xe8874fba, _i, bufferSize, _i, _r);
};

/**
 * NETWORK_CLAN_PLAYER_IS_ACTIVE
 */
global.NetworkClanPlayerIsActive = function (gamerHandle) {
	return _in(0xb124b57f, 0x571d8f18, _ii(gamerHandle) /* may be optional */, _r);
};

/**
 * NETWORK_CLAN_RELEASE_EMBLEM
 */
global.NetworkClanReleaseEmblem = function (p0) {
	return _in(0x113e6e3e, 0x50e286b0, p0);
};

/**
 * NETWORK_CLAN_REQUEST_EMBLEM
 */
global.NetworkClanRequestEmblem = function (p0) {
	return _in(0x13518ff1, 0xc6b28938, p0, _r);
};

/**
 * NETWORK_CLAN_SERVICE_IS_VALID
 */
global.NetworkClanServiceIsValid = function () {
	return _in(0x579cced0, 0x265d4896, _r);
};

/**
 * _NETWORK_CLAN_SET_ACTIVE
 */
global.NetworkClanSetActive = function (p0) {
	return _in(0xc080ff65, 0x8b2e51da, p0, _r, _ri);
};
global.N_0xc080ff658b2e51da = global.NetworkClanSetActive;

/**
 * _NETWORK_CLEAR_CLOCK_OVERRIDE_OVERTIME
 */
global.NetworkClearClockOverrideOvertime = function (milliseconds) {
	return _in(0x65f040d9, 0x1001ed4b, milliseconds);
};
global.N_0x65f040d91001ed4b = global.NetworkClearClockOverrideOvertime;

/**
 * NETWORK_CLEAR_CLOCK_TIME_OVERRIDE
 */
global.NetworkClearClockTimeOverride = function () {
	return _in(0xd972df67, 0x326f966e);
};

/**
 * NETWORK_CLEAR_FOUND_GAMERS
 */
global.NetworkClearFoundGamers = function () {
	return _in(0x6d14ccee, 0x1b40381a);
};

/**
 * NETWORK_CLEAR_GET_GAMER_STATUS
 */
global.NetworkClearGetGamerStatus = function () {
	return _in(0x86e0660e, 0x4f5c956d);
};

/**
 * NETWORK_CLEAR_PLATFORM_INVITE
 */
global.NetworkClearPlatformInvite = function () {
	return _in(0xa4484173, 0x759749b1);
};
global.N_0xa4484173759749b1 = global.NetworkClearPlatformInvite;

/**
 * _NETWORK_CLOCK_TIME_OVERRIDE
 */
global.NetworkClockTimeOverride = function (hour, minute, second, transitionTime, pauseClock) {
	return _in(0x669e223e, 0x64b1903c, hour, minute, second, transitionTime, pauseClock);
};

/**
 * _NETWORK_CLOCK_TIME_OVERRIDE_2
 */
global.NetworkClockTimeOverride_2 = function (hour, minute, second, transitionTime, pauseClock, clockwise) {
	return _in(0xe28c13ec, 0xc36ff14e, hour, minute, second, transitionTime, pauseClock, clockwise);
};

/**
 * NETWORK_CONCEAL_PLAYER
 */
global.NetworkConcealPlayer = function (player, toggle) {
	return _in(0xbbdf0662, 0x52829606, player, toggle);
};

/**
 * Must be called from a background script, otherwise it will do nothing.
 */
global.NetworkDebugRequestEntityPosition = function (p0) {
	return _in(0xfa38b52f, 0x91b59075, _ii(p0) /* may be optional */);
};
global.N_0xfa38b52f91b59075 = global.NetworkDebugRequestEntityPosition;

/**
 * NETWORK_DID_FIND_GAMERS_SUCCEED
 */
global.NetworkDidFindGamersSucceed = function () {
	return _in(0xf9b83b77, 0x929d8863, _r, _ri);
};
global.N_0xf9b83b77929d8863 = global.NetworkDidFindGamersSucceed;

/**
 * NETWORK_DID_GET_GAMER_STATUS_SUCCEED
 */
global.NetworkDidGetGamerStatusSucceed = function () {
	return _in(0x5ae17c6b, 0x0134b7f1, _r, _ri);
};
global.N_0x5ae17c6b0134b7f1 = global.NetworkDidGetGamerStatusSucceed;

/**
 * _NETWORK_DID_RECENT_GAMER_NAMES_REQUEST_SUCCEED
 */
global.NetworkDidRecentGamerNamesRequestSucceed = function () {
	return _in(0x12aeb56b, 0x489415c5, _r, _ri);
};
global.N_0x12aeb56b489415c5 = global.NetworkDidRecentGamerNamesRequestSucceed;

/**
 * NETWORK_DISABLE_LEAVE_REMOTE_PED_BEHIND
 */
global.NetworkDisableLeaveRemotePedBehind = function (toggle) {
	return _in(0xc505036a, 0x35afd01b, toggle);
};
global.N_0xc505036a35afd01b = global.NetworkDisableLeaveRemotePedBehind;

/**
 * NETWORK_DISABLE_PROXIMITY_MIGRATION
 */
global.NetworkDisableProximityMigration = function (netID) {
	return _in(0x407091cf, 0x6037118e, netID);
};

/**
 * NETWORK_DISABLE_REALTIME_MULTIPLAYER
 */
global.NetworkDisableRealtimeMultiplayer = function () {
	return _in(0x236905c7, 0x00fdb54d);
};
global.N_0x236905c700fdb54d = global.NetworkDisableRealtimeMultiplayer;

/**
 * Hardcoded to return -1.
 */
global.NetworkDisplaynamesFromHandlesStart = function (p1) {
	return _in(0xd66c9e72, 0xb3cc4982, _i, p1, _r, _ri);
};
global.N_0xd66c9e72b3cc4982 = global.NetworkDisplaynamesFromHandlesStart;

/**
 * NETWORK_DOES_ENTITY_EXIST_WITH_NETWORK_ID
 * @param netId The network id to check
 * @return Returns `true` if both the network id exist, and the network id has a game object.
 */
global.NetworkDoesEntityExistWithNetworkId = function (netId) {
	return _in(0x00000000, 0x1e2e3177, netId, _r);
};

/**
 * NETWORK_DOES_NETWORK_ID_EXIST
 */
global.NetworkDoesNetworkIdExist = function (netID) {
	return _in(0x38ce16c9, 0x6bd11344, netID, _r);
};

/**
 * NETWORK_DOES_TUNABLE_EXIST
 */
global.NetworkDoesTunableExist = function (tunableContext, tunableName) {
	return _in(0x85e5f8b9, 0xb898b20a, _ch(tunableContext), _ch(tunableName), _r);
};

/**
 * nullsub, doesn't do anything
 */
global.NetworkDumpNetIfConfig = function () {
	return _in(0xaedf1bc1, 0xc133d6e3, _r, _ri);
};
global.N_0xaedf1bc1c133d6e3 = global.NetworkDumpNetIfConfig;

/**
 * NETWORK_END_TUTORIAL_SESSION
 */
global.NetworkEndTutorialSession = function () {
	return _in(0xd0afaff5, 0xa51d72f7);
};

/**
 * NETWORK_FIND_GAMERS_IN_CREW
 */
global.NetworkFindGamersInCrew = function (crewId) {
	return _in(0xe532d681, 0x1b3a4d2a, crewId, _r);
};
global.N_0xe532d6811b3a4d2a = global.NetworkFindGamersInCrew;

/**
 * NETWORK_GET_ASSISTED_DAMAGE_OF_ENTITY
 */
global.NetworkGetAssistedDamageOfEntity = function (player, entity, p2) {
	return _in(0x4caca844, 0x40fa26f6, player, entity, _ii(p2) /* may be optional */, _r);
};
global.NetworkGetDestroyerOfEntity = global.NetworkGetAssistedDamageOfEntity;

/**
 * NETWORK_GET_AVERAGE_LATENCY
 */
global.NetworkGetAverageLatency = function (player) {
	return _in(0xd414be12, 0x9bb81b32, player, _r, _rf);
};
global.N_0xd414be129bb81b32 = global.NetworkGetAverageLatency;

/**
 * NETWORK_GET_AVERAGE_PACKET_LOSS
 */
global.NetworkGetAveragePacketLoss = function (player) {
	return _in(0x350c2394, 0x9e43686c, player, _r, _rf);
};
global.N_0x350c23949e43686c = global.NetworkGetAveragePacketLoss;

/**
 * Same as NETWORK_GET_AVERAGE_LATENCY (0xD414BE129BB81B32)
 */
global.NetworkGetAveragePing = function (player) {
	return _in(0x0e3a041e, 0xd6ac2b45, player, _r, _rf);
};
global.N_0x0e3a041ed6ac2b45 = global.NetworkGetAveragePing;

/**
 * _NETWORK_GET_CASH_BALANCE
 */
global.NetworkGetCashBalance = function () {
	return _in(0x8a67120d, 0xbc299525, _r, _ri);
};
global.N_0x8a67120dbc299525 = global.NetworkGetCashBalance;

/**
 * _NETWORK_GET_CURRENT_FRIEND_PAGE_DATA
 */
global.NetworkGetCurrentFriendPageData = function (p0) {
	return _in(0xa3eec0a5, 0xaff3fc5b, _ii(p0) /* may be optional */, _r, _ri);
};
global.N_0xa3eec0a5aff3fc5b = global.NetworkGetCurrentFriendPageData;

/**
 * NETWORK_GET_DESTROYER_OF_NETWORK_ID
 */
global.NetworkGetDestroyerOfNetworkId = function (netId, weaponHash) {
	return _in(0x7a1adeef, 0x01740a24, netId, _ii(weaponHash) /* may be optional */, _r, _ri);
};

/**
 * Example:
 * char displayName[64];
 * if (_NETWORK_GET_DISPLAY_NAME_FROM_HANDLE(handle, displayName))
 * {
 * // use displayName
 * }
 */
global.NetworkGetDisplayNameFromHandle = function (displayName) {
	return _in(0x7fee4f07, 0xc54b6b3c, _i, _ts(displayName), _r, _ri);
};
global.N_0x7fee4f07c54b6b3c = global.NetworkGetDisplayNameFromHandle;

/**
 * Hardcoded to return zero.
 */
global.NetworkGetDisplaynamesFromHandles = function (p0, p1, p2) {
	return _in(0x58cc1817, 0x19256197, p0, p1, p2, _r, _ri);
};
global.N_0x58cc181719256197 = global.NetworkGetDisplaynamesFromHandles;

/**
 * NETWORK_GET_ENTITY_FROM_NETWORK_ID
 */
global.NetworkGetEntityFromNetworkId = function (netId) {
	return _in(0xce4e5d9b, 0x0a4ff560, netId, _r, _ri);
};

/**
 * NETWORK_GET_ENTITY_IS_NETWORKED
 */
global.NetworkGetEntityIsNetworked = function (entity) {
	return _in(0xc7827959, 0x479dcc78, entity, _r);
};

/**
 * NETWORK_GET_ENTITY_KILLER_OF_PLAYER
 */
global.NetworkGetEntityKillerOfPlayer = function (player, weaponHash) {
	return _in(0x42b2daa6, 0xb596f5f8, player, _ii(weaponHash) /* may be optional */, _r, _ri);
};

/**
 * Returns the owner ID of the specified entity.
 * @param entity The entity to get the owner for.
 * @return On the server, the server ID of the entity owner. On the client, returns the player/slot ID of the entity owner.
 */
global.NetworkGetEntityOwner = function (entity) {
	return _in(0x00000000, 0x526fee31, entity, _r, _ri);
};

/**
 * NETWORK_GET_GAME_MODE
 */
global.NetworkGetGameMode = function () {
	return _in(0x225640e0, 0x9effdc3f, _r, _ri);
};
global.N_0x225640e09effdc3f = global.NetworkGetGameMode;

/**
 * _NETWORK_GET_GAMER_SESSION_FROM_HANDLE
 */
global.NetworkGetGamerSessionFromHandle = function (count) {
	return _in(0xfbdfe1c1, 0x356e12e8, _i, count, _r, _ri);
};
global.N_0xfbdfe1c1356e12e8 = global.NetworkGetGamerSessionFromHandle;

/**
 * _NETWORK_GET_GAMER_STATUS
 */
global.NetworkGetGamerStatus = function (p1) {
	return _in(0xddaeb478, 0xe58f8dea, _i, p1, _r, _ri);
};
global.N_0xddaeb478e58f8dea = global.NetworkGetGamerStatus;

/**
 * _NETWORK_GET_GAMERTAG_FROM_FRIEND
 */
global.NetworkGetGamertagFromFriend = function (gamerHandle) {
	return _in(0x5659d87b, 0xe674ab17, _ii(gamerHandle) /* may be optional */, _r, _s);
};
global.N_0x5659d87be674ab17 = global.NetworkGetGamertagFromFriend;

/**
 * Always returns a null string.
 */
global.NetworkGetGamertagFromHandle = function (gamerHandle) {
	return _in(0x42614116, 0x2ebe5cdb, _ii(gamerHandle) /* may be optional */, _r, _s);
};

/**
 * NETWORK_GET_GANG_ID
 */
global.NetworkGetGangId = function (player) {
	return _in(0x901e0dc2, 0x5080c8b9, player, _r, _ri);
};
global.N_0x901e0dc25080c8b9 = global.NetworkGetGangId;

/**
 * NETWORK_GET_GANG_LEADER
 */
global.NetworkGetGangLeader = function (gangId) {
	return _in(0x4be6c13a, 0x45cca8ec, gangId, _r, _ri);
};
global.N_0x4be6c13a45cca8ec = global.NetworkGetGangLeader;

/**
 * _NETWORK_GET_GANG_LEADER_HANDLE
 */
global.NetworkGetGangLeaderHandle = function (gangId, gamerHandle) {
	return _in(0xce88a261, 0xdcbba0d9, gangId, _ii(gamerHandle) /* may be optional */, _r, _ri);
};
global.N_0xce88a261dcbba0d9 = global.NetworkGetGangLeaderHandle;

/**
 * _NETWORK_GET_GANG_MEMBERS
 */
global.NetworkGetGangMembers = function (gangId, memberHandles) {
	return _in(0xd1bf325c, 0x8252a982, gangId, _ii(memberHandles) /* may be optional */, _r, _ri);
};
global.N_0xd1bf325c8252a982 = global.NetworkGetGangMembers;

/**
 * _NETWORK_GET_GANG_PRIVACY
 */
global.NetworkGetGangPrivacy = function () {
	return _in(0x9970ae8c, 0x3d706139, _r, _ri);
};
global.N_0x9970ae8c3d706139 = global.NetworkGetGangPrivacy;

/**
 * _NETWORK_GET_GANG_SIZE
 */
global.NetworkGetGangSize = function (gangId) {
	return _in(0x853b0fa4, 0xd8732c57, gangId, _r, _ri);
};
global.N_0x853b0fa4d8732c57 = global.NetworkGetGangSize;

/**
 * NETWORK_GET_GLOBAL_CLOCK
 */
global.NetworkGetGlobalClock = function () {
	return _in(0x11a7adcd, 0x629e170f, _i, _i, _i, _r);
};
global.NetworkGetClockTimeOverride = global.NetworkGetGlobalClock;

/**
 * _NETWORK_GET_GLOBAL_ENTITY_FLAGS
 */
global.NetworkGetGlobalEntityFlags = function (entity) {
	return _in(0xdd7806fd, 0x0543bc3d, entity, _r, _ri);
};
global.N_0xdd7806fd0543bc3d = global.NetworkGetGlobalEntityFlags;

/**
 * NETWORK_GET_GLOBAL_MULTIPLAYER_CLOCK
 */
global.NetworkGetGlobalMultiplayerClock = function () {
	return _in(0x6d03bfbd, 0x643b2a02, _i, _i, _i);
};

/**
 * NETWORK_GET_HIGHEST_RELIABLE_RESEND_COUNT
 */
global.NetworkGetHighestReliableResendCount = function (player) {
	return _in(0x52c1eada, 0xf7b10302, player, _r, _ri);
};
global.NetworkGetOldestResendCountForPlayer = global.NetworkGetHighestReliableResendCount;

/**
 * NativeDB Introduced: v1436
 */
global.NetworkGetHostOfScript = function (scriptName, p1, p2) {
	return _in(0x1d6a14f1, 0xf9a736fc, _ts(scriptName), p1, p2, _r, _ri);
};

/**
 * NativeDB Introduced: v1232
 */
global.NetworkGetHostOfThisScript = function () {
	return _in(0xc7b4d79b, 0x01fa7a5c, _r, _ri);
};

/**
 * NETWORK_GET_HOST_OF_THREAD
 */
global.NetworkGetHostOfThread = function (threadId) {
	return _in(0xb4a25351, 0xd79b444c, threadId, _r, _ri);
};
global.N_0xb4a25351d79b444c = global.NetworkGetHostOfThread;

/**
 * NETWORK_GET_INSTANCE_ID_OF_THIS_SCRIPT
 */
global.NetworkGetInstanceIdOfThisScript = function () {
	return _in(0x638a3a81, 0x733086db, _r, _ri);
};
global.N_0x638a3a81733086db = global.NetworkGetInstanceIdOfThisScript;

/**
 * _NETWORK_GET_INSTANCE_ID_OF_THREAD
 */
global.NetworkGetInstanceIdOfThread = function (threadId) {
	return _in(0xfb9eced5, 0xb68f3b78, threadId, _r, _ri);
};
global.N_0xfb9eced5b68f3b78 = global.NetworkGetInstanceIdOfThread;

/**
 * NETWORK_GET_LOCAL_HANDLE
 */
global.NetworkGetLocalHandle = function (gamerHandle) {
	return _in(0xe8605178, 0x6b66cd8e, _ii(gamerHandle) /* may be optional */);
};

/**
 * Seems to always return 0, but it's used in quite a few loops.
 * for (num3 = 0; num3 < NETWORK::0xCCD8C02D(); num3++)
 * {
 * if (NETWORK::NETWORK_IS_PARTICIPANT_ACTIVE(PLAYER::0x98F3B274(num3)) != 0)
 * {
 * var num5 = NETWORK::NETWORK_GET_PLAYER_INDEX(PLAYER::0x98F3B274(num3));
 */
global.NetworkGetMaxNumParticipants = function () {
	return _in(0xa6c90fbc, 0x38e395ee, _r, _ri);
};

/**
 * nullsub, doesn't do anything
 */
global.NetworkGetNetStatisticsInfo = function () {
	return _in(0x6fd992c4, 0xa1c1b986, _r, _ri);
};
global.N_0x6fd992c4a1c1b986 = global.NetworkGetNetStatisticsInfo;

/**
 * NETWORK_GET_NETWORK_ID_FROM_ENTITY
 */
global.NetworkGetNetworkIdFromEntity = function (entity) {
	return _in(0xa1170068, 0x2f3ad45c, entity, _r, _ri);
};

/**
 * NETWORK_GET_NETWORK_ID_FROM_ROPE_ID
 */
global.NetworkGetNetworkIdFromRopeId = function (ropeId) {
	return _in(0x42871327, 0x315edae8, ropeId, _r, _ri);
};
global.N_0x42871327315edae8 = global.NetworkGetNetworkIdFromRopeId;

/**
 * Hardcoded to return zero.
 * ==== PS4 specific info ====
 * Returns some sort of unavailable reason:
 * -1 = REASON_INVALID
 * 0 = REASON_OTHER
 * 1 = REASON_SYSTEM_UPDATE
 * 2 = REASON_GAME_UPDATE
 * 3 = REASON_SIGNED_OUT
 * 4 = REASON_AGE
 * 5 = REASON_CONNECTION
 * =================================
 */
global.NetworkGetNpUnavailableReason = function () {
	return _in(0x74fb3e29, 0xe6d10fa9, _r, _ri);
};
global.N_0x74fb3e29e6d10fa9 = global.NetworkGetNpUnavailableReason;

/**
 * Returns the amount of players connected in the current session. Only works when connected to a session/server.
 */
global.NetworkGetNumConnectedPlayers = function () {
	return _in(0xa4a79dd2, 0xd9600654, _r, _ri);
};

/**
 * NETWORK_GET_NUM_GANG_MEMBERS
 */
global.NetworkGetNumGangMembers = function (gangId) {
	return _in(0x149a2751, 0xab66ac02, gangId, _r, _ri);
};
global.N_0x149a2751ab66ac02 = global.NetworkGetNumGangMembers;

/**
 * NETWORK_GET_NUM_PARTICIPANTS
 */
global.NetworkGetNumParticipants = function () {
	return _in(0x18d0456e, 0x86604654, _r, _ri);
};

/**
 * _NETWORK_GET_NUM_RECENT_GAMERS
 */
global.NetworkGetNumRecentGamers = function () {
	return _in(0x37a834ae, 0xc6a4f74a, _r, _ri);
};
global.N_0x37a834aec6a4f74a = global.NetworkGetNumRecentGamers;

/**
 * NETWORK_GET_NUM_SCRIPT_PARTICIPANTS
 */
global.NetworkGetNumScriptParticipants = function (scriptName, instanceId, position) {
	return _in(0x3658e8cd, 0x94fc121a, _ts(scriptName), instanceId, _ch(position), _r, _ri);
};

/**
 * NETWORK_GET_NUM_UNACKED_RELIABLES
 */
global.NetworkGetNumUnackedReliables = function (player) {
	return _in(0xff8fcf9f, 0xfc458a1c, player, _r, _ri);
};
global.NetworkGetNumUnackedForPlayer = global.NetworkGetNumUnackedReliables;

/**
 * NETWORK_GET_PARTICIPANT_INDEX
 */
global.NetworkGetParticipantIndex = function (index) {
	return _in(0x1b84df6a, 0xf2a46938, index, _r, _ri);
};

/**
 * _NETWORK_GET_PLATFORM_INVITE_ID
 */
global.NetworkGetPlatformInviteId = function () {
	return _in(0x9bcf28fb, 0x5d65a9be, _r, _ri);
};
global.N_0x9bcf28fb5d65a9be = global.NetworkGetPlatformInviteId;

/**
 * _NETWORK_GET_PLAYER_FAST_INSTANCE_ID
 */
global.NetworkGetPlayerFastInstanceId = function (player) {
	return _in(0xd9267375, 0x834c5eab, player, _r, _ri);
};
global.N_0xd9267375834c5eab = global.NetworkGetPlayerFastInstanceId;

/**
 * NETWORK_GET_PLAYER_FROM_GAMER_HANDLE
 */
global.NetworkGetPlayerFromGamerHandle = function (gamerHandle) {
	return _in(0xce5f689c, 0xf5a0a49d, _ii(gamerHandle) /* may be optional */, _r, _ri);
};

/**
 * NETWORK_GET_PLAYER_INDEX
 */
global.NetworkGetPlayerIndex = function (player) {
	return _in(0x24fb80d1, 0x07371267, player, _r, _ri);
};

/**
 * Returns the Player associated to a given Ped when in an online session.
 */
global.NetworkGetPlayerIndexFromPed = function (ped) {
	return _in(0x6c0e2e01, 0x25610278, ped, _r, _ri);
};

/**
 * _NETWORK_GET_PLAYER_OWNER_OF_NETWORK_ID
 */
global.NetworkGetPlayerOwnerOfNetworkId = function (netId) {
	return _in(0xa6c07874, 0x43c9583e, netId, _r, _ri);
};
global.N_0xa6c0787443c9583e = global.NetworkGetPlayerOwnerOfNetworkId;

/**
 * NETWORK_GET_PLAYER_TUTORIAL_SESSION_INSTANCE
 */
global.NetworkGetPlayerTutorialSessionInstance = function (player) {
	return _in(0x3b392367, 0x46714134, player, _r, _ri);
};

/**
 * NETWORK_GET_PRIMARY_CLAN_DATA_CLEAR
 */
global.NetworkGetPrimaryClanDataClear = function () {
	return _in(0x9aa46bad, 0xad0e27ed, _r, _ri);
};

/**
 * NETWORK_GET_PRIMARY_CLAN_DATA_NEW
 */
global.NetworkGetPrimaryClanDataNew = function () {
	return _in(0xc080ff65, 0x8b2e41da, _i, _i, _r);
};

/**
 * NETWORK_GET_PRIMARY_CLAN_DATA_PENDING
 */
global.NetworkGetPrimaryClanDataPending = function () {
	return _in(0xb5074db8, 0x04e28ce7, _r, _ri);
};

/**
 * NETWORK_GET_PRIMARY_CLAN_DATA_START
 */
global.NetworkGetPrimaryClanDataStart = function (p1) {
	return _in(0xce86d819, 0x1b762107, _i, p1, _r);
};

/**
 * NETWORK_GET_PRIMARY_CLAN_DATA_SUCCESS
 */
global.NetworkGetPrimaryClanDataSuccess = function () {
	return _in(0x5b4f04f1, 0x9376a0ba, _r, _ri);
};

/**
 * Hardcoded to return zero.
 */
global.NetworkGetPromotionDlgSeenCount = function () {
	return _in(0x2fb53c63, 0x1a49be92, _r, _ri);
};
global.N_0x2fb53c631a49be92 = global.NetworkGetPromotionDlgSeenCount;

/**
 * NETWORK_GET_RANDOM_INT_RANGED
 */
global.NetworkGetRandomIntRanged = function (rangeStart, rangeEnd) {
	return _in(0xe30cf56f, 0x1efa5f43, rangeStart, rangeEnd, _r, _ri);
};

/**
 * _NETWORK_GET_RANK
 */
global.NetworkGetRank = function () {
	return _in(0x32c90cdf, 0xaf40514c, _r, _ri);
};
global.N_0x32c90cdfaf40514c = global.NetworkGetRank;

/**
 * NETWORK_GET_RECENT_GAMER_NAMES
 */
global.NetworkGetRecentGamerNames = function (p0, p1, dataSize) {
	return _in(0xfefcc345, 0xce357453, p0, p1, _i, dataSize, _r, _ri);
};
global.N_0xfefcc345ce357453 = global.NetworkGetRecentGamerNames;

/**
 * NETWORK_GET_ROPE_ID_FROM_NETWORK_ID
 */
global.NetworkGetRopeIdFromNetworkId = function (netId) {
	return _in(0xeb1a4dd8, 0x352ec828, netId, _r, _ri);
};
global.N_0xeb1a4dd8352ec828 = global.NetworkGetRopeIdFromNetworkId;

/**
 * Returns CGameConfig->ConfigOnlineServices->RosTitleName (see gameconfig.xml)
 */
global.NetworkGetRosTitleName = function () {
	return _in(0xac6153a0, 0x722f524c, _r, _s);
};
global.N_0xac6153a0722f524c = global.NetworkGetRosTitleName;

/**
 * NETWORK_GET_SCRIPT_STATUS
 */
global.NetworkGetScriptStatus = function () {
	return _in(0x57d15864, 0x7a6bfabf, _r, _ri);
};

/**
 * _NETWORK_GET_SESSION_HOST
 */
global.NetworkGetSessionHost = function () {
	return _in(0x8dc9aa3b, 0x508b1a85, _r, _ri);
};
global.N_0x8dc9aa3b508b1a85 = global.NetworkGetSessionHost;

/**
 * _NETWORK_GET_SIZE_OF_HOST_BROADCAST_DATA_STORAGE
 */
global.NetworkGetSizeOfHostBroadcastDataStorage = function (p0) {
	return _in(0xba24095e, 0xa96dfe17, _ii(p0) /* may be optional */, _r, _ri);
};
global.N_0xba24095ea96dfe17 = global.NetworkGetSizeOfHostBroadcastDataStorage;

/**
 * _NETWORK_GET_SIZE_OF_PLAYER_BROADCAST_DATA_STORAGE
 */
global.NetworkGetSizeOfPlayerBroadcastDataStorage = function (p0) {
	return _in(0x690806bc, 0x83bc8ca2, _ii(p0) /* may be optional */, _r, _ri);
};
global.N_0x690806bc83bc8ca2 = global.NetworkGetSizeOfPlayerBroadcastDataStorage;

/**
 * _NETWORK_GET_STRING_CASH_BALANCE
 */
global.NetworkGetStringCashBalance = function () {
	return _in(0x282d36ff, 0x103d78df, _r, _s);
};
global.N_0x282d36ff103d78df = global.NetworkGetStringCashBalance;

/**
 * NETWORK_GET_THIS_SCRIPT_IS_NETWORK_SCRIPT
 */
global.NetworkGetThisScriptIsNetworkScript = function () {
	return _in(0x29106699, 0x69e9535e, _r);
};

/**
 * NETWORK_GET_TIMEOUT_TIME
 */
global.NetworkGetTimeoutTime = function () {
	return _in(0x5ed0356a, 0x0ce3a34f, _r, _ri);
};

/**
 * NETWORK_GET_TOTAL_NUM_FRIENDS
 */
global.NetworkGetTotalNumFriends = function () {
	return _in(0xdb7abdd2, 0x03fa3704, _r, _ri);
};
global.N_0xdb7abdd203fa3704 = global.NetworkGetTotalNumFriends;

/**
 * NETWORK_GET_TOTAL_NUM_PLAYERS
 */
global.NetworkGetTotalNumPlayers = function () {
	return _in(0xcf61d4b4, 0x702ee9eb, _r, _ri);
};

/**
 * NativeDB Introduced: v1436
 */
global.NetworkGetTunableCloudCrc = function () {
	return _in(0x10bd227a, 0x753b0d84, _r, _ri);
};

/**
 * NETWORK_GET_UNRELIABLE_RESEND_COUNT
 */
global.NetworkGetUnreliableResendCount = function (player) {
	return _in(0x3765c3a3, 0xe8192e10, player, _r, _ri);
};
global.N_0x3765c3a3e8192e10 = global.NetworkGetUnreliableResendCount;

/**
 * _NETWORK_GET_XP
 */
global.NetworkGetXp = function () {
	return _in(0xdb438cc9, 0xbc6f4022, _r, _ri);
};
global.N_0xdb438cc9bc6f4022 = global.NetworkGetXp;

/**
 * NETWORK_HANDLE_FROM_FRIEND
 */
global.NetworkHandleFromFriend = function (friendIndex, gamerHandle) {
	return _in(0xd45cb817, 0xd7e177d2, friendIndex, _ii(gamerHandle) /* may be optional */);
};

/**
 * NETWORK_HANDLE_FROM_PLAYER
 */
global.NetworkHandleFromPlayer = function (player, gamerHandle) {
	return _in(0x388eb2b8, 0x6c73b6b3, player, _ii(gamerHandle) /* may be optional */);
};

/**
 * _NETWORK_HAS_COMPLETED_MP_INTRO_FLOW_ON_CURRENT_SLOT
 */
global.NetworkHasCompletedMpIntroFlowOnCurrentSlot = function () {
	return _in(0xdd73c983, 0x8ce7181d, _r, _ri);
};
global.N_0xdd73c9838ce7181d = global.NetworkHasCompletedMpIntroFlowOnCurrentSlot;

/**
 * _NETWORK_HAS_CONTROL_OF_ANIM_SCENE
 */
global.NetworkHasControlOfAnimScene = function (animScene) {
	return _in(0x26a5c12f, 0xacff8724, animScene, _r, _ri);
};
global.N_0x26a5c12facff8724 = global.NetworkHasControlOfAnimScene;

/**
 * NETWORK_HAS_CONTROL_OF_ENTITY
 */
global.NetworkHasControlOfEntity = function (entity) {
	return _in(0x01bf60a5, 0x00e28887, entity, _r);
};

/**
 * NETWORK_HAS_CONTROL_OF_NETWORK_ID
 */
global.NetworkHasControlOfNetworkId = function (netId) {
	return _in(0x4d36070f, 0xe0215186, netId, _r);
};

/**
 * NETWORK_HAS_CONTROL_OF_PICKUP
 */
global.NetworkHasControlOfPickup = function (pickup) {
	return _in(0x5bc9495f, 0x0b3b6fa6, pickup, _r);
};

/**
 * NativeDB Introduced: v1311
 */
global.NetworkHasControlOfPickupPlacement = function (p0) {
	return _in(0x51eabcf2, 0x786515ab, p0, _r);
};

/**
 * _NETWORK_HAS_CURRENT_GET_GAMER_STATUS_STARTED
 */
global.NetworkHasCurrentGetGamerStatusStarted = function () {
	return _in(0x25189f99, 0x08e9cd65, _r, _ri);
};
global.N_0x25189f9908e9cd65 = global.NetworkHasCurrentGetGamerStatusStarted;

/**
 * NETWORK_HAS_ENTITY_BEEN_REGISTERED_WITH_THIS_THREAD
 */
global.NetworkHasEntityBeenRegisteredWithThisThread = function (entity) {
	return _in(0xb07d3185, 0xe11657a5, entity, _r);
};
global.N_0xb07d3185e11657a5 = global.NetworkHasEntityBeenRegisteredWithThisThread;

/**
 * NETWORK_HAS_PENDING_INVITE_FAILURE
 */
global.NetworkHasPendingInviteFailure = function () {
	return _in(0xd0498ad3, 0x0e16b6bd, _r, _ri);
};
global.N_0xd0498ad30e16b6bd = global.NetworkHasPendingInviteFailure;

/**
 * Returns true if the given player has a valid ped.
 */
global.NetworkHasPlayerValidPed = function (player) {
	return _in(0x0760d6f7, 0x0ebcc05c, player, _r, _ri);
};
global.N_0x0760d6f70ebcc05c = global.NetworkHasPlayerValidPed;

/**
 * NETWORK_HAS_RECEIVED_HOST_BROADCAST_DATA
 */
global.NetworkHasReceivedHostBroadcastData = function () {
	return _in(0x5d10b379, 0x5f3fc886, _r);
};
global.N_0x5d10b3795f3fc886 = global.NetworkHasReceivedHostBroadcastData;

/**
 * NETWORK_HAS_ROS_PRIVILEGE
 */
global.NetworkHasRosPrivilege = function (index) {
	return _in(0xa699957e, 0x60d80214, index, _r);
};

/**
 * NETWORK_HAS_SOCIAL_CLUB_ACCOUNT
 */
global.NetworkHasSocialClubAccount = function () {
	return _in(0x67a55896, 0x28e0cff6, _r);
};

/**
 * Returns whether the signed-in user has valid Rockstar Online Services (ROS) credentials.
 */
global.NetworkHasValidRosCredentials = function () {
	return _in(0x85443ff4, 0xc328f53b, _r);
};
global.NetworkHaveJustUploadLater = global.NetworkHasValidRosCredentials;

/**
 * NETWORK_HASH_FROM_PLAYER_HANDLE
 */
global.NetworkHashFromPlayerHandle = function (player) {
	return _in(0xbc1d768f, 0x2f5d6c05, player, _r, _ri);
};

/**
 * NETWORK_HAVE_ONLINE_PRIVILEGES
 */
global.NetworkHaveOnlinePrivileges = function () {
	return _in(0x25cb5a9f, 0x37bfd063, _r);
};

/**
 * NETWORK_HAVE_ROS_BANNED_PRIV
 */
global.NetworkHaveRosBannedPriv = function () {
	return _in(0x8020a738, 0x47e0ca7d, _r);
};
global.NetworkHasPlayerBeenBanned = global.NetworkHaveRosBannedPriv;

/**
 * NETWORK_IS_AIM_CAM_ACTIVE
 */
global.NetworkIsAimCamActive = function (player) {
	return _in(0x8e7ce192, 0x19669aeb, player, _r, _ri);
};
global.N_0x8e7ce19219669aeb = global.NetworkIsAimCamActive;

/**
 * NETWORK_IS_CLOCK_TIME_OVERRIDDEN
 */
global.NetworkIsClockTimeOverridden = function () {
	return _in(0xd7c95d32, 0x2ff57522, _r);
};

/**
 * NETWORK_IS_CLOUD_AVAILABLE
 */
global.NetworkIsCloudAvailable = function () {
	return _in(0x9a4cf4f4, 0x8ad77302, _r);
};

/**
 * NETWORK_IS_CONNECTED_VIA_RELAY
 */
global.NetworkIsConnectedViaRelay = function (player) {
	return _in(0x16d3d499, 0x02f697bb, player, _r);
};
global.N_0x16d3d49902f697bb = global.NetworkIsConnectedViaRelay;

/**
 * Hardcoded to return false.
 */
global.NetworkIsCustomUpsellEnabled = function () {
	return _in(0x78a9535a, 0xf83715c6, _r, _ri);
};
global.N_0x78a9535af83715c6 = global.NetworkIsCustomUpsellEnabled;

/**
 * NETWORK_IS_FEATURE_SUPPORTED
 */
global.NetworkIsFeatureSupported = function (featureId) {
	return _in(0x9c725d14, 0x9622bfde, featureId, _r, _ri);
};
global.N_0x9c725d149622bfde = global.NetworkIsFeatureSupported;

/**
 * NETWORK_IS_FINDING_GAMERS
 */
global.NetworkIsFindingGamers = function () {
	return _in(0xdddf64c9, 0x1bfcf0aa, _r);
};

/**
 * NETWORK_IS_FRIEND
 */
global.NetworkIsFriend = function (gamerHandle) {
	return _in(0x1a24a179, 0xf9b31654, _ii(gamerHandle) /* may be optional */, _r);
};

/**
 * _NETWORK_IS_FRIEND_HANDLE_IN_SAME_TITLE
 */
global.NetworkIsFriendHandleInSameTitle = function (gamerHandle) {
	return _in(0x665161d2, 0x50850a9f, _ii(gamerHandle) /* may be optional */, _r);
};
global.N_0x665161d250850a9f = global.NetworkIsFriendHandleInSameTitle;

/**
 * _NETWORK_IS_FRIEND_HANDLE_ONLINE
 */
global.NetworkIsFriendHandleOnline = function (gamerHandle) {
	return _in(0xe348d140, 0x4bd80146, _ii(gamerHandle) /* may be optional */, _r);
};
global.N_0xe348d1404bd80146 = global.NetworkIsFriendHandleOnline;

/**
 * NETWORK_IS_GAME_IN_PROGRESS
 */
global.NetworkIsGameInProgress = function () {
	return _in(0x10fab354, 0x28ccc9d7, _r);
};

/**
 * NETWORK_IS_GAMER_IN_MY_SESSION
 */
global.NetworkIsGamerInMySession = function (gamerHandle) {
	return _in(0x0f10b05d, 0xdf8d16e9, _ii(gamerHandle) /* may be optional */, _r);
};

/**
 * NETWORK_IS_GANG_ACTIVE
 */
global.NetworkIsGangActive = function (gangId) {
	return _in(0x0f99f643, 0x6528a089, gangId, _r, _ri);
};
global.N_0x0f99f6436528a089 = global.NetworkIsGangActive;

/**
 * NETWORK_IS_GANG_ID_VALID
 */
global.NetworkIsGangIdValid = function (gangId) {
	return _in(0xd6f6acf4, 0x392187fb, gangId, _r, _ri);
};
global.N_0xd6f6acf4392187fb = global.NetworkIsGangIdValid;

/**
 * NETWORK_IS_GANG_IN_SESSION
 */
global.NetworkIsGangInSession = function (gangId) {
	return _in(0x93a91a35, 0x1a07360e, gangId, _r, _ri);
};
global.N_0x93a91a351a07360e = global.NetworkIsGangInSession;

/**
 * NETWORK_IS_GANG_LEADER
 */
global.NetworkIsGangLeader = function (player) {
	return _in(0x424b17a7, 0xdc5c90bc, player, _r, _ri);
};
global.N_0x424b17a7dc5c90bc = global.NetworkIsGangLeader;

/**
 * _NETWORK_IS_GANG_MEMBER
 */
global.NetworkIsGangMember = function (gangId, player) {
	return _in(0x9be7dcb2, 0x2d32ccbe, gangId, player, _r, _ri);
};
global.N_0x9be7dcb22d32ccbe = global.NetworkIsGangMember;

/**
 * _NETWORK_IS_GANG_OPEN
 */
global.NetworkIsGangOpen = function (gangId) {
	return _in(0xfcf96ccb, 0xd81b24c8, gangId, _r, _ri);
};
global.N_0xfcf96ccbd81b24c8 = global.NetworkIsGangOpen;

/**
 * NETWORK_IS_HANDLE_VALID
 */
global.NetworkIsHandleValid = function (gamerHandle) {
	return _in(0x6f79b93b, 0x0a8e4133, _ii(gamerHandle) /* may be optional */, _r);
};

/**
 * If you are host, returns true else returns false.
 */
global.NetworkIsHost = function () {
	return _in(0x8db296b8, 0x14edda07, _r);
};

/**
 * NETWORK_IS_HOST_OF_THIS_SCRIPT
 */
global.NetworkIsHostOfThisScript = function () {
	return _in(0x83cd99a1, 0xe6061ab5, _r);
};

/**
 * NETWORK_IS_IN_MP_CUTSCENE
 */
global.NetworkIsInMpCutscene = function () {
	return _in(0x6cc27c9f, 0xa2040220, _r);
};

/**
 * _NETWORK_IS_IN_MY_GANG
 */
global.NetworkIsInMyGang = function (player) {
	return _in(0x81fb74c8, 0x3c2ed69f, player, _r, _ri);
};
global.N_0x81fb74c83c2ed69f = global.NetworkIsInMyGang;

/**
 * Hardcoded to return false.
 */
global.NetworkIsInPlatformParty = function () {
	return _in(0x2fc5650b, 0x0271cb57, _r);
};

/**
 * Hardcoded to return false.
 */
global.NetworkIsInPlatformPartyChat = function () {
	return _in(0xfd8b834a, 0x8ba05048, _r);
};

/**
 * NETWORK_IS_IN_SAME_GANG
 */
global.NetworkIsInSameGang = function (player1, player2) {
	return _in(0x3f59fe6f, 0x37869576, player1, player2, _r, _ri);
};
global.N_0x3f59fe6f37869576 = global.NetworkIsInSameGang;

/**
 * NETWORK_IS_IN_SESSION
 */
global.NetworkIsInSession = function () {
	return _in(0xca972461, 0x03b63917, _r);
};

/**
 * Hardcoded to return false.
 */
global.NetworkIsInSessionLobby = function () {
	return _in(0xc5196c42, 0xde19f646, _r, _ri);
};
global.N_0xc5196c42de19f646 = global.NetworkIsInSessionLobby;

/**
 * NETWORK_IS_IN_SPECTATOR_MODE
 */
global.NetworkIsInSpectatorMode = function () {
	return _in(0x048746e3, 0x88762e11, _r);
};

/**
 * NETWORK_IS_IN_TUTORIAL_SESSION
 */
global.NetworkIsInTutorialSession = function () {
	return _in(0xada24309, 0xfe08dacf, _r);
};

/**
 * _NETWORK_IS_MONEY_BALANCE_NOT_LESS_THAN
 */
global.NetworkIsMoneyBalanceNotLessThan = function (cashBalance, goldBarBalance) {
	return _in(0xaec5f011, 0x9867e457, cashBalance, goldBarBalance, _r, _ri);
};
global.N_0xaec5f0119867e457 = global.NetworkIsMoneyBalanceNotLessThan;

/**
 * NETWORK_IS_PARTICIPANT_ACTIVE
 */
global.NetworkIsParticipantActive = function (p0) {
	return _in(0x6ff8ff40, 0xb6357d45, p0, _r);
};

/**
 * Hardcoded to return false.
 */
global.NetworkIsPendingFriend = function (gamerHandle) {
	return _in(0x0be73da6, 0x984a6e33, _ii(gamerHandle) /* may be optional */, _r, _ri);
};

/**
 * NETWORK_IS_PLATFORM_INVITE_PENDING
 */
global.NetworkIsPlatformInvitePending = function () {
	return _in(0xfc4165c9, 0x165c166f, _r, _ri);
};
global.N_0xfc4165c9165c166f = global.NetworkIsPlatformInvitePending;

/**
 * NETWORK_IS_PLAYER_A_PARTICIPANT
 */
global.NetworkIsPlayerAParticipant = function (player) {
	return _in(0x3ca58f6c, 0xb7cbd784, player, _r);
};

/**
 * NETWORK_IS_PLAYER_A_PARTICIPANT_ON_SCRIPT
 */
global.NetworkIsPlayerAParticipantOnScript = function (p0, p2) {
	return _in(0x1ad5b715, 0x86b94820, p0, _i, p2, _r);
};

/**
 * NETWORK_IS_PLAYER_ACTIVE
 */
global.NetworkIsPlayerActive = function (player) {
	return _in(0xb8dfd30d, 0x6973e135, player, _r);
};

/**
 * NETWORK_IS_PLAYER_CONCEALED
 */
global.NetworkIsPlayerConcealed = function (player) {
	return _in(0x919b3c98, 0xed8292f9, player, _r);
};

/**
 * NETWORK_IS_PLAYER_CONNECTED
 */
global.NetworkIsPlayerConnected = function (player) {
	return _in(0x93dc1be4, 0xe1abe9d1, player, _r);
};

/**
 * Note: scripts seem to indicate that this was renamed to NETWORK_IS_PLAYER_IN_MP_FAST_INSTANCE
 */
global.NetworkIsPlayerInMpCutscene = function (player) {
	return _in(0x63f9ee20, 0x3c3619f2, player, _r);
};

/**
 * _NETWORK_IS_PLAYER_IN_SPECTATOR_MODE
 */
global.NetworkIsPlayerInSpectatorMode = function (player) {
	return _in(0x5b709519, 0x997ecf0f, player, _r);
};

/**
 * Returns true if the passed value is less than 32.
 */
global.NetworkIsPlayerIndexValid = function (player) {
	return _in(0x255a5ef6, 0x5eda9167, player, _r, _ri);
};
global.N_0x255a5ef65eda9167 = global.NetworkIsPlayerIndexValid;

/**
 * _NETWORK_IS_T* - _NETWORK_RE*
 */
global.NetworkIsPreviousUploadPending = function () {
	return _in(0xa21e3bad, 0x0a42d199, _r, _ri);
};
global.N_0xa21e3bad0a42d199 = global.NetworkIsPreviousUploadPending;

/**
 * Hardcoded to return false.
 */
global.NetworkIsPromotionEnabled = function () {
	return _in(0x8ff6059d, 0xa26e688a, _r, _ri);
};
global.N_0x8ff6059da26e688a = global.NetworkIsPromotionEnabled;

/**
 * _NETWORK_IS_RECENT_GAMER_NAMES_REQUEST_IN_PROGRESS
 */
global.NetworkIsRecentGamerNamesRequestInProgress = function () {
	return _in(0x4664d213, 0xa0ccaf40, _r, _ri);
};
global.N_0x4664d213a0ccaf40 = global.NetworkIsRecentGamerNamesRequestInProgress;

/**
 * NETWORK_IS_RESETTING_POPULATION
 */
global.NetworkIsResettingPopulation = function () {
	return _in(0x1bb50cd3, 0x40a996e6, _r, _ri);
};
global.N_0x1bb50cd340a996e6 = global.NetworkIsResettingPopulation;

/**
 * NETWORK_IS_SCRIPT_ACTIVE
 */
global.NetworkIsScriptActive = function (scriptName, p1, p2, p3) {
	return _in(0x9d40df90, 0xfad26098, _ts(scriptName), p1, p2, p3, _r);
};

/**
 * NETWORK_IS_SCRIPT_ACTIVE_BY_HASH
 */
global.NetworkIsScriptActiveByHash = function (scriptHash, p1, p2, p3) {
	return _in(0x1b89bc43, 0xb6e69107, _ch(scriptHash), p1, p2, p3, _r, _ri);
};
global.N_0x1b89bc43b6e69107 = global.NetworkIsScriptActiveByHash;

/**
 * NETWORK_IS_SESSION_ACTIVE
 */
global.NetworkIsSessionActive = function () {
	return _in(0xd83c2b94, 0xe7508980, _r);
};

/**
 * NETWORK_IS_SESSION_STARTED
 */
global.NetworkIsSessionStarted = function () {
	return _in(0x9de624d2, 0xfc4b603f, _r);
};

/**
 * NETWORK_IS_SIGNED_ONLINE
 */
global.NetworkIsSignedOnline = function () {
	return _in(0x1077788e, 0x268557c2, _r);
};

/**
 * _NETWORK_IS_THREAD_ACTIVE
 */
global.NetworkIsThreadActive = function (threadId) {
	return _in(0x31dad2cd, 0x6d49546e, threadId, _r, _ri);
};
global.N_0x31dad2cd6d49546e = global.NetworkIsThreadActive;

/**
 * _NETWORK_IS_TRACKED_PLAYER_VISIBLE
 */
global.NetworkIsTrackedPlayerVisible = function (player, trackedPlayer) {
	return _in(0xe525878a, 0x35b9eebd, player, trackedPlayer, _r, _ri);
};
global.N_0xe525878a35b9eebd = global.NetworkIsTrackedPlayerVisible;

/**
 * NETWORK_IS_TUNABLE_CLOUD_REQUEST_PENDING
 */
global.NetworkIsTunableCloudRequestPending = function () {
	return _in(0x0467c11e, 0xd88b7d28, _r);
};

/**
 * NETWORK_IS_TUTORIAL_SESSION_CHANGE_PENDING
 */
global.NetworkIsTutorialSessionChangePending = function () {
	return _in(0x35f0b98a, 0x8387274d, _r);
};

/**
 * banTimeSeconds is 120 in R* Scripts
 */
global.NetworkKickGangMember = function (player, banTimeSeconds) {
	return _in(0xcd9e2d9b, 0xc52fd80f, player, banTimeSeconds);
};
global.N_0xcd9e2d9bc52fd80f = global.NetworkKickGangMember;

/**
 * _NETWORK_LEAVE_GANG
 */
global.NetworkLeaveGang = function (disband) {
	return _in(0x0a04a07b, 0xc3074edb, disband);
};
global.N_0x0a04a07bc3074edb = global.NetworkLeaveGang;

/**
 * Returns false if pedshot push failed
 */
global.NetworkPersonaPhotoWriteLocal = function (texture, playerSlot, p2, personaPhotoLocalCacheType) {
	return _in(0x2a48d956, 0x7940598f, _ts(texture), playerSlot, p2, personaPhotoLocalCacheType, _r, _ri);
};
global.N_0x2a48d9567940598f = global.NetworkPersonaPhotoWriteLocal;

/**
 * Returns false if pedshot push failed
 */
global.NetworkPersonaPhotoWriteScProfile = function (texture, personaPhotoType, formatIndex) {
	return _in(0xb72999d3, 0x120599df, _ts(texture), personaPhotoType, formatIndex, _r, _ri);
};
global.N_0xb72999d3120599df = global.NetworkPersonaPhotoWriteScProfile;

/**
 * Does exactly the same thing as PLAYER_ID()
 */
global.NetworkPlayerIdToInt = function () {
	return _in(0x8a9386f0, 0x749a17fa, _r, _ri);
};

/**
 * NETWORK_PREVENT_SCRIPT_HOST_MIGRATION
 */
global.NetworkPreventScriptHostMigration = function () {
	return _in(0x2302c026, 0x4ea58d31);
};
global.N_0x2302c0264ea58d31 = global.NetworkPreventScriptHostMigration;

/**
 * NETWORK_REFRESH_CURRENT_FRIEND_PAGE
 */
global.NetworkRefreshCurrentFriendPage = function () {
	return _in(0x1f51f367, 0xb710a832, _r, _ri);
};
global.N_0x1f51f367b710a832 = global.NetworkRefreshCurrentFriendPage;

/**
 * NETWORK_REGISTER_ENTITY_AS_NETWORKED
 */
global.NetworkRegisterEntityAsNetworked = function (entity) {
	return _in(0x06faacd6, 0x25d80caa, entity);
};

/**
 * NETWORK_REGISTER_HOST_BROADCAST_VARIABLES
 */
global.NetworkRegisterHostBroadcastVariables = function (p0, p1, p2) {
	return _in(0x3e9b2f01, 0xc50df595, p0, p1, p2);
};

/**
 * NETWORK_REGISTER_PLAYER_BROADCAST_VARIABLES
 */
global.NetworkRegisterPlayerBroadcastVariables = function (p0, p1, p2) {
	return _in(0x3364aa97, 0x340ca215, p0, p1, p2);
};

/**
 * _NETWORK_REMOVE_FRIEND
 */
global.NetworkRemoveFriend = function (gamerHandle) {
	return _in(0x55f618f6, 0x8ab854d3, _ii(gamerHandle) /* may be optional */, _r, _ri);
};
global.N_0x55f618f68ab854d3 = global.NetworkRemoveFriend;

/**
 * Note: this native was added in build 1311.23, but was only used after build 1436.25
 * ```
 * ```
 * NativeDB Introduced: v1311
 */
global.NetworkRequestCloudTunables = function () {
	return _in(0x42fb3b53, 0x2d526e6c);
};

/**
 * _NETWORK_REQUEST_CONTROL_OF_ANIM_SCENE
 */
global.NetworkRequestControlOfAnimScene = function (animScene) {
	return _in(0xaaa92b63, 0x1b13f614, animScene, _r, _ri);
};
global.N_0xaaa92b631b13f614 = global.NetworkRequestControlOfAnimScene;

/**
 * NETWORK_REQUEST_CONTROL_OF_ENTITY
 */
global.NetworkRequestControlOfEntity = function (entity) {
	return _in(0xb69317bf, 0x5e782347, entity, _r);
};

/**
 * NETWORK_REQUEST_CONTROL_OF_NETWORK_ID
 */
global.NetworkRequestControlOfNetworkId = function (netId) {
	return _in(0xa670b366, 0x2faffbd0, netId, _r);
};

/**
 * NativeDB Introduced: v1311
 */
global.NetworkRequestControlOfPickupPlacement = function (p0) {
	return _in(0x56ed2c48, 0x558dab78, p0, _r);
};

/**
 * Returns true if join succeeded, false if failed.
 */
global.NetworkRequestGangJoin = function (gangId) {
	return _in(0xc0474c8b, 0xcf6787ad, gangId, _r, _ri);
};
global.N_0xc0474c8bcf6787ad = global.NetworkRequestGangJoin;

/**
 * NETWORK_REQUEST_JOIN
 */
global.NetworkRequestJoin = function (p0) {
	return _in(0xe483bb6b, 0xe686f632, p0, _r, _ri);
};
global.N_0xe483bb6be686f632 = global.NetworkRequestJoin;

/**
 * NETWORK_REQUEST_RECENT_GAMER_NAMES
 */
global.NetworkRequestRecentGamerNames = function (p0, playerCount) {
	return _in(0x6d206d38, 0x3bb5f6b1, p0, playerCount, _r, _ri);
};
global.N_0x6d206d383bb5f6b1 = global.NetworkRequestRecentGamerNames;

/**
 * flags:
 * enum eSessionRequestOptionFlags
 * {
 * SESSION_REQUEST_OPTION_FLAG_INCLUDE_GANG_MEMBERS = (1 << 1),
 * SESSION_REQUEST_OPTION_FLAG_LEADER_KEEPS_GANG = (1 << 7),
 * };
 * seamlessType:
 * enum eSeamlessType
 * {
 * SEAMLESS_TYPE_NORMAL,
 * SEAMLESS_TYPE_PVE,
 * SEAMLESS_TYPE_DEV,
 * SEAMLESS_TYPE_NO_SEAMLESS
 * };
 */
global.NetworkRequestSessionSeamless = function (flags, seamlessType, sessionRequestId) {
	return _in(0x04019ae4, 0x956d4393, flags, seamlessType, _ii(sessionRequestId) /* may be optional */, _r, _ri);
};
global.N_0x04019ae4956d4393 = global.NetworkRequestSessionSeamless;

/**
 * NETWORK_RESET_POPULATION
 */
global.NetworkResetPopulation = function (p0, p1) {
	return _in(0x101f538c, 0x25abb39a, p0, p1, _r, _ri);
};
global.N_0x101f538c25abb39a = global.NetworkResetPopulation;

/**
 * NETWORK_RESURRECT_LOCAL_PLAYER
 */
global.NetworkResurrectLocalPlayer = function (x, y, z, heading, p4, p5, p6, p7) {
	return _in(0xea23c49e, 0xaa83acfb, _fv(x), _fv(y), _fv(z), _fv(heading), p4, p5, p6, p7);
};

/**
 * _NETWORK_RESURRECT_LOCAL_PLAYER_2
 */
global.NetworkResurrectLocalPlayer_2 = function (args) {
	return _in(0x4154b7d8, 0xc75e5dcf, _ii(args) /* may be optional */);
};
global.N_0x4154b7d8c75e5dcf = global.NetworkResurrectLocalPlayer_2;

/**
 * NETWORK_SEED_RANDOM_NUMBER_GENERATOR
 */
global.NetworkSeedRandomNumberGenerator = function (seed) {
	return _in(0xf1b84178, 0xf8674195, seed);
};
global.N_0xf1b84178f8674195 = global.NetworkSeedRandomNumberGenerator;

/**
 * _NETWORK_SEND_SESSION_INVITE
 */
global.NetworkSendSessionInvite = function (contentId, dataSize, p4, flags) {
	return _in(0xe47001b7, 0xcb8b98ae, _i, _ts(contentId), _i, dataSize, p4, flags, _r, _ri);
};
global.N_0xe47001b7cb8b98ae = global.NetworkSendSessionInvite;

/**
 * enum eSessionFlags
 * {
 * SESSION_FLAG_NONE = 0,
 * SF_INSTANCE = (1 << 0),
 * SF_MATCH = (1 << 1),
 * SF_PRIVATE = (1 << 2),
 * SF_BLOCK_INVITES = (1 << 3),
 * SF_BLOCK_JOIN_VIA_PRESENCE = (1 << 4),
 * SF_BLOCK_NON_HOST_INVITES = (1 << 5),
 * SF_BLOCK_IN_PROGRESS_MATCHMAKING_BACKFILL = (1 << 6),
 * SF_BLOCK_IN_GAMEPLAY_MATCHMAKING_BACKFILL = (1 << 7),
 * SF_BLOCK_INVITES_TEMPORARY = (1 << 8),
 * SF_IN_GAMEPLAY = (1 << 9),
 * SF_COMPETITIVE = (1 << 10),
 * SF_MATCHMAKING_BACKFILL_IS_BLOCKED = (1 << 11)
 * };
 */
global.NetworkSessionAddSessionFlags = function (flags) {
	return _in(0xe546bda1, 0xb3e288ee, flags, _r, _ri);
};
global.N_0xe546bda1b3e288ee = global.NetworkSessionAddSessionFlags;

/**
 * Note: this native was added in build 1311.23
 * ```
 * ```
 * NativeDB Introduced: v1311
 */
global.NetworkSessionAreSessionIdsEqual = function () {
	return _in(0x4dec5000, 0xf7b508f0, _i, _i, _r);
};

/**
 * _NETWORK_SESSION_CANCEL_REQUEST
 */
global.NetworkSessionCancelRequest = function (sessionRequestId) {
	return _in(0xe72e5c12, 0x89bd1f40, _ii(sessionRequestId) /* may be optional */, _r, _ri);
};
global.N_0xe72e5c1289bd1f40 = global.NetworkSessionCancelRequest;

/**
 * NETWORK_SESSION_GET_SESSION_FLAGS
 */
global.NetworkSessionGetSessionFlags = function () {
	return _in(0x51f33dbc, 0x1a41cbfd, _r, _ri);
};
global.N_0x51f33dbc1a41cbfd = global.NetworkSessionGetSessionFlags;

/**
 * Note: this native was added in build 1311.23
 * ```
 * ```
 * NativeDB Introduced: v1311
 */
global.NetworkSessionGetSessionId = function (sessionId) {
	return _in(0xe9b356c3, 0x30c0a806, _ii(sessionId) /* may be optional */);
};

/**
 * Returns result of session request:
 * 0 - NOT_FOUND
 * 1 - IN_PROGRESS
 * 2 - TIMEOUT
 * 3 - PLAYER_OFFLINE
 * 4 - GANG_MEMBERS_CHANGED
 * 5 - PLAYER_CANCELLED
 * 6 - PLAYER_SET_TOO_LARGE
 * 7 - MATCH_ACCEPTED
 * 8 - OTHER
 */
global.NetworkSessionGetSessionRequestResult = function () {
	return _in(0x0dd051b1, 0xbf4b8bd6, _i, _i, _r, _ri);
};
global.N_0x0dd051b1bf4b8bd6 = global.NetworkSessionGetSessionRequestResult;

/**
 * NETWORK_SESSION_GET_SESSION_TYPE
 */
global.NetworkSessionGetSessionType = function () {
	return _in(0xf0c0c94b, 0x404206fa, _r, _ri);
};
global.N_0xf0c0c94b404206fa = global.NetworkSessionGetSessionType;

/**
 * NETWORK_SESSION_IS_ANY_REQUEST_IN_PROGRESS
 */
global.NetworkSessionIsAnyRequestInProgress = function () {
	return _in(0xbaffde5f, 0x953720d9, _r, _ri);
};
global.N_0xbaffde5f953720d9 = global.NetworkSessionIsAnyRequestInProgress;

/**
 * _NETWORK_SESSION_IS_NSRR_SUCCESS
 */
global.NetworkSessionIsNsrrSuccess = function (sessionRequestId) {
	return _in(0x0f44a5c7, 0x8d114922, _ii(sessionRequestId) /* may be optional */, _r, _ri);
};
global.N_0x0f44a5c78d114922 = global.NetworkSessionIsNsrrSuccess;

/**
 * Checks for session flag 'SF_PRIVATE'
 */
global.NetworkSessionIsPrivate = function () {
	return _in(0xcef70aa5, 0xb3f89ba1, _r);
};

/**
 * NETWORK_SESSION_IS_REQUEST_IN_PROGRESS
 */
global.NetworkSessionIsRequestInProgress = function (sessionRequestId) {
	return _in(0x8fb7c254, 0xcfcbf78e, _ii(sessionRequestId) /* may be optional */, _r, _ri);
};
global.N_0x8fb7c254cfcbf78e = global.NetworkSessionIsRequestInProgress;

/**
 * _NETWORK_SESSION_IS_REQUEST_IN_PROGRESS_BY_QUEUE_GROUP
 */
global.NetworkSessionIsRequestInProgressByQueueGroup = function (queueGroup) {
	return _in(0x9e762a59, 0x5cf88e4a, queueGroup, _r, _ri);
};
global.N_0x9e762a595cf88e4a = global.NetworkSessionIsRequestInProgressByQueueGroup;

/**
 * NETWORK_SESSION_IS_REQUEST_PENDING_TRANSITION
 */
global.NetworkSessionIsRequestPendingTransition = function (sessionRequestId) {
	return _in(0xccf878d5, 0x0f8ab10d, _ii(sessionRequestId) /* may be optional */, _r, _ri);
};
global.N_0xccf878d50f8ab10d = global.NetworkSessionIsRequestPendingTransition;

/**
 * NETWORK_SESSION_IS_SESSION_REQUEST_ID_VALID
 */
global.NetworkSessionIsSessionRequestIdValid = function (sessionRequestId) {
	return _in(0x2f54b146, 0xd3edce4d, _ii(sessionRequestId) /* may be optional */, _r, _ri);
};
global.N_0x2f54b146d3edce4d = global.NetworkSessionIsSessionRequestIdValid;

/**
 * NETWORK_SESSION_IS_TRANSITIONING
 */
global.NetworkSessionIsTransitioning = function () {
	return _in(0xf2cbc969, 0xc4f090c7, _r, _ri);
};
global.N_0xf2cbc969c4f090c7 = global.NetworkSessionIsTransitioning;

/**
 * NETWORK_SESSION_LEAVE_SESSION
 */
global.NetworkSessionLeaveSession = function () {
	return _in(0x17c21b73, 0x19a05047, _r);
};
global.NetworkSessionLeave = global.NetworkSessionLeaveSession;

/**
 * NETWORK_SESSION_LEFT_QUEUE_OR_REQUESTED_SESSION
 */
global.NetworkSessionLeftQueueOrRequestedSession = function (sessionRequestId) {
	return _in(0xece6a0c1, 0xb59cd8be, _ii(sessionRequestId) /* may be optional */, _r, _ri);
};
global.N_0xece6a0c1b59cd8be = global.NetworkSessionLeftQueueOrRequestedSession;

/**
 * Only used in R* Script net_rolling_playlist
 * ```
 * ```
 * NativeDB Introduced: v1436
 */
global.NetworkSessionPlaylistGetUpcomingContent = function () {
	return _in(0x8f9db6cd, 0x03b42b58);
};

/**
 * Only used in R* Script net_rolling_playlist
 * ```
 * ```
 * NativeDB Introduced: v1436
 */
global.NetworkSessionPlaylistGoToNextContent = function () {
	return _in(0xbde605f9, 0x25b07127);
};

/**
 * _NETWORK_SESSION_REMOVE_PLAYER_FLAGS
 */
global.NetworkSessionRemovePlayerFlags = function (flags) {
	return _in(0x3215bbe3, 0x4d3418c5, flags, _r, _ri);
};
global.N_0x3215bbe34d3418c5 = global.NetworkSessionRemovePlayerFlags;

/**
 * See _NETWORK_SESSION_ADD_SESSION_FLAGS
 */
global.NetworkSessionRemoveSessionFlags = function (flags) {
	return _in(0x78335e12, 0xdb0bf961, flags, _r, _ri);
};
global.N_0x78335e12db0bf961 = global.NetworkSessionRemoveSessionFlags;

/**
 * matchType:
 * enum eMatchType
 * {
 * MATCHTYPE_DEPRECATED,
 * MATCHTYPE_UGCPLAYLIST,
 * MATCHTYPE_UGCMISSION,
 * MATCHTYPE_MINIGAME,
 * MATCHTYPE_SEAMLESS,
 * MATCHTYPE_PRIVATE_DO_NOT_USE
 * };
 */
global.NetworkSessionRequestSessionCompetitive = function (flags, matchType, userHash, p3, sessionRequestId) {
	return _in(0x309bbebe, 0xa8a3986c, flags, matchType, userHash, p3, _ii(sessionRequestId) /* may be optional */, _r, _ri);
};
global.N_0x309bbebea8a3986c = global.NetworkSessionRequestSessionCompetitive;

/**
 * NativeDB Introduced: v1436
 */
global.NetworkSessionRequestSessionNominated = function (flags, userHash, p2, sessionRequestId) {
	return _in(0x4f467245, 0x7ff597d1, flags, userHash, p2, _ii(sessionRequestId) /* may be optional */, _r);
};

/**
 * category:
 * enum eOnCallType
 * {
 * NETWORK_SESSION_REQUEST_ON_CALL_TYPE_STORY = 2,
 * NETWORK_SESSION_REQUEST_ON_CALL_TYPE_MATCH = 3
 * };
 */
global.NetworkSessionRequestSessionOnCall = function (flags, category, userHash) {
	return _in(0x23d9c1f2, 0xe4098edc, flags, category, _i, userHash, _i, _r, _ri);
};
global.N_0x23d9c1f2e4098edc = global.NetworkSessionRequestSessionOnCall;

/**
 * Session flag 'SF_PRIVATE' is set internally
 * p1 represents max amount of players in private session
 */
global.NetworkSessionRequestSessionPrivate = function (flags, numPlayers, userHash, sessionRequestId) {
	return _in(0x39a8ef7a, 0xf29a192c, flags, numPlayers, userHash, _ii(sessionRequestId) /* may be optional */, _r, _ri);
};
global.N_0x39a8ef7af29a192c = global.NetworkSessionRequestSessionPrivate;

/**
 * Equivalent to NETWORK_REQUEST_SESSION_SEAMLESS if userHash == 0.
 * Otherwise it is equivalent to NETWORK_SESSION_REQUEST_SESSION_COMPETITIVE(flags, MATCHTYPE_SEAMLESS, userHash, 0, sessionRequestId);
 * p1 is unused
 */
global.NetworkSessionRequestSessionSeamless = function (flags, seamlessType, userHash, sessionRequestId) {
	return _in(0x2989e131, 0xfde37e97, flags, seamlessType, userHash, _ii(sessionRequestId) /* may be optional */, _r, _ri);
};
global.N_0x2989e131fde37e97 = global.NetworkSessionRequestSessionSeamless;

/**
 * _NETWORK_SESSION_SET_PLAYER_FLAGS
 */
global.NetworkSessionSetPlayerFlags = function (flags) {
	return _in(0x0ae241a4, 0xa9adeeec, flags, _r, _ri);
};
global.N_0x0ae241a4a9adeeec = global.NetworkSessionSetPlayerFlags;

/**
 * _NETWORK_SESSION_TRANSITION_TO_SESSION
 */
global.NetworkSessionTransitionToSession = function (sessionRequestId) {
	return _in(0xf20b18a3, 0x30e6db5c, _ii(sessionRequestId) /* may be optional */, _r, _ri);
};
global.N_0xf20b18a330e6db5c = global.NetworkSessionTransitionToSession;

/**
 * NETWORK_SET_COMPLETED_MP_INTRO_FLOW_ON_CURRENT_SLOT
 */
global.NetworkSetCompletedMpIntroFlowOnCurrentSlot = function (completed) {
	return _in(0x2c5bd9a4, 0x3987aa27, completed, _r, _ri);
};
global.N_0x2c5bd9a43987aa27 = global.NetworkSetCompletedMpIntroFlowOnCurrentSlot;

/**
 * if set to true other network players can't see it
 * if set to false other network player can see it
 * =========================================
 * ^^ I attempted this by grabbing an object with GET_ENTITY_PLAYER_IS_FREE_AIMING_AT and setting this naive no matter the toggle he could still see it.
 * pc or last gen?
 * ^^ last-gen
 */
global.NetworkSetEntityOnlyExistsForParticipants = function (entity, toggle) {
	return _in(0xf1ca12b1, 0x8aef5298, entity, toggle);
};
global.NetworkSetEntityInvisibleToNetwork = global.NetworkSetEntityOnlyExistsForParticipants;

/**
 * NETWORK_SET_ENTITY_REMAINS_WHEN_UNNETWORKED
 */
global.NetworkSetEntityRemainsWhenUnnetworked = function (entity, toggle) {
	return _in(0xd7858647, 0x98258032, entity, toggle);
};
global.N_0xd785864798258032 = global.NetworkSetEntityRemainsWhenUnnetworked;

/**
 * NETWORK_SET_FRIENDLY_FIRE_OPTION
 */
global.NetworkSetFriendlyFireOption = function (toggle) {
	return _in(0xf808475f, 0xa571d823, toggle);
};

/**
 * _NETWORK_SET_GANG_PRIVACY
 */
global.NetworkSetGangPrivacy = function (privacyType) {
	return _in(0xc5bf29f4, 0x035277c2, privacyType, _r, _ri);
};
global.N_0xc5bf29f4035277c2 = global.NetworkSetGangPrivacy;

/**
 * _NETWORK_SET_GANG_SIZE
 */
global.NetworkSetGangSize = function (size) {
	return _in(0x833d8268, 0xd51b4522, size, _r, _ri);
};
global.N_0x833d8268d51b4522 = global.NetworkSetGangSize;

/**
 * NETWORK_SET_IN_MP_CUTSCENE
 */
global.NetworkSetInMpCutscene = function (p0, p1, p2, p3) {
	return _in(0x9ca5de65, 0x5269fec4, p0, p1, p2, p3);
};

/**
 * NETWORK_SET_IN_SPECTATOR_MODE
 */
global.NetworkSetInSpectatorMode = function (toggle, playerPed) {
	return _in(0x423de385, 0x4bb50894, toggle, playerPed);
};

/**
 * _NETWORK_SET_IN_STATIC_SPECTATOR_MODE
 */
global.NetworkSetInStaticSpectatorMode = function (toggle, x, y, z) {
	return _in(0xfbf1ecfb, 0x39a77b5f, toggle, _fv(x), _fv(y), _fv(z));
};

/**
 * NETWORK_SET_LOCAL_PLAYER_INVINCIBLE_TIME
 */
global.NetworkSetLocalPlayerInvincibleTime = function (time) {
	return _in(0x2d95c7e2, 0xd7e07307, time);
};

/**
 * NETWORK_SET_LOCAL_PLAYER_PENDING_FAST_INSTANCE_ID
 */
global.NetworkSetLocalPlayerPendingFastInstanceId = function (instanceId) {
	return _in(0x007ff852, 0xdcf49da4, instanceId);
};
global.N_0x007ff852dcf49da4 = global.NetworkSetLocalPlayerPendingFastInstanceId;

/**
 * NETWORK_SET_LOCAL_PLAYER_SYNC_LOOK_AT
 */
global.NetworkSetLocalPlayerSyncLookAt = function (toggle) {
	return _in(0x524ff0ae, 0xff9c3973, toggle);
};

/**
 * NETWORK_SET_MISSION_FINISHED
 */
global.NetworkSetMissionFinished = function () {
	return _in(0x3b3d11cd, 0x9ffcdfc9);
};

/**
 * NETWORK_SET_MP_MISSION_FLAG_ON_CURRENT_SLOT
 */
global.NetworkSetMpMissionFlagOnCurrentSlot = function (enabled, flagIndex) {
	return _in(0x86fd1025, 0x1a7118a4, enabled, flagIndex, _r, _ri);
};
global.N_0x86fd10251a7118a4 = global.NetworkSetMpMissionFlagOnCurrentSlot;

/**
 * NETWORK_SET_PLAYER_IS_PASSIVE
 */
global.NetworkSetPlayerIsPassive = function (toggle) {
	return _in(0x9c25e8ec, 0x4c535fbd, toggle);
};
global.N_0x9c25e8ec4c535fbd = global.NetworkSetPlayerIsPassive;

/**
 * NETWORK_SET_RECENT_GAMERS_ENABLED
 */
global.NetworkSetRecentGamersEnabled = function (toggle) {
	return _in(0x29fe035d, 0x35b8589c, toggle);
};
global.N_0x29fe035d35b8589c = global.NetworkSetRecentGamersEnabled;

/**
 * NETWORK_SET_RICH_PRESENCE
 */
global.NetworkSetRichPresence = function (p0, p2, p3) {
	return _in(0x1dccacdc, 0xfc569362, p0, _i, p2, p3);
};

/**
 * NETWORK_SET_SCRIPT_IS_SAFE_FOR_NETWORK_GAME
 */
global.NetworkSetScriptIsSafeForNetworkGame = function () {
	return _in(0x3d0eac63, 0x85dd6100);
};

/**
 * NETWORK_SET_SCRIPT_READY_FOR_EVENTS
 */
global.NetworkSetScriptReadyForEvents = function (toggle) {
	return _in(0x7ac75210, 0x3856fb20, toggle);
};
global.N_0x7ac752103856fb20 = global.NetworkSetScriptReadyForEvents;

/**
 * NETWORK_SET_THIS_SCRIPT_IS_NETWORK_SCRIPT
 */
global.NetworkSetThisScriptIsNetworkScript = function (maxNumMissionParticipants, p1, instanceId) {
	return _in(0x1ca59e30, 0x6ecb80a5, maxNumMissionParticipants, p1, instanceId);
};

/**
 * Hardcoded to return false.
 */
global.NetworkShouldShowPromotionDlg = function () {
	return _in(0xda4b1a47, 0x9c414fb2, _r, _ri);
};
global.N_0xda4b1a479c414fb2 = global.NetworkShouldShowPromotionDlg;

/**
 * NETWORK_SHOW_ACCOUNT_UPGRADE_UI
 */
global.NetworkShowAccountUpgradeUi = function () {
	return _in(0x83fe8d72, 0x29593017);
};
global.N_0x83fe8d7229593017 = global.NetworkShowAccountUpgradeUi;

/**
 * nullsub, doesn't do anything
 */
global.NetworkShowChatRestrictionMsc = function (player) {
	return _in(0x6bff5f84, 0x102df80a, player);
};
global.N_0x6bff5f84102df80a = global.NetworkShowChatRestrictionMsc;

/**
 * NETWORK_SHOW_PROFILE_UI
 */
global.NetworkShowProfileUi = function (gamerHandle) {
	return _in(0x859ed1ce, 0xa343fca8, _ii(gamerHandle) /* may be optional */);
};

/**
 * nullsub, doesn't do anything
 */
global.NetworkShowPsnUgcRestriction = function () {
	return _in(0x5c497525, 0xf803486b);
};
global.N_0x5c497525f803486b = global.NetworkShowPsnUgcRestriction;

/**
 * _NETWORK_SPAWN_CONFIG_ADD_EXCLUSION_VOLUME
 */
global.NetworkSpawnConfigAddExclusionVolume = function (volume) {
	return _in(0xeeb7818b, 0x1d307212, volume);
};
global.N_0xeeb7818b1d307212 = global.NetworkSpawnConfigAddExclusionVolume;

/**
 * _NETWORK_SPAWN_CONFIG_ADD_PROPERTY_PREFERENCE
 */
global.NetworkSpawnConfigAddPropertyPreference = function (configProperty, include, weight) {
	return _in(0xeb6027fd, 0x1b4600d5, configProperty, include, _fv(weight));
};
global.N_0xeb6027fd1b4600d5 = global.NetworkSpawnConfigAddPropertyPreference;

/**
 * _NETWORK_SPAWN_CONFIG_ADD_PROPERTY_SCRIPTED
 */
global.NetworkSpawnConfigAddPropertyScripted = function (configProperty, include) {
	return _in(0x44d59ec5, 0x97bbf348, configProperty, include);
};
global.N_0x44d59ec597bbf348 = global.NetworkSpawnConfigAddPropertyScripted;

/**
 * _NETWORK_SPAWN_CONFIG_ADD_SPAWN_POINT
 */
global.NetworkSpawnConfigAddSpawnPoint = function (x, y, z, heading) {
	return _in(0xfd1ac0b3, 0x858f224c, _fv(x), _fv(y), _fv(z), _fv(heading));
};
global.N_0xfd1ac0b3858f224c = global.NetworkSpawnConfigAddSpawnPoint;

/**
 * _NETWORK_SPAWN_CONFIG_REMOVE_EXCLUSION_VOLUME
 */
global.NetworkSpawnConfigRemoveExclusionVolume = function (volume) {
	return _in(0xa35e7bf2, 0x0fa269e0, volume);
};
global.N_0xa35e7bf20fa269e0 = global.NetworkSpawnConfigRemoveExclusionVolume;

/**
 * _NETWORK_SPAWN_CONFIG_SEARCH_IN_PROGRESS
 */
global.NetworkSpawnConfigSearchInProgress = function () {
	return _in(0x89ec2fc8, 0x9ecb1005, _r, _ri);
};
global.N_0x89ec2fc89ecb1005 = global.NetworkSpawnConfigSearchInProgress;

/**
 * _NETWORK_SPAWN_CONFIG_SET_CANCEL_SEARCH
 */
global.NetworkSpawnConfigSetCancelSearch = function () {
	return _in(0x765e60a1, 0xdcb8b1ce);
};
global.N_0x765e60a1dcb8b1ce = global.NetworkSpawnConfigSetCancelSearch;

/**
 * NETWORK_SPAWN_CONFIG_SET_FLAGS
 */
global.NetworkSpawnConfigSetFlags = function (flags) {
	return _in(0xf94a0d5b, 0x254375df, flags);
};
global.N_0xf94a0d5b254375df = global.NetworkSpawnConfigSetFlags;

/**
 * NETWORK_SPAWN_CONFIG_SET_GROUND_TO_ROOT_OFFSET
 */
global.NetworkSpawnConfigSetGroundToRootOffset = function (offset) {
	return _in(0x59577799, 0xf6ae2f34, _fv(offset));
};
global.N_0x59577799f6ae2f34 = global.NetworkSpawnConfigSetGroundToRootOffset;

/**
 * _NETWORK_SPAWN_CONFIG_SET_LEVEL_WATER_DEPTH
 */
global.NetworkSpawnConfigSetLevelWaterDepth = function (waterDepthLevel) {
	return _in(0xbdcc671b, 0x911040f9, waterDepthLevel);
};
global.N_0xbdcc671b911040f9 = global.NetworkSpawnConfigSetLevelWaterDepth;

/**
 * NETWORK_SPAWN_CONFIG_SET_TUNING_FLOAT
 */
global.NetworkSpawnConfigSetTuningFloat = function (p0, p1) {
	return _in(0x0608326f, 0x7b98c08d, _ch(p0), _fv(p1));
};
global.N_0x0608326f7b98c08d = global.NetworkSpawnConfigSetTuningFloat;

/**
 * openStatus = true -> sets privacyType = 2 (PUBLIC_ADVERTISED)
 * openStatus = false -> sets privacyType = 1 (INVITE_ONLY)
 * campSize: NET_CAMP_SIZE_SMALLEST = 4, NET_CAMP_SIZE_LARGEST = 7
 */
global.NetworkStartGang = function (openStatus, campSize) {
	return _in(0xd1a226f2, 0xe05e58fc, openStatus, campSize);
};
global.N_0xd1a226f2e05e58fc = global.NetworkStartGang;

/**
 * NETWORK_START_SOLO_TUTORIAL_SESSION
 */
global.NetworkStartSoloTutorialSession = function () {
	return _in(0x17e0198b, 0x3882c2cb);
};

/**
 * Always returns -1. Seems to be XB1 specific.
 */
global.NetworkStartUserContentPermissionsCheck = function (gamerHandle) {
	return _in(0xdeb2b99a, 0x1af1a2a6, _ii(gamerHandle) /* may be optional */, _r, _ri);
};
global.N_0xdeb2b99a1af1a2a6 = global.NetworkStartUserContentPermissionsCheck;

/**
 * NETWORK_TRIGGER_DAMAGE_EVENT_FOR_ZERO_DAMAGE
 */
global.NetworkTriggerDamageEventForZeroDamage = function (entity, p1) {
	return _in(0x0c8bc052, 0xae87d744, entity, p1);
};
global.NetworkSetVehicleWheelsDestructible = global.NetworkTriggerDamageEventForZeroDamage;

/**
 * NETWORK_TRY_ACCESS_TUNABLE_BOOL_HASH
 */
global.NetworkTryAccessTunableBoolHash = function (tunableContext, tunableName, defaultValue) {
	return _in(0xb2ad5d29, 0xa99d4b26, _ch(tunableContext), _ch(tunableName), defaultValue, _r);
};
global.NetworkTryAccessTunableBool = global.NetworkTryAccessTunableBoolHash;

/**
 * NETWORK_TRY_ACCESS_TUNABLE_FLOAT_HASH
 */
global.NetworkTryAccessTunableFloatHash = function (tunableContext, tunableName, defaultValue) {
	return _in(0xa1839308, 0x9c05e49c, _ch(tunableContext), _ch(tunableName), _fv(defaultValue), _r, _rf);
};
global.NetworkTryAccessTunableFloat = global.NetworkTryAccessTunableFloatHash;

/**
 * NETWORK_TRY_ACCESS_TUNABLE_INT_HASH
 */
global.NetworkTryAccessTunableIntHash = function (tunableContext, tunableName, defaultValue) {
	return _in(0xa25e006b, 0x36719774, _ch(tunableContext), _ch(tunableName), defaultValue, _r, _ri);
};
global.NetworkTryAccessTunableInt = global.NetworkTryAccessTunableIntHash;

/**
 * NEXT_ONSCREEN_KEYBOARD_RESULT_WILL_DISPLAY_USING_THESE_FONTS
 */
global.NextOnscreenKeyboardResultWillDisplayUsingTheseFonts = function (fontBitField) {
	return _in(0x5cb71eaa, 0x1429a358, fontBitField);
};
global.N_0x5cb71eaa1429a358 = global.NextOnscreenKeyboardResultWillDisplayUsingTheseFonts;

/**
 * Returns amount of suppressed crimes to be used later in the function MPINTRO_CRIME_MONITOR_MAINTAIN
 */
global.NumCrimesSuppressed = function (player, crimeType) {
	return _in(0xc08e804c, 0x91f47c80, player, _ch(crimeType), _r, _ri);
};
global.N_0xc08e804c91f47c80 = global.NumCrimesSuppressed;

/**
 * Returns the network ID of the given object.
 */
global.ObjToNet = function (object) {
	return _in(0x99bfdc94, 0xa603e541, object, _r, _ri);
};

/**
 * ONLY_CLEAN_UP_OBJECT_WHEN_OUT_OF_RANGE
 */
global.OnlyCleanUpObjectWhenOutOfRange = function (object) {
	return _in(0xadbe4809, 0xf19f927a, object);
};
global.MarkObjectForDeletion = global.OnlyCleanUpObjectWhenOutOfRange;

/**
 * OPEN_PATROL_ROUTE
 */
global.OpenPatrolRoute = function (patrolRoute) {
	return _in(0xa36bfb5e, 0xe89f3d82, _ts(patrolRoute));
};

/**
 * OPEN_SEQUENCE_TASK
 */
global.OpenSequenceTask = function (taskSequenceId) {
	return _in(0xe8854a43, 0x26b9e12b, _ii(taskSequenceId) /* may be optional */);
};

/**
 * Hardcoded to return true.
 */
global.OpenVideoEditor = function () {
	return _in(0xb3f28299, 0x07403c13, _r, _ri);
};
global.N_0xb3f2829907403c13 = global.OpenVideoEditor;

/**
 * OVERRIDE_SAVE_HOUSE
 */
global.OverrideSaveHouse = function (override, x, y, z, heading, isAutosave) {
	return _in(0xb2c69e11, 0xa37b5af0, override, _fv(x), _fv(y), _fv(z), _fv(heading), isAutosave, _v, _f, _r);
};

/**
 * _PARSEDDATA_GET_BOOL
 */
global.ParseddataGetBool = function (p2) {
	return _in(0xa63cd20f, 0x19b961ab, _i /* actually bool */, _i, _ch(p2), _r, _ri);
};
global.N_0xa63cd20f19b961ab = global.ParseddataGetBool;

/**
 * Returns false when there are no entries.
 */
global.ParseddataGetEntries = function (p0) {
	return _in(0xed4413ce, 0xe1bf142c, _ii(p0) /* may be optional */, _r, _ri);
};
global.N_0xed4413cee1bf142c = global.ParseddataGetEntries;

/**
 * Opens file.
 */
global.ParseddataGetFile = function (p0) {
	return _in(0x91ded5dd, 0x64bb2691, _ii(p0) /* may be optional */);
};
global.N_0x91ded5dd64bb2691 = global.ParseddataGetFile;

/**
 * _PARSEDDATA_GET_FLOAT
 */
global.ParseddataGetFloat = function (p2) {
	return _in(0xb2b42607, 0xf7867576, _i, _i, _ch(p2), _r, _ri);
};
global.N_0xb2b42607f7867576 = global.ParseddataGetFloat;

/**
 * _PARSEDDATA_GET_INT
 */
global.ParseddataGetInt = function (p2) {
	return _in(0x52fc26d2, 0xd2fc2987, _i, _i, _ch(p2), _r, _ri);
};
global.N_0x52fc26d2d2fc2987 = global.ParseddataGetInt;

/**
 * _PARSEDDATA_GET_NUM_CHILDREN
 */
global.ParseddataGetNumChildren = function (p0, p1) {
	return _in(0x6beb168d, 0x5195e7ab, p0, p1, _r, _ri);
};
global.DatafileGetNumChildren = global.ParseddataGetNumChildren;

/**
 * _PARSEDDATA_GET_SECTION
 */
global.ParseddataGetSection = function (section) {
	return _in(0x44b3a369, 0x33ac009c, _i, _i, _ch(section), _r, _ri);
};
global.N_0x44b3a36933ac009c = global.ParseddataGetSection;

/**
 * PARSEDDATA_IS_FILE_LOADED
 */
global.ParseddataIsFileLoaded = function (fileHandle) {
	return _in(0x603ac35f, 0xd4602c76, fileHandle, _r, _ri);
};
global.N_0x603ac35fd4602c76 = global.ParseddataIsFileLoaded;

/**
 * PARSEDDATA_IS_FILE_VALID
 */
global.ParseddataIsFileValid = function (fileHandle) {
	return _in(0x79079694, 0x97ea92f5, fileHandle, _r, _ri);
};
global.N_0x7907969497ea92f5 = global.ParseddataIsFileValid;

/**
 * LOAD_PARSEDDATA_FILE_FAILSAFE_HASH
 * Returns parseddata script fileHandle
 */
global.ParseddataLoadFileHash = function (p0) {
	return _in(0xd97d8d90, 0x5f1562f2, _ch(p0), _r, _ri);
};
global.N_0xd97d8d905f1562f2 = global.ParseddataLoadFileHash;

/**
 * _PARSEDDATA_REGISTER_QUERY
 */
global.ParseddataRegisterQuery = function (p0, p1, p2) {
	return _in(0xae156a74, 0x7c39a741, p0, p1, p2, _r, _ri);
};
global.DatafileRegisterQuery = global.ParseddataRegisterQuery;

/**
 * _PARSEDDATA_RQ_FILLOUT_BOOL
 */
global.ParseddataRqFilloutBool = function () {
	return _in(0x0d9138f3, 0xf8261df7, _i /* actually bool */, _i, _r, _ri);
};
global.DatafileGetBool = global.ParseddataRqFilloutBool;

/**
 * _PARSEDDATA_RQ_FILLOUT_FLOAT
 */
global.ParseddataRqFilloutFloat = function () {
	return _in(0x7f034fc3, 0xe891b57a, _f, _i, _r, _ri);
};
global.DatafileGetFloat = global.ParseddataRqFilloutFloat;

/**
 * PARSEDDATA_RQ_FILLOUT_HASH
 */
global.ParseddataRqFilloutHash = function () {
	return _in(0xfbff3ff2, 0xf5e80c0b, _i, _i, _r, _ri);
};
global.DatafileGetHash = global.ParseddataRqFilloutHash;

/**
 * _PARSEDDATA_RQ_FILLOUT_INT
 */
global.ParseddataRqFilloutInt = function () {
	return _in(0xef44acc6, 0x57352a35, _i, _i, _r, _ri);
};
global.DatafileGetInt = global.ParseddataRqFilloutInt;

/**
 * PARSEDDATA_RQ_FILLOUT_NODE
 */
global.ParseddataRqFilloutNode = function () {
	return _in(0x83c3ed53, 0x2b6e5d07, _i, _i, _r, _ri);
};
global.DatafileGetDataNodeIndex = global.ParseddataRqFilloutNode;

/**
 * NativeDB Introduced: v1232
 */
global.ParseddataRqFilloutString_127 = function (p0, p1) {
	return _in(0x95132743, 0x5dc5164b, _ts(p0), _ii(p1) /* may be optional */, _r);
};

/**
 * _PARSEDDATA_RQ_FILLOUT_STRING_63
 */
global.ParseddataRqFilloutString_63 = function (p0, p1) {
	return _in(0x08eaf8e9, 0xf2eb7b2e, _ts(p0), _ii(p1) /* may be optional */, _r, _ri);
};
global.DatafileGetString = global.ParseddataRqFilloutString_63;

/**
 * _PARSEDDATA_RQ_FILLOUT_VECTOR
 */
global.ParseddataRqFilloutVector = function () {
	return _in(0x06fbf89b, 0x12da279c, _v, _i, _r, _ri);
};
global.DatafileGetVector = global.ParseddataRqFilloutVector;

/**
 * _PARSEDDATA_RQ_GET_NUM_NODES
 */
global.ParseddataRqGetNumNodes = function (p0) {
	return _in(0xdf01b1f7, 0xa886b42d, p0, _r, _ri);
};
global.DatafileGetNumNodes = global.ParseddataRqGetNumNodes;

/**
 * _PARSEDDATA_UNLOAD_FILE
 */
global.ParseddataUnloadFile = function (fileHandle) {
	return _in(0x129567f0, 0xc05f81b9, fileHandle);
};
global.DatafileUnload = global.ParseddataUnloadFile;

/**
 * Return the local Participant ID
 */
global.ParticipantId = function () {
	return _in(0x90986e88, 0x76ce0a83, _r, _ri);
};

/**
 * Return the local Participant ID.
 * This native is exactly the same as 'PARTICIPANT_ID' native.
 */
global.ParticipantIdToInt = function () {
	return _in(0x57a3bdda, 0xd8e5aa0a, _r, _ri);
};

/**
 * p0 is always BOUNTYHUNTERSGLOBALCOOLDOWN in R* scripts
 */
global.PauseBountyHunterCooldown = function (p0, p1, p2) {
	return _in(0xc61edebf, 0x16cd9668, _ch(p0), p1, p2);
};
global.N_0xc61edebf16cd9668 = global.PauseBountyHunterCooldown;

/**
 * _PAUSE_CAMERA_FOCUS
 */
global.PauseCameraFocus = function (cam, pause) {
	return _in(0x9f97e85e, 0xc142255e, cam, pause);
};
global.N_0x9f97e85ec142255e = global.PauseCameraFocus;

/**
 * PAUSE_CLOCK
 */
global.PauseClock = function (toggle, unused) {
	return _in(0x4d1a590c, 0x92bf377e, toggle, unused);
};

/**
 * _PAUSE_CLOCK_THIS_FRAME
 */
global.PauseClockThisFrame = function (toggle) {
	return _in(0x568d998a, 0x9ff96774, toggle);
};

/**
 * PAUSE_DEATH_ARREST_RESTART
 */
global.PauseDeathArrestRestart = function (toggle) {
	return _in(0x66ab6b6c, 0x7e72f393, toggle);
};

/**
 * _PAUSE_ENTITY_TRACKING
 */
global.PauseEntityTracking = function (entity, pause) {
	return _in(0x36eb4d34, 0xd4a092c5, entity, pause);
};
global.N_0x36eb4d34d4a092c5 = global.PauseEntityTracking;

/**
 * Pauses all script threads except the one that called it.
 */
global.PauseScriptThreads = function (toggle) {
	return _in(0x37c12578, 0x49def24a, toggle);
};
global.N_0x37c1257849def24a = global.PauseScriptThreads;

/**
 * PAUSE_SCRIPTED_CONVERSATION
 */
global.PauseScriptedConversation = function (p0, p1, p2, p3, p4) {
	return _in(0x8530ad77, 0x6cd72b12, _ts(p0), p1, p2, p3, p4);
};

/**
 * _PED_CLEAR_LOCO_MOTION
 */
global.PedClearLocoMotion = function (ped) {
	return _in(0x935cf6e4, 0x2baf7f4d, ped);
};
global.N_0x935cf6e42baf7f4d = global.PedClearLocoMotion;

/**
 * PED_COWER_IN_PLACE
 */
global.PedCowerInPlace = function (ped, ped2) {
	return _in(0xf6e1e9f4, 0x7a7686f8, ped, ped2);
};

/**
 * PED_COWER_MOVE_TO_POINT
 */
global.PedCowerMoveToPoint = function (ped, p1, p2, p3, ped2, p5) {
	return _in(0x1e4c9402, 0x33fc0c6f, ped, _fv(p1), _fv(p2), _fv(p3), ped2, _fv(p5));
};

/**
 * _PED_DUELING_DID_PLAYER_HEADSHOT_OPPONENT
 */
global.PedDuelingDidPlayerHeadshotOpponent = function (ped) {
	return _in(0xbd6b242b, 0x8bd5543a, ped, _r, _ri);
};
global.N_0xbd6b242b8bd5543a = global.PedDuelingDidPlayerHeadshotOpponent;

/**
 * target: 0 affects everyone
 * duration: -1 indefinite
 * flag: always 4 in R* Scripts
 */
global.PedEmotionalPresetLocoMotion = function (ped, presetName, targetPed, duration, flag) {
	return _in(0xaab050da, 0x48b57978, ped, _ts(presetName), targetPed, duration, flag);
};
global.N_0xaab050da48b57978 = global.PedEmotionalPresetLocoMotion;

/**
 * _PED_FISHINGROD_HOOK_ENTITY
 */
global.PedFishingrodHookEntity = function (ped, entity) {
	return _in(0x1a52076d, 0x26e09004, ped, entity);
};
global.N_0x1a52076d26e09004 = global.PedFishingrodHookEntity;

/**
 * Used with 'P_BODYPARTARMFLOAT02X' model in fishing_core.c
 */
global.PedFishingrodHookObject = function (ped, object) {
	return _in(0xce71c2f9, 0xbaa3f975, ped, object);
};
global.N_0xce71c2f9baa3f975 = global.PedFishingrodHookObject;

/**
 * PED_HAS_USE_SCENARIO_TASK
 */
global.PedHasUseScenarioTask = function (ped) {
	return _in(0x295e3cce, 0xc879ccd7, ped, _r);
};

/**
 * _PED_IS_IN_SCENARIO_BASE
 */
global.PedIsInScenarioBase = function (ped) {
	return _in(0x02ebbb39, 0x89b7e695, ped, _r, _ri);
};
global.N_0x02ebbb3989b7e695 = global.PedIsInScenarioBase;

/**
 * Returns the network ID of the given ped.
 */
global.PedToNet = function (ped) {
	return _in(0x0edec3c2, 0x76198689, ped, _r, _ri);
};

/**
 * _PED_WAS_KILLED_BY_HEADSHOT
 */
global.PedWasKilledByHeadshot = function (ped) {
	return _in(0x06fa94c8, 0x35787c64, ped, _r);
};
global.N_0x06fa94c835787c64 = global.PedWasKilledByHeadshot;

/**
 * _PEDMUGSHOT_GET_STATUS
 */
global.PedmugshotGetStatus = function () {
	return _in(0xcbac13f0, 0x65c47596, _r, _ri);
};
global.N_0xcbac13f065c47596 = global.PedmugshotGetStatus;

/**
 * _PEDMUGSHOT_REQUEST_SEND
 */
global.PedmugshotRequestSend = function () {
	return _in(0xfbc30b70, 0xb3cdb87e, _r, _ri);
};
global.N_0xfbc30b70b3cdb87e = global.PedmugshotRequestSend;

/**
 * _PEDMUGSHOT_TAKE
 */
global.PedmugshotTake = function () {
	return _in(0xcd954f33, 0x0693f5f2, _r, _ri);
};
global.N_0xcd954f330693f5f2 = global.PedmugshotTake;

/**
 * _PEDSHOT_FINISH_CLEANUP_DATA
 */
global.PedshotFinishCleanupData = function () {
	return _in(0xc2b8164c, 0x3be871a4);
};
global.N_0xc2b8164c3be871a4 = global.PedshotFinishCleanupData;

/**
 * _PEDSHOT_GENERATE_PERSONA_PHOTO
 */
global.PedshotGeneratePersonaPhoto = function (texture, ped, playerSlot) {
	return _in(0xd9c24f53, 0x631f2372, _ts(texture), ped, playerSlot, _r);
};
global.N_0xd9c24f53631f2372 = global.PedshotGeneratePersonaPhoto;

/**
 * _PEDSHOT_INIT_CLEANUP_DATA
 */
global.PedshotInitCleanupData = function () {
	return _in(0x55285f88, 0x5f662169);
};
global.N_0x55285f885f662169 = global.PedshotInitCleanupData;

/**
 * PEDSHOT_IS_AVAILABLE
 */
global.PedshotIsAvailable = function () {
	return _in(0xaf6e67d0, 0x73d2dce2, _r, _ri);
};
global.N_0xaf6e67d073d2dce2 = global.PedshotIsAvailable;

/**
 * _PEDSHOT_PREVIOUS_PERSONA_PHOTO_DATA_CLEANUP
 */
global.PedshotPreviousPersonaPhotoDataCleanup = function () {
	return _in(0x3e2fddbe, 0x435a8787);
};
global.N_0x3e2fddbe435a8787 = global.PedshotPreviousPersonaPhotoDataCleanup;

/**
 * _PEDSHOT_SET_PERSONA_PHOTO_TYPE
 */
global.PedshotSetPersonaPhotoType = function (personaPhotoLocalCacheType) {
	return _in(0x196d3acb, 0xeba4a44b, personaPhotoLocalCacheType);
};
global.N_0x196d3acbeba4a44b = global.PedshotSetPersonaPhotoType;

/**
 * PERSISTENCE_ADD_SCENARIO_LOOTED
 */
global.PersistenceAddScenarioLooted = function (scenario) {
	return _in(0x8245c1f3, 0x262f4ac2, scenario);
};
global.N_0x8245c1f3262f4ac2 = global.PersistenceAddScenarioLooted;

/**
 * _PERSISTENCE_IS_SCENARIO_MARKED_AS_LOOTED
 */
global.PersistenceIsScenarioMarkedAsLooted = function (scenario) {
	return _in(0xfb7cf1de, 0x938a3e22, scenario, _r, _ri);
};
global.N_0xfb7cf1de938a3e22 = global.PersistenceIsScenarioMarkedAsLooted;

/**
 * _PERSISTENCE_IS_SCENARIO_MARKED_AS_LOOTED_AT_COORDS
 */
global.PersistenceIsScenarioMarkedAsLootedAtCoords = function (x, y, z) {
	return _in(0xb6e1a185, 0xc2b9319a, _fv(x), _fv(y), _fv(z), _r, _ri);
};
global.N_0xb6e1a185c2b9319a = global.PersistenceIsScenarioMarkedAsLootedAtCoords;

/**
 * _PERSISTENCE_IS_SCENARIO_MARKED_AS_LOOTED_AT_COORDS_WITH_MODEL
 */
global.PersistenceIsScenarioMarkedAsLootedAtCoordsWithModel = function (x, y, z, model) {
	return _in(0x18831361, 0x6d184213, _fv(x), _fv(y), _fv(z), _ch(model), _r, _ri);
};
global.N_0x188313616d184213 = global.PersistenceIsScenarioMarkedAsLootedAtCoordsWithModel;

/**
 * Only used in R* script long_update.ysc in script function REFRESH_CLOSEST_TOWN
 */
global.PersistenceRefreshTownVolume = function (volume) {
	return _in(0xefb5f34c, 0xc0953b27, volume);
};
global.N_0xefb5f34cc0953b27 = global.PersistenceRefreshTownVolume;

/**
 * PERSISTENCE_REMOVE_ALL_ENTITIES_IN_AREA
 */
global.PersistenceRemoveAllEntitiesInArea = function (x, y, z, radius) {
	return _in(0x9d16896f, 0x0dbe78a2, _fv(x), _fv(y), _fv(z), _fv(radius));
};
global.N_0x9d16896f0dbe78a2 = global.PersistenceRemoveAllEntitiesInArea;

/**
 * PIN_CLOSEST_MAP_ENTITY
 */
global.PinClosestMapEntity = function (modelHash, x, y, z, flags) {
	return _in(0x6f306825, 0x8a499e52, _ch(modelHash), _fv(x), _fv(y), _fv(z), flags, _r, _ri);
};
global.N_0x6f3068258a499e52 = global.PinClosestMapEntity;

/**
 * PIN_INTERIOR_IN_MEMORY
 */
global.PinInteriorInMemory = function (interior) {
	return _in(0xbd3d33ea, 0xbf680168, interior);
};

/**
 * PLACE_ENTITY_ON_GROUND_PROPERLY
 */
global.PlaceEntityOnGroundProperly = function (entity, p1) {
	return _in(0x9587913b, 0x9e772d29, entity, p1, _r, _ri);
};
global.N_0x9587913b9e772d29 = global.PlaceEntityOnGroundProperly;

/**
 * PLACE_OBJECT_ON_GROUND_PROPERLY
 */
global.PlaceObjectOnGroundProperly = function (object, p1) {
	return _in(0x58a850ea, 0xee20faa3, object, p1, _r);
};

/**
 * PLAY_AMBIENT_SPEECH_FROM_POSITION_NATIVE
 */
global.PlayAmbientSpeechFromPositionNative = function (x, y, z, params) {
	return _in(0xed640017, 0xed337e45, _fv(x), _fv(y), _fv(z), _ii(params) /* may be optional */, _r, _ri);
};
global.PlayAmbientSpeechAtCoords = global.PlayAmbientSpeechFromPositionNative;

/**
 * PLAY_ANIM_ON_RUNNING_SCENARIO
 */
global.PlayAnimOnRunningScenario = function (ped, animDict, animName) {
	return _in(0x74804046, 0x0f8df5dc, ped, _ts(animDict), _ts(animName));
};

/**
 * PLAY_ANIMAL_VOCALIZATION
 */
global.PlayAnimalVocalization = function (ped, vocalizationName, p2) {
	return _in(0xee066c70, 0x06c49c0a, ped, _ts(vocalizationName), p2);
};

/**
 * NativeDB Introduced: v1311
 */
global.PlayAnimalVocalizationPheromoneVialResponse = function (ped, p1, p2) {
	return _in(0x0e53530d, 0x9b2db01d, ped, _ch(p1), p2);
};

/**
 * PLAY_CAM_ANIM
 */
global.PlayCamAnim = function (cam, animName, animDictionary, x, y, z, xRot, yRot, zRot, animFlags, rotOrder) {
	return _in(0xa263ddf6, 0x94d563f6, cam, _ts(animName), _ts(animDictionary), _fv(x), _fv(y), _fv(z), _fv(xRot), _fv(yRot), _fv(zRot), animFlags, rotOrder, _r);
};

/**
 * PLAY_END_CREDITS_MUSIC
 */
global.PlayEndCreditsMusic = function (play) {
	return _in(0xcd536c4d, 0x33dcc900, play);
};

/**
 * https://github.com/femga/rdr3_discoveries/tree/master/animations
 */
global.PlayEntityAnim = function (entity, animName, animDict, p3, loop, stayInAnim, p6, delta, bitset) {
	return _in(0xdc6d22fa, 0xb76d4874, entity, _ts(animName), _ts(animDict), _fv(p3), loop, stayInAnim, p6, _fv(delta), bitset, _r);
};

/**
 * PLAY_ENTITY_SCRIPTED_ANIM
 */
global.PlayEntityScriptedAnim = function (entity, args) {
	return _in(0x77a1eec5, 0x47e7fcf1, entity, _ii(args) /* may be optional */);
};

/**
 * Valid pain IDs: 0..12
 */
global.PlayPain = function (ped, painId, p2, p3, isNetwork) {
	return _in(0xbc9ae166, 0x038a5cec, ped, painId, _fv(p2), p3, isNetwork);
};

/**
 * struct ScriptedSpeechParams
 * {
 * const char* speechName;
 * const char* voiceName;
 * alignas(8) int variation;
 * alignas(8) Hash speechParamHash;
 * alignas(8) Ped listenerPed;
 * alignas(8) BOOL syncOverNetwork;
 * alignas(8) int v7;
 * alignas(8) int v8;
 * };
 * static_assert(sizeof(ScriptedSpeechParams) == 0x40, "incorrect ScriptedSpeechParams size");
 * Example:
 * ScriptedSpeechParams params{"RE_PH_RHD_V3_AGGRO", "0405_U_M_M_RhdSheriff_01", 1, joaat("SPEECH_PARAMS_BEAT_SHOUTED_CLEAR"), 0, true, 1, 1};
 * PLAY_PED_AMBIENT_SPEECH_NATIVE(PLAYER_PED_ID(), (Any*)&params);
 * https://github.com/femga/rdr3_discoveries/tree/master/audio/audio_banks
 */
global.PlayPedAmbientSpeechNative = function (speaker, params) {
	return _in(0x8e04fedd, 0x28d42462, speaker, _ii(params) /* may be optional */, _r, _ri);
};
global.PlayAmbientSpeech1 = global.PlayPedAmbientSpeechNative;

/**
 * PLAY_SOUND
 */
global.PlaySound = function (audioName, audioRef, p2, p3, p4, p5) {
	return _in(0x7ff4944c, 0xc209192d, _ts(audioName), _ts(audioRef), p2, p3, p4, p5);
};

/**
 * PLAY_SOUND_FROM_ENTITY
 */
global.PlaySoundFromEntity = function (audioName, entity, audioRef, isNetwork, p4, p5) {
	return _in(0x6fb1da3c, 0xa9da7d90, _ts(audioName), entity, _ts(audioRef), isNetwork, p4, p5);
};
global.N_0x6fb1da3ca9da7d90 = global.PlaySoundFromEntity;

/**
 * Params: p5 seems to be always 0
 */
global.PlaySoundFromEntityWithSet = function (soundId, soundName, entity, soundsetName, p4, p5) {
	return _in(0xf1c5310f, 0xeaa36b48, soundId, _ts(soundName), entity, _ts(soundsetName), p4, p5);
};
global.N_0xf1c5310feaa36b48 = global.PlaySoundFromEntityWithSet;

/**
 * item: value returned from 0x2E1CDC1FF3B8473E
 * soundSet: HUD_SHOP_SOUNDSET, COMPANIONS_ROBBERIES_SOUNDSET
 */
global.PlaySoundFromItem = function (item, soundSet, p2) {
	return _in(0xe8eaff7b, 0x41edd291, _ch(item), _ch(soundSet), p2);
};
global.N_0xe8eaff7b41edd291 = global.PlaySoundFromItem;

/**
 * _PLAY_SOUND_FROM_POSITION
 */
global.PlaySoundFromPosition = function (audioName, x, y, z, audioRef, isNetwork, p6, p7, p8) {
	return _in(0xcce219c9, 0x22737bfa, _ts(audioName), _fv(x), _fv(y), _fv(z), _ts(audioRef), isNetwork, p6, p7, p8);
};
global.N_0xcce219c922737bfa = global.PlaySoundFromPosition;

/**
 * Starts Audio Loop
 * _PLAY_SOUND_FROM_ENTITY* - _PLAY_SOUND_FRONTEND*
 */
global.PlaySoundFromPositionWithId = function (soundId, soundName, x, y, z, soundsetName, p6, p7, p8) {
	return _in(0xdcf5ba95, 0xbbf0faba, soundId, _ts(soundName), _fv(x), _fv(y), _fv(z), _ts(soundsetName), p6, p7, p8);
};
global.N_0xdcf5ba95bbf0faba = global.PlaySoundFromPositionWithId;

/**
 * https://github.com/femga/rdr3_discoveries/tree/master/audio/frontend_soundsets
 */
global.PlaySoundFrontend = function (audioName, audioRef, p2, p3) {
	return _in(0x67c540aa, 0x08e4a6f5, _ts(audioName), _ts(audioRef), p2, p3);
};

/**
 * _PLAY_SOUND_FRONTEND_WITH_SOUND_ID
 */
global.PlaySoundFrontendWithSoundId = function (soundId, name, soundSet, p3) {
	return _in(0xce5d0ffe, 0x83939af1, soundId, _ts(name), _ts(soundSet), p3);
};
global.N_0xce5d0ffe83939af1 = global.PlaySoundFrontendWithSoundId;

/**
 * PLAY_STREAM_FROM_PED
 */
global.PlayStreamFromPed = function (ped, streamId) {
	return _in(0x89049dd6, 0x3c08b5d1, ped, streamId);
};

/**
 * PLAY_STREAM_FROM_POSITION
 */
global.PlayStreamFromPosition = function (x, y, z, streamId) {
	return _in(0x21442f41, 0x2e8de56b, _fv(x), _fv(y), _fv(z), streamId);
};

/**
 * PLAY_STREAM_FRONTEND
 */
global.PlayStreamFrontend = function (streamId) {
	return _in(0x58fce434, 0x88f9f5f4, streamId);
};

/**
 * This returns YOUR 'identity' as a Player type.
 * Always returns 0 in story mode.
 */
global.PlayerId = function () {
	return _in(0x217e9dc4, 0x8139933d, _r, _ri);
};

/**
 * Returns current player ped
 */
global.PlayerPedId = function () {
	return _in(0x09627588, 0x9b8e0ee0, _r, _ri);
};

/**
 * POINT_CAM_AT_COORD
 */
global.PointCamAtCoord = function (cam, x, y, z) {
	return _in(0x948b3934, 0x1c3a40c2, cam, _fv(x), _fv(y), _fv(z));
};

/**
 * POINT_CAM_AT_ENTITY
 */
global.PointCamAtEntity = function (cam, entity, p2, p3, p4, p5) {
	return _in(0xfc2867e6, 0x074d3a61, cam, entity, _fv(p2), _fv(p3), _fv(p4), p5);
};

/**
 * Returns true if player is moving mouse while cursor is active
 * _PI* - _PO*
 * ```
 * ```
 * NativeDB Introduced: v1311
 */
global.PointerIsBeingMoved = function () {
	return _in(0x2b8b605f, 0x2a9e64bf, _r);
};
global.N_0x2b8b605f2a9e64bf = global.PointerIsBeingMoved;

/**
 * Returns true if player is holding LMB while cursor is active
 * _PI* - _PO*
 */
global.PointerIsLeftButtonHeld = function () {
	return _in(0x61cae9d1, 0xfd055e44, _r);
};
global.N_0x61cae9d1fd055e44 = global.PointerIsLeftButtonHeld;

/**
 * Returns true if player releases LMB if cursor is active
 * _PI* - _PO*
 */
global.PointerIsLeftButtonJustReleased = function () {
	return _in(0xf7f51a57, 0x349739f2, _r);
};
global.N_0xf7f51a57349739f2 = global.PointerIsLeftButtonJustReleased;

/**
 * _POKER_BUY_IN
 */
global.PokerBuyIn = function (p0, p1) {
	return _in(0xb4d610ea, 0x5a1fde74, p0, p1, _r, _ri);
};

/**
 * _POKER_CALL
 */
global.PokerCall = function (p0, p1) {
	return _in(0x8ded681b, 0x161ebd78, p0, p1, _r, _ri);
};

/**
 * _POKER_CHECK
 */
global.PokerCheck = function (p0, p1) {
	return _in(0x49a04562, 0x8d9b1b86, p0, p1, _r, _ri);
};

/**
 * _POKER_FOLD
 */
global.PokerFold = function (p0) {
	return _in(0x3dfab7d9, 0xbb45b5be, p0, _r, _ri);
};

/**
 * _POKER_GET_GAME_SETTINGS_FOR_ID
 */
global.PokerGetGameSettingsForId = function (p0) {
	return _in(0x2d20e12e, 0x1990d584, p0, _r, _ri);
};

/**
 * _POKER_RAISE
 */
global.PokerRaise = function (p0, p1) {
	return _in(0xeccf45a7, 0x9a17bb96, p0, p1, _r, _ri);
};

/**
 * _POKER_REVEAL
 */
global.PokerReveal = function (p0) {
	return _in(0x2f2131db, 0x0a8b02dc, p0, _r, _ri);
};

/**
 * spawns a few distant/out-of-sight peds, vehicles, animals etc each time it is called
 */
global.PopulateNow = function () {
	return _in(0xea6dc3a8, 0xadd2005f);
};

/**
 * POSSE_GET_POSSE_MEMBERSHIP_COUNT
 */
global.PosseGetPosseMembershipCount = function () {
	return _in(0xc088ff65, 0x8b2e51da, _r, _ri);
};
global.N_0xc088ff658b2e51da = global.PosseGetPosseMembershipCount;

/**
 * POW
 */
global.Pow = function (base, exponent) {
	return _in(0xe3621cc4, 0x0f31fe2e, _fv(base), _fv(exponent), _r, _rf);
};

/**
 * PREFETCH_SRL
 */
global.PrefetchSrl = function (srl) {
	return _in(0x354837e5, 0xa5baa5af, _ts(srl));
};

/**
 * PRELOAD_SCRIPT_CONVERSATION
 */
global.PreloadScriptConversation = function (convoRoot, p1, p2, clone) {
	return _in(0x3b3cad61, 0x66916d87, _ts(convoRoot), p1, p2, clone);
};

/**
 * PREPARE_MUSIC_EVENT
 */
global.PrepareMusicEvent = function (eventName) {
	return _in(0x1e5185b7, 0x2ef5158a, _ts(eventName), _r);
};

/**
 * PREPARE_SOUND
 */
global.PrepareSound = function (soundName, soundsetName, soundId) {
	return _in(0xe368e842, 0x2c860ba7, _ts(soundName), _ts(soundsetName), soundId, _r, _ri);
};
global.N_0xe368e8422c860ba7 = global.PrepareSound;

/**
 * PREPARE_SOUND_WITH_ENTITY
 */
global.PrepareSoundWithEntity = function (soundName, entity, soundsetName, soundId) {
	return _in(0x4ad01959, 0x1e94c064, _ts(soundName), entity, _ts(soundsetName), soundId, _r, _ri);
};
global.N_0x4ad019591e94c064 = global.PrepareSoundWithEntity;

/**
 * https://github.com/femga/rdr3_discoveries/tree/master/audio/soundsets
 */
global.PrepareSoundset = function (soundsetName, p1) {
	return _in(0xd9130842, 0xd7226045, _ts(soundsetName), p1, _r, _ri);
};
global.N_0xd9130842d7226045 = global.PrepareSoundset;

/**
 * PREVENT_COLLECTION_OF_PORTABLE_PICKUP
 */
global.PreventCollectionOfPortablePickup = function (object, p1, p2) {
	return _in(0x92aefb5f, 0x6e294023, object, p1, p2);
};
global.N_0x92aefb5f6e294023 = global.PreventCollectionOfPortablePickup;

/**
 * PREVENT_MIGRATION_OF_ENTITIES_IN_FAST_INSTANCE_FOR_LOCAL_PLAYER
 */
global.PreventMigrationOfEntitiesInFastInstanceForLocalPlayer = function (toggle) {
	return _in(0x89d803cd, 0x48622150, toggle);
};
global.N_0x89d803cd48622150 = global.PreventMigrationOfEntitiesInFastInstanceForLocalPlayer;

/**
 * PREVENT_NETWORK_ID_MIGRATION
 */
global.PreventNetworkIdMigration = function (netId) {
	return _in(0x7182edda, 0x1ee7db5a, netId);
};
global.N_0x7182edda1ee7db5a = global.PreventNetworkIdMigration;

/**
 * Scope entry for profiler.
 * @param scopeName Scope name.
 */
global.ProfilerEnterScope = function (scopeName) {
	return _in(0x00000000, 0xc795a4a9, _ts(scopeName));
};

/**
 * Scope exit for profiler.
 */
global.ProfilerExitScope = function () {
	return _in(0x00000000, 0xb39ca35c);
};

/**
 * Returns true if the profiler is active.
 * @return True or false.
 */
global.ProfilerIsRecording = function () {
	return _in(0x00000000, 0xf8b7d7bb, _r);
};

/**
 * _PROPSET_TO_NET
 */
global.PropsetToNet = function (propSet) {
	return _in(0x74f99ef7, 0xef503398, propSet, _r, _ri);
};
global.N_0x74f99ef7ef503398 = global.PropsetToNet;

/**
 * QUEUE_OPERATION_TO_CREATE_SORTED_LIST_OF_PHOTOS
 */
global.QueueOperationToCreateSortedListOfPhotos = function () {
	return _in(0xa42edf1e, 0x88734a7e, _r, _ri);
};
global.N_0xa42edf1e88734a7e = global.QueueOperationToCreateSortedListOfPhotos;

/**
 * p0 must be < 2
 */
global.QueueSavegameOperation = function (p0) {
	return _in(0x279b0696, 0xda4657eb, p0, _r, _ri);
};
global.N_0x279b0696da4657eb = global.QueueSavegameOperation;

/**
 * lookIntensity: see SET_PED_SHOULD_PLAY_FLEE_SCENARIO_EXIT
 * exitAnimation: LOOK_RETURN_GENERIC = 1,
 * LOOK_RETURN_DISMISSIVE = 2,
 * LOOK_RETURN_RELIEVED = 3
 */
global.ReactLookAt = function (ped, targetPed, lookIntensity, exitAnimation, duration, p5, targetPed2, p7, p8) {
	return _in(0xe7fa0762, 0x4574b79a, ped, targetPed, lookIntensity, exitAnimation, _fv(duration), p5, targetPed2, p7, p8);
};
global.N_0xe7fa07624574b79a = global.ReactLookAt;

/**
 * REACT_LOOK_AT_END
 */
global.ReactLookAtEnd = function (ped, exitAnimation, p2) {
	return _in(0x541e5b41, 0xdca45828, ped, exitAnimation, p2);
};
global.N_0x541e5b41dca45828 = global.ReactLookAtEnd;

/**
 * Called before starting a new thread_monitor script thread in startup_mp/startup_tlg
 * Alternative name _REGISTER_SCRIPT_BRAIN
 */
global.ReactivateAllObjectBrainsThatAreWaitingTillOutOfRange = function () {
	return _in(0xa32b0b05, 0xeff75730);
};
global.N_0xa32b0b05eff75730 = global.ReactivateAllObjectBrainsThatAreWaitingTillOutOfRange;

/**
 * REACTIVATE_NAMED_OBJECT_BRAINS_WAITING_TILL_OUT_OF_RANGE
 */
global.ReactivateNamedObjectBrainsWaitingTillOutOfRange = function (scriptName) {
	return _in(0x74c333e3, 0x4df74e8a, _ts(scriptName));
};
global.N_0x74c333e34df74e8a = global.ReactivateNamedObjectBrainsWaitingTillOutOfRange;

/**
 * Used to enable headshot kill replay when you headshot set ped.
 * Params: p1 seems to be 0 or 1 in R* Scripts
 */
global.ReactivatePedHeadshotExecuteSlowcam = function (ped, p1) {
	return _in(0x986f7a51, 0xee3e1f92, ped, p1);
};
global.N_0x986f7a51ee3e1f92 = global.ReactivatePedHeadshotExecuteSlowcam;

/**
 * Reads the passed value as floating point value and returns it.
 * Example: _READ_INT_AS_FLOAT(0x3F800000) returns 1.0f because 0x3F800000 is the hexadecimal representation of 1.0f.
 */
global.ReadIntAsFloat = function (value) {
	return _in(0xd2c91264, 0x10dfa1b2, value, _r, _rf);
};
global.N_0xd2c9126410dfa1b2 = global.ReadIntAsFloat;

/**
 * _REFILL_AMMO_IN_CLIP
 */
global.RefillAmmoInClip = function (ped, p2) {
	return _in(0xdf4a3404, 0xd022adde, ped, _i, p2, _r, _ri);
};
global.N_0xdf4a3404d022adde = global.RefillAmmoInClip;

/**
 * _REFILL_AMMO_IN_CURRENT_PED_WEAPON
 */
global.RefillAmmoInCurrentPedWeapon = function (ped) {
	return _in(0x0a2ab7b7, 0xabc055f4, ped, _r, _ri);
};
global.N_0x0a2ab7b7abc055f4 = global.RefillAmmoInCurrentPedWeapon;

/**
 * Returns loot state
 * enum eLootState
 * {
 * LAP_NONE,
 * LAP_RESUMING,
 * LAP_GETTING_ON_FOOT,
 * LAP_DISTANT_NAV,
 * LAP_CHOOSING_ACTION,
 * LAP_APPROACHING,
 * LAP_ENTERING,
 * LAP_LOOTING,
 * LAP_EXITING
 * };
 * _POSSE_* - _REGISTER_HATED*
 */
global.RefreshLootStateForPed = function (ped, p1, p3, p4) {
	return _in(0x5463c962, 0xbc7777c3, ped, p1, _i, p3, p4, _r, _ri);
};
global.N_0x5463c962bc7777c3 = global.RefreshLootStateForPed;

/**
 * p1 is always 1
 */
global.RefreshMetaPedShopItems = function (ped, p1) {
	return _in(0x59bd177a, 0x1a48600a, ped, p1);
};
global.N_0x59bd177a1a48600a = global.RefreshMetaPedShopItems;

/**
 * Registered commands can be executed by entering them in the client console (this works for client side and server side registered commands). Or by entering them in the server console/through an RCON client (only works for server side registered commands). Or if you use a supported chat resource, like the default one provided in the cfx-server-data repository, then you can enter the command in chat by prefixing it with a `/`.
 * Commands registered using this function can also be executed by resources, using the [`ExecuteCommand` native](#\_0x561C060B).
 * The restricted bool is not used on the client side. Permissions can only be checked on the server side, so if you want to limit your command with an ace permission automatically, make it a server command (by registering it in a server script).
 * **Example result**:
 * ![](https://i.imgur.com/TaCnG09.png)
 * @param commandName The command you want to register.
 * @param handler A handler function that gets called whenever the command is executed.
 * @param restricted If this is a server command and you set this to true, then players will need the command.yourCommandName ace permission to execute this command.
 */
global.RegisterCommand = function (commandName, handler, restricted) {
	return _in(0x00000000, 0x5fa79b0f, _ts(commandName), _mfr(handler), restricted);
};

/**
 * Used for setting up eagle eye for entity
 * Params: p2 = re-register or not?
 */
global.RegisterEagleEyeForEntity = function (player, entity, p2) {
	return _in(0x543dfe14, 0xbe720027, player, entity, p2);
};
global.N_0x543dfe14be720027 = global.RegisterEagleEyeForEntity;

/**
 * _REGISTER_EAGLE_EYE_TRAILS_FOR_ENTITY
 */
global.RegisterEagleEyeTrailsForEntity = function (player, entity, p2) {
	return _in(0xac67098a, 0x1e54abb0, player, entity, p2);
};
global.N_0xac67098a1e54abb0 = global.RegisterEagleEyeTrailsForEntity;

/**
 * Based on TASK_COMBAT_HATED_TARGETS_AROUND_PED, the parameters are likely similar (PedHandle, and area to attack in).
 */
global.RegisterHatedTargetsAroundPed = function (ped, radius) {
	return _in(0x9222f300, 0xbf8354fe, ped, _fv(radius));
};

/**
 * _REGISTER_HATED_TARGETS_IN_AREA
 */
global.RegisterHatedTargetsInArea = function (ped, x, y, z, radius) {
	return _in(0xd8736efd, 0xa38edc5c, ped, _fv(x), _fv(y), _fv(z), _fv(radius));
};
global.N_0xd8736efda38edc5c = global.RegisterHatedTargetsInArea;

/**
 * p3 is usually the same value of radius
 * p8 determines whether the ILO prompt is a lock on prompt with RMB
 */
global.RegisterInteractionLockonPrompt = function (entity, text, radius, p3, flag, p5, p6, prompt, p8, p9) {
	return _in(0x870708a6, 0xe147a9ad, entity, _ts(text), _fv(radius), _fv(p3), flag, _fv(p5), _fv(p6), prompt, p8, p9, _r, _ri);
};
global.N_0x870708a6e147a9ad = global.RegisterInteractionLockonPrompt;

/**
 * REGISTER_NAMED_RENDERTARGET
 */
global.RegisterNamedRendertarget = function (name, p1) {
	return _in(0x98af2bb6, 0xf62bd588, _ts(name), p1, _r);
};

/**
 * REGISTER_NUI_CALLBACK
 */
global.RegisterNuiCallback = function (callbackType, callback) {
	return _in(0x00000000, 0xc59b980c, _ts(callbackType), _mfr(callback));
};

/**
 * REGISTER_NUI_CALLBACK_TYPE
 */
global.RegisterNuiCallbackType = function (callbackType) {
	return _in(0x00000000, 0xcd03cda9, _ts(callbackType));
};

/**
 * Registers a script for any object with a specific model hash.
 */
global.RegisterObjectScriptBrain = function (scriptName, modelHash, p2, activationRange, p4, p5) {
	return _in(0x16af9b4e, 0xeac3b305, _ts(scriptName), _ch(modelHash), p2, _fv(activationRange), p4, p5);
};

/**
 * REGISTER_RAW_NUI_CALLBACK
 */
global.RegisterRawNuiCallback = function (callbackType, callback) {
	return _in(0x00000000, 0xa8ae9c2f, _ts(callbackType), _mfr(callback));
};

/**
 * An internal function which allows the current resource's HLL script runtimes to receive state for the specified event.
 * @param eventName An event name, or "\*" to disable HLL event filtering for this resource.
 */
global.RegisterResourceAsEventHandler = function (eventName) {
	return _in(0x00000000, 0xd233a168, _ts(eventName));
};

/**
 * nullsub, doesn't do anything
 */
global.RegisterScriptWithAudio = function (p0) {
	return _in(0xc6ed9d50, 0x92438d91, p0);
};

/**
 * REGISTER_TARGET
 */
global.RegisterTarget = function (ped, targetPed, p2) {
	return _in(0x2f25d9ae, 0xfa34fba2, ped, targetPed, p2);
};

/**
 * _RELEASE_ANIM_SCENE_PLAY_LIST
 */
global.ReleaseAnimScenePlayList = function (animScene, playlistName) {
	return _in(0xae6ada8f, 0xe7e84acc, animScene, _ts(playlistName), _r, _ri);
};
global.N_0xae6ada8fe7e84acc = global.ReleaseAnimScenePlayList;

/**
 * _RELEASE_LOCK_VOLUME
 */
global.ReleaseLockVolume = function (volLockRequestId) {
	return _in(0xfdfecc6e, 0xe4491e11, volLockRequestId);
};
global.N_0xfdfecc6ee4491e11 = global.ReleaseLockVolume;

/**
 * _RELEASE_META_PED_ASSET_REQUEST
 */
global.ReleaseMetaPedAssetRequest = function (requestId) {
	return _in(0x13e7320c, 0x762f0477, requestId);
};
global.N_0x13e7320c762f0477 = global.ReleaseMetaPedAssetRequest;
global.ReleaseMetapedAssetRequest = global.ReleaseMetaPedAssetRequest;

/**
 * _RELEASE_META_PED_OUTFIT_REQUEST
 */
global.ReleaseMetaPedOutfitRequest = function (requestId) {
	return _in(0x4592b8b9, 0xb0ef5f48, requestId);
};
global.N_0x4592b8b9b0ef5f48 = global.ReleaseMetaPedOutfitRequest;
global.ReleaseMetapedOutfitRequest = global.ReleaseMetaPedOutfitRequest;

/**
 * _RELEASE_META_PED_REQUEST
 */
global.ReleaseMetaPedRequest = function (requestId) {
	return _in(0x3972f78a, 0x78b5d9df, requestId);
};
global.N_0x3972f78a78b5d9df = global.ReleaseMetaPedRequest;
global.ReleaseMetapedPedRequest = global.ReleaseMetaPedRequest;

/**
 * RELEASE_NAMED_RENDERTARGET
 */
global.ReleaseNamedRendertarget = function (name) {
	return _in(0x0e692ee6, 0x1761361f, _ts(name), _r);
};

/**
 * RELEASE_NAMED_SCRIPT_AUDIO_BANK
 */
global.ReleaseNamedScriptAudioBank = function (audioBank) {
	return _in(0x77ed1706, 0x67f50170, _ts(audioBank));
};

/**
 * RELEASE_PED_VISIBILITY_TRACKING
 */
global.ReleasePedVisibilityTracking = function (ped) {
	return _in(0x3088634c, 0xf8c819cf, ped);
};
global.N_0x3088634cf8c819cf = global.ReleasePedVisibilityTracking;

/**
 * _RELEASE_PROP_SET
 */
global.ReleasePropSet = function (hash) {
	return _in(0xb1964a83, 0xb345b4ab, _ch(hash), _r, _ri);
};
global.N_0xb1964a83b345b4ab = global.ReleasePropSet;

/**
 * _RELEASE_ROPE
 */
global.ReleaseRope = function (ropeId) {
	return _in(0x60762131, 0x01a47b3b, ropeId);
};
global.N_0x6076213101a47b3b = global.ReleaseRope;

/**
 * RELEASE_SCRIPT_AUDIO_BANK
 */
global.ReleaseScriptAudioBank = function () {
	return _in(0x7a2d8ad0, 0xa9eb9c3f);
};

/**
 * _RELEASE_SHARD_SOUNDS
 */
global.ReleaseShardSounds = function (soundName, soundsetName) {
	return _in(0x9d746964, 0xe0cf2c5f, _ts(soundName), _ts(soundsetName));
};
global.N_0x9d746964e0cf2c5f = global.ReleaseShardSounds;

/**
 * RELEASE_SOUND_ID
 */
global.ReleaseSoundId = function (soundId) {
	return _in(0x353fc880, 0x830b88fa, soundId);
};

/**
 * _RELEASE_SOUNDSET
 */
global.ReleaseSoundset = function (soundsetName) {
	return _in(0x531a78d6, 0xbf27014b, _ts(soundsetName));
};
global.N_0x531a78d6bf27014b = global.ReleaseSoundset;

/**
 * Removes a texture created by 0xC5E7204F322E49EB.
 */
global.ReleaseTexture = function (textureId) {
	return _in(0x6befaa90, 0x7b076859, textureId);
};
global.N_0x6befaa907b076859 = global.ReleaseTexture;

/**
 * REMOVE_ALL_COVER_BLOCKING_AREAS
 */
global.RemoveAllCoverBlockingAreas = function () {
	return _in(0xdb6708c0, 0xb46f56d8);
};

/**
 * _REMOVE_ALL_PED_AMMO
 */
global.RemoveAllPedAmmo = function (ped) {
	return _in(0x1b83c0de, 0xebcbb214, ped);
};
global.N_0x1b83c0deebcbb214 = global.RemoveAllPedAmmo;

/**
 * REMOVE_ALL_PED_WEAPONS
 */
global.RemoveAllPedWeapons = function (ped, p1, p2) {
	return _in(0xf25df915, 0xfa38c5f3, ped, p1, p2);
};

/**
 * REMOVE_ALL_PICKUPS_OF_TYPE
 */
global.RemoveAllPickupsOfType = function (pickupHash) {
	return _in(0x27f9d613, 0x092159cf, _ch(pickupHash));
};

/**
 * REMOVE_ALL_SHOCKING_EVENTS
 */
global.RemoveAllShockingEvents = function (p0) {
	return _in(0xd47a168c, 0x2ab90dc4, p0);
};

/**
 * _REMOVE_ALL_SHOCKING_EVENTS_IN_AREA
 */
global.RemoveAllShockingEventsInArea = function (x, y, z, radius, p4) {
	return _in(0xb4c71ba9, 0xcab097bd, _fv(x), _fv(y), _fv(z), _fv(radius), p4);
};
global.N_0xb4c71ba9cab097bd = global.RemoveAllShockingEventsInArea;

/**
 * eventType: https://alloc8or.re/rdr3/doc/enums/eEventType.txt
 */
global.RemoveAllShockingEventsOfType = function (eventType, p1) {
	return _in(0x118873dd, 0x538490b4, _ch(eventType), p1);
};
global.N_0x118873dd538490b4 = global.RemoveAllShockingEventsOfType;

/**
 * eventType: https://alloc8or.re/rdr3/doc/enums/eEventType.txt
 */
global.RemoveAllShockingEventsOfTypeInArea = function (eventType, x, y, z, radius, p5) {
	return _in(0x6a648d42, 0xbf271dc7, _ch(eventType), _fv(x), _fv(y), _fv(z), _fv(radius), p5);
};
global.N_0x6a648d42bf271dc7 = global.RemoveAllShockingEventsOfTypeInArea;

/**
 * flags: see 0xB56D41A694E42E86
 */
global.RemoveAmbientAvoidanceRestriction = function (volume) {
	return _in(0x74c2b3dc, 0x0b294102, volume);
};
global.N_0x74c2b3dc0b294102 = global.RemoveAmbientAvoidanceRestriction;

/**
 * _REMOVE_AMBIENT_SPAWN_RESTRICTION
 */
global.RemoveAmbientSpawnRestriction = function (volume) {
	return _in(0xa1cfb350, 0x69d23c23, volume);
};
global.N_0xa1cfb35069d23c23 = global.RemoveAmbientSpawnRestriction;

/**
 * removeReason must be REMOVE_REASON_USED, REMOVE_REASON_GIVEN, REMOVE_REASON_DROPPED or REMOVE_REASON_DEBUG, unless amount is -1
 * removeReason: see REMOVE_WEAPON_FROM_PED
 */
global.RemoveAmmoFromPed = function (ped, weaponHash, amount, removeReason) {
	return _in(0xf4823c81, 0x3cb8277d, ped, _ch(weaponHash), amount, _ch(removeReason));
};
global.N_0xf4823c813cb8277d = global.RemoveAmmoFromPed;

/**
 * removeReason must be REMOVE_REASON_USED, REMOVE_REASON_GIVEN, REMOVE_REASON_DROPPED or REMOVE_REASON_DEBUG, unless amount is -1
 * removeReason: see REMOVE_WEAPON_FROM_PED
 */
global.RemoveAmmoFromPedByType = function (ped, ammoHash, amount, removeReason) {
	return _in(0xb6cfec32, 0xe3742779, ped, _ch(ammoHash), amount, _ch(removeReason));
};
global.N_0xb6cfec32e3742779 = global.RemoveAmmoFromPedByType;

/**
 * REMOVE_ANIM_DICT
 */
global.RemoveAnimDict = function (animDict) {
	return _in(0x47631450, 0x53a33d46, _ts(animDict));
};

/**
 * REMOVE_ANIM_SCENE_ENTITY
 */
global.RemoveAnimSceneEntity = function (animScene, entityName, entity) {
	return _in(0x2bf96692, 0xc67f3e53, animScene, _ts(entityName), entity);
};

/**
 * REMOVE_BLIP
 */
global.RemoveBlip = function (blip) {
	return _in(0xf2c3c9da, 0x47aaa54a, _ii(blip) /* may be optional */);
};

/**
 * _REMOVE_E* - _REMOVE_R*
 */
global.RemoveBoundsFromAggregateVolume = function (volume, aggregate) {
	return _in(0xf92fa889, 0x0dececf6, volume, aggregate);
};
global.N_0xf92fa8890dececf6 = global.RemoveBoundsFromAggregateVolume;

/**
 * Alias for REMOVE_ANIM_SET.
 */
global.RemoveClipSet = function (clipSet) {
	return _in(0x817fa1b1, 0xee7cd6f0, _ts(clipSet));
};

/**
 * _REMOVE_COMPANION_FLAG
 */
global.RemoveCompanionFlag = function (ped, p1) {
	return _in(0x1740e3de, 0xe0ae4d27, ped, p1);
};
global.N_0x1740e3dee0ae4d27 = global.RemoveCompanionFlag;

/**
 * REMOVE_CONVAR_CHANGE_LISTENER
 * @param cookie The cookie returned from [ADD_CONVAR_CHANGE_LISTENER](#\_0xAB7F7241)
 */
global.RemoveConvarChangeListener = function (cookie) {
	return _in(0x00000000, 0xeac49841, cookie);
};

/**
 * REMOVE_COVER_POINT
 */
global.RemoveCoverPoint = function (coverpoint) {
	return _in(0xae287c92, 0x3d891715, coverpoint);
};

/**
 * REMOVE_DECAL
 */
global.RemoveDecal = function (decal) {
	return _in(0x49a72055, 0x2eb0bb88, decal);
};

/**
 * REMOVE_DECALS_FROM_OBJECT
 */
global.RemoveDecalsFromObject = function (obj) {
	return _in(0xfb8972ba, 0xe0013140, obj);
};

/**
 * Removes all decals in range from a position, it includes the bullet holes, blood pools, petrol...
 */
global.RemoveDecalsInRange = function (x, y, z, range) {
	return _in(0x86de59fa, 0x02902b40, _fv(x), _fv(y), _fv(z), _fv(range));
};

/**
 * REMOVE_DISPATCH_SPAWN_BLOCKING_AREA
 */
global.RemoveDispatchSpawnBlockingArea = function (p0) {
	return _in(0x49f751f6, 0x868ddc5b, p0);
};

/**
 * REMOVE_DOOR_FROM_SYSTEM
 */
global.RemoveDoorFromSystem = function (doorHash) {
	return _in(0x464d8e14, 0x27156fe4, _ch(doorHash));
};

/**
 * REMOVE_ENTITY_FROM_AUDIO_MIX_GROUP
 */
global.RemoveEntityFromAudioMixGroup = function (entity, p1) {
	return _in(0x18eb48cf, 0xc41f2ea0, entity, _fv(p1));
};

/**
 * _REMOVE_ENTITY_FROM_ENTITY_MASK
 */
global.RemoveEntityFromEntityMask = function (entity) {
	return _in(0x56a786e8, 0x7ff53478, entity);
};
global.N_0x56a786e87ff53478 = global.RemoveEntityFromEntityMask;

/**
 * Only used in rcm_crackpot1 R* Script: p0 = 0
 */
global.RemoveExtraCalmingQuad = function (index) {
	return _in(0x4bef8dd7, 0x5af6c71c, index);
};
global.RemoveCurrentRise = global.RemoveExtraCalmingQuad;

/**
 * REMOVE_FORCED_OBJECT
 */
global.RemoveForcedObject = function (p0, p1, p2, p3, p4) {
	return _in(0x553fa683, 0xf2bcd814, p0, p1, p2, p3, p4);
};

/**
 * REMOVE_FROM_ITEMSET
 */
global.RemoveFromItemset = function (entity, itemset) {
	return _in(0xc5baa432, 0xb429dc24, entity, itemset);
};

/**
 * REMOVE_GRASS_CULL_SPHERE
 */
global.RemoveGrassCullSphere = function (handle) {
	return _in(0xae7bf7ca, 0x9e4ba48d, handle);
};
global.N_0xae7bf7ca9e4ba48d = global.RemoveGrassCullSphere;

/**
 * Removes gravity well by handle returned from 0x4F5EBE70081E5A20
 */
global.RemoveGravityWell = function (handle) {
	return _in(0x87247bc6, 0x0b60bed8, handle);
};
global.N_0x87247bc60b60bed8 = global.RemoveGravityWell;

/**
 * REMOVE_GROUP
 */
global.RemoveGroup = function (groupId) {
	return _in(0x8eb2f690, 0x76af7053, groupId);
};

/**
 * _REMOVE_GUARD_ZONE
 */
global.RemoveGuardZone = function (name) {
	return _in(0x67ebdd95, 0x8835956c, _ts(name));
};

/**
 * REMOVE_IPL_BY_HASH
 */
global.RemoveIplByHash = function (iplHash) {
	return _in(0x431e3ab7, 0x60629b34, _ch(iplHash));
};
global.RemoveImap_2 = global.RemoveIplByHash;

/**
 * REMOVE_IPL_HASH
 */
global.RemoveIplHash = function (iplHash) {
	return _in(0x5a3e5cf7, 0xb4014b96, _ch(iplHash));
};
global.RemoveImap = global.RemoveIplHash;

/**
 * REMOVE_MODEL_HIDE
 */
global.RemoveModelHide = function (p0, p1, p2, p3, p4, p5) {
	return _in(0x3f38a985, 0x76f6213a, p0, p1, p2, p3, p4, p5);
};

/**
 * REMOVE_MODEL_SWAP
 */
global.RemoveModelSwap = function (x, y, z, radius, originalModel, newModel, p6) {
	return _in(0x824e1c26, 0xa14cb817, _fv(x), _fv(y), _fv(z), _fv(radius), _ch(originalModel), _ch(newModel), p6);
};

/**
 * _REMOVE_MOTION_TYPE_ASSET
 */
global.RemoveMotionTypeAsset = function (nameHash, ped) {
	return _in(0xde7b2b41, 0x44906cdf, _ch(nameHash), ped);
};
global.N_0xde7b2b4144906cdf = global.RemoveMotionTypeAsset;

/**
 * REMOVE_MOVE_NETWORK_DEF
 */
global.RemoveMoveNetworkDef = function (name) {
	return _in(0x57a197ad, 0x83f66bbf, _ts(name));
};
global.N_0x57a197ad83f66bbf = global.RemoveMoveNetworkDef;

/**
 * REMOVE_MP_GAMER_TAG
 */
global.RemoveMpGamerTag = function (gamerTagId) {
	return _in(0x839bfd7d, 0x7e49fe09, gamerTagId);
};

/**
 * REMOVE_NAMED_PTFX_ASSET
 */
global.RemoveNamedPtfxAsset = function (fxNameHash) {
	return _in(0xf2086682, 0x9e1c81a2, _ch(fxNameHash));
};

/**
 * REMOVE_NAVMESH_BLOCKING_OBJECT
 */
global.RemoveNavmeshBlockingObject = function (p0) {
	return _in(0x46399a78, 0x95957c0e, p0);
};

/**
 * _REMOVE_NAVMESH_BLOCKING_VOLUME
 */
global.RemoveNavmeshBlockingVolume = function (volume) {
	return _in(0x2c87c3e1, 0xc7b96ee2, volume);
};
global.N_0x2c87c3e1c7b96ee2 = global.RemoveNavmeshBlockingVolume;

/**
 * REMOVE_PARTICLE_FX
 */
global.RemoveParticleFx = function (ptfxHandle, p1) {
	return _in(0x459598f5, 0x79c98929, ptfxHandle, p1);
};

/**
 * REMOVE_PARTICLE_FX_FROM_ENTITY
 */
global.RemoveParticleFxFromEntity = function (entity) {
	return _in(0x92884b4a, 0x49d81325, entity);
};

/**
 * REMOVE_PARTICLE_FX_IN_RANGE
 */
global.RemoveParticleFxInRange = function (X, Y, Z, radius) {
	return _in(0x87b5905e, 0xca623b68, _fv(X), _fv(Y), _fv(Z), _fv(radius));
};

/**
 * _REMOVE_PED_BLACKBOARD_BOOL
 */
global.RemovePedBlackboardBool = function (ped, variableName) {
	return _in(0xa6f67bec, 0x53379a32, ped, _ts(variableName));
};
global.N_0xa6f67bec53379a32 = global.RemovePedBlackboardBool;

/**
 * _REMOVE_PED_BLACKBOARD_FLOAT
 */
global.RemovePedBlackboardFloat = function (ped, variableName) {
	return _in(0x411189e5, 0x1b8020ba, ped, _ts(variableName));
};
global.N_0x411189e51b8020ba = global.RemovePedBlackboardFloat;

/**
 * _REMOVE_PED_BLACKBOARD_HASH
 */
global.RemovePedBlackboardHash = function (ped, variableName) {
	return _in(0x0e173786, 0x42156790, ped, _ts(variableName));
};
global.N_0x0e17378642156790 = global.RemovePedBlackboardHash;

/**
 * _REMOVE_PED_BLACKBOARD_INT
 */
global.RemovePedBlackboardInt = function (ped, variableName) {
	return _in(0x81b75428, 0xa7813e67, ped, _ts(variableName));
};
global.N_0x81b75428a7813e67 = global.RemovePedBlackboardInt;

/**
 * Ped will no longer get angry when you stay near him.
 */
global.RemovePedDefensiveArea = function (ped, toggle) {
	return _in(0x74d4e028, 0x107450a9, ped, toggle);
};

/**
 * See _REQUEST_PED_EMOTIONAL_PRESET
 */
global.RemovePedEmotionalPreset = function (ped, name) {
	return _in(0xfc3bab18, 0x01a8255a, ped, _ts(name));
};
global.N_0xfc3bab1801a8255a = global.RemovePedEmotionalPreset;

/**
 * REMOVE_PED_FROM_GROUP
 */
global.RemovePedFromGroup = function (ped) {
	return _in(0xed74007f, 0xfb146bc2, ped);
};

/**
 * _REMOVE_PED_FROM_MOUNT
 */
global.RemovePedFromMount = function (ped, p1, p2) {
	return _in(0x5337b721, 0xc51883a9, ped, p1, p2);
};
global.N_0x5337b721c51883a9 = global.RemovePedFromMount;

/**
 * _REMOVE_PED_OVERLAY
 */
global.RemovePedOverlay = function (textureId, overlayId) {
	return _in(0x96c349de, 0x04c49011, textureId, overlayId);
};
global.N_0x96c349de04c49011 = global.RemovePedOverlay;

/**
 * _REMOVE_PED_PROP
 */
global.RemovePedProp = function (ped, propName) {
	return _in(0x3a507530, 0x42b6891b, ped, _ts(propName));
};
global.N_0x3a50753042b6891b = global.RemovePedProp;

/**
 * _REMOVE_PED_STAY_OUT_VOLUME
 */
global.RemovePedStayOutVolume = function (ped, volume) {
	return _in(0x0cab404c, 0xd2db41f5, ped, volume, _r, _ri);
};
global.N_0x0cab404cd2db41f5 = global.RemovePedStayOutVolume;

/**
 * NativeDB Introduced: v1311
 */
global.RemovePedSubscribeToLegendaryBlips = function (ped) {
	return _in(0x011a42fd, 0x923d41ca, ped, _r);
};

/**
 * REMOVE_PICKUP
 */
global.RemovePickup = function (pickup) {
	return _in(0x3288d8ac, 0xaecd2ab2, pickup);
};

/**
 * _REMOVE_PLAYER_AS_FOLLOW_TARGET
 */
global.RemovePlayerAsFollowTarget = function (player, ped) {
	return _in(0x0c6b8987, 0x6262a99d, player, ped);
};
global.N_0x0c6b89876262a99d = global.RemovePlayerAsFollowTarget;

/**
 * REMOVE_POP_MULTIPLIER_AREA
 */
global.RemovePopMultiplierArea = function (id, p1) {
	return _in(0x88cb4843, 0x64efb37a, id, p1);
};

/**
 * _REMOVE_POP_MULTIPLIER_AREA_FOR_VOLUME
 */
global.RemovePopMultiplierAreaForVolume = function (volume, p1) {
	return _in(0xbd090f5b, 0x1db82189, volume, p1);
};
global.N_0xbd090f5b1db82189 = global.RemovePopMultiplierAreaForVolume;

/**
 * REMOVE_PORTAL_SETTINGS_OVERRIDE
 */
global.RemovePortalSettingsOverride = function (p0) {
	return _in(0xb4bbfd9c, 0xd8b3922b, _ts(p0));
};

/**
 * _REMOVE_PROP_FROM_MINIMAP
 */
global.RemovePropFromMinimap = function (minimapProp) {
	return _in(0xe057fea9, 0xa22eb3ee, _ch(minimapProp));
};
global.N_0xe057fea9a22eb3ee = global.RemovePropFromMinimap;

/**
 * REMOVE_PTFX_ASSET
 */
global.RemovePtfxAsset = function () {
	return _in(0x042f9049, 0xea419e86);
};

/**
 * REMOVE_RELATIONSHIP_GROUP
 */
global.RemoveRelationshipGroup = function (groupHash) {
	return _in(0xb6ba2444, 0xab393da2, _ch(groupHash));
};

/**
 * REMOVE_ROAD_NODE_SPEED_ZONE
 */
global.RemoveRoadNodeSpeedZone = function (speedzone) {
	return _in(0xfe9ab335, 0x4ace6c9c, speedzone, _r);
};
global.RemoveSpeedZone = global.RemoveRoadNodeSpeedZone;

/**
 * _REMOVE_SCENARIO_ASSET
 */
global.RemoveScenarioAsset = function (scenarioType) {
	return _in(0x4eddd9e9, 0xca5af985, _ch(scenarioType), _r, _ri);
};
global.N_0x4eddd9e9ca5af985 = global.RemoveScenarioAsset;

/**
 * REMOVE_SCENARIO_BLOCKING_AREA
 */
global.RemoveScenarioBlockingArea = function (p0, p1) {
	return _in(0x31d16b74, 0xc6e29d66, p0, p1);
};

/**
 * REMOVE_SCENARIO_BLOCKING_AREAS
 */
global.RemoveScenarioBlockingAreas = function () {
	return _in(0xd37401d7, 0x8a929a49);
};

/**
 * NativeDB Introduced: v1311
 */
global.RemoveScriptBrainEntity = function (entity) {
	return _in(0x38f1e092, 0x24eeca09, entity);
};

/**
 * REMOVE_SCRIPT_FIRE
 */
global.RemoveScriptFire = function (fireHandle) {
	return _in(0x790125c3, 0x6e194069, fireHandle);
};

/**
 * REMOVE_SHOCKING_EVENT
 */
global.RemoveShockingEvent = function (event) {
	return _in(0xe8bb3cc2, 0x53a34559, event, _r);
};

/**
 * REMOVE_SHOCKING_EVENT_SPAWN_BLOCKING_AREAS
 */
global.RemoveShockingEventSpawnBlockingAreas = function () {
	return _in(0xdb249021, 0x652420c5);
};

/**
 * Directly removes a shop item component from a ped
 * Params: p2 and p3 are always 0
 * ```
 * ```
 * NativeDB Introduced: v1355
 */
global.RemoveShopItemFromPed = function (ped, componentHash, p2, p3) {
	return _in(0x0d7ffa1b, 0x2f69ed82, ped, _ch(componentHash), p2, p3);
};

/**
 * Params: p2, p3 usually 0 in R* Scripts
 */
global.RemoveShopItemFromPedByCategory = function (ped, componentCategory, p2, p3) {
	return _in(0xdf631e4b, 0xce1b1fc4, ped, _ch(componentCategory), p2, p3);
};
global.N_0xdf631e4bce1b1fc4 = global.RemoveShopItemFromPedByCategory;

/**
 * **Experimental**: This native may be altered or removed in future versions of CitizenFX without warning.
 * Removes a handler for changes to a state bag.
 * @param cookie The cookie.
 */
global.RemoveStateBagChangeHandler = function (cookie) {
	return _in(0x00000000, 0xd36be661, cookie);
};

/**
 * REMOVE_TAG_FROM_META_PED
 */
global.RemoveTagFromMetaPed = function (ped, component, p2) {
	return _in(0xd710a500, 0x7c2ac539, ped, _ch(component), p2);
};
global.N_0xd710a5007c2ac539 = global.RemoveTagFromMetaPed;

/**
 * _REMOVE_TARGET
 */
global.RemoveTarget = function (ped, targetPed) {
	return _in(0x4707e9c2, 0x3d8ca3fe, ped, targetPed);
};
global.N_0x4707e9c23d8ca3fe = global.RemoveTarget;

/**
 * REMOVE_TIMECYCLE_MODIFIER
 * @param modifierName The timecycle modifier name.
 */
global.RemoveTimecycleModifier = function (modifierName) {
	return _in(0x00000000, 0x36df8612, _ts(modifierName));
};

/**
 * REMOVE_TIMECYCLE_MODIFIER_VAR
 * @param modifierName The name of timecycle modifier.
 * @param varName The name of timecycle variable.
 */
global.RemoveTimecycleModifierVar = function (modifierName, varName) {
	return _in(0x00000000, 0x5a5e0d05, _ts(modifierName), _ts(varName));
};

/**
 * REMOVE_VEG_MODIFIER_SPHERE
 */
global.RemoveVegModifierSphere = function (vegModifierHandle, p1) {
	return _in(0x9cf1836c, 0x03fb67a2, vegModifierHandle, p1);
};
global.N_0x9cf1836c03fb67a2 = global.RemoveVegModifierSphere;

/**
 * REMOVE_VEHICLE_ASSET
 */
global.RemoveVehicleAsset = function (vehicleAsset) {
	return _in(0x888a4e67, 0x5b38f5ad, _ch(vehicleAsset));
};

/**
 * _REMOVE_VEHICLE_LIGHT_PROP_SETS
 */
global.RemoveVehicleLightPropSets = function (vehicle) {
	return _in(0xe31c0cb1, 0xc3186d40, vehicle);
};
global.N_0xe31c0cb1c3186d40 = global.RemoveVehicleLightPropSets;

/**
 * _REMOVE_VEHICLE_PROP_SETS
 */
global.RemoveVehiclePropSets = function (vehicle) {
	return _in(0x3bcf32ff, 0x37ea9f1d, vehicle);
};
global.N_0x3bcf32ff37ea9f1d = global.RemoveVehiclePropSets;

/**
 * See REQUEST_VEHICLE_RECORDING
 */
global.RemoveVehicleRecording = function (p0, p1) {
	return _in(0x139e3575, 0x5418f6aa, p0, _ii(p1) /* may be optional */);
};

/**
 * windowIndex:
 * 0 = Front Right Window
 * 1 = Front Left Window
 * 2 = Back Right Window
 * 3 = Back Left Window
 */
global.RemoveVehicleWindow = function (vehicle, windowIndex) {
	return _in(0x745f15a2, 0x15f2ddf1, vehicle, windowIndex);
};

/**
 * REMOVE_VEHICLES_FROM_GENERATORS_IN_AREA
 */
global.RemoveVehiclesFromGeneratorsInArea = function (p0, p1, p2, p3, p4, p5) {
	return _in(0xc619a446, 0x39bc0cb4, p0, p1, p2, p3, p4, p5);
};

/**
 * REMOVE_WAYPOINT_RECORDING
 */
global.RemoveWaypointRecording = function (waypointRecording) {
	return _in(0xff1b8b4a, 0xa1c25dc8, _ts(waypointRecording));
};

/**
 * _REMOVE_WEAPON_ASSET
 */
global.RemoveWeaponAsset = function (weaponHash) {
	return _in(0xc3896d03, 0xe2852236, _ch(weaponHash));
};
global.N_0xc3896d03e2852236 = global.RemoveWeaponAsset;

/**
 * _REMOVE_WEAPON_COMPONENT_FROM_PED
 */
global.RemoveWeaponComponentFromPed = function (ped, componentHash, weaponHash) {
	return _in(0x19f70c4d, 0x80494ff8, ped, _ch(componentHash), _ch(weaponHash));
};
global.N_0x19f70c4d80494ff8 = global.RemoveWeaponComponentFromPed;

/**
 * REMOVE_WEAPON_COMPONENT_FROM_WEAPON_OBJECT
 */
global.RemoveWeaponComponentFromWeaponObject = function (weaponObject, component) {
	return _in(0xf7d82b0d, 0x66777611, weaponObject, _ch(component));
};

/**
 * removeReason:
 * enum eRemoveItemReason : Hash
 * {
 * REMOVE_REASON_CLIENT_PURGED = 0x4A4E94DC,
 * REMOVE_REASON_COALESCE = 0x2ABE393E,
 * REMOVE_REASON_DEBUG = 0xA07362E6,
 * REMOVE_REASON_DEFAULT = 0xF77DE93D,
 * REMOVE_REASON_DELETE_CHARACTER = 0x20AFBDE9,
 * REMOVE_REASON_DROPPED = 0xEC7FB5D5,
 * REMOVE_REASON_DUPLICATE = 0x19047132,
 * REMOVE_REASON_GIFTED_INCORRECTLY = 0x9C4E3829,
 * REMOVE_REASON_GIVEN = 0xAD5377D4,
 * REMOVE_REASON_INSUFFICIENT_INVENTORY = 0x518D1AAE,
 * REMOVE_REASON_ITEM_DOES_NOT_EXIST = 0xEAD5D889,
 * REMOVE_REASON_LOADOUT = 0x1B94E3BA,
 * REMOVE_REASON_SET_AMOUNT = 0x19D5CFA5,
 * REMOVE_REASON_SOLD = 0x76C4B482,
 * REMOVE_REASON_USED = 0x2188E0A3,
 * REMOVE_REASON_USE_FAILED = 0x671F9EAD
 * };
 */
global.RemoveWeaponFromPed = function (ped, weaponHash, p2, removeReason) {
	return _in(0x4899cb08, 0x8edf59b8, ped, _ch(weaponHash), p2, _ch(removeReason));
};

/**
 * NativeDB Introduced: v1311
 */
global.RemoveWeaponFromPedByGuid = function (ped, removeReason) {
	return _in(0x51c3b715, 0x91811485, ped, _i, _ch(removeReason));
};

/**
 * ease - smooth transition between the camera's positions
 * easeTime - Time in milliseconds for the transition to happen
 * If you have created a script (rendering) camera, and want to go back to the
 * character (gameplay) camera, call this native with render set to FALSE.
 * Setting ease to TRUE will smooth the transition.
 */
global.RenderScriptCams = function (render, ease, easeTime, p3, p4, p5) {
	return _in(0x33281167, 0xe4942e4f, render, ease, easeTime, p3, p4, p5);
};

/**
 * nullsub, doesn't do anything
 */
global.ReplayPreventRecordingThisFrame = function () {
	return _in(0xa8c44c13, 0x419634f2);
};
global.StopRecordingThisFrame = global.ReplayPreventRecordingThisFrame;

/**
 * Hardcoded to return false.
 */
global.ReplaySystemHasRequestedAScriptCleanup = function () {
	return _in(0x0f838d47, 0xde58edb2, _r);
};
global.IsInteriorRenderingDisabled = global.ReplaySystemHasRequestedAScriptCleanup;

/**
 * crimeType:
 * enum eCrimeType : Hash
 * {
 * CRIME_ACCOMPLICE = 0xAF074F6D,
 * CRIME_ARSON = 0x68134DC7,
 * CRIME_ASSAULT = 0x0BADC882,
 * CRIME_ASSAULT_ANIMAL = 0x18DA55EE,
 * CRIME_ASSAULT_CORPSE = 0x4E5F23F2,
 * CRIME_ASSAULT_HORSE = 0xC4736181,
 * CRIME_ASSAULT_LAW = 0xD7466D7C,
 * CRIME_ASSAULT_LIVESTOCK = 0xCCE1CCBD,
 * CRIME_BANK_ROBBERY = 0x6A1ADE3D,
 * CRIME_BURGLARY = 0xA54C77E0,
 * CRIME_CHEATING = 0xA2FF1145,
 * CRIME_DISTURBANCE = 0x5011F613,
 * CRIME_EXPLOSION = 0x3EBA7A37,
 * CRIME_EXPLOSION_POISON = 0x91D0A0E1,
 * CRIME_GRAVE_ROBBERY = 0x971EA5AF,
 * CRIME_HASSLE = 0x58488776,
 * CRIME_HIT_AND_RUN = 0xFF0A3CC4,
 * CRIME_HIT_AND_RUN_LAW = 0x064814AF,
 * CRIME_INTIMIDATION = 0x8319FBAB,
 * CRIME_JACK_HORSE = 0x82F7E4A2,
 * CRIME_JACK_VEHICLE = 0x6B981F4C,
 * CRIME_JAIL_BREAK = 0x12C1D589,
 * CRIME_KIDNAPPING = 0x98F908DB,
 * CRIME_KIDNAPPING_LAW = 0xFD72A7EA,
 * CRIME_LASSO_ASSAULT = 0x56EE5D5A,
 * CRIME_LAW_IS_THREATENED = 0x1CB91DF0,
 * CRIME_LOITERING = 0x6629D2F4,
 * CRIME_LOOTING = 0x55AD2BEB,
 * CRIME_MURDER = 0xE28ECE7E,
 * CRIME_MURDER_ANIMAL = 0x48F59A66,
 * CRIME_MURDER_HORSE = 0xC7261D79,
 * CRIME_MURDER_LAW = 0x7797FCE7,
 * CRIME_MURDER_LIVESTOCK = 0x9569C546,
 * CRIME_MURDER_PLAYER = 0xF5ABD6C9,
 * CRIME_MURDER_PLAYER_HORSE = 0xD55C6A79,
 * CRIME_PROPERTY_DESTRUCTION = 0x533B003D,
 * CRIME_RESIST_ARREST = 0xDF577BA5,
 * CRIME_ROBBERY = 0xA3BEDE4C,
 * CRIME_SELF_DEFENCE = 0xBD6A0AA3,
 * CRIME_STAGECOACH_ROBBERY = 0xFC738E61,
 * CRIME_STOLEN_GOODS = 0x9A949C79,
 * CRIME_THEFT = 0x72ADE410,
 * CRIME_THEFT_HORSE = 0xBE3A5838,
 * CRIME_THEFT_LIVESTOCK = 0x85BA08FD,
 * CRIME_THEFT_VEHICLE = 0x43A9ECA1,
 * CRIME_THREATEN = 0x941C985A,
 * CRIME_THREATEN_LAW = 0x7F908566,
 * CRIME_TRAIN_ROBBERY = 0x647D2A5A,
 * CRIME_TRAMPLE = 0x45DB39D8,
 * CRIME_TRAMPLE_LAW = 0xF00F266B,
 * CRIME_TRAMPLE_PLAYER = 0x75970C15,
 * CRIME_TRESPASSING = 0xAEDE8E35,
 * CRIME_UNARMED_ASSAULT = 0x5098CC5A,
 * CRIME_VANDALISM = 0x80FDC759,
 * CRIME_VANDALISM_VEHICLE = 0xF9E7ECE4,
 * CRIME_VEHICLE_DESTRUCTION = 0x54A85DDC,
 * CRIME_WANTED_LEVEL_UP_DEBUG_HIGH = 0x99C52FF5,
 * CRIME_WANTED_LEVEL_UP_DEBUG_LOW = 0xD891890F
 * };
 */
global.ReportCrime = function (player, crimeType, bounty, entity, isKnownSuspect) {
	return _in(0xf6038677, 0x0878a98f, player, _ch(crimeType), bounty, entity, isKnownSuspect);
};
global.N_0xf60386770878a98f = global.ReportCrime;

/**
 * _REPORT_PLAYER
 */
global.ReportPlayer = function (player, reportType, description, horseName) {
	return _in(0xa197c35f, 0x73ac0f12, player, reportType, _ts(description), _ts(horseName));
};
global.N_0xa197c35f73ac0f12 = global.ReportPlayer;

/**
 * nullsub, doesn't do anything
 * however it is being used in tty scripts: [NET_BAD_SPORT_REPORT_PLAYER] Detected bad sport behavior from Player
 * badSportBehavior: BS_QUITTER = 0, BS_VEHICLE_DESTRUCTION = 1, BS_VOTED_OUT = 2
 */
global.ReportPlayerBadSportBehavior = function (badSportBehaviorType) {
	return _in(0xc31c44c4, 0x3b48fde3, _i, badSportBehaviorType);
};
global.N_0xc31c44c43b48fde3 = global.ReportPlayerBadSportBehavior;

/**
 * _REPORT_PLAYER_LAW_DISPATCH_RESPONSE_OVERRIDE
 */
global.ReportPlayerLawDispatchResponseOverride = function (player, dispatchResponseHash) {
	return _in(0x9c435213, 0x4b2835fb, player, _ch(dispatchResponseHash));
};
global.N_0x9c4352134b2835fb = global.ReportPlayerLawDispatchResponseOverride;

/**
 * REPORT_POLICE_SPOTTED_PLAYER
 */
global.ReportPoliceSpottedPlayer = function (player) {
	return _in(0xcbccf73f, 0xfa69cc6b, player);
};
global.N_0xcbccf73ffa69cc6b = global.ReportPoliceSpottedPlayer;

/**
 * NativeDB Introduced: v1311
 */
global.RequestAdditionalCollisionAtCoord = function (x, y, z) {
	return _in(0x83a8d716, 0x50d1894f, _fv(x), _fv(y), _fv(z));
};

/**
 * REQUEST_ANIM_DICT
 */
global.RequestAnimDict = function (animDict) {
	return _in(0xa862a2ad, 0x321f94b4, _ts(animDict));
};

/**
 * REQUEST_ANIM_SCENE_PLAY_LIST
 */
global.RequestAnimScenePlayList = function (animScene, playlistName) {
	return _in(0xdf7b5144, 0xe25cd3fe, animScene, _ts(playlistName), _r, _ri);
};
global.N_0xdf7b5144e25cd3fe = global.RequestAnimScenePlayList;

/**
 * REQUEST_CLIP_SET
 */
global.RequestClipSet = function (clipSet) {
	return _in(0xef7611b5, 0x7a820126, _ts(clipSet));
};

/**
 * _REQUEST_CLIP_SET_BY_HASH
 */
global.RequestClipSetByHash = function (clipSetHash) {
	return _in(0xac37644a, 0x538f7524, _ch(clipSetHash));
};
global.N_0xac37644a538f7524 = global.RequestClipSetByHash;

/**
 * REQUEST_COLLISION_AT_COORD
 */
global.RequestCollisionAtCoord = function (x, y, z) {
	return _in(0x0a3720f1, 0x62a033c9, _fv(x), _fv(y), _fv(z));
};

/**
 * REQUEST_COLLISION_FOR_MODEL
 */
global.RequestCollisionForModel = function (model) {
	return _in(0xf1767be3, 0x7f661551, _ch(model));
};

/**
 * _REQUEST_ENTITY_LOOT_LIST
 */
global.RequestEntityLootList = function (mount, visiblelootslotrequestType, flag, p4, p5) {
	return _in(0xa88e215c, 0xeb0435c0, mount, _i, _ch(visiblelootslotrequestType), flag, p4, p5, _r, _ri);
};
global.N_0xa88e215ceb0435c0 = global.RequestEntityLootList;

/**
 * Makes ped flinch (if in cover) like they have been shot at
 */
global.RequestFlinchCoverAnim = function (ped) {
	return _in(0x2a31d13c, 0x5f021d0d, ped);
};
global.N_0x2a31d13c5f021d0d = global.RequestFlinchCoverAnim;

/**
 * https://github.com/femga/rdr3_discoveries/tree/master/objects/composites
 */
global.RequestHerbCompositeAsset = function (asset) {
	return _in(0x73f0d032, 0x7bfa0812, _ch(asset), _r, _ri);
};
global.N_0x73f0d0327bfa0812 = global.RequestHerbCompositeAsset;

/**
 * REQUEST_IPL_BY_HASH
 */
global.RequestIplByHash = function (iplHash) {
	return _in(0x9e211a37, 0x8f95c97c, _ch(iplHash));
};
global.RequestImap_2 = global.RequestIplByHash;

/**
 * REQUEST_IPL_HASH
 */
global.RequestIplHash = function (iplHash) {
	return _in(0x59767c5a, 0x7a9ae6da, _ch(iplHash));
};
global.RequestImap = global.RequestIplHash;

/**
 * Creates Cinematic Black Bars (at top and bottom)
 * Disable instantly: false/false, Enable instantly: true/true
 */
global.RequestLetterBoxNow = function (p0, p1) {
	return _in(0x69d65e89, 0xffd72313, p0, p1);
};
global.N_0x69d65e89ffd72313 = global.RequestLetterBoxNow;

/**
 * _REQUEST_LETTER_BOX_OVERTIME
 */
global.RequestLetterBoxOvertime = function (p0, p1, p2, p3, p4, p5) {
	return _in(0xe296208c, 0x273bd7f0, p0, p1, p2, p3, p4, p5);
};
global.N_0xe296208c273bd7f0 = global.RequestLetterBoxOvertime;

/**
 * Returns requestId
 * Params: p1 = 1 in R* Scripts (Used in SP only)
 */
global.RequestMetaPed = function (model, p1) {
	return _in(0xf97c34c3, 0x3487d569, _ch(model), p1, _r, _ri);
};
global.N_0xf97c34c33487d569 = global.RequestMetaPed;
global.RequestMetapedPed = global.RequestMetaPed;

/**
 * Returns requestId
 * Params: p1 = 1 in R* Scripts
 */
global.RequestMetaPedAssetBundle = function (asset, p1) {
	return _in(0x91fe941f, 0x9fcfb702, _ch(asset), p1, _r, _ri);
};
global.N_0x91fe941f9fcfb702 = global.RequestMetaPedAssetBundle;
global.RequestMetapedAssetBundle = global.RequestMetaPedAssetBundle;

/**
 * _REQUEST_META_PED_COMPONENT
 */
global.RequestMetaPedComponent = function (metaPedType, p1, p2, p3, p4) {
	return _in(0xf6d9e1f3, 0x560cbf8e, metaPedType, p1, p2, p3, p4, _r, _ri);
};
global.N_0xf6d9e1f3560cbf8e = global.RequestMetaPedComponent;
global.RequestMetapedComponent = global.RequestMetaPedComponent;

/**
 * https://github.com/femga/rdr3_discoveries/blob/master/clothes/metaped_outfits.lua
 * Returns requestId, to be used with 0x74F512E29CB717E2
 */
global.RequestMetaPedOutfit = function (model, outfit) {
	return _in(0x13154a76, 0xce0cf9ab, _ch(model), _ch(outfit), _r, _ri);
};
global.N_0x13154a76ce0cf9ab = global.RequestMetaPedOutfit;
global.RequestMetapedOutfit = global.RequestMetaPedOutfit;

/**
 * _REQUEST_METADATA_AT_COORD
 */
global.RequestMetadataAtCoord = function (x, y, z) {
	return _in(0xa8432a14, 0xd4dc2101, _fv(x), _fv(y), _fv(z));
};
global.N_0xa8432a14d4dc2101 = global.RequestMetadataAtCoord;

/**
 * Request a model to be loaded into memory.
 */
global.RequestModel = function (model, p1) {
	return _in(0xfa28fe3a, 0x6246fc30, _ch(model), p1);
};

/**
 * _REQUEST_MOTION_TYPE_ASSET
 */
global.RequestMotionTypeAsset = function (nameHash, ped) {
	return _in(0xf7ea250b, 0x9a919e03, _ch(nameHash), ped);
};
global.N_0xf7ea250b9a919e03 = global.RequestMotionTypeAsset;

/**
 * REQUEST_MOVE_NETWORK_DEF
 */
global.RequestMoveNetworkDef = function (name) {
	return _in(0x2b6529c5, 0x4d29037a, _ts(name));
};
global.N_0x2b6529c54d29037a = global.RequestMoveNetworkDef;

/**
 * REQUEST_NAMED_PTFX_ASSET
 */
global.RequestNamedPtfxAsset = function (fxNameHash) {
	return _in(0xf2b2353b, 0xbc0d4e8f, _ch(fxNameHash));
};

/**
 * REQUEST_PATH_NODES_IN_AREA_THIS_FRAME
 */
global.RequestPathNodesInAreaThisFrame = function (x1, y1, x2, y2) {
	return _in(0x07fb139b, 0x592fa687, _fv(x1), _fv(y1), _fv(x2), _fv(y2), _r);
};
global.N_0x07fb139b592fa687 = global.RequestPathNodesInAreaThisFrame;

/**
 * For more information, see common:/data/emotional_presets.meta
 */
global.RequestPedEmotionalPreset = function (ped, name) {
	return _in(0x5c3c55ea, 0xad19915f, ped, _ts(name));
};
global.N_0x5c3c55eaad19915f = global.RequestPedEmotionalPreset;

/**
 * mood: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/fwFacialAnimRequest__Mood
 * Params: p2 = 6 in R* Scripts
 */
global.RequestPedFacialMoodThisFrame = function (ped, mood, p2) {
	return _in(0x8b3b71c8, 0x0a29a4bb, ped, _ch(mood), p2);
};
global.N_0x8b3b71c80a29a4bb = global.RequestPedFacialMoodThisFrame;

/**
 * _REQUEST_PED_FOR_SCENARIO_TYPE
 */
global.RequestPedForScenarioType = function (ped, object, p2, scenarioType, p4, p5) {
	return _in(0xbded916a, 0x9f9b0604, ped, object, _ts(p2), _ch(scenarioType), _ts(p4), p5, _r, _ri);
};
global.N_0xbded916a9f9b0604 = global.RequestPedForScenarioType;

/**
 * Known get up animation types: REAR, FRONT
 */
global.RequestPedGetupAnimation = function (ped, getUpType) {
	return _in(0xeaa8242c, 0x8479c27d, ped, _ts(getUpType));
};
global.N_0xeaa8242c8479c27d = global.RequestPedGetupAnimation;

/**
 * REQUEST_PED_USE_SMALL_BBOX_VISIBILITY_TRACKING
 */
global.RequestPedUseSmallBboxVisibilityTracking = function (ped, p1) {
	return _in(0x75ba1cb3, 0xb7d40caf, ped, p1);
};
global.N_0x75ba1cb3b7d40caf = global.RequestPedUseSmallBboxVisibilityTracking;

/**
 * REQUEST_PED_VEHICLE_VISIBILITY_TRACKING
 */
global.RequestPedVehicleVisibilityTracking = function (ped, p1) {
	return _in(0x2bc338a7, 0xb21f4608, ped, p1);
};

/**
 * REQUEST_PED_VISIBILITY_TRACKING
 */
global.RequestPedVisibilityTracking = function (ped) {
	return _in(0x7d7a2e43, 0xe74e2eb8, ped);
};

/**
 * Only used in R* SP Scripts
 */
global.RequestPedshotTextureLocalBackupDownload = function (player, personaPhotoLocalCacheType) {
	return _in(0x356f9fb0, 0x698c1feb, player, personaPhotoLocalCacheType, _r, _s);
};
global.N_0x356f9fb0698c1feb = global.RequestPedshotTextureLocalBackupDownload;

/**
 * Only used in R* SP Script map_app_event_handler
 */
global.RequestPedshotTextureLocalDownload = function (p1) {
	return _in(0xcaf4ca2f, 0x87779f8f, _i, p1, _r, _s);
};
global.N_0xcaf4ca2f87779f8f = global.RequestPedshotTextureLocalDownload;

/**
 * _REQUEST_PEDSHOT_TEXTURE_MULTIPLAYER_DOWNLOAD
 */
global.RequestPedshotTextureMultiplayerDownload = function (p1) {
	return _in(0xb5c4b18b, 0x12a2af23, _i, p1, _r, _s);
};
global.N_0xb5c4b18b12a2af23 = global.RequestPedshotTextureMultiplayerDownload;
global.RequestPedshotTextureDownload = global.RequestPedshotTextureMultiplayerDownload;

/**
 * _REQUEST_PHOTO_MODE_DEFREEZE
 */
global.RequestPhotoModeDefreeze = function () {
	return _in(0x41afa5f2, 0x28b0b6b0);
};
global.N_0x41afa5f228b0b6b0 = global.RequestPhotoModeDefreeze;

/**
 * _REQUEST_PHOTO_MODE_FREEZE
 */
global.RequestPhotoModeFreeze = function () {
	return _in(0x7c709c01, 0xd43d94cd);
};
global.N_0x7c709c01d43d94cd = global.RequestPhotoModeFreeze;

/**
 * _REQUEST_PROP_SCENARIO_PED
 */
global.RequestPropScenarioPed = function (ped, object, p2, p3, p4, p5) {
	return _in(0xbec65c60, 0x49b3219d, ped, object, _ts(p2), _ts(p3), _ts(p4), p5, _r, _ri);
};
global.N_0xbec65c6049b3219d = global.RequestPropScenarioPed;

/**
 * _REQUEST_PROP_SET
 */
global.RequestPropSet = function (hash) {
	return _in(0xf3de57a4, 0x6d5585e9, _ch(hash), _r, _ri);
};
global.N_0xf3de57a46d5585e9 = global.RequestPropSet;

/**
 * Same as _REQUEST_PROP_SET
 */
global.RequestPropSet_2 = function (hash) {
	return _in(0xe72f5919, 0x58f3acab, _ch(hash), _r, _ri);
};
global.N_0xe72f591958f3acab = global.RequestPropSet_2;

/**
 * REQUEST_PTFX_ASSET
 */
global.RequestPtfxAsset = function () {
	return _in(0x001ff438, 0x43028e0c);
};

/**
 * Requests a resource file set with the specified name to be downloaded and mounted on top of the current resource.
 * Resource file sets are specified in `fxmanifest.lua` with the following syntax:
 * ```lua
 * file_set 'addon_ui' {
 * 'ui/addon/index.html',
 * 'ui/addon -- [[*.js',
 * }
 * ```
 * This command will trigger a script error if the request failed.
 * @param setName The name of the file set as specified in `fxmanifest.lua`.
 * @return `TRUE` if the set is mounted, `FALSE` if the request is still pending.
 */
global.RequestResourceFileSet = function (setName) {
	return _in(0x00000000, 0xe7490533, _ts(setName), _r);
};

/**
 * _REQUEST_SCENARIO_TYPE
 */
global.RequestScenarioType = function (scenarioType, p1, p2, p3) {
	return _in(0x19a6be7d, 0x9c6884d3, _ch(scenarioType), p1, p2, p3, _r, _ri);
};
global.N_0x19a6be7d9c6884d3 = global.RequestScenarioType;

/**
 * REQUEST_SCRIPT
 */
global.RequestScript = function (scriptName) {
	return _in(0x46ed607d, 0xdd40d7fe, _ts(scriptName));
};

/**
 * REQUEST_SCRIPT_AUDIO_BANK
 */
global.RequestScriptAudioBank = function (audioBank) {
	return _in(0x2f844a8b, 0x08d76685, _ts(audioBank), _r);
};

/**
 * REQUEST_SCRIPT_WITH_NAME_HASH
 */
global.RequestScriptWithNameHash = function (scriptHash) {
	return _in(0xf6b9ce3f, 0x8d5b9b74, _ch(scriptHash));
};

/**
 * REQUEST_STREAMED_TEXTURE_DICT
 */
global.RequestStreamedTextureDict = function (textureDict, p1) {
	return _in(0xc1ba29df, 0x5631b0f8, _ts(textureDict), p1);
};

/**
 * REQUEST_STREAMED_TXD
 */
global.RequestStreamedTxd = function (txdHash, p1) {
	return _in(0xdb1bd07f, 0xb464584d, _ch(txdHash), p1);
};
global.N_0xdb1bd07fb464584d = global.RequestStreamedTxd;

/**
 * REQUEST_TASK_MOVE_NETWORK_STATE_TRANSITION
 */
global.RequestTaskMoveNetworkStateTransition = function (ped, name) {
	return _in(0xd01015c7, 0x316ae176, ped, _ts(name));
};

/**
 * Creates a texture override data for ped and returns it's index.
 * So you can replace any texture of any ped's component.
 * Also, you can add overlays on it, such as aging, lipstick and more.
 * Textures can be reused by multiple peds at once.
 * You can keep only 32 textures at once(including other peds).
 * https://github.com/femga/rdr3_discoveries/blob/master/clothes/change_overlays_script.lua
 * materialHash: https://github.com/femga/rdr3_discoveries/blob/master/clothes/cloth_drawable_albedo_normal_material_TEMPORARY.lua
 */
global.RequestTexture = function (albedoHash, normalHash, materialHash) {
	return _in(0xc5e7204f, 0x322e49eb, _ch(albedoHash), _ch(normalHash), _ch(materialHash), _r, _ri);
};
global.N_0xc5e7204f322e49eb = global.RequestTexture;

/**
 * _REQUEST_THREAD_EXIT
 */
global.RequestThreadExit = function (threadId) {
	return _in(0x7de46431, 0x57ad646c, threadId);
};
global.N_0x7de4643157ad646c = global.RequestThreadExit;

/**
 * _REQUEST_THREAD_EXIT_FOR_ALL_THREADS_WITH_THIS_NAME
 */
global.RequestThreadExitForAllThreadsWithThisName = function (nameHash) {
	return _in(0x7423f783, 0x5770f619, _ch(nameHash));
};
global.N_0x7423f7835770f619 = global.RequestThreadExitForAllThreadsWithThisName;

/**
 * REQUEST_UIAPP_TRANSITION_BY_HASH
 */
global.RequestUiappTransitionByHash = function (appNameHash, transitionHash) {
	return _in(0x7689cd25, 0x5655bfd7, _ch(appNameHash), _ch(transitionHash), _r, _ri);
};
global.UiappRequestTransitionByHash = global.RequestUiappTransitionByHash;

/**
 * REQUEST_VEHICLE_ASSET
 */
global.RequestVehicleAsset = function (vehicleHash, vehicleAsset) {
	return _in(0x81a15811, 0x460fab3a, _ch(vehicleHash), vehicleAsset);
};

/**
 * REQUEST_VEHICLE_HIGH_DETAIL_MODEL
 */
global.RequestVehicleHighDetailModel = function (vehicle) {
	return _in(0x84b81ef7, 0x8bd22357, vehicle);
};

/**
 * Request the vehicle recording defined by the lowercase format string "%s%03d.yvr". For example, REQUEST_VEHICLE_RECORDING(1, "FBIs1UBER") corresponds to fbis1uber001.yvr.
 * For all vehicle recording/playback natives, "script" is a common prefix that usually corresponds to the script/mission the recording is used in, "recording" is its int suffix, and "id" corresponds to a unique identifier within the recording streaming module.
 * (GTA) Note that only 24 recordings (hardcoded in multiple places) can ever active at a given time before clobbering begins.
 */
global.RequestVehicleRecording = function (recording, script) {
	return _in(0xc474cf16, 0xeda45dc9, recording, _ts(script));
};

/**
 * REQUEST_VOLUME_LOCK
 */
global.RequestVolumeLock = function (x, y, z, radius, p4, p5) {
	return _in(0xf14bcef2, 0x90f869e1, _fv(x), _fv(y), _fv(z), _fv(radius), p4, p5, _r, _ri);
};
global.N_0xf14bcef290f869e1 = global.RequestVolumeLock;

/**
 * REQUEST_VOLUME_LOCK_WITH_ARGS
 */
global.RequestVolumeLockWithArgs = function (args) {
	return _in(0x183c0b6c, 0xfeffcae4, _ii(args) /* may be optional */, _r, _ri);
};
global.N_0x183c0b6cfeffcae4 = global.RequestVolumeLockWithArgs;

/**
 * REQUEST_WAYPOINT_RECORDING
 */
global.RequestWaypointRecording = function (waypointRecording) {
	return _in(0x9eefb62e, 0xb27b5792, _ts(waypointRecording));
};

/**
 * _REQUEST_WEAPON_ASSET
 */
global.RequestWeaponAsset = function (weaponHash, p1, p2) {
	return _in(0x72d4cb5d, 0xb927009c, _ch(weaponHash), p1, p2);
};
global.N_0x72d4cb5db927009c = global.RequestWeaponAsset;

/**
 * _RESERVE_AMBIENT_PEDS
 */
global.ReserveAmbientPeds = function (numPeds) {
	return _in(0xed9582b3, 0xda8f02b4, numPeds);
};
global.N_0xed9582b3da8f02b4 = global.ReserveAmbientPeds;

/**
 * _RESERVE_AMBIENT_PEDS_TOTAL
 */
global.ReserveAmbientPedsTotal = function (numPeds) {
	return _in(0xf008e0ba, 0x1fe1d644, numPeds);
};
global.N_0xf008e0ba1fe1d644 = global.ReserveAmbientPedsTotal;

/**
 * RESERVE_NETWORK_CLIENT_MISSION_OBJECTS
 */
global.ReserveNetworkClientMissionObjects = function (amount) {
	return _in(0xe7dda8bd, 0x3bcf751c, amount);
};
global.N_0xe7dda8bd3bcf751c = global.ReserveNetworkClientMissionObjects;

/**
 * RESERVE_NETWORK_CLIENT_MISSION_PEDS
 */
global.ReserveNetworkClientMissionPeds = function (amount) {
	return _in(0x807e119f, 0x80231732, amount);
};
global.N_0x807e119f80231732 = global.ReserveNetworkClientMissionPeds;

/**
 * RESERVE_NETWORK_MISSION_OBJECTS
 */
global.ReserveNetworkMissionObjects = function (amount) {
	return _in(0x4e5c93bd, 0x0c32fbf8, amount);
};

/**
 * RESERVE_NETWORK_MISSION_PEDS
 */
global.ReserveNetworkMissionPeds = function (amount) {
	return _in(0xb60feba4, 0x5333d36f, amount);
};

/**
 * RESERVE_NETWORK_MISSION_PICKUPS
 */
global.ReserveNetworkMissionPickups = function (amount) {
	return _in(0x4d40e7d7, 0x49bc6e6d, amount);
};
global.N_0x4d40e7d749bc6e6d = global.ReserveNetworkMissionPickups;

/**
 * RESERVE_NETWORK_MISSION_VEHICLES
 */
global.ReserveNetworkMissionVehicles = function (amount) {
	return _in(0x76b02e21, 0xed27a469, amount);
};

/**
 * Sets an unknown value related to timecycles.
 */
global.ResetAdaptation = function (unk) {
	return _in(0x297b72e2, 0xaf094742, unk);
};
global.N_0x297b72e2af094742 = global.ResetAdaptation;

/**
 * RESET_AI_WEAPON_DAMAGE_MODIFIER
 */
global.ResetAiWeaponDamageModifier = function () {
	return _in(0xea16670e, 0x7ba4743c);
};

/**
 * RESET_ANIM_SCENE
 */
global.ResetAnimScene = function (animScene, playbackListName) {
	return _in(0x8fdf221f, 0x13537936, animScene, _ts(playbackListName));
};

/**
 * NativeDB Introduced: v1355
 */
global.ResetAnimalTuningBoolParam = function (animal, index) {
	return _in(0x96aa1304, 0xd30e6bc3, animal, index);
};

/**
 * NativeDB Introduced: v1355
 */
global.ResetAnimalTuningFloatParam = function (animal, index) {
	return _in(0xe776a195, 0x488fc520, animal, index);
};

/**
 * RESET_DISPATCH_IDEAL_SPAWN_DISTANCE
 */
global.ResetDispatchIdealSpawnDistance = function () {
	return _in(0xc7817264, 0xbc4b6377);
};

/**
 * _RESET_DISPATCH_MAX_SPAWN_DISTANCE
 */
global.ResetDispatchMaxSpawnDistance = function () {
	return _in(0x54ec7b6b, 0xc72bad69);
};
global.N_0x54ec7b6bc72bad69 = global.ResetDispatchMaxSpawnDistance;

/**
 * _RESET_DISPATCH_MIN_SPAWN_DISTANCE
 */
global.ResetDispatchMinSpawnDistance = function () {
	return _in(0x96498d92, 0x2d8d0d0a);
};
global.N_0x96498d922d8d0d0a = global.ResetDispatchMinSpawnDistance;

/**
 * Begins with RESET_*. Next character in the name is either D or E.
 */
global.ResetEndUserBenchmark = function () {
	return _in(0xecbabd03, 0x07fb216f);
};
global.ResetBenchmarkRecording = global.ResetEndUserBenchmark;

/**
 * RESET_ENTITY_ALPHA
 */
global.ResetEntityAlpha = function (entity) {
	return _in(0x744b9ef4, 0x4779d9ab, entity);
};

/**
 * Used for script function RPG_GLOBAL_STATS__PRIVATE__DEACTIVATE_STAT_FLAG - Inspiration Aura unequip
 */
global.ResetEntityAura = function () {
	return _in(0xaf4d239b, 0x8903fcbe);
};
global.N_0xaf4d239b8903fcbe = global.ResetEntityAura;

/**
 * RESET_GROUP_FORMATION_DEFAULT_SPACING
 */
global.ResetGroupFormationDefaultSpacing = function (groupId) {
	return _in(0x63dab4cc, 0xb3273205, groupId);
};

/**
 * Only used in guama1 / guama3 R* Script
 * _REQUEST_* or _RESET_*
 */
global.ResetGuarmaWaterState = function () {
	return _in(0xc63540ae, 0xf8384769);
};
global.N_0xc63540aef8384769 = global.ResetGuarmaWaterState;

/**
 * RESET_HORSE_AVOIDANCE_LEVEL_TO_DEFAULT
 */
global.ResetHorseAvoidanceLevelToDefault = function (horse) {
	return _in(0x2a5afd2b, 0x8381a6e1, horse);
};
global.N_0x2a5afd2b8381a6e1 = global.ResetHorseAvoidanceLevelToDefault;

/**
 * RESET_LAW_RESPONSE_DELAY_OVERRIDE
 */
global.ResetLawResponseDelayOverride = function () {
	return _in(0x5ce5cacc, 0x01d0f985);
};
global.N_0x5ce5cacc01d0f985 = global.ResetLawResponseDelayOverride;

/**
 * RESET_MINIMAP_FOW
 */
global.ResetMinimapFow = function (hash) {
	return _in(0xeb3cb338, 0x6c775d72, _ch(hash));
};
global.N_0xeb3cb3386c775d72 = global.ResetMinimapFow;

/**
 * _RESET_OBJECT_VELOCITY
 */
global.ResetObjectVelocity = function (object) {
	return _in(0xf40ab58d, 0x83c35027, object);
};
global.N_0xf40ab58d83c35027 = global.ResetObjectVelocity;

/**
 * Resets the effect of SET_PARTICLE_FX_OVERRIDE
 */
global.ResetParticleFxOverride = function (name) {
	return _in(0x274b3dab, 0xf7e72def, _ts(name));
};

/**
 * RESET_PAUSED_RENDERPHASES
 */
global.ResetPausedRenderphases = function () {
	return _in(0xccd9aad8, 0x5e1b559e);
};

/**
 * _RESET_PED_COMPONENTS
 */
global.ResetPedComponents = function (ped) {
	return _in(0x0bfa1bd4, 0x65cdfefd, ped);
};
global.N_0x0bfa1bd465cdfefd = global.ResetPedComponents;

/**
 * RESET_PED_IN_VEHICLE_CONTEXT
 */
global.ResetPedInVehicleContext = function (ped) {
	return _in(0x22ef8ff8, 0x778030eb, ped);
};

/**
 * _RESET_PED_INCAPACITATION_BLEED_OUT_DURATION
 */
global.ResetPedIncapacitationBleedOutDuration = function (ped) {
	return _in(0x4b9668db, 0x91dc39b8, ped);
};
global.N_0x4b9668db91dc39b8 = global.ResetPedIncapacitationBleedOutDuration;

/**
 * _RESET_PED_LADDER_MOVEMENT_SPEED_MODIFIER
 */
global.ResetPedLadderMovementSpeedModifier = function (ped) {
	return _in(0x801917e7, 0xd7bce418, ped);
};
global.N_0x801917e7d7bce418 = global.ResetPedLadderMovementSpeedModifier;

/**
 * Resets the value for the last vehicle driven by the Ped.
 */
global.ResetPedLastVehicle = function (ped) {
	return _in(0xbb8de8cf, 0x6a8dd8bb, ped);
};

/**
 * RESET_PED_RAGDOLL_TIMER
 */
global.ResetPedRagdollTimer = function (ped) {
	return _in(0x9fa4664c, 0xf62e47e8, ped);
};

/**
 * Removes every texture layer but the base layer
 * Clearing texture's data: setting params to default values, but keep overlays.
 */
global.ResetPedTexture = function (textureId) {
	return _in(0x8472a178, 0x9478f82f, textureId);
};
global.N_0x8472a1789478f82f = global.ResetPedTexture;

/**
 * RESET_PED_WEAPON_MOVEMENT_CLIPSET
 */
global.ResetPedWeaponMovementClipset = function (ped) {
	return _in(0x97b0db5b, 0x4aa74e77, ped);
};

/**
 * RESET_PLAYER_ARREST_STATE
 */
global.ResetPlayerArrestState = function (player) {
	return _in(0x12917931, 0xc31f1750, player);
};

/**
 * RESET_PLAYER_INPUT_GAIT
 */
global.ResetPlayerInputGait = function (player) {
	return _in(0x61a2eeca, 0xb274829b, player);
};

/**
 * RESET_ROADS_IN_VOLUME
 */
global.ResetRoadsInVolume = function (volume, p1) {
	return _in(0xd1767244, 0x7692478e, volume, p1);
};
global.N_0xd17672447692478e = global.ResetRoadsInVolume;

/**
 * _RESET_SCENARIO_FOR_ENTITY
 */
global.ResetScenarioForEntity = function (scenario, entity) {
	return _in(0x2e20878f, 0xd208a68e, scenario, entity);
};
global.N_0x2e20878fd208a68e = global.ResetScenarioForEntity;

/**
 * RESET_SCENARIO_GROUPS_ENABLED
 */
global.ResetScenarioGroupsEnabled = function () {
	return _in(0xdd902d03, 0x49afad3a);
};

/**
 * _RESET_SCENARIO_SCRIPT
 */
global.ResetScenarioScript = function (scenario) {
	return _in(0x5a40040b, 0xb5ae3ea2, scenario);
};
global.N_0x5a40040bb5ae3ea2 = global.ResetScenarioScript;

/**
 * RESET_SCENARIO_TYPES_ENABLED
 */
global.ResetScenarioTypesEnabled = function () {
	return _in(0x0d40ee2a, 0x7f2b2d6d);
};

/**
 * RESET_SCRIPT_TIME_WITHIN_FRAME
 */
global.ResetScriptTimeWithinFrame = function () {
	return _in(0x1411a7cb, 0xc3a6eb7b);
};
global.ResetScriptTimeWithinFrame = global.ResetScriptTimeWithinFrame;

/**
 * RESET_VEHICLE_STUCK_TIMER
 */
global.ResetVehicleStuckTimer = function (vehicle, nullAttributes) {
	return _in(0x23298b46, 0x8f7d88b6, vehicle, nullAttributes);
};

/**
 * RESET_WANTED_FOR_NEW_INCIDENT
 */
global.ResetWantedForNewIncident = function (player) {
	return _in(0x2728c77f, 0xbc4b9796, player);
};
global.N_0x2728c77fbc4b9796 = global.ResetWantedForNewIncident;

/**
 * RESET_WANTED_LEVEL_DIFFICULTY
 */
global.ResetWantedLevelDifficulty = function (player) {
	return _in(0x062d14f1, 0x8e8b0cae, player);
};

/**
 * RESET_WANTED_RESPONSE_NUM_PEDS_TO_SPAWN
 */
global.ResetWantedResponseNumPedsToSpawn = function () {
	return _in(0xef42f56f, 0x69877125);
};
global.N_0xef42f56f69877125 = global.ResetWantedResponseNumPedsToSpawn;

/**
 * RESTART_SCRIPTED_CONVERSATION
 */
global.RestartScriptedConversation = function (p0) {
	return _in(0x9aeb285d, 0x1818c9ac, _ts(p0));
};

/**
 * _RESTORE_GLOBAL_BLOCK
 */
global.RestoreGlobalBlock = function (index) {
	return _in(0xdc3914a9, 0x9b4a5fdf, index, _r, _ri);
};
global.N_0xdc3914a99b4a5fdf = global.RestoreGlobalBlock;

/**
 * 0.0 <= stamina <= 100.0
 */
global.RestorePedStamina = function (ped, stamina) {
	return _in(0x675680d0, 0x89bfa21f, ped, _fv(stamina));
};
global.N_0x675680d089bfa21f = global.RestorePedStamina;

/**
 * RESTORE_PLAYER_STAMINA
 */
global.RestorePlayerStamina = function (player, p1) {
	return _in(0xc41f4b6e, 0x23fe6a4a, player, _fv(p1));
};

/**
 * RESUME_ANIM_SCENE_FROM_LAST_CHECKPOINT
 */
global.ResumeAnimSceneFromLastCheckpoint = function (animScene) {
	return _in(0x8e1ba705, 0xf63c1925, animScene);
};

/**
 * This function will simply bring the dead ped back to life.
 * Before calling this function, you may want to declare the position, where your Resurrected ped to be spawn at because theres a chance the ped will fall through the map
 * Also, disabling any assigned task immediately helped in the number of scenarios, where If you want peds to perform certain decided tasks.
 */
global.ResurrectPed = function (ped) {
	return _in(0x71bc8e83, 0x8b9c6035, ped);
};

/**
 * RETAIN_ENTITY_IN_INTERIOR
 */
global.RetainEntityInInterior = function (entity, interior) {
	return _in(0x5bd61673, 0x5f16bf5c, entity, interior);
};
global.N_0x5bd616735f16bf5c = global.RetainEntityInInterior;

/**
 * _RETASK_PERSISTENT_CHARACTER
 */
global.RetaskPersistentCharacter = function (persChar) {
	return _in(0x631cd2d7, 0x7fdc0316, persChar);
};
global.N_0x631cd2d77fdc0316 = global.RetaskPersistentCharacter;

/**
 * _REVEAL_MINIMAP_FOW
 */
global.RevealMinimapFow = function (hash) {
	return _in(0xf8096df9, 0xb87246e3, _ch(hash));
};
global.N_0xf8096df9b87246e3 = global.RevealMinimapFow;

/**
 * REVIVE_INJURED_PED
 */
global.ReviveInjuredPed = function (ped) {
	return _in(0x8d8acd83, 0x88cd99ce, ped);
};

/**
 * _REVIVE_PERSCHAR
 */
global.RevivePerschar = function (persChar) {
	return _in(0x49a8c2cd, 0x97815215, persChar, _r, _ri);
};
global.N_0x49a8c2cd97815215 = global.RevivePerschar;

/**
 * _ROPE_CHANGE_VISIBILITY
 */
global.RopeChangeVisibility = function (visible) {
	return _in(0x7a54d822, 0x27a139db, _i, visible);
};
global.N_0x7a54d82227a139db = global.RopeChangeVisibility;

/**
 * ROPE_DRAW_SHADOW_ENABLED
 */
global.RopeDrawShadowEnabled = function (toggle) {
	return _in(0xf159a638, 0x06bb5ba8, _i, toggle);
};

/**
 * Forces a rope to a certain length.
 */
global.RopeForceLength = function (ropeId, length) {
	return _in(0xd009f759, 0xa723db1b, ropeId, _fv(length));
};

/**
 * NativeDB Introduced: v1311
 */
global.RopeGetBreakerOfRope = function (ropeId) {
	return _in(0xee360cfc, 0x80c8b2bc, ropeId, _r, _ri);
};

/**
 * _ROPE_GET_FORCED_LENGTH
 */
global.RopeGetForcedLength = function (ropeId) {
	return _in(0x3d695370, 0x39f8d824, ropeId, _r, _rf);
};
global.N_0x3d69537039f8d824 = global.RopeGetForcedLength;

/**
 * ROPE_SET_UPDATE_ORDER
 */
global.RopeSetUpdateOrder = function (ropeId, p1) {
	return _in(0xdc57a637, 0xa20006ed, ropeId, p1);
};

/**
 * ROUND
 */
global.Round = function (value) {
	return _in(0xf2db717a, 0x73826179, _fv(value), _r, _ri);
};

/**
 * Saves the benchmark recording to %USERPROFILE%\Documents\Rockstar Games\Red Dead Redemption 2\Benchmarks and submits some metrics.
 */
global.SaveEndUserBenchmark = function () {
	return _in(0xf4743e2e, 0xcc02b3da);
};
global.SaveBenchmarkRecording = global.SaveEndUserBenchmark;

/**
 * SAVE_HIGH_QUALITY_PHOTO
 */
global.SaveHighQualityPhoto = function (unused) {
	return _in(0x57639fd8, 0x76b68a91, unused, _r, _ri);
};
global.N_0x57639fd876b68a91 = global.SaveHighQualityPhoto;

/**
 * Does the exact same as 0x529B9CCD0972AF4E
 */
global.SavegameGetBool = function (variableName) {
	return _in(0xbb7f4273, 0xc186bc4b, _i, _ts(variableName));
};
global.N_0xbb7f4273c186bc4b = global.SavegameGetBool;

/**
 * _SAVEGAME_GET_FLOAT
 */
global.SavegameGetFloat = function (variableName) {
	return _in(0x35defeca, 0xe36d4fae, _i, _ts(variableName));
};
global.N_0x35defecae36d4fae = global.SavegameGetFloat;

/**
 * _SAVEGAME_GET_INT
 */
global.SavegameGetInt = function (variableName) {
	return _in(0x529b9ccd, 0x0972af4e, _i, _ts(variableName));
};
global.N_0x529b9ccd0972af4e = global.SavegameGetInt;

/**
 * Does the exact same as 0x529B9CCD0972AF4E
 * Commonly used with time/timestamps
 */
global.SavegameGetInt_2 = function (variableName) {
	return _in(0x529b9ccd, 0x0972af4d, _i, _ts(variableName));
};
global.N_0x529b9ccd0972af4d = global.SavegameGetInt_2;

/**
 * Does the exact same as 0x529B9CCD0972AF4E
 * Commonly used with enums and flags
 */
global.SavegameGetInt_3 = function (variableName) {
	return _in(0xb25b5a37, 0x5be5be26, _i, _ts(variableName));
};
global.N_0xb25b5a375be5be26 = global.SavegameGetInt_3;

/**
 * _SAVEGAME_GET_TEXT_LABEL_23
 */
global.SavegameGetTextLabel_23 = function (variableName) {
	return _in(0x5a10d650, 0x6b2f2c63, _i, _ts(variableName));
};
global.N_0x5a10d6506b2f2c63 = global.SavegameGetTextLabel_23;

/**
 * _SAVEGAME_GET_TEXT_LABEL_31
 */
global.SavegameGetTextLabel_31 = function (variableName) {
	return _in(0x4845e7e7, 0x643a908c, _i, _ts(variableName));
};
global.N_0x4845e7e7643a908c = global.SavegameGetTextLabel_31;

/**
 * _SAVEGAME_GET_TEXT_LABEL_63
 */
global.SavegameGetTextLabel_63 = function (variableName) {
	return _in(0x186608a2, 0xac6f9e88, _i, _ts(variableName));
};
global.N_0x186608a2ac6f9e88 = global.SavegameGetTextLabel_63;

/**
 * SAVEGAME_IS_SAVE_PENDING
 */
global.SavegameIsSavePending = function () {
	return _in(0x3cf46f55, 0xc6585590, _r, _ri);
};
global.N_0x3cf46f55c6585590 = global.SavegameIsSavePending;

/**
 * See SAVEGAME_SAVE_SP
 */
global.SavegameSaveMp = function (savegameType) {
	return _in(0x1840f3b3, 0x0ed0105f, _ch(savegameType), _r, _ri);
};
global.N_0x1840f3b30ed0105f = global.SavegameSaveMp;

/**
 * enum eSavegameType : Hash
 * {
 * SAVEGAMETYPE_AMBIENT = 0x3CA4E1F8,
 * SAVEGAMETYPE_DEFAULT = 0xCB6ED080,
 * SAVEGAMETYPE_DELETE_CHAR = 0xCD35F947,
 * SAVEGAMETYPE_END_CREATE_NEWCHAR = 0x4C50A3CE,
 * SAVEGAMETYPE_END_MATCH = 0xE470ED50,
 * SAVEGAMETYPE_END_MISSION = 0x9A444E54,
 * SAVEGAMETYPE_END_SESSION = 0x6D23956C,
 * SAVEGAMETYPE_END_SHOPPING = 0xA311A6C4,
 * SAVEGAMETYPE_RANKUP = 0xE25F8017,
 * SAVEGAMETYPE_SCRIPT_MP_GLOBALS = 0xAFF30AD4,
 * SAVEGAMETYPE_SP_AUTOSAVE = 0xF4AE69EC,
 * SAVEGAMETYPE_SP_DEBUG = 0x6A8122FD,
 * SAVEGAMETYPE_SP_PROPERTY = 0xAE0AB38E
 * };
 */
global.SavegameSaveSp = function (savegameType) {
	return _in(0x62c9eb51, 0x656d68ce, _ch(savegameType), _r, _ri);
};
global.N_0x62c9eb51656d68ce = global.SavegameSaveSp;

/**
 * SC_COMMUNITY_EVENT_GET_DISPLAY_NAME
 */
global.ScCommunityEventGetDisplayName = function (p0) {
	return _in(0x89d9bde7, 0x334b110f, _ts(p0), _r, _ri);
};
global.N_0x89d9bde7334b110f = global.ScCommunityEventGetDisplayName;

/**
 * SC_COMMUNITY_EVENT_GET_DISPLAY_NAME_BY_ID
 */
global.ScCommunityEventGetDisplayNameById = function (p0, p1) {
	return _in(0x11ea52ca, 0xd1b55910, p0, _ts(p1), _r);
};
global.N_0x11ea52cad1b55910 = global.ScCommunityEventGetDisplayNameById;

/**
 * SC_COMMUNITY_EVENT_GET_DISPLAY_NAME_FOR_TYPE
 */
global.ScCommunityEventGetDisplayNameForType = function (p0, p1) {
	return _in(0x85ea0bec, 0x7b1f7622, _ts(p0), _ts(p1), _r, _ri);
};
global.N_0x85ea0bec7b1f7622 = global.ScCommunityEventGetDisplayNameForType;

/**
 * SC_COMMUNITY_EVENT_GET_EVENT_ID
 */
global.ScCommunityEventGetEventId = function () {
	return _in(0xd635df6b, 0xaa5a6017, _r, _ri);
};
global.N_0xd635df6baa5a6017 = global.ScCommunityEventGetEventId;

/**
 * SC_COMMUNITY_EVENT_GET_EVENT_ID_FOR_TYPE
 */
global.ScCommunityEventGetEventIdForType = function (p0) {
	return _in(0x03c03abb, 0xabbef752, _ts(p0), _r, _ri);
};
global.N_0x03c03abbabbef752 = global.ScCommunityEventGetEventIdForType;

/**
 * SC_COMMUNITY_EVENT_GET_EXTRA_DATA_FLOAT
 */
global.ScCommunityEventGetExtraDataFloat = function (p0, p1) {
	return _in(0x060bbad6, 0x34c2b44b, _ts(p0), _fi(p1) /* may be optional */, _r, _ri);
};
global.N_0x060bbad634c2b44b = global.ScCommunityEventGetExtraDataFloat;

/**
 * SC_COMMUNITY_EVENT_GET_EXTRA_DATA_FLOAT_BY_ID
 */
global.ScCommunityEventGetExtraDataFloatById = function (p0, p1, p2) {
	return _in(0x91c9e2a0, 0xf9dd6dd4, p0, _ts(p1), _fi(p2) /* may be optional */, _r, _ri);
};
global.N_0x91c9e2a0f9dd6dd4 = global.ScCommunityEventGetExtraDataFloatById;

/**
 * SC_COMMUNITY_EVENT_GET_EXTRA_DATA_FLOAT_FOR_TYPE
 */
global.ScCommunityEventGetExtraDataFloatForType = function (p0, p2) {
	return _in(0x1bdb56db, 0x258f052d, _ts(p0), _f, _ts(p2), _r, _ri);
};
global.N_0x1bdb56db258f052d = global.ScCommunityEventGetExtraDataFloatForType;

/**
 * SC_COMMUNITY_EVENT_GET_EXTRA_DATA_INT
 */
global.ScCommunityEventGetExtraDataInt = function (p0, p1) {
	return _in(0xb4411d4d, 0x6b81438e, _ts(p0), _ii(p1) /* may be optional */, _r, _ri);
};
global.N_0xb4411d4d6b81438e = global.ScCommunityEventGetExtraDataInt;

/**
 * SC_COMMUNITY_EVENT_GET_EXTRA_DATA_INT_BY_ID
 */
global.ScCommunityEventGetExtraDataIntById = function (p0, p1, p2) {
	return _in(0x7c981de0, 0x5a7403a0, p0, _ts(p1), _ii(p2) /* may be optional */, _r);
};
global.N_0x7c981de05a7403a0 = global.ScCommunityEventGetExtraDataIntById;

/**
 * SC_COMMUNITY_EVENT_GET_EXTRA_DATA_INT_FOR_TYPE
 */
global.ScCommunityEventGetExtraDataIntForType = function (p0, p2) {
	return _in(0x3519cc35, 0x25319a96, _ts(p0), _i, _ts(p2), _r, _ri);
};
global.N_0x3519cc3525319a96 = global.ScCommunityEventGetExtraDataIntForType;

/**
 * SC_COMMUNITY_EVENT_GET_EXTRA_DATA_STRING
 */
global.ScCommunityEventGetExtraDataString = function (p0, p1) {
	return _in(0x9f6dcd0c, 0x939c71e9, _ts(p0), _ts(p1), _r, _ri);
};
global.N_0x9f6dcd0c939c71e9 = global.ScCommunityEventGetExtraDataString;

/**
 * SC_COMMUNITY_EVENT_GET_EXTRA_DATA_STRING_BY_ID
 */
global.ScCommunityEventGetExtraDataStringById = function (p0, p1, p2) {
	return _in(0x049d2196, 0xd9d11184, p0, _ts(p1), _ts(p2), _r);
};
global.N_0x049d2196d9d11184 = global.ScCommunityEventGetExtraDataStringById;

/**
 * SC_COMMUNITY_EVENT_GET_EXTRA_DATA_STRING_FOR_TYPE
 */
global.ScCommunityEventGetExtraDataStringForType = function (p0, p1, p2) {
	return _in(0xc8fc3b24, 0x32e8229d, _ts(p0), _ts(p1), _ts(p2), _r, _ri);
};
global.N_0xc8fc3b2432e8229d = global.ScCommunityEventGetExtraDataStringForType;

/**
 * SC_COMMUNITY_EVENT_IS_ACTIVE
 */
global.ScCommunityEventIsActive = function () {
	return _in(0xcbf743c9, 0x84695cf3, _r, _ri);
};
global.N_0xcbf743c984695cf3 = global.ScCommunityEventIsActive;

/**
 * SC_COMMUNITY_EVENT_IS_ACTIVE_BY_ID
 */
global.ScCommunityEventIsActiveById = function (p0) {
	return _in(0x62b384fe, 0xfde06817, p0, _r, _ri);
};
global.N_0x62b384fefde06817 = global.ScCommunityEventIsActiveById;

/**
 * SC_COMMUNITY_EVENT_IS_ACTIVE_FOR_TYPE
 */
global.ScCommunityEventIsActiveForType = function (p0) {
	return _in(0x09937eb0, 0xcebc2f9f, _ts(p0), _r, _ri);
};
global.N_0x09937eb0cebc2f9f = global.ScCommunityEventIsActiveForType;

/**
 * NativeDB Introduced: v1232
 */
global.ScFeedHubHasNewData = function () {
	return _in(0x068332d2, 0x0cb6f897, _r);
};

/**
 * _SC_FEED_SUBMIT_PRESET_MESSAGE
 */
global.ScFeedSubmitPresetMessage = function (type, subType) {
	return _in(0xefb64240, 0xf6b17817, type, subType, _r, _ri);
};

/**
 * SC_INBOX_GET_MESSAGE_IS_READ_AT_INDEX
 */
global.ScInboxGetMessageIsReadAtIndex = function (msgIndex) {
	return _in(0x74cf39e0, 0x30a382c4, msgIndex, _r);
};
global.IsScInboxValid = global.ScInboxGetMessageIsReadAtIndex;

/**
 * SC_INBOX_GET_MESSAGE_TYPE_AT_INDEX
 */
global.ScInboxGetMessageTypeAtIndex = function (msgIndex) {
	return _in(0xff92537c, 0x4ddc1241, msgIndex, _r, _ri);
};
global.ScInboxMessageInit = global.ScInboxGetMessageTypeAtIndex;

/**
 * SC_INBOX_GET_TOTAL_NUM_MESSAGES
 */
global.ScInboxGetTotalNumMessages = function () {
	return _in(0x8ef0f633, 0x280c0663, _r, _ri);
};
global.GetTotalScInboxIds = global.ScInboxGetTotalNumMessages;

/**
 * SC_INBOX_MESSAGE_GET_DATA_INT
 */
global.ScInboxMessageGetDataInt = function (p0, context, out) {
	return _in(0x95bb39c4, 0xda99f348, p0, _ts(context), _ii(out) /* may be optional */, _r);
};

/**
 * SC_INBOX_MESSAGE_GET_DATA_STRING
 */
global.ScInboxMessageGetDataString = function (p0, context, out) {
	return _in(0x66f77fd5, 0x8506ff6b, p0, _ts(context), _ts(out), _r);
};

/**
 * SC_INBOX_MESSAGE_GET_RAW_TYPE_AT_INDEX
 */
global.ScInboxMessageGetRawTypeAtIndex = function (p0) {
	return _in(0x176d0776, 0x85cd83e4, p0, _r, _s);
};
global.ScInboxMessageGetString = global.ScInboxMessageGetRawTypeAtIndex;

/**
 * SC_INBOX_SET_MESSAGE_AS_READ_AT_INDEX
 */
global.ScInboxSetMessageAsReadAtIndex = function (msgIndex) {
	return _in(0x63cac501, 0xfff66dc4, msgIndex, _r);
};
global.ScInboxMessagePop = global.ScInboxSetMessageAsReadAtIndex;

/**
 * SC_PRESENCE_ATTR_SET_FLOAT
 */
global.ScPresenceAttrSetFloat = function (attrHash, value) {
	return _in(0xa31dafcd, 0xc33775e9, _ch(attrHash), _fv(value), _r, _ri);
};
global.N_0xa31dafcdc33775e9 = global.ScPresenceAttrSetFloat;

/**
 * SC_PRESENCE_ATTR_SET_FLOAT_EX
 */
global.ScPresenceAttrSetFloatEx = function (attrName, value, p2) {
	return _in(0x00000000, 0x467f4caa, _ts(attrName), _fv(value), p2, _r, _ri);
};
global.N_0x00000000467f4caa = global.ScPresenceAttrSetFloatEx;

/**
 * SC_PRESENCE_ATTR_SET_INT_EX
 */
global.ScPresenceAttrSetIntEx = function (attrName, value, p2) {
	return _in(0x00000000, 0x85488c49, _ts(attrName), value, p2, _r, _ri);
};
global.N_0x0000000085488c49 = global.ScPresenceAttrSetIntEx;

/**
 * SC_PRESENCE_ATTR_SET_STRING_EX
 */
global.ScPresenceAttrSetStringEx = function (attrName, value, p2) {
	return _in(0x00000000, 0xeb2d93b3, _ts(attrName), _ts(value), p2, _r, _ri);
};
global.N_0x00000000eb2d93b3 = global.ScPresenceAttrSetStringEx;

/**
 * Starts a task to check an entered string for profanity on the ROS/Social Club services.
 */
global.ScProfanityCheckString = function (string, token) {
	return _in(0x9c74ac9d, 0x87b3fff4, _ts(string), _ii(token) /* may be optional */, _r);
};

/**
 * SC_PROFANITY_GET_CHECK_IS_PENDING
 */
global.ScProfanityGetCheckIsPending = function (token) {
	return _in(0x3a10bcd0, 0xc8aa0b82, token, _r);
};

/**
 * SC_PROFANITY_GET_CHECK_IS_VALID
 */
global.ScProfanityGetCheckIsValid = function (token) {
	return _in(0x08c8052a, 0xf40c4247, token, _r);
};

/**
 * SC_PROFANITY_GET_STRING_PASSED
 */
global.ScProfanityGetStringPassed = function (token) {
	return _in(0xf302973b, 0xb8be70e6, token, _r);
};

/**
 * SC_PROFANITY_GET_STRING_STATUS
 */
global.ScProfanityGetStringStatus = function (token) {
	return _in(0x0cf3bfb9, 0x9ebbe5b1, token, _r, _ri);
};

/**
 * Sets the loot table an entity will carry. Returns true if loot table has been successfully set. Returns false if entity is not a ped or object.
 * https://github.com/femga/rdr3_discoveries/blob/master/AI/EVENTS/loot_rewards.lua
 */
global.ScriptOverrideEntityLootTablePermanent = function (entity, lootTable) {
	return _in(0x8c03cd6b, 0x5e0e85e8, entity, _ch(lootTable), _r, _ri);
};
global.N_0x8c03cd6b5e0e85e8 = global.ScriptOverrideEntityLootTablePermanent;

/**
 * SCRIPT_RACE_GET_PLAYER_SPLIT_TIME
 */
global.ScriptRaceGetPlayerSplitTime = function (p0) {
	return _in(0x769e848c, 0x66e3c2bb, p0, _i, _i, _r);
};
global.N_0x769e848c66e3c2bb = global.ScriptRaceGetPlayerSplitTime;

/**
 * SCRIPT_RACE_INIT
 */
global.ScriptRaceInit = function (numCheckpoints, numLaps, numPlayers, p3) {
	return _in(0x8ae059f4, 0x7158417e, numCheckpoints, numLaps, numPlayers, p3);
};
global.N_0x8ae059f47158417e = global.ScriptRaceInit;

/**
 * SCRIPT_RACE_PLAYER_HIT_CHECKPOINT
 */
global.ScriptRacePlayerHitCheckpoint = function (part, checkpoint, lap, time) {
	return _in(0xba62b4d8, 0x0fa66bd6, part, checkpoint, lap, time);
};
global.N_0xba62b4d80fa66bd6 = global.ScriptRacePlayerHitCheckpoint;

/**
 * SCRIPT_RACE_SHUTDOWN
 */
global.ScriptRaceShutdown = function () {
	return _in(0x334ce0da, 0x4faf330c);
};
global.N_0x334ce0da4faf330c = global.ScriptRaceShutdown;

/**
 * If the function returns 0, the end of the iteration has been reached.
 */
global.ScriptThreadIteratorGetNextThreadId = function () {
	return _in(0x3ce3fb16, 0x7e837d7c, _r, _ri);
};

/**
 * Starts a new iteration of the current threads.
 * Call this first, then SCRIPT_THREAD_ITERATOR_GET_NEXT_THREAD_ID (0x30B4FA1C82DD4B9F)
 */
global.ScriptThreadIteratorReset = function () {
	return _in(0x39382eb8, 0xdcd8684d);
};

/**
 * Alternative Name: _GET_ENTITY_FROM_MAP_OBJECT; You can get existing objects and manipulate them using this native.
 */
global.SearchBuildingPoolForEntityWithThisModel = function (modelHash) {
	return _in(0x66b2b83b, 0x94b22458, _ch(modelHash), _r, _ri);
};
global.N_0x66b2b83b94b22458 = global.SearchBuildingPoolForEntityWithThisModel;

/**
 * Activates EagleEye, called together with 0x28A13BF6B05C3D83
 */
global.SecondarySpecialAbilitySetActive = function (player) {
	return _in(0x1710bc33, 0xcfb83634, player);
};
global.N_0x1710bc33cfb83634 = global.SecondarySpecialAbilitySetActive;

/**
 * Deactivates EagleEye, called together with 0xC0B21F235C02139C
 */
global.SecondarySpecialAbilitySetDisabled = function (player, disabled) {
	return _in(0x64ff4bf9, 0xaf59e139, player, disabled);
};
global.N_0x64ff4bf9af59e139 = global.SecondarySpecialAbilitySetDisabled;

/**
 * Sends a message to the specific DUI root page. This is similar to SEND_NUI_MESSAGE.
 * @param duiObject The DUI browser handle.
 * @param jsonString The message, encoded as JSON.
 */
global.SendDuiMessage = function (duiObject, jsonString) {
	return _in(0x00000000, 0xcd380da9, duiObject, _ts(jsonString));
};

/**
 * Injects a 'mouse down' event for a DUI object. Coordinates are expected to be set using SEND_DUI_MOUSE_MOVE.
 * @param duiObject The DUI browser handle.
 * @param button Either `'left'`, `'middle'` or `'right'`.
 */
global.SendDuiMouseDown = function (duiObject, button) {
	return _in(0x00000000, 0x5d01f191, duiObject, _ts(button));
};

/**
 * Injects a 'mouse move' event for a DUI object. Coordinates are in browser space.
 * @param duiObject The DUI browser handle.
 * @param x The mouse X position.
 * @param y The mouse Y position.
 */
global.SendDuiMouseMove = function (duiObject, x, y) {
	return _in(0x00000000, 0xd9d7a0aa, duiObject, x, y);
};

/**
 * Injects a 'mouse up' event for a DUI object. Coordinates are expected to be set using SEND_DUI_MOUSE_MOVE.
 * @param duiObject The DUI browser handle.
 * @param button Either `'left'`, `'middle'` or `'right'`.
 */
global.SendDuiMouseUp = function (duiObject, button) {
	return _in(0x00000000, 0x1d735b93, duiObject, _ts(button));
};

/**
 * Injects a 'mouse wheel' event for a DUI object.
 * @param duiObject The DUI browser handle.
 * @param deltaY The wheel Y delta.
 * @param deltaX The wheel X delta.
 */
global.SendDuiMouseWheel = function (duiObject, deltaY, deltaX) {
	return _in(0x00000000, 0x2d62133a, duiObject, deltaY, deltaX);
};

/**
 * Sends a message to the `loadingScreen` NUI frame, which contains the HTML page referenced in `loadscreen` resources.
 * @param jsonString The JSON-encoded message.
 * @return A success value.
 */
global.SendLoadingScreenMessage = function (jsonString) {
	return _in(0x00000000, 0x8bbe6cc0, _ts(jsonString), _r);
};

/**
 * SEND_NUI_MESSAGE
 */
global.SendNuiMessage = function (jsonString) {
	return _in(0x00000000, 0x78608acb, _ts(jsonString), _r);
};

/**
 * Appears to just send specified weapon to your horse holster without having to be close
 * However, the weapon is not visible on the horse holster, but you can reach the weapon on the weapon wheel
 */
global.SendWeaponToInventory = function (ped, weaponHash) {
	return _in(0xe9bd19f8, 0x121ade3e, ped, _ch(weaponHash));
};
global.N_0xe9bd19f8121ade3e = global.SendWeaponToInventory;

/**
 * _SET_ACCURACY_AGAINST_LOCAL_PLAYER_MODIFIER
 */
global.SetAccuracyAgainstLocalPlayerModifier = function (ped, modifier) {
	return _in(0xc2266aa6, 0x17668ad3, ped, _fv(modifier));
};
global.N_0xc2266aa617668ad3 = global.SetAccuracyAgainstLocalPlayerModifier;

/**
 * SET_ACTIVATE_OBJECT_PHYSICS_AS_SOON_AS_IT_IS_UNFROZEN
 */
global.SetActivateObjectPhysicsAsSoonAsItIsUnfrozen = function (object, toggle) {
	return _in(0x406137f8, 0xef90eaf5, object, toggle);
};

/**
 * emote hashes: KIT_EMOTE_TWIRL_GUN, KIT_EMOTE_TWIRL_GUN_LEFT_HOLSTER, KIT_EMOTE_TWIRL_GUN_DUAL, 0 (to unequip)
 * ```
 * ```
 * NativeDB Introduced: v1311
 */
global.SetActiveGunSpinningEquipKitEmoteTwirl = function (ped, emote) {
	return _in(0xcbcfff80, 0x5f1b4596, ped, _ch(emote));
};

/**
 * spinHash can be -1, 0 to disable
 */
global.SetActiveGunSpinningKitEmoteTwirl = function (ped, weaponEmoteTrickType, spin) {
	return _in(0x01f661bb, 0x9c71b465, ped, weaponEmoteTrickType, _ch(spin));
};
global.N_0x01f661bb9c71b465 = global.SetActiveGunSpinningKitEmoteTwirl;

/**
 * _SET_AI_CAN_USE_TRANSPORT
 */
global.SetAiCanUseTransport = function (transportEntity, state) {
	return _in(0x67f7ceac, 0x2391e114, transportEntity, state);
};
global.N_0x67f7ceac2391e114 = global.SetAiCanUseTransport;

/**
 * SET_AI_MELEE_WEAPON_DAMAGE_MODIFIER
 */
global.SetAiMeleeWeaponDamageModifier = function (modifier) {
	return _in(0x66460ded, 0xdd417254, _fv(modifier));
};

/**
 * Used in CAIConditionAmbientAIMemoryReactionsEnabled
 */
global.SetAiMemoryReactionsEnabled = function (enabled) {
	return _in(0x6ac4af46, 0xa6b8dfb2, enabled);
};
global.N_0x6ac4af46a6b8dfb2 = global.SetAiMemoryReactionsEnabled;

/**
 * Sets Player's Defense against AI modifier
 */
global.SetAiPlayerDefenseModifierAgainstAi = function (player, modifier) {
	return _in(0x914071ff, 0x93af2692, player, _fv(modifier));
};
global.N_0x914071ff93af2692 = global.SetAiPlayerDefenseModifierAgainstAi;

/**
 * SET_AI_WEAPON_DAMAGE_MODIFIER
 */
global.SetAiWeaponDamageModifier = function (value) {
	return _in(0x1b1e2a40, 0xa65b8521, _fv(value));
};

/**
 * This can be between 1.0f - 50.0f
 */
global.SetAirDragMultiplierForPlayersVehicle = function (player, multiplier) {
	return _in(0x5da6500f, 0xe849da16, player, _fv(multiplier));
};

/**
 * _SET_ALL_GLOBAL_BLOCKS_HAVE_BEEN_LOADED
 */
global.SetAllGlobalBlocksHaveBeenLoaded = function (toggle) {
	return _in(0x11986b05, 0x885564d2, toggle);
};
global.N_0x11986b05885564d2 = global.SetAllGlobalBlocksHaveBeenLoaded;

/**
 * _SET_ALL_JUNCTIONS_CLEARED
 */
global.SetAllJunctionsCleared = function () {
	return _in(0x13839815, 0x3824e332);
};
global.N_0x138398153824e332 = global.SetAllJunctionsCleared;

/**
 * nullsub, doesn't do anything
 */
global.SetAllMapdataCulled = function (p0) {
	return _in(0x19abcc58, 0x1d28e6f9, p0);
};
global.N_0x19abcc581d28e6f9 = global.SetAllMapdataCulled;

/**
 * SET_ALL_NEUTRAL_RANDOM_PEDS_FLEE_THIS_FRAME
 */
global.SetAllNeutralRandomPedsFleeThisFrame = function (player) {
	return _in(0x16752daa, 0x7e6d3f72, player);
};
global.N_0x16752daa7e6d3f72 = global.SetAllNeutralRandomPedsFleeThisFrame;

/**
 * _SET_ALL_PLAYER_BITS
 */
global.SetAllPlayerBits = function (value) {
	return _in(0x20f4cb76, 0x689acdbc, _ii(value) /* may be optional */);
};
global.N_0x20f4cb76689acdbc = global.SetAllPlayerBits;

/**
 * Sets whether all random peds will run away from player if they are agitated (threatened) (bool=true), or some peds can stand up for themselves (bool=false).
 */
global.SetAllRandomPedsFlee = function (player, toggle) {
	return _in(0xe705309b, 0x8c6445a4, player, toggle);
};

/**
 * SET_ALL_RANDOM_PEDS_FLEE_THIS_FRAME
 */
global.SetAllRandomPedsFleeThisFrame = function (player) {
	return _in(0xd5c198a6, 0x2f1deb0a, player);
};

/**
 * SET_ALL_VEHICLE_GENERATORS_ACTIVE
 */
global.SetAllVehicleGeneratorsActive = function () {
	return _in(0x3d596e6e, 0x88a02c24);
};

/**
 * SET_ALL_VEHICLE_GENERATORS_ACTIVE_IN_AREA
 */
global.SetAllVehicleGeneratorsActiveInArea = function (x1, y1, z1, x2, y2, z2, p6, p7) {
	return _in(0xbbb134fb, 0x9d50c0cc, _fv(x1), _fv(y1), _fv(z1), _fv(x2), _fv(y2), _fv(z2), p6, p7);
};

/**
 * _SET_ALL_VEHICLE_GENERATORS_DISABLED_FOR_VOLUME
 */
global.SetAllVehicleGeneratorsDisabledForVolume = function (volume, toggle) {
	return _in(0x424ffcb9, 0xf0d2d4b5, volume, toggle);
};
global.N_0x424ffcb9f0d2d4b5 = global.SetAllVehicleGeneratorsDisabledForVolume;

/**
 * SET_ALLOW_ANY_WEAPON_DROP
 */
global.SetAllowAnyWeaponDrop = function (ped, toggle) {
	return _in(0x78030c78, 0x67d8b9b6, ped, toggle);
};
global.N_0x78030c7867d8b9b6 = global.SetAllowAnyWeaponDrop;

/**
 * _SET_ALLOW_DISABLED_LAW_RESPONSES
 */
global.SetAllowDisabledLawResponses = function (toggle) {
	return _in(0x4b52bf96, 0xe225d230, toggle);
};
global.N_0x4b52bf96e225d230 = global.SetAllowDisabledLawResponses;

/**
 * _SET_ALLOW_DUAL_WIELD
 */
global.SetAllowDualWield = function (ped, allow) {
	return _in(0x83b8d50e, 0xb9446bba, ped, allow);
};
global.N_0x83b8d50eb9446bba = global.SetAllowDualWield;

/**
 * Allows camera to be moved if middle mouse button is held while in first person
 * Must be called every frame
 * _SET*
 * ```
 * ```
 * NativeDB Introduced: v1232
 */
global.SetAllowFirstPersonMouseCameraMovement = function () {
	return _in(0x0546b117, 0xbb17548b);
};
global.N_0x0546b117bb17548b = global.SetAllowFirstPersonMouseCameraMovement;

/**
 * SET_ALLOW_VEHICLE_EXPLODES_ON_CONTACT
 */
global.SetAllowVehicleExplodesOnContact = function (vehicle, p1) {
	return _in(0x8d3230a0, 0xed7de39f, vehicle, p1);
};
global.N_0x8d3230a0ed7de39f = global.SetAllowVehicleExplodesOnContact;

/**
 * _SET_AMBIENT_ANIMAL_DENSITY_MULTIPLIER_THIS_FRAME
 */
global.SetAmbientAnimalDensityMultiplierThisFrame = function (multiplier) {
	return _in(0xc0258742, 0xb034dfaf, _fv(multiplier));
};
global.N_0xc0258742b034dfaf = global.SetAmbientAnimalDensityMultiplierThisFrame;

/**
 * _SET_AMBIENT_HUMAN_DENSITY_MULTIPLIER_THIS_FRAME
 */
global.SetAmbientHumanDensityMultiplierThisFrame = function (multiplier) {
	return _in(0xba0980b5, 0xc0a11924, _fv(multiplier));
};
global.N_0xba0980b5c0a11924 = global.SetAmbientHumanDensityMultiplierThisFrame;

/**
 * _SET_AMBIENT_PED_DENSITY_MULTIPLIER_THIS_FRAME
 */
global.SetAmbientPedDensityMultiplierThisFrame = function (multiplier) {
	return _in(0xab0d553f, 0xe20a6e25, _fv(multiplier));
};
global.N_0xab0d553fe20a6e25 = global.SetAmbientPedDensityMultiplierThisFrame;

/**
 * SET_AMBIENT_PED_RANGE_MULTIPLIER_THIS_FRAME
 */
global.SetAmbientPedRangeMultiplierThisFrame = function (multiplier) {
	return _in(0x0b919e1f, 0xb47cc4e0, _fv(multiplier));
};

/**
 * _SET_AMBIENT_PICKUP_LIFETIME
 */
global.SetAmbientPickupLifetime = function (lifetime) {
	return _in(0xac9ae68f, 0x0a463752, lifetime);
};
global.N_0xac9ae68f0a463752 = global.SetAmbientPickupLifetime;

/**
 * SET_AMBIENT_VOICE_NAME
 */
global.SetAmbientVoiceName = function (ped, name) {
	return _in(0x6c8065a3, 0xb780185b, ped, _ts(name));
};

/**
 * SET_AMBIENT_ZONE_LIST_STATE
 */
global.SetAmbientZoneListState = function (ambientZone, p1, p2) {
	return _in(0x9748fa4d, 0xe50cce3e, _ts(ambientZone), p1, p2);
};

/**
 * SET_AMBIENT_ZONE_LIST_STATE_PERSISTENT
 */
global.SetAmbientZoneListStatePersistent = function (ambientZone, p1, p2) {
	return _in(0xf3638dae, 0x8c4045e1, _ts(ambientZone), p1, p2);
};

/**
 * _SET_AMBIENT_ZONE_POSITION
 */
global.SetAmbientZonePosition = function (ambientZone, x, y, z, heading) {
	return _in(0x3743ce69, 0x48194349, _ts(ambientZone), _fv(x), _fv(y), _fv(z), _fv(heading));
};
global.N_0x3743ce6948194349 = global.SetAmbientZonePosition;

/**
 * SET_AMBIENT_ZONE_STATE
 */
global.SetAmbientZoneState = function (zoneName, isEnabled, p2) {
	return _in(0xbda07e59, 0x50085e46, _ts(zoneName), isEnabled, p2);
};

/**
 * SET_AMBIENT_ZONE_STATE_PERSISTENT
 */
global.SetAmbientZoneStatePersistent = function (ambientZone, p1, p2) {
	return _in(0x1d665042, 0x0cec9d3b, _ts(ambientZone), p1, p2);
};

/**
 * SET_AMMO_IN_CLIP
 */
global.SetAmmoInClip = function (ped, weaponHash, ammo) {
	return _in(0xdcd2a934, 0xd65cb497, ped, _ch(weaponHash), ammo, _r);
};

/**
 * turretHash: WEAPON_TURRET_MAXIUM, WEAPON_TURRET_GATLING, WEAPON_TURRET_CANNON, WEAPON_TURRET_REVOLVING_CANNON
 */
global.SetAmmoInTurret = function (vehicle, turretHash, ammo) {
	return _in(0xbdda0c29, 0x0c228159, vehicle, _ch(turretHash), ammo);
};
global.N_0xbdda0c290c228159 = global.SetAmmoInTurret;

/**
 * _SET_AMMO_TYPE_FOR_PED_WEAPON
 */
global.SetAmmoTypeForPedWeapon = function (ped, weaponHash, ammoHash) {
	return _in(0xcc9c4393, 0x523833e2, ped, _ch(weaponHash), _ch(ammoHash));
};
global.N_0xcc9c4393523833e2 = global.SetAmmoTypeForPedWeapon;

/**
 * _SET_AMMO_TYPE_FOR_PED_WEAPON_INVENTORY
 */
global.SetAmmoTypeForPedWeaponInventory = function (ped, ammoHash) {
	return _in(0xebe46b50, 0x1bc3fbcf, ped, _i, _ch(ammoHash));
};
global.N_0xebe46b501bc3fbcf = global.SetAmmoTypeForPedWeaponInventory;

/**
 * SET_ANIM_FILTER
 */
global.SetAnimFilter = function (p0, p1, p2, p3) {
	return _in(0x87b66d77, 0xd545db66, p0, p1, p2, p3);
};
global.N_0x87b66d77d545db66 = global.SetAnimFilter;

/**
 * SET_ANIM_RATE
 */
global.SetAnimRate = function (p0, p1, p2, p3) {
	return _in(0x032d49c5, 0xe359c847, p0, _fv(p1), p2, p3);
};

/**
 * SET_ANIM_SCENE_BOOL
 */
global.SetAnimSceneBool = function (animScene, name, value, p3) {
	return _in(0x519e96c2, 0xc68b404b, animScene, _ts(name), value, p3);
};

/**
 * SET_ANIM_SCENE_ENTITY
 */
global.SetAnimSceneEntity = function (animScene, entityName, entity, flags) {
	return _in(0x8b720ad4, 0x51ca2ab3, animScene, _ts(entityName), entity, flags);
};

/**
 * SET_ANIM_SCENE_FLOAT
 */
global.SetAnimSceneFloat = function (animScene, name, value, p3, p4) {
	return _in(0x6bc5104e, 0x68cbefe8, animScene, _ts(name), _fv(value), p3, p4);
};

/**
 * SET_ANIM_SCENE_INT
 */
global.SetAnimSceneInt = function (animScene, name, value, p3) {
	return _in(0x3a379d21, 0x66cf5b92, animScene, _ts(name), value, p3);
};

/**
 * SET_ANIM_SCENE_ORIGIN
 */
global.SetAnimSceneOrigin = function (animScene, posX, posY, posZ, rotX, rotY, rotZ, order) {
	return _in(0x020894bf, 0x17a02ef2, animScene, _fv(posX), _fv(posY), _fv(posZ), _fv(rotX), _fv(rotY), _fv(rotZ), order);
};

/**
 * SET_ANIM_SCENE_PAUSED
 */
global.SetAnimScenePaused = function (animScene, toggle) {
	return _in(0xd6824b7d, 0x24dc0ce0, animScene, toggle);
};

/**
 * SET_ANIM_SCENE_PLAY_LIST
 */
global.SetAnimScenePlayList = function (animScene, playlistName, p2) {
	return _in(0x15598cfb, 0x25f3dc7e, animScene, _ts(playlistName), p2);
};
global.N_0x15598cfb25f3dc7e = global.SetAnimScenePlayList;

/**
 * SET_ANIM_SCENE_PLAYBACK_LIST
 */
global.SetAnimScenePlaybackList = function (animScene, playbackListName) {
	return _in(0xab5e7cab, 0x074d6b84, animScene, _ts(playbackListName));
};

/**
 * SET_ANIM_SCENE_RATE
 */
global.SetAnimSceneRate = function (animScene, rate) {
	return _in(0x75820b80, 0x1cff262a, animScene, _fv(rate));
};

/**
 * _SET_ANIMAL_IS_WILD
 */
global.SetAnimalIsWild = function (ped, toggle) {
	return _in(0xaeb97d84, 0xcdf3c00b, ped, toggle);
};
global.N_0xaeb97d84cdf3c00b = global.SetAnimalIsWild;

/**
 * Not implemented.
 */
global.SetAnimalMood = function (animal, mood) {
	return _in(0xcc97b292, 0x85b1dc3b, animal, mood);
};

/**
 * rarityLevel: see _GET_ANIMAL_RARITY
 */
global.SetAnimalRarity = function (ped, rarityLevel) {
	return _in(0x8b6f0f59, 0xb1b99801, ped, rarityLevel);
};
global.N_0x8b6f0f59b1b99801 = global.SetAnimalRarity;

/**
 * SET_ANIMAL_TUNING_BOOL_PARAM
 */
global.SetAnimalTuningBoolParam = function (animal, index, value) {
	return _in(0x9ff1e042, 0xfa597187, animal, index, value);
};

/**
 * SET_ANIMAL_TUNING_FLOAT_PARAM
 */
global.SetAnimalTuningFloatParam = function (animal, index, value) {
	return _in(0xcbda22c8, 0x7977244f, animal, index, _fv(value));
};

/**
 * _SET_ANTI_GRIEF_VOLUME_BLOCKS_HORSE
 */
global.SetAntiGriefVolumeBlocksHorse = function (volume, toggle) {
	return _in(0xbe551c2c, 0xc421185d, volume, toggle);
};
global.N_0xbe551c2cc421185d = global.SetAntiGriefVolumeBlocksHorse;

/**
 * _SET_ANTI_GRIEF_VOLUME_BLOCKS_PLAYER
 */
global.SetAntiGriefVolumeBlocksPlayer = function (volume, toggle) {
	return _in(0x5b23dff8, 0xe0948bb2, volume, toggle);
};
global.N_0x5b23dff8e0948bb2 = global.SetAntiGriefVolumeBlocksPlayer;

/**
 * Does not affect weapons, particles, fire/explosions, flashlights or the sun.
 * When set to true, all emissive textures (including ped components that have light effects), street lights, building lights, vehicle lights, etc will all be turned off.
 * state: True turns off all artificial light sources in the map: buildings, street lights, car lights, etc. False turns them back on.
 */
global.SetArtificialLightsState = function (state) {
	return _in(0xb2797619, 0xa7c7747b, state);
};

/**
 * attributeIndex:
 * enum ePedAttribute
 * {
 * PA_HEALTH,
 * PA_STAMINA,
 * PA_SPECIALABILITY,
 * PA_COURAGE,
 * PA_AGILITY,
 * PA_SPEED,
 * PA_ACCELERATION,
 * PA_BONDING,
 * SA_HUNGER,
 * SA_FATIGUED,
 * SA_INEBRIATED,
 * SA_POISONED,
 * SA_BODYHEAT,
 * SA_BODYWEIGHT,
 * SA_OVERFED,
 * SA_SICKNESS,
 * SA_DIRTINESS,
 * SA_DIRTINESSHAT,
 * MTR_STRENGTH,
 * MTR_GRIT,
 * MTR_INSTINCT,
 * PA_UNRULINESS,
 * SA_DIRTINESSSKIN
 * };
 */
global.SetAttributeBaseRank = function (ped, attributeIndex, newValue) {
	return _in(0x5da12e02, 0x5d47d4e5, ped, attributeIndex, newValue);
};

/**
 * attributeIndex: see SET_ATTRIBUTE_BASE_RANK
 */
global.SetAttributeBonusRank = function (ped, attributeIndex, newValue) {
	return _in(0x920f9488, 0xbd115efb, ped, attributeIndex, newValue);
};

/**
 * coreIndex:
 * enum eAttributeCore
 * {
 * ATTRIBUTE_CORE_HEALTH,
 * ATTRIBUTE_CORE_STAMINA,
 * ATTRIBUTE_CORE_DEADEYE
 * };
 */
global.SetAttributeCoreValue = function (ped, coreIndex, value) {
	return _in(0xc6258f41, 0xd86676e0, ped, coreIndex, value);
};
global.N_0xc6258f41d86676e0 = global.SetAttributeCoreValue;

/**
 * attributeIndex: see SET_ATTRIBUTE_BASE_RANK
 */
global.SetAttributePoints = function (ped, attributeIndex, p2) {
	return _in(0x09a59688, 0xc26d88df, ped, attributeIndex, p2);
};

/**
 * https://github.com/femga/rdr3_discoveries/tree/master/audio/audio_flags
 */
global.SetAudioFlag = function (flagName, toggle) {
	return _in(0xb9efd5c2, 0x5018725a, _ts(flagName), toggle);
};

/**
 * SET_AUDIO_ONLINE_TRANSITION_STAGE
 */
global.SetAudioOnlineTransitionStage = function (p0) {
	return _in(0x9b1fc259, 0x187c97c0, _ts(p0));
};
global.N_0x9b1fc259187c97c0 = global.SetAudioOnlineTransitionStage;

/**
 * SET_AUDIO_SCENE_VARIABLE
 */
global.SetAudioSceneVariable = function (scene, variable, value) {
	return _in(0xef21a9ef, 0x089a2668, _ts(scene), _ts(variable), _fv(value));
};

/**
 * _SET_AUDIO_SCENESET
 */
global.SetAudioSceneset = function (audioName, sceneset) {
	return _in(0xac84686c, 0x06184b0d, _ts(audioName), _ts(sceneset), _r, _ri);
};
global.N_0xac84686c06184b0d = global.SetAudioSceneset;

/**
 * Sets a floating-point parameter for a submix effect.
 * @param submixId The submix.
 * @param effectSlot The effect slot for the submix. It is expected that the effect is set in this slot beforehand.
 * @param paramIndex The parameter index for the effect.
 * @param paramValue The parameter value to set.
 */
global.SetAudioSubmixEffectParamFloat = function (submixId, effectSlot, paramIndex, paramValue) {
	return _in(0x00000000, 0x9a209b3c, submixId, effectSlot, paramIndex, _fv(paramValue));
};

/**
 * Sets an integer parameter for a submix effect.
 * @param submixId The submix.
 * @param effectSlot The effect slot for the submix. It is expected that the effect is set in this slot beforehand.
 * @param paramIndex The parameter index for the effect.
 * @param paramValue The parameter value to set.
 */
global.SetAudioSubmixEffectParamInt = function (submixId, effectSlot, paramIndex, paramValue) {
	return _in(0x00000000, 0x77fae2b8, submixId, effectSlot, paramIndex, paramValue);
};

/**
 * Assigns a RadioFX effect to a submix effect slot.
 * The parameter values for this effect are as follows (backticks are used to represent hashes):
 * | Index | Type | Description |
 * |-|-|-|
 * | \`enabled\` | int | Enables or disables RadioFX on this DSP. |
 * | \`default\` | int | Sets default parameters for the RadioFX DSP and enables it. |
 * | \`freq_low\` | float |  |
 * | \`freq_hi\` | float |  |
 * | \`fudge\` | float |  |
 * | \`rm_mod_freq\` | float |  |
 * | \`rm_mix\` | float |  |
 * | \`o_freq_lo\` | float |  |
 * | \`o_freq_hi\` | float |  |
 * @param submixId The submix.
 * @param effectSlot The effect slot for the submix.
 */
global.SetAudioSubmixEffectRadioFx = function (submixId, effectSlot) {
	return _in(0x00000000, 0xaaa94d53, submixId, effectSlot);
};

/**
 * Sets the volumes for the sound channels in a submix effect.
 * Values can be between 0.0 and 1.0.
 * Channel 5 and channel 6 are not used in voice chat but are believed to be center and LFE channels.
 * Output slot starts at 0 for the first ADD_AUDIO_SUBMIX_OUTPUT call then incremented by 1 on each subsequent call.
 * @param submixId The submix.
 * @param outputSlot The output slot index.
 * @param frontLeftVolume The volume for the front left channel.
 * @param frontRightVolume The volume for the front right channel.
 * @param rearLeftVolume The volume for the rear left channel.
 * @param rearRightVolume The volume for the rear right channel.
 * @param channel5Volume The volume for channel 5.
 * @param channel6Volume The volume for channel 6.
 */
global.SetAudioSubmixOutputVolumes = function (submixId, outputSlot, frontLeftVolume, frontRightVolume, rearLeftVolume, rearRightVolume, channel5Volume, channel6Volume) {
	return _in(0x00000000, 0x825dc0d1, submixId, outputSlot, _fv(frontLeftVolume), _fv(frontRightVolume), _fv(rearLeftVolume), _fv(rearRightVolume), _fv(channel5Volume), _fv(channel6Volume));
};

/**
 * SET_AUDIO_VEHICLE_PRIORITY
 */
global.SetAudioVehiclePriority = function (vehicle, p1) {
	return _in(0xe5564483, 0xe407f914, vehicle, p1);
};

/**
 * Sets object as auto-jumpable by horse.
 */
global.SetAutoJumpableByHorse = function (object, p1) {
	return _in(0x98d2d9c0, 0x53a1f449, object, p1);
};
global.N_0x98d2d9c053a1f449 = global.SetAutoJumpableByHorse;

/**
 * SET_BACKFACECULLING
 */
global.SetBackfaceculling = function (toggle) {
	return _in(0x00000000, 0xc44c2f44, toggle);
};

/**
 * Params: 1.0f will make balloon hover
 */
global.SetBalloonHoverState = function (balloon, p1) {
	return _in(0x7c9e45a4, 0xced2e8da, balloon, _fv(p1));
};
global.N_0x7c9e45a4ced2e8da = global.SetBalloonHoverState;

/**
 * Total height is calculated using: cargo ratio + pelt ratio (by pelt count)
 * Screenshot: https://imgur.com/a/nsomtiv
 */
global.SetBatchTarpHeight = function (vehicle, height, immediately) {
	return _in(0x31f34338, 0x3f19c987, vehicle, _fv(height), immediately);
};
global.N_0x31f343383f19c987 = global.SetBatchTarpHeight;

/**
 * SET_BIT
 */
global.SetBit = function (offset) {
	return _in(0xf73fbe48, 0x45c43b5b, _i, offset);
};

/**
 * Similar to SET_BIT but specifically designed for large (>32 flags) bit flag sets.
 * The flags are stored in an int array where each int has the ability to hold 32 flags.
 * Flags 0-31 would be stored in the first int, flags 32-63 in the second int, etc.
 */
global.SetBitFlag = function (flag) {
	return _in(0xe84aac1b, 0x22a73e99, _i, flag);
};
global.N_0xe84aac1b22a73e99 = global.SetBitFlag;

/**
 * SET_BITS_IN_RANGE
 */
global.SetBitsInRange = function (rangeStart, rangeEnd, p3) {
	return _in(0x324dc1ce, 0xf57f31e6, _i, rangeStart, rangeEnd, p3);
};

/**
 * SET_BLIP_COORDS
 */
global.SetBlipCoords = function (blip, posX, posY, posZ) {
	return _in(0x4ff674f5, 0xe23d49ce, blip, _fv(posX), _fv(posY), _fv(posZ));
};

/**
 * SET_BLIP_FLASH_TIMER
 */
global.SetBlipFlashTimer = function (blip, blipType, blipHash) {
	return _in(0x02ff4cf4, 0x3b7209d1, blip, blipType, _ch(blipHash));
};

/**
 * SET_BLIP_FLASHES
 */
global.SetBlipFlashes = function (blip) {
	return _in(0x0df2b55f, 0x717ddb10, blip, _i, _i, _r, _ri);
};

/**
 * _SET_BLIP_NAME
 */
global.SetBlipName = function (blip, name) {
	return _in(0x9cb1a162, 0x3062f402, blip, _ts(name));
};
global.N_0x9cb1a1623062f402 = global.SetBlipName;

/**
 * SET_BLIP_NAME_FROM_TEXT_FILE
 */
global.SetBlipNameFromTextFile = function (blip, textLabel) {
	return _in(0x0a062d6d, 0x7c0b2c2c, blip, _ts(textLabel));
};

/**
 * SET_BLIP_NAME_TO_PLAYER_NAME
 */
global.SetBlipNameToPlayerName = function (blip, player) {
	return _in(0x093dd5a3, 0x1bc2b459, blip, player);
};

/**
 * SET_BLIP_ROTATION
 */
global.SetBlipRotation = function (blip, rotation) {
	return _in(0x6049966a, 0x94fbe706, blip, rotation);
};

/**
 * SET_BLIP_SCALE
 */
global.SetBlipScale = function (blip, scale) {
	return _in(0xd3874416, 0x7b2fa257, blip, _fv(scale));
};

/**
 * SET_BLIP_SPRITE
 */
global.SetBlipSprite = function (blip, hash, p2) {
	return _in(0x74f74d32, 0x07ed525c, blip, _ch(hash), p2);
};

/**
 * SET_BLOCK_OF_PLAYER_BITS
 */
global.SetBlockOfPlayerBits = function (p1, p2) {
	return _in(0xc6dfb8c0, 0x4c86d5a5, _i, p1, p2);
};

/**
 * SET_BLOCKING_OF_NON_TEMPORARY_EVENTS
 */
global.SetBlockingOfNonTemporaryEvents = function (ped, toggle) {
	return _in(0x9f8aa94d, 0x6d97dbf4, ped, toggle);
};

/**
 * SET_BLOCKING_OF_NON_TEMPORARY_EVENTS_FOR_AMBIENT_PEDS_THIS_FRAME
 */
global.SetBlockingOfNonTemporaryEventsForAmbientPedsThisFrame = function (p0) {
	return _in(0x9911f4a2, 0x4485f653, p0);
};
global.N_0x9911f4a24485f653 = global.SetBlockingOfNonTemporaryEventsForAmbientPedsThisFrame;

/**
 * SET_BOAT_ANCHOR
 */
global.SetBoatAnchor = function (vehicle, toggle) {
	return _in(0xaeab044f, 0x05b92659, vehicle, toggle);
};

/**
 * Value: mostly 99999.9f
 */
global.SetBoatLowLodAnchorDistance = function (vehicle, value) {
	return _in(0xe3261532, 0x550d6a9f, vehicle, _fv(value));
};
global.SetBoatAnchorBuoyancyCoefficient = global.SetBoatLowLodAnchorDistance;

/**
 * SET_BOAT_REMAINS_ANCHORED_WHILE_PLAYER_IS_DRIVER
 */
global.SetBoatRemainsAnchoredWhilePlayerIsDriver = function (vehicle, p1, p2) {
	return _in(0x286771f3, 0x059a37a7, vehicle, p1, p2);
};
global.SetBoatFrozenWhenAnchored = global.SetBoatRemainsAnchoredWhilePlayerIsDriver;

/**
 * SET_BOAT_SINKS_WHEN_WRECKED
 */
global.SetBoatSinksWhenWrecked = function (vehicle, toggle) {
	return _in(0x62a6d317, 0xa011ea1d, vehicle, toggle);
};

/**
 * SET_BOUNTY
 */
global.SetBounty = function (player, amount) {
	return _in(0x093a9d1f, 0x72df0d19, player, amount);
};
global.N_0x093a9d1f72df0d19 = global.SetBounty;

/**
 * p0 is always BOUNTYHUNTERSGLOBALCOOLDOWN in R* scripts
 */
global.SetBountyHunterGlobalCooldown = function (p0, p1) {
	return _in(0xf19706b1, 0xf8ffa88f, _ch(p0), p1);
};
global.N_0xf19706b1f8ffa88f = global.SetBountyHunterGlobalCooldown;

/**
 * Force clears local player's wanted level
 */
global.SetBountyHunterPursuitCleared = function () {
	return _in(0x55f37f5f, 0x3f2475e1);
};
global.N_0x55f37f5f3f2475e1 = global.SetBountyHunterPursuitCleared;

/**
 * _SET_BOUNTY_TARGET
 */
global.SetBountyTarget = function (player, target) {
	return _in(0x6adf821f, 0xbf21920e, player, target);
};
global.N_0x6adf821fbf21920e = global.SetBountyTarget;

/**
 * _SET_BOW_DRAW_REDUCTION_TIME_IN_DEADEYE
 */
global.SetBowDrawReductionTimeInDeadeye = function (player, drawReductionTime) {
	return _in(0xbe0c5249, 0x70892d41, player, _fv(drawReductionTime));
};
global.N_0xbe0c524970892d41 = global.SetBowDrawReductionTimeInDeadeye;

/**
 * Decreases Stamina bar drain speed by % when drawing a bow.
 */
global.SetBowStaminaDrainSpeed = function (player, staminaDrain) {
	return _in(0xfe7c9cf3, 0x76d23342, player, _fv(staminaDrain));
};
global.N_0xfe7c9cf376d23342 = global.SetBowStaminaDrainSpeed;

/**
 * SET_BREAKABLE_VEHICLE_LOCKS_UNBREAKABLE
 */
global.SetBreakableVehicleLocksUnbreakable = function (vehicle, toggle) {
	return _in(0xbc4735f4, 0x8cd983ef, vehicle, toggle);
};
global.N_0xbc4735f48cd983ef = global.SetBreakableVehicleLocksUnbreakable;

/**
 * _SET_BREAKOUT_ARCHETYPE
 */
global.SetBreakoutArchetype = function (ped, archetype) {
	return _in(0x99b2a2e3, 0x655deaf1, ped, _ts(archetype));
};
global.N_0x99b2a2e3655deaf1 = global.SetBreakoutArchetype;

/**
 * Set camera as active/inactive.
 */
global.SetCamActive = function (cam, active) {
	return _in(0x87295bca, 0x613800c8, cam, active);
};

/**
 * SET_CAM_ACTIVE_WITH_INTERP
 */
global.SetCamActiveWithInterp = function (camTo, camFrom, duration, easeLocation, easeRotation) {
	return _in(0x8b15ae29, 0x87c1ac8f, camTo, camFrom, duration, easeLocation, easeRotation);
};

/**
 * Allows you to aim and shoot at the direction the camera is facing.
 */
global.SetCamAffectsAiming = function (cam, toggle) {
	return _in(0x3cb9e8bd, 0xe5e76f33, cam, toggle);
};

/**
 * SET_CAM_CONTROLS_MINI_MAP_HEADING
 */
global.SetCamControlsMiniMapHeading = function (cam, p1) {
	return _in(0x1b8f3ce5, 0xa6001298, cam, p1);
};
global.N_0x1b8f3ce5a6001298 = global.SetCamControlsMiniMapHeading;

/**
 * Sets the position of the cam.
 */
global.SetCamCoord = function (cam, posX, posY, posZ) {
	return _in(0xf9ee7d41, 0x9ee49de6, cam, _fv(posX), _fv(posY), _fv(posZ));
};

/**
 * SET_CAM_FAR_CLIP
 */
global.SetCamFarClip = function (cam, farClip) {
	return _in(0x5e32817b, 0xf6302111, cam, _fv(farClip));
};

/**
 * _SET_CAM_FOCUS_DISTANCE
 */
global.SetCamFocusDistance = function (cam, distance) {
	return _in(0x11f32bb6, 0x1b756732, cam, _fv(distance));
};
global.N_0x11f32bb61b756732 = global.SetCamFocusDistance;

/**
 * Sets the field of view of the cam.
 * Min: 1.0f
 * Max: 130.0f
 */
global.SetCamFov = function (cam, fieldOfView) {
	return _in(0x27666e59, 0x88d9d429, cam, _fv(fieldOfView));
};

/**
 * SET_CAM_MOTION_BLUR_STRENGTH
 */
global.SetCamMotionBlurStrength = function (cam, strength) {
	return _in(0x45fd8913, 0x64181f9e, cam, _fv(strength));
};

/**
 * SET_CAM_NEAR_CLIP
 */
global.SetCamNearClip = function (cam, nearClip) {
	return _in(0xa9240282, 0x72a61364, cam, _fv(nearClip));
};

/**
 * SET_CAM_PARAMS
 */
global.SetCamParams = function (cam, posX, posY, posZ, rotX, rotY, rotZ, fieldOfView, p8, p9, p10, p11, p12, p13) {
	return _in(0xa47bbfff, 0xb83d4d0a, cam, _fv(posX), _fv(posY), _fv(posZ), _fv(rotX), _fv(rotY), _fv(rotZ), _fv(fieldOfView), p8, p9, p10, p11, p12, p13);
};

/**
 * Sets the rotation of the cam.
 */
global.SetCamRot = function (cam, rotX, rotY, rotZ, rotationOrder) {
	return _in(0x63dfa681, 0x0ad78719, cam, _fv(rotX), _fv(rotY), _fv(rotZ), rotationOrder);
};

/**
 * SET_CAM_SPLINE_DURATION
 */
global.SetCamSplineDuration = function (cam, timeDuration) {
	return _in(0xff631165, 0x2ca91015, cam, timeDuration);
};

/**
 * SET_CAM_SPLINE_PHASE
 */
global.SetCamSplinePhase = function (cam, p1) {
	return _in(0xf1898a68, 0xe7c15636, cam, _fv(p1));
};

/**
 * SET_CAM_SPLINE_SMOOTHING_STYLE
 */
global.SetCamSplineSmoothingStyle = function (cam, smoothingStyle) {
	return _in(0x84b36456, 0x18e726b0, cam, smoothingStyle);
};

/**
 * SET_CAN_AUTO_VAULT_ON_ENTITY
 */
global.SetCanAutoVaultOnEntity = function (entity, toggle) {
	return _in(0x80646744, 0xfa88f9d7, entity, toggle);
};

/**
 * SET_CAN_CLIMB_ON_ENTITY
 */
global.SetCanClimbOnEntity = function (entity, toggle) {
	return _in(0x24aed2a6, 0x08f93c4c, entity, toggle);
};

/**
 * _SET_CARRIABLE_CARRY_ACTION_PROMPT_OVERRIDE
 */
global.SetCarriableCarryActionPromptOverride = function (data) {
	return _in(0xf666ef30, 0xf4f0ac4e, _ii(data) /* may be optional */);
};
global.N_0xf666ef30f4f0ac4e = global.SetCarriableCarryActionPromptOverride;
global.InventorySetCarriableCarryActionPromptOverride = global.SetCarriableCarryActionPromptOverride;

/**
 * Sets MetaPedExpression at index specified. Morphs components, such as changing body size or facial features.
 * Note: You have to update the ped's variation (using 0xCC8CA3E88256E58F) after calling this native
 * index = MetaPedExpression IDs
 * List of face features: https://pastebin.com/9jb88FXW
 * Full list of MetaPedExpressions: https://pastebin.com/Ld76cAn7
 * value: -1.0 to 1.0 (values beyond this likely won't sync to other clients)
 * This native also allows you to change a horse's gender.
 */
global.SetCharExpression = function (ped, index, value) {
	return _in(0x5653ab26, 0xc82938cf, ped, index, _fv(value));
};
global.N_0x5653ab26c82938cf = global.SetCharExpression;
global.SetPedFaceFeature = global.SetCharExpression;

/**
 * Cheats are GTA IV cheats:
 * 0 = unknown
 * 1 = unknown (same as 0)
 * 2 = Max Health and Armor
 * 3 = Raise Wanted Level
 * 4 = Lower Wanted Level
 * 5 = unknown (does nothing)
 * 6 = Change Weather
 * 7 = Spawn Annihilator
 * 8 = Spawn NRG 900
 * 9 = Spawn FBI
 * 10 = Spawn Jetmax
 * 11 = Spawn Comet
 * 12 = Spawn Turismo
 * 13 = Spawn Cognoscenti
 * 14 = Spawn Super GT
 * 15 = Spawn Sanchez
 * Initially used in Max Payne 3, that's why we know the name.
 */
global.SetCheatActive = function (cheatId) {
	return _in(0xd4958e8c, 0xf0de0dd0, cheatId);
};
global.N_0xd4958e8cf0de0dd0 = global.SetCheatActive;

/**
 * Sets the checkpoint color.
 */
global.SetCheckpointRgba = function (checkpoint, red, green, blue, alpha) {
	return _in(0xcaafc225, 0xe33b1d15, checkpoint, red, green, blue, alpha);
};

/**
 * Sets the checkpoint icon color.
 */
global.SetCheckpointRgba2 = function (checkpoint, red, green, blue, alpha) {
	return _in(0x99aff172, 0x22d4deb4, checkpoint, red, green, blue, alpha);
};
global.SetCheckpointIconRgba = global.SetCheckpointRgba2;

/**
 * SET_CINEMATIC_BUTTON_ACTIVE
 */
global.SetCinematicButtonActive = function (p0) {
	return _in(0xb90411f4, 0x80457a6c, p0);
};

/**
 * SET_CINEMATIC_MODE_ACTIVE
 */
global.SetCinematicModeActive = function (p0) {
	return _in(0xce7a90b1, 0x60f75046, p0);
};

/**
 * SET_CLOCK_DATE
 */
global.SetClockDate = function (day, month, year) {
	return _in(0x02ad3092, 0x562941e2, day, month, year);
};

/**
 * SET_CLOCK_TIME(12, 34, 56);
 */
global.SetClockTime = function (hour, minute, second) {
	return _in(0x3a52c59f, 0xfb2deed8, hour, minute, second);
};

/**
 * _SET_CLOUD_HEIGHT
 */
global.SetCloudHeight = function (height) {
	return _in(0xc332c913, 0x88f5580b, _fv(height));
};
global.N_0xc332c91388f5580b = global.SetCloudHeight;

/**
 * _SET_CLOUD_LAYER
 */
global.SetCloudLayer = function (x, y, p2) {
	return _in(0xb8c984c0, 0xd47f4f07, _fv(x), _fv(y), p2);
};
global.N_0xb8c984c0d47f4f07 = global.SetCloudLayer;

/**
 * _SET_CLOUD_NOISE
 */
global.SetCloudNoise = function (x, y, z) {
	return _in(0xfe7966df, 0x01452f32, _fv(x), _fv(y), _fv(z));
};
global.N_0xfe7966df01452f32 = global.SetCloudNoise;

/**
 * Only used in finale2, smuggler2, winter4
 * _SET_CLOUD_A* - _SET_CLOUD_H*
 */
global.SetCloudPosition = function (x, y, z) {
	return _in(0x10c1767b, 0x93257480, _fv(x), _fv(y), _fv(z));
};
global.N_0x10c1767b93257480 = global.SetCloudPosition;

/**
 * combatType can be between 0-14. See GET_COMBAT_FLOAT below for a list of possible parameters.
 * https://github.com/femga/rdr3_discoveries/tree/master/AI/COMBAT_FLOATS
 */
global.SetCombatFloat = function (ped, combatType, newValue) {
	return _in(0xff41b4b1, 0x41ed981c, ped, combatType, _fv(newValue));
};

/**
 * enum _0x18F77396
 */
global.SetCompanionActivity = function (groupId, activity) {
	return _in(0x0f1cd8ca, 0x9e65d5f6, groupId, _ch(activity));
};
global.N_0x0f1cd8ca9e65d5f6 = global.SetCompanionActivity;

/**
 * Sets the current control context. Must be called every frame.
 * context: https://alloc8or.re/rdr3/doc/misc/input_contexts.txt
 * For more information, see common:/data/control/settings.meta
 * https://github.com/femga/rdr3_discoveries/tree/master/Controls
 */
global.SetControlContext = function (control, context) {
	return _in(0x2804658e, 0xb7d8a50b, control, _ch(context));
};
global.N_0x2804658eb7d8a50b = global.SetControlContext;

/**
 * nullsub, doesn't do anything
 */
global.SetControlLightEffectColor = function (control, red, green, blue) {
	return _in(0x8290252f, 0xff36acb5, control, red, green, blue);
};
global.SetControlGroupColor = global.SetControlLightEffectColor;

/**
 * nullsub, doesn't do anything
 */
global.SetControlLightEffectFlashingColor = function (control, red, green, blue) {
	return _in(0xa45884db, 0x10ec7ee3, control, red, green, blue);
};
global.N_0xa45884db10ec7ee3 = global.SetControlLightEffectFlashingColor;

/**
 * SET_CONTROL_SHAKE
 */
global.SetControlShake = function (control, duration, frequency) {
	return _in(0x48b3886c, 0x1358d0d5, control, duration, frequency);
};
global.SetPadShake = global.SetControlShake;

/**
 * SET_CONTROL_SHAKE_SUPPRESSED_ID
 */
global.SetControlShakeSuppressedId = function (control, uniqueId) {
	return _in(0xf239400e, 0x16c23e08, control, uniqueId);
};
global.N_0xf239400e16c23e08 = global.SetControlShakeSuppressedId;

/**
 * nullsub, doesn't do anything
 */
global.SetControlTriggerShake = function (control, leftDuration, leftFrequency, rightDuration, rightFrequency) {
	return _in(0x14d29bb1, 0x2d47f68c, control, leftDuration, leftFrequency, rightDuration, rightFrequency);
};
global.N_0x14d29bb12d47f68c = global.SetControlTriggerShake;

/**
 * This is for simulating player input.
 * value is a float value from 0 - 1
 * control: see IS_CONTROL_ENABLED
 */
global.SetControlValueNextFrame = function (control, action, value) {
	return _in(0xe8a25867, 0xfba3b05e, control, _ch(action), _fv(value), _r);
};
global.SetControlNormal = global.SetControlValueNextFrame;

/**
 * SET_CREATE_RANDOM_COPS
 */
global.SetCreateRandomCops = function (toggle) {
	return _in(0x102e68b2, 0x024d536d, toggle);
};

/**
 * SET_CREDITS_ACTIVE
 */
global.SetCreditsActive = function (toggle) {
	return _in(0xd37becf8, 0x62da726f, toggle);
};

/**
 * Params: BOOL p3 is always true
 */
global.SetCurrWeatherState = function (weatherType1, weatherType2, percentWeather2, enabled) {
	return _in(0xfa3e3ca8, 0xa1de6d5d, _ch(weatherType1), _ch(weatherType2), _fv(percentWeather2), enabled);
};
global.SetWeatherTypeTransition = global.SetCurrWeatherState;

/**
 * _SET_CURRENT_DEFENSE_AGAINST_PLAYERS_MODIFIER
 */
global.SetCurrentDefenseAgainstPlayersModifier = function (horse, modifier) {
	return _in(0x069eddf1, 0xfd4deb0a, horse, _fv(modifier));
};
global.N_0x069eddf1fd4deb0a = global.SetCurrentDefenseAgainstPlayersModifier;

/**
 * SET_CURRENT_PED_VEHICLE_WEAPON
 */
global.SetCurrentPedVehicleWeapon = function (ped, weaponHash) {
	return _in(0x75c55983, 0xc2c39daa, ped, _ch(weaponHash), _r);
};

/**
 * attachPoint:
 * enum eWeaponAttachPoint
 * {
 * WEAPON_ATTACH_POINT_INVALID = -1,
 * WEAPON_ATTACH_POINT_HAND_PRIMARY = 0,
 * WEAPON_ATTACH_POINT_HAND_SECONDARY = 1,
 * WEAPON_ATTACH_POINT_PISTOL_R = 2,
 * MAX_HAND_WEAPON_ATTACH_POINTS = 2,
 * WEAPON_ATTACH_POINT_PISTOL_L = 3,
 * WEAPON_ATTACH_POINT_KNIFE = 4,
 * WEAPON_ATTACH_POINT_LASSO = 5,
 * WEAPON_ATTACH_POINT_THROWER = 6,
 * WEAPON_ATTACH_POINT_BOW = 7,
 * WEAPON_ATTACH_POINT_BOW_ALTERNATE = 8,
 * WEAPON_ATTACH_POINT_RIFLE = 9,
 * WEAPON_ATTACH_POINT_RIFLE_ALTERNATE = 10,
 * WEAPON_ATTACH_POINT_LANTERN = 11,
 * WEAPON_ATTACH_POINT_TEMP_LANTERN = 12,
 * WEAPON_ATTACH_POINT_MELEE = 13,
 * MAX_SYNCED_WEAPON_ATTACH_POINTS = 13,
 * WEAPON_ATTACH_POINT_HIP = 14,
 * WEAPON_ATTACH_POINT_BOOT = 15,
 * WEAPON_ATTACH_POINT_BACK = 16,
 * WEAPON_ATTACH_POINT_FRONT = 17,
 * WEAPON_ATTACH_POINT_SHOULDERSLING = 18,
 * WEAPON_ATTACH_POINT_LEFTBREAST = 19,
 * WEAPON_ATTACH_POINT_RIGHTBREAST = 20,
 * WEAPON_ATTACH_POINT_LEFTARMPIT = 21,
 * WEAPON_ATTACH_POINT_RIGHTARMPIT = 22,
 * WEAPON_ATTACH_POINT_LEFTARMPIT_RIFLE = 23,
 * WEAPON_ATTACH_POINT_SATCHEL = 24,
 * WEAPON_ATTACH_POINT_LEFTARMPIT_BOW = 25,
 * WEAPON_ATTACH_POINT_RIGHT_HAND_EXTRA = 26,
 * WEAPON_ATTACH_POINT_LEFT_HAND_EXTRA = 27,
 * WEAPON_ATTACH_POINT_RIGHT_HAND_AUX = 28,
 * MAX_WEAPON_ATTACH_POINTS = 29
 * };
 */
global.SetCurrentPedWeapon = function (ped, weaponHash, equipNow, attachPoint, p4, p5) {
	return _in(0xadf692b2, 0x54977c0c, ped, _ch(weaponHash), equipNow, attachPoint, p4, p5);
};

/**
 * Equips a weapon from a weaponItem, similar to GIVE_WEAPON_TO_PED
 */
global.SetCurrentPedWeaponByGuid = function (ped, p2, p3, p4, p5) {
	return _in(0x12fb95fe, 0x3d579238, ped, _i, p2, p3, p4, p5);
};
global.N_0x12fb95fe3d579238 = global.SetCurrentPedWeaponByGuid;

/**
 * SET_CURSOR_LOCATION
 * @param x X position.
 * @param y Y position.
 * @return A boolean.
 */
global.SetCursorLocation = function (x, y) {
	return _in(0x00000000, 0x8a7a8dac, _fv(x), _fv(y), _r);
};

/**
 * Note: This native is only used in multiplayer scripts
 * dispatchResponseHash: see update1/common/data/dispatchresponses/..
 */
global.SetCustomLawDispatchResponse = function (dispatchResponseHash) {
	return _in(0x009cf9a2, 0x9972c298, _ch(dispatchResponseHash));
};
global.N_0x009cf9a29972c298 = global.SetCustomLawDispatchResponse;

/**
 * SET_CUSTOM_TEXTURES_ON_OBJECT
 */
global.SetCustomTexturesOnObject = function (object, txdHash, p2, p3) {
	return _in(0xe124889a, 0xe0521fcf, object, _ch(txdHash), p2, p3);
};
global.N_0xe124889ae0521fcf = global.SetCustomTexturesOnObject;

/**
 * _SET_DAMAGE_CLOSE_DISTANCE_BONUS
 */
global.SetDamageCloseDistanceBonus = function (player, closeRangeLowerBound, closeRangeUpperBound) {
	return _in(0x7761a304, 0x32c91297, player, _fv(closeRangeLowerBound), _fv(closeRangeUpperBound));
};
global.N_0x7761a30432c91297 = global.SetDamageCloseDistanceBonus;

/**
 * _SET_DAMAGE_CLOSE_DISTANCE_BONUS_TOTAL
 */
global.SetDamageCloseDistanceBonusTotal = function (player, closeDamageBonus) {
	return _in(0x5006c366, 0x52d6ec56, player, _fv(closeDamageBonus));
};
global.N_0x5006c36652d6ec56 = global.SetDamageCloseDistanceBonusTotal;

/**
 * _SET_DAMAGE_FAR_DISTANCE_BONUS
 */
global.SetDamageFarDistanceBonus = function (player, farRangeLowerBound, farRangeUpperBound) {
	return _in(0xed591cb1, 0x7c8ba216, player, _fv(farRangeLowerBound), _fv(farRangeUpperBound));
};
global.N_0xed591cb17c8ba216 = global.SetDamageFarDistanceBonus;

/**
 * _SET_DAMAGE_FAR_DISTANCE_BONUS_TOTAL
 */
global.SetDamageFarDistanceBonusTotal = function (player, farDamageBonus) {
	return _in(0x1f0e3a44, 0x34565f8f, player, _fv(farDamageBonus));
};
global.N_0x1f0e3a4434565f8f = global.SetDamageFarDistanceBonusTotal;

/**
 * SET_DAMPING
 */
global.SetDamping = function (entity, vertex, value) {
	return _in(0xeea3b200, 0xa6feb65b, entity, vertex, _fv(value));
};

/**
 * Only used in R* SP Script short_update
 */
global.SetDeadeyeAbilityDepletionDelay = function (player, delay) {
	return _in(0x87063449, 0x3cb4372c, player, _fv(delay));
};
global.N_0x870634493cb4372c = global.SetDeadeyeAbilityDepletionDelay;

/**
 * Max level is 5.
 */
global.SetDeadeyeAbilityLevel = function (player, level) {
	return _in(0xf0fe8e79, 0x0bfeb5bb, player, level);
};
global.N_0xf0fe8e790bfeb5bb = global.SetDeadeyeAbilityLevel;

/**
 * _SET_DEADEYE_ABILITY_LOCKED
 */
global.SetDeadeyeAbilityLocked = function (player, abilityType, toggle) {
	return _in(0x2797b8d6, 0x6dd0ebb8, player, abilityType, toggle);
};
global.N_0x2797b8d66dd0ebb8 = global.SetDeadeyeAbilityLocked;

/**
 * _SET_DEADEYE_TAGGING_CONFIG
 */
global.SetDeadeyeTaggingConfig = function (player, filter) {
	return _in(0x83fcd692, 0x1fc8fd05, player, filter);
};
global.N_0x83fcd6921fc8fd05 = global.SetDeadeyeTaggingConfig;

/**
 * _SET_DEADEYE_TAGGING_ENABLED
 */
global.SetDeadeyeTaggingEnabled = function (player, toggle) {
	return _in(0x6b5ddfb9, 0x67e5073d, player, toggle);
};
global.N_0x6b5ddfb967e5073d = global.SetDeadeyeTaggingEnabled;

/**
 * SET_DECISION_MAKER
 */
global.SetDecisionMaker = function (ped, name) {
	return _in(0x8ae2f981, 0xcddb8fa4, ped, _ch(name));
};

/**
 * SET_DECISION_MAKER_TO_DEFAULT
 */
global.SetDecisionMakerToDefault = function (ped) {
	return _in(0x6b9c5c38, 0x838fb6e6, ped);
};
global.N_0x6b9c5c38838fb6e6 = global.SetDecisionMakerToDefault;

/**
 * _SET_DEFENSE_MODIFIER_FOR_PED
 */
global.SetDefenseModifierForPed = function (ped, modifier) {
	return _in(0x9b6808ec, 0x46be849b, ped, _fv(modifier));
};
global.N_0x9b6808ec46be849b = global.SetDefenseModifierForPed;

/**
 * SET_DISABLE_BREAKING
 */
global.SetDisableBreaking = function (object, toggle) {
	return _in(0x5cec1a84, 0x620e7d5b, object, toggle);
};

/**
 * SET_DISABLE_DISTURBANCE_CRIMES
 */
global.SetDisableDisturbanceCrimes = function (player, p1) {
	return _in(0xde5faa74, 0x1a781f73, player, p1);
};
global.N_0xde5faa741a781f73 = global.SetDisableDisturbanceCrimes;

/**
 * SET_DISABLE_FRAG_DAMAGE
 */
global.SetDisableFragDamage = function (object, toggle) {
	return _in(0x01ba3aed, 0x21c16cfb, object, toggle);
};

/**
 * NativeDB Introduced: v1232
 */
global.SetDisablePetrolDecalsIgnitingThisFrame = function () {
	return _in(0x53ed07bf, 0x368eda59);
};

/**
 * Disables the players ability to be wanted by lawmen
 */
global.SetDisablePlayerWantedLevel = function (player, disable) {
	return _in(0x8674d138, 0x391ffb1b, player, disable);
};
global.N_0x8674d138391ffb1b = global.SetDisablePlayerWantedLevel;

/**
 * nullsub, doesn't do anything
 */
global.SetDisableRandomTrainsThisFrame = function (toggle) {
	return _in(0xd4288603, 0xe8766ff7, toggle);
};

/**
 * NativeDB Introduced: v1232
 */
global.SetDisableSuperdummy = function (vehicle, disable) {
	return _in(0x1716d787, 0xd9b94202, vehicle, disable);
};

/**
 * SET_DISABLE_VEHICLE_ENGINE_FIRES
 */
global.SetDisableVehicleEngineFires = function (vehicle, p1) {
	return _in(0xd146ee5f, 0x2b06b95e, vehicle, p1);
};

/**
 * SET_DISABLE_VEHICLE_PETROL_TANK_DAMAGE
 */
global.SetDisableVehiclePetrolTankDamage = function (vehicle, toggle) {
	return _in(0x5795fbe7, 0xa2001c14, vehicle, toggle);
};

/**
 * SET_DISABLE_VEHICLE_PETROL_TANK_FIRES
 */
global.SetDisableVehiclePetrolTankFires = function (vehicle, toggle) {
	return _in(0xb70986ab, 0x19b04aff, vehicle, toggle);
};

/**
 * This native sets the app id for the discord rich presence implementation.
 * @param appId A valid Discord API App Id, can be generated at https://discordapp.com/developers/applications/
 */
global.SetDiscordAppId = function (appId) {
	return _in(0x00000000, 0x6a02254d, _ts(appId));
};

/**
 * Sets a clickable button to be displayed in a player's Discord rich presence.
 * @param index The button index, either 0 or 1.
 * @param label The text to display on the button.
 * @param url The URL to open when clicking the button. This has to start with `fivem://connect/` or `https://`.
 */
global.SetDiscordRichPresenceAction = function (index, label, url) {
	return _in(0x00000000, 0xcbbc3fac, index, _ts(label), _ts(url));
};

/**
 * This native sets the image asset for the discord rich presence implementation.
 * @param assetName The name of a valid asset registered on Discordapp's developer dashboard. note that the asset has to be registered under the same discord API application set using the SET_DISCORD_APP_ID native.
 */
global.SetDiscordRichPresenceAsset = function (assetName) {
	return _in(0x00000000, 0x53dfd530, _ts(assetName));
};

/**
 * This native sets the small image asset for the discord rich presence implementation.
 * @param assetName The name of a valid asset registered on Discordapp's developer dashboard. Note that the asset has to be registered under the same discord API application set using the SET_DISCORD_APP_ID native.
 */
global.SetDiscordRichPresenceAssetSmall = function (assetName) {
	return _in(0x00000000, 0xf61d04c4, _ts(assetName));
};

/**
 * This native sets the hover text of the small image asset for the discord rich presence implementation.
 * @param text Text to be displayed when hovering over small image asset. Note that you must also set a valid small image asset using the SET_DISCORD_RICH_PRESENCE_ASSET_SMALL native.
 */
global.SetDiscordRichPresenceAssetSmallText = function (text) {
	return _in(0x00000000, 0x35e62b6a, _ts(text));
};

/**
 * This native sets the hover text of the image asset for the discord rich presence implementation.
 * @param text Text to be displayed when hovering over image asset. Note that you must also set a valid image asset using the SET_DISCORD_RICH_PRESENCE_ASSET native.
 */
global.SetDiscordRichPresenceAssetText = function (text) {
	return _in(0x00000000, 0xb029d2fa, _ts(text));
};

/**
 * SET_DISPATCH_IDEAL_SPAWN_DISTANCE
 */
global.SetDispatchIdealSpawnDistance = function (fIdealSpawnDistance) {
	return _in(0xeab6823b, 0x82fbd283, _fv(fIdealSpawnDistance));
};

/**
 * _SET_DISPATCH_MAX_SPAWN_DISTANCE
 */
global.SetDispatchMaxSpawnDistance = function (maxSpawnDistance) {
	return _in(0x89314fb3, 0x463e28de, _fv(maxSpawnDistance));
};
global.N_0x89314fb3463e28de = global.SetDispatchMaxSpawnDistance;

/**
 * _SET_DISPATCH_MIN_SPAWN_DISTANCE
 */
global.SetDispatchMinSpawnDistance = function (minSpawnDistance) {
	return _in(0x27a1b170, 0xaa8af84c, _fv(minSpawnDistance));
};
global.N_0x27a1b170aa8af84c = global.SetDispatchMinSpawnDistance;

/**
 * _SET_DISPATCH_MULTIPLIER_OVERRIDE
 */
global.SetDispatchMultiplierOverride = function (multiplier) {
	return _in(0x002babe0, 0xb7d53136, _fv(multiplier));
};
global.N_0x002babe0b7d53136 = global.SetDispatchMultiplierOverride;

/**
 * _SET_DISTRICT_PHOTO_TAKEN_STAT
 */
global.SetDistrictPhotoTakenStat = function (p0) {
	return _in(0x9937facb, 0xbf267244, _ts(p0));
};
global.N_0x9937facbbf267244 = global.SetDistrictPhotoTakenStat;

/**
 * SET_DONT_ALLOW_PLAYER_TO_ENTER_VEHICLE_IF_LOCKED_FOR_PLAYER
 */
global.SetDontAllowPlayerToEnterVehicleIfLockedForPlayer = function (vehicle, p1) {
	return _in(0x63dc1f22, 0xc903b709, vehicle, p1);
};
global.N_0x63dc1f22c903b709 = global.SetDontAllowPlayerToEnterVehicleIfLockedForPlayer;

/**
 * doorId: see SET_VEHICLE_DOOR_SHUT
 */
global.SetDoorAllowedToBeBrokenOff = function (vehicle, doorId, isBreakable) {
	return _in(0x081fb9d6, 0x422f804c, vehicle, doorId, isBreakable);
};
global.SetVehicleDoorCanBreak = global.SetDoorAllowedToBeBrokenOff;

/**
 * _SET_DOOR_NETWORKED
 */
global.SetDoorNetworked = function (doorHash) {
	return _in(0x51d99497, 0xabf3f451, _ch(doorHash));
};
global.N_0x51d99497abf3f451 = global.SetDoorNetworked;

/**
 * _SET_DOOR_UNNETWORKED
 */
global.SetDoorUnnetworked = function (p0, toggle) {
	return _in(0xc1e1a3d5, 0xed7617b8, p0, toggle);
};
global.N_0xc1e1a3d5ed7617b8 = global.SetDoorUnnetworked;

/**
 * _SET_DRAFT_ANIMAL_RANDOM_SEED
 */
global.SetDraftAnimalRandomSeed = function (vehicle, seed) {
	return _in(0x8c6d9a39, 0x9126c194, vehicle, seed);
};
global.N_0x8c6d9a399126c194 = global.SetDraftAnimalRandomSeed;

/**
 * _SET_DRAFT_VEHICLE_ALLOW_DRAFT_ANIMAL_AUTO_CREATION
 */
global.SetDraftVehicleAllowDraftAnimalAutoCreation = function (vehicle, allow) {
	return _in(0x87344305, 0x778e5415, vehicle, allow);
};
global.N_0x87344305778e5415 = global.SetDraftVehicleAllowDraftAnimalAutoCreation;

/**
 * _SET_DRAFT_VEHICLE_ANIMALS_CAN_DETACH
 */
global.SetDraftVehicleAnimalsCanDetach = function (draft, canDetach) {
	return _in(0x6090a031, 0xc69f384e, draft, canDetach);
};
global.N_0x6090a031c69f384e = global.SetDraftVehicleAnimalsCanDetach;

/**
 * _SET_DRAFT_VEHICLE_DESIRED_SPEED
 */
global.SetDraftVehicleDesiredSpeed = function (vehicle, speed) {
	return _in(0x0c3f0f7f, 0x92ca847c, vehicle, _fv(speed));
};
global.N_0x0c3f0f7f92ca847c = global.SetDraftVehicleDesiredSpeed;

/**
 * _SET_DRAFT_VEHICLE_YOKE_CAN_BREAK
 */
global.SetDraftVehicleYokeCanBreak = function (draft, canBreak) {
	return _in(0x226c6a4e, 0x3346d288, draft, canBreak);
};
global.N_0x226c6a4e3346d288 = global.SetDraftVehicleYokeCanBreak;

/**
 * Sets the on-screen drawing origin for draw-functions in world coordinates.
 * The effect can be reset by calling [`CLEAR_DRAW_ORIGIN`](#\_0xDD76B263) and is limited to 32 different origins each frame.
 */
global.SetDrawOrigin = function (x, y, z, is2d) {
	return _in(0x00000000, 0xe10198d5, _fv(x), _fv(y), _fv(z), is2d);
};

/**
 * SET_DRIVE_TASK_CRUISE_SPEED
 */
global.SetDriveTaskCruiseSpeed = function (driver, cruiseSpeed) {
	return _in(0x5c9b84bd, 0x7d31d908, driver, _fv(cruiseSpeed));
};

/**
 * Not implemented.
 */
global.SetDriveTaskMaxCruiseSpeed = function (ped, maxCruiseSpeed) {
	return _in(0x404a5aa9, 0xb9f0b746, ped, _fv(maxCruiseSpeed));
};

/**
 * SET_DRIVEBY_TASK_TARGET
 */
global.SetDrivebyTaskTarget = function (shootingPed, targetPed, targetVehicle, x, y, z) {
	return _in(0xe5b30211, 0x4d8162ee, shootingPed, targetPed, targetVehicle, _fv(x), _fv(y), _fv(z));
};

/**
 * Navigates the specified DUI browser to a different URL.
 * @param duiObject The DUI browser handle.
 * @param url The new URL.
 */
global.SetDuiUrl = function (duiObject, url) {
	return _in(0x00000000, 0xf761d9f3, duiObject, _ts(url));
};

/**
 * SET_ENABLE_BOUND_ANKLES
 */
global.SetEnableBoundAnkles = function (ped, toggle) {
	return _in(0xc52e0f85, 0x5c58fc2e, ped, toggle);
};

/**
 * Ped can not pull out a weapon when true
 */
global.SetEnableHandcuffs = function (ped, p1, p2) {
	return _in(0xdf1af8b5, 0xd56542fa, ped, p1, p2);
};

/**
 * SET_ENABLE_SPEED_RESTRAIN_FOR_WAYPOINT_RECORDING_LEADER
 */
global.SetEnableSpeedRestrainForWaypointRecordingLeader = function (p0, p1) {
	return _in(0x295f03dc, 0x97beebc1, p0, p1);
};

/**
 * SET_ENABLE_VEHICLE_SLIPSTREAMING
 */
global.SetEnableVehicleSlipstreaming = function (p0) {
	return _in(0x73f1e4f6, 0xdf26fe30, p0);
};
global.N_0x73f1e4f6df26fe30 = global.SetEnableVehicleSlipstreaming;

/**
 * clipset: CLIPSET@MECH_HOGTIE@HUMAN@BREAKOUT_MG@GROUND, CLIPSET@MECH_HOGTIE@HUMAN@BREAKOUT_MG@SHOULDER, CLIPSET@MECH_HOGTIE@HUMAN@BREAKOUT_MG@MOUNT
 * clipset can also be 0
 */
global.SetEnhancedBreakFree = function (ped, p1, clipset) {
	return _in(0x1bf9d36a, 0x5eaffbae, ped, p1, _ts(clipset), _r, _ri);
};
global.N_0x1bf9d36a5eaffbae = global.SetEnhancedBreakFree;

/**
 * skin - everything alpha except skin
 * Set entity alpha level. Ranging from 0 to 255 but changes occur after every 20 percent (after every 51).
 */
global.SetEntityAlpha = function (entity, alphaLevel, skin) {
	return _in(0x0df7692b, 0x1d9e7ba7, entity, alphaLevel, skin);
};

/**
 * SET_ENTITY_ALWAYS_PRERENDER
 */
global.SetEntityAlwaysPrerender = function (entity, toggle) {
	return _in(0xacad101e, 0x1fb66689, entity, toggle);
};

/**
 * https://gfycat.com/amazingmiserlyamericanquarterhorse
 */
global.SetEntityAnimCurrentTime = function (entity, animDict, animName, time) {
	return _in(0x11cdabdc, 0x7783b2bc, entity, _ts(animDict), _ts(animName), _fv(time));
};
global.N_0x11cdabdc7783b2bc = global.SetEntityAnimCurrentTime;

/**
 * _SET_ENTITY_ANIM_SPEED
 */
global.SetEntityAnimSpeed = function (entity, animDict, animName, speedMultiplier) {
	return _in(0xeaa885ba, 0x3cea4e4a, entity, _ts(animDict), _ts(animName), _fv(speedMultiplier));
};
global.N_0xeaa885ba3cea4e4a = global.SetEntityAnimSpeed;

/**
 * Makes the specified entity (ped, vehicle or object) persistent. Persistent entities will not automatically be removed by the engine.
 */
global.SetEntityAsMissionEntity = function (entity, p1, p2) {
	return _in(0xdc19c288, 0x082e586e, entity, p1, p2);
};

/**
 * Marks the specified entity (ped, vehicle or object) as no longer needed.
 * Entities marked as no longer needed, will be deleted as the engine sees fit.
 */
global.SetEntityAsNoLongerNeeded = function (entity) {
	return _in(0x4971d2f8, 0x162b9674, _ii(entity) /* may be optional */);
};

/**
 * Used for script function RPG_GLOBAL_STATS__PRIVATE__ACTIVATE_STAT_FLAG - Quite and Inspiration Aura equip
 * Params: 0f, 2f, 2f
 */
global.SetEntityAura = function (p0, p1, p2) {
	return _in(0x249cd6b7, 0x285536f2, _fv(p0), _fv(p1), _fv(p2));
};
global.N_0x249cd6b7285536f2 = global.SetEntityAura;

/**
 * SET_ENTITY_CAN_BE_DAMAGED
 */
global.SetEntityCanBeDamaged = function (entity, toggle) {
	return _in(0x0d06d522, 0xb90e861f, entity, toggle);
};

/**
 * SET_ENTITY_CAN_BE_DAMAGED_BY_RELATIONSHIP_GROUP
 */
global.SetEntityCanBeDamagedByRelationshipGroup = function (entity, bCanBeDamaged, relGroup) {
	return _in(0x0ef1afb1, 0x8649e015, entity, bCanBeDamaged, _ch(relGroup));
};

/**
 * Sets whether the entity can be targeted without being in line-of-sight.
 */
global.SetEntityCanBeTargetedWithoutLos = function (entity, toggle) {
	return _in(0x6d09f32e, 0x284d0fb7, entity, toggle);
};

/**
 * Changes type and quality of skins
 * type hashes: https://pastebin.com/C1WvQjCy
 */
global.SetEntityCarcassType = function (entity, type) {
	return _in(0x399657ed, 0x871b3a6c, entity, _ch(type));
};
global.N_0x399657ed871b3a6c = global.SetEntityCarcassType;

/**
 * flagId: https://github.com/femga/rdr3_discoveries/tree/master/AI/CARRYING_FLAGS
 * https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/CCarryingFlags__Flags
 * enum eCarryingFlag
 * {
 * CARRYING_FLAG_CAN_BE_CUT_FREE = 1,
 * CARRYING_FLAG_CAN_BE_CARRIED_ON_FOOT = 2,
 * CARRYING_FLAG_CAN_BE_DROPPED = 4,
 * CARRYING_FLAG_CAN_BE_CARRIED_WHEN_DEAD = 7,
 * CARRYING_FLAG_CAN_CARRY_ANYTHING = 9,
 * CARRYING_FLAG_DISABLE_PROMPT_LOS_CHECKS = 19,
 * CARRYING_FLAG_FORCE_ALLOW_WARP_TO_SAFE_GROUND_LOCATION = 23,
 * CARRYING_FLAG_PICKUPS_IGNORE_HEIGHT_RESTRICTIONS = 26,
 * CARRYING_FLAG_CLEAN_UP_WHEN_NOT_CARRIED = 27,
 * CARRYING_FLAG_BLOCK_KNOCK_OFF_PED_VARIATIONS_FROM_CARRIABLE_INTERACTIONS = 29,
 * CARRYING_FLAG_HIT_WHEN_CARRIABLE = 31,
 * CARRYING_FLAG_DISABLE_CARRIABLE_INTERACTIONS_ON_THIS_MOUNT = 34,
 * CARRYING_FLAG_FORCE_HIDE_PROMPT_GROUP = 37,
 * };
 */
global.SetEntityCarryingFlag = function (entity, flagId, value) {
	return _in(0x18ff3110, 0xcf47115d, entity, flagId, value);
};
global.N_0x18ff3110cf47115d = global.SetEntityCarryingFlag;

/**
 * SET_ENTITY_COLLISION
 */
global.SetEntityCollision = function (entity, toggle, keepPhysics) {
	return _in(0xf66f8209, 0x09453b8c, entity, toggle, keepPhysics);
};

/**
 * SET_ENTITY_COMPLETELY_DISABLE_COLLISION
 */
global.SetEntityCompletelyDisableCollision = function (entity, toggle, keepPhysics) {
	return _in(0xe0580ec8, 0x4813875a, entity, toggle, keepPhysics);
};

/**
 * SET_ENTITY_COORDS
 */
global.SetEntityCoords = function (entity, xPos, yPos, zPos, xAxis, yAxis, zAxis, clearArea) {
	return _in(0x06843da7, 0x060a026b, entity, _fv(xPos), _fv(yPos), _fv(zPos), xAxis, yAxis, zAxis, clearArea);
};

/**
 * _SET_ENTITY_COORDS_AND_HEADING
 */
global.SetEntityCoordsAndHeading = function (entity, xPos, yPos, zPos, heading, xAxis, yAxis, zAxis) {
	return _in(0x203beffd, 0xbe12e96a, entity, _fv(xPos), _fv(yPos), _fv(zPos), _fv(heading), xAxis, yAxis, zAxis);
};
global.N_0x203beffdbe12e96a = global.SetEntityCoordsAndHeading;

/**
 * _SET_ENTITY_COORDS_AND_HEADING_NO_OFFSET
 */
global.SetEntityCoordsAndHeadingNoOffset = function (entity, xPos, yPos, zPos, heading, p5, p6) {
	return _in(0x0918e356, 0x5c20f03c, entity, _fv(xPos), _fv(yPos), _fv(zPos), _fv(heading), p5, p6);
};
global.N_0x0918e3565c20f03c = global.SetEntityCoordsAndHeadingNoOffset;

/**
 * Axis - Invert Axis Flags
 */
global.SetEntityCoordsNoOffset = function (entity, xPos, yPos, zPos, xAxis, yAxis, zAxis) {
	return _in(0x239a3351, 0xac1da385, entity, _fv(xPos), _fv(yPos), _fv(zPos), xAxis, yAxis, zAxis);
};

/**
 * _SET_ENTITY_CUSTOM_PICKUP_RADIUS
 */
global.SetEntityCustomPickupRadius = function (entity, radius) {
	return _in(0x482d17e4, 0x5665da44, entity, _fv(radius));
};
global.N_0x482d17e45665da44 = global.SetEntityCustomPickupRadius;

/**
 * SET_ENTITY_DYNAMIC
 */
global.SetEntityDynamic = function (entity, toggle) {
	return _in(0xfbfc4473, 0xf66ce344, entity, toggle);
};

/**
 * _SET_ENTITY_FADE_IN
 */
global.SetEntityFadeIn = function (entity) {
	return _in(0xa91e6cf9, 0x4404e8c9, entity);
};
global.N_0xa91e6cf94404e8c9 = global.SetEntityFadeIn;

/**
 * _SET_ENTITY_FULLY_LOOTED
 */
global.SetEntityFullyLooted = function (entity, looted) {
	return _in(0x6bcf5f3d, 0x8ffe988d, entity, looted);
};
global.N_0x6bcf5f3d8ffe988d = global.SetEntityFullyLooted;

/**
 * _SET_ENTITY_GHOSTED_TO_LOCAL_PLAYER
 */
global.SetEntityGhostedToLocalPlayer = function (entity, toggle) {
	return _in(0xee5ae995, 0x6743ba20, entity, toggle);
};
global.N_0xee5ae9956743ba20 = global.SetEntityGhostedToLocalPlayer;

/**
 * SET_ENTITY_HAS_GRAVITY
 */
global.SetEntityHasGravity = function (entity, toggle) {
	return _in(0x0cedb728, 0xa1083fa7, entity, toggle);
};

/**
 * SET_ENTITY_HEADING
 */
global.SetEntityHeading = function (entity, heading) {
	return _in(0xcf2b9c06, 0x45c4651b, entity, _fv(heading));
};

/**
 * Sets the entity's health. healthAmount sets the health value to that, and sets the maximum health core value. Setting healthAmount to 0 will kill the entity. entityKilledBy parameter can also be 0
 */
global.SetEntityHealth = function (entity, healthAmount, entityKilledBy) {
	return _in(0xac2767ed, 0x8bdfab15, entity, healthAmount, entityKilledBy);
};
global.SetEntityHealth = global.SetEntityHealth;

/**
 * Sets a ped or an object totally invincible. It doesn't take any kind of damage. Peds will not ragdoll on explosions.
 */
global.SetEntityInvincible = function (entity, toggle) {
	return _in(0xa5c38736, 0xc426fcb8, entity, toggle);
};

/**
 * SET_ENTITY_IS_TARGET_PRIORITY
 */
global.SetEntityIsTargetPriority = function (entity, p1, p2) {
	return _in(0x0a5d170c, 0x44cb2189, entity, p1, _fv(p2));
};

/**
 * _SET_ENTITY_LIGHTS_ENABLED
 */
global.SetEntityLightsEnabled = function (entity, enabled) {
	return _in(0xebdc1286, 0x1d079aba, entity, enabled);
};
global.N_0xebdc12861d079aba = global.SetEntityLightsEnabled;

/**
 * SET_ENTITY_LOAD_COLLISION_FLAG
 */
global.SetEntityLoadCollisionFlag = function (entity, toggle) {
	return _in(0x9b9ee31a, 0xed48072e, entity, toggle);
};

/**
 * LOD distance can be 0 to 0xFFFF (higher values will result in 0xFFFF) as it is actually stored as a 16-bit value (aka uint16_t).
 */
global.SetEntityLodDist = function (entity, value) {
	return _in(0x5fb407f0, 0xa7c877bf, entity, value);
};

/**
 * _SET_ENTITY_MASK_LAYERS
 */
global.SetEntityMaskLayers = function (entity) {
	return _in(0xe9201261, 0x1461a42a, entity, _f, _f, _f, _f);
};
global.N_0xe92012611461a42a = global.SetEntityMaskLayers;

/**
 * SET_ENTITY_MAX_HEALTH
 */
global.SetEntityMaxHealth = function (entity, value) {
	return _in(0x166e7cf6, 0x8597d8b5, entity, value);
};

/**
 * SET_ENTITY_MOTION_BLUR
 */
global.SetEntityMotionBlur = function (entity, toggle) {
	return _in(0x516c6abd, 0x18322b63, entity, toggle);
};

/**
 * SET_ENTITY_NO_COLLISION_ENTITY
 */
global.SetEntityNoCollisionEntity = function (entity1, entity2, thisFrameOnly) {
	return _in(0xe037bf06, 0x8223c38d, entity1, entity2, thisFrameOnly);
};

/**
 * SET_ENTITY_NOWEAPONDECALS
 */
global.SetEntityNoweapondecals = function (entity, toggle) {
	return _in(0xc64e5977, 0x83be9a1d, entity, toggle);
};
global.N_0xc64e597783be9a1d = global.SetEntityNoweapondecals;

/**
 * SET_ENTITY_ONLY_DAMAGED_BY_PLAYER
 */
global.SetEntityOnlyDamagedByPlayer = function (entity, toggle) {
	return _in(0x47359868, 0x3095d430, entity, toggle);
};

/**
 * SET_ENTITY_ONLY_DAMAGED_BY_RELATIONSHIP_GROUP
 */
global.SetEntityOnlyDamagedByRelationshipGroup = function (entity, p1, relationshipGroup) {
	return _in(0x6c1f6aa2, 0xf0add104, entity, p1, _ch(relationshipGroup));
};

/**
 * https://github.com/femga/rdr3_discoveries/tree/master/AI/ENTITY_PROOFS
 * BOOL p2: handles an additional special proofs flag, so it simply indicates whether it should be enabled or disabled, not sure what exactly it proofs the entity from though
 */
global.SetEntityProofs = function (entity, proofsBitset, specialFlag) {
	return _in(0xfaee099c, 0x6f890bb8, entity, proofsBitset, specialFlag);
};

/**
 * SET_ENTITY_QUATERNION
 */
global.SetEntityQuaternion = function (entity, x, y, z, w) {
	return _in(0x100e7007, 0xd13e3687, entity, _fv(x), _fv(y), _fv(z), _fv(w));
};

/**
 * Only used in guama1 R* SP Script while spawning the ship
 * _SET_ENTITY_QUATERNION_* - SET_ENTITY_RENDER_*
 */
global.SetEntityRenderGuarmaShip = function (vehicle, toggle) {
	return _in(0xc38b4952, 0xb728397a, vehicle, toggle);
};
global.N_0xc38b4952b728397a = global.SetEntityRenderGuarmaShip;

/**
 * SET_ENTITY_RENDER_SCORCHED
 */
global.SetEntityRenderScorched = function (entity, toggle) {
	return _in(0x85b8a753, 0x4e44bc23, entity, toggle);
};

/**
 * SET_ENTITY_REQUIRES_MORE_EXPENSIVE_RIVER_CHECK
 */
global.SetEntityRequiresMoreExpensiveRiverCheck = function (entity, toggle) {
	return _in(0x850c940e, 0xe3e7b8b5, entity, toggle);
};
global.N_0x850c940ee3e7b8b5 = global.SetEntityRequiresMoreExpensiveRiverCheck;

/**
 * SET_ENTITY_ROTATION
 */
global.SetEntityRotation = function (entity, pitch, roll, yaw, rotationOrder, p5) {
	return _in(0x9cc8314d, 0xfede441e, entity, _fv(pitch), _fv(roll), _fv(yaw), rotationOrder, p5);
};

/**
 * SET_ENTITY_SHOULD_FREEZE_WAITING_ON_COLLISION
 */
global.SetEntityShouldFreezeWaitingOnCollision = function (entity, toggle) {
	return _in(0x740cb4f3, 0xf602c9f4, entity, toggle);
};
global.SetEntitySomething = global.SetEntityShouldFreezeWaitingOnCollision;

/**
 * tier: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/eEntityThreatTier
 */
global.SetEntityThreatTier = function (entity, tier, p2) {
	return _in(0x4b436bac, 0x8cbe9b07, entity, tier, p2);
};
global.N_0x4b436bac8cbe9b07 = global.SetEntityThreatTier;

/**
 * Note that the third parameter(denoted as z) is "up and down" with positive numbers encouraging upwards movement.
 */
global.SetEntityVelocity = function (entity, x, y, z) {
	return _in(0x1c99bb7b, 0x6e96d16f, entity, _fv(x), _fv(y), _fv(z));
};

/**
 * SET_ENTITY_VISIBLE
 */
global.SetEntityVisible = function (entity, toggle) {
	return _in(0x1794b4fc, 0xc84d812f, entity, toggle);
};

/**
 * SET_ENTITY_VISIBLE_IN_CUTSCENE
 */
global.SetEntityVisibleInCutscene = function (entity, p1, p2, p3) {
	return _in(0xe0031d3c, 0x8f36ab82, entity, p1, p2, p3);
};

/**
 * SET_EVENT_FLAG_FOR_DELETION
 */
global.SetEventFlagForDeletion = function (eventGroup, eventIndex, p2) {
	return _in(0x4768d525, 0x2eaeb76f, eventGroup, eventIndex, p2);
};

/**
 * _SET_EVENT_TRACKER_FOR_PED
 */
global.SetEventTrackerForPed = function (ped, eventName, p2) {
	return _in(0xbb1e41dd, 0x3d3c6250, ped, _ts(eventName), p2);
};
global.N_0xbb1e41dd3d3c6250 = global.SetEventTrackerForPed;

/**
 * SET_EVERYONE_IGNORE_PLAYER
 */
global.SetEveryoneIgnorePlayer = function (player, toggle) {
	return _in(0x34630a76, 0x8925b852, player, toggle);
};

/**
 * SET_FACIAL_IDLE_ANIM_OVERRIDE
 */
global.SetFacialIdleAnimOverride = function (ped, animName, animDict) {
	return _in(0xffc24b98, 0x8b938b38, ped, _ts(animName), _ts(animDict));
};

/**
 * Sets whether the game should fade in after the player dies or is arrested.
 */
global.SetFadeInAfterDeathArrest = function (toggle) {
	return _in(0xdf3b5846, 0xde5904af, toggle);
};

/**
 * SET_FADE_IN_AFTER_LOAD
 */
global.SetFadeInAfterLoad = function (toggle) {
	return _in(0xac806c4c, 0xab973517, toggle);
};

/**
 * SET_FIRST_PERSON_AIM_CAM_RELATIVE_HEADING_LIMITS_THIS_UPDATE
 */
global.SetFirstPersonAimCamRelativeHeadingLimitsThisUpdate = function (p0, p1) {
	return _in(0x05bd5e40, 0x88b30a66, _fv(p0), _fv(p1));
};
global.N_0x05bd5e4088b30a66 = global.SetFirstPersonAimCamRelativeHeadingLimitsThisUpdate;

/**
 * SET_FIRST_PERSON_AIM_CAM_RELATIVE_PITCH_LIMITS_THIS_UPDATE
 */
global.SetFirstPersonAimCamRelativePitchLimitsThisUpdate = function (p0, p1) {
	return _in(0x715b7f5e, 0x8bed32a2, _fv(p0), _fv(p1));
};
global.SetFirstPersonCamPitchRange = global.SetFirstPersonAimCamRelativePitchLimitsThisUpdate;

/**
 * Baits: p_fishHook02x, p_baitBread01x, p_baitCorn01x, p_baitCheese01x, p_baitWorm01x, p_baitCricket01x, p_crawdad01x, p_finisheDragonfly01x, p_finisdFishlure01x, p_finishdCrawd01x, p_finisheDragonflyLegendary01x, p_finisdFishlureLegendary01x, p_finishdCrawdLegendary01x, p_lgoc_spinner_v4
 */
global.SetFishingBait = function (ped, bait, withoutBuoy, instantly) {
	return _in(0x9b0c7fa0, 0x63e67629, ped, _ts(bait), withoutBuoy, instantly);
};
global.N_0x9b0c7fa063e67629 = global.SetFishingBait;

/**
 * It seems to make the entity's coords mark the point from which LOD-distances are measured. In my testing, setting a vehicle as the focus entity and moving that vehicle more than 300 distance units away from the player will make the level of detail around the player go down drastically (shadows disappear, textures go extremely low res, etc). The player seems to be the default focus entity.
 */
global.SetFocusEntity = function (entity) {
	return _in(0x955aedd5, 0x8f4bd309, entity);
};

/**
 * SET_FOCUS_POS_AND_VEL
 */
global.SetFocusPosAndVel = function (x, y, z, offsetX, offsetY, offsetZ) {
	return _in(0x25f6ef88, 0x664540e2, _fv(x), _fv(y), _fv(z), _fv(offsetX), _fv(offsetY), _fv(offsetZ));
};

/**
 * _SET_FORCE_AUTO_EQUIP
 */
global.SetForceAutoEquip = function (ped, toggle) {
	return _in(0xbe711b14, 0xa159e84f, ped, toggle);
};
global.N_0xbe711b14a159e84f = global.SetForceAutoEquip;

/**
 * Hashes: COACH2_BOOT_LOOT_ITEMS_COACHROB_RSC, COACH2_BOOT_LOOT_ITEMS_COACHROB, COACH2_MARY3
 */
global.SetForceCoachRobberyLoot = function (vehicle, coachrobberyLoot) {
	return _in(0xf489f94b, 0xfee12bb0, vehicle, _ch(coachrobberyLoot));
};
global.N_0xf489f94bfee12bb0 = global.SetForceCoachRobberyLoot;

/**
 * _SET_FORCE_CURRENT_WEAPON_INTO_COCKED_STATE
 */
global.SetForceCurrentWeaponIntoCockedState = function (ped, attachPoint) {
	return _in(0x5230d3f6, 0xee56cfe6, ped, attachPoint);
};
global.N_0x5230d3f6ee56cfe6 = global.SetForceCurrentWeaponIntoCockedState;

/**
 * SET_FORCE_HD_VEHICLE
 */
global.SetForceHdVehicle = function (vehicle, toggle) {
	return _in(0x373cb128, 0x3308bd7b, vehicle, toggle);
};

/**
 * _SET_FORCE_HIGH_LOD_VEHICLE
 */
global.SetForceHighLodVehicle = function (vehicle, p1) {
	return _in(0x1098cda4, 0x77890165, vehicle, p1);
};
global.N_0x1098cda477890165 = global.SetForceHighLodVehicle;

/**
 * Sets boat to be anchored on spawn, called together with SET_BOAT_ANCHOR and _SET_BOAT_ANCHOR_BUOYANCY_COEFFICIENT
 */
global.SetForceLowLodAnchorMode = function (vehicle, p1) {
	return _in(0x75b49acd, 0x73617437, vehicle, p1);
};
global.N_0x75b49acd73617437 = global.SetForceLowLodAnchorMode;

/**
 * SET_FORCE_OBJECT_THIS_FRAME
 */
global.SetForceObjectThisFrame = function (x, y, z, p3) {
	return _in(0xf5380819, 0x86e49e9d, _fv(x), _fv(y), _fv(z), _fv(p3));
};

/**
 * SET_FORCE_VEHICLE_ENGINE_DAMAGE_BY_BULLET
 */
global.SetForceVehicleEngineDamageByBullet = function (vehicle, toggle) {
	return _in(0x7f8e2b13, 0x1e1dca6c, vehicle, toggle);
};
global.N_0x7f8e2b131e1dca6c = global.SetForceVehicleEngineDamageByBullet;

/**
 * _SET_FORMATION_AUTO_ASSIGN_POSITION
 */
global.SetFormationAutoAssignPosition = function (groupId, toggle) {
	return _in(0x478f6b99, 0x20446ce2, groupId, toggle);
};
global.N_0x478f6b9920446ce2 = global.SetFormationAutoAssignPosition;

/**
 * SET_FORMATION_POSITIONS_TARGET_RADIUS
 */
global.SetFormationPositionsTargetRadius = function (groupId, radius) {
	return _in(0x7cc7d3b7, 0xaf7fb71f, groupId, _fv(radius), _r, _ri);
};

/**
 * Used for GUARMA MODE; Enabled: toggle = false, 0; Disabled: toggle = true, 0
 * Hash p1 seems to be unused, always 0
 */
global.SetFowUpdatePlayerOverride = function (toggle, p1) {
	return _in(0x63e7279d, 0x04160477, toggle, _ch(p1));
};
global.N_0x63e7279d04160477 = global.SetFowUpdatePlayerOverride;

/**
 * SET_FRONTEND_ACTIVE
 */
global.SetFrontendActive = function (active) {
	return _in(0xce47c21c, 0x0687ebc2, active);
};

/**
 * Note: this native was added in build 1232.56
 * ```
 * ```
 * NativeDB Introduced: v1232
 */
global.SetGameLogicPaused = function () {
	return _in(0x550f05cf, 0xfbd63c8c);
};

/**
 * Make sure to call this from the correct thread if you're using multiple threads because all other threads except the one which is calling SET_GAME_PAUSED will be paused.
 */
global.SetGamePaused = function (toggle) {
	return _in(0xfaec088d, 0x28b1de4a, toggle);
};

/**
 * SET_GAME_PAUSES_FOR_STREAMING
 */
global.SetGamePausesForStreaming = function (toggle) {
	return _in(0xb3bc8250, 0xf4fe8b63, toggle);
};

/**
 * Forces gameplay cam to specified ped as if you were the ped or spectating it
 */
global.SetGameplayCamFollowPedThisUpdate = function (ped) {
	return _in(0x82e41d6a, 0xde924fca, ped);
};
global.N_0x82e41d6ade924fca = global.SetGameplayCamFollowPedThisUpdate;

/**
 * SET_GAMEPLAY_CAM_IGNORE_ENTITY_COLLISION_THIS_UPDATE
 */
global.SetGameplayCamIgnoreEntityCollisionThisUpdate = function (entity) {
	return _in(0xd904f75d, 0xbd7ab865, entity);
};
global.N_0xd904f75dbd7ab865 = global.SetGameplayCamIgnoreEntityCollisionThisUpdate;

/**
 * _SET_GAMEPLAY_CAM_INITIAL_HEADING
 */
global.SetGameplayCamInitialHeading = function (camInitialHeading) {
	return _in(0x6c1053c4, 0x33a573cf, _fv(camInitialHeading));
};
global.N_0x6c1053c433a573cf = global.SetGameplayCamInitialHeading;

/**
 * _SET_GAMEPLAY_CAM_INITIAL_PITCH
 */
global.SetGameplayCamInitialPitch = function (camInitialPitch) {
	return _in(0x449995ea, 0x846d3fc2, _fv(camInitialPitch));
};
global.N_0x449995ea846d3fc2 = global.SetGameplayCamInitialPitch;

/**
 * Used in Script Function SHOP_CAMERA_SUPPORT_START_NEW_ORBIT
 */
global.SetGameplayCamInitialZoom = function (camInitialZoom) {
	return _in(0xbcda0ba8, 0x762facb9, _fv(camInitialZoom));
};
global.N_0xbcda0ba8762facb9 = global.SetGameplayCamInitialZoom;

/**
 * SET_GAMEPLAY_CAM_MAX_MOTION_BLUR_STRENGTH_THIS_UPDATE
 */
global.SetGameplayCamMaxMotionBlurStrengthThisUpdate = function (p0) {
	return _in(0x8459b3e6, 0x4257b21d, _fv(p0));
};
global.N_0x8459b3e64257b21d = global.SetGameplayCamMaxMotionBlurStrengthThisUpdate;

/**
 * Sets the camera position relative to heading in float from -360 to +360.
 * Heading is always 0 in aiming camera.
 */
global.SetGameplayCamRelativeHeading = function (heading, p1) {
	return _in(0x5d1eb123, 0xeac5d071, _fv(heading), _fv(p1));
};

/**
 * Sets the camera pitch.
 * Parameters:
 * x = pitches the camera on the x axis.
 * Value2 = always seems to be hex 0x3F800000 (1.000000 float).
 */
global.SetGameplayCamRelativePitch = function (x, Value2) {
	return _in(0xfb760af4, 0xf537b8bf, _fv(x), _fv(Value2));
};

/**
 * Sets the amplitude for the gameplay (i.e. 3rd or 1st) camera to shake.
 */
global.SetGameplayCamShakeAmplitude = function (amplitude) {
	return _in(0x570e35f5, 0xc4a44838, _fv(amplitude));
};

/**
 * Hash used in finale1.ysc: 1726668277
 */
global.SetGameplayCoordHint = function (x, y, z, duration, blendOutDuration, blendInDuration, p6) {
	return _in(0xfa33b8c6, 0x9a4a6a0f, _fv(x), _fv(y), _fv(z), duration, blendOutDuration, blendInDuration, _ch(p6));
};

/**
 * p6 & p7 - possibly length or time
 */
global.SetGameplayEntityHint = function (entity, xOffset, yOffset, zOffset, p4, p5, p6, p7, p8) {
	return _in(0xd1f7f326, 0x40adfd12, entity, _fv(xOffset), _fv(yOffset), _fv(zOffset), p4, p5, p6, p7, p8);
};

/**
 * SET_GAMEPLAY_HINT_BASE_ORBIT_PITCH_OFFSET
 */
global.SetGameplayHintBaseOrbitPitchOffset = function (p0) {
	return _in(0x421192a2, 0xda48fd01, _fv(p0));
};
global.SetGameplayHintAngle = global.SetGameplayHintBaseOrbitPitchOffset;

/**
 * SET_GAMEPLAY_HINT_CAMERA_RELATIVE_SIDE_OFFSET
 */
global.SetGameplayHintCameraRelativeSideOffset = function (p0) {
	return _in(0xf86b6f93, 0x727c59c9, _fv(p0));
};
global.SetGameplayHintAnimOffsetx = global.SetGameplayHintCameraRelativeSideOffset;

/**
 * SET_GAMEPLAY_HINT_CAMERA_RELATIVE_VERTICAL_OFFSET
 */
global.SetGameplayHintCameraRelativeVerticalOffset = function (p0) {
	return _in(0x29e74f81, 0x9150cc32, _fv(p0));
};
global.SetGameplayHintAnimOffsety = global.SetGameplayHintCameraRelativeVerticalOffset;

/**
 * SET_GAMEPLAY_HINT_FOLLOW_DISTANCE_SCALAR
 */
global.SetGameplayHintFollowDistanceScalar = function (p0) {
	return _in(0xdddc5418, 0x1868f81f, _fv(p0));
};
global.SetGameplayHintAnimOffsetz = global.SetGameplayHintFollowDistanceScalar;

/**
 * SET_GAMEPLAY_HINT_FOV
 */
global.SetGameplayHintFov = function (FOV) {
	return _in(0x661e58bc, 0x6f00a49a, _fv(FOV));
};

/**
 * SET_GAMEPLAY_OBJECT_HINT
 */
global.SetGameplayObjectHint = function (p0, p1, p2, p3, p4, p5, p6, p7) {
	return _in(0xc40551d6, 0x5f2bf297, p0, _fv(p1), _fv(p2), _fv(p3), p4, p5, p6, p7);
};

/**
 * SET_GAMEPLAY_PED_HINT
 */
global.SetGameplayPedHint = function (p0, x1, y1, z1, p4, p5, p6, p7) {
	return _in(0x90fb9516, 0x48851733, p0, _fv(x1), _fv(y1), _fv(z1), p4, p5, p6, p7);
};

/**
 * SET_GAMEPLAY_VEHICLE_HINT
 */
global.SetGameplayVehicleHint = function (p0, p1, p2, p3, p4, p5, p6, p7) {
	return _in(0xe2b2bb7d, 0xac280515, p0, _fv(p1), _fv(p2), _fv(p3), p4, p5, p6, p7);
};

/**
 * _SET_GLOBAL_BLOCK_CAN_BE_ACCESSED
 */
global.SetGlobalBlockCanBeAccessed = function (index, toggle) {
	return _in(0xe66f392b, 0xfce734af, index, toggle);
};

/**
 * _SET_GLOBAL_BLOCK_IS_LOADED
 */
global.SetGlobalBlockIsLoaded = function (index, toggle) {
	return _in(0xe9724006, 0x5406cb80, index, toggle);
};
global.N_0xe97240065406cb80 = global.SetGlobalBlockIsLoaded;

/**
 * nullsub, doesn't do anything
 */
global.SetGpsActive = function (active) {
	return _in(0x3bd3f52b, 0xa9b1e4e8, active);
};

/**
 * SET_GPS_CUSTOM_ROUTE_RENDER
 */
global.SetGpsCustomRouteRender = function (p0, p1, p2) {
	return _in(0xf6cef599, 0xfc470b33, p0, p1, p2);
};

/**
 * https://alloc8or.re/rdr3/doc/enums/rage__eGpsFlags.txt
 */
global.SetGpsFlags = function (p0, p1) {
	return _in(0x5de61c90, 0xddecfa2d, p0, _fv(p1));
};

/**
 * SET_GPS_MULTI_ROUTE_RENDER
 */
global.SetGpsMultiRouteRender = function (toggle) {
	return _in(0x4426d65e, 0x029a4dc0, toggle);
};

/**
 * Returns handle to be used with REMOVE_GRASS_CULL_SPHERE
 */
global.SetGrassCullSphere = function (x, y, z, p3, p4) {
	return _in(0x27219300, 0xc36a8d40, _fv(x), _fv(y), _fv(z), _fv(p3), p4, _r, _ri);
};
global.N_0x27219300c36a8d40 = global.SetGrassCullSphere;

/**
 * eFormationType
 * 0: Default
 * 1: Circle Around Leader
 * 2: Alternative Circle Around Leader
 * 3: Line, with Leader at center
 */
global.SetGroupFormation = function (groupId, formationType) {
	return _in(0xce2f5fc3, 0xaf7e8c1e, groupId, formationType);
};

/**
 * SET_GROUP_FORMATION_SPACING
 */
global.SetGroupFormationSpacing = function (groupId, p1, p2, p3) {
	return _in(0x1d9d4500, 0x4c28c916, groupId, _fv(p1), _fv(p2), _fv(p3));
};

/**
 * Sets the range at which members will automatically leave the group.
 */
global.SetGroupSeparationRange = function (groupId, separationRange) {
	return _in(0x4102c785, 0x8cfee4e4, groupId, _fv(separationRange));
};

/**
 * _SET_GUARD_ZONE_POSITION
 */
global.SetGuardZonePosition = function (name, x, y, z) {
	return _in(0x7e7bf59f, 0x89fc6c6d, _ts(name), _fv(x), _fv(y), _fv(z));
};

/**
 * _SET_GUARD_ZONE_POSITION_2
 */
global.SetGuardZonePosition_2 = function (name, x, y, z) {
	return _in(0x2f9005e2, 0xea4e5ee4, _ts(name), _fv(x), _fv(y), _fv(z));
};

/**
 * _SET_GUARD_ZONE_VOLUME_REGISTRATION_END
 */
global.SetGuardZoneVolumeRegistrationEnd = function (name, volume) {
	return _in(0xa8a74aa7, 0x9fb67159, _ts(name), volume);
};
global.N_0xa8a74aa79fb67159 = global.SetGuardZoneVolumeRegistrationEnd;

/**
 * _SET_GUARD_ZONE_VOLUME_REGISTRATION_START
 */
global.SetGuardZoneVolumeRegistrationStart = function (name, volume) {
	return _in(0x8c598a93, 0x0f471938, _ts(name), volume);
};
global.N_0x8c598a930f471938 = global.SetGuardZoneVolumeRegistrationStart;

/**
 * _SET_GUARD_ZONE_VOLUME_RESTRICTED
 */
global.SetGuardZoneVolumeRestricted = function (name, volume) {
	return _in(0x35815f37, 0x2d43e1e5, _ts(name), volume);
};
global.N_0x35815f372d43e1e5 = global.SetGuardZoneVolumeRestricted;

/**
 * _SET_GUARD_ZONE_VOLUME_THREAT
 */
global.SetGuardZoneVolumeThreat = function (name, volume) {
	return _in(0xa1b0e630, 0x1e2e02a6, _ts(name), volume);
};
global.N_0xa1b0e6301e2e02a6 = global.SetGuardZoneVolumeThreat;

/**
 * _SET_GUARD_ZONE_VOLUME_WARNING
 */
global.SetGuardZoneVolumeWarning = function (name, volume) {
	return _in(0xad3e07c3, 0x7a7c1adc, _ts(name), volume);
};
global.N_0xad3e07c37a7c1adc = global.SetGuardZoneVolumeWarning;

/**
 * _SET_GUARMA_WORLDHORIZON_ACTIVE
 */
global.SetGuarmaWorldhorizonActive = function (toggle) {
	return _in(0x74e2261d, 0x2a66849a, toggle);
};
global.N_0x74e2261d2a66849a = global.SetGuarmaWorldhorizonActive;

/**
 * _STOP_* - _TEST_*
 * ```
 * ```
 * NativeDB Introduced: v1355
 */
global.SetGunSpinningInventorySlotIdActivate = function (ped, emoteType) {
	return _in(0x408cf580, 0xc5e96d49, ped, emoteType);
};

/**
 * SET_HD_AREA
 */
global.SetHdArea = function (x, y, z, radius) {
	return _in(0xb88b905a, 0xfa35cb4d, _fv(x), _fv(y), _fv(z), _fv(radius));
};

/**
 * _SET_HEALTH_RECHARGE_MULTIPLIER
 */
global.SetHealthRechargeMultiplier = function (ped, multiplier) {
	return _in(0xde1b1907, 0xa83a1550, ped, multiplier);
};
global.N_0xde1b1907a83a1550 = global.SetHealthRechargeMultiplier;

/**
 * SET_HIDOF_OVERRIDE
 */
global.SetHidofOverride = function (p0, p1, p2, p3, p4, p5) {
	return _in(0xcc23aa1a, 0x7cbfe840, p0, p1, _fv(p2), _fv(p3), _fv(p4), _fv(p5));
};
global.SetHidofEnvBlurParams = global.SetHidofOverride;

/**
 * Makes the ped ragdoll like when falling from a great height
 */
global.SetHighFallTask = function (ped, p1, p2, p3) {
	return _in(0x8c825bdc, 0x7741d37c, ped, p1, p2, p3);
};

/**
 * Sets the time it takes for a hogtied ped to escape
 * -1.0f for ped to never escape
 */
global.SetHogtieEscapeTimer = function (ped, time) {
	return _in(0xab591ae6, 0xb48b913e, ped, _fv(time));
};
global.N_0xab591ae6b48b913e = global.SetHogtieEscapeTimer;

/**
 * SET_HORN_ENABLED
 */
global.SetHornEnabled = function (vehicle, toggle) {
	return _in(0x76d683c1, 0x08594d0e, vehicle, toggle);
};

/**
 * -1 - HORSE_ASSIST__NO_CHANGE
 * 0 - HORSE_ASSIST__MANUAL
 * 1 - HORSE_ASSIST__SEMIASSIST
 * 2 - HORSE_ASSIST__FULLASSIST
 */
global.SetHorseAvoidanceLevel = function (horse, avoidanceLevel) {
	return _in(0xddcf6fea, 0x5d7acc17, horse, avoidanceLevel);
};
global.N_0xddcf6fea5d7acc17 = global.SetHorseAvoidanceLevel;

/**
 * _SET_HORSE_TRAFFIC_GROUPING_DISTRIBUTION
 */
global.SetHorseTrafficGroupingDistribution = function (p0, p1, p2, p3) {
	return _in(0xf5ffb089, 0x76911b50, p0, p1, p2, p3);
};
global.N_0xf5ffb08976911b50 = global.SetHorseTrafficGroupingDistribution;

/**
 * nullsub, doesn't do anything
 */
global.SetIgnoreNoGpsFlag = function (toggle) {
	return _in(0x72751156, 0xe7678833, toggle);
};

/**
 * Sets whether or not ownership checks should be performed while trying to stow a carriable on a hunting wagon.
 * @param ignore true to let the local player stow carriables on any hunting wagon, false to use the default behaviour.
 */
global.SetIgnoreVehicleOwnershipForStowing = function (ignore) {
	return _in(0x00000000, 0x85a10ffd, ignore);
};

/**
 * SET_IK_TARGET
 */
global.SetIkTarget = function (ped, ikIndex, entityLookAt, boneLookAt, offsetX, offsetY, offsetZ, p7, blendInDuration, blendOutDuration) {
	return _in(0xc32779c1, 0x6fceecd9, ped, ikIndex, entityLookAt, boneLookAt, _fv(offsetX), _fv(offsetY), _fv(offsetZ), p7, blendInDuration, blendOutDuration);
};

/**
 * Forces gameplay cam to specified vehicle as if you were in it
 */
global.SetInVehicleCamStateThisUpdate = function (vehicle, p1) {
	return _in(0xfa1d5e8d, 0x1c3ccd67, vehicle, p1);
};
global.N_0xfa1d5e8d1c3ccd67 = global.SetInVehicleCamStateThisUpdate;

/**
 * _SET_INCIDENT_UNK
 */
global.SetIncidentUnk = function (incidentId) {
	return _in(0x9617b6e5, 0xf6537b63, incidentId);
};
global.N_0x9617b6e5f6537b63 = global.SetIncidentUnk;

/**
 * SET_INPUT_EXCLUSIVE
 */
global.SetInputExclusive = function (control, action) {
	return _in(0xede476e5, 0xee29edb1, control, _ch(action));
};

/**
 * SET_INSTANTLY_EQUIP_WEAPON_PICKUPS
 */
global.SetInstantlyEquipWeaponPickups = function (ped, toggle) {
	return _in(0x739b9c6d, 0x0e7f7f93, ped, toggle);
};
global.N_0x739b9c6d0e7f7f93 = global.SetInstantlyEquipWeaponPickups;

/**
 * _SET_INTERACTION_LOCKON_FLAG
 */
global.SetInteractionLockonFlag = function (ped, player, flag, enable) {
	return _in(0xfeca2081, 0xf61ed2cd, ped, player, flag, enable);
};
global.N_0xfeca2081f61ed2cd = global.SetInteractionLockonFlag;

/**
 * Actually returns void in IDA but the script header defines a BOOL return type
 */
global.SetInteriorInUse = function (interior) {
	return _in(0xb5ef6fef, 0x2dc9ebed, interior, _r, _ri);
};
global.N_0xb5ef6fef2dc9ebed = global.SetInteriorInUse;

/**
 * SET_IS_SCRIPTED_SPEECH_DISABLED
 */
global.SetIsScriptedSpeechDisabled = function (ped, disabled) {
	return _in(0xb2de3aeb, 0xe31150e2, ped, disabled, _r, _ri);
};
global.N_0xb2de3aebe31150e2 = global.SetIsScriptedSpeechDisabled;

/**
 * _SET_ITEM_PROMPT_INFO_REQUEST
 */
global.SetItemPromptInfoRequest = function (p0) {
	return _in(0xfd41d1d4, 0x350f6413, _ii(p0) /* may be optional */);
};
global.N_0xfd41d1d4350f6413 = global.SetItemPromptInfoRequest;
global.InventoryHandleItemPromptInfoRequest = global.SetItemPromptInfoRequest;

/**
 * Toggles the visibility of resource names in the FiveM key mapping page.
 * @param hide `true` will disable the display of resource names, and `false` will enable it.
 */
global.SetKeyMappingHideResources = function (hide) {
	return _in(0x00000000, 0xcb0241b5, hide);
};

/**
 * _SET_LAUNCH_PARAM_STRING
 */
global.SetLaunchParamString = function (params) {
	return _in(0xdffc15aa, 0x63d04aab, _ts(params));
};
global.N_0xdffc15aa63d04aab = global.SetLaunchParamString;

/**
 * _SET_LAUNCH_PARAM_VALUE
 */
global.SetLaunchParamValue = function (paramName, value) {
	return _in(0x668af6e4, 0x933ac13f, _ts(paramName), _ts(value));
};
global.N_0x668af6e4933ac13f = global.SetLaunchParamValue;

/**
 * _SET_LAW_DISABLED
 */
global.SetLawDisabled = function (toggle) {
	return _in(0x8de82bc7, 0x74f3b862, toggle);
};
global.N_0x8de82bc774f3b862 = global.SetLawDisabled;

/**
 * _SET_LAW_RBS_VOLUME
 */
global.SetLawRbsVolume = function (player, p1) {
	return _in(0x9bbdcb8d, 0xf789ebc1, player, _ch(p1));
};
global.N_0x9bbdcb8df789ebc1 = global.SetLawRbsVolume;

/**
 * enum eLawRegion : Hash
 * {
 * LAW_DISPATCH_REGION_NONE = 0,
 * LAW_REGION_AGUASDULCES = 0x2F573EBE,
 * LAW_REGION_ANNESBURG = 0x68CAFD50,
 * LAW_REGION_ARMADILLO = 0xF0B90756,
 * LAW_REGION_BAYOU_NWA = 0x80966B1C,
 * LAW_REGION_BEECHERS_HOPE = 0xE2544977,
 * LAW_REGION_BIG_VALLEY = 0x3DF1559A,
 * LAW_REGION_BLACKWATER = 0x60D4886D,
 * LAW_REGION_BLACKWATER_MAINGAME = 0x66553576,
 * LAW_REGION_BLUEGILL_MARSH = 0x1D6AED8E,
 * LAW_REGION_BRAITHWAITE_MANOR = 0x3D71E7FF,
 * LAW_REGION_BUTCHER_CREEK = 0x2B3E1822,
 * LAW_REGION_CALIGA_HALL = 0xF3FE5080,
 * LAW_REGION_CORNWALL = 0xCC4672FA,
 * LAW_REGION_CUMBERLAND_FOREST = 0x81A78306,
 * LAW_REGION_EMERALD_RANCH = 0x5C069DF3,
 * LAW_REGION_FORT_WALLACE = 0x0AF25192,
 * LAW_REGION_GREAT_PLAINS = 0xB20573FA,
 * LAW_REGION_GREAT_PLAINS_MAINGAME = 0x9862FF7C,
 * LAW_REGION_GRIZZLIES = 0xBB936031,
 * LAW_REGION_GUAMA = 0x200DFF42,
 * LAW_REGION_HEARTLANDS = 0xAD14DA65,
 * LAW_REGION_LAGRAS = 0xC64808D3,
 * LAW_REGION_MACFARLANES_RANCH = 0x396A7D5F,
 * LAW_REGION_MANICATO = 0x039DB6BF,
 * LAW_REGION_MANZANITA_POST = 0x895E580E,
 * LAW_REGION_MANZANITA_POST_MAINGAME = 0x9BDD6A38,
 * LAW_REGION_OCCUPIED_CARAVAN_CAMP = 0x7EBABB01,
 * LAW_REGION_OLD_MAP_WILDERNESS = 0xCBB45950,
 * LAW_REGION_OLD_MAP_WILDERNESS_MAINGAME = 0x9F839BE7,
 * LAW_REGION_OUTLAW3 = 0x97A02FC1,
 * LAW_REGION_PRONGHORN_RANCH = 0x398E4BFC,
 * LAW_REGION_RHODES = 0x89222928,
 * LAW_REGION_RHODES_LOCKDOWN = 0xB1181671,
 * LAW_REGION_RIDGEWOOD_FARM = 0x635C3028,
 * LAW_REGION_ROANOKE_RIDGE = 0x46386A9A,
 * LAW_REGION_SAINT_DENIS = 0x5CF7C268,
 * LAW_REGION_SAINT_DENIS_RURAL = 0x4FD5331A,
 * LAW_REGION_SCARLETT_MEADOWS = 0x5FDD9717,
 * LAW_REGION_SISIKA = 0x2B6BBA52,
 * LAW_REGION_STRAWBERRY = 0xDD932620,
 * LAW_REGION_TALL_TREES = 0xD939B758,
 * LAW_REGION_TALL_TREES_MAINGAME = 0x084B17DF,
 * LAW_REGION_THIEVES_LANDING = 0x3D0C2EB6,
 * LAW_REGION_THIEVES_LANDING_MAINGAME = 0x61C450F3,
 * LAW_REGION_TUMBLEWEED = 0x0EFAF8DC,
 * LAW_REGION_VALENTINE = 0xA7A3F0C3,
 * LAW_REGION_VALENTINE_LOCKDOWN = 0x123582FE,
 * LAW_REGION_VAN_HORN = 0x619B528E,
 * LAW_REGION_WAPITI = 0x7A976E02
 * };
 */
global.SetLawRegion = function (player, lawRegionHash, stateHash) {
	return _in(0x4752f68e, 0xb7f2d280, player, _ch(lawRegionHash), _ch(stateHash));
};
global.N_0x4752f68eb7f2d280 = global.SetLawRegion;

/**
 * SET_LAW_RESPONSE_DELAY_OVERRIDE
 */
global.SetLawResponseDelayOverride = function (p0) {
	return _in(0xd2dfc9cc, 0xa5596a11, _fv(p0));
};
global.N_0xd2dfc9cca5596a11 = global.SetLawResponseDelayOverride;

/**
 * Default range is 1.0f
 */
global.SetLawSenseRangeModifier = function (player, range) {
	return _in(0xfec85339, 0xaaca2a35, player, _fv(range));
};
global.N_0xfec85339aaca2a35 = global.SetLawSenseRangeModifier;

/**
 * _SET_LIGHT_INTENSITY_FOR_OBJECT
 */
global.SetLightIntensityForObject = function (object, lightIntensity) {
	return _in(0xf49574e2, 0x332a8f06, object, _fv(lightIntensity));
};
global.N_0xf49574e2332a8f06 = global.SetLightIntensityForObject;

/**
 * _SET_LIGHT_SCATTERING_DISABLED_FOR_OBJECT
 */
global.SetLightScatteringDisabledForObject = function (object, disable) {
	return _in(0x04d1d4e4, 0x11ce52d0, object, disable);
};
global.N_0x04d1d4e411ce52d0 = global.SetLightScatteringDisabledForObject;

/**
 * Params: value = 0.0 - 586.67 (?)
 */
global.SetLightTranslucencyForObject = function (object, value) {
	return _in(0x63e39f09, 0x310f481f, object, _fv(value));
};
global.N_0x63e39f09310f481f = global.SetLightTranslucencyForObject;

/**
 * https://gfycat.com/meagerfaireyra
 */
global.SetLightsColorForEntity = function (entity, red, green, blue) {
	return _in(0x6ec2a679, 0x62296f49, entity, red, green, blue);
};
global.N_0x6ec2a67962296f49 = global.SetLightsColorForEntity;

/**
 * _SET_LIGHTS_INTENSITY_FOR_ENTITY
 */
global.SetLightsIntensityForEntity = function (entity, intensity) {
	return _in(0x07c0f87a, 0xac57f2e4, entity, _fv(intensity));
};
global.N_0x07c0f87aac57f2e4 = global.SetLightsIntensityForEntity;

/**
 * type must be less than or equal to 20
 */
global.SetLightsTypeForEntity = function (entity, type) {
	return _in(0xab72c671, 0x63dc4db4, entity, type);
};
global.N_0xab72c67163dc4db4 = global.SetLightsTypeForEntity;

/**
 * SET_LOCAL_PLAYER_AS_GHOST
 */
global.SetLocalPlayerAsGhost = function (toggle) {
	return _in(0x5ffe9b41, 0x44f9712f, toggle);
};
global.UsePlayerColourInsteadOfTeamColour = global.SetLocalPlayerAsGhost;

/**
 * SET_LOCAL_PLAYER_CAN_COLLECT_PORTABLE_PICKUPS
 */
global.SetLocalPlayerCanCollectPortablePickups = function (toggle) {
	return _in(0x78857fc6, 0x5cadb909, toggle);
};
global.N_0x78857fc65cadb909 = global.SetLocalPlayerCanCollectPortablePickups;

/**
 * _SET_LOCAL_PLAYER_DAMAGE_MULTIPLIER_FOR_PLAYER
 */
global.SetLocalPlayerDamageMultiplierForPlayer = function (player, damageMultiplier) {
	return _in(0xd041a329, 0x92a55f84, player, _fv(damageMultiplier));
};
global.N_0xd041a32992a55f84 = global.SetLocalPlayerDamageMultiplierForPlayer;

/**
 * SET_LOCAL_PLAYER_INVISIBLE_LOCALLY
 */
global.SetLocalPlayerInvisibleLocally = function (p0) {
	return _in(0xe5f773c1, 0xa1d9d168, p0);
};

/**
 * Maximum amount of pickup models that can be disallowed is 10.
 */
global.SetLocalPlayerPermittedToCollectPickupsWithModel = function (modelHash, toggle) {
	return _in(0x88eaec61, 0x7cd26926, _ch(modelHash), toggle);
};
global.SetLocalPlayerCanUsePickupsWithThisModel = global.SetLocalPlayerPermittedToCollectPickupsWithModel;

/**
 * see personaabilities.meta
 * enum ePersonaAbilityFlag
 * {
 * PERSONA_CAN_AUTOESCAPE_FROM_LASSO,
 * PERSONA_HAT_BLOCKS_FIRST_HEADSHOT,
 * PERSONA_FULL_AUTO_FOR_ALL_WEAPONS,
 * PERSONA_MIGHT_LIVE_AFTER_DEADLY_DAMAGE,
 * PERSONA_IGNORE_AIM_BEFORE_FIRING_RESTRICTIONS,
 * PERSONA_DEADEYE_INSTANT_RELOAD,
 * PERSONA_USE_PHOSPHOROUS_ROUNDS,
 * PERSONA_CONT_DEADEYE_ON_TAKING_COVER,
 * PERSONA_CONT_DEADEYE_ON_RELOAD,
 * PERSONA_CONT_DEADEYE_ON_SHOOTING,
 * PERSONA_CONT_DEADEYE_ON_EXITING_AIM,
 * PERSONA_DISABLE_PLAYER_CANCELLING_DEADEYE,
 * PERSONA_CONT_DEADEYE_ON_RAGDOLL,
 * PERSONA_USE_EXPLOSIVE_ROUNDS,
 * PERSONA_EXIT_DEADEYE_ON_TAKING_DAMAGE,
 * PERSONA_CARRY_TWO_MONEYBAGS,
 * PERSONA_ABILITY_LONG_PICK_HERBS,
 * PERSONA_ABILITY_UNBREAKABLE_LASSO,
 * PERSONA_CONT_DEADEYE_ON_SPRINTING,
 * PERSONA_CANT_DEAL_HEADSHOTS,
 * PERSONA_HANGMAN,
 * PERSONA_ALLOW_DEADEYE_WITH_MELEE_WEAPONS,
 * PERSONA_ALLOW_DEADEYE_WHILE_UNARMED,
 * PERSONA_DISABLE_DEADEYE_PERFECT_ACCURACY,
 * PERSONA_CANT_DEAL_HEADSHOTS_TO_PLAYERS,
 * PERSONA_CANT_DEAL_CRITICAL_DAMAGE,
 * PERSONA_CANT_DEAL_CRITICAL_DAMAGE_TO_PLAYERS,
 * PERSONA_ALLOW_EAGLEEYE_IN_COMBAT,
 * PERSONA_CONT_EAGLEEYE_ON_SPRINT,
 * PERSONA_SUPPRESS_LENGENDARY_EAGLEEYE_TRAIL_COLOR
 * };
 */
global.SetLocalPlayerPersonaAbilityFlag = function (flagId, toggle) {
	return _in(0x7146cf43, 0x0965927c, flagId, toggle);
};
global.N_0x7146cf430965927c = global.SetLocalPlayerPersonaAbilityFlag;

/**
 * SET_LOCAL_PLAYER_VISIBLE_IN_CUTSCENE
 */
global.SetLocalPlayerVisibleInCutscene = function (local, remote, instanceId) {
	return _in(0xd1065d68, 0x947e7b6e, local, remote, instanceId);
};

/**
 * Focus Fire VFX start for player: p1 = focusfire
 */
global.SetLockonFocusFireVfx = function (player, p1) {
	return _in(0x5f8e0303, 0xc229c84b, player, _ts(p1));
};
global.N_0x5f8e0303c229c84b = global.SetLockonFocusFireVfx;

/**
 * SET_LOCKON_TO_FRIENDLY_PLAYERS
 */
global.SetLockonToFriendlyPlayers = function (player, toggle) {
	return _in(0x4a056257, 0x802dd3e5, player, toggle);
};
global.N_0x4a056257802dd3e5 = global.SetLockonToFriendlyPlayers;

/**
 * _SET_LOOT_PELT_SATCHEL_ITEM
 */
global.SetLootPeltSatchelItem = function (ped, item) {
	return _in(0x9b479712, 0x34169990, ped, item);
};
global.N_0x9b47971234169990 = global.SetLootPeltSatchelItem;

/**
 * https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/CLootingFlags__Flags
 * https://github.com/femga/rdr3_discoveries/tree/master/AI/LOOTING_FLAGS
 * lootFlag:
 * enum eLootFlag
 * {
 * LOOT_FLAG_IS_CRITICAL_LOOT_TARGET = 7,
 * LOOT_FLAG_IGNORE_WATER_CHECKS = 8,
 * LOOT_FLAG_ANIMAL_FLAGGED_FOR_TAGGING = 23,
 * };
 */
global.SetLootingFlag = function (ped, lootFlag, enabled) {
	return _in(0x6569f31a, 0x01b4c097, ped, lootFlag, enabled);
};
global.N_0x6569f31a01b4c097 = global.SetLootingFlag;

/**
 * Sets whether or not `SHUTDOWN_LOADING_SCREEN` automatically shuts down the NUI frame for the loading screen. If this is enabled,
 * you will have to manually invoke `SHUTDOWN_LOADING_SCREEN_NUI` whenever you want to hide the NUI loading screen.
 * @param manualShutdown TRUE to manually shut down the loading screen NUI.
 */
global.SetManualShutdownLoadingScreenNui = function (manualShutdown) {
	return _in(0x00000000, 0x1722c938, manualShutdown);
};

/**
 * SET_MAPDATACULLBOX_ENABLED
 */
global.SetMapdatacullboxEnabled = function (name, toggle) {
	return _in(0x3cacc83f, 0x6fed837c, _ts(name), toggle);
};

/**
 * SET_MAX_NUM_PORTABLE_PICKUPS_CARRIED_BY_PLAYER
 */
global.SetMaxNumPortablePickupsCarriedByPlayer = function (modelHash, p1) {
	return _in(0x0bf3b3bd, 0x47d79c08, _ch(modelHash), p1);
};
global.N_0x0bf3b3bd47d79c08 = global.SetMaxNumPortablePickupsCarriedByPlayer;

/**
 * SET_MAX_WANTED_LEVEL
 */
global.SetMaxWantedLevel = function (maxWantedLevel) {
	return _in(0x28a4bd2c, 0xee236e19, maxWantedLevel);
};

/**
 * _SET_MAX_WANTED_LEVEL_2
 */
global.SetMaxWantedLevel_2 = function (maxWantedLevel) {
	return _in(0xea6de0cd, 0x15aecbe2, maxWantedLevel);
};
global.N_0xea6de0cd15aecbe2 = global.SetMaxWantedLevel_2;

/**
 * Use to apply metaped player components
 * Replaces asset, alternatively you can remove assets using REMOVE_TAG_FROM_META_PED
 */
global.SetMetaPedTag = function (ped, drawable, albedo, normal, material, palette, tint0, tint1, tint2) {
	return _in(0xbc6df00d, 0x7a4a6819, ped, _ch(drawable), _ch(albedo), _ch(normal), _ch(material), _ch(palette), tint0, tint1, tint2);
};
global.N_0xbc6df00d7a4a6819 = global.SetMetaPedTag;

/**
 * Sets ped eye redness, weariness: 0.f to 1.f
 */
global.SetMetaPedWeariness = function (ped, weariness) {
	return _in(0x314c5465, 0x195f3b30, ped, _fv(weariness));
};
global.N_0x314c5465195f3b30 = global.SetMetaPedWeariness;
global.SetMetapedWeariness = global.SetMetaPedWeariness;

/**
 * _SET_MGM_EVENT
 */
global.SetMgmEvent = function (mgmEventHandle, p1, seatId, p3, p4) {
	return _in(0x07706c4c, 0xc9c6cc9e, mgmEventHandle, _ts(p1), seatId, p3, _fv(p4));
};
global.N_0x07706c4cc9c6cc9e = global.SetMgmEvent;

/**
 * _SET_MILLISECONDS_PER_GAME_MINUTE
 */
global.SetMillisecondsPerGameMinute = function (ms) {
	return _in(0x04eedb38, 0x48dacf68, ms);
};

/**
 * NativeDB Introduced: v1355
 */
global.SetMinPedHealthThreshold = function (ped, healthAmount) {
	return _in(0x7883aa80, 0x9df43d98, ped, _fv(healthAmount));
};
global.N_0x7883aa809df43d98 = global.SetMinPedHealthThreshold;

/**
 * SET_MIN_TIME_BEFORE_HORSE_BUCKING
 */
global.SetMinTimeBeforeHorseBucking = function (mount, iMinBuckTime) {
	return _in(0x506ce71f, 0xb6e8cf5e, mount, iMinBuckTime);
};
global.N_0x506ce71fb6e8cf5e = global.SetMinTimeBeforeHorseBucking;

/**
 * _SET_MINIMAP_FOW_OVERRIDE_REVEAL_SCALE
 */
global.SetMinimapFowOverrideRevealScale = function (scale, p1) {
	return _in(0xe5a7f70b, 0x7c0f3271, _fv(scale), _ch(p1));
};
global.N_0xe5a7f70b7c0f3271 = global.SetMinimapFowOverrideRevealScale;

/**
 * Up to eight coordinates may be revealed per frame
 */
global.SetMinimapFowRevealCoordinate = function (x, y, z, p3) {
	return _in(0x73348402, 0x566ecb6e, _fv(x), _fv(y), _fv(z), _ch(p3));
};
global.N_0x73348402566ecb6e = global.SetMinimapFowRevealCoordinate;

/**
 * SET_MINIMAP_FOW_REVEAL_VOLUME
 */
global.SetMinimapFowRevealVolume = function (volume, p1) {
	return _in(0x63cbbd6c, 0xa6f321f9, volume, _ch(p1));
};
global.N_0x63cbbd6ca6f321f9 = global.SetMinimapFowRevealVolume;

/**
 * _SET_MINIMAP_FOW_SHOULD_UPDATE
 */
global.SetMinimapFowShouldUpdate = function (toggle, p1) {
	return _in(0x632aa10b, 0xf7ea53d3, toggle, _ch(p1));
};
global.N_0x632aa10bf7ea53d3 = global.SetMinimapFowShouldUpdate;

/**
 * Reveals the entire minimap (FOW = Fog of War)
 */
global.SetMinimapHideFow = function (toggle) {
	return _in(0x4b8f743a, 0x4a6d2ff8, toggle);
};

/**
 * Possible Types:
 * ```
 * 0 = Off,
 * 1 = Regular,
 * 2 = Expanded,
 * 3 = Simple,
 * ```
 * @param type Type to set the minimap to.
 */
global.SetMinimapType = function (type) {
	return _in(0x00000000, 0x5fb53015, type);
};

/**
 * hash can be the hash of "guarma" or "world".
 */
global.SetMinimapZone = function (zone) {
	return _in(0xa657ec9d, 0xbc6cc900, _ch(zone));
};
global.N_0xa657ec9dbc6cc900 = global.SetMinimapZone;

/**
 * If true, the player can't save the game.
 */
global.SetMissionFlag = function (toggle) {
	return _in(0x36694b45, 0x6be80d0a, toggle);
};

/**
 * SET_MISSION_NAME
 */
global.SetMissionName = function (p0, name) {
	return _in(0x402669a4, 0xbdaa72da, p0, _ts(name));
};

/**
 * SET_MISSION_NAME_FOR_UGC_MISSION
 */
global.SetMissionNameForUgcMission = function (p0, name) {
	return _in(0xd98630ce, 0x73c61e98, p0, _ts(name));
};
global.SetMissionName_2 = global.SetMissionNameForUgcMission;

/**
 * flags = 0: DEFAULT; 1: KEEP_OLD_SPEED
 */
global.SetMissionTrainAsNoLongerNeeded = function (flags) {
	return _in(0xbbe76483, 0x49b49be8, _i, flags);
};

/**
 * SET_MISSION_TRAIN_COORDS
 */
global.SetMissionTrainCoords = function (train, x, y, z) {
	return _in(0x76327559, 0x62ab9922, train, _fv(x), _fv(y), _fv(z));
};

/**
 * Notice: BOOL p4 was wrongly named takePassengers (?)
 * Can be used to rotate the train by setting the BOOL direction
 */
global.SetMissionTrainWarpToCoords = function (train, x, y, z, direction) {
	return _in(0xc9ea2689, 0x3c9e4024, train, _fv(x), _fv(y), _fv(z), direction);
};
global.N_0xc9ea26893c9e4024 = global.SetMissionTrainWarpToCoords;

/**
 * Marks the model as no longer needed.
 */
global.SetModelAsNoLongerNeeded = function (model) {
	return _in(0x4ad96ef9, 0x28bd4f9a, _ch(model));
};

/**
 * _SET_MOUNT_BONDING_LEVEL
 */
global.SetMountBondingLevel = function (ped, bondingLevel) {
	return _in(0xa6989999, 0x5997a63b, ped, bondingLevel);
};
global.N_0xa69899995997a63b = global.SetMountBondingLevel;

/**
 * _SET_MOUNT_PROMPT_DISABLED
 */
global.SetMountPromptDisabled = function (disabled) {
	return _in(0x5b9813ec, 0xf7633fe8, disabled);
};
global.N_0x5b9813ecf7633fe8 = global.SetMountPromptDisabled;

/**
 * Note: this native was added in build 1232.40
 * ```
 * ```
 * NativeDB Introduced: v1232
 */
global.SetMountSecurityEnabled = function (ped, toggle) {
	return _in(0x11e6b962, 0x9c46d6ec, ped, toggle);
};

/**
 * Changes the mouse cursor's sprite.
 * spriteId's: https://github.com/femga/rdr3_discoveries/tree/master/graphics/HUD/cursor_sprites#readme
 */
global.SetMouseCursorStyle = function (spriteId) {
	return _in(0x7f5858aa, 0xb5a58cce, spriteId);
};
global.SetMouseCursorSprite = global.SetMouseCursorStyle;

/**
 * Shows the cursor on screen for one frame.
 */
global.SetMouseCursorThisFrame = function () {
	return _in(0xf12e4cca, 0xf249dc10);
};
global.SetMouseCursorActiveThisFrame = global.SetMouseCursorThisFrame;

/**
 * SET_MP_GAMER_TAG_BIG_TEXT
 */
global.SetMpGamerTagBigText = function (gamerTagId, string) {
	return _in(0xa0d7ce5f, 0x83259663, gamerTagId, _ts(string));
};

/**
 * _SET_MP_GAMER_TAG_COLOUR
 */
global.SetMpGamerTagColour = function (gamerTagId, colour) {
	return _in(0x84bd27dd, 0xf9575816, gamerTagId, _ch(colour));
};
global.N_0x84bd27ddf9575816 = global.SetMpGamerTagColour;

/**
 * SET_MP_GAMER_TAG_NAME
 */
global.SetMpGamerTagName = function (gamerTagId, string) {
	return _in(0xea6f4b8d, 0x4b4b5b3e, gamerTagId, _ts(string));
};

/**
 * _SET_MP_GAMER_TAG_NAME_POSSE
 */
global.SetMpGamerTagNamePosse = function (gamerTagId, text) {
	return _in(0x1ea716e0, 0x628a6f44, gamerTagId, _ts(text));
};
global.N_0x1ea716e0628a6f44 = global.SetMpGamerTagNamePosse;

/**
 * Found icons: SPEAKER, THROPY
 */
global.SetMpGamerTagSecondaryIcon = function (gamerTagId, icon) {
	return _in(0x95384c6c, 0xe1526eff, gamerTagId, _ch(icon));
};
global.N_0x95384c6ce1526eff = global.SetMpGamerTagSecondaryIcon;

/**
 * Found icons: https://pastebin.com/xx6rEgiG
 */
global.SetMpGamerTagTopIcon = function (gamerTagId, icon) {
	return _in(0x5f57522b, 0xc1eb9d9d, gamerTagId, _ch(icon));
};
global.N_0x5f57522bc1eb9d9d = global.SetMpGamerTagTopIcon;

/**
 * Found types: GENERIC_PLAYER, DEADDROP, HOTPROPERTY, MINIGAMES
 */
global.SetMpGamerTagType = function (gamerTagId, type) {
	return _in(0x25b9c78a, 0x25105c35, gamerTagId, _ch(type));
};
global.N_0x25b9c78a25105c35 = global.SetMpGamerTagType;

/**
 * nullsub, doesn't do anything
 */
global.SetMpGamerTagUnkAllowLocalized = function (gamerTagId, allow) {
	return _in(0xef7ab1a0, 0xe8c86170, gamerTagId, allow);
};
global.N_0xef7ab1a0e8c86170 = global.SetMpGamerTagUnkAllowLocalized;

/**
 * visibility:
 * enum eUIGamertagVisibility
 * {
 * UIGAMERTAGVISIBILITY_NONE,
 * UIGAMERTAGVISIBILITY_ICON,
 * UIGAMERTAGVISIBILITY_SIMPLE,
 * UIGAMERTAGVISIBILITY_COMPLEX
 * };
 */
global.SetMpGamerTagVisibility = function (gamerTagId, visibility) {
	return _in(0x93171ddd, 0xab274eb8, gamerTagId, visibility);
};
global.N_0x93171dddab274eb8 = global.SetMpGamerTagVisibility;

/**
 * SET_NETWORK_ID_ALWAYS_EXISTS_FOR_PLAYER
 */
global.SetNetworkIdAlwaysExistsForPlayer = function (netId, player, toggle) {
	return _in(0xa8a02458, 0x7329f36a, netId, player, toggle);
};
global.SetNetworkIdSyncToPlayer = global.SetNetworkIdAlwaysExistsForPlayer;

/**
 * SET_NETWORK_ID_EXISTS_ON_ALL_MACHINES
 */
global.SetNetworkIdExistsOnAllMachines = function (netId, toggle) {
	return _in(0xe05e81a8, 0x88fa63c8, netId, toggle);
};

/**
 * SET_NETWORK_ID_STOP_CLONING
 */
global.SetNetworkIdStopCloning = function (networkId, bStopCloning) {
	return _in(0x9ed3108d, 0x6847760a, networkId, bStopCloning);
};
global.N_0x9ed3108d6847760a = global.SetNetworkIdStopCloning;

/**
 * SET_NETWORK_ID_VISIBLE_IN_CUTSCENE
 */
global.SetNetworkIdVisibleInCutscene = function (p0, p1, p2, p3) {
	return _in(0xa6928482, 0x543022b4, p0, p1, p2, p3);
};

/**
 * Params: p2 controls whether to make pickups usable/collectable or not in networked games
 */
global.SetNetworkPickupUsableForPlayer = function (player, pickupHash, isUsable) {
	return _in(0x94f3d956, 0xbfaeae18, player, _ch(pickupHash), isUsable);
};
global.N_0x94f3d956bfaeae18 = global.SetNetworkPickupUsableForPlayer;

/**
 * _SET_NETWORK_RESPOT_TIMER
 */
global.SetNetworkRespotTimer = function (entity, timer, p2) {
	return _in(0x442b4347, 0xb6ec36e8, entity, timer, p2);
};
global.N_0x442b4347b6ec36e8 = global.SetNetworkRespotTimer;

/**
 * SET_NO_LOADING_SCREEN
 */
global.SetNoLoadingScreen = function (toggle) {
	return _in(0x5cb83156, 0xaa038f95, toggle);
};

/**
 * Sets object as not jumpable by horse.
 */
global.SetNotJumpableByHorse = function (object, p1) {
	return _in(0xe1c708ba, 0x4885796b, object, p1);
};
global.N_0xe1c708ba4885796b = global.SetNotJumpableByHorse;

/**
 * SET_NUI_FOCUS
 */
global.SetNuiFocus = function (hasFocus, hasCursor) {
	return _in(0x00000000, 0x5b98ae30, hasFocus, hasCursor);
};

/**
 * SET_NUI_FOCUS_KEEP_INPUT
 */
global.SetNuiFocusKeepInput = function (keepInput) {
	return _in(0x00000000, 0x3ff5e5f8, keepInput);
};

/**
 * Set the z-index of the NUI resource.
 * @param zIndex New z-index value.
 */
global.SetNuiZindex = function (zIndex) {
	return _in(0x00000000, 0x3734aaff, zIndex);
};

/**
 * SET_OBJECT_ALLOW_LOW_LOD_BUOYANCY
 */
global.SetObjectAllowLowLodBuoyancy = function (object, toggle) {
	return _in(0x4d89d607, 0xcb3dd1d2, object, toggle);
};
global.SetObjectCanClimbOn = global.SetObjectAllowLowLodBuoyancy;

/**
 * This is an alias of SET_ENTITY_AS_NO_LONGER_NEEDED.
 */
global.SetObjectAsNoLongerNeeded = function (object) {
	return _in(0x3ae22deb, 0x5ba5a3e6, _ii(object) /* may be optional */);
};

/**
 * _SET_OBJECT_BREAK_SCALE
 */
global.SetObjectBreakScale = function (object, scale) {
	return _in(0xffb99ffd, 0x17f65889, object, _fv(scale));
};
global.N_0xffb99ffd17f65889 = global.SetObjectBreakScale;

/**
 * _SET_OBJECT_BURN_INTENSITY
 */
global.SetObjectBurnIntensity = function (object, intensity) {
	return _in(0xc8e21c16, 0x77dc5e6f, object, _fv(intensity));
};
global.N_0xc8e21c1677dc5e6f = global.SetObjectBurnIntensity;

/**
 * Seems to mostly have effect on wood-made objects https://imgur.com/a/32oQvOn
 */
global.SetObjectBurnLevel = function (object, burnLevel, affectAsh) {
	return _in(0x2797c633, 0xdcdbbac5, object, _fv(burnLevel), affectAsh);
};
global.N_0x2797c633dcdbbac5 = global.SetObjectBurnLevel;

/**
 * _SET_OBJECT_BURN_OPACITY
 */
global.SetObjectBurnOpacity = function (object, opacity) {
	return _in(0x7d7285ef, 0xeab5af15, object, _fv(opacity));
};
global.N_0x7d7285efeab5af15 = global.SetObjectBurnOpacity;

/**
 * p2 is usually the same as speed parameter
 */
global.SetObjectBurnSpeed = function (object, speed, p2) {
	return _in(0x646564a3, 0xb7df68f8, object, _fv(speed), _fv(p2));
};
global.N_0x646564a3b7df68f8 = global.SetObjectBurnSpeed;

/**
 * _SET_OBJECT_KICKABLE
 */
global.SetObjectKickable = function (object, kickable) {
	return _in(0xb7017da4, 0xd498269f, object, kickable);
};
global.N_0xb7017da4d498269f = global.SetObjectKickable;

/**
 * Adjust the physics parameters of a prop, or otherwise known as "object". This is useful for simulated gravity.
 * Other parameters seem to be unknown.
 * p2: seems to be weight and gravity related. Higher value makes the obj fall faster. Very sensitive?
 * p3: seems similar to p2
 * p4: makes obj fall slower the higher the value
 * p5: similar to p4
 */
global.SetObjectPhysicsParams = function (object, weight, p2, p3, p4, p5, gravity, p7, p8, p9, p10, buoyancy) {
	return _in(0xf6df6e90, 0xde7df90f, object, _fv(weight), _fv(p2), _fv(p3), _fv(p4), _fv(p5), _fv(gravity), _fv(p7), _fv(p8), _fv(p9), _fv(p10), _fv(buoyancy));
};

/**
 * SET_OBJECT_TAKES_DAMAGE_FROM_COLLIDING_WITH_BUILDINGS
 */
global.SetObjectTakesDamageFromCollidingWithBuildings = function (object, enabled) {
	return _in(0xeb6f1a9b, 0x5510a5d2, object, enabled);
};
global.N_0xeb6f1a9b5510a5d2 = global.SetObjectTakesDamageFromCollidingWithBuildings;

/**
 * SET_OBJECT_TARGETTABLE
 */
global.SetObjectTargettable = function (object, targettable) {
	return _in(0x8a739169, 0x0f5afd81, object, targettable);
};

/**
 * When p1 and p2 are true you can focus on the object (similar to when you focus a ped)
 */
global.SetObjectTargettableFocus = function (object, p1, p2) {
	return _in(0xa22712e8, 0x471aa08e, object, p1, p2);
};
global.N_0xa22712e8471aa08e = global.SetObjectTargettableFocus;

/**
 * _SET_OBJECT_TARGETTABLE_2
 */
global.SetObjectTargettable_2 = function (object, targettable) {
	return _in(0x581edbe5, 0x6e8d62c9, object, targettable);
};
global.N_0x581edbe56e8d62c9 = global.SetObjectTargettable_2;

/**
 * Alt name: _SET_OBJECT_TINT
 */
global.SetObjectTintIndex = function (object, textureVariation) {
	return _in(0x971da005, 0x5324d033, object, textureVariation);
};
global.SetObjectTextureVariation = global.SetObjectTintIndex;

/**
 * Only used in R* Script guama1
 */
global.SetOceanGuarmaWaterQuadrant = function (wavesHeight, p1, p2, p3, p4, p5, p6, wavesStrength, p8) {
	return _in(0xc63540ae, 0xf8384732, _fv(wavesHeight), _fv(p1), p2, _fv(p3), _fv(p4), _fv(p5), _fv(p6), _fv(wavesStrength), p8);
};
global.N_0xc63540aef8384732 = global.SetOceanGuarmaWaterQuadrant;

/**
 * _SET_OVERRIDE_WEATHER
 */
global.SetOverrideWeather = function (weatherType) {
	return _in(0xbe83cae8, 0xed77a94f, _ch(weatherType));
};
global.N_0xbe83cae8ed77a94f = global.SetOverrideWeather;

/**
 * SET_PARKED_VEHICLE_DENSITY_MULTIPLIER_THIS_FRAME
 */
global.SetParkedVehicleDensityMultiplierThisFrame = function (multiplier) {
	return _in(0xfedfa976, 0x38d61d4a, _fv(multiplier));
};

/**
 * Related to Campfires.
 * p1: AMB_BONFIRE_MP, AMB_CAMPFIRE_LRG_MP
 */
global.SetParticleFxAmbientColour = function (entity, p1, r, g, b) {
	return _in(0x3c61b52b, 0x00848c26, entity, _ts(p1), _fv(r), _fv(g), _fv(b));
};
global.N_0x3c61b52b00848c26 = global.SetParticleFxAmbientColour;

/**
 * SET_PARTICLE_FX_BULLET_IMPACT_LODRANGE_SCALE
 */
global.SetParticleFxBulletImpactLodrangeScale = function (p0) {
	return _in(0x8dccc98d, 0xc0dbf9e4, _fv(p0));
};
global.N_0x8dccc98dc0dbf9e4 = global.SetParticleFxBulletImpactLodrangeScale;

/**
 * SET_PARTICLE_FX_BULLET_IMPACT_SCALE
 */
global.SetParticleFxBulletImpactScale = function (scale) {
	return _in(0xa53c8d7d, 0x0f8c74d0, _fv(scale));
};
global.N_0xa53c8d7d0f8c74d0 = global.SetParticleFxBulletImpactScale;

/**
 * SET_PARTICLE_FX_FOOT_LODRANGE_SCALE
 */
global.SetParticleFxFootLodrangeScale = function (p0) {
	return _in(0x2a162585, 0x8887d4e6, _fv(p0));
};
global.N_0x2a1625858887d4e6 = global.SetParticleFxFootLodrangeScale;

/**
 * SET_PARTICLE_FX_LOOPED_ALPHA
 */
global.SetParticleFxLoopedAlpha = function (ptfxHandle, alpha) {
	return _in(0x88786e76, 0x234f7054, ptfxHandle, _fv(alpha));
};

/**
 * SET_PARTICLE_FX_LOOPED_COLOUR
 */
global.SetParticleFxLoopedColour = function (ptfxHandle, r, g, b, p4) {
	return _in(0x239879fc, 0x61c610cc, ptfxHandle, _fv(r), _fv(g), _fv(b), p4);
};

/**
 * SET_PARTICLE_FX_LOOPED_EVOLUTION
 */
global.SetParticleFxLoopedEvolution = function (ptfxHandle, propertyName, amount, noNetwork) {
	return _in(0x3674f389, 0xb0facd80, ptfxHandle, _ts(propertyName), _fv(amount), noNetwork);
};

/**
 * SET_PARTICLE_FX_LOOPED_FAR_CLIP_DIST
 */
global.SetParticleFxLoopedFarClipDist = function (ptfxHandle, range) {
	return _in(0x9b04d471, 0xda0ad7aa, ptfxHandle, _fv(range));
};

/**
 * SET_PARTICLE_FX_LOOPED_OFFSETS
 */
global.SetParticleFxLoopedOffsets = function (ptfxHandle, x, y, z, rotX, rotY, rotZ) {
	return _in(0xd3a4a95f, 0xc94fe83b, ptfxHandle, _fv(x), _fv(y), _fv(z), _fv(rotX), _fv(rotY), _fv(rotZ));
};

/**
 * SET_PARTICLE_FX_LOOPED_SCALE
 */
global.SetParticleFxLoopedScale = function (ptfxHandle, scale) {
	return _in(0x1a9e1c0d, 0x98d093b7, ptfxHandle, _fv(scale));
};

/**
 * _SET_PARTICLE_FX_LOOPED_FA* - _SET_PARTICLE_FX_LOOPED_OF*
 */
global.SetParticleFxLoopedUpdateDistantSmoke = function (ptfxHandle, scalar) {
	return _in(0x9ddc222d, 0x85d5af2a, ptfxHandle, _fv(scalar));
};
global.N_0x9ddc222d85d5af2a = global.SetParticleFxLoopedUpdateDistantSmoke;

/**
 * NativeDB Introduced: v1311
 */
global.SetParticleFxNonLoopedAlpha = function (alpha) {
	return _in(0xe8a35938, 0xa7026cea, _fv(alpha));
};

/**
 * SET_PARTICLE_FX_NON_LOOPED_COLOUR
 */
global.SetParticleFxNonLoopedColour = function (r, g, b) {
	return _in(0x60b85bed, 0x6577a35b, _fv(r), _fv(g), _fv(b));
};

/**
 * NativeDB Introduced: v1311
 */
global.SetParticleFxNonLoopedEmitterScale = function (p0, p1, p2) {
	return _in(0x56c392c2, 0xbd78b024, _fv(p0), _fv(p1), _fv(p2));
};

/**
 * SET_PARTICLE_FX_OVERRIDE
 */
global.SetParticleFxOverride = function (oldAsset, newAsset) {
	return _in(0xbe711a16, 0x9e9c7e95, _ts(oldAsset), _ts(newAsset));
};

/**
 * SET_PAUSE_PED_WRITHE_BLEEDOUT
 */
global.SetPausePedWritheBleedout = function (ped, toggle) {
	return _in(0x925a1601, 0x33003ac6, ped, toggle);
};
global.N_0x925a160133003ac6 = global.SetPausePedWritheBleedout;

/**
 * _SET_PAUSEMAP_COORDS_WITH_RADIUS
 */
global.SetPausemapCoordsWithRadius = function (x, y, z, radius) {
	return _in(0xe0884c18, 0x4728c75b, _fv(x), _fv(y), _fv(z), _fv(radius));
};
global.N_0xe0884c184728c75b = global.SetPausemapCoordsWithRadius;

/**
 * Enables/disables a kind of 'shiny' effect on metals.
 */
global.SetPearlescentFxEnabled = function (object, toggle) {
	return _in(0x72e30372, 0xe7cc4415, object, toggle);
};
global.N_0x72e30372e7cc4415 = global.SetPearlescentFxEnabled;

/**
 * accuracy = 0-100, 100 being perfectly accurate
 */
global.SetPedAccuracy = function (ped, accuracy) {
	return _in(0x7aefb85c, 0x1d49deb6, ped, accuracy);
};

/**
 * https://github.com/femga/rdr3_discoveries/tree/master/AI/COMBAT_ACTION_DISABLE_FLAGS
 */
global.SetPedActionDisableFlag = function (ped, actionDisableFlag) {
	return _in(0xb8de69d9, 0x473b7593, ped, actionDisableFlag);
};
global.N_0xb8de69d9473b7593 = global.SetPedActionDisableFlag;

/**
 * bloodFountainPressure: visible effect from 0.0 till 20.0
 * yaw: visible effect from -3.0 till 3.0
 * bloodFountainDirection: 1.0 left side, -1.0 right side
 * bloodFountainPulse: from 0.1 (low) till 1.0 (fast)
 * make blood fountain from your stomach: _SET_PED_ACTIVATE_WOUND_EFFECT(ped, unk, 2, 14411, 0.0, 0.1, 0.0, 0.0, 3.0, -1.0, 1.0)
 */
global.SetPedActivateWoundEffect = function (ped, p1, boneId, moveWoundLeftRight, bloodFountainPressure, yaw, bloodFountainDirection, bloodFountainPulse, p8, p9) {
	return _in(0xffd54d9f, 0xe71b966a, ped, p1, boneId, _fv(moveWoundLeftRight), _fv(bloodFountainPressure), _fv(yaw), _fv(bloodFountainDirection), _fv(bloodFountainPulse), _fv(p8), _fv(p9));
};
global.N_0xffd54d9fe71b966a = global.SetPedActivateWoundEffect;

/**
 * Seems to work similar to 0xD2CB0FB0FDCB473D
 */
global.SetPedActivePlayerHorse = function (player, horse) {
	return _in(0x8fbf9edb, 0x378ccb8c, player, horse);
};
global.N_0x8fbf9edb378ccb8c = global.SetPedActivePlayerHorse;

/**
 * Params: hash - ARTHUR or JOHN
 * _SET_PED_(A-D)*
 */
global.SetPedActivePlayerType = function (ped, playerType) {
	return _in(0xb285ad0e, 0xc870b2df, ped, _ch(playerType));
};
global.N_0xb285ad0ec870b2df = global.SetPedActivePlayerType;

/**
 * _SET_PED_ALL_WEAPONS_VISIBILITY
 */
global.SetPedAllWeaponsVisibility = function (ped, visible) {
	return _in(0x4f806a6c, 0xfed89468, ped, visible);
};
global.N_0x4f806a6cfed89468 = global.SetPedAllWeaponsVisibility;

/**
 * SET_PED_AMMO
 */
global.SetPedAmmo = function (ped, weaponHash, ammo) {
	return _in(0x14e56bc5, 0xb5db6a19, ped, _ch(weaponHash), ammo);
};

/**
 * SET_PED_AMMO_BY_TYPE
 */
global.SetPedAmmoByType = function (ped, ammoType, ammo) {
	return _in(0x5fd1e1f0, 0x11e76d7e, ped, _ch(ammoType), ammo);
};

/**
 * SET_PED_AMMO_TO_DROP
 */
global.SetPedAmmoToDrop = function (ped, p1, p2) {
	return _in(0xa4efef94, 0x40a5b0ef, ped, p1, p2);
};

/**
 * NativeDB Introduced: v1311
 */
global.SetPedAnimalDetectionModifier = function (ped, modifier) {
	return _in(0x43ca928e, 0x892cfdb8, ped, _fv(modifier));
};

/**
 * Turns the desired ped into a cop. If you use this on the player ped, you will become almost invisible to cops dispatched for you. You will also report your own crimes, get a generic cop voice, get a cop-vision-cone on the radar, and you will be unable to shoot at other cops. Toggling ped as "false" has no effect; you must change p0's ped model to disable the effect.
 * toggle = bSetRelGroup
 */
global.SetPedAsCop = function (ped, toggle) {
	return _in(0xbb03c38d, 0xd3fb7ffd, ped, toggle);
};

/**
 * SET_PED_AS_GROUP_LEADER
 */
global.SetPedAsGroupLeader = function (ped, groupId, p2) {
	return _in(0x2a781960, 0x5465fbce, ped, groupId, p2);
};

/**
 * SET_PED_AS_GROUP_MEMBER
 */
global.SetPedAsGroupMember = function (ped, groupId) {
	return _in(0x9f3480fe, 0x65db31b5, ped, groupId);
};

/**
 * This is an alias of SET_ENTITY_AS_NO_LONGER_NEEDED.
 */
global.SetPedAsNoLongerNeeded = function (ped) {
	return _in(0x2595dd42, 0x36549ce3, _ii(ped) /* may be optional */);
};

/**
 * _SET_PED_AS_SADDLE_HORSE_FOR_PLAYER
 */
global.SetPedAsSaddleHorseForPlayer = function (player, mount) {
	return _in(0xd2cb0fb0, 0xfdcb473d, player, mount);
};
global.N_0xd2cb0fb0fdcb473d = global.SetPedAsSaddleHorseForPlayer;

/**
 * SET_PED_AS_TEMP_PLAYER_HORSE
 */
global.SetPedAsTempPlayerHorse = function (player, horse) {
	return _in(0x227b0632, 0x4234fb09, player, horse, _r, _ri);
};
global.N_0x227b06324234fb09 = global.SetPedAsTempPlayerHorse;

/**
 * NET_FETCH_CLIENT_UPDATE_PED_FIGHT_PROFICIENCY: Changing parry multiplier for ped
 */
global.SetPedBeatMultiplier = function (ped, p1) {
	return _in(0x6dbf2d78, 0x709ad70b, ped, _fv(p1));
};
global.N_0x6dbf2d78709ad70b = global.SetPedBeatMultiplier;

/**
 * _SET_PED_BLACKBOARD_BOOL
 */
global.SetPedBlackboardBool = function (ped, variableName, value, removeTimer) {
	return _in(0xcb9401f9, 0x18cb0f75, ped, _ts(variableName), value, removeTimer);
};
global.N_0xcb9401f918cb0f75 = global.SetPedBlackboardBool;

/**
 * _SET_PED_BLACKBOARD_FLOAT
 */
global.SetPedBlackboardFloat = function (ped, variableName, value, removeTimer) {
	return _in(0x437c08db, 0x4febe2bd, ped, _ts(variableName), _fv(value), removeTimer);
};
global.N_0x437c08db4febe2bd = global.SetPedBlackboardFloat;

/**
 * p1:
 * BodyPartChained
 * OverloadMostInjuredBodyPart
 * p2:
 * LeftLeg
 * Legs
 * RightArm
 */
global.SetPedBlackboardHash = function (ped, variableName, value, removeTimer) {
	return _in(0xa762c9d6, 0xcf165e0d, ped, _ts(variableName), _ts(value), removeTimer);
};
global.N_0xa762c9d6cf165e0d = global.SetPedBlackboardHash;

/**
 * https://github.com/femga/rdr3_discoveries/tree/master/AI/BLACKBOARDS
 * Blackboard natives allow you to apply and check certain data to/for peds.
 * Blackboard bools, floats and strings are subdivided into 6 sections: "all", "animation", "any", "code", "global" and "script"
 * Most changes are only visible for "script" blackboards, some "script" blackboards change ped motions
 * "removeTimer" is self-removal timer, can be "-1" so your data will not be removed by the game (forever); 100 = 1 second
 */
global.SetPedBlackboardInt = function (ped, variableName, value, removeTimer) {
	return _in(0x5f53010c, 0x4c3f6baf, ped, _ts(variableName), value, removeTimer);
};
global.N_0x5f53010c4c3f6baf = global.SetPedBlackboardInt;

/**
 * Bleedout profiles:
 * Animal_FastBleedout
 * Animal_Generic
 * Human_FastBleedout
 * Human_Generic
 * Human_Mission
 * For more information, see common/data/ai/peddamageinfo.meta
 */
global.SetPedBleedoutProfile = function (ped, bleedoutProfile) {
	return _in(0x66c04771, 0x9b0e80e1, ped, _ch(bleedoutProfile));
};
global.N_0x66c047719b0e80e1 = global.SetPedBleedoutProfile;

/**
 * brawlingStyle:
 * enum eBrawlingStyle : Hash
 * {
 * BS_AI = 0x802C604D,
 * BS_AI_BARBRAWL = 0x4FF5F0C7,
 * BS_AI_DEFENSIVE = 0xD888F2FD,
 * BS_AI_MOONSHINE_BARBRAWL = 0xA01B433A,
 * BS_ALLIGATOR = 0x7A5548ED,
 * BS_ALLIGATOR_LARGE = 0x368EC7CB,
 * BS_ALLY = 0x69C76C14,
 * BS_ANIMAL = 0xD777C754,
 * BS_BADGER = 0x7E7C3F53,
 * BS_BEAR = 0x0BC66E35,
 * BS_BEAVER = 0x4E313783,
 * BS_BOAR = 0x176A5831,
 * BS_BOUNTY_HUNTER = 0x3900654C,
 * BS_BRUISER = 0x4514DB61,
 * BS_BULL = 0x4E50C5D2,
 * BS_COUGAR = 0x9DAA7CCB,
 * BS_COW = 0xB0E91295,
 * BS_COYOTE = 0xA448EB69,
 * BS_DEER = 0xA781E6B3,
 * BS_DOG = 0x5A4155C4,
 * BS_ELK = 0x408697F0,
 * BS_FEMALE = 0x6A3BB2C2,
 * BS_FEMALE_STRONG = 0x4DAFDD84,
 * BS_GANGUP = 0xD0CECFF2,
 * BS_GOAT = 0x078E649F,
 * BS_HORSE = 0xF6B775F3,
 * BS_MICAH_FINALE = 0x1F0BB27A,
 * BS_MOOSE = 0x968917AB,
 * BS_MUSKRAT = 0x1EDC33AC,
 * BS_NO_MELEE = 0x25B5F931,
 * BS_PIG = 0x22EAD110,
 * BS_PLAYER = 0x78BAEF07,
 * BS_PLAYER_FINALE = 0xF9E77D2D,
 * BS_PLAYER_MOONSHINER = 0x687BF19F,
 * BS_PLAYER_WINTER1 = 0x3C6A802F,
 * BS_QUICK = 0xC4CABB1B,
 * BS_RACCOON = 0x505F8917,
 * BS_SHEEP = 0x6827CCCF,
 * BS_SNAKE = 0x82BEBC4B,
 * BS_TIMID = 0x431AEF77,
 * BS_WOLF = 0xA8F023D4
 * };
 */
global.SetPedBrawlingStyle = function (ped, brawlingStyle) {
	return _in(0x8ba83cc4, 0x288cd56d, ped, _ch(brawlingStyle));
};
global.N_0x8ba83cc4288cd56d = global.SetPedBrawlingStyle;

/**
 * SET_PED_CAN_ARM_IK
 */
global.SetPedCanArmIk = function (ped, toggle) {
	return _in(0x6c3b4d6d, 0x13b4c841, ped, toggle);
};

/**
 * When set on a player ped, its just like when you die in RDO
 */
global.SetPedCanBeIncapacitated = function (ped, toggle) {
	return _in(0x5240864e, 0x847c691c, ped, toggle);
};
global.N_0x5240864e847c691c = global.SetPedCanBeIncapacitated;

/**
 * state:
 * enum eKnockOffVehicle
 * {
 * KNOCKOFFVEHICLE_DEFAULT,
 * KNOCKOFFVEHICLE_NEVER,
 * KNOCKOFFVEHICLE_EASY,
 * KNOCKOFFVEHICLE_HARD
 * };
 */
global.SetPedCanBeKnockedOffVehicle = function (ped, state) {
	return _in(0x7a653569, 0x1b477c48, ped, state);
};

/**
 * SET_PED_CAN_*
 */
global.SetPedCanBeLassoed = function (ped, toggle) {
	return _in(0xfd6943b6, 0xdf77e449, ped, toggle);
};
global.N_0xfd6943b6df77e449 = global.SetPedCanBeLassoed;

/**
 * SET_PED_CAN_BE_TARGETTED
 */
global.SetPedCanBeTargetted = function (ped, toggle) {
	return _in(0x63f58f7c, 0x80513aad, ped, toggle);
};

/**
 * SET_PED_CAN_BE_TARGETTED_BY_PLAYER
 */
global.SetPedCanBeTargettedByPlayer = function (ped, player, toggle) {
	return _in(0x66b57b72, 0xe0836a76, ped, player, toggle);
};

/**
 * SET_PED_CAN_BE_TARGETTED_BY_TEAM
 */
global.SetPedCanBeTargettedByTeam = function (ped, team, toggle) {
	return _in(0xbf1ca778, 0x33e58f2c, ped, team, toggle);
};

/**
 * SET_PED_CAN_HEAD_IK
 */
global.SetPedCanHeadIk = function (ped, toggle) {
	return _in(0xc11c1809, 0x2c5530dc, ped, toggle);
};

/**
 * SET_PED_CAN_LEG_IK
 */
global.SetPedCanLegIk = function (ped, toggle) {
	return _in(0x73518ece, 0x2485412b, ped, toggle);
};

/**
 * SET_PED_CAN_PLAY_AMBIENT_ANIMS
 */
global.SetPedCanPlayAmbientAnims = function (ped, toggle) {
	return _in(0x6373d134, 0x9925a70e, ped, toggle);
};

/**
 * SET_PED_CAN_PLAY_AMBIENT_BASE_ANIMS
 */
global.SetPedCanPlayAmbientBaseAnims = function (ped, toggle) {
	return _in(0x0eb0585d, 0x15254740, ped, toggle);
};

/**
 * SET_PED_CAN_PLAY_GESTURE_ANIMS
 */
global.SetPedCanPlayGestureAnims = function (ped, p1, p2) {
	return _in(0xbaf20c54, 0x32058024, ped, p1, p2);
};

/**
 * SET_PED_CAN_RAGDOLL
 */
global.SetPedCanRagdoll = function (ped, toggle) {
	return _in(0xb1283770, 0x56a54e2a, ped, toggle);
};

/**
 * SET_PED_CAN_RAGDOLL_FROM_PLAYER_IMPACT
 */
global.SetPedCanRagdollFromPlayerImpact = function (ped, toggle) {
	return _in(0xdf993ee5, 0xe90aba25, ped, toggle);
};

/**
 * This only will teleport the ped to the group leader if the group leader teleports (sets coords).
 * Only works in singleplayer
 */
global.SetPedCanTeleportToGroupLeader = function (pedHandle, groupId, toggle) {
	return _in(0x2e2f4240, 0xb3f24647, pedHandle, groupId, toggle);
};

/**
 * SET_PED_CAN_TORSO_IK
 */
global.SetPedCanTorsoIk = function (ped, toggle) {
	return _in(0xf2b7106d, 0x37947ce0, ped, toggle);
};

/**
 * SET_PED_CAN_TORSO_REACT_IK
 */
global.SetPedCanTorsoReactIk = function (ped, toggle) {
	return _in(0xf5846edb, 0x26a98a24, ped, toggle);
};

/**
 * SET_PED_CAN_TORSO_VEHICLE_IK
 */
global.SetPedCanTorsoVehicleIk = function (ped, toggle) {
	return _in(0x6647c5f6, 0xf5792496, ped, toggle);
};
global.N_0x6647c5f6f5792496 = global.SetPedCanTorsoVehicleIk;

/**
 * _SET_PED_CAN_(?)_IK*
 */
global.SetPedCanUnkBodypartIk = function (ped, toggle) {
	return _in(0xee9df765, 0x990e8d1d, ped, toggle);
};
global.N_0xee9df765990e8d1d = global.SetPedCanUnkBodypartIk;

/**
 * SET_PED_CAN_USE_AUTO_CONVERSATION_LOOKAT
 */
global.SetPedCanUseAutoConversationLookat = function (ped, toggle) {
	return _in(0xec4686ec, 0x06434678, ped, toggle);
};

/**
 * Overrides the ped's collision capsule radius for the current tick.
 * Must be called every tick to be effective.
 * Setting this to 0.001 will allow warping through some objects.
 */
global.SetPedCapsule = function (ped, value) {
	return _in(0x364df566, 0xec833de2, ped, _fv(value));
};

/**
 * _SET_PED_CLEAR_AIMING_IN_THE_AIR
 */
global.SetPedClearAimingInTheAir = function (ped, p1) {
	return _in(0x34c00101, 0x88d7c54a, ped, p1);
};
global.N_0x34c0010188d7c54a = global.SetPedClearAimingInTheAir;

/**
 * SET_PED_CLOTH_PIN_FRAMES
 */
global.SetPedClothPinFrames = function (ped, p1) {
	return _in(0x78c4e996, 0x1db3eb5b, ped, p1);
};
global.SetPedClothPackageIndex = global.SetPedClothPinFrames;

/**
 * abilityLevel:
 * enum eCombatAbilityLevel
 * {
 * CAL_POOR,
 * CAL_AVERAGE,
 * CAL_PROFESSIONAL
 * };
 */
global.SetPedCombatAbility = function (ped, abilityLevel) {
	return _in(0xc7622c0d, 0x36b2fda8, ped, abilityLevel);
};

/**
 * Hashes: GUARD, COMBAT_ANIMAL, LAW, LAW_SHERIFF
 * _SET_PED_COMBAT_A* - _SET_PED_COMBAT_M*
 */
global.SetPedCombatAttributeHash = function (ped, p1) {
	return _in(0xbd755001, 0x41e4725c, ped, _ch(p1));
};
global.N_0xbd75500141e4725c = global.SetPedCombatAttributeHash;

/**
 * attributeIndex: https://alloc8or.re/rdr3/doc/enums/eCombatAttribute.txt
 * https://github.com/femga/rdr3_discoveries/tree/master/AI/COMBAT_ATTRIBUTES
 */
global.SetPedCombatAttributes = function (ped, attributeIndex, enabled) {
	return _in(0x9f779473, 0x0795e019, ped, attributeIndex, enabled);
};

/**
 * _SET_PED_COMBAT_BEHAVIOUR
 */
global.SetPedCombatBehaviour = function (ped, behaviour) {
	return _in(0x9238a3d9, 0x70bbb0a9, ped, _ch(behaviour));
};
global.N_0x9238a3d970bbb0a9 = global.SetPedCombatBehaviour;

/**
 * 0 - Stationary (Will just stand in place)
 * 1 - Defensive (Will try to find cover and very likely to blind fire)
 * 2 - Offensive (Will attempt to charge at enemy but take cover as well)
 * 3 - Suicidal Offensive (Will try to flank enemy in a suicidal attack)
 */
global.SetPedCombatMovement = function (ped, combatMovement) {
	return _in(0x4d9ca100, 0x9afbd057, ped, combatMovement);
};

/**
 * range:
 * enum eCombatRange
 * {
 * CR_NEAR,
 * CR_MEDIUM,
 * CR_FAR,
 * CR_VERY_FAR
 * };
 */
global.SetPedCombatRange = function (ped, range) {
	return _in(0x3c606747, 0xb23e497b, ped, range);
};

/**
 * https://github.com/femga/rdr3_discoveries/tree/master/AI/COMBAT_STYLES
 * Params: p2 is usually 1, sometimes 0 or 2
 * duration in seconds, -1.0 = forever
 */
global.SetPedCombatStyle = function (ped, combatStyleHash, p2, duration) {
	return _in(0x8acc0506, 0x743a8a5c, ped, _ch(combatStyleHash), p2, _fv(duration));
};
global.N_0x8acc0506743a8a5c = global.SetPedCombatStyle;

/**
 * duration in seconds, -1.0 = forever
 */
global.SetPedCombatStyleMod = function (ped, combatStyleModHash, duration) {
	return _in(0x8b1e8e35, 0xa6e814ea, ped, _ch(combatStyleModHash), _fv(duration));
};
global.N_0x8b1e8e35a6e814ea = global.SetPedCombatStyleMod;

/**
 * flagId: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/ePedScriptConfigFlags
 * https://alloc8or.re/rdr3/doc/enums/ePedScriptConfigFlags.txt
 * https://github.com/femga/rdr3_discoveries/tree/master/AI/CPED_CONFIG_FLAGS
 */
global.SetPedConfigFlag = function (ped, flagId, value) {
	return _in(0x1913fe4c, 0xbf41c463, ped, flagId, value);
};

/**
 * _SET_PED_CROUCH_MOVEMENT
 */
global.SetPedCrouchMovement = function (ped, state, p2, immediately) {
	return _in(0x7de9692c, 0x6f64cfe8, ped, state, p2, immediately);
};
global.N_0x7de9692c6f64cfe8 = global.SetPedCrouchMovement;

/**
 * The higher the multiplier the less the engine renders culls (https://docs.unity3d.com/Manual/OcclusionCulling.html)
 */
global.SetPedCullRange = function (ped, p1, p2) {
	return _in(0x8ac1d721, 0xb2097b6e, ped, _fv(p1), _fv(p2));
};
global.N_0x8ac1d721b2097b6e = global.SetPedCullRange;

/**
 * SET_PED_CURRENT_WEAPON_VISIBLE
 */
global.SetPedCurrentWeaponVisible = function (ped, visible, deselectWeapon, p3, p4) {
	return _in(0x0725a4cc, 0xfded9a70, ped, visible, deselectWeapon, p3, p4);
};

/**
 * damageCleanliness: see _GET_PED_DAMAGE_CLEANLINESS
 */
global.SetPedDamageCleanliness = function (ped, damageCleanliness) {
	return _in(0x75287201, 0x01a807a5, ped, damageCleanliness);
};
global.N_0x7528720101a807a5 = global.SetPedDamageCleanliness;

/**
 * _SET_PED_DAMAGED
 */
global.SetPedDamaged = function (ped, damaged) {
	return _in(0xdace03c6, 0x5c6666db, ped, damaged);
};
global.N_0xdace03c65c6666db = global.SetPedDamaged;

/**
 * SET_PED_DECOMPOSED
 */
global.SetPedDecomposed = function (ped, toggle) {
	return _in(0x674b90be, 0x1115846d, ped, toggle);
};
global.N_0x674b90be1115846d = global.SetPedDecomposed;

/**
 * SET_PED_DEFENSIVE_AREA_DIRECTION
 */
global.SetPedDefensiveAreaDirection = function (ped, p1, p2, p3, p4) {
	return _in(0x413c6c76, 0x3a4affad, ped, _fv(p1), _fv(p2), _fv(p3), p4);
};

/**
 * _SET_PED_(A?)*
 * ```
 * ```
 * NativeDB Introduced: v1232
 */
global.SetPedDefensiveAreaToAngledArea = function (ped, x1, y1, z1, x2, y2, z2, p7, p8, p9, entity, p11) {
	return _in(0xeb2bfe5d, 0x009f0331, ped, _fv(x1), _fv(y1), _fv(z1), _fv(x2), _fv(y2), _fv(z2), p7, p8, p9, entity, p11);
};

/**
 * SET_PED_DEFENSIVE_AREA_VOLUME
 */
global.SetPedDefensiveAreaVolume = function (ped, volume, p2, p3, p4) {
	return _in(0xfc3db99c, 0x8144cd81, ped, volume, p2, p3, p4);
};
global.N_0xfc3db99c8144cd81 = global.SetPedDefensiveAreaVolume;

/**
 * _SET_PED_DEFENSIVE_SPHERE_ATTACHED_TO_ENTITY
 */
global.SetPedDefensiveSphereAttachedToEntity = function (ped, entity, x, y, z, radius, p6, p7) {
	return _in(0x1854217c, 0x640b39ec, ped, entity, _fv(x), _fv(y), _fv(z), _fv(radius), p6, p7);
};
global.N_0x1854217c640b39ec = global.SetPedDefensiveSphereAttachedToEntity;

/**
 * SET_PED_DESIRED_HEADING
 */
global.SetPedDesiredHeading = function (ped, heading) {
	return _in(0xaa5a7ece, 0x2aa8fe70, ped, _fv(heading));
};

/**
 * Seems to set the ped's loco type.
 * Values used in the scripts:
 * algie
 * angry_female
 * arthur_healthy
 * cowboy
 * cowboy_f
 * default
 * default_female
 * free_slave_01
 * free_slave_02
 * gold_panner
 * guard_lantern
 * injured_general
 * john_marston
 * lilly_millet
 * lone_prisoner
 * lost_man
 * mp_ova_hunter
 * mp_ova_hunter_female
 * murfree
 * old_female
 * primate
 * rally
 * waiter
 * war_veteran
 */
global.SetPedDesiredLocoForModel = function (ped, locomotionArchetype) {
	return _in(0x92358374, 0x1dc87bce, ped, _ts(locomotionArchetype));
};
global.N_0x923583741dc87bce = global.SetPedDesiredLocoForModel;

/**
 * Sets peds motion type
 */
global.SetPedDesiredLocoMotionType = function (ped, locoMotionType) {
	return _in(0x89f5e7ad, 0xecccb49c, ped, _ts(locoMotionType));
};
global.N_0x89f5e7adecccb49c = global.SetPedDesiredLocoMotionType;

/**
 * SET_PED_DESIRED_MOVE_BLEND_RATIO
 */
global.SetPedDesiredMoveBlendRatio = function (ped, p1) {
	return _in(0x1e982ac8, 0x716912c5, ped, _fv(p1));
};

/**
 * Params: ped, 0f, -1, true, true in R* MP Scripts
 * _SET_PED_DE* - _SET_PED_F*
 */
global.SetPedDirtCleaned = function (ped, p1, p2, p3, p4) {
	return _in(0xe3144b93, 0x2dfdff65, ped, _fv(p1), p2, p3, p4);
};
global.N_0xe3144b932dfdff65 = global.SetPedDirtCleaned;

/**
 * Disables being able to kick move ped.
 */
global.SetPedDisableKickMove = function (ped, disable) {
	return _in(0xadd31a5c, 0x7a5faa73, ped, disable);
};
global.N_0xadd31a5c7a5faa73 = global.SetPedDisableKickMove;

/**
 * SET_PED_DROPS_INVENTORY_WEAPON
 */
global.SetPedDropsInventoryWeapon = function (ped, weaponHash, xOffset, yOffset, zOffset, ammoCount) {
	return _in(0x208a1888, 0x007fc0e6, ped, _ch(weaponHash), _fv(xOffset), _fv(yOffset), _fv(zOffset), ammoCount);
};

/**
 * SET_PED_DROPS_WEAPONS_WHEN_DEAD
 */
global.SetPedDropsWeaponsWhenDead = function (ped, toggle) {
	return _in(0x476ae72c, 0x1d19d1a8, ped, toggle);
};

/**
 * SOBER = 0.0f, SLIGHTLY_DRUNK = 0.25f, MODERATELY_DRUNK = 0.5f, VERY_DRUNK = 1.0f
 */
global.SetPedDrunkness = function (ped, enabled, drunknessLevel) {
	return _in(0x406ccf55, 0x5b04fad3, ped, enabled, _fv(drunknessLevel));
};
global.N_0x406ccf555b04fad3 = global.SetPedDrunkness;

/**
 * Used in various R* MP & SP Scripts
 */
global.SetPedFiringPattern = function (ped, patternHash) {
	return _in(0x9ac577f5, 0xa12ad8a9, ped, _ch(patternHash));
};

/**
 * Used in R* MP Script fm_mission_controller and various R* SP Scripts for ambush*
 */
global.SetPedFiringPattern_2 = function (ped, patternHash) {
	return _in(0x20e54854, 0xdef6a54a, ped, _ch(patternHash));
};
global.N_0x20e54854def6a54a = global.SetPedFiringPattern_2;

/**
 * Only used in R* MP Script fm_mission_controller
 */
global.SetPedFiringPattern_3 = function (ped, patternHash) {
	return _in(0x244e8c28, 0x2188e40f, ped, _ch(patternHash));
};
global.N_0x244e8c282188e40f = global.SetPedFiringPattern_3;

/**
 * https://github.com/femga/rdr3_discoveries/tree/master/AI/FLEE_ATTRIBUTES
 * attributeFlags:
 * enum eFleeAttribute
 * {
 * FA_FORCE_EXIT_VEHICLE = (1 << 16),
 * FA_DISABLE_MOUNT_USAGE = (1 << 20),
 * FA_DISABLE_ENTER_VEHICLES = (1 << 22),
 * };
 */
global.SetPedFleeAttributes = function (ped, attributeFlags, enable) {
	return _in(0x70a2d113, 0x7c8ed7c9, ped, attributeFlags, enable);
};

/**
 * _SET_PED_FORMATION_POSITION
 */
global.SetPedFormationPosition = function (ped, position, toggle) {
	return _in(0x0e9e95fd, 0xedcc9d35, ped, position, toggle);
};
global.N_0x0e9e95fdedcc9d35 = global.SetPedFormationPosition;

/**
 * SET_PED_GESTURE_GROUP
 */
global.SetPedGestureGroup = function (ped, gesture, p2) {
	return _in(0xddf80337, 0x7f94aaa8, ped, _ts(gesture), p2);
};

/**
 * _SET_PED_GETUP_ANIMATION
 */
global.SetPedGetupAnimation = function (ped, animName, p2) {
	return _in(0x3ae3552e, 0x7c207cc5, ped, _ts(animName), p2);
};
global.N_0x3ae3552e7c207cc5 = global.SetPedGetupAnimation;

/**
 * _SET_PED_GRAPPLE_ACTION
 */
global.SetPedGrappleAction = function (ped, grappleAction) {
	return _in(0x8301d87b, 0x1b89e219, ped, _ch(grappleAction));
};
global.N_0x8301d87b1b89e219 = global.SetPedGrappleAction;

/**
 * _SET_PED_GRAPPLE_ANIMATION
 */
global.SetPedGrappleAnimation = function (ped, grappleAnim) {
	return _in(0x56e9c26c, 0xd29d1ed6, ped, _ch(grappleAnim));
};
global.N_0x56e9c26cd29d1ed6 = global.SetPedGrappleAnimation;

/**
 * _SET_PED_GRAPPLE_EFFECT_MULTIPLIER
 */
global.SetPedGrappleEffectMultiplier = function (ped, multiplier) {
	return _in(0x99a6e246, 0xc315bf60, ped, _fv(multiplier), _r, _ri);
};
global.N_0x99a6e246c315bf60 = global.SetPedGrappleEffectMultiplier;

/**
 * _SET_PED_GRAPPLE_FLAG
 */
global.SetPedGrappleFlag = function (ped, flag, enable) {
	return _in(0x789dabd1, 0x8e9024db, ped, flag, enable);
};
global.N_0x789dabd18e9024db = global.SetPedGrappleFlag;

/**
 * _SET_PED_GRAPPLE_SEQUENCE
 */
global.SetPedGrappleSequence = function (ped, grappleSequence) {
	return _in(0x604190f0, 0xcf0df158, ped, _ts(grappleSequence));
};
global.N_0x604190f0cf0df158 = global.SetPedGrappleSequence;

/**
 * Hashes: GS_DRAGGING, GS_FACE_TO_BACK, GS_FACE_TO_FACE, GS_FACE_TO_FACE_WALL, GS_MOUNTED
 */
global.SetPedGrappleStyle = function (ped, style) {
	return _in(0x630e7b01, 0xf091a197, ped, _ch(style), _r, _ri);
};
global.N_0x630e7b01f091a197 = global.SetPedGrappleStyle;

/**
 * SET_PED_GRAVITY
 */
global.SetPedGravity = function (ped, toggle) {
	return _in(0x9ff447b6, 0xb6ad960a, ped, toggle);
};

/**
 * SET_PED_GROUP_MEMBER_PASSENGER_INDEX
 */
global.SetPedGroupMemberPassengerIndex = function (ped, index) {
	return _in(0x0bddb8d9, 0xec6bcf3c, ped, index);
};

/**
 * _SET_PED_HEADSHOT_DAMAGE_MULTIPLIER
 */
global.SetPedHeadshotDamageMultiplier = function (ped, multiplier) {
	return _in(0x2ba918c8, 0x23b8ba56, ped, _fv(multiplier));
};
global.N_0x2ba918c823b8ba56 = global.SetPedHeadshotDamageMultiplier;

/**
 * configHash: see pedhealth.meta
 */
global.SetPedHealthConfig = function (ped, configHash) {
	return _in(0xf6b82fce, 0x03b43a37, ped, _ch(configHash));
};
global.N_0xf6b82fce03b43a37 = global.SetPedHealthConfig;

/**
 * SET_PED_HEARING_RANGE
 */
global.SetPedHearingRange = function (ped, value) {
	return _in(0x33a8f7f7, 0xd5f7f33c, ped, _fv(value));
};

/**
 * SET_PED_HIGHLY_PERCEPTIVE
 */
global.SetPedHighlyPerceptive = function (ped, toggle) {
	return _in(0x52d59ab6, 0x1ddc05dd, ped, toggle);
};

/**
 * SET_PED_ID_RANGE
 */
global.SetPedIdRange = function (ped, value) {
	return _in(0xf107e836, 0xa70dce05, ped, _fv(value));
};

/**
 * _SET_PED_IGNORE_DEAD_BODIES
 */
global.SetPedIgnoreDeadBodies = function (ped, toggle) {
	return _in(0x013a7ba5, 0x015c1372, ped, toggle);
};
global.N_0x013a7ba5015c1372 = global.SetPedIgnoreDeadBodies;

/**
 * Only used in R* Script beat_sharp_shooter
 * Blocks ped from swimming underwater
 */
global.SetPedImmersionFlag = function (ped, toggle) {
	return _in(0x7fb0088e, 0x8769cddb, ped, toggle);
};
global.N_0x7fb0088e8769cddb = global.SetPedImmersionFlag;

/**
 * _SET_PED_INCAPACITATION_FLAGS
 */
global.SetPedIncapacitationFlags = function (ped, flags) {
	return _in(0xd67b6f3b, 0xcf81ba47, ped, flags);
};
global.N_0xd67b6f3bcf81ba47 = global.SetPedIncapacitationFlags;

/**
 * _SET_PED_INCAPACITATION_MODIFIERS
 */
global.SetPedIncapacitationModifiers = function (ped, canBeIncapacitated, threshold, bleedoutTime, p4) {
	return _in(0x39ed3033, 0x90ddeac7, ped, canBeIncapacitated, threshold, bleedoutTime, p4);
};
global.N_0x39ed303390ddeac7 = global.SetPedIncapacitationModifiers;

/**
 * _SET_PED_INCAPACITATION_TOTAL_BLEED_OUT_DURATION
 */
global.SetPedIncapacitationTotalBleedOutDuration = function (ped, duration) {
	return _in(0x2890418b, 0x39bc8fff, ped, _fv(duration));
};
global.N_0x2890418b39bc8fff = global.SetPedIncapacitationTotalBleedOutDuration;

/**
 * SET_PED_INFINITE_AMMO
 */
global.SetPedInfiniteAmmo = function (ped, toggle, weaponHash) {
	return _in(0x3edcb050, 0x5123623b, ped, toggle, _ch(weaponHash));
};

/**
 * _SET_PED_INFINITE_AMMO_CLIP
 */
global.SetPedInfiniteAmmoClip = function (ped, toggle) {
	return _in(0xfbaa1e06, 0xb6bca741, ped, toggle);
};

/**
 * NativeDB Introduced: v1311
 */
global.SetPedInjuredOnGroundBehaviour = function (ped, unk) {
	return _in(0xec4b4b3b, 0x9908052a, ped, _fv(unk));
};

/**
 * _SET_PED_INTERACTION_NEGATIVE_RESPONSE
 */
global.SetPedInteractionNegativeResponse = function (ped, speech) {
	return _in(0xa3c53cde, 0x922bc78b, ped, _ts(speech));
};
global.N_0xa3c53cde922bc78b = global.SetPedInteractionNegativeResponse;

/**
 * personality (script_mp_rel): NONE, AGGRESSIVE, TIMID (non-aggressive), CRIPPS, SCRIPTEDINTIMIDATION, MAGGIE, MARCEL, SCRIPTEDSALOON
 * personality (script_rel): AVOID, SCRIPTEDOUTLAW, TIMIDGUARDDOG, SCRIPTEDTIMIDROB, AGGRESSIVECAMPER, LAZYDOG, KIERANTIEDUP, SCRIPTEDGALA
 */
global.SetPedInteractionPersonality = function (ped, personality) {
	return _in(0x24c82ef6, 0x07105faa, ped, _ch(personality));
};
global.N_0x24c82ef607105faa = global.SetPedInteractionPersonality;

/**
 * _SET_PED_INTERACTION_POSITIVE_RESPONSE
 */
global.SetPedInteractionPositiveResponse = function (ped, speech) {
	return _in(0x20c54593, 0x79d75c1c, ped, _ts(speech));
};
global.N_0x20c5459379d75c1c = global.SetPedInteractionPositiveResponse;

/**
 * SET_PED_INTERIOR_WALLA_DENSITY
 */
global.SetPedInteriorWallaDensity = function (p0, p1) {
	return _in(0x8bf90783, 0x3be275de, _fv(p0), _fv(p1));
};
global.N_0x8bf907833be275de = global.SetPedInteriorWallaDensity;

/**
 * Ped: The ped to warp.
 * vehicle: The vehicle to warp the ped into.
 * seatIndex: see CREATE_PED_INSIDE_VEHICLE
 */
global.SetPedIntoVehicle = function (ped, vehicle, seatIndex) {
	return _in(0xf75b0d62, 0x9e1c063d, ped, vehicle, seatIndex);
};

/**
 * SET_PED_IS_DRUNK
 */
global.SetPedIsDrunk = function (ped, toggle) {
	return _in(0x95d2d383, 0xd5396b8a, ped, toggle);
};

/**
 * SET_PED_KEEP_TASK
 */
global.SetPedKeepTask = function (ped, toggle) {
	return _in(0x971d3876, 0x0fbc02ef, ped, toggle);
};

/**
 * _SET_PED_KNOCKED_BY_ONE_HIT
 */
global.SetPedKnockedByOneHit = function (ped, p1) {
	return _in(0x5bcf0b79, 0xd4f5dba3, ped, _fv(p1));
};
global.N_0x5bcf0b79d4f5dba3 = global.SetPedKnockedByOneHit;

/**
 * _SET_PED_LADDER_MOVEMENT_SPEED_MODIFIER
 */
global.SetPedLadderMovementSpeedModifier = function (ped, p1) {
	return _in(0x05ce6af4, 0xdf071d23, ped, _fv(p1));
};
global.N_0x05ce6af4df071d23 = global.SetPedLadderMovementSpeedModifier;

/**
 * SET_PED_LASSO_HOGTIE_FLAG
 */
global.SetPedLassoHogtieFlag = function (ped, flagId, value) {
	return _in(0xae600412, 0x0c18df97, ped, flagId, value);
};
global.N_0xae6004120c18df97 = global.SetPedLassoHogtieFlag;

/**
 * behaviour: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/CLawBehavior__Flags
 */
global.SetPedLawBehaviour = function (ped, behaviour) {
	return _in(0x819add5e, 0xf1742f47, ped, behaviour);
};
global.N_0x819add5ef1742f47 = global.SetPedLawBehaviour;

/**
 * SET_PED_LEG_IK_MODE
 */
global.SetPedLegIkMode = function (ped, mode) {
	return _in(0xc396f5b8, 0x6ff9febd, ped, mode);
};

/**
 * _SET_PED_LIGHTS
 */
global.SetPedLights = function (ped, toggle) {
	return _in(0x13a21094, 0x9fcbd92b, ped, toggle);
};
global.N_0x13a210949fcbd92b = global.SetPedLights;

/**
 * SET_PED_LOD_MULTIPLIER
 */
global.SetPedLodMultiplier = function (ped, multiplier) {
	return _in(0xdc2c5c24, 0x2aac342b, ped, _fv(multiplier));
};

/**
 * Sets the maximum health of a ped.
 */
global.SetPedMaxHealth = function (ped, value) {
	return _in(0xf5f6378c, 0x4f3419d3, ped, value);
};

/**
 * SET_PED_MAX_MOVE_BLEND_RATIO
 */
global.SetPedMaxMoveBlendRatio = function (ped, value) {
	return _in(0x43308375, 0x0c5e064a, ped, _fv(value));
};

/**
 * SET_PED_MAX_TIME_IN_WATER
 */
global.SetPedMaxTimeInWater = function (ped, value) {
	return _in(0x43c85169, 0x0662113d, ped, _fv(value));
};

/**
 * SET_PED_MAX_TIME_UNDERWATER
 */
global.SetPedMaxTimeUnderwater = function (ped, value) {
	return _in(0x6ba428c5, 0x28d9e522, ped, _fv(value));
};

/**
 * SET_PED_MIN_MOVE_BLEND_RATIO
 */
global.SetPedMinMoveBlendRatio = function (ped, value) {
	return _in(0x01a898d2, 0x6e2333dd, ped, _fv(value));
};

/**
 * SET_PED_MODEL_IS_SUPPRESSED
 */
global.SetPedModelIsSuppressed = function (model, toggle) {
	return _in(0xe163a4bc, 0xe4de6f11, _ch(model), toggle);
};

/**
 * SET_PED_MONEY
 */
global.SetPedMoney = function (ped, amount) {
	return _in(0xa9c8960e, 0x8684c1b5, ped, amount);
};

/**
 * enum eMotivationState
 * {
 * TOILET_STATE,
 * FEAR_STATE,
 * ANGRY_STATE,
 * AGITATION_STATE,
 * HUNGRY_STATE,
 * TIRED_STATE,
 * SAD_STATE,
 * BRAVE_STATE,
 * OFFER_ITEM_STATE,
 * SUSPICION,
 * DRUNK_STATE
 * };
 * If targetPed is set to 0 the ped motivationState affects everyone
 */
global.SetPedMotivation = function (ped, motivationState, threshold, targetPed) {
	return _in(0x06d26a96, 0xca1bca75, ped, motivationState, _fv(threshold), targetPed);
};
global.N_0x06d26a96ca1bca75 = global.SetPedMotivation;

/**
 * The higher the modifier, the slower the motivationState value will decrease
 */
global.SetPedMotivationModifier = function (ped, motivationState, modifier) {
	return _in(0xa1eb5d02, 0x9e0191d3, ped, motivationState, _fv(modifier));
};
global.N_0xa1eb5d029e0191d3 = global.SetPedMotivationModifier;

/**
 * motivationState: see _SET_PED_MOTIVATION
 */
global.SetPedMotivationStateOverride = function (ped, motivationState, enabled) {
	return _in(0x2eb75fb8, 0x6c41f026, ped, motivationState, enabled);
};
global.N_0x2eb75fb86c41f026 = global.SetPedMotivationStateOverride;

/**
 * SET_PED_MOVE_ANIMS_BLEND_OUT
 */
global.SetPedMoveAnimsBlendOut = function (ped) {
	return _in(0x9e8c908f, 0x41584ecd, ped);
};

/**
 * Min: 0.0f
 * Max: 1.15f
 */
global.SetPedMoveRateOverride = function (ped, value) {
	return _in(0x085bf80f, 0xa50a39d1, ped, _fv(value));
};

/**
 * nullsub, doesn't do anything
 */
global.SetPedNameDebug = function (ped, name) {
	return _in(0x98efa132, 0xa4117be1, ped, _ts(name));
};

/**
 * The distance between these points, is the diagonal of a box (remember it's 3D).
 */
global.SetPedNonCreationArea = function (x1, y1, z1, x2, y2, z2) {
	return _in(0xee01041d, 0x559983ea, _fv(x1), _fv(y1), _fv(z1), _fv(x2), _fv(y2), _fv(z2));
};

/**
 * SET_PED_OFF_TRANSPORT_SEAT
 */
global.SetPedOffTransportSeat = function (ped, flags) {
	return _in(0x8886d83a, 0x430537fd, ped, flags);
};
global.N_0x8886d83a430537fd = global.SetPedOffTransportSeat;

/**
 * seat: see CREATE_PED_INSIDE_VEHICLE
 */
global.SetPedOnTransportSeat = function (ped, transportEntity, seat, flags) {
	return _in(0xe588b5a8, 0xa005cb5e, ped, transportEntity, seat, flags);
};
global.N_0xe588b5a8a005cb5e = global.SetPedOnTransportSeat;

/**
 * SET_PED_ONTO_MOUNT
 */
global.SetPedOntoMount = function (ped, mount, seatIndex, p3) {
	return _in(0x028f76b6, 0xe78246eb, ped, mount, seatIndex, p3);
};
global.N_0x028f76b6e78246eb = global.SetPedOntoMount;

/**
 * SET_PED_OWNS_ANIMAL
 */
global.SetPedOwnsAnimal = function (ped, animal, p2) {
	return _in(0x931b2414, 0x09216c1f, ped, animal, p2);
};
global.N_0x931b241409216c1f = global.SetPedOwnsAnimal;

/**
 * SET_PED_OWNS_VEHICLE
 */
global.SetPedOwnsVehicle = function (ped, vehicle) {
	return _in(0x838c216c, 0x2b05a009, ped, vehicle);
};
global.N_0x838c216c2b05a009 = global.SetPedOwnsVehicle;

/**
 * SET_PED_PANIC_EXIT_SCENARIO
 */
global.SetPedPanicExitScenario = function (ped, x, y, z) {
	return _in(0xfe07ff64, 0x95d52e2a, ped, _fv(x), _fv(y), _fv(z), _r, _ri);
};

/**
 * SET_PED_PATH_AVOID_FIRE
 */
global.SetPedPathAvoidFire = function (ped, avoidFire) {
	return _in(0x4455517b, 0x28441e60, ped, avoidFire);
};

/**
 * SET_PED_PATH_CAN_DROP_FROM_HEIGHT
 */
global.SetPedPathCanDropFromHeight = function (ped, toggle) {
	return _in(0xe361c5c7, 0x1c431a4f, ped, toggle);
};

/**
 * SET_PED_PATH_CAN_USE_CLIMBOVERS
 */
global.SetPedPathCanUseClimbovers = function (ped, toggle) {
	return _in(0x8e06a6fe, 0x76c9eff4, ped, toggle);
};

/**
 * SET_PED_PATH_CAN_USE_LADDERS
 */
global.SetPedPathCanUseLadders = function (ped, toggle) {
	return _in(0x77a5b103, 0xc87f476e, ped, toggle);
};

/**
 * SET_PED_PATH_CLIMB_COST_MODIFIER
 */
global.SetPedPathClimbCostModifier = function (ped, modifier) {
	return _in(0x88e32db8, 0xc1a4aa4b, ped, _fv(modifier));
};
global.N_0x88e32db8c1a4aa4b = global.SetPedPathClimbCostModifier;

/**
 * SET_PED_PATH_DEEP_SNOW_COST_MODIFIER
 */
global.SetPedPathDeepSnowCostModifier = function (ped, modifier) {
	return _in(0xe8c296b7, 0x5eacc357, ped, _fv(modifier));
};
global.N_0xe8c296b75eacc357 = global.SetPedPathDeepSnowCostModifier;

/**
 * SET_PED_PATH_FOLIAGE_COST_MODIFIER
 */
global.SetPedPathFoliageCostModifier = function (ped, modifier) {
	return _in(0x3ad8eff9, 0x703be657, ped, _fv(modifier));
};
global.N_0x3ad8eff9703be657 = global.SetPedPathFoliageCostModifier;

/**
 * _SET_PED_PATH_P*
 * ```
 * ```
 * NativeDB Introduced: v1232
 */
global.SetPedPathLadderCostModifier = function (ped, modifier) {
	return _in(0x70f7a1ea, 0xb1ae3aa8, ped, _fv(modifier));
};

/**
 * _SET_PED_PATH_MAY_ENTER_DEEP_WATER
 */
global.SetPedPathMayEnterDeepWater = function (ped, mayEnterDeepWater) {
	return _in(0x9de63896, 0xb176ea94, ped, mayEnterDeepWater);
};
global.N_0x9de63896b176ea94 = global.SetPedPathMayEnterDeepWater;

/**
 * SET_PED_PATH_MAY_ENTER_WATER
 */
global.SetPedPathMayEnterWater = function (ped, mayEnterWater) {
	return _in(0xf35425a4, 0x204367ec, ped, mayEnterWater);
};

/**
 * SET_PED_PATH_PREFER_TO_AVOID_WATER
 */
global.SetPedPathPreferToAvoidWater = function (ped, avoidWater, p2) {
	return _in(0x38fe1ec7, 0x3743793c, ped, avoidWater, _fv(p2));
};

/**
 * SET_PED_PATHS_BACK_TO_ORIGINAL
 */
global.SetPedPathsBackToOriginal = function (p0, p1, p2, p3, p4, p5, p6) {
	return _in(0xe04b48f2, 0xcc926253, p0, p1, p2, p3, p4, p5, p6);
};

/**
 * SET_PED_PATHS_IN_AREA
 */
global.SetPedPathsInArea = function (x1, y1, z1, x2, y2, z2, unknown, p7) {
	return _in(0x34f060f4, 0xbf92e018, _fv(x1), _fv(y1), _fv(z1), _fv(x2), _fv(y2), _fv(z2), unknown, p7);
};

/**
 * Hashes: STANDARD_PED_AGRO_GUARD, BOUNTY_HUNTER, PLAYER_HORSE, LAW_POLICE, GUARD_DOG, ATTACK_DOG
 * Personalities can also be found in common:/data/ai/interactionpersonalities
 */
global.SetPedPersonality = function (ped, personality) {
	return _in(0xb8b6430e, 0xad2d2437, ped, _ch(personality));
};
global.N_0xb8b6430ead2d2437 = global.SetPedPersonality;

/**
 * _SET_PED_PROMPT_NAME
 */
global.SetPedPromptName = function (ped, name) {
	return _in(0x4a48b6e0, 0x3babb4ac, ped, _ts(name));
};

/**
 * _SET_PED_PROMPT_NAME_FROM_GXT_ENTRY
 */
global.SetPedPromptNameFromGxtEntry = function (ped, gxtEntryHash) {
	return _in(0xfca8fb9e, 0x15fa80d3, ped, _ch(gxtEntryHash));
};
global.N_0xfca8fb9e15fa80d3 = global.SetPedPromptNameFromGxtEntry;

/**
 * _SET_PED_PROMPT_NAME_FROM_GXT_ENTRY_2
 */
global.SetPedPromptNameFromGxtEntry_2 = function (ped, gxtEntryHash) {
	return _in(0xc2745d92, 0x61664901, ped, _ch(gxtEntryHash));
};
global.N_0xc2745d9261664901 = global.SetPedPromptNameFromGxtEntry_2;

/**
 * _SET_PED_PROMPT_NAME_2
 */
global.SetPedPromptName_2 = function (ped, name) {
	return _in(0x19b14e04, 0xb009e28b, ped, _ts(name));
};
global.N_0x19b14e04b009e28b = global.SetPedPromptName_2;

/**
 * quality: see _GET_PED_QUALITY
 */
global.SetPedQuality = function (ped, quality) {
	return _in(0xce6b8742, 0x86d640bb, ped, quality);
};
global.N_0xce6b874286d640bb = global.SetPedQuality;

/**
 * SET_PED_RAGDOLL_FORCE_FALL
 */
global.SetPedRagdollForceFall = function (ped) {
	return _in(0x01f6594b, 0x923b9251, ped);
};

/**
 * Causes Ped to ragdoll on collision with any object (e.g Running into trashcan). If applied to player you will sometimes trip on the sidewalk.
 */
global.SetPedRagdollOnCollision = function (ped, toggle, p2) {
	return _in(0xf0a4f1bb, 0xf4fa7497, ped, toggle, p2);
};

/**
 * SET_PED_RANDOM_COMPONENT_VARIATION
 */
global.SetPedRandomComponentVariation = function (ped, p1) {
	return _in(0xc8a9481a, 0x01e63c28, ped, p1);
};

/**
 * SET_PED_RELATIONSHIP_GROUP_DEFAULT_HASH
 */
global.SetPedRelationshipGroupDefaultHash = function (ped, hash) {
	return _in(0xadb3f206, 0x518799e8, ped, _ch(hash));
};

/**
 * SET_PED_RELATIONSHIP_GROUP_HASH
 */
global.SetPedRelationshipGroupHash = function (ped, relationshipGroup) {
	return _in(0xc80a74ac, 0x829ddd92, ped, _ch(relationshipGroup));
};

/**
 * Needs to be called every frame
 * flagid:https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/ePedScriptResetFlags
 * https://github.com/femga/rdr3_discoveries/tree/master/AI/CPED_RESET_FLAGS
 */
global.SetPedResetFlag = function (ped, flagId, doReset) {
	return _in(0xc1e8a365, 0xbf3b29f2, ped, flagId, doReset);
};

/**
 * _SET_PED_SCALE
 */
global.SetPedScale = function (ped, scale) {
	return _in(0x25acfc65, 0x0b65c538, ped, _fv(scale));
};

/**
 * 0.0 - 1.0
 * Modifies the "scent line" on the ped's body when using Eagle Eye.
 */
global.SetPedScent = function (ped, scent) {
	return _in(0x01b21b81, 0x865e2a1f, ped, _fv(scent));
};
global.N_0x01b21b81865e2a1f = global.SetPedScent;

/**
 * SET_PED_SEEING_RANGE
 */
global.SetPedSeeingRange = function (ped, value) {
	return _in(0xf29cf591, 0xc4bf6cee, ped, _fv(value));
};

/**
 * Params: shootRate = 0 - 1000
 */
global.SetPedShootRate = function (ped, shootRate) {
	return _in(0x614da022, 0x990752dc, ped, shootRate);
};

/**
 * Params: p1 = 1 & 2 in R* Scripts, 0 = Disable avoidance, 1 = Enabled avoidance, 2 = Enabled avoidance (?)
 */
global.SetPedShouldIgnoreAvoidanceVolumes = function (ped, p1) {
	return _in(0xf74e134f, 0x40192884, ped, p1);
};
global.N_0xf74e134f40192884 = global.SetPedShouldIgnoreAvoidanceVolumes;

/**
 * lookIntensity: see SET_PED_SHOULD_PLAY_FLEE_SCENARIO_EXIT
 */
global.SetPedShouldPlayCombatScenarioExit = function (ped, x, y, z, lookIntensity) {
	return _in(0x802092b0, 0x7e3b1eea, ped, _fv(x), _fv(y), _fv(z), lookIntensity, _r, _ri);
};
global.N_0x802092b07e3b1eea = global.SetPedShouldPlayCombatScenarioExit;

/**
 * SET_PED_SHOULD_PLAY_DIRECTED_NORMAL_SCENARIO_EXIT
 */
global.SetPedShouldPlayDirectedNormalScenarioExit = function (ped, x, y, z) {
	return _in(0xec6935eb, 0xe0847b90, ped, _fv(x), _fv(y), _fv(z), _r, _ri);
};
global.N_0xec6935ebe0847b90 = global.SetPedShouldPlayDirectedNormalScenarioExit;

/**
 * lookIntensity: see SET_PED_SHOULD_PLAY_FLEE_SCENARIO_EXIT
 */
global.SetPedShouldPlayEmotionalScenarioExit = function (ped, x, y, z, lookIntensity, p5) {
	return _in(0x62fdad5e, 0x01d2dd47, ped, _fv(x), _fv(y), _fv(z), lookIntensity, p5, _r, _ri);
};
global.N_0x62fdad5e01d2dd47 = global.SetPedShouldPlayEmotionalScenarioExit;

/**
 * lookIntensity:
 * 0 - REACT_LOOK_NONE
 * 1 - REACT_LOOK_LOW
 * 2 - REACT_LOOK_MEDIUM
 * 3 - REACT_LOOK_HIGH
 */
global.SetPedShouldPlayFleeScenarioExit = function (ped, x, y, z, lookIntensity) {
	return _in(0xeeed8faf, 0xec331a70, ped, _fv(x), _fv(y), _fv(z), lookIntensity, _r, _ri);
};
global.N_0xeeed8fafec331a70 = global.SetPedShouldPlayFleeScenarioExit;

/**
 * SET_PED_SHOULD_PLAY_IMMEDIATE_SCENARIO_EXIT
 */
global.SetPedShouldPlayImmediateScenarioExit = function (ped) {
	return _in(0xf1c03a53, 0x52243a30, ped);
};
global.N_0xf1c03a5352243a30 = global.SetPedShouldPlayImmediateScenarioExit;

/**
 * SET_PED_SHOULD_PLAY_NORMAL_SCENARIO_EXIT
 */
global.SetPedShouldPlayNormalScenarioExit = function (ped) {
	return _in(0xa3a9299c, 0x4f2adb98, ped);
};
global.N_0xa3a9299c4f2adb98 = global.SetPedShouldPlayNormalScenarioExit;

/**
 * lookIntensity: see SET_PED_SHOULD_PLAY_FLEE_SCENARIO_EXIT
 */
global.SetPedShouldPlayQuickScenarioExit = function (ped, x, y, z, lookIntensity, p5) {
	return _in(0x46380342, 0x9297117c, ped, _fv(x), _fv(y), _fv(z), lookIntensity, p5, _r, _ri);
};
global.N_0x463803429297117c = global.SetPedShouldPlayQuickScenarioExit;

/**
 * SET_PED_SPHERE_DEFENSIVE_AREA
 */
global.SetPedSphereDefensiveArea = function (ped, x, y, z, radius, p5, p6, p7) {
	return _in(0x9d3151a3, 0x73974804, ped, _fv(x), _fv(y), _fv(z), _fv(radius), p5, p6, p7);
};

/**
 * Not implemented.
 */
global.SetPedStealthMovement = function (ped, toggle, p2, p3) {
	return _in(0x88cbb5ce, 0xb96b7bd2, ped, toggle, p2, p3);
};

/**
 * SET_PED_SWEAT
 */
global.SetPedSweat = function (ped, sweat) {
	return _in(0x27b0405f, 0x59637d1f, ped, _fv(sweat));
};

/**
 * _SET_PED_TARGET_ACTION_DISABLE_FLAG
 */
global.SetPedTargetActionDisableFlag = function (ped, actionDisableFlag) {
	return _in(0xc163dac5, 0x2ac975d3, ped, actionDisableFlag);
};
global.N_0xc163dac52ac975d3 = global.SetPedTargetActionDisableFlag;

/**
 * TLR_ExitTask = 0,
 * TLR_NeverLoseTarget,
 * TLR_SearchForTarget
 */
global.SetPedTargetLossResponse = function (ped, responseType) {
	return _in(0x0703b907, 0x9823da4a, ped, responseType);
};

/**
 * _SET_PED_TO_BE_REMOVED
 */
global.SetPedToBeRemoved = function (ped, p1, p2, p3, p4) {
	return _in(0x36e4b61d, 0xc56de77c, ped, _fv(p1), _fv(p2), p3, p4);
};
global.N_0x36e4b61dc56de77c = global.SetPedToBeRemoved;

/**
 * _SET_PED_TO_DISABLE_RAGDOLL
 */
global.SetPedToDisableRagdoll = function (ped, toggle) {
	return _in(0x221f4d99, 0x12b7fe86, ped, toggle);
};
global.N_0x221f4d9912b7fe86 = global.SetPedToDisableRagdoll;

/**
 * SET_PED_TO_INFORM_RESPECTED_FRIENDS
 */
global.SetPedToInformRespectedFriends = function (ped, radius, maxFriends) {
	return _in(0x112942c6, 0xe708f70b, ped, _fv(radius), maxFriends);
};

/**
 * SET_PED_TO_PLAYER_WEAPON_DAMAGE_MODIFIER
 */
global.SetPedToPlayerWeaponDamageModifier = function (ped, damageModifier) {
	return _in(0xd77ae486, 0x11b7b10a, ped, _fv(damageModifier));
};
global.N_0xd77ae48611b7b10a = global.SetPedToPlayerWeaponDamageModifier;

/**
 * nmTaskMessageParameterName: See physicstasks.ymt. Search for DraggedByCart or 0xD00820D7 (Used in R* SP Script marston8)
 */
global.SetPedToRagdoll = function (ped, timeMin, timeMax, ragdollType, abortIfInjured, abortIfDead, nmTaskMessageParameterName) {
	return _in(0xae99fb95, 0x5581844a, ped, timeMin, timeMax, ragdollType, abortIfInjured, abortIfDead, _ts(nmTaskMessageParameterName), _r);
};

/**
 * SET_PED_TO_RAGDOLL_WITH_FALL
 */
global.SetPedToRagdollWithFall = function (ped, timeMin, timeMax, ragdollType, falldirX, falldirY, falldirZ, p7, p8, p9, p10, p11, p12, p13) {
	return _in(0xd76632d9, 0x9e4966c8, ped, timeMin, timeMax, ragdollType, _fv(falldirX), _fv(falldirY), _fv(falldirZ), _fv(p7), _fv(p8), _fv(p9), _fv(p10), _fv(p11), _fv(p12), _fv(p13), _r);
};

/**
 * duration in seconds
 */
global.SetPedTrailEffect = function (ped, p1, duration) {
	return _in(0xa5950e16, 0xb8f31052, ped, p1, _fv(duration));
};
global.N_0xa5950e16b8f31052 = global.SetPedTrailEffect;

/**
 * Doesn't actually return anything.
 * ```
 * ```
 * NativeDB Introduced: v1232
 */
global.SetPedUseHorseMapCollision = function (ped, toggle) {
	return _in(0xeb72453b, 0x6f5b45b0, ped, toggle, _r, _ri);
};

/**
 * _SET_PED_USE_TRANSPORT_SEAT_PREFERENCE
 */
global.SetPedUseTransportSeatPreference = function (ped, transportEntity, preferenceSlot, p3, seatIndex) {
	return _in(0xb7079f4c, 0x72896756, ped, transportEntity, preferenceSlot, p3, seatIndex);
};
global.N_0xb7079f4c72896756 = global.SetPedUseTransportSeatPreference;

/**
 * SET_PED_USING_ACTION_MODE
 */
global.SetPedUsingActionMode = function (ped, bActionModeEnabled, p2, action) {
	return _in(0xd75accf5, 0xe0fb5367, ped, bActionModeEnabled, p2, _ts(action));
};

/**
 * SET_PED_VISUAL_FIELD_CENTER_ANGLE
 */
global.SetPedVisualFieldCenterAngle = function (ped, angle) {
	return _in(0x3b6405e8, 0xab34a907, ped, _fv(angle));
};

/**
 * SET_PED_VISUAL_FIELD_MAX_ANGLE
 */
global.SetPedVisualFieldMaxAngle = function (ped, value) {
	return _in(0x70793bdc, 0xa1e854d4, ped, _fv(value));
};

/**
 * SET_PED_VISUAL_FIELD_MIN_ANGLE
 */
global.SetPedVisualFieldMinAngle = function (ped, value) {
	return _in(0x2db49222, 0x2fb21e26, ped, _fv(value));
};

/**
 * SET_PED_VISUAL_FIELD_PERIPHERAL_RANGE
 */
global.SetPedVisualFieldPeripheralRange = function (ped, range) {
	return _in(0x9c74b0bc, 0x831b753a, ped, _fv(range));
};

/**
 * _SET_PED_S* - _SET_PED_T*
 */
global.SetPedVoiceVolume = function (ped, volume) {
	return _in(0xd05ad61f, 0x242c626b, ped, _fv(volume));
};
global.N_0xd05ad61f242c626b = global.SetPedVoiceVolume;

/**
 * https://en.m.wikipedia.org/wiki/Walla
 */
global.SetPedWallaDensity = function (p0, p1) {
	return _in(0x149aee66, 0xf0cb3a99, _fv(p0), _fv(p1));
};
global.N_0x149aee66f0cb3a99 = global.SetPedWallaDensity;

/**
 * SET_PED_WAYPOINT_ROUTE_OFFSET
 */
global.SetPedWaypointRouteOffset = function (ped, p1, p2, p3) {
	return _in(0xed98e10b, 0x0afce4b4, ped, _fv(p1), _fv(p2), _fv(p3), _r, _ri);
};

/**
 * attachPoint: see SET_CURRENT_PED_WEAPON
 */
global.SetPedWeaponAttachPointVisibility = function (ped, attachPoint, visible) {
	return _in(0x67e21acc, 0x5c0c970c, ped, attachPoint, visible);
};
global.N_0x67e21acc5c0c970c = global.SetPedWeaponAttachPointVisibility;

/**
 * combined with PED::SET_PED_WETNESS_HEIGHT(), this native makes the ped drenched in water up to the height specified in the other function
 */
global.SetPedWetnessEnabledThisFrame = function (ped) {
	return _in(0xb5485e49, 0x07b53019, ped);
};

/**
 * It adds the wetness level to the player clothing/outfit. As if player just got out from water surface.
 */
global.SetPedWetnessHeight = function (ped, height) {
	return _in(0x44cb6447, 0xd2571aa0, ped, _fv(height));
};

/**
 * _SET_PED_WRITHING_DURATION
 */
global.SetPedWrithingDuration = function (ped, writhingDuration1, writhingDuration2, p3) {
	return _in(0x4db9d03a, 0xc4e1fa84, ped, _fv(writhingDuration1), _fv(writhingDuration2), p3);
};
global.N_0x4db9d03ac4e1fa84 = global.SetPedWrithingDuration;

/**
 * _SET_PELT_FOR_HORSE
 */
global.SetPeltForHorse = function (horse, peltId) {
	return _in(0xa73f50e8, 0x796150d5, horse, peltId);
};
global.N_0xa73f50e8796150d5 = global.SetPeltForHorse;

/**
 * _SET_PERSCHAR_SCHEDULE
 */
global.SetPerscharSchedule = function (persCharHash, schedule) {
	return _in(0x187d65f3, 0xaec5d679, _ch(persCharHash), _ts(schedule));
};
global.N_0x187d65f3aec5d679 = global.SetPerscharSchedule;

/**
 * _SET_PHOTO_IN_PHOTOMODE_STAT
 */
global.SetPhotoInPhotomodeStat = function (p0) {
	return _in(0xfa917369, 0x33ab3d93, p0);
};
global.N_0xfa91736933ab3d93 = global.SetPhotoInPhotomodeStat;

/**
 * _SET_PHOTO_OVERLAY_EFFECT_STAT
 */
global.SetPhotoOverlayEffectStat = function (p0) {
	return _in(0x8b329627, 0x8328b5eb, p0);
};
global.N_0x8b3296278328b5eb = global.SetPhotoOverlayEffectStat;

/**
 * _SET_PHOTO_SELF_STAT
 */
global.SetPhotoSelfStat = function (p0) {
	return _in(0x2705d18c, 0x11b61046, p0);
};
global.N_0x2705d18c11b61046 = global.SetPhotoSelfStat;

/**
 * _SET_PHOTO_STUDIO_STAT
 */
global.SetPhotoStudioStat = function (p0) {
	return _in(0x8e6aff35, 0x3c09652e, p0);
};
global.N_0x8e6aff353c09652e = global.SetPhotoStudioStat;

/**
 * _SET_PICKUP_COLLECTABLE_ON_MOUNT
 */
global.SetPickupCollectableOnMount = function (object) {
	return _in(0x00ee0860, 0x3eadee92, object);
};
global.N_0x00ee08603eadee92 = global.SetPickupCollectableOnMount;

/**
 * SET_PICKUP_DO_NOT_AUTO_PLACE_ON_GROUND
 */
global.SetPickupDoNotAutoPlaceOnGround = function (pickupObject) {
	return _in(0x634c1952, 0x1485ab25, pickupObject);
};
global.N_0x634c19521485ab25 = global.SetPickupDoNotAutoPlaceOnGround;

/**
 * SET_PICKUP_GENERATION_RANGE_MULTIPLIER
 */
global.SetPickupGenerationRangeMultiplier = function (multiplier) {
	return _in(0x318516e0, 0x2de3ece2, _fv(multiplier));
};

/**
 * SET_PICKUP_HIDDEN_WHEN_UNCOLLECTABLE
 */
global.SetPickupHiddenWhenUncollectable = function (p0, p1) {
	return _in(0x81218ce0, 0x1b672219, p0, p1);
};

/**
 * https://imgur.com/a/I2swSDJ
 */
global.SetPickupLight = function (object, toggle) {
	return _in(0x7dfb49bc, 0xdb73089a, object, toggle);
};
global.N_0x7dfb49bcdb73089a = global.SetPickupLight;

/**
 * SET_PICKUP_NOT_LOOTABLE
 */
global.SetPickupNotLootable = function (p0, p1) {
	return _in(0x92e87f60, 0xf21a0c3a, p0, p1);
};

/**
 * SET_PICKUP_PARTICLE_FX_HIGHLIGHT
 */
global.SetPickupParticleFxHighlight = function (p0, p1) {
	return _in(0x1607c7d9, 0xb3021df5, p0, p1);
};

/**
 * SET_PICKUP_PARTICLE_FX_SPAWN
 */
global.SetPickupParticleFxSpawn = function (p0, p1) {
	return _in(0xeb9740a3, 0x8fd6d634, p0, p1);
};

/**
 * SET_PICKUP_REGENERATION_TIME
 */
global.SetPickupRegenerationTime = function (pickup, duration) {
	return _in(0x78015c9b, 0x4b3ecc9d, pickup, duration);
};

/**
 * SET_PICKUP_UNCOLLECTABLE
 */
global.SetPickupUncollectable = function (p0, p1) {
	return _in(0x4a8cb328, 0xcd6f1c9b, p0, p1);
};

/**
 * SET_PLAYBACK_SPEED
 */
global.SetPlaybackSpeed = function (vehicle, speed) {
	return _in(0xd78084ee, 0xd4cd94c6, vehicle, _fv(speed));
};

/**
 * _SET_PLAYER_ANTAGONIZE_DISABLED_FOR_PED
 */
global.SetPlayerAntagonizeDisabledForPed = function (ped, player, duration) {
	return _in(0x5708edd7, 0x1b50c008, ped, player, duration);
};
global.N_0x5708edd71b50c008 = global.SetPlayerAntagonizeDisabledForPed;

/**
 * NativeDB Introduced: v1232
 */
global.SetPlayerAppearInPhoto = function (player) {
	return _in(0x75d56860, 0x7909333e, player);
};

/**
 * SET_PLAYER_ARRESTED_IN_REGION
 */
global.SetPlayerArrestedInRegion = function (player, lawRegionHash) {
	return _in(0xe0fa74aa, 0x3cce650b, player, _ch(lawRegionHash));
};
global.N_0xe0fa74aa3cce650b = global.SetPlayerArrestedInRegion;

/**
 * _SET_PLAYER_BIT_AT_INDEX
 */
global.SetPlayerBitAtIndex = function (bitIndex) {
	return _in(0x31010318, 0xba9897ac, _i, bitIndex);
};
global.N_0x31010318ba9897ac = global.SetPlayerBitAtIndex;

/**
 * Sets whether this player can be hassled by gangs.
 */
global.SetPlayerCanBeHassledByGangs = function (player, toggle) {
	return _in(0xc7fe7744, 0x12046825, player, toggle);
};

/**
 * NativeDB Introduced: v1311
 */
global.SetPlayerCanMercyKill = function (player, toggle) {
	return _in(0x39363dfd, 0x04e91496, player, toggle);
};

/**
 * Sets whether this player can take cover.
 */
global.SetPlayerCanUseCover = function (player, toggle) {
	return _in(0x5eda520f, 0x7a3baf4e, player, toggle);
};

/**
 * SET_PLAYER_CLOTH_PIN_FRAMES
 */
global.SetPlayerClothPinFrames = function (ped, p1) {
	return _in(0xd0d9317d, 0xfeef9a66, ped, p1);
};

/**
 * flags: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/eSetPlayerControlFlags
 */
global.SetPlayerControl = function (player, toggle, flags, bPreventHeadingChange) {
	return _in(0x4d51e592, 0x43281d80, player, toggle, flags, bPreventHeadingChange);
};

/**
 * Animal Skin Quality Modifier
 * Params: p2 = 2, p3 = 3 in R* Scripts
 * ```
 * ```
 * NativeDB Introduced: v1311
 */
global.SetPlayerCurrentAnimalDamageModifier = function (player, modifier, p2, p3) {
	return _in(0x9eff3c91, 0xdf38304f, player, _fv(modifier), p2, p3, _r, _ri);
};

/**
 * damageInfo: STANDARD_PED_DAMAGE, STANDARD_FEMALE_PED_DAMAGE, STANDARD_PLAYER_PED_DAMAGE_MP, STANDARD_FEMALE_PLAYER_PED_DAMAGE_MP
 */
global.SetPlayerDamageInfoOverride = function (player, damageInfo) {
	return _in(0x78b3d19a, 0xf6391a55, player, _ts(damageInfo));
};
global.N_0x78b3d19af6391a55 = global.SetPlayerDamageInfoOverride;

/**
 * Sets stamina core drains peed using ranged damage scale and melee damage scale
 */
global.SetPlayerDefenseModifier = function (player, weaponDefenseMod, meleeDefenseMod) {
	return _in(0x497a6539, 0xbb0e8787, player, _fv(weaponDefenseMod), _fv(meleeDefenseMod));
};
global.N_0x497a6539bb0e8787 = global.SetPlayerDefenseModifier;

/**
 * bullet damage modifier: type = 4
 * explosive damage Defense mod: type = 7
 * fire damage Defense mod: type = 8, 15
 */
global.SetPlayerDefenseTypeModifier = function (player, type, defenseModifier) {
	return _in(0x93f499ca, 0xe53fcd05, player, type, _fv(defenseModifier));
};
global.N_0x93f499cae53fcd05 = global.SetPlayerDefenseTypeModifier;

/**
 * _SET_PLAYER_EXPLOSIVE_WEAPON_DAMAGE_MODIFIER
 */
global.SetPlayerExplosiveWeaponDamageModifier = function (player, modifier) {
	return _in(0x2d3ace3d, 0xe0a2b622, player, _fv(modifier));
};
global.N_0x2d3ace3de0a2b622 = global.SetPlayerExplosiveWeaponDamageModifier;

/**
 * SET_PLAYER_FORCED_AIM
 */
global.SetPlayerForcedAim = function (player, toggle, ped, p3, p4) {
	return _in(0xd5fcc166, 0xaeb2fd0f, player, toggle, ped, p3, p4);
};

/**
 * _SET_PLAYER_GREET_DISABLED_FOR_PED
 */
global.SetPlayerGreetDisabledForPed = function (ped, player, duration) {
	return _in(0x19173c3f, 0x15367b54, ped, player, duration);
};
global.N_0x19173c3f15367b54 = global.SetPlayerGreetDisabledForPed;

/**
 * _SET_PLAYER_HAS_DISCOVERED_CHARACTER_NAME_MP
 */
global.SetPlayerHasDiscoveredCharacterNameMp = function (discoveryHash) {
	return _in(0x7c32191d, 0x9fb2bdea, _ch(discoveryHash));
};
global.N_0x7c32191d9fb2bdea = global.SetPlayerHasDiscoveredCharacterNameMp;

/**
 * _SET_PLAYER_HAS_DISCOVERED_CHARACTER_NAME_SP
 */
global.SetPlayerHasDiscoveredCharacterNameSp = function (player, p1, discoveryHash) {
	return _in(0x946d46cd, 0x6dfb9742, player, p1, _ch(discoveryHash));
};
global.N_0x946d46cd6dfb9742 = global.SetPlayerHasDiscoveredCharacterNameSp;

/**
 * SET_PLAYER_HEALTH_RECHARGE_MULTIPLIER
 */
global.SetPlayerHealthRechargeMultiplier = function (player, regenRate) {
	return _in(0x8899c244, 0xebcf70de, player, _fv(regenRate));
};

/**
 * Setting player's Health recharge time to zero forces immediate health regen
 */
global.SetPlayerHealthRechargeTimeModifier = function (player, modifier) {
	return _in(0x535ed460, 0x5f89ab6e, player, _fv(modifier));
};
global.N_0x535ed4605f89ab6e = global.SetPlayerHealthRechargeTimeModifier;

/**
 * Only applies to HUNTERCART01
 */
global.SetPlayerHuntingWagon = function (player, wagon) {
	return _in(0x6a4404bd, 0xfa62ce2c, player, wagon);
};
global.N_0x6a4404bdfa62ce2c = global.SetPlayerHuntingWagon;

/**
 * Sets your targeting mode for when you're in a vehicle (perhaps a mount/horse).
 * see SET_PLAYER_TARGETING_MODE for eTargetingMode
 */
global.SetPlayerInVehicleTargetingMode = function (targetMode) {
	return _in(0x19b4f717, 0x03902238, targetMode);
};
global.N_0x19b4f71703902238 = global.SetPlayerInVehicleTargetingMode;

/**
 * _SET_PLAYER_INTERACTION_NEGATIVE_RESPONSE
 */
global.SetPlayerInteractionNegativeResponse = function (player, speech) {
	return _in(0x98cd760d, 0xe43b612e, player, _ts(speech));
};
global.N_0x98cd760de43b612e = global.SetPlayerInteractionNegativeResponse;

/**
 * _SET_PLAYER_INTERACTION_POSITIVE_RESPONSE
 */
global.SetPlayerInteractionPositiveResponse = function (player, speech) {
	return _in(0xc6366a58, 0x5659d15c, player, _ts(speech));
};
global.N_0xc6366a585659d15c = global.SetPlayerInteractionPositiveResponse;

/**
 * Simply sets you as invincible (Health will not deplete).
 */
global.SetPlayerInvincible = function (player, toggle) {
	return _in(0xfebeebc9, 0xcbdf4b12, player, toggle);
};

/**
 * SET_PLAYER_INVISIBLE_LOCALLY
 */
global.SetPlayerInvisibleLocally = function (player, toggle) {
	return _in(0x12b37d54, 0x667db0b8, player, toggle);
};

/**
 * _SET_PLAYER_A* - _SET_PLAYER_C*
 */
global.SetPlayerLassoDamagePerSecond = function (player, damage) {
	return _in(0x43f50a7c, 0xd2482156, player, _fv(damage));
};
global.N_0x43f50a7cd2482156 = global.SetPlayerLassoDamagePerSecond;

/**
 * _SET_PLAYER_LOCAL_ACCURACY_FLOOR_MODIFIER
 */
global.SetPlayerLocalAccuracyFloorModifier = function (player, accuracy) {
	return _in(0x4ea69188, 0xfbce6a7d, player, _fv(accuracy));
};
global.N_0x4ea69188fbce6a7d = global.SetPlayerLocalAccuracyFloorModifier;

/**
 * SET_PLAYER_LOCKON
 */
global.SetPlayerLockon = function (player, toggle) {
	return _in(0x462aa197, 0x3cbba75e, player, toggle);
};

/**
 * Affects the range of auto aim target.
 */
global.SetPlayerLockonRangeOverride = function (player, range) {
	return _in(0x3a3cd065, 0x97388322, player, _fv(range));
};

/**
 * _SET_PLAYER_MANAGE_BUFF_SUPER_JUMP
 */
global.SetPlayerManageBuffSuperJump = function (player, p1) {
	return _in(0x292f0b6e, 0xdc82e3a4, player, _fv(p1));
};
global.N_0x292f0b6edc82e3a4 = global.SetPlayerManageBuffSuperJump;

/**
 * _SET_PLAYER_MAX_AMMO_OVERRIDE_FOR_AMMO_TYPE
 */
global.SetPlayerMaxAmmoOverrideForAmmoType = function (player, ammoType, amount) {
	return _in(0xe133c1ec, 0x5300f740, player, _ch(ammoType), amount);
};
global.N_0xe133c1ec5300f740 = global.SetPlayerMaxAmmoOverrideForAmmoType;

/**
 * SET_PLAYER_MAY_NOT_ENTER_ANY_VEHICLE
 */
global.SetPlayerMayNotEnterAnyVehicle = function (player) {
	return _in(0xbec463b3, 0xa11c909e, player);
};

/**
 * SET_PLAYER_MAY_ONLY_ENTER_THIS_VEHICLE
 */
global.SetPlayerMayOnlyEnterThisVehicle = function (player, vehicle) {
	return _in(0xda35a134, 0x038557ec, player, vehicle);
};

/**
 * SET_PLAYER_MELEE_WEAPON_DAMAGE_MODIFIER
 */
global.SetPlayerMeleeWeaponDamageModifier = function (player, modifier) {
	return _in(0xe4cb5a3f, 0x18170381, player, _fv(modifier));
};

/**
 * Make sure to request the model first and wait until it has loaded.
 */
global.SetPlayerModel = function (player, modelHash, p2) {
	return _in(0xed403800, 0x76a31506, player, _ch(modelHash), p2);
};

/**
 * mood: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/ePedMood
 */
global.SetPlayerMood = function (player, mood) {
	return _in(0x39bed552, 0xdb46ffa9, player, mood);
};
global.N_0x39bed552db46ffa9 = global.SetPlayerMood;

/**
 * Name could potentially be inaccurate.
 * Used in Script Function HORSE_SETUP_PLAYER_HORSE_ATTRIBUTES (p1 = true)
 * _SET_PLAYER_L* - _SET_PLAYER_M*
 */
global.SetPlayerMountStateActive = function (player, active) {
	return _in(0xdf939732, 0x51fb2ca5, player, active);
};
global.N_0xdf93973251fb2ca5 = global.SetPlayerMountStateActive;

/**
 * SET_PLAYER_NOISE_MULTIPLIER
 */
global.SetPlayerNoiseMultiplier = function (player, multiplier) {
	return _in(0xb5ec6bda, 0xebca454c, player, _fv(multiplier));
};

/**
 * Seems to enable active horse equipment prompt when being near it and enables the control that opens the inventory as well
 */
global.SetPlayerOwnsMount = function (player, mount) {
	return _in(0xe6d4e435, 0xb56d5bd0, player, mount);
};
global.N_0xe6d4e435b56d5bd0 = global.SetPlayerOwnsMount;

/**
 * _SET_PLAYER_OWNS_VEHICLE
 */
global.SetPlayerOwnsVehicle = function (player, vehicle) {
	return _in(0xd0e02aa6, 0x18020d17, player, vehicle);
};
global.N_0xd0e02aa618020d17 = global.SetPlayerOwnsVehicle;

/**
 * NativeDB Introduced: v1232
 */
global.SetPlayerPedQuickSwapWeaponByGuid = function (ped) {
	return _in(0xec1f85da, 0x51d3d6c4, ped, _i, _i);
};

/**
 * _SET_PLAYER_REMOTE_ACCURACY_FLOOR_MODIFIER
 */
global.SetPlayerRemoteAccuracyFloorModifier = function (player, accuracy) {
	return _in(0xdee80fed, 0xfdd43c9b, player, _fv(accuracy));
};
global.N_0xdee80fedfdd43c9b = global.SetPlayerRemoteAccuracyFloorModifier;

/**
 * https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/ePlayerResetFlags
 * https://github.com/femga/rdr3_discoveries/tree/master/AI/PLAYER_RESET_FLAGS
 */
global.SetPlayerResetFlag = function (player, playerResetFlag, p2) {
	return _in(0x9f9a829c, 0x6751f3c7, player, playerResetFlag, p2);
};
global.N_0x9f9a829c6751f3c7 = global.SetPlayerResetFlag;

/**
 * SET_PLAYER_SIMULATE_AIMING
 */
global.SetPlayerSimulateAiming = function (player, toggle) {
	return _in(0xe0447def, 0x81ccdfd2, player, toggle);
};

/**
 * SET_PLAYER_SNEAKING_NOISE_MULTIPLIER
 */
global.SetPlayerSneakingNoiseMultiplier = function (player, multiplier) {
	return _in(0x4de44fa3, 0x89dca565, player, _fv(multiplier));
};

/**
 * SET_PLAYER_STAMINA_RECHARGE_MULTIPLIER
 */
global.SetPlayerStaminaRechargeMultiplier = function (player, multiplier) {
	return _in(0xfeca17cf, 0x3343694b, player, _fv(multiplier));
};
global.N_0xfeca17cf3343694b = global.SetPlayerStaminaRechargeMultiplier;

/**
 * _SET_PLAYER_STAMINA_SPRINT_DEPLETION_MULTIPLIER
 */
global.SetPlayerStaminaSprintDepletionMultiplier = function (player, multiplier) {
	return _in(0xbbadfb5e, 0x5e5766fb, player, _fv(multiplier));
};
global.N_0xbbadfb5e5e5766fb = global.SetPlayerStaminaSprintDepletionMultiplier;

/**
 * _N*, _O* or _PE*
 */
global.SetPlayerStatFlagHash = function (player, p1) {
	return _in(0x768e81ae, 0x285a4b67, player, _ch(p1));
};
global.N_0x768e81ae285a4b67 = global.SetPlayerStatFlagHash;

/**
 * the status of default voip system. It affects on `NETWORK_IS_PLAYER_TALKING` and `mp_facial` animation.
 * This function doesn't need to be called every frame, it works like a switcher.
 * @param player The target player.
 * @param state Overriding state.
 */
global.SetPlayerTalkingOverride = function (player, state) {
	return _in(0x00000000, 0xfc02caf6, player, state);
};

/**
 * Sets your targeting mode for when you're on foot.
 * enum eTargetingMode
 * {
 * TARGETING_MODE_INVALID = -1,
 * TARGETING_MODE_CAUSAL, (Wide)
 * TARGETING_MODE_NORMAL,
 * TARGETING_MODE_HARD, (Narrow)
 * TARGETING_MODE_EXPERT (Free Aim)
 * };
 */
global.SetPlayerTargetingMode = function (targetMode) {
	return _in(0xd66a941f, 0x401e7302, targetMode);
};

/**
 * Sets the player's team.
 */
global.SetPlayerTeam = function (player, team, bRestrictToThisScript) {
	return _in(0xe8dd8536, 0xf01de600, player, team, bRestrictToThisScript);
};

/**
 * _SET_PLAYER_TOTAL_ACCURACY_MODIFIER
 */
global.SetPlayerTotalAccuracyModifier = function (player, accuracy) {
	return _in(0x967ff5bc, 0x0cfe6d26, player, _fv(accuracy));
};
global.N_0x967ff5bc0cfe6d26 = global.SetPlayerTotalAccuracyModifier;

/**
 * _SET_PLAYER_TRAMPLE_DAMAGE_MODIFIER
 */
global.SetPlayerTrampleDamageModifier = function (player, modifier) {
	return _in(0xaf341032, 0xe97fb061, player, _fv(modifier));
};
global.N_0xaf341032e97fb061 = global.SetPlayerTrampleDamageModifier;

/**
 * SET_PLAYER_TURNED_IN_BOUNTY_IN_REGION
 */
global.SetPlayerTurnedInBountyInRegion = function (player, lawRegionHash) {
	return _in(0x73bad7b2, 0xf2db50de, player, _ch(lawRegionHash));
};
global.N_0x73bad7b2f2db50de = global.SetPlayerTurnedInBountyInRegion;

/**
 * _SET_PLAYER_V* - _SET_S*
 */
global.SetPlayerVisibilityToLocalPlayerDisabled = function (player, disabled) {
	return _in(0xdca6abdb, 0x9288fbe4, player, disabled);
};
global.N_0xdca6abdb9288fbe4 = global.SetPlayerVisibilityToLocalPlayerDisabled;

/**
 * SET_PLAYER_VISIBLE_LOCALLY
 */
global.SetPlayerVisibleLocally = function (player, toggle) {
	return _in(0xfaa10f1f, 0xafb11af2, player, toggle);
};

/**
 * nullsub, doesn't do anything
 */
global.SetPlayerWantedLevel = function (player, wantedLevel, disableNoMission) {
	return _in(0x384d4765, 0x395e006c, player, wantedLevel, disableNoMission);
};

/**
 * This modifies the damage value of your weapon. Whether it is a multiplier or base damage is unknown.
 */
global.SetPlayerWeaponDamageModifier = function (player, modifier) {
	return _in(0x94d529f7, 0xb73d7a85, player, _fv(modifier));
};

/**
 * SET_PLAYER_WEAPON_DEFENSE_MODIFIER
 */
global.SetPlayerWeaponDefenseModifier = function (player, modifier) {
	return _in(0xd15cc2d4, 0x93160be3, player, _fv(modifier));
};

/**
 * _SET_PLAYER_WEAPON_GROUP_AS_INSTANT_KILL
 */
global.SetPlayerWeaponGroupAsInstantKill = function (player, weaponGroup, toggle) {
	return _in(0x59f0aff3, 0xe0a1b019, player, _ch(weaponGroup), toggle);
};
global.N_0x59f0aff3e0a1b019 = global.SetPlayerWeaponGroupAsInstantKill;

/**
 * _SET_PLAYER_WEAPON_GROUP_DAMAGE_MODIFIER
 */
global.SetPlayerWeaponGroupDamageModifier = function (player, weaponGroup, modifier) {
	return _in(0xfc79dcc9, 0x4d0a5897, player, _ch(weaponGroup), _fv(modifier));
};
global.N_0xfc79dcc94d0a5897 = global.SetPlayerWeaponGroupDamageModifier;

/**
 * SET_PLAYER_WEAPON_TYPE_DAMAGE_MODIFIER
 */
global.SetPlayerWeaponTypeDamageModifier = function (player, weaponHash, damageModifier) {
	return _in(0xd04ad186, 0xce8bb129, player, _ch(weaponHash), _fv(damageModifier));
};
global.N_0xd04ad186ce8bb129 = global.SetPlayerWeaponTypeDamageModifier;

/**
 * If toggle is set to false:
 * The police won't be shown on the (mini)map
 * If toggle is set to true:
 * The police will be shown on the (mini)map
 */
global.SetPoliceRadarBlips = function (toggle) {
	return _in(0x6fd7dd6b, 0x63f2820e, toggle);
};

/**
 * SET_POP_CONTROL_SPHERE_THIS_FRAME
 */
global.SetPopControlSphereThisFrame = function (p0, p1, p2, p3, p4) {
	return _in(0xd8c3be3e, 0xe94caf2d, p0, p1, p2, p3, p4);
};

/**
 * SET_POPULATION_BUDGET_MULTIPLIER
 */
global.SetPopulationBudgetMultiplier = function (fBudgetMultiplier) {
	return _in(0x2f9ac754, 0xfe179d58, _fv(fBudgetMultiplier));
};
global.N_0x2f9ac754fe179d58 = global.SetPopulationBudgetMultiplier;

/**
 * SET_POPZONE_POPULATION_SET
 */
global.SetPopzonePopulationSet = function (popZone, populationSetHash) {
	return _in(0x3e6a49d9, 0xb519e85c, popZone, _ch(populationSetHash));
};

/**
 * SET_PORTAL_SETTINGS_OVERRIDE
 */
global.SetPortalSettingsOverride = function (p0, p1) {
	return _in(0x044dbad7, 0xa7fa2be5, _ts(p0), _ts(p1));
};

/**
 * _SET_POSSE_ID_FOR_PHOTO
 */
global.SetPosseIdForPhoto = function (posseId) {
	return _in(0x564837d4, 0xa9ede296, posseId);
};
global.N_0x564837d4a9ede296 = global.SetPosseIdForPhoto;

/**
 * SET_POSTPONE_DISTURBANCE_CRIMES_DURING_COMBAT
 */
global.SetPostponeDisturbanceCrimesDuringCombat = function (player, p1) {
	return _in(0x362086b9, 0x11657b1a, player, p1);
};
global.N_0x362086b911657b1a = global.SetPostponeDisturbanceCrimesDuringCombat;

/**
 * _SET_PROP_SET_AS_NO_LONGER_NEEDED
 */
global.SetPropSetAsNoLongerNeeded = function (propSet) {
	return _in(0x909e3c7f, 0xae539fb1, propSet);
};
global.N_0x909e3c7fae539fb1 = global.SetPropSetAsNoLongerNeeded;

/**
 * _SET_PROP_SET_FLAG
 */
global.SetPropSetFlag = function (propSet, flag) {
	return _in(0xc1ab7eef, 0xd3e6ee49, propSet, flag);
};
global.N_0xc1ab7eefd3e6ee49 = global.SetPropSetFlag;

/**
 * _SET_PROP_SET_VISIBLE
 */
global.SetPropSetVisible = function (propSet, toggle) {
	return _in(0x9d096a5b, 0xd02f953e, propSet, toggle);
};
global.N_0x9d096a5bd02f953e = global.SetPropSetVisible;

/**
 * state: false disables artificial interior light sources for specific proxyInteriorIndex
 */
global.SetProxyInteriorIndexArtificialLightsState = function (proxyInteriorIndex, state) {
	return _in(0xbfcb1789, 0x5bb99e4e, proxyInteriorIndex, state);
};
global.N_0xbfcb17895bb99e4e = global.SetProxyInteriorIndexArtificialLightsState;

/**
 * SET_RADAR_AS_EXTERIOR_THIS_FRAME
 */
global.SetRadarAsExteriorThisFrame = function () {
	return _in(0xa8ebbae9, 0x86fb5457);
};

/**
 * https://github.com/femga/rdr3_discoveries/blob/master/graphics/minimap/radar/radar_configs.lua
 * configHash: -1943724816, 347777538, -117986897, -789269373, -547506804, -1986542417, 2080113112
 * p1: usually 898171178 or 0 in R* scripts (doesn't seems to have any effect)
 */
global.SetRadarConfigType = function (configHash, p1) {
	return _in(0x9c113883, 0x487fd53c, _ch(configHash), _ch(p1));
};
global.N_0x9c113883487fd53c = global.SetRadarConfigType;

/**
 * SET_RADAR_ZOOM
 */
global.SetRadarZoom = function (zoomLevel) {
	return _in(0xcaf6489d, 0xa2c8dd9e, zoomLevel);
};

/**
 * https://github.com/femga/rdr3_discoveries/tree/master/AI/RAGDOLL_BLOCKING_FLAGS
 * flags:
 * enum eRagdollBlockingFlags
 * {
 * RBF_BULLET_IMPACT = (1 << 0),
 * RBF_VEHICLE_IMPACT = (1 << 1),
 * RBF_FIRE = (1 << 2),
 * RBF_ELECTROCUTION = (1 << 3),
 * RBF_PLAYER_IMPACT = (1 << 4),
 * RBF_EXPLOSION = (1 << 5),
 * RBF_IMPACT_OBJECT = (1 << 6),
 * RBF_MELEE = (1 << 7),
 * RBF_RUBBER_BULLET = (1 << 8),
 * RBF_FALLING = (1 << 9),
 * RBF_WATER_JET = (1 << 10),
 * RBF_DROWNING = (1 << 11),
 * RBF_0x9F52E2C4 = (1 << 12),
 * RBF_PLAYER_BUMP = (1 << 13),
 * RBF_PLAYER_RAGDOLL_BUMP = (1 << 14),
 * RBF_PED_RAGDOLL_BUMP = (1 << 15),
 * RBF_VEHICLE_GRAB = (1 << 16),
 * RBF_SMOKE_GRENADE = (1 << 17),
 * RBF_HORSE_BUMP = (1 << 18),
 * RBF_ACTIVATE_ON_COLLISION = (1 << 19)
 * };
 */
global.SetRagdollBlockingFlags = function (ped, flags) {
	return _in(0x26695ec7, 0x67728d84, ped, flags);
};

/**
 * SET_RAIN
 */
global.SetRain = function (intensity) {
	return _in(0x193dfc05, 0x26830fd6, _fv(intensity));
};
global.SetRainFxIntensity = global.SetRain;

/**
 * SET_RANDOM_BOATS
 */
global.SetRandomBoats = function (toggle) {
	return _in(0xf44d446d, 0x4e36db87, toggle);
};

/**
 * If the parameter is true, sets the random event flag to true, if the parameter is false, the function does nothing at all.
 * Does nothing if the mission flag is set.
 */
global.SetRandomEventFlag = function (toggle) {
	return _in(0xb1adccc4, 0x150c6473, toggle);
};

/**
 * _SET_RANDOM_OUTFIT_VARIATION
 */
global.SetRandomOutfitVariation = function (ped, p1) {
	return _in(0x283978a1, 0x5512b2fe, ped, p1);
};
global.N_0x283978a15512b2fe = global.SetRandomOutfitVariation;

/**
 * SET_RANDOM_SEED
 */
global.SetRandomSeed = function (seed) {
	return _in(0x5cd7a491, 0x04afcb6b, seed);
};

/**
 * SET_RANDOM_TRAINS
 */
global.SetRandomTrains = function (toggle) {
	return _in(0x1156c6ee, 0x7e82a98a, toggle);
};

/**
 * SET_RANDOM_VEHICLE_DENSITY_MULTIPLIER_THIS_FRAME
 */
global.SetRandomVehicleDensityMultiplierThisFrame = function (multiplier) {
	return _in(0x1f91d444, 0x90e1ea0c, _fv(multiplier));
};

/**
 * SET_RANDOM_WEATHER_TYPE
 */
global.SetRandomWeatherType = function (p0, p1) {
	return _in(0x6e5a7fbe, 0xecab3c72, p0, p1);
};

/**
 * Decreases the damage the player receives while on horseback
 */
global.SetReceivedHorsebackDamageDecrease = function (player, damageDecrease) {
	return _in(0xb427911e, 0xa6dffef3, player, _fv(damageDecrease));
};
global.N_0xb427911ea6dffef3 = global.SetReceivedHorsebackDamageDecrease;

/**
 * _SET_REGION_PHOTO_TAKEN_STAT
 */
global.SetRegionPhotoTakenStat = function (p0) {
	return _in(0xd1031b83, 0xac093bc7, _ts(p0));
};
global.N_0xd1031b83ac093bc7 = global.SetRegionPhotoTakenStat;

/**
 * SET_RELATIONSHIP_BETWEEN_GROUPS
 */
global.SetRelationshipBetweenGroups = function (relationship, group1, group2) {
	return _in(0xbf25eb89, 0x375a37ad, relationship, _ch(group1), _ch(group2));
};

/**
 * _SET_REMOVE_PED_NETWORKED
 */
global.SetRemovePedNetworked = function (ped, p1) {
	return _in(0x39a2fc5a, 0xf55a52b1, ped, p1);
};
global.N_0x39a2fc5af55a52b1 = global.SetRemovePedNetworked;

/**
 * A setter for [GET_RESOURCE_KVP_STRING](#\_0x5240DA5A).
 * @param key The key to set
 * @param value The value to write
 */
global.SetResourceKvp = function (key, value) {
	return _in(0x00000000, 0x21c7a35b, _ts(key), _ts(value));
};

/**
 * A setter for [GET_RESOURCE_KVP_FLOAT](#\_0x35BDCEEA).
 * @param key The key to set
 * @param value The value to write
 */
global.SetResourceKvpFloat = function (key, value) {
	return _in(0x00000000, 0x9add2938, _ts(key), _fv(value));
};

/**
 * A setter for [GET_RESOURCE_KVP_INT](#\_0x557B586A).
 * @param key The key to set
 * @param value The value to write
 */
global.SetResourceKvpInt = function (key, value) {
	return _in(0x00000000, 0x06a2b1e8, _ts(key), value);
};

/**
 * Sets the player's rich presence detail state for social platform providers to a specified string.
 * @param presenceState The rich presence string to set.
 */
global.SetRichPresence = function (presenceState) {
	return _in(0x00000000, 0x7bdcbd45, _ts(presenceState));
};

/**
 * SET_ROADS_BACK_TO_ORIGINAL
 */
global.SetRoadsBackToOriginal = function (xMin, yMin, zMin, xMax, yMax, zMax, p6, p7) {
	return _in(0x1ee7063b, 0x80ffc77c, _fv(xMin), _fv(yMin), _fv(zMin), _fv(xMax), _fv(yMax), _fv(zMax), p6, p7);
};

/**
 * SET_ROADS_BACK_TO_ORIGINAL_IN_ANGLED_AREA
 */
global.SetRoadsBackToOriginalInAngledArea = function (p0, p1, p2, p3, p4, p5, p6, p7, p8) {
	return _in(0x0027501b, 0x9f3b407e, p0, p1, p2, p3, p4, p5, p6, p7, p8);
};

/**
 * SET_ROADS_IN_ANGLED_AREA
 */
global.SetRoadsInAngledArea = function (p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10) {
	return _in(0x1a5aa120, 0x8af5db59, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10);
};

/**
 * SET_ROADS_IN_AREA
 */
global.SetRoadsInArea = function (xMin, yMin, zMin, xMax, yMax, zMax, p6, p7, p8) {
	return _in(0xbf1a602b, 0x5ba52fee, _fv(xMin), _fv(yMin), _fv(zMin), _fv(xMax), _fv(yMax), _fv(zMax), p6, p7, p8);
};

/**
 * SET_ROADS_IN_VOLUME
 */
global.SetRoadsInVolume = function (volume, p1, p2, p3) {
	return _in(0xc1799faf, 0xd2fdf52b, volume, p1, p2, p3);
};
global.N_0xc1799fafd2fdf52b = global.SetRoadsInVolume;

/**
 * _SET_SCENARIO_ANIMAL_DENSITY_MULTIPLIER_THIS_FRAME
 */
global.SetScenarioAnimalDensityMultiplierThisFrame = function (multiplier) {
	return _in(0xdb48e99f, 0x8e064e56, _fv(multiplier));
};
global.N_0xdb48e99f8e064e56 = global.SetScenarioAnimalDensityMultiplierThisFrame;

/**
 * Opens/closes containers: ChestDugUp
 */
global.SetScenarioContainerOpeningState = function (entity, open) {
	return _in(0x188f8071, 0xf244b9b8, entity, open);
};
global.N_0x188f8071f244b9b8 = global.SetScenarioContainerOpeningState;

/**
 * SET_SCENARIO_GROUP_ENABLED
 */
global.SetScenarioGroupEnabled = function (scenarioGroup, toggle) {
	return _in(0x02c8e5b4, 0x9848664e, _ts(scenarioGroup), toggle);
};

/**
 * _SET_SCENARIO_GROUP_ENABLED_HASH
 */
global.SetScenarioGroupEnabledHash = function (scenarioGroup, toggle) {
	return _in(0x9925eddb, 0x6eab88cd, _ch(scenarioGroup), toggle);
};

/**
 * _SET_SCENARIO_HUMAN_DENSITY_MULTIPLIER_THIS_FRAME
 */
global.SetScenarioHumanDensityMultiplierThisFrame = function (multiplier) {
	return _in(0x28cb6391, 0xacedd9db, _fv(multiplier));
};
global.N_0x28cb6391acedd9db = global.SetScenarioHumanDensityMultiplierThisFrame;

/**
 * SET_SCENARIO_PED_DENSITY_MULTIPLIER_THIS_FRAME
 */
global.SetScenarioPedDensityMultiplierThisFrame = function (multiplier) {
	return _in(0x7a556143, 0xa1c03898, _fv(multiplier));
};

/**
 * Sets the scenario ped density to the given config.
 * Valid configs:
 * - BLACKWATER
 * - DEFAULT
 * - NEWBORDEAUX
 * - RHODES
 * - STRAWBERRY
 * - TUMBLEWEED
 * - VALENTINE
 * - VANHORN
 * See common/data/ai/densityscoringconfigs.meta for more information.
 */
global.SetScenarioPedDensityThisFrame = function (configHash) {
	return _in(0x95423627, 0xa9ca598e, _ch(configHash));
};
global.N_0x95423627a9ca598e = global.SetScenarioPedDensityThisFrame;

/**
 * _SET_SCENARIO_PED_RANGE_MULTIPLIER_THIS_FRAME
 */
global.SetScenarioPedRangeMultiplierThisFrame = function (multiplier) {
	return _in(0xa77fa7be, 0x9312f8c0, _fv(multiplier));
};
global.N_0xa77fa7be9312f8c0 = global.SetScenarioPedRangeMultiplierThisFrame;

/**
 * _SET_SCENARIO_POINT_ACTIVE
 */
global.SetScenarioPointActive = function (scenario, active) {
	return _in(0xeee48293, 0x04f93eee, scenario, active);
};
global.N_0xeee4829304f93eee = global.SetScenarioPointActive;

/**
 * _SET_SCENARIO_POINT_COORDS
 */
global.SetScenarioPointCoords = function (scenario, xPos, yPos, zPos, p4) {
	return _in(0x2056ab38, 0xdf06825c, scenario, _fv(xPos), _fv(yPos), _fv(zPos), p4);
};
global.N_0x2056ab38df06825c = global.SetScenarioPointCoords;

/**
 * flag: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/CScenarioPointFlags__Flags
 */
global.SetScenarioPointFlag = function (scenario, flag, value) {
	return _in(0x5af19b6c, 0xc2115d34, scenario, flag, value);
};
global.N_0x5af19b6cc2115d34 = global.SetScenarioPointFlag;

/**
 * _SET_SCENARIO_POINT_HEADING
 */
global.SetScenarioPointHeading = function (scenario, heading, p2) {
	return _in(0xd3a0da8f, 0x91612c6e, scenario, _fv(heading), p2);
};
global.N_0xd3a0da8f91612c6e = global.SetScenarioPointHeading;

/**
 * _SET_SCENARIO_POINT_RADIUS
 */
global.SetScenarioPointRadius = function (scenario, radius) {
	return _in(0xc47d9080, 0xa9a8856a, scenario, _fv(radius));
};
global.N_0xc47d9080a9a8856a = global.SetScenarioPointRadius;

/**
 * SET_SCENARIO_TYPE_ENABLED
 */
global.SetScenarioTypeEnabled = function (scenarioType, toggle) {
	return _in(0xeb47ec4e, 0x34fb7ee1, _ts(scenarioType), toggle);
};

/**
 * _SET_SCENARIO_TYPE_ENABLED_HASH
 */
global.SetScenarioTypeEnabledHash = function (scenarioType, toggle) {
	return _in(0xd00e50e6, 0x73802d71, _ch(scenarioType), toggle);
};

/**
 * SET_SCENE_STREAMING_TRACKS_CAM_POS_THIS_FRAME
 */
global.SetSceneStreamingTracksCamPosThisFrame = function () {
	return _in(0xa03a6812, 0x529ad9c8);
};
global.N_0xa03a6812529ad9c8 = global.SetSceneStreamingTracksCamPosThisFrame;

/**
 * SET_SCRIPT_AS_NO_LONGER_NEEDED
 */
global.SetScriptAsNoLongerNeeded = function (scriptName) {
	return _in(0x0086d306, 0x7e1cfd1c, _ts(scriptName));
};

/**
 * Sets a flag defining whether or not script draw commands should continue being drawn behind the pause menu. This is usually used for draw commands that are used with a world render target.
 */
global.SetScriptGfxDrawBehindPausemenu = function (toggle) {
	return _in(0x906b86e6, 0xd7896b9e, toggle);
};

/**
 * Sets the draw order for script draw commands.
 */
global.SetScriptGfxDrawOrder = function (drawOrder) {
	return _in(0xcfcc7839, 0x1c8b3814, drawOrder);
};

/**
 * SET_SCRIPT_WITH_NAME_HASH_AS_NO_LONGER_NEEDED
 */
global.SetScriptWithNameHashAsNoLongerNeeded = function (scriptHash) {
	return _in(0x50723a15, 0x67c8361e, _ch(scriptHash));
};

/**
 * SET_SCRIPTED_CAMERA_IS_FIRST_PERSON_THIS_FRAME
 */
global.SetScriptedCameraIsFirstPersonThisFrame = function (p0) {
	return _in(0x1dd95a8d, 0x6b24a0c9, p0);
};
global.N_0x1dd95a8d6b24a0c9 = global.SetScriptedCameraIsFirstPersonThisFrame;

/**
 * nullsub, doesn't do anything
 */
global.SetScriptsHaveCleanedUpForReplaySystem = function () {
	return _in(0x57c65250, 0x34e76eb0);
};
global.N_0x57c6525034e76eb0 = global.SetScriptsHaveCleanedUpForReplaySystem;

/**
 * repeatMode: 0 = REPEAT_NOT; 1 = REPEAT_FOREVER
 */
global.SetSequenceToRepeat = function (taskSequenceId, repeatMode) {
	return _in(0x58c70cf3, 0xa41e4ae7, taskSequenceId, repeatMode);
};

/**
 * _SET_SHOW_INFO_CARD
 */
global.SetShowInfoCard = function (player, showingInfoCard) {
	return _in(0xdc68829b, 0xb3f37023, player, showingInfoCard);
};
global.N_0xdc68829bb3f37023 = global.SetShowInfoCard;

/**
 * SET_SNAKEOIL_FOR_ENTRY
 */
global.SetSnakeoilForEntry = function (name, path, data) {
	return _in(0x00000000, 0xa7dd3209, _ts(name), _ts(path), _ts(data));
};

/**
 * _SET_SNIPER_GLINTS_ENABLED
 */
global.SetSniperGlintsEnabled = function (enabled) {
	return _in(0x6e8eb45a, 0x4f4460eb, enabled);
};
global.N_0x6e8eb45a4f4460eb = global.SetSniperGlintsEnabled;

/**
 * enum class eSnowCoverageType
 * {
 * Primary,
 * Secondary,
 * Xmas,
 * XmasSecondary // since b1232
 * };
 */
global.SetSnowCoverageType = function (type) {
	return _in(0xf02a9c33, 0x0bbfc5c7, type);
};
global.N_0xf02a9c330bbfc5c7 = global.SetSnowCoverageType;

/**
 * _SET_SNOW_LEVEL
 */
global.SetSnowLevel = function (level) {
	return _in(0xf6bee7e8, 0x0ec5ca40, _fv(level));
};
global.N_0xf6bee7e80ec5ca40 = global.SetSnowLevel;

/**
 * _SET_SOCIAL_MATCHMAKING_ALLOWED
 */
global.SetSocialMatchmakingAllowed = function (toggle) {
	return _in(0x777d0571, 0xa466b520, toggle);
};
global.N_0x777d0571a466b520 = global.SetSocialMatchmakingAllowed;

/**
 * p1: Entity.Relationship
 * p2: Player, Enemy, Teammate, Neutral
 */
global.SetSoundRelationshipOnPed = function (ped, p1, p2) {
	return _in(0x2e31aca7, 0x477cf00f, ped, _ts(p1), _ts(p2));
};
global.N_0x2e31aca7477cf00f = global.SetSoundRelationshipOnPed;

/**
 * SET_SPAWNER_INFO_PRIORITY
 */
global.SetSpawnerInfoPriority = function (p0, p1, priority) {
	return _in(0x60cde717, 0xa6d47769, _ch(p0), _ch(p1), priority);
};

/**
 * _SET_SPECIAL_ABILITY_ACTIVATION_COST
 */
global.SetSpecialAbilityActivationCost = function (player, activationCost, p2) {
	return _in(0xae4bcc79, 0xc587ebbf, player, _fv(activationCost), p2);
};
global.N_0xae4bcc79c587ebbf = global.SetSpecialAbilityActivationCost;

/**
 * Only used in R* SP Script short_update
 */
global.SetSpecialAbilityDisableTimer = function (player, timer) {
	return _in(0xc0b1c05b, 0x313693d1, player, _fv(timer));
};
global.N_0xc0b1c05b313693d1 = global.SetSpecialAbilityDisableTimer;

/**
 * durationCost: per second
 */
global.SetSpecialAbilityDurationCost = function (player, durationCost) {
	return _in(0xb783f759, 0x40b23014, player, _fv(durationCost));
};
global.N_0xb783f75940b23014 = global.SetSpecialAbilityDurationCost;

/**
 * _SET_SPECIAL_ABILITY_MULTIPLIER
 */
global.SetSpecialAbilityMultiplier = function (player, multiplier) {
	return _in(0x5a498fca, 0x232f71e1, player, _fv(multiplier));
};
global.N_0x5a498fca232f71e1 = global.SetSpecialAbilityMultiplier;

/**
 * SPECIAL_ABILITY_NONE = -1,
 * SPECIAL_ABILITY_CAR_SLOWDOWN,
 * SPECIAL_ABILITY_RAGE,
 * SPECIAL_ABILITY_BULLET_TIME,
 * SPECIAL_ABILITY_SNAPSHOT,
 * SPECIAL_ABILITY_INSULT,
 * SPECIAL_ABILITY_DEADEYE,
 * SPECIAL_ABILITY_REVIVE
 */
global.SetSpecialAbilityType = function (player, type) {
	return _in(0x00ba333d, 0xa05adc23, player, type);
};
global.N_0x00ba333da05adc23 = global.SetSpecialAbilityType;

/**
 * SET_SPECIES_TUNING_BOOL_PARAM
 */
global.SetSpeciesTuningBoolParam = function (p0, p1, p2, p3) {
	return _in(0x6d1d94c2, 0x459b42ee, _ch(p0), p1, p2, p3);
};

/**
 * SET_SPECIES_TUNING_FLOAT_PARAM
 */
global.SetSpeciesTuningFloatParam = function (p0, p1, p2, p3) {
	return _in(0x963240b6, 0xc252ba49, _ch(p0), p1, p2, _fv(p3));
};

/**
 * SET_SRL_LONG_JUMP_MODE
 */
global.SetSrlLongJumpMode = function (p0) {
	return _in(0x7c907e8a, 0x725e5fd2, p0);
};
global.N_0x7c907e8a725e5fd2 = global.SetSrlLongJumpMode;

/**
 * SET_SRL_READAHEAD_TIMES
 */
global.SetSrlReadaheadTimes = function (p0, p1, p2, p3) {
	return _in(0xd346248c, 0x1dce0d76, p0, p1, p2, p3);
};
global.N_0xd346248c1dce0d76 = global.SetSrlReadaheadTimes;

/**
 * SET_SRL_TIME
 */
global.SetSrlTime = function (p0) {
	return _in(0x18231aef, 0x458bcff2, _fv(p0));
};

/**
 * _SET_STAMINA_DEPLETION_MULTIPLIER
 */
global.SetStaminaDepletionMultiplier = function (ped, multiplier) {
	return _in(0xef5a3d22, 0x85d8924b, ped, multiplier);
};
global.N_0xef5a3d2285d8924b = global.SetStaminaDepletionMultiplier;

/**
 * _SET_STAMINA_RECHARGE_MULTIPLIER
 */
global.SetStaminaRechargeMultiplier = function (ped, multiplier) {
	return _in(0x345c9f99, 0x3a8ab4a4, ped, multiplier);
};
global.N_0x345c9f993a8ab4a4 = global.SetStaminaRechargeMultiplier;

/**
 * Used for DUELING_MANAGE_DEATH_CAMERA - Initializing death camera
 * _SET_P* - _SET_S*
 */
global.SetStartCinematicDeathCam = function (p0) {
	return _in(0x6e969927, 0xcf632608, p0);
};
global.N_0x6e969927cf632608 = global.SetStartCinematicDeathCam;

/**
 * Internal function for setting a state bag value.
 */
global.SetStateBagValue = function (bagName, keyName, valueData, valueLength, replicated) {
	return _in(0x00000000, 0x8d50e33a, _ts(bagName), _ts(keyName), _ts(valueData), valueLength, replicated);
};

/**
 * SET_STATE_OF_RAYFIRE_MAP_OBJECT
 */
global.SetStateOfRayfireMapObject = function (object, state) {
	return _in(0x5c29f698, 0xd404c5e1, object, state);
};

/**
 * _SET_STATE_PHOTO_TAKEN_STAT
 */
global.SetStatePhotoTakenStat = function (p0) {
	return _in(0x8952e857, 0x696b8a79, _ts(p0));
};
global.N_0x8952e857696b8a79 = global.SetStatePhotoTakenStat;

/**
 * SET_STATIC_EMITTER_ENABLED
 */
global.SetStaticEmitterEnabled = function (emitterName, toggle) {
	return _in(0x399d2d3b, 0x33f1b8eb, _ts(emitterName), toggle);
};

/**
 * Displays status effects on core icons (includes warnings).
 * enum eUiRpgStatusEffect
 * {
 * STATUS_NONE,
 * STATUS_COLD,
 * STATUS_HOT,
 * STATUS_OVERFED,
 * STATUS_DIRTY,
 * STATUS_SNAKE_VENOM,
 * STATUS_ARROW_WOUNDED,
 * STATUS_ARROW_DRAINED,
 * STATUS_ARROW_DISORIENTED,
 * STATUS_ARROW_TRACKED,
 * STATUS_ARROW_CONFUSION,
 * STATUS_UNDERWEIGHT,
 * STATUS_OVERWEIGHT,
 * STATUS_SICK_1,
 * STATUS_SICK_2,
 * STATUS_PREDATOR_INVULNERABLE
 * };
 */
global.SetStatusEffectCoreIcon = function (statusEffectType) {
	return _in(0xa4d3a1c0, 0x08f250df, statusEffectType);
};
global.N_0xa4d3a1c008f250df = global.SetStatusEffectCoreIcon;

/**
 * Starts core periodic icon.
 * statusEffectType: see 0xA4D3A1C008F250DF
 */
global.SetStatusEffectPeriodicIcon = function (statusEffectType) {
	return _in(0xfb6e1119, 0x08502871, statusEffectType);
};
global.N_0xfb6e111908502871 = global.SetStatusEffectPeriodicIcon;

/**
 * SET_STREAMED_TEXTURE_DICT_AS_NO_LONGER_NEEDED
 */
global.SetStreamedTextureDictAsNoLongerNeeded = function (textureDict) {
	return _in(0x4aca10a9, 0x1f66f1e2, _ts(textureDict));
};

/**
 * SET_STREAMED_TXD_AS_NO_LONGER_NEEDED
 */
global.SetStreamedTxdAsNoLongerNeeded = function (txdHash) {
	return _in(0x8232f37d, 0xf762acb2, _ch(txdHash));
};
global.N_0x8232f37df762acb2 = global.SetStreamedTxdAsNoLongerNeeded;

/**
 * SET_SUPER_JUMP_THIS_FRAME
 */
global.SetSuperJumpThisFrame = function (player) {
	return _in(0xb3e9be96, 0x3f10c445, player);
};

/**
 * Swim speed multiplier.
 * Multiplier goes up to 1.49f
 */
global.SetSwimMultiplierForPlayer = function (player, multiplier) {
	return _in(0xbfceabde, 0x34da5085, player, _fv(multiplier));
};

/**
 * Size will be permanent
 */
global.SetTankAttributeSize = function (ped, attributeIndex, size) {
	return _in(0x7ff72de0, 0x61df55e2, ped, attributeIndex, _fv(size));
};
global.N_0x7ff72de061df55e2 = global.SetTankAttributeSize;

/**
 * Only used in R* Scripts fishing_core and av_fishing_river
 */
global.SetTaskFishing = function (ped, p1) {
	return _in(0xf3735acd, 0x11acd501, ped, _ii(p1) /* may be optional */, _r, _ri);
};
global.N_0xf3735acd11acd501 = global.SetTaskFishing;

/**
 * SET_TASK_MOVE_NETWORK_SIGNAL_BOOL
 */
global.SetTaskMoveNetworkSignalBool = function (ped, signalName, value) {
	return _in(0xb0a6cfd2, 0xc69c1088, ped, _ts(signalName), value);
};

/**
 * SET_TASK_MOVE_NETWORK_SIGNAL_FLOAT
 */
global.SetTaskMoveNetworkSignalFloat = function (ped, signalName, value) {
	return _in(0xd5bb4025, 0xae449a4e, ped, _ts(signalName), _fv(value));
};

/**
 * _SET_TASK_MOVE_NETWORK_SIGNAL_FLOAT_2
 */
global.SetTaskMoveNetworkSignalFloat_2 = function (ped, signalName, value) {
	return _in(0x099d4a85, 0x5d53b03b, ped, _ts(signalName), _fv(value));
};
global.N_0x099d4a855d53b03b = global.SetTaskMoveNetworkSignalFloat_2;

/**
 * _SET_TASK_MOVE_NETWORK_SIGNAL_VECTOR
 */
global.SetTaskMoveNetworkSignalVector = function (ped, signalName, x, y, z) {
	return _in(0x4662bfe0, 0x1938d98d, ped, _ts(signalName), _fv(x), _fv(y), _fv(z));
};
global.N_0x4662bfe01938d98d = global.SetTaskMoveNetworkSignalVector;

/**
 * SET_TEAM_CARRIABLE_ENTITY
 */
global.SetTeamCarriableEntity = function (p0, p1, p2) {
	return _in(0x545bf19f, 0x86e80f11, p0, p1, p2);
};
global.N_0x545bf19f86e80f11 = global.SetTeamCarriableEntity;

/**
 * SET_TEAM_PICKUP_OBJECT
 */
global.SetTeamPickupObject = function (object, p1, p2) {
	return _in(0x53e0df1a, 0x2a3cf0ca, object, p1, p2);
};

/**
 * SET_TEXT_CENTRE
 */
global.SetTextCentre = function (align) {
	return _in(0xbe526193, 0x9fbecb8c, align);
};

/**
 * SET_TEXT_CHAT_ENABLED
 */
global.SetTextChatEnabled = function (enabled) {
	return _in(0x00000000, 0x97b2f9f8, enabled, _r);
};

/**
 * This native does nothing since build 1436, use _BG_SET_TEXT_COLOR (0x16FA5CE47F184F1E) instead.
 */
global.SetTextColor = function (r, g, b, a) {
	return _in(0x50a41ad9, 0x66910f03, r, g, b, a);
};

/**
 * SET_TEXT_DROPSHADOW
 */
global.SetTextDropshadow = function (distance, r, g, b, a) {
	return _in(0x1be39dba, 0xa7263ca5, distance, r, g, b, a);
};

/**
 * Sets the text font for the current text drawing command.
 * @param fontId The index of the font.
 */
global.SetTextFontForCurrentCommand = function (fontId) {
	return _in(0x00000000, 0xada9255d, fontId);
};

/**
 * SET_TEXT_JUSTIFICATION
 */
global.SetTextJustification = function (justifyType) {
	return _in(0x00000000, 0x68cdfa60, justifyType);
};

/**
 * SET_TEXT_RENDER_ID
 */
global.SetTextRenderId = function (renderId) {
	return _in(0xe550cde1, 0x28d56757, renderId);
};

/**
 * SET_TEXT_SCALE
 */
global.SetTextScale = function (scale, size) {
	return _in(0x4170b650, 0x590b3b00, _fv(scale), _fv(size));
};

/**
 * SET_TEXT_WRAP
 */
global.SetTextWrap = function (start, end) {
	return _in(0x00000000, 0x6f60ab54, _fv(start), _fv(end));
};

/**
 * _SET_TEXTURE_LAYER_ALPHA
 */
global.SetTextureLayerAlpha = function (textureId, layerId, texAlpha) {
	return _in(0x6c76bc24, 0xf8bb709a, textureId, layerId, _fv(texAlpha));
};
global.N_0x6c76bc24f8bb709a = global.SetTextureLayerAlpha;

/**
 * _SET_TEXTURE_LAYER_MOD
 */
global.SetTextureLayerMod = function (textureId, layerId, modTextureHash, modAlpha, modChannel) {
	return _in(0xf2ea041f, 0x1146d75b, textureId, layerId, _ch(modTextureHash), _fv(modAlpha), modChannel);
};
global.N_0xf2ea041f1146d75b = global.SetTextureLayerMod;

/**
 * paletteHash: https://raw.githubusercontent.com/femga/rdr3_discoveries/master/clothes/cloth_color_palletes.lua
 */
global.SetTextureLayerPallete = function (textureId, layerId, paletteHash) {
	return _in(0x1ed85885, 0x24ac9be1, textureId, layerId, _ch(paletteHash));
};
global.N_0x1ed8588524ac9be1 = global.SetTextureLayerPallete;

/**
 * _SET_TEXTURE_LAYER_ROUGHNESS
 */
global.SetTextureLayerRoughness = function (textureId, layerId, texRough) {
	return _in(0x057c4f09, 0x2e2298be, textureId, layerId, _fv(texRough));
};
global.N_0x057c4f092e2298be = global.SetTextureLayerRoughness;

/**
 * _SET_TEXTURE_LAYER_SHEET_GRID_INDEX
 */
global.SetTextureLayerSheetGridIndex = function (textureId, layerId, sheetGridIndex) {
	return _in(0x3329aae2, 0x882fc8e4, textureId, layerId, sheetGridIndex);
};
global.N_0x3329aae2882fc8e4 = global.SetTextureLayerSheetGridIndex;

/**
 * _SET_TEXTURE_LAYER_TEXTURE_MAP
 */
global.SetTextureLayerTextureMap = function (textureId, layerId, albedoHash, normalHash, materialHash) {
	return _in(0x253a63b5, 0xbadbc398, textureId, layerId, _ch(albedoHash), _ch(normalHash), _ch(materialHash));
};
global.N_0x253a63b5badbc398 = global.SetTextureLayerTextureMap;

/**
 * Seem color is not RGB or HSV
 */
global.SetTextureLayerTint = function (textureId, layerId, tint0, tint1, tint2) {
	return _in(0x2df59ffe, 0x6ffd6044, textureId, layerId, tint0, tint1, tint2);
};
global.N_0x2df59ffe6ffd6044 = global.SetTextureLayerTint;

/**
 * Used in script function METAPED_CLOTHING__XML__APPLY_OUTFIT_TINTS_TO_PED
 */
global.SetTextureOutfitTints = function (ped, componentCategory, palette, tint0, tint1, tint2) {
	return _in(0x4efc1f8f, 0xf1ad94de, ped, _ch(componentCategory), _ch(palette), tint0, tint1, tint2);
};
global.N_0x4efc1f8ff1ad94de = global.SetTextureOutfitTints;

/**
 * SET_THIRD_PERSON_CAM_ORBIT_DISTANCE_LIMITS_THIS_UPDATE
 */
global.SetThirdPersonCamOrbitDistanceLimitsThisUpdate = function (p0, distance) {
	return _in(0x2126c740, 0xa4ac370b, _fv(p0), _fv(distance));
};
global.AnimateGameplayCamZoom = global.SetThirdPersonCamOrbitDistanceLimitsThisUpdate;

/**
 * minimum: Degrees between -180f and 180f.
 * maximum: Degrees between -180f and 180f.
 * Clamps the gameplay camera's current yaw.
 * Eg. _CLAMP_GAMEPLAY_CAM_YAW(0.0f, 0.0f) will set the horizontal angle directly behind the player.
 */
global.SetThirdPersonCamRelativeHeadingLimitsThisUpdate = function (minimum, maximum) {
	return _in(0x14f39473, 0x18ca8ad2, _fv(minimum), _fv(maximum));
};
global.ClampGameplayCamYaw = global.SetThirdPersonCamRelativeHeadingLimitsThisUpdate;

/**
 * minimum: Degrees between -90f and 90f.
 * maximum: Degrees between -90f and 90f.
 * Clamps the gameplay camera's current pitch.
 * Eg. _CLAMP_GAMEPLAY_CAM_PITCH(0.0f, 0.0f) will set the vertical angle directly behind the player.
 */
global.SetThirdPersonCamRelativePitchLimitsThisUpdate = function (minimum, maximum) {
	return _in(0x326c7aa3, 0x08f3df6a, _fv(minimum), _fv(maximum));
};
global.ClampGameplayCamPitch = global.SetThirdPersonCamRelativePitchLimitsThisUpdate;

/**
 * SET_THIS_SCRIPT_CAN_BE_PAUSED
 */
global.SetThisScriptCanBePaused = function (toggle) {
	return _in(0x3215376e, 0x79f6ea18, toggle);
};

/**
 * SET_THIS_SCRIPT_CAN_REMOVE_BLIPS_CREATED_BY_ANY_SCRIPT
 */
global.SetThisScriptCanRemoveBlipsCreatedByAnyScript = function (toggle) {
	return _in(0x8abd939c, 0x2e5d00ed, toggle);
};

/**
 * THREAD_PRIO_HIGHEST = 0
 * THREAD_PRIO_NORMAL = 1
 * THREAD_PRIO_LOWEST = 2
 * THREAD_PRIO_MANUAL_UPDATE = 100
 */
global.SetThisThreadPriority = function (priority) {
	return _in(0x42b65dee, 0xf2edf2a1, priority);
};
global.SetThreadPriority = global.SetThisThreadPriority;

/**
 * Maximum value is 1.0f
 * At a value of 0.0f the game will still run at a minimum time scale.
 */
global.SetTimeScale = function (timeScale) {
	return _in(0x9682af60, 0x50854856, _fv(timeScale));
};

/**
 * https://github.com/femga/rdr3_discoveries/blob/master/graphics/timecycles
 */
global.SetTimecycleModifier = function (modifierName) {
	return _in(0xfa08722a, 0x5ea82da7, _ts(modifierName));
};

/**
 * SET_TIMECYCLE_MODIFIER_STRENGTH
 */
global.SetTimecycleModifierStrength = function (strength) {
	return _in(0xfdb74c9c, 0xc54c3f37, _fv(strength));
};

/**
 * SET_TIMECYCLE_MODIFIER_VAR
 * @param modifierName The name of timecycle modifier.
 * @param varName The name of timecycle variable.
 * @param value1 The first value of variable.
 * @param value2 The second value of variable.
 */
global.SetTimecycleModifierVar = function (modifierName, varName, value1, value2) {
	return _in(0x00000000, 0x6e0a422b, _ts(modifierName), _ts(varName), _fv(value1), _fv(value2));
};

/**
 * _SET_W(EAPON?)*
 */
global.SetTotalPedDamageFalloffBonus = function (ped, bonus) {
	return _in(0x932786ce, 0x3c76477c, ped, _fv(bonus));
};
global.N_0x932786ce3c76477c = global.SetTotalPedDamageFalloffBonus;

/**
 * _SET_W(EAPON?)*
 */
global.SetTotalPedDamageFromAi = function (ped, totalDamage) {
	return _in(0x73b6f907, 0xb913c860, ped, _fv(totalDamage));
};
global.N_0x73b6f907b913c860 = global.SetTotalPedDamageFromAi;

/**
 * SET_TRACKED_POINT_INFO
 */
global.SetTrackedPointInfo = function (point, x, y, z, radius) {
	return _in(0xf6fda3d4, 0x404d4f2c, point, _fv(x), _fv(y), _fv(z), _fv(radius));
};

/**
 * SET_TRAIN_CRUISE_SPEED
 */
global.SetTrainCruiseSpeed = function (train, speed) {
	return _in(0x01021eb2, 0xe96b793c, train, _fv(speed));
};

/**
 * _SET_TRAIN_HALT
 */
global.SetTrainHalt = function (train) {
	return _in(0x3660bcab, 0x3a6bb734, train);
};
global.N_0x3660bcab3a6bb734 = global.SetTrainHalt;

/**
 * Restarts the train
 */
global.SetTrainLeaveStation = function (train) {
	return _in(0x787e4347, 0x7746876f, train);
};
global.N_0x787e43477746876f = global.SetTrainLeaveStation;

/**
 * Maximum possible speed is 30.0 (108 km/h)
 */
global.SetTrainMaxSpeed = function (train, speed) {
	return _in(0x9f29999d, 0xfdf2aeb8, train, _fv(speed));
};
global.N_0x9f29999dfdf2aeb8 = global.SetTrainMaxSpeed;

/**
 * SET_TRAIN_OFFSET_FROM_STATION
 */
global.SetTrainOffsetFromStation = function (train, offset) {
	return _in(0x8ec47dd4, 0x300bf063, train, _fv(offset));
};
global.N_0x8ec47dd4300bf063 = global.SetTrainOffsetFromStation;

/**
 * SET_TRAIN_SPEED
 */
global.SetTrainSpeed = function (train, speed) {
	return _in(0xdfba6bbf, 0xf7ccafbb, train, _fv(speed));
};

/**
 * _SET_TRAIN_STOPS_FOR_STATIONS
 */
global.SetTrainStopsForStations = function (train, toggle) {
	return _in(0x4182c037, 0xaa1f0091, train, toggle);
};
global.N_0x4182c037aa1f0091 = global.SetTrainStopsForStations;

/**
 * trainTrack: FREIGHT_GROUP, TRAINS3, BRAITHWAITES2_TRACK_CONFIG, TRAINS_OLD_WEST01, TRAINS_OLD_WEST03, TRAINS_NB1, TRAINS_INTERSECTION1_ANN
 */
global.SetTrainTrackJunctionSwitch = function (trainTrack, junctionIndex, enabled) {
	return _in(0xe6c5e212, 0x5eb210c1, _ch(trainTrack), junctionIndex, enabled);
};
global.N_0xe6c5e2125eb210c1 = global.SetTrainTrackJunctionSwitch;

/**
 * SET_TRANSITION_OUT_OF_TIMECYCLE_MODIFIER
 */
global.SetTransitionOutOfTimecycleModifier = function (strength) {
	return _in(0xbb6c707f, 0x20d955d4, _fv(strength));
};
global.N_0xbb6c707f20d955d4 = global.SetTransitionOutOfTimecycleModifier;

/**
 * SET_TRANSITION_TIMECYCLE_MODIFIER
 */
global.SetTransitionTimecycleModifier = function (modifierName, transitionBlend) {
	return _in(0xff927a09, 0xf481d80c, _ts(modifierName), _fv(transitionBlend));
};

/**
 * SET_TRANSPORT_ACCESSIBLE_SEAT_FLAGS
 */
global.SetTransportAccessibleSeatFlags = function (transportEntity, flags) {
	return _in(0xdd0660c9, 0x97de94fd, transportEntity, flags);
};
global.N_0xdd0660c997de94fd = global.SetTransportAccessibleSeatFlags;

/**
 * flagId:
 * enum eTransportConfigFlags
 * {
 * TCF_NotConsideredForEntryByLocalPlayer,
 * TCF_0xB78D6624,
 * TCF_0xA9700425,
 * TCF_0x8D7E4641,
 * TCF_0xF24BAA1F,
 * TCF_0x63B77935,
 * TCF_NotConsideredForEntryByAllPlayers,
 * TCF_0xD17A2AFD,
 * TCF_0xD4E4FDD5,
 * TCF_0x8227C929,
 * TCF_0x812C1070,
 * TCF_0x0E1AB26F,
 * TCF_0xBF4EC863,
 * TCF_0x75660C36,
 * TCF_0xA2539E20,
 * TCF_0x9162C633,
 * TCF_DisableHonorModifiers,
 * TCF_0xF9E71CB6,
 * TCF_0x933ECD3F,
 * TCF_0x18513A34
 * };
 * https://github.com/femga/rdr3_discoveries/tree/master/AI/TRANSPORT_CONFIG_FLAGS
 */
global.SetTransportConfigFlag = function (transportEntity, flagId, value) {
	return _in(0xba881821, 0x2633500a, transportEntity, flagId, value);
};
global.N_0xba8818212633500a = global.SetTransportConfigFlag;

/**
 * _SET_TRANSPORT_PRIORITY_SEAT
 */
global.SetTransportPrioritySeat = function (transportEntity, seatIndex) {
	return _in(0x13f13822, 0x5c202f66, transportEntity, seatIndex);
};
global.N_0x13f138225c202f66 = global.SetTransportPrioritySeat;

/**
 * enum eTransportUsageFlags
 * {
 * TUF_INVALID = 0,
 * TUF_ALLOW_DRIVER_ME = (1 << 0),
 * TUF_ALLOW_DRIVER_GANG = (1 << 1),
 * TUF_ALLOW_DRIVER_CREW = (1 << 2),
 * TUF_ALLOW_DRIVER_FRIENDS = (1 << 3),
 * TUF_ALLOW_DRIVER_ANYONE = (1 << 4),
 * TUF_ALLOW_PASSENGER_ME = (1 << 5),
 * TUF_ALLOW_PASSENGER_GANG = (1 << 6),
 * TUF_ALLOW_PASSENGER_CREW = (1 << 7),
 * TUF_ALLOW_PASSENGER_FRIENDS = (1 << 8),
 * TUF_ALLOW_PASSENGER_ANYONE = (1 << 9),
 * TUF_ALLOW_ACCESS_AI = (1 << 10)
 * };
 */
global.SetTransportUsageFlags = function (transportEntity, flags) {
	return _in(0xe2487779, 0x957fe897, transportEntity, flags);
};
global.N_0xe2487779957fe897 = global.SetTransportUsageFlags;

/**
 * Probably changes tvs from being a 3d audio to being "global" audio
 */
global.SetTvAudioFrontend = function (toggle) {
	return _in(0x64437c98, 0xfcc5f291, toggle);
};

/**
 * SET_TV_CHANNEL
 */
global.SetTvChannel = function (channel) {
	return _in(0x593faf7f, 0xc9401a56, channel);
};

/**
 * SET_TV_CHANNEL_PLAYLIST
 */
global.SetTvChannelPlaylist = function (tvChannel, playlistName, restart) {
	return _in(0xdec6b25f, 0x5dc8925b, tvChannel, _ts(playlistName), restart);
};

/**
 * SET_TV_VOLUME
 */
global.SetTvVolume = function (volume) {
	return _in(0x73a97068, 0x787d7231, _fv(volume));
};

/**
 * SET_UP_SPEED_RESTRAIN_INFORMATION_FOR_PLAYER_FOLLOWER
 */
global.SetUpSpeedRestrainInformationForPlayerFollower = function (p0, p1, p2, p3, p4, p5, p6, p7, p8) {
	return _in(0xb5c51dd5, 0x44f14f58, p0, p1, p2, p3, p4, p5, p6, p7, p8);
};

/**
 * This native has no functionality.
 */
global.SetUseMissionInventory = function (toggle) {
	return _in(0x597f571d, 0xdee3ffac, toggle);
};
global.N_0x597f571ddee3ffac = global.SetUseMissionInventory;
global.InventoryEnableMissionInventory = global.SetUseMissionInventory;

/**
 * _SET_USED_ITEM_EFFECT
 */
global.SetUsedItemEffect = function (health, stamina, deadeye, healthCore, staminaCore, deadeyeCore) {
	return _in(0x0e1db1f8, 0xf5b561dc, _fv(health), _fv(stamina), _fv(deadeye), healthCore, staminaCore, deadeyeCore);
};
global.N_0x0e1db1f8f5b561dc = global.SetUsedItemEffect;

/**
 * _SET_VARIABLE_ON_SOUND_WITH_ID
 */
global.SetVariableOnSoundWithId = function (soundId, variableName, variableValue) {
	return _in(0x503703ec, 0x1781b7d6, soundId, _ts(variableName), _fv(variableValue));
};
global.N_0x503703ec1781b7d6 = global.SetVariableOnSoundWithId;

/**
 * _SET_VARIABLE_ON_SOUND_WITH_NAME
 */
global.SetVariableOnSoundWithName = function (variableName, variableValue, audioName, audioRef) {
	return _in(0x9821b68c, 0xd3e05f2b, _ts(variableName), _fv(variableValue), _ts(audioName), _ts(audioRef));
};
global.N_0x9821b68cd3e05f2b = global.SetVariableOnSoundWithName;

/**
 * Used to be incorrectly named SET_VEHICLE_EXCLUSIVE_DRIVER
 */
global.SetVehicleAiCanUseExclusiveSeats = function (vehicle, toggle) {
	return _in(0x0893dafb, 0xfa67110e, vehicle, toggle);
};

/**
 * SET_VEHICLE_ALLOW_HOMING_MISSLE_LOCKON
 */
global.SetVehicleAllowHomingMissleLockon = function (vehicle, toggle) {
	return _in(0x1240e859, 0x6a8308b9, vehicle, toggle);
};
global.N_0x1240e8596a8308b9 = global.SetVehicleAllowHomingMissleLockon;

/**
 * Makes the vehicle accept no passengers.
 */
global.SetVehicleAllowNoPassengersLockon = function (vehicle, toggle) {
	return _in(0xecb9e9bc, 0x887e8060, vehicle, toggle);
};

/**
 * This is an alias of SET_ENTITY_AS_NO_LONGER_NEEDED.
 */
global.SetVehicleAsNoLongerNeeded = function (vehicle) {
	return _in(0x629bfa74, 0x418d6239, _ii(vehicle) /* may be optional */);
};

/**
 * SET_VEHICLE_AUTOMATICALLY_ATTACHES
 */
global.SetVehicleAutomaticallyAttaches = function (vehicle, p1, p2) {
	return _in(0x50135495, 0x1cd942de, vehicle, p1, p2, _r, _ri);
};

/**
 * SET_VEHICLE_BODY_HEALTH
 */
global.SetVehicleBodyHealth = function (vehicle, value) {
	return _in(0x55ccaae4, 0xf28c67a0, vehicle, _fv(value));
};

/**
 * SET_VEHICLE_BROKEN_PARTS_DONT_AFFECT_AI_HANDLING
 */
global.SetVehicleBrokenPartsDontAffectAiHandling = function (vehicle, p1) {
	return _in(0xcec4ca2c, 0xab8fa98c, vehicle, p1);
};
global.N_0xcec4ca2cab8fa98c = global.SetVehicleBrokenPartsDontAffectAiHandling;

/**
 * SET_VEHICLE_CAN_BE_TARGETTED
 */
global.SetVehicleCanBeTargetted = function (vehicle, state) {
	return _in(0x05254ba0, 0xb44adc16, vehicle, state);
};

/**
 * SET_VEHICLE_CAN_BE_USED_BY_FLEEING_PEDS
 */
global.SetVehicleCanBeUsedByFleeingPeds = function (vehicle, toggle) {
	return _in(0xe4295251, 0x0f84afdb, vehicle, toggle);
};

/**
 * SET_VEHICLE_CAN_BE_VISIBLY_DAMAGED
 */
global.SetVehicleCanBeVisiblyDamaged = function (vehicle, state) {
	return _in(0x4bf8131a, 0xe811541c, vehicle, state);
};

/**
 * SET_VEHICLE_CAN_BREAK
 */
global.SetVehicleCanBreak = function (vehicle, toggle) {
	return _in(0xc5ed9d59, 0xb4646611, vehicle, toggle);
};

/**
 * SET_VEHICLE_CAN_EJECT_PASSENGERS_IF_LOCKED
 */
global.SetVehicleCanEjectPassengersIfLocked = function (vehicle, p1) {
	return _in(0x065d03a9, 0xd6b2c6b5, vehicle, p1);
};
global.N_0x065d03a9d6b2c6b5 = global.SetVehicleCanEjectPassengersIfLocked;

/**
 * SET_VEHICLE_CURRENT_GEAR
 * @param vehicle The vehicle handle.
 * @param gear The gear you want the vehicle to use.
 */
global.SetVehicleCurrentGear = function (vehicle, gear) {
	return _in(0x00000000, 0x8923dd42, vehicle, gear);
};

/**
 * Apply damage to vehicle at a location. Location is relative to vehicle model (not world).
 * Radius of effect damage applied in a sphere at impact location
 */
global.SetVehicleDamage = function (vehicle, xOffset, yOffset, zOffset, damage, radius, p6) {
	return _in(0x1d7678f8, 0x1452bb41, vehicle, _fv(xOffset), _fv(yOffset), _fv(zOffset), _fv(damage), _fv(radius), p6);
};

/**
 * SET_VEHICLE_DENSITY_MULTIPLIER_THIS_FRAME
 */
global.SetVehicleDensityMultiplierThisFrame = function (multiplier) {
	return _in(0x606374eb, 0xfc27b133, _fv(multiplier));
};

/**
 * _SET_VEHICLE_DETERIORATION
 */
global.SetVehicleDeterioration = function (vehicle, amount, p2, p3) {
	return _in(0x8e5da070, 0xbad3279e, vehicle, _fv(amount), p2, p3);
};
global.N_0x8e5da070bad3279e = global.SetVehicleDeterioration;

/**
 * SET_VEHICLE_DIRT_LEVEL
 */
global.SetVehicleDirtLevel = function (vehicle, dirtLevel) {
	return _in(0x758c3460, 0xee915d0a, vehicle, _fv(dirtLevel));
};

/**
 * dirtLevel: 0.0 - 1.0
 */
global.SetVehicleDirtLevel_2 = function (vehicle, dirtLevel) {
	return _in(0xbae0eedf, 0x93f05eaa, vehicle, _fv(dirtLevel));
};
global.N_0xbae0eedf93f05eaa = global.SetVehicleDirtLevel_2;

/**
 * doorId: see SET_VEHICLE_DOOR_SHUT
 */
global.SetVehicleDoorBroken = function (vehicle, doorId, deleteDoor) {
	return _in(0x9666cf20, 0xa1c6d780, vehicle, doorId, deleteDoor);
};

/**
 * doorId: see SET_VEHICLE_DOOR_SHUT
 */
global.SetVehicleDoorControl = function (vehicle, doorId, speed, angle) {
	return _in(0xd57f10eb, 0xba814ecf, vehicle, doorId, speed, _fv(angle));
};

/**
 * doorId: see SET_VEHICLE_DOOR_SHUT
 */
global.SetVehicleDoorLatched = function (vehicle, doorId, p2, p3, p4) {
	return _in(0x06f8a202, 0xeb312a3c, vehicle, doorId, p2, p3, p4);
};

/**
 * doorId: see SET_VEHICLE_DOOR_SHUT
 * Can also be used on trains and its wagons
 */
global.SetVehicleDoorOpen = function (vehicle, doorId, loose, openInstantly) {
	return _in(0x550ce392, 0xa4672412, vehicle, doorId, loose, openInstantly);
};

/**
 * doorId: enum eDoorId
 * {
 * VEH_EXT_DOOR_INVALID_ID = -1,
 * VEH_EXT_DOOR_DSIDE_F,
 * VEH_EXT_DOOR_DSIDE_M,
 * VEH_EXT_DOOR_DSIDE_M1,
 * VEH_EXT_DOOR_DSIDE_M2,
 * VEH_EXT_DOOR_DSIDE_R,
 * VEH_EXT_DOOR_PSIDE_F,
 * VEH_EXT_DOOR_PSIDE_M,
 * VEH_EXT_DOOR_PSIDE_M1,
 * VEH_EXT_DOOR_PSIDE_M2,
 * VEH_EXT_DOOR_PSIDE_R,
 * VEH_EXT_BONNET,
 * VEH_EXT_BOOT
 * };
 */
global.SetVehicleDoorShut = function (vehicle, doorId, closeInstantly) {
	return _in(0x6a3c24b9, 0x1fd0ea09, vehicle, doorId, closeInstantly);
};

/**
 * SET_VEHICLE_DOORS_LOCKED
 */
global.SetVehicleDoorsLocked = function (vehicle, doorLockStatus) {
	return _in(0x96f78a6a, 0x075d55d9, vehicle, doorLockStatus);
};

/**
 * SET_VEHICLE_DOORS_LOCKED_FOR_ALL_PLAYERS
 */
global.SetVehicleDoorsLockedForAllPlayers = function (vehicle, toggle) {
	return _in(0x2381977d, 0xa948f8dc, vehicle, toggle);
};

/**
 * SET_VEHICLE_DOORS_LOCKED_FOR_PLAYER
 */
global.SetVehicleDoorsLockedForPlayer = function (vehicle, player, toggle) {
	return _in(0x359a8ea1, 0xfb8d6f0f, vehicle, player, toggle);
};

/**
 * SET_VEHICLE_DOORS_LOCKED_FOR_TEAM
 */
global.SetVehicleDoorsLockedForTeam = function (vehicle, team, toggle) {
	return _in(0xe712bc97, 0x8770f105, vehicle, team, toggle);
};

/**
 * Closes all doors of a vehicle:
 */
global.SetVehicleDoorsShut = function (vehicle, closeInstantly) {
	return _in(0xa4ffcd64, 0x5b11f25a, vehicle, closeInstantly);
};

/**
 * NativeDB Introduced: v1232
 */
global.SetVehicleDoorsToOpenAtAnyDistance = function (vehicle, toggle) {
	return _in(0x362cedd2, 0xa41e0747, vehicle, toggle);
};

/**
 * SET_VEHICLE_ENGINE_CAN_DEGRADE
 */
global.SetVehicleEngineCanDegrade = function (vehicle, toggle) {
	return _in(0x48e4c137, 0xa71c2688, vehicle, toggle);
};

/**
 * 1000 is max health
 * Begins leaking gas at around 650 health
 * -999.90002441406 appears to be minimum health, although nothing special occurs <- false statement
 * -------------------------
 * Minimum: -4000
 * Maximum: 1000
 * -4000: Engine is destroyed
 * 0 and below: Engine catches fire and health rapidly declines
 * 300: Engine is smoking and losing functionality
 * 1000: Engine is perfect
 */
global.SetVehicleEngineHealth = function (vehicle, health) {
	return _in(0x8bdc5b99, 0x8b4654ef, vehicle, _fv(health));
};

/**
 * Starts or stops the engine on the specified vehicle.
 * vehicle: The vehicle to start or stop the engine on.
 * value: true to turn the vehicle on; false to turn it off.
 * instantly: if true, the vehicle will be set to the state immediately; otherwise, the current driver will physically turn on or off the engine.
 */
global.SetVehicleEngineOn = function (vehicle, value, instantly) {
	return _in(0xb64cfa14, 0xcb9a2e78, vehicle, value, instantly);
};

/**
 * index: 0 - 1
 * Used to be incorrectly named _SET_VEHICLE_EXCLUSIVE_DRIVER_2
 */
global.SetVehicleExclusiveDriver = function (vehicle, ped, index) {
	return _in(0xc6b9bf12, 0x3b9463b6, vehicle, ped, index);
};
global.SetVehicleExclusiveDriver_2 = global.SetVehicleExclusiveDriver;

/**
 * Sets a vehicle to be strongly resistant to explosions. p0 is the vehicle; set p1 to false to toggle the effect on/off.
 */
global.SetVehicleExplodesOnHighExplosionDamage = function (vehicle, toggle) {
	return _in(0xa402939c, 0x6761e1a3, vehicle, toggle);
};

/**
 * Note: only some vehicle have extras
 * https://github.com/femga/rdr3_discoveries/blob/master/vehicles/vehicle_modding/vehicle_extras.lua
 */
global.SetVehicleExtra = function (vehicle, extraId, disable) {
	return _in(0xbb6f8915, 0x0bc9d16b, vehicle, extraId, disable);
};

/**
 * This fixes a vehicle.
 * If the vehicle's engine's broken then you cannot fix it with this native.
 */
global.SetVehicleFixed = function (vehicle) {
	return _in(0x79811282, 0xa9d1ae56, vehicle);
};

/**
 * SET_VEHICLE_FORWARD_SPEED
 */
global.SetVehicleForwardSpeed = function (vehicle, speed) {
	return _in(0xf9f92af4, 0x9f12f6e7, vehicle, _fv(speed));
};

/**
 * SET_VEHICLE_HANDBRAKE
 */
global.SetVehicleHandbrake = function (vehicle, toggle) {
	return _in(0x91be51ae, 0xc4e99710, vehicle, toggle);
};

/**
 * SET_VEHICLE_HAS_BEEN_OWNED_BY_PLAYER
 */
global.SetVehicleHasBeenOwnedByPlayer = function (vehicle, owned) {
	return _in(0xbb5a3fa8, 0xed3979c5, vehicle, owned);
};

/**
 * if true, axles won't bend.
 */
global.SetVehicleHasStrongAxles = function (vehicle, toggle) {
	return _in(0x252253c8, 0xa45aa1fc, vehicle, toggle);
};

/**
 * SET_VEHICLE_HAS_UNBREAKABLE_LIGHTS
 */
global.SetVehicleHasUnbreakableLights = function (vehicle, p1) {
	return _in(0xc903855e, 0x028a05f2, vehicle, p1);
};
global.SetVehicleLightsCanBeVisiblyDamaged = global.SetVehicleHasUnbreakableLights;

/**
 * SET_VEHICLE_INACTIVE_DURING_PLAYBACK
 */
global.SetVehicleInactiveDuringPlayback = function (vehicle, toggle) {
	return _in(0x4ea71b4c, 0x9db3c3f1, vehicle, toggle);
};

/**
 * doorId: see SET_VEHICLE_DOOR_SHUT
 */
global.SetVehicleIndividualDoorsLocked = function (vehicle, doorId, doorLockStatus) {
	return _in(0xa9f1d751, 0x95cc40f6, vehicle, doorId, doorLockStatus);
};
global.SetVehicleDoorDestroyType = global.SetVehicleIndividualDoorsLocked;

/**
 * SET_VEHICLE_INFLUENCES_WANTED_LEVEL
 */
global.SetVehicleInfluencesWantedLevel = function (vehicle, toggle) {
	return _in(0xc1842f40, 0xfd501da2, vehicle, toggle);
};
global.N_0xc1842f40fd501da2 = global.SetVehicleInfluencesWantedLevel;

/**
 * Setting this to false, makes the specified vehicle to where if you press Y your character doesn't even attempt the animation to enter the vehicle. Hence it's not considered aka ignored.
 */
global.SetVehicleIsConsideredByPlayer = function (vehicle, toggle) {
	return _in(0x54800d38, 0x6c5825e5, vehicle, toggle);
};

/**
 * _SET_VEHICLE_IS_IN_HURRY
 */
global.SetVehicleIsInHurry = function (vehicle, enabled) {
	return _in(0xce153192, 0x7ad6c9f8, vehicle, enabled);
};
global.N_0xce1531927ad6c9f8 = global.SetVehicleIsInHurry;

/**
 * SET_VEHICLE_IS_STOLEN
 */
global.SetVehicleIsStolen = function (vehicle, isStolen) {
	return _in(0x6c32fc81, 0xdff25c9a, vehicle, isStolen);
};

/**
 * SET_VEHICLE_KEEP_ENGINE_ON_WHEN_ABANDONED
 */
global.SetVehicleKeepEngineOnWhenAbandoned = function (vehicle, toggle) {
	return _in(0x1549ba7f, 0xe83a2383, vehicle, toggle);
};
global.SetVehicleJetEngineOn = global.SetVehicleKeepEngineOnWhenAbandoned;

/**
 * Sets the vehicle's lights state.
 */
global.SetVehicleLights = function (vehicle, state) {
	return _in(0x629f0a0e, 0x952cae7d, vehicle, state);
};

/**
 * _SET_VEHICLE_LI*
 */
global.SetVehicleLimitSpeedWhenPlayerInactive = function (vehicle, p1) {
	return _in(0x8f75941c, 0x86eebfca, vehicle, p1);
};
global.N_0x8f75941c86eebfca = global.SetVehicleLimitSpeedWhenPlayerInactive;

/**
 * https://github.com/femga/rdr3_discoveries/blob/master/vehicles/vehicle_modding/vehicle_liveries.lua
 */
global.SetVehicleLivery = function (vehicle, liveryIndex) {
	return _in(0xf89d82a0, 0x582e46ed, vehicle, liveryIndex);
};
global.N_0xf89d82a0582e46ed = global.SetVehicleLivery;

/**
 * Ranges from -1 to 2? (internal type is int8)
 * https://imgur.com/a/bPzHcft
 */
global.SetVehicleLodLevel = function (vehicle, lodLevel) {
	return _in(0x3fa7d7d1, 0xe0ea809e, vehicle, lodLevel);
};
global.N_0x3fa7d7d1e0ea809e = global.SetVehicleLodLevel;

/**
 * SET_VEHICLE_LOD_MULTIPLIER
 */
global.SetVehicleLodMultiplier = function (vehicle, multiplier) {
	return _in(0x5f5e2b1b, 0x9eaecc0f, vehicle, _fv(multiplier));
};

/**
 * SET_VEHICLE_MAY_BE_USED_BY_GOTO_POINT_ANY_MEANS
 */
global.SetVehicleMayBeUsedByGotoPointAnyMeans = function (vehicle, p1) {
	return _in(0x7549b9e8, 0x41940695, vehicle, p1);
};
global.N_0x7549b9e841940695 = global.SetVehicleMayBeUsedByGotoPointAnyMeans;

/**
 * mudLevel: 0.0 - 1.0
 */
global.SetVehicleMudLevel = function (vehicle, mudLevel) {
	return _in(0x4d15e497, 0x64cb328a, vehicle, _fv(mudLevel));
};
global.N_0x4d15e49764cb328a = global.SetVehicleMudLevel;

/**
 * SET_VEHICLE_NEXT_GEAR
 * @param vehicle The vehicle handle.
 * @param nextGear The vehicles next gear.
 */
global.SetVehicleNextGear = function (vehicle, nextGear) {
	return _in(0x00000000, 0x3a4566f4, vehicle, nextGear);
};

/**
 * SET_VEHICLE_NOT_STEALABLE_AMBIENTLY
 */
global.SetVehicleNotStealableAmbiently = function (vehicle, p1) {
	return _in(0x09c970ae, 0x59abf6b2, vehicle, p1);
};
global.N_0x09c970ae59abf6b2 = global.SetVehicleNotStealableAmbiently;

/**
 * SET_VEHICLE_ON_GROUND_PROPERLY
 */
global.SetVehicleOnGroundProperly = function (vehicle, p1) {
	return _in(0x72633325, 0x01e07f52, vehicle, p1, _r);
};

/**
 * 1000 is max health
 */
global.SetVehiclePetrolTankHealth = function (vehicle, health) {
	return _in(0x6ab2918e, 0xe3bec94c, vehicle, _fv(health));
};

/**
 * SET_VEHICLE_PROVIDES_COVER
 */
global.SetVehicleProvidesCover = function (vehicle, toggle) {
	return _in(0x65271247, 0x8f1721f4, vehicle, toggle);
};

/**
 * SET_VEHICLE_RESPECTS_LOCKS_WHEN_HAS_DRIVER
 */
global.SetVehicleRespectsLocksWhenHasDriver = function (vehicle, p1) {
	return _in(0x33992a80, 0x8df1c1ba, vehicle, p1);
};
global.N_0x33992a808df1c1ba = global.SetVehicleRespectsLocksWhenHasDriver;

/**
 * SET_VEHICLE_SHOOT_AT_TARGET
 */
global.SetVehicleShootAtTarget = function (p0, p1, p2, p3, p4, p5) {
	return _in(0xb79be78c, 0x665b3e6d, p0, p1, p2, p3, p4, p5);
};

/**
 * snowLevel: 0.0 - 1.0
 */
global.SetVehicleSnowLevel = function (vehicle, snowLevel) {
	return _in(0x6f73efab, 0x11651d7f, vehicle, _fv(snowLevel));
};
global.N_0x6f73efab11651d7f = global.SetVehicleSnowLevel;

/**
 * SET_VEHICLE_STAYS_FROZEN_WHEN_CLEANED_UP
 */
global.SetVehicleStaysFrozenWhenCleanedUp = function (vehicle, toggle) {
	return _in(0x23a3ab86, 0xe0807721, vehicle, toggle);
};
global.N_0x23a3ab86e0807721 = global.SetVehicleStaysFrozenWhenCleanedUp;

/**
 * Locks the vehicle's steering to the desired angle, explained below.
 * Requires to be called onTick. Steering is unlocked the moment the function stops being called on the vehicle.
 * Steer bias:
 * -1.0 = full right
 * 0.0 = centered steering
 * 1.0 = full left
 */
global.SetVehicleSteerBias = function (vehicle, value) {
	return _in(0x84daae11, 0xe9ee4fc3, vehicle, _fv(value));
};

/**
 * SET_VEHICLE_STOP_INSTANTLY_WHEN_PLAYER_INACTIVE
 */
global.SetVehicleStopInstantlyWhenPlayerInactive = function (vehicle, p1) {
	return _in(0xc84e1384, 0x48507567, vehicle, p1);
};
global.N_0xc84e138448507567 = global.SetVehicleStopInstantlyWhenPlayerInactive;

/**
 * If set to true, vehicle will not take crash damage, but is still susceptible to damage from bullets and explosives
 */
global.SetVehicleStrong = function (vehicle, toggle) {
	return _in(0xab315515, 0xc9f8803d, vehicle, toggle);
};

/**
 * https://github.com/femga/rdr3_discoveries/blob/master/vehicles/vehicle_modding/vehicle_tints.lua
 */
global.SetVehicleTint = function (vehicle, tintId) {
	return _in(0x8268b098, 0xf6fca4e2, vehicle, tintId);
};
global.N_0x8268b098f6fca4e2 = global.SetVehicleTint;

/**
 * Allows you to toggle bulletproof tires.
 */
global.SetVehicleTyresCanBurst = function (vehicle, toggle) {
	return _in(0xebd0a4e9, 0x35106fe5, vehicle, toggle);
};

/**
 * SET_VEHICLE_UNDRIVEABLE
 */
global.SetVehicleUndriveable = function (vehicle, toggle) {
	return _in(0x6e884bab, 0x713a2a94, vehicle, toggle);
};

/**
 * SET_VEHICLE_WEAPON_HEADING
 */
global.SetVehicleWeaponHeading = function (vehicle, seatIndex, heading, p3) {
	return _in(0x194d877f, 0xc5597b7d, vehicle, seatIndex, _fv(heading), p3);
};
global.N_0x194d877fc5597b7d = global.SetVehicleWeaponHeading;

/**
 * _SET_VEHICLE_WEAPON_HEADING_LIMITS
 */
global.SetVehicleWeaponHeadingLimits = function (vehicle, p1, minHeading, maxHeading) {
	return _in(0x56cb3b43, 0x05a4f7ce, vehicle, p1, _fv(minHeading), _fv(maxHeading));
};
global.N_0x56cb3b4305a4f7ce = global.SetVehicleWeaponHeadingLimits;

/**
 * _SET_VEHICLE_WEAPON_HEADING_LIMITS_2
 */
global.SetVehicleWeaponHeadingLimits_2 = function (vehicle, p1, minHeading, maxHeading) {
	return _in(0xbf5987e1, 0xcde63501, vehicle, p1, _fv(minHeading), _fv(maxHeading), _r, _ri);
};
global.N_0xbf5987e1cde63501 = global.SetVehicleWeaponHeadingLimits_2;

/**
 * wetLevel: 0.0 - 1.0
 */
global.SetVehicleWetLevel = function (vehicle, wetLevel) {
	return _in(0x5aabb09f, 0x6fbd1f87, vehicle, _fv(wetLevel));
};
global.N_0x5aabb09f6fbd1f87 = global.SetVehicleWetLevel;

/**
 * SET_VEHICLE_WHEELS_CAN_BREAK
 */
global.SetVehicleWheelsCanBreak = function (vehicle, enabled) {
	return _in(0x839137c4, 0x0275fb77, vehicle, enabled);
};

/**
 * SET_VEHICLE_WHEELS_CAN_BREAK_OFF_WHEN_BLOW_UP
 */
global.SetVehicleWheelsCanBreakOffWhenBlowUp = function (vehicle, toggle) {
	return _in(0xc462c793, 0x79abbcb1, vehicle, toggle);
};

/**
 * Overrides a floating point value from `visualsettings.dat` temporarily.
 * @param name The name of the value to set, such as `pedLight.color.red`.
 * @param value The value to write.
 */
global.SetVisualSettingFloat = function (name, value) {
	return _in(0x00000000, 0xd1d31681, _ts(name), _fv(value));
};

/**
 * Hashes: VOFX_PLAYER_MALE01, VOFX_PLAYER_MALE02, VOFX_PLAYER_MALE03, VOFX_PLAYER_FEMALE01, VOFX_PLAYER_FEMALE02, VOFX_PLAYER_FEMALE03
 */
global.SetVofxPedVoice = function (ped, voice) {
	return _in(0x2703efb5, 0x83f0949a, ped, _ch(voice));
};
global.N_0x2703efb583f0949a = global.SetVofxPedVoice;

/**
 * SET_VOLUME_COORDS
 */
global.SetVolumeCoords = function (volume, posX, posY, posZ) {
	return _in(0x541b8576, 0x615c33de, volume, _fv(posX), _fv(posY), _fv(posZ), _r, _ri);
};
global.N_0x541b8576615c33de = global.SetVolumeCoords;

/**
 * SET_VOLUME_OWNER_PERSISTENT_CHARACTER
 */
global.SetVolumeOwnerPersistentCharacter = function (volume, persChar, p2) {
	return _in(0xe2be6ffa, 0x4a13cbb0, volume, persChar, p2);
};
global.N_0xe2be6ffa4a13cbb0 = global.SetVolumeOwnerPersistentCharacter;

/**
 * _SET_VOLUME_RELATIONSHIP
 */
global.SetVolumeRelationship = function (volume, relationshipGroup) {
	return _in(0xfd010a21, 0x54b40676, volume, _ch(relationshipGroup));
};
global.N_0xfd010a2154b40676 = global.SetVolumeRelationship;

/**
 * SET_VOLUME_ROTATION
 */
global.SetVolumeRotation = function (volume, rotX, rotY, rotZ) {
	return _in(0xa07cf1b2, 0x1b56f041, volume, _fv(rotX), _fv(rotY), _fv(rotZ), _r, _ri);
};
global.N_0xa07cf1b21b56f041 = global.SetVolumeRotation;

/**
 * SET_VOLUME_SCALE
 */
global.SetVolumeScale = function (volume, scaleX, scaleY, scaleZ) {
	return _in(0xa46e98bd, 0xc407e23d, volume, _fv(scaleX), _fv(scaleY), _fv(scaleZ), _r, _ri);
};
global.N_0xa46e98bdc407e23d = global.SetVolumeScale;

/**
 * SET_WANTED_LEVEL_MULTIPLIER
 */
global.SetWantedLevelMultiplier = function (multiplier) {
	return _in(0xd7fa719c, 0xb54866c2, _fv(multiplier));
};

/**
 * SET_WANTED_SCORE
 */
global.SetWantedScore = function (player, intensity) {
	return _in(0xa80ff73f, 0x772acf6a, player, intensity);
};
global.N_0xa80ff73f772acf6a = global.SetWantedScore;

/**
 * SET_WAYPOINT_OFF
 */
global.SetWaypointOff = function () {
	return _in(0xfa8c41e8, 0x020d3439);
};

/**
 * Related to weapon visual damage, not actual damage.
 */
global.SetWeaponDamage = function (weaponObject, level, p2) {
	return _in(0xe2206012, 0x1602493b, weaponObject, _fv(level), p2);
};
global.N_0xe22060121602493b = global.SetWeaponDamage;

/**
 * _SET_WEAPON_DEGRADATION
 */
global.SetWeaponDegradation = function (weaponObject, level) {
	return _in(0xa7a57e89, 0xe965d839, weaponObject, _fv(level));
};
global.N_0xa7a57e89e965d839 = global.SetWeaponDegradation;

/**
 * _SET_WEAPON_DEGRADATION_MODIFIER
 */
global.SetWeaponDegradationModifier = function (player, modifier) {
	return _in(0x11a7ff91, 0x8ef6bc66, player, _fv(modifier));
};
global.N_0x11a7ff918ef6bc66 = global.SetWeaponDegradationModifier;

/**
 * _SET_WEAPON_DIRT
 */
global.SetWeaponDirt = function (weaponObject, level, p2) {
	return _in(0x812ce61d, 0xebcab948, weaponObject, _fv(level), p2);
};
global.N_0x812ce61debcab948 = global.SetWeaponDirt;

/**
 * every other level will have the max value of (brokeLevel - threshold)
 */
global.SetWeaponLevelThreshold = function (weaponObject, threshold) {
	return _in(0xd4071efc, 0x83794b2f, weaponObject, _fv(threshold));
};
global.N_0xd4071efc83794b2f = global.SetWeaponLevelThreshold;

/**
 * _SET_WEAPON_SCALE
 */
global.SetWeaponScale = function (weaponObject, scale) {
	return _in(0xc3544ad0, 0x522e69b4, weaponObject, _fv(scale));
};
global.N_0xc3544ad0522e69b4 = global.SetWeaponScale;

/**
 * _SET_WEAPON_SOOT
 */
global.SetWeaponSoot = function (weaponObject, level, p2) {
	return _in(0xa9ef4ad1, 0x0bdddb57, weaponObject, _fv(level), p2);
};
global.N_0xa9ef4ad10bdddb57 = global.SetWeaponSoot;

/**
 * SET_WEATHER_CYCLE_ENTRY
 * @param index The index of the entry to set. Must be between 0 and 255
 * @param typeName The name of the weather type for this cycle
 * @param timeMult The relative duration of this cycle, which is multiplied by `msPerCycle` during ['APPLY_WEATHER_CYCLES'](#\_0x3422291c). Must be between 1 and 255
 * @return Returns true if all parameters were valid, otherwise false.
 */
global.SetWeatherCycleEntry = function (index, typeName, timeMult) {
	return _in(0x00000000, 0xd264d4e1, index, _ts(typeName), timeMult, _r);
};

/**
 * Sets whether or not the weather should be owned by the network subsystem.
 * To be able to use [\_SET_WEATHER_TYPE_TRANSITION](#\_0x578C752848ECFA0C), this has to be set to false.
 * @param network true to let the network control weather, false to not use network weather behavior.
 */
global.SetWeatherOwnedByNetwork = function (network) {
	return _in(0x00000000, 0x2703d582, network);
};

/**
 * https://github.com/femga/rdr3_discoveries/blob/master/weather/weather_types.lua
 */
global.SetWeatherType = function (weatherType, p1, p2, transition, transitionTime, p5) {
	return _in(0x59174f1a, 0xfe095b5a, _ch(weatherType), p1, p2, transition, _fv(transitionTime), p5);
};
global.N_0x59174f1afe095b5a = global.SetWeatherType;

/**
 * _SET_WEATHER_TYPE_FROZEN
 */
global.SetWeatherTypeFrozen = function (toggle) {
	return _in(0xd74acdf7, 0xdb8114af, toggle);
};
global.N_0xd74acdf7db8114af = global.SetWeatherTypeFrozen;

/**
 * _SET_WEATHER_TYPE_2
 */
global.SetWeatherType_2 = function (weatherType, p1, p2, p3, p4) {
	return _in(0x2c6a07af, 0x9aedabd8, _ch(weatherType), p1, p2, p3, p4);
};
global.N_0x2c6a07af9aedabd8 = global.SetWeatherType_2;

/**
 * https://github.com/femga/rdr3_discoveries/blob/master/weather/weather_variations.lua
 */
global.SetWeatherVariation = function (weatherType, variation) {
	return _in(0x3373779b, 0xaf7caf48, _ts(weatherType), _ts(variation));
};
global.N_0x3373779baf7caf48 = global.SetWeatherVariation;

/**
 * whistleConfig: Ped.WhistlePitch (0.0 - 1.0), Ped.WhistleClarity (0.0 - 1.0), Ped.WhistleShape (0.0 - 10.0)
 */
global.SetWhistleConfigForPed = function (ped, whistleConfig, value) {
	return _in(0x9963681a, 0x8bc69bf3, ped, _ts(whistleConfig), _fv(value));
};
global.N_0x9963681a8bc69bf3 = global.SetWhistleConfigForPed;

/**
 * SET_WIDESCREEN_BORDERS
 */
global.SetWidescreenBorders = function (p0, p1) {
	return _in(0xd7f4d54c, 0xf80afa34, p0, p1);
};

/**
 * SET_WIND_DIRECTION
 */
global.SetWindDirection = function (direction) {
	return _in(0xb56c4f5f, 0x57a45600, _fv(direction));
};

/**
 * SET_WIND_SPEED
 */
global.SetWindSpeed = function (speed) {
	return _in(0xd00c2d82, 0xdc04a99f, _fv(speed));
};

/**
 * 0 = World
 * 1 = Guarma
 */
global.SetWorldWaterType = function (waterType) {
	return _in(0xe8770ee0, 0x2aee45c2, waterType);
};
global.N_0xe8770ee02aee45c2 = global.SetWorldWaterType;

/**
 * SETTIMERA
 */
global.Settimera = function (value) {
	return _in(0xc1b1e9a0, 0x34a63a62, value);
};

/**
 * SETTIMERB
 */
global.Settimerb = function (value) {
	return _in(0x5ae11bc3, 0x6633de4e, value);
};

/**
 * SHAKE_CAM
 */
global.ShakeCam = function (cam, type, amplitude) {
	return _in(0xf9a7bcf5, 0xd050d4e7, cam, _ts(type), _fv(amplitude));
};

/**
 * SHAKE_GAMEPLAY_CAM
 */
global.ShakeGameplayCam = function (shakeName, intensity) {
	return _in(0xd9b31b46, 0x50520529, _ts(shakeName), _fv(intensity));
};

/**
 * SHIFT_LEFT
 */
global.ShiftLeft = function (value, bitShift) {
	return _in(0xedd95a39, 0xe5544de8, value, bitShift, _r, _ri);
};

/**
 * SHIFT_RIGHT
 */
global.ShiftRight = function (value, bitShift) {
	return _in(0x97ef1e5b, 0xce9dc075, value, bitShift, _r, _ri);
};

/**
 * SHOOT_SINGLE_BULLET_BETWEEN_COORDS
 */
global.ShootSingleBulletBetweenCoords = function (x1, y1, z1, x2, y2, z2, damage, p7, weaponHash, ownerPed, isAudible, isInvisible, speed, p13) {
	return _in(0x867654cb, 0xc7606f2c, _fv(x1), _fv(y1), _fv(z1), _fv(x2), _fv(y2), _fv(z2), damage, p7, _ch(weaponHash), ownerPed, isAudible, isInvisible, _fv(speed), p13);
};

/**
 * Triggers a gunshot
 * Params: p5 = -1 in R* Scripts
 */
global.ShootTriggerAtCoords = function (ped, x, y, z, p4, p5, p6, p7) {
	return _in(0x4c57f27d, 0x1554e6b0, ped, _fv(x), _fv(y), _fv(z), p4, _fv(p5), p6, _fv(p7), _r, _ri);
};
global.N_0x4c57f27d1554e6b0 = global.ShootTriggerAtCoords;

/**
 * Returns whether the game's measurement system is set to metric.
 */
global.ShouldUseMetricMeasurements = function () {
	return _in(0x4fb556ac, 0xefa93098, _r);
};

/**
 * Same as SHOULD_USE_METRIC_MEASUREMENTS
 */
global.ShouldUseMetricMeasurements_2 = function () {
	return _in(0x58bcdc75, 0xba52110a, _r);
};

/**
 * _SHOULD_USE_METRIC_TEMPERATURE
 */
global.ShouldUseMetricTemperature = function () {
	return _in(0xff4aaf32, 0x75baab4f, _r);
};

/**
 * _SHOULD_USE_METRIC_WEIGHT
 */
global.ShouldUseMetricWeight = function () {
	return _in(0x8f24157f, 0xedb85ea2, _r);
};

/**
 * _SHOULD_USE_24_HOUR_CLOCK
 */
global.ShouldUse_24HourClock = function () {
	return _in(0x0177cf20, 0x345f44dd, _r);
};

/**
 * SHOULD_WEAPON_BE_DISCARDED_WHEN_SWAPPED
 */
global.ShouldWeaponBeDiscardedWhenSwapped = function (weaponHash) {
	return _in(0x2c83212a, 0x7aa51d3d, _ch(weaponHash), _r, _ri);
};
global.N_0x2c83212a7aa51d3d = global.ShouldWeaponBeDiscardedWhenSwapped;

/**
 * _SHOW_ACTIVE_POINTS_OF_INTEREST
 */
global.ShowActivePointsOfInterest = function () {
	return _in(0x3fbb838a, 0xea30c1d8);
};
global.N_0x3fbb838aea30c1d8 = global.ShowActivePointsOfInterest;

/**
 * _SHOW_HORSE_CORES
 */
global.ShowHorseCores = function (state) {
	return _in(0xd4ee21b7, 0xcc7fd350, state);
};
global.N_0xd4ee21b7cc7fd350 = global.ShowHorseCores;

/**
 * _SHOW_HORSE_REINS
 */
global.ShowHorseReins = function (vehicle) {
	return _in(0x41cda90e, 0xe3450921, vehicle);
};
global.N_0x41cda90ee3450921 = global.ShowHorseReins;

/**
 * _SHOW_PLAYER_CORES
 */
global.ShowPlayerCores = function (state) {
	return _in(0x50c803a4, 0xcd5932c5, state);
};
global.N_0x50c803a4cd5932c5 = global.ShowPlayerCores;

/**
 * SHUTDOWN_LOADING_SCREEN
 */
global.ShutdownLoadingScreen = function () {
	return _in(0xfc179d7e, 0x8886dadf);
};

/**
 * Shuts down the `loadingScreen` NUI frame, similarly to `SHUTDOWN_LOADING_SCREEN`.
 */
global.ShutdownLoadingScreenNui = function () {
	return _in(0x00000000, 0xb9234afb);
};

/**
 * SIMULATE_PLAYER_INPUT_GAIT
 */
global.SimulatePlayerInputGait = function (player, speed, duration, heading, p4, p5) {
	return _in(0xfa0c063c, 0x422c4355, player, _fv(speed), duration, _fv(heading), p4, p5);
};

/**
 * _SIMULATED_ROUTE_CREATE
 */
global.SimulatedRouteCreate = function (x1, y1, z1, x2, y2, z2, p6) {
	return _in(0xfd5bb35a, 0xab83fd48, _fv(x1), _fv(y1), _fv(z1), _fv(x2), _fv(y2), _fv(z2), p6, _r, _ri);
};
global.N_0xfd5bb35aab83fd48 = global.SimulatedRouteCreate;

/**
 * _SIMULATED_ROUTE_DELETE
 */
global.SimulatedRouteDelete = function (p0) {
	return _in(0x4907d0e4, 0xfb26ee65, p0);
};
global.N_0x4907d0e4fb26ee65 = global.SimulatedRouteDelete;

/**
 * _SIMULATED_ROUTE_EXISTS
 */
global.SimulatedRouteExists = function (p0) {
	return _in(0x65a8196b, 0x8d7f5e0b, p0, _r, _ri);
};
global.N_0x65a8196b8d7f5e0b = global.SimulatedRouteExists;

/**
 * SIMULATED_ROUTE_GET_ETA
 */
global.SimulatedRouteGetEta = function (p0) {
	return _in(0x2dd5f78d, 0x73b24172, p0, _r, _rf);
};

/**
 * SIMULATED_ROUTE_IS_LOADED
 */
global.SimulatedRouteIsLoaded = function (p0) {
	return _in(0x24091504, 0x3cb799d7, p0, _r, _ri);
};

/**
 * SIMULATED_ROUTE_TRAVEL_TO_POINT
 */
global.SimulatedRouteTravelToPoint = function (p0, p1, p2) {
	return _in(0xa1a3de1c, 0x215c7394, p0, _fv(p1), _fv(p2));
};

/**
 * SIN
 */
global.Sin = function (value) {
	return _in(0x0badbfa3, 0xb172435f, _fv(value), _r, _rf);
};

/**
 * SET_TIME_POSITION_IN_RECORDING can be emulated by: desired_time - GET_TIME_POSITION_IN_RECORDING(vehicle)
 */
global.SkipTimeInPlaybackRecordedVehicle = function (vehicle, time) {
	return _in(0x5f5e6379, 0xc59efc56, vehicle, _fv(time));
};

/**
 * SKIP_TO_NEXT_SCRIPTED_CONVERSATION_LINE
 */
global.SkipToNextScriptedConversationLine = function (p0) {
	return _in(0x9663fe6b, 0x7a61eb00, _ts(p0));
};

/**
 * SLIDE_OBJECT
 */
global.SlideObject = function (object, toX, toY, toZ, speedX, speedY, speedZ, collision) {
	return _in(0x2fdff410, 0x7b8c1147, object, _fv(toX), _fv(toY), _fv(toZ), _fv(speedX), _fv(speedY), _fv(speedZ), collision, _r);
};

/**
 * _SPACTIONPROXY_GET_NEXT_PENDING_BUY_ACTION
 */
global.SpactionproxyGetNextPendingBuyAction = function (data) {
	return _in(0x1f471b79, 0xacc98bef, _ii(data) /* may be optional */, _r);
};

/**
 * _SPACTIONPROXY_GET_NEXT_PENDING_CRAFTING_ACTION
 */
global.SpactionproxyGetNextPendingCraftingAction = function (data) {
	return _in(0x1f471b79, 0xacc97bef, _ii(data) /* may be optional */, _r);
};

/**
 * _SPACTIONPROXY_MANAGER_IS_FAILED
 */
global.SpactionproxyManagerIsFailed = function () {
	return _in(0x1f471b79, 0xacc91bec, _r);
};

/**
 * _SPACTIONPROXY_MANAGER_IS_READY
 */
global.SpactionproxyManagerIsReady = function () {
	return _in(0x1f471b79, 0xacc91bed, _r);
};

/**
 * _SPACTIONPROXY_PROCESS_ACTION
 */
global.SpactionproxyProcessAction = function (p0, p1) {
	return _in(0x1f471b79, 0xacc94bef, p0, p1, _r);
};

/**
 * _SPACTIONPROXY_START_MANAGER
 */
global.SpactionproxyStartManager = function () {
	return _in(0x1f471b79, 0xacc91bee, _r);
};

/**
 * SPAWNPOINTS_CANCEL_SEARCH
 */
global.SpawnpointsCancelSearch = function () {
	return _in(0xfee4a545, 0x9472a9f8);
};
global.N_0xfee4a5459472a9f8 = global.SpawnpointsCancelSearch;

/**
 * SPAWNPOINTS_GET_NUM_SEARCH_RESULTS
 */
global.SpawnpointsGetNumSearchResults = function () {
	return _in(0xa635c11b, 0x8c44afc2, _r, _ri);
};
global.N_0xa635c11b8c44afc2 = global.SpawnpointsGetNumSearchResults;

/**
 * SPAWNPOINTS_GET_SEARCH_RESULT
 */
global.SpawnpointsGetSearchResult = function (randomInt) {
	return _in(0x280c7e3a, 0xc7f56e90, randomInt, _f, _i, _f);
};
global.N_0x280c7e3ac7f56e90 = global.SpawnpointsGetSearchResult;

/**
 * SPAWNPOINTS_GET_SEARCH_RESULT_FLAGS
 */
global.SpawnpointsGetSearchResultFlags = function (p0, p1) {
	return _in(0xb782f823, 0x8512bad5, p0, _ii(p1) /* may be optional */);
};
global.N_0xb782f8238512bad5 = global.SpawnpointsGetSearchResultFlags;

/**
 * SPAWNPOINTS_IS_SEARCH_ACTIVE
 */
global.SpawnpointsIsSearchActive = function () {
	return _in(0x3c675069, 0x96001f5e, _r, _ri);
};
global.N_0x3c67506996001f5e = global.SpawnpointsIsSearchActive;

/**
 * SPAWNPOINTS_IS_SEARCH_COMPLETE
 */
global.SpawnpointsIsSearchComplete = function () {
	return _in(0xa586fbeb, 0x32a53dbb, _r, _ri);
};
global.N_0xa586fbeb32a53dbb = global.SpawnpointsIsSearchComplete;

/**
 * SPAWNPOINTS_IS_SEARCH_FAILED
 */
global.SpawnpointsIsSearchFailed = function () {
	return _in(0xf445de8d, 0xa80a1792, _r, _ri);
};
global.N_0xf445de8da80a1792 = global.SpawnpointsIsSearchFailed;

/**
 * Params: p4 = 35.f, duration = 5000 in R* Scripts
 */
global.SpawnpointsStartSearch = function (x, y, z, width, p4, spawnpointsFlag, p6, duration, p8) {
	return _in(0x2df9038c, 0x90ad5264, _fv(x), _fv(y), _fv(z), _fv(width), _fv(p4), spawnpointsFlag, _fv(p6), duration, _fv(p8));
};
global.N_0x2df9038c90ad5264 = global.SpawnpointsStartSearch;

/**
 * Searching area between coords 1 and 2
 */
global.SpawnpointsStartSearchInAngledArea = function (x1, y1, z1, x2, y2, z2, width, spawnpointsFlag, p8, duration, p10) {
	return _in(0xb2aff102, 0x16defa2f, _fv(x1), _fv(y1), _fv(z1), _fv(x2), _fv(y2), _fv(z2), _fv(width), spawnpointsFlag, _fv(p8), duration, _fv(p10));
};
global.N_0xb2aff10216defa2f = global.SpawnpointsStartSearchInAngledArea;

/**
 * NativeDB Introduced: v1311
 */
global.SpawnpointsStartSearchWithVolume = function (volume, spawnpointsFlag, p2, duration, p4) {
	return _in(0x83ed1fc9, 0xdf3411f5, volume, spawnpointsFlag, _fv(p2), duration, _fv(p4));
};

/**
 * Drains Deadeye by given amount.
 */
global.SpecialAbilityDrainByAmount = function (player, amount, p2) {
	return _in(0x200114e9, 0x9552462b, player, _fv(amount), p2);
};
global.N_0x200114e99552462b = global.SpecialAbilityDrainByAmount;

/**
 * Returns Deadeye value from player
 */
global.SpecialAbilityGetAmountCached = function (player) {
	return _in(0x029884fb, 0x65821b07, player, _r, _rf);
};
global.N_0x029884fb65821b07 = global.SpecialAbilityGetAmountCached;

/**
 * Restores Deadeye by given amount.
 * Params: p2, p3, p4 = 0, 0, 1 in R* Scripts
 */
global.SpecialAbilityRestoreByAmount = function (player, amount, p2, p3, p4) {
	return _in(0x51345ae2, 0x0f22c261, player, _fv(amount), p2, p3, p4);
};
global.N_0x51345ae20f22c261 = global.SpecialAbilityRestoreByAmount;

/**
 * Only used in R* SP Script short_update
 * Restores Deadeye Outer Ring
 */
global.SpecialAbilityRestoreOuterRing = function (player, amount) {
	return _in(0x24980352, 0x89b5688f, player, _fv(amount));
};
global.N_0x2498035289b5688f = global.SpecialAbilityRestoreOuterRing;

/**
 * _SPECIAL_ABILITY_SET_DISABLED
 */
global.SpecialAbilitySetDisabled = function (player, disabled) {
	return _in(0xae637bb8, 0xef017875, player, disabled);
};
global.N_0xae637bb8ef017875 = global.SpecialAbilitySetDisabled;

/**
 * _SPECIAL_ABILITY_SET_EAGLE_EYE_DISABLED
 */
global.SpecialAbilitySetEagleEyeDisabled = function (player) {
	return _in(0xc0b21f23, 0x5c02139c, player);
};
global.N_0xc0b21f235c02139c = global.SpecialAbilitySetEagleEyeDisabled;

/**
 * Params: p1 = -1 in R* Scripts
 */
global.SpecialAbilityStartRestore = function (player, p1, p2) {
	return _in(0x1d77b47a, 0xfa584e90, player, p1, p2);
};
global.N_0x1d77b47afa584e90 = global.SpecialAbilityStartRestore;

/**
 * SPECIAL_FUNCTION_DO_NOT_USE
 */
global.SpecialFunctionDoNotUse = function (ped, p1) {
	return _in(0xf9acf4a0, 0x8098ea25, ped, p1);
};
global.N_0xf9acf4a08098ea25 = global.SpecialFunctionDoNotUse;

/**
 * SQRT
 */
global.Sqrt = function (value) {
	return _in(0x71d93b57, 0xd07f9804, _fv(value), _r, _rf);
};

/**
 * START_ANIM_SCENE
 */
global.StartAnimScene = function (animScene) {
	return _in(0xf4d94af7, 0x61768700, animScene);
};

/**
 * START_AUDIO_SCENE
 */
global.StartAudioScene = function (scene) {
	return _in(0x013a80fc, 0x08f6e4f2, _ts(scene), _r);
};

/**
 * _START_AUDIO_SCENESET
 */
global.StartAudioSceneset = function (audioName, sceneset) {
	return _in(0x6339c1ea, 0x3979b5f7, _ts(audioName), _ts(sceneset), _r, _ri);
};
global.N_0x6339c1ea3979b5f7 = global.StartAudioSceneset;

/**
 * [SHOP_CAMERA_SUPPORT_START_NEW_ORBIT]
 * p0: struct<32>  -- [[256]] 
 */
global.StartCameraOrbit = function (p0) {
	return _in(0x65b205bf, 0x30c13ddb, _ii(p0) /* may be optional */);
};
global.N_0x65b205bf30c13ddb = global.StartCameraOrbit;

/**
 * Begins with START_*. Next character in the name is either D or E.
 */
global.StartEndUserBenchmark = function () {
	return _in(0x29d1f6df, 0x864a094e);
};
global.StartBenchmarkRecording = global.StartEndUserBenchmark;

/**
 * START_ENTITY_FIRE
 */
global.StartEntityFire = function (p0, p1, p2, p3) {
	return _in(0xc4dc7418, 0xa44d6822, p0, p1, p2, p3);
};

/**
 * Does the same as 0x7EE9F5D83DD4F90E, except blocking until the shape test completes.
 */
global.StartExpensiveSynchronousShapeTestLosProbe = function (x1, y1, z1, x2, y2, z2, flags, entityToIgnore, p8) {
	return _in(0x377906d8, 0xa31e5586, _fv(x1), _fv(y1), _fv(z1), _fv(x2), _fv(y2), _fv(z2), flags, entityToIgnore, p8, _r, _ri);
};
global.StartShapeTestRay = global.StartExpensiveSynchronousShapeTestLosProbe;

/**
 * Equivalent of [START_FIND_KVP](#\_0xDD379006), but for another resource than the current one.
 * @param resourceName The resource to try finding the key/values for
 * @param prefix A prefix match
 * @return A KVP find handle to use with [FIND_KVP](#\_0xBD7BEBC5) and close with [END_FIND_KVP](#\_0xB3210203)
 */
global.StartFindExternalKvp = function (resourceName, prefix) {
	return _in(0x00000000, 0x8f2eecc3, _ts(resourceName), _ts(prefix), _r, _ri);
};

/**
 * START_FIND_KVP
 * @param prefix A prefix match
 * @return A KVP find handle to use with [FIND_KVP](#\_0xBD7BEBC5) and close with [END_FIND_KVP](#\_0xB3210203)
 */
global.StartFindKvp = function (prefix) {
	return _in(0x00000000, 0xdd379006, _ts(prefix), _r, _ri);
};

/**
 * _START_GPS_CUSTOM_ROUTE_FROM_WAYPOINT_RECORDING_ROUTE
 */
global.StartGpsCustomRouteFromWaypointRecordingRoute = function (waypointRecording, point, numPoints, colorNameHash, p4, p5) {
	return _in(0x6b44f13d, 0x888f770d, _ts(waypointRecording), point, numPoints, _ch(colorNameHash), p4, p5);
};
global.N_0x6b44f13d888f770d = global.StartGpsCustomRouteFromWaypointRecordingRoute;

/**
 * START_GPS_MULTI_ROUTE
 */
global.StartGpsMultiRoute = function (colorNameHash, onFoot, inVehicle) {
	return _in(0x3d3d15af, 0x7bcaaf83, _ch(colorNameHash), onFoot, inVehicle);
};

/**
 * Params: p1 is related to satchel_category
 */
global.StartItemPreview = function (p0, p1) {
	return _in(0x7e2c766a, 0xdb2c5f1a, p0, p1);
};
global.N_0x7e2c766adb2c5f1a = global.StartItemPreview;

/**
 * START_NETWORKED_PARTICLE_FX_LOOPED_ON_ENTITY
 */
global.StartNetworkedParticleFxLoopedOnEntity = function (effectName, entity, xOffset, yOffset, zOffset, xRot, yRot, zRot, scale, xAxis, yAxis, zAxis) {
	return _in(0x8f90ab32, 0xe1944bde, _ts(effectName), entity, _fv(xOffset), _fv(yOffset), _fv(zOffset), _fv(xRot), _fv(yRot), _fv(zRot), _fv(scale), xAxis, yAxis, zAxis, _r, _ri);
};

/**
 * START_NETWORKED_PARTICLE_FX_LOOPED_ON_ENTITY_BONE
 */
global.StartNetworkedParticleFxLoopedOnEntityBone = function (effectName, entity, xOffset, yOffset, zOffset, xRot, yRot, zRot, boneIndex, scale, xAxis, yAxis, zAxis) {
	return _in(0x9c566214, 0x62ffe7a6, _ts(effectName), entity, _fv(xOffset), _fv(yOffset), _fv(zOffset), _fv(xRot), _fv(yRot), _fv(zRot), boneIndex, _fv(scale), xAxis, yAxis, zAxis, _r, _ri);
};

/**
 * START_NETWORKED_PARTICLE_FX_NON_LOOPED_AT_COORD
 */
global.StartNetworkedParticleFxNonLoopedAtCoord = function (effectName, xPos, yPos, zPos, xRot, yRot, zRot, scale, xAxis, yAxis, zAxis) {
	return _in(0xfb976184, 0x57994a62, _ts(effectName), _fv(xPos), _fv(yPos), _fv(zPos), _fv(xRot), _fv(yRot), _fv(zRot), _fv(scale), xAxis, yAxis, zAxis, _r);
};

/**
 * START_NETWORKED_PARTICLE_FX_NON_LOOPED_ON_ENTITY
 */
global.StartNetworkedParticleFxNonLoopedOnEntity = function (effectName, entity, offsetX, offsetY, offsetZ, rotX, rotY, rotZ, scale, axisX, axisY, axisZ) {
	return _in(0xe6cfe439, 0x37061143, _ts(effectName), entity, _fv(offsetX), _fv(offsetY), _fv(offsetZ), _fv(rotX), _fv(rotY), _fv(rotZ), _fv(scale), axisX, axisY, axisZ, _r);
};

/**
 * START_NEW_SCRIPT
 */
global.StartNewScript = function (scriptName, stackSize) {
	return _in(0xe81651ad, 0x79516e48, _ts(scriptName), stackSize, _r, _ri);
};

/**
 * return : script thread id, 0 if failed
 * Pass pointer to struct of args in p1, size of struct goes into p2
 */
global.StartNewScriptWithArgs = function (scriptName, argCount, stackSize) {
	return _in(0xb8ba7f44, 0xdf1575e1, _ts(scriptName), _i, argCount, stackSize, _r, _ri);
};

/**
 * START_NEW_SCRIPT_WITH_NAME_HASH
 */
global.StartNewScriptWithNameHash = function (scriptHash, stackSize) {
	return _in(0xeb1c67c3, 0xa5333a92, _ch(scriptHash), stackSize, _r, _ri);
};

/**
 * START_NEW_SCRIPT_WITH_NAME_HASH_AND_ARGS
 */
global.StartNewScriptWithNameHashAndArgs = function (scriptHash, argCount, stackSize) {
	return _in(0xc4bb298b, 0xd441be78, _ch(scriptHash), _i, argCount, stackSize, _r, _ri);
};

/**
 * https://github.com/femga/rdr3_discoveries/blob/master/graphics/ptfx/ptfx_assets_looped.lua
 */
global.StartParticleFxLoopedAtCoord = function (effectName, x, y, z, xRot, yRot, zRot, scale, xAxis, yAxis, zAxis, p11) {
	return _in(0xba32867e, 0x86125d3a, _ts(effectName), _fv(x), _fv(y), _fv(z), _fv(xRot), _fv(yRot), _fv(zRot), _fv(scale), xAxis, yAxis, zAxis, p11, _r, _ri);
};

/**
 * START_PARTICLE_FX_LOOPED_ON_ENTITY
 */
global.StartParticleFxLoopedOnEntity = function (effectName, entity, xOffset, yOffset, zOffset, xRot, yRot, zRot, scale, xAxis, yAxis, zAxis) {
	return _in(0xbd41e144, 0x0ce39800, _ts(effectName), entity, _fv(xOffset), _fv(yOffset), _fv(zOffset), _fv(xRot), _fv(yRot), _fv(zRot), _fv(scale), xAxis, yAxis, zAxis, _r, _ri);
};

/**
 * START_PARTICLE_FX_LOOPED_ON_ENTITY_BONE
 */
global.StartParticleFxLoopedOnEntityBone = function (effectName, entity, xOffset, yOffset, zOffset, xRot, yRot, zRot, boneIndex, scale, xAxis, yAxis, zAxis) {
	return _in(0xd3ba6ec7, 0xf2fbd5e9, _ts(effectName), entity, _fv(xOffset), _fv(yOffset), _fv(zOffset), _fv(xRot), _fv(yRot), _fv(zRot), boneIndex, _fv(scale), xAxis, yAxis, zAxis, _r, _ri);
};

/**
 * START_PARTICLE_FX_LOOPED_ON_PED_BONE
 */
global.StartParticleFxLoopedOnPedBone = function (effectName, ped, xOffset, yOffset, zOffset, xRot, yRot, zRot, boneIndex, scale, xAxis, yAxis, zAxis) {
	return _in(0xe689c1b1, 0x432bb8af, _ts(effectName), ped, _fv(xOffset), _fv(yOffset), _fv(zOffset), _fv(xRot), _fv(yRot), _fv(zRot), boneIndex, _fv(scale), xAxis, yAxis, zAxis, _r, _ri);
};

/**
 * https://github.com/femga/rdr3_discoveries/blob/master/graphics/ptfx/ptfx_assets_non_looped.lua
 */
global.StartParticleFxNonLoopedAtCoord = function (effectName, xPos, yPos, zPos, xRot, yRot, zRot, scale, xAxis, yAxis, zAxis) {
	return _in(0x2e80bf72, 0xef7c87ac, _ts(effectName), _fv(xPos), _fv(yPos), _fv(zPos), _fv(xRot), _fv(yRot), _fv(zRot), _fv(scale), xAxis, yAxis, zAxis, _r, _ri);
};

/**
 * START_PARTICLE_FX_NON_LOOPED_ON_ENTITY
 */
global.StartParticleFxNonLoopedOnEntity = function (effectName, entity, offsetX, offsetY, offsetZ, rotX, rotY, rotZ, scale, axisX, axisY, axisZ) {
	return _in(0xff4c64c5, 0x13388c12, _ts(effectName), entity, _fv(offsetX), _fv(offsetY), _fv(offsetZ), _fv(rotX), _fv(rotY), _fv(rotZ), _fv(scale), axisX, axisY, axisZ, _r);
};

/**
 * START_PARTICLE_FX_NON_LOOPED_ON_PED_BONE
 */
global.StartParticleFxNonLoopedOnPedBone = function (effectName, ped, offsetX, offsetY, offsetZ, rotX, rotY, rotZ, boneIndex, scale, axisX, axisY, axisZ) {
	return _in(0x3faa72bd, 0x940c3ac0, _ts(effectName), ped, _fv(offsetX), _fv(offsetY), _fv(offsetZ), _fv(rotX), _fv(rotY), _fv(rotZ), boneIndex, _fv(scale), axisX, axisY, axisZ, _r);
};

/**
 * _START_PARTICLE_FX_NON_LOOPED_ON_PED_BONE_2
 */
global.StartParticleFxNonLoopedOnPedBone_2 = function (effectName, ped, offsetX, offsetY, offsetZ, rotX, rotY, rotZ, boneIndex, scale, axisX, axisY, axisZ) {
	return _in(0xc695870b, 0x8a149b96, _ts(effectName), ped, _fv(offsetX), _fv(offsetY), _fv(offsetZ), _fv(rotX), _fv(rotY), _fv(rotZ), boneIndex, _fv(scale), axisX, axisY, axisZ, _r, _ri);
};
global.N_0xc695870b8a149b96 = global.StartParticleFxNonLoopedOnPedBone_2;

/**
 * START_PETROL_TRAIL_DECALS
 */
global.StartPetrolTrailDecals = function (p0, p1) {
	return _in(0x46f246d6, 0x504f0031, p0, p1);
};

/**
 * p3 is some flag related to 'trailers' (invokes CVehicle::GetTrailer).
 * See REQUEST_VEHICLE_RECORDING
 */
global.StartPlaybackRecordedVehicle = function (vehicle, recording, script, p3) {
	return _in(0x4932b84e, 0x3276508e, vehicle, recording, _ts(script), p3);
};

/**
 * START_PLAYER_TELEPORT
 */
global.StartPlayerTeleport = function (player, x, y, z, heading, p5, p6, p7, p8) {
	return _in(0xdf8822c5, 0x5edda65b, player, _fv(x), _fv(y), _fv(z), _fv(heading), p5, p6, p7, p8);
};

/**
 * START_PRELOADED_CONVERSATION
 */
global.StartPreloadedConversation = function (convoRoot) {
	return _in(0x23641afe, 0x870af385, _ts(convoRoot));
};

/**
 * Returns threadId
 */
global.StartPreloadedScriptBrain = function (entity, scriptName, scriptStackSize, p3) {
	return _in(0x4e4507cc, 0x5e4db869, entity, _ts(scriptName), scriptStackSize, p3, _r, _ri);
};
global.N_0x4e4507cc5e4db869 = global.StartPreloadedScriptBrain;

/**
 * _START_ROPE_UNWINDING_BACK
 */
global.StartRopeUnwindingBack = function (ropeId) {
	return _in(0x00f611a7, 0x94a3c36e, ropeId);
};
global.N_0x00f611a794a3c36e = global.StartRopeUnwindingBack;

/**
 * START_ROPE_UNWINDING_FRONT
 */
global.StartRopeUnwindingFront = function (ropeId) {
	return _in(0x538d1179, 0xec1aa9a9, ropeId);
};

/**
 * START_ROPE_WINDING
 */
global.StartRopeWinding = function (ropeId) {
	return _in(0x1461c72c, 0x889e343e, ropeId);
};

/**
 * Returns threadId
 */
global.StartScriptBrain = function (entity, scriptName, p2, p4, p5) {
	return _in(0x6f62fae2, 0x66dcfc81, entity, _ts(scriptName), p2, _i, p4, p5, _r, _ri);
};
global.N_0x6f62fae266dcfc81 = global.StartScriptBrain;

/**
 * START_SCRIPT_CONVERSATION
 */
global.StartScriptConversation = function (convoRoot, p1, p2, clone) {
	return _in(0x6b17c62c, 0x9635d2dc, _ts(convoRoot), p1, p2, clone);
};

/**
 * Starts a fire:
 * xyz: Location of fire
 * maxChildren: The max amount of times a fire can spread to other objects. Must be 25 or less, or the function will do nothing.
 * isGasFire: Whether or not the fire is powered by gasoline.
 */
global.StartScriptFire = function (x, y, z, p3, p4, p5, soundsetName, p7, p8) {
	return _in(0x6b83617e, 0x04503888, _fv(x), _fv(y), _fv(z), p3, _fv(p4), p5, _ts(soundsetName), _fv(p7), p8, _r, _ri);
};

/**
 * START_SHAPE_TEST_BOX
 */
global.StartShapeTestBox = function (posX, posY, posZ, dimensionsX, dimensionsY, dimensionsZ, rotX, rotY, rotZ, rotationOrder, flags, entityToIgnore, options) {
	return _in(0xfe466162, 0xc4401d18, _fv(posX), _fv(posY), _fv(posZ), _fv(dimensionsX), _fv(dimensionsY), _fv(dimensionsZ), _fv(rotX), _fv(rotY), _fv(rotZ), rotationOrder, flags, entityToIgnore, options, _r, _ri);
};

/**
 * START_SHAPE_TEST_CAPSULE
 */
global.StartShapeTestCapsule = function (x1, y1, z1, x2, y2, z2, radius, flags, entityToIgnore, p9) {
	return _in(0x28579d1b, 0x8f8aac80, _fv(x1), _fv(y1), _fv(z1), _fv(x2), _fv(y2), _fv(z2), _fv(radius), flags, entityToIgnore, p9, _r, _ri);
};

/**
 * Asynchronously starts a line-of-sight (raycast) world probe shape test.
 * Use the handle with 0x3D87450E15D98694 or 0x65287525D951F6BE until it returns 0 or 2.
 * p8 is a bit mask with bits 1, 2 and/or 4, relating to collider types; 4 should usually be used.
 */
global.StartShapeTestLosProbe = function (x1, y1, z1, x2, y2, z2, flags, entity, p8) {
	return _in(0x7ee9f5d8, 0x3dd4f90e, _fv(x1), _fv(y1), _fv(z1), _fv(x2), _fv(y2), _fv(z2), flags, entity, p8, _r, _ri);
};

/**
 * START_SHAPE_TEST_MOUSE_CURSOR_LOS_PROBE
 */
global.StartShapeTestMouseCursorLosProbe = function (flag, entity, flag2) {
	return _in(0x9839013d, 0x8b6014f1, _v, _v, flag, entity, flag2, _r, _ri);
};
global.StartShapeTestSurroundingCoords = global.StartShapeTestMouseCursorLosProbe;

/**
 * START_SHAPE_TEST_SWEPT_SPHERE
 */
global.StartShapeTestSweptSphere = function (x1, y1, z1, x2, y2, z2, radius, flags, entity, p9) {
	return _in(0xaa5b7c83, 0x09f73230, _fv(x1), _fv(y1), _fv(z1), _fv(x2), _fv(y2), _fv(z2), _fv(radius), flags, entity, p9, _r, _ri);
};

/**
 * Params: p3 = 0, 1; p5 = 0.0f, -1.0f
 * https://github.com/femga/rdr3_discoveries/tree/master/tasks/TASK_ITEM_INTERACTION
 */
global.StartTaskItemInteraction = function (ped, itemHash, interactionAnimHash, p3, flag, p5) {
	return _in(0xae72e7df, 0x013aaa61, ped, _ch(itemHash), _ch(interactionAnimHash), p3, flag, _fv(p5));
};
global.TaskItemInteraction = global.StartTaskItemInteraction;

/**
 * Sounds the horn for the specified vehicle.
 * vehicle: The vehicle to activate the horn for.
 * mode: The hash of "NORMAL" or "HELDDOWN". Can be 0.
 * duration: The duration to sound the horn, in milliseconds.
 * Note: If a player is in the vehicle, it will only sound briefly.
 */
global.StartVehicleHorn = function (vehicle, duration, mode, forever) {
	return _in(0xb4e3bfc3, 0x9ca16057, vehicle, duration, _ch(mode), forever);
};

/**
 * Related to animal tagging
 * ```
 * ```
 * NativeDB Introduced: v1355
 */
global.StatAddAnimalSampleTarget = function (animalType) {
	return _in(0x90e9a5da, 0xdbabc918, _ch(animalType));
};
global.N_0x90e9a5dadbabc918 = global.StatAddAnimalSampleTarget;

/**
 * STAT_ADD_BOUNTY_TARGET
 */
global.StatAddBountyTarget = function (unlockHash, ped) {
	return _in(0x6b1044fd, 0xc2b09101, _ch(unlockHash), ped);
};
global.N_0x6b1044fdc2b09101 = global.StatAddBountyTarget;

/**
 * STAT_BOUNTY_CAPTURED
 */
global.StatBountyCaptured = function (entity) {
	return _in(0x262ef7cf, 0x49cf1eb9, entity);
};
global.N_0x262ef7cf49cf1eb9 = global.StatBountyCaptured;

/**
 * STAT_BOUNTY_ESCAPED
 */
global.StatBountyEscaped = function (ped) {
	return _in(0xb22f0573, 0x2f72f70c, ped);
};
global.N_0xb22f05732f72f70c = global.StatBountyEscaped;

/**
 * Calculation: (value / 1000) / 60 % 60
 */
global.StatCalculateCooldown = function (value) {
	return _in(0x1e7384ab, 0x5d4f4581, value, _r, _ri);
};
global.N_0x1e7384ab5d4f4581 = global.StatCalculateCooldown;

/**
 * _STAT_CARRIED_SATCHEL_ITEM_FROM_PED
 */
global.StatCarriedSatchelItemFromPed = function (ped) {
	return _in(0x831bf01c, 0x56149a8a, ped);
};
global.N_0x831bf01c56149a8a = global.StatCarriedSatchelItemFromPed;

/**
 * _STAT_DONATE_INCREMENT_ITEM
 */
global.StatDonateIncrementItem = function (item, slot, p2, p3) {
	return _in(0x7c2abf6e, 0x556b21fc, item, slot, p2, p3);
};
global.N_0x7c2abf6e556b21fc = global.StatDonateIncrementItem;

/**
 * statId: see STAT_ID_IS_VALID
 */
global.StatIdDecrementInt = function (value) {
	return _in(0xbd861ae8, 0xa5181ed7, _i, value);
};
global.N_0xbd861ae8a5181ed7 = global.StatIdDecrementInt;

/**
 * statId: see STAT_ID_IS_VALID
 */
global.StatIdGetBool = function () {
	return _in(0x11b5e6d2, 0xae73f48f, _i, _i /* actually bool */, _r);
};

/**
 * statId: see STAT_ID_IS_VALID
 */
global.StatIdGetDate = function () {
	return _in(0x8b0facef, 0xc36c824c, _i, _i, _r);
};

/**
 * statId: see STAT_ID_IS_VALID
 */
global.StatIdGetFloat = function () {
	return _in(0xd7ae6c9c, 0x9c6ac54d, _i, _f, _r);
};

/**
 * statId: see STAT_ID_IS_VALID
 */
global.StatIdGetInt = function () {
	return _in(0x767fbc2a, 0xc802ef3e, _i, _i, _r);
};

/**
 * statId: see STAT_ID_IS_VALID
 */
global.StatIdIncrementFloat = function (value) {
	return _in(0x4a47e38e, 0xa3d60939, _i, _fv(value));
};
global.N_0x4a47e38ea3d60939 = global.StatIdIncrementFloat;

/**
 * statId: see STAT_ID_IS_VALID
 */
global.StatIdIncrementInt = function (value) {
	return _in(0x6a0184e9, 0x04cdf25e, _i, value);
};
global.N_0x6a0184e904cdf25e = global.StatIdIncrementInt;

/**
 * struct StatId
 * {
 * alignas(8) Hash BaseId;
 * alignas(8) Hash PermutationId;
 * }
 */
global.StatIdIsValid = function (statId) {
	return _in(0xc48fe197, 0x1c9743ff, _ii(statId) /* may be optional */, _r);
};
global.StatIdIsValid = global.StatIdIsValid;

/**
 * statId: see STAT_ID_IS_VALID
 */
global.StatIdSetBool = function (value, p2) {
	return _in(0x3b510735, 0x3267d7a1, _i, value, p2, _r);
};

/**
 * statId: see STAT_ID_IS_VALID
 */
global.StatIdSetDate = function (p2) {
	return _in(0x1fae9b2f, 0xaa2dfe06, _i, _i, p2, _r);
};

/**
 * statId: see STAT_ID_IS_VALID
 */
global.StatIdSetFloat = function (value, p2) {
	return _in(0x481bdf6a, 0x10c5ef68, _i, _fv(value), p2, _r);
};

/**
 * statId: see STAT_ID_IS_VALID
 */
global.StatIdSetGxtLabel = function (label, p2) {
	return _in(0x05060a54, 0x834f2382, _i, _ts(label), p2, _r);
};

/**
 * statId: see STAT_ID_IS_VALID
 */
global.StatIdSetInt = function (value, p2) {
	return _in(0xa4ddf5df, 0x95e65eee, _i, value, p2, _r);
};

/**
 * statId: see STAT_ID_IS_VALID
 */
global.StatIdSetToPosseId = function (statId) {
	return _in(0x34b22de3, 0x8477edb4, _ii(statId) /* may be optional */);
};

/**
 * _STAT_ITEM_FISH_CAUGHT
 */
global.StatItemFishCaught = function (fish, weight, category, subcategory) {
	return _in(0xda26263c, 0x87cce9c1, fish, _fv(weight), _ch(category), _ch(subcategory));
};
global.N_0xda26263c87cce9c1 = global.StatItemFishCaught;

/**
 * statId: see STAT_ID_IS_VALID
 * ```
 * ```
 * NativeDB Introduced: v1311
 */
global.StatPheromoneCooldownLegendaryAnimal = function (entity, statId) {
	return _in(0x5420d398, 0xa42917fc, entity, _ii(statId) /* may be optional */, _r);
};

/**
 * NativeDB Introduced: v1311
 */
global.StatPhotographTaken = function (itemset) {
	return _in(0x4d31051a, 0x4ca83787, itemset);
};

/**
 * NativeDB Introduced: v1311
 */
global.StatRegisterLegendaryAnimalDeed = function (deedHash) {
	return _in(0xcd0d69c6, 0x5bb0e8b9, _ch(deedHash));
};

/**
 * STATE_BAG_HAS_KEY
 * @param bagName The name of the bag.
 * @param key The key used to check data existence.
 * @return Returns true if the data associated with the specified key exists; otherwise, returns false.
 */
global.StateBagHasKey = function (bagName, key) {
	return _in(0x00000000, 0x0012a330, _ts(bagName), _ts(key), _r);
};

/**
 * STATSTRACKER_DEED_STARTED
 */
global.StatstrackerDeedStarted = function (p0, p1) {
	return _in(0xb2a38826, 0xe5886e83, _ch(p0), p1);
};
global.N_0xb2a38826e5886e83 = global.StatstrackerDeedStarted;

/**
 * _STATSTRACKER_DEED_STATUS
 */
global.StatstrackerDeedStatus = function (deedType, deedHash, missionStatus, data) {
	return _in(0xd5910ecf, 0x81a2278c, deedType, _ch(deedHash), missionStatus, _ii(data) /* may be optional */);
};
global.N_0xd5910ecf81a2278c = global.StatstrackerDeedStatus;

/**
 * STATSTRACKER_IS_INITIALIZED
 */
global.StatstrackerIsInitialized = function (p0) {
	return _in(0x01f4d242, 0x765c6b24, _ch(p0), _r, _ri);
};
global.N_0x01f4d242765c6b24 = global.StatstrackerIsInitialized;

/**
 * _STOP_ALL_SCRIPTED_AUDIO_SOUNDS
 */
global.StopAllScriptedAudioSounds = function () {
	return _in(0x2e399eaf, 0xbeea74d5);
};
global.N_0x2e399eafbeea74d5 = global.StopAllScriptedAudioSounds;

/**
 * _STOP_ALL_SCRIPTED_CONVERSIONS
 */
global.StopAllScriptedConversions = function (p0, p1, p2) {
	return _in(0x36559148, 0xb78853b3, p0, p1, p2);
};
global.N_0x36559148b78853b3 = global.StopAllScriptedConversions;

/**
 * STOP_ANIM_PLAYBACK
 */
global.StopAnimPlayback = function (ped, p1, p2) {
	return _in(0xee08c992, 0xd238c5d1, ped, p1, p2);
};

/**
 * STOP_ANIM_TASK
 */
global.StopAnimTask = function (ped, animDictionary, animationName, p3) {
	return _in(0x97ff36a1, 0xd40ea00a, ped, _ts(animDictionary), _ts(animationName), _fv(p3));
};

/**
 * STOP_AUDIO_SCENE
 */
global.StopAudioScene = function (scene) {
	return _in(0xdfe8422b, 0x3b94e688, _ts(scene));
};

/**
 * STOP_AUDIO_SCENES
 */
global.StopAudioScenes = function () {
	return _in(0xbac7fc81, 0xa75ec1a1);
};

/**
 * _STOP_AUDIO_SCENESET
 */
global.StopAudioSceneset = function (sceneset) {
	return _in(0x9428447d, 0xed71fc7e, _ts(sceneset));
};
global.N_0x9428447ded71fc7e = global.StopAudioSceneset;

/**
 * STOP_BRINGING_VEHICLE_TO_HALT
 */
global.StopBringingVehicleToHalt = function (vehicle) {
	return _in(0x7c06330b, 0xfdda182e, vehicle);
};
global.N_0x7c06330bfdda182e = global.StopBringingVehicleToHalt;

/**
 * STOP_CAM_POINTING
 */
global.StopCamPointing = function (cam) {
	return _in(0xca1b30a3, 0x357c71f1, cam);
};

/**
 * STOP_CAM_SHAKING
 */
global.StopCamShaking = function (cam, p1) {
	return _in(0xb78cc4b4, 0x706614b0, cam, p1);
};

/**
 * STOP_CODE_GAMEPLAY_HINT
 */
global.StopCodeGameplayHint = function (p0) {
	return _in(0x93759a83, 0xd0d844e7, p0);
};
global.N_0x93759a83d0d844e7 = global.StopCodeGameplayHint;

/**
 * STOP_CONTROL_SHAKE
 */
global.StopControlShake = function (control) {
	return _in(0x38c16a30, 0x5e8cdc8d, control);
};
global.StopPadShake = global.StopControlShake;

/**
 * nullsub, doesn't do anything
 */
global.StopCurrentLoadingProgressTimer = function () {
	return _in(0xa565fac2, 0x15cbc77d);
};
global.N_0xa565fac215cbc77d = global.StopCurrentLoadingProgressTimer;

/**
 * STOP_CURRENT_PLAYING_AMBIENT_SPEECH
 */
global.StopCurrentPlayingAmbientSpeech = function (ped, p1) {
	return _in(0xb8bec0ca, 0x6f0edb0f, ped, p1);
};

/**
 * STOP_CURRENT_PLAYING_SPEECH
 */
global.StopCurrentPlayingSpeech = function (ped, p1) {
	return _in(0x79d2f0e6, 0x6f81d90d, ped, p1);
};

/**
 * STOP_DISPLAYING_MP_TRANSITION_LOADING_SCREENS
 */
global.StopDisplayingMpTransitionLoadingScreens = function (p0) {
	return _in(0x778d4733, 0xe0f2f265, p0);
};
global.N_0x778d4733e0f2f265 = global.StopDisplayingMpTransitionLoadingScreens;

/**
 * Begins with STOP_*. Next character in the name is either D or E.
 */
global.StopEndUserBenchmark = function () {
	return _in(0xb89aec71, 0xaff2b599);
};
global.StopBenchmarkRecording = global.StopEndUserBenchmark;

/**
 * STOP_ENTITY_ANIM
 */
global.StopEntityAnim = function (entity, animation, animGroup, p3) {
	return _in(0x786591d9, 0x86de9159, entity, _ts(animation), _ts(animGroup), _fv(p3), _r, _ri);
};

/**
 * STOP_ENTITY_FIRE
 */
global.StopEntityFire = function (p0, p1) {
	return _in(0x8390751d, 0xc40c1e98, p0, p1);
};

/**
 * _STOP_FIRE_IN_BOX
 */
global.StopFireInBox = function (posX, posY, posZ, rotX, rotY, rotZ, scaleX, scaleY, scaleZ) {
	return _in(0xb7c7bdc3, 0x75aea9a4, _fv(posX), _fv(posY), _fv(posZ), _fv(rotX), _fv(rotY), _fv(rotZ), _fv(scaleX), _fv(scaleY), _fv(scaleZ));
};
global.N_0xb7c7bdc375aea9a4 = global.StopFireInBox;

/**
 * STOP_FIRE_IN_RANGE
 */
global.StopFireInRange = function (x, y, z, radius) {
	return _in(0xdb38f247, 0xbd421708, _fv(x), _fv(y), _fv(z), _fv(radius));
};

/**
 * STOP_GAMEPLAY_CAM_SHAKING
 */
global.StopGameplayCamShaking = function (p0) {
	return _in(0xe0de43d2, 0x90fb65f9, p0);
};

/**
 * script_rel: DRUNK_SHAKE, REINFORCED_LASSO_STRUGGLE_SHAKE, CORRECTOR_SHAKE, MINIGAME_BOUNTY_SHAKE, HAND_SHAKE, MINIGAME_TRAIN_SHAKE
 * script_mp_rel: DRUNK_SHAKE, REINFORCED_LASSO_STRUGGLE_SHAKE
 * _STOP_GAMEPLAY_CAM* - _STOP_I*
 */
global.StopGameplayCamShakingWithName = function (shakeName, p1) {
	return _in(0x4285804f, 0xd65d8066, _ts(shakeName), p1);
};
global.N_0x4285804fd65d8066 = global.StopGameplayCamShakingWithName;

/**
 * STOP_GAMEPLAY_HINT
 */
global.StopGameplayHint = function (p0) {
	return _in(0x1bcec33d, 0x54cfca8a, p0);
};

/**
 * STOP_ITEM_PREVIEW
 */
global.StopItemPreview = function () {
	return _in(0xd962f857, 0x9d702db5);
};
global.N_0xd962f8579d702db5 = global.StopItemPreview;

/**
 * STOP_PARTICLE_FX_LOOPED
 */
global.StopParticleFxLooped = function (ptfxHandle, p1) {
	return _in(0x22970f3a, 0x088b133b, ptfxHandle, p1);
};

/**
 * STOP_PED_SPEAKING
 */
global.StopPedSpeaking = function (ped, shaking) {
	return _in(0x9d64d740, 0x5520e3d3, ped, shaking);
};

/**
 * STOP_PLAYBACK_RECORDED_VEHICLE
 */
global.StopPlaybackRecordedVehicle = function (vehicle) {
	return _in(0xbf9b4d62, 0x67e8c26d, vehicle);
};

/**
 * Disables the player's teleportation
 */
global.StopPlayerTeleport = function () {
	return _in(0x0858b861, 0x46601be8);
};

/**
 * This native makes the gameplay camera zoom into first person/third person with a special effect.
 * blendBackSmoothingType: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/eBlendBackSmoothing
 */
global.StopRenderingScriptCamsUsingCatchUp = function (render, distance, blendBackSmoothingType, p3, p4, p5) {
	return _in(0x8c7c7ff7, 0xcf0e5153, render, _fv(distance), blendBackSmoothingType, p3, p4, p5);
};
global.RenderFirstPersonCam = global.StopRenderingScriptCamsUsingCatchUp;

/**
 * _STOP_ROPE_UNWINDING_BACK
 */
global.StopRopeUnwindingBack = function (ropeId) {
	return _in(0x10daa76c, 0xb8a201a1, ropeId);
};
global.N_0x10daa76cb8a201a1 = global.StopRopeUnwindingBack;

/**
 * STOP_ROPE_UNWINDING_FRONT
 */
global.StopRopeUnwindingFront = function (ropeId) {
	return _in(0xfff3a507, 0x79efbbb3, ropeId);
};

/**
 * STOP_ROPE_WINDING
 */
global.StopRopeWinding = function (ropeId) {
	return _in(0xcb2d4ab8, 0x4a19aa7c, ropeId);
};

/**
 * Stops running cover anims and releases them
 * _STOP_RENDERING_* - _STOP_SCRIPTED*
 */
global.StopRunningCoverAnims = function (ped) {
	return _in(0x1a7a802b, 0x2301edc0, ped);
};
global.N_0x1a7a802b2301edc0 = global.StopRunningCoverAnims;

/**
 * STOP_SCRIPTED_CONVERSATION
 */
global.StopScriptedConversation = function (p0, p1, p2) {
	return _in(0xd79deefb, 0x53455eba, _ts(p0), p1, p2, _r, _ri);
};

/**
 * _STOP_SOUND_WITH_ID
 */
global.StopSoundWithId = function (soundId) {
	return _in(0x3210bcb3, 0x6af7621b, soundId);
};
global.N_0x3210bcb36af7621b = global.StopSoundWithId;

/**
 * _STOP_SOUND_WITH_NAME
 */
global.StopSoundWithName = function (audioName, audioRef) {
	return _in(0x0f2a2175, 0x734926d8, _ts(audioName), _ts(audioRef));
};
global.N_0x0f2a2175734926d8 = global.StopSoundWithName;

/**
 * Stops periodic icon.
 * statusEffectType: see 0xA4D3A1C008F250DF
 */
global.StopStatusEffectPeriodicIcon = function (statusEffectType) {
	return _in(0x3fc4c027, 0xfd0936f4, statusEffectType);
};
global.N_0x3fc4c027fd0936f4 = global.StopStatusEffectPeriodicIcon;

/**
 * STOP_STREAM
 */
global.StopStream = function (streamId) {
	return _in(0xa4718a14, 0x19d18151, streamId);
};

/**
 * _STORE_GLOBAL_BLOCK
 */
global.StoreGlobalBlock = function (index) {
	return _in(0xb952a3ac, 0x41d58f2f, index, _r, _ri);
};
global.N_0xb952a3ac41d58f2f = global.StoreGlobalBlock;

/**
 * Returns false if it's a null or empty string or if the string is too long. outInteger will be set to -999 in that case.
 */
global.StringToInt = function (string, outInteger) {
	return _in(0xf2dd2298, 0xb3af23e2, _ts(string), _ii(outInteger) /* may be optional */, _r);
};

/**
 * crimeType: see _REPORT_CRIME
 */
global.SuppressCrimeThisFrame = function (player, crimeType, p2, p3, p4) {
	return _in(0x785177e4, 0xd57d7389, player, _ch(crimeType), p2, p3, p4);
};
global.N_0x785177e4d57d7389 = global.SuppressCrimeThisFrame;

/**
 * SUPPRESS_PICKUP_REWARD_TYPE
 */
global.SuppressPickupRewardType = function (rewardType, suppress) {
	return _in(0xf9209952, 0x7db8e2a7, rewardType, suppress);
};
global.N_0xf92099527db8e2a7 = global.SuppressPickupRewardType;

/**
 * SUPPRESS_SHOCKING_EVENTS_NEXT_FRAME
 */
global.SuppressShockingEventsNextFrame = function () {
	return _in(0x84994fad, 0x4e4e4e69);
};

/**
 * SUPPRESS_WITNESSES_CALLING_POLICE_THIS_FRAME
 */
global.SuppressWitnessesCallingPoliceThisFrame = function (player) {
	return _in(0x96722257, 0xe5381e00, player);
};
global.N_0x96722257e5381e00 = global.SuppressWitnessesCallingPoliceThisFrame;

/**
 * TAKE_OWNERSHIP_OF_ANIM_SCENE
 */
global.TakeOwnershipOfAnimScene = function (animScene) {
	return _in(0xf7a4c571, 0xe572d237, animScene);
};

/**
 * TAN
 */
global.Tan = function (p0) {
	return _in(0x8c13db96, 0x497b7abf, _fv(p0), _r, _rf);
};

/**
 * Makes the specified ped achieve the specified heading.
 * pedHandle: The handle of the ped to assign the task to.
 * heading: The desired heading.
 * timeout: The time, in milliseconds, to allow the task to complete. If the task times out, it is canceled, and the ped will stay at the heading it managed to reach in the time.
 */
global.TaskAchieveHeading = function (ped, heading, timeout) {
	return _in(0x93b93a37, 0x987f1f3d, ped, _fv(heading), timeout);
};

/**
 * _TASK_AI_SEEK_COVER_TO_COVER_POINT
 */
global.TaskAiSeekCoverToCoverPoint = function (args) {
	return _in(0x89783fdd, 0xf079c88d, _ii(args) /* may be optional */);
};
global.N_0x89783fddf079c88d = global.TaskAiSeekCoverToCoverPoint;

/**
 * TASK_AIM_AT_COORD
 */
global.TaskAimAtCoord = function (ped, p1, p2, p3, p4, p5, p6) {
	return _in(0x4af1d738, 0x61212f52, ped, p1, p2, p3, p4, p5, p6);
};

/**
 * TASK_AIM_AT_ENTITY
 */
global.TaskAimAtEntity = function (ped, p1, p2, p3, p4) {
	return _in(0xcf7569bd, 0x0fb480a0, ped, p1, p2, p3, p4);
};

/**
 * TASK_AIM_GUN_AT_COORD
 */
global.TaskAimGunAtCoord = function (ped, x, y, z, time, p5, p6) {
	return _in(0x6671f3ee, 0xc681bda1, ped, _fv(x), _fv(y), _fv(z), time, p5, p6);
};

/**
 * duration: the amount of time in milliseconds to do the task.  -1 will keep the task going until either another task is applied, or CLEAR_ALL_TASKS() is called with the ped
 */
global.TaskAimGunAtEntity = function (ped, targetEntity, duration, p3, p4) {
	return _in(0x9b53bb6e, 0x8943af53, ped, targetEntity, duration, p3, p4);
};

/**
 * TASK_AMBIENT_ANIMAL_HUNT
 */
global.TaskAmbientAnimalHunt = function (ped, p1, p2) {
	return _in(0x4b39d8f9, 0xd0fe7749, ped, p1, p2);
};

/**
 * TASK_AMBIENT_ANIMAL_STALK
 */
global.TaskAmbientAnimalStalk = function (ped, p1, p2) {
	return _in(0x37c13863, 0xaba1b4a3, ped, p1, p2);
};

/**
 * TASK_ANIMAL_ALERTED
 */
global.TaskAnimalAlerted = function (ped, p1, p2) {
	return _in(0x979d9337, 0x2fc8c565, ped, p1, p2);
};

/**
 * _TASK_ANIMAL_BLEED_OUT
 */
global.TaskAnimalBleedOut = function (ped, killer, p2, weaponHash, p4, p5) {
	return _in(0x30a768c3, 0x0d385ec5, ped, killer, p2, _ch(weaponHash), p4, p5);
};
global.N_0x30a768c30d385ec5 = global.TaskAnimalBleedOut;

/**
 * TASK_ANIMAL_FLEE
 */
global.TaskAnimalFlee = function (ped, targetPed, p2) {
	return _in(0xa899b61c, 0x66f09134, ped, targetPed, p2);
};

/**
 * https://github.com/femga/rdr3_discoveries/tree/master/tasks/TASK_ANIMAL_INTERACTION
 */
global.TaskAnimalInteraction = function (ped, targetPed, interactionType, interactionModel, skipIdleAnimationClip) {
	return _in(0xcd181a95, 0x9cfdd7f4, ped, targetPed, _ch(interactionType), _ch(interactionModel), skipIdleAnimationClip);
};

/**
 * TASK_ANIMAL_UNALERTED
 */
global.TaskAnimalUnalerted = function (ped, p1, p2, p3, p4) {
	return _in(0x21fdf9a2, 0x5cfe1ce5, ped, p1, p2, p3, p4);
};

/**
 * TASK_ANIMAL_WRITHE
 */
global.TaskAnimalWrithe = function (ped, p1, p2) {
	return _in(0x8c038a39, 0xc4a4b6d6, ped, p1, p2);
};

/**
 * TASK_ARREST_PED
 */
global.TaskArrestPed = function (ped, target) {
	return _in(0xf3b9a78a, 0x178572b1, ped, target);
};

/**
 * TASK_BARK
 */
global.TaskBark = function (ped, barkAtTarget, mood) {
	return _in(0x83bfc1f8, 0x36b2f3f2, ped, barkAtTarget, _ch(mood));
};

/**
 * _TASK_BOARD_VEHICLE
 */
global.TaskBoardVehicle = function (ped, vehicle, p2, p3, p4, p5) {
	return _in(0xe53d17ad, 0x837cbf7c, ped, vehicle, p2, p3, p4, p5);
};

/**
 * _TASK_BOARD_VEHICLE_2
 */
global.TaskBoardVehicle_2 = function (ped, p1, p2, p3, flags) {
	return _in(0xe41a09c8, 0xddff7aa4, ped, p1, p2, _fv(p3), flags);
};

/**
 * TASK_BOAT_MISSION
 */
global.TaskBoatMission = function (pedDriver, boat, p2, p3, x, y, z, p7, maxSpeed, drivingStyle, p10, p11) {
	return _in(0x15c86013, 0x127ce63f, pedDriver, boat, p2, p3, _fv(x), _fv(y), _fv(z), p7, _fv(maxSpeed), drivingStyle, _fv(p10), p11);
};

/**
 * TASK_BREAK_VEHICLE_DOOR_LOCK
 */
global.TaskBreakVehicleDoorLock = function (ped, vehicle) {
	return _in(0xbb28d1bc, 0x9ea8a6a5, ped, vehicle);
};

/**
 * carriableSlot:
 * 7 > Back of a horse
 * 6 > Right side of a horse
 * 5 > Left side of a horse
 * flags:
 * 512: enables the prompt being the name of the item when using a generic item
 */
global.TaskCarriable = function (entity, carryConfig, carrier, carriableSlot, flags) {
	return _in(0xf0b4f759, 0xf35cc7f5, entity, _ch(carryConfig), carrier, carriableSlot, flags);
};
global.N_0xf0b4f759f35cc7f5 = global.TaskCarriable;

/**
 * TASK_CLEAR_DEFENSIVE_AREA
 */
global.TaskClearDefensiveArea = function (ped) {
	return _in(0x95a6c46a, 0x31d1917d, ped);
};

/**
 * TASK_CLEAR_LOOK_AT
 */
global.TaskClearLookAt = function (ped) {
	return _in(0x0f804f1d, 0xb19b9689, ped);
};

/**
 * Climbs or vaults the nearest thing.
 */
global.TaskClimb = function (ped, unused) {
	return _in(0x89d9fcc2, 0x435112f1, ped, unused);
};

/**
 * TASK_CLIMB_LADDER
 */
global.TaskClimbLadder = function (ped, p1, p2, p3) {
	return _in(0xb6c987f9, 0x285a3814, ped, _fv(p1), p2, p3);
};

/**
 * _TASK_CLIMB_2
 */
global.TaskClimb_2 = function (ped, heading) {
	return _in(0xdf1d85bc, 0xaf60d537, ped, _fv(heading));
};

/**
 * TASK_COMBAT_ANIMAL_CHARGE_PED
 */
global.TaskCombatAnimalChargePed = function (ped, targetPed, p2, p3, p4, p5, p6) {
	return _in(0xee3aa414, 0xcf99f368, ped, targetPed, p2, p3, p4, p5, p6);
};
global.TaskCombatAnimalCharge = global.TaskCombatAnimalChargePed;

/**
 * TASK_COMBAT_ANIMAL_WARN
 */
global.TaskCombatAnimalWarn = function (ped, p1, p2) {
	return _in(0xf960f3d5, 0x7b660e96, ped, p1, p2);
};

/**
 * TASK_COMBAT_HATED_TARGETS
 */
global.TaskCombatHatedTargets = function (ped, radius) {
	return _in(0x8182b561, 0xa29bd597, ped, _fv(radius));
};

/**
 * Despite its name, it only attacks ONE hated target. The one closest hated target.
 */
global.TaskCombatHatedTargetsAroundPed = function (ped, radius, flags, p3) {
	return _in(0x7bf835bb, 0x9e2698c8, ped, _fv(radius), flags, p3);
};

/**
 * TASK_COMBAT_HATED_TARGETS_AROUND_PED_TIMED
 */
global.TaskCombatHatedTargetsAroundPedTimed = function (ped, radius, time, flags) {
	return _in(0x2bba30b8, 0x54534a0c, ped, _fv(radius), time, flags);
};

/**
 * Despite its name, it only attacks ONE hated target. The one closest to the specified position.
 */
global.TaskCombatHatedTargetsInArea = function (ped, x, y, z, radius, flags, p6) {
	return _in(0x4cf5f55d, 0xac3280a0, ped, _fv(x), _fv(y), _fv(z), _fv(radius), flags, p6);
};

/**
 * TASK_COMBAT_HATED_TARGETS_NO_LOS_TEST
 */
global.TaskCombatHatedTargetsNoLosTest = function (ped, radius) {
	return _in(0xb5bc69d9, 0xc4060bc3, ped, _fv(radius));
};

/**
 * TASK_COMBAT_PED
 */
global.TaskCombatPed = function (ped, targetPed, p2, p3) {
	return _in(0xf166e484, 0x07bac484, ped, targetPed, p2, p3);
};

/**
 * TASK_COMBAT_PED_TIMED
 */
global.TaskCombatPedTimed = function (ped, targetPed, p2, p3) {
	return _in(0x944f30dc, 0xb7096bde, ped, targetPed, p2, p3);
};

/**
 * _TASK_COMBAT_PED_3
 */
global.TaskCombatPed_3 = function (p0, p1, p2, p3, p4, p5) {
	return _in(0xc624414f, 0xa748b9ba, p0, p1, p2, p3, p4, p5);
};

/**
 * TASK_COMPANION_AMBIENT
 */
global.TaskCompanionAmbient = function (ped, p1) {
	return _in(0xe017cf6e, 0x2527fe4f, ped, p1);
};

/**
 * TASK_CONFRONT
 */
global.TaskConfront = function (ped, targetPed, p2) {
	return _in(0x3a2a2071, 0xdf5cc569, ped, targetPed, p2, _r, _ri);
};

/**
 * TASK_COWER
 */
global.TaskCower = function (ped, duration, pedToCowerFrom, p3) {
	return _in(0x3eb1fe9e, 0x8e908e15, ped, duration, pedToCowerFrom, _ts(p3));
};

/**
 * _TASK_CUT_FREE_HOGTIED_TARGET_PED
 */
global.TaskCutFreeHogtiedTargetPed = function (ped, targetPed) {
	return _in(0x81d16c4f, 0xf3a77adf, ped, targetPed);
};

/**
 * _TASK_CUT_FREE_HOGTIED_TARGET_PED_2
 */
global.TaskCutFreeHogtiedTargetPed_2 = function (ped, targetPed, p2) {
	return _in(0x525421a5, 0x07216084, ped, targetPed, _fv(p2));
};

/**
 * flags: See TASK_ENTER_VEHICLE
 */
global.TaskDisembarkNearestTrainCarriage = function (ped, p1, flags) {
	return _in(0x0a11f3bd, 0xec03ed5f, ped, _fv(p1), flags);
};
global.TaskDisembarkVehicle_2 = global.TaskDisembarkNearestTrainCarriage;

/**
 * _TASK_DISEMBARK_VEHICLE
 */
global.TaskDisembarkVehicle = function (p0, vehicle, p2, p3, p4, p5) {
	return _in(0xa7c6854b, 0xb5a4192a, p0, vehicle, p2, p3, _fv(p4), p5);
};

/**
 * Dismounts the ped from the animal it's mounted on. taskFlag affects what side the rider gets off. p2-p5 are almost always 0.
 * flags: See TASK_ENTER_VEHICLE
 */
global.TaskDismountAnimal = function (rider, taskFlag, p2, p3, p4, targetPed) {
	return _in(0x48e92d3d, 0xde23c23a, rider, taskFlag, p2, p3, p4, targetPed);
};

/**
 * TASK_DRIVE_BY
 */
global.TaskDriveBy = function (driverPed, targetPed, targetVehicle, targetX, targetY, targetZ, distanceToShoot, pedAccuracy, p8, firingPattern) {
	return _in(0x2f8af0e8, 0x2773a171, driverPed, targetPed, targetVehicle, _fv(targetX), _fv(targetY), _fv(targetZ), _fv(distanceToShoot), pedAccuracy, p8, _ch(firingPattern));
};

/**
 * TASK_DUCK
 */
global.TaskDuck = function (ped, p1) {
	return _in(0xa14b5fbf, 0x986bac23, ped, p1);
};

/**
 * Params: p4 either 0.2f, 0.25f, 0.31f, 0.4f
 */
global.TaskDuel = function (ped, p1, p2, entity, p4, p5, vPosOpponentX, vPosOpponentY, vPosOpponentZ, fOpponentHead, p10) {
	return _in(0x5d5b0d5b, 0xc3626e5a, ped, p1, _fv(p2), entity, _fv(p4), p5, _fv(vPosOpponentX), _fv(vPosOpponentY), _fv(vPosOpponentZ), _fv(fOpponentHead), p10);
};

/**
 * TASK_DUMP_CARRIABLE_FROM_PARENT
 */
global.TaskDumpCarriableFromParent = function (ped, ped2, entity) {
	return _in(0x17ca9870, 0x7b15926a, ped, ped2, entity);
};

/**
 * TASK_EAT
 */
global.TaskEat = function (ped, p1, p2) {
	return _in(0xbd7949bd, 0x07299672, ped, p1, p2);
};

/**
 * _TASK_EMOTE_OUTRO
 */
global.TaskEmoteOutro = function (ped) {
	return _in(0xbdfeeb76, 0x00bcd938, ped);
};
global.N_0xbdfeeb7600bcd938 = global.TaskEmoteOutro;

/**
 * flags:
 * MOVE_WHILST_WAITING_FOR_PATH = (1 << 0),
 * DO_NOT_STAND_STILL_AT_END_OF_PATH = (1 << 1),
 * SKIP_NAVIGATION = (1 << 2),
 * TEASF_AUTO_START_ANIM_SCENE = (1 << 3),
 * FORCE_STAND_STILL_AT_END_OF_PATH = (1 << 6),
 * ENTER_ANIM_SCENE_DONT_FOLLOW_NAVMESH = (1 << 7)
 */
global.TaskEnterAnimScene = function (ped, animScene, entityName, playbackListName, enterSpeed, bAutoStart, flag, p7, p8) {
	return _in(0xc2329b02, 0x06426644, ped, animScene, _ts(entityName), _ts(playbackListName), _fv(enterSpeed), bAutoStart, flag, p7, _fv(p8));
};

/**
 * TASK_ENTER_COVER
 */
global.TaskEnterCover = function (ped) {
	return _in(0x4972a022, 0xae6dafa1, ped);
};

/**
 * TASK_ENTER_TRANSPORT
 */
global.TaskEnterTransport = function (args) {
	return _in(0xaee3add0, 0x8829cb6f, _ii(args) /* may be optional */);
};

/**
 * flags: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/eEnterExitVehicleFlags
 */
global.TaskEnterVehicle = function (ped, vehicle, timeout, seat, speed, flag, p6) {
	return _in(0xc20e50aa, 0x46d09ca8, ped, vehicle, timeout, seat, _fv(speed), flag, p6);
};

/**
 * _A*
 */
global.TaskEquipHat = function (hatObject, ped) {
	return _in(0xaa0af602, 0x5160243a, hatObject, ped);
};
global.N_0xaa0af6025160243a = global.TaskEquipHat;

/**
 * Params: p2 is returned by BUILTIN::SHIFT_LEFT
 */
global.TaskEvasiveAnim = function (ped1, ped2, p2) {
	return _in(0x5f22926e, 0x1bce9b08, ped1, ped2, p2);
};

/**
 * TASK_EVERYONE_LEAVE_VEHICLE
 */
global.TaskEveryoneLeaveVehicle = function (p0, p1) {
	return _in(0x7f93691a, 0xb4b92272, p0, p1);
};

/**
 * TASK_EVERYONE_LEAVE_VEHICLE_IN_ORDER
 */
global.TaskEveryoneLeaveVehicleInOrder = function (vehicle, p1) {
	return _in(0x6f1c49f2, 0x75bd25b3, vehicle, p1);
};

/**
 * TASK_EXIT_COVER
 */
global.TaskExitCover = function (ped) {
	return _in(0x2bc4a6d9, 0x2d140112, ped);
};

/**
 * TASK_EXIT_TRANSPORT
 */
global.TaskExitTransport = function (args) {
	return _in(0xc273a5b8, 0x488f7838, _ii(args) /* may be optional */);
};

/**
 * Adds a new point to the current point route. Call TASK_FLUSH_ROUTE before the first call to this. Call TASK_FOLLOW_POINT_ROUTE to make the Ped go the route.
 * A maximum of 8 points can be added.
 */
global.TaskExtendRoute = function (x, y, z) {
	return _in(0x1e788977, 0x8264843a, _fv(x), _fv(y), _fv(z));
};

/**
 * Params: p5 = some flag?, p6 = -1.0f, p8 = 0 in R* Scripts
 * fleeStyle: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/eFleeStyle
 */
global.TaskFleeCoord = function (ped, x, y, z, fleeStyle, p5, p6, duration, p8) {
	return _in(0x58428248, 0xbf4b64e4, ped, _fv(x), _fv(y), _fv(z), fleeStyle, p5, _fv(p6), duration, p8);
};
global.TaskSmartFleeStyleCoord = global.TaskFleeCoord;

/**
 * TASK_FLEE_COORD_VIA
 */
global.TaskFleeCoordVia = function (p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11) {
	return _in(0x390e0b69, 0x7d25eaf5, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11);
};
global.TaskSmartFleeStyleCoordVia = global.TaskFleeCoordVia;

/**
 * fleeType: see TASK_FLEE_COORD
 */
global.TaskFleeFromCoord = function (p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11) {
	return _in(0x6879ff20, 0x8ed87f2a, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11);
};

/**
 * fleeType: see TASK_FLEE_COORD
 */
global.TaskFleeFromPed = function (ped, fleeFromTarget, x, y, z, distance, p6, p7, p8, targetPed) {
	return _in(0x7b74d8ee, 0xde9b5727, ped, fleeFromTarget, _fv(x), _fv(y), _fv(z), _fv(distance), p6, p7, _fv(p8), targetPed);
};

/**
 * Params: p4 = -1.0f, p5 = -1, p6 = 0 in R* Scripts
 * fleeStyle: see TASK_FLEE_COORD
 */
global.TaskFleePed = function (ped, fleeFromTarget, fleeStyle, flag, p4, p5, p6) {
	return _in(0xfd45175a, 0x6dfd7ce9, ped, fleeFromTarget, fleeStyle, flag, _fv(p4), p5, p6);
};
global.TaskSmartFleeStylePed = global.TaskFleePed;

/**
 * TASK_FLEE_PED_VIA
 */
global.TaskFleePedVia = function (p0, p1, p2, p3, p4, p5, p6, p7, p8, p9) {
	return _in(0x5802e0f9, 0x10e4cf1d, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9);
};
global.TaskSmartFleeStylePedVia = global.TaskFleePedVia;

/**
 * Clears the current point route. Call this before TASK_EXTEND_ROUTE and TASK_FOLLOW_POINT_ROUTE.
 */
global.TaskFlushRoute = function () {
	return _in(0x841142a1, 0x376e9006);
};

/**
 * TASK_FLY_AWAY
 */
global.TaskFlyAway = function (ped, fleeFromTarget) {
	return _in(0xe86a537b, 0x5a3c297c, ped, fleeFromTarget);
};

/**
 * TASK_FLY_TO_COORD
 */
global.TaskFlyToCoord = function (ped, travelMbr, x, y, z, p5, p6) {
	return _in(0xd6cfc2d5, 0x9da72042, ped, _fv(travelMbr), _fv(x), _fv(y), _fv(z), p5, p6);
};

/**
 * TASK_FLYING_CIRCLE
 */
global.TaskFlyingCircle = function (ped, p1, p2, p3, p4, p5, p6) {
	return _in(0x72997893, 0xbfb8eccc, ped, p1, p2, p3, p4, p5, p6);
};

/**
 * TASK_FOLLOW_AND_CONVERSE_WITH_PED
 */
global.TaskFollowAndConverseWithPed = function (ped, targetPed, p2, p3, p4, p5, p6, p7, p8, p9, p10) {
	return _in(0x489ffccc, 0xe7392b55, ped, targetPed, p2, p3, _fv(p4), _fv(p5), p6, p7, p8, _fv(p9), _fv(p10));
};

/**
 * TASK_FOLLOW_ENTITY_ALONG_WAYPOINT_RECORDING_AT_OFFSET
 */
global.TaskFollowEntityAlongWaypointRecordingAtOffset = function (ped0, ped1, waypointRecording, p3, p4, p5, p6, p7, p8) {
	return _in(0x4d2b787b, 0xae9ab760, ped0, ped1, _ts(waypointRecording), _fv(p3), _fv(p4), p5, p6, p7, p8);
};

/**
 * TASK_FOLLOW_ENTITY_WHILE_AIMING_AT_ENTITY
 */
global.TaskFollowEntityWhileAimingAtEntity = function (ped, p1, p2, p3, p4, p5, p6, p7) {
	return _in(0x2d532eaa, 0x142cf83f, ped, p1, p2, p3, p4, p5, p6, p7);
};

/**
 * If no timeout, set timeout to -1.
 */
global.TaskFollowNavMeshToCoord = function (ped, x, y, z, speedMultiplier, timeout, stoppingRange, flags, heading) {
	return _in(0x15d3a79d, 0x4e44b913, ped, _fv(x), _fv(y), _fv(z), _fv(speedMultiplier), timeout, _fv(stoppingRange), flags, _fv(heading));
};

/**
 * TASK_FOLLOW_NAV_MESH_TO_COORD_ADVANCED
 */
global.TaskFollowNavMeshToCoordAdvanced = function (ped, x, y, z, speedMultiplier, timeout, stoppingRange, flags, p8, p9, p10, entity, unk) {
	return _in(0x17f58b88, 0xd085dbac, ped, _fv(x), _fv(y), _fv(z), _fv(speedMultiplier), timeout, _fv(stoppingRange), flags, _fv(p8), _fv(p9), _fv(p10), entity, _fv(unk));
};

/**
 * TASK_FOLLOW_PAVEMENT_TO_COORD
 */
global.TaskFollowPavementToCoord = function (ped, args) {
	return _in(0x1b147541, 0x4e70dd8e, ped, _ii(args) /* may be optional */);
};

/**
 * TASK_FOLLOW_POINT_ROUTE
 */
global.TaskFollowPointRoute = function (ped, p1, p2, p3, p4, p5) {
	return _in(0x0e14c555, 0x0dc3cd1d, ped, p1, p2, p3, p4, p5);
};

/**
 * TASK_FOLLOW_TO_OFFSET_OF_COORD
 */
global.TaskFollowToOffsetOfCoord = function (ped, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14) {
	return _in(0x2e367628, 0x2c18a692, ped, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14);
};

/**
 * TASK_FOLLOW_TO_OFFSET_OF_ENTITY
 */
global.TaskFollowToOffsetOfEntity = function (ped, entity, offsetX, offsetY, offsetZ, movementSpeed, timeout, stoppingRange, persistFollowing, p9, walkOnly, p11, p12, p13) {
	return _in(0x304ae42e, 0x357b8c7e, ped, entity, _fv(offsetX), _fv(offsetY), _fv(offsetZ), _fv(movementSpeed), timeout, _fv(stoppingRange), persistFollowing, p9, walkOnly, p11, p12, p13);
};

/**
 * TASK_FOLLOW_WAYPOINT_RECORDING
 */
global.TaskFollowWaypointRecording = function (ped, waypointRecording, p2, flag, p4, p5, p6, p7) {
	return _in(0x07595918, 0x19534f7b, ped, _ts(waypointRecording), p2, flag, p4, p5, p6, p7);
};

/**
 * TASK_FOLLOW_WAYPOINT_RECORDING_ADVANCED
 */
global.TaskFollowWaypointRecordingAdvanced = function (ped, p1) {
	return _in(0x0cfc13eb, 0xc19bca52, ped, p1);
};

/**
 * TASK_FOLLOW_WAYPOINT_RECORDING_AT_OFFSET
 */
global.TaskFollowWaypointRecordingAtOffset = function (ped, waypointRecording, p2, p3, p4, p5, p6) {
	return _in(0xbe9b0520, 0xbd7c445b, ped, _ts(waypointRecording), _fv(p2), p3, p4, p5, p6);
};

/**
 * motionStateHash: see FORCE_PED_MOTION_STATE
 */
global.TaskForceMotionState = function (ped, motionStateHash, p2) {
	return _in(0x4f056e1a, 0xffef17ab, ped, _ch(motionStateHash), p2);
};

/**
 * TASK_GO_STRAIGHT_TO_COORD
 */
global.TaskGoStraightToCoord = function (ped, x, y, z, moveBlendSpeedY, p5, p6, p7, p8) {
	return _in(0xd76b57b4, 0x4f1e6f8b, ped, _fv(x), _fv(y), _fv(z), _fv(moveBlendSpeedY), p5, _fv(p6), _fv(p7), p8);
};

/**
 * TASK_GO_STRAIGHT_TO_COORD_RELATIVE_TO_ENTITY
 */
global.TaskGoStraightToCoordRelativeToEntity = function (ped, p1, p2, p3, p4, p5, p6, p7) {
	return _in(0x61e360b7, 0xe040d12e, ped, p1, p2, p3, p4, p5, p6, p7);
};

/**
 * TASK_GO_TO_COORD_AND_AIM_AT_HATED_ENTITIES_NEAR_COORD
 */
global.TaskGoToCoordAndAimAtHatedEntitiesNearCoord = function (ped, goToLocationX, goToLocationY, goToLocationZ, focusLocationX, focusLocationY, focusLocationZ, speed, shootAtEnemies, distanceToStopAt, noRoadsDistance, unkTrue, unkFlag, aimingFlag, firingPattern) {
	return _in(0xa5554780, 0x1eb331fc, ped, _fv(goToLocationX), _fv(goToLocationY), _fv(goToLocationZ), _fv(focusLocationX), _fv(focusLocationY), _fv(focusLocationZ), _fv(speed), shootAtEnemies, _fv(distanceToStopAt), _fv(noRoadsDistance), unkTrue, unkFlag, aimingFlag, _ch(firingPattern));
};

/**
 * TASK_GO_TO_COORD_AND_AIM_AT_HATED_ENTITIES_NEAR_COORD_USING_COMBAT_STYLE
 */
global.TaskGoToCoordAndAimAtHatedEntitiesNearCoordUsingCombatStyle = function (ped, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14) {
	return _in(0x87bd711f, 0xc31ea273, ped, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14);
};

/**
 * TASK_GO_TO_COORD_ANY_MEANS
 */
global.TaskGoToCoordAnyMeans = function (ped, x, y, z, speed, entity, p6, walkingStyle, p8) {
	return _in(0x5bc448cb, 0x78fa3e88, ped, _fv(x), _fv(y), _fv(z), _fv(speed), entity, p6, walkingStyle, _fv(p8));
};

/**
 * TASK_GO_TO_COORD_ANY_MEANS_EXTRA_PARAMS
 */
global.TaskGoToCoordAnyMeansExtraParams = function (ped, x, y, z, speed, p5, p6, walkingStyle, p8, p9, p10, p11, p12) {
	return _in(0x1dd45f9e, 0xcfdb1bc9, ped, _fv(x), _fv(y), _fv(z), _fv(speed), p5, p6, walkingStyle, _fv(p8), p9, p10, p11, p12);
};

/**
 * TASK_GO_TO_COORD_ANY_MEANS_EXTRA_PARAMS_WITH_CRUISE_SPEED
 */
global.TaskGoToCoordAnyMeansExtraParamsWithCruiseSpeed = function (ped, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14) {
	return _in(0xb8ecd61f, 0x531a7b02, ped, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14);
};

/**
 * TASK_GO_TO_COORD_WHILE_AIMING_AT_COORD
 */
global.TaskGoToCoordWhileAimingAtCoord = function (ped, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15) {
	return _in(0x11315ab3, 0x385b8ac0, ped, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15);
};

/**
 * TASK_GO_TO_COORD_WHILE_AIMING_AT_COORD_USING_COMBAT_STYLE
 */
global.TaskGoToCoordWhileAimingAtCoordUsingCombatStyle = function (ped, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15) {
	return _in(0x639c0425, 0xa0b4e77e, ped, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15);
};

/**
 * TASK_GO_TO_COORD_WHILE_AIMING_AT_ENTITY
 */
global.TaskGoToCoordWhileAimingAtEntity = function (ped1, x, y, z, ped2, p5, p6, p7, p8, p9, p10, p11, firingPattern, p13, p14) {
	return _in(0xb2a16444, 0xead9ae47, ped1, _fv(x), _fv(y), _fv(z), ped2, _fv(p5), p6, _fv(p7), _fv(p8), p9, p10, p11, _ch(firingPattern), p13, p14);
};

/**
 * TASK_GO_TO_COORD_WHILE_AIMING_AT_ENTITY_USING_COMBAT_STYLE
 */
global.TaskGoToCoordWhileAimingAtEntityUsingCombatStyle = function (ped, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14) {
	return _in(0x78426d09, 0x82d083c9, ped, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14);
};

/**
 * TASK_GO_TO_ENTITY
 */
global.TaskGoToEntity = function (ped, target, duration, distance, speed, p5, p6) {
	return _in(0x6a071245, 0xeb0d1882, ped, target, duration, _fv(distance), _fv(speed), _fv(p5), p6);
};

/**
 * shootatEntity:
 * If true, peds will shoot at Entity till it is dead.
 * If false, peds will just walk till they reach the entity and will cease shooting.
 */
global.TaskGoToEntityWhileAimingAtEntity = function (ped, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10) {
	return _in(0x97465886, 0xd35210e9, ped, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10);
};

/**
 * TASK_GO_TO_ENTITY_WHILE_AIMING_AT_ENTITY_USING_COMBAT_STYLE
 */
global.TaskGoToEntityWhileAimingAtEntityUsingCombatStyle = function (ped, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10) {
	return _in(0xcef0117c, 0x233026ad, ped, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10);
};

/**
 * enum eWhistleType
 * {
 * WHISTLE_MAIN,
 * WHISTLE_SECONDARY,
 * WHISTLE_DOUBLE,
 * WHISTLE_URGENT,
 * WHISTLE_LONG
 * };
 */
global.TaskGoToWhistle = function (ped, p1, whistleType) {
	return _in(0xbad65456, 0x08ceca6e, ped, p1, whistleType);
};

/**
 * ped = Ped you want to perform this task.
 * target = the Entity they should aim at.
 * distanceToStopAt = distance from the target, where the ped should stop to aim.
 * StartAimingDist = distance where the ped should start to aim.
 */
global.TaskGotoEntityAiming = function (ped, target, distanceToStopAt, StartAimingDist) {
	return _in(0xa9da48fa, 0xb8a76c12, ped, target, _fv(distanceToStopAt), _fv(StartAimingDist));
};

/**
 * TASK_GOTO_ENTITY_OFFSET
 */
global.TaskGotoEntityOffset = function (ped, entity, p2, x, y, z, duration) {
	return _in(0xe39b4ff4, 0xfdebde27, ped, entity, p2, _fv(x), _fv(y), _fv(z), duration);
};

/**
 * TASK_GOTO_ENTITY_OFFSET_XY
 */
global.TaskGotoEntityOffsetXy = function (ped, entity, duration, targetRadius, xOffset, yOffset, moveBlendRatio, offsetFlags) {
	return _in(0x338e7ef5, 0x2b6095a9, ped, entity, duration, _fv(targetRadius), _fv(xOffset), _fv(yOffset), _fv(moveBlendRatio), offsetFlags);
};

/**
 * TASK_GOTO_ENTITY_OFFSET_XY_AIMING
 */
global.TaskGotoEntityOffsetXyAiming = function (ped, p1, p2, p3, p4, p5, p6, p7, p8) {
	return _in(0x901bd699, 0x84400f62, ped, p1, p2, p3, p4, p5, p6, p7, p8);
};

/**
 * NativeDB Introduced: v1311
 */
global.TaskGotoEntityOffsetXyz = function (ped, p1, p2, p3, p4, p5, p6, p7, p8) {
	return _in(0xfa6da9d1, 0x51769392, ped, p1, p2, p3, p4, p5, p6, p7, p8);
};

/**
 * TASK_GOTO_ENTITY_OFFSET_XYZ_AIMING
 */
global.TaskGotoEntityOffsetXyzAiming = function (ped, p1, p2, p3, p4, p5, p6, p7, p8, p9) {
	return _in(0x41b0832c, 0xa96b5351, ped, p1, p2, p3, p4, p5, p6, p7, p8, p9);
};

/**
 * grappleStyle: AR_GRAPPLE_MOUNT_STANDING_FROM_FRONT, AR_GRAPPLE_MOUNT_STANDING_FROM_RIGHT, AR_GRAPPLE_MOUNT_STANDING_FROM_BACK, AR_GRAPPLE_MOUNT_STANDING_FROM_LEFT, AR_GRAPPLE_MOUNT_FROM_FRONT, AR_WOLF_EXECUTION_ENTER_FROM_BACK, AR_GRAPPLE_DRAG_FRONT_ON_ASS, AR_GRAPPLE_FRONT_FROM_LEFT_FAR, AR_BEAR_CHALLENGE_FRONT, AR_GRAPPLE_FRONT_FROM_FRONT, AR_GRAPPLE_MOUNT_FACEUP_FROM_FRONT
 */
global.TaskGrapple = function (ped, targetPed, grappleStyle, p3, p4, p5, p6) {
	return _in(0x779a2ffa, 0xcefaea7b, ped, targetPed, _ch(grappleStyle), p3, _fv(p4), p5, p6, _r, _ri);
};

/**
 * TASK_GUARD
 */
global.TaskGuard = function (ped, p1, p2) {
	return _in(0xb9fb242e, 0xaccaf30f, ped, p1, p2);
};

/**
 * TASK_GUARD_ASSIGNED_DEFENSIVE_AREA
 */
global.TaskGuardAssignedDefensiveArea = function (ped, p1, p2, p3, p4, p5, p6) {
	return _in(0xd2a207ee, 0xbdf9889b, ped, _fv(p1), _fv(p2), _fv(p3), _fv(p4), _fv(p5), p6);
};

/**
 * _TASK_GUARD_ASSIGNED_DEFENSIVE_AREA_2
 */
global.TaskGuardAssignedDefensiveArea_2 = function (ped, p1, p2, p3, p4, p5, p6, p7) {
	return _in(0x1fc9b339, 0x76bacd6c, ped, p1, p2, p3, p4, p5, p6, p7);
};

/**
 * TASK_GUARD_CURRENT_POSITION
 */
global.TaskGuardCurrentPosition = function (ped, p1, p2, p3) {
	return _in(0x4a58a47a, 0x72e3fcb4, ped, _fv(p1), _fv(p2), p3);
};

/**
 * flags: 0 = HANDS_UP_NOTHING; 1 = HANDS_UP_STRAIGHT_TO_LOOP
 */
global.TaskHandsUp = function (ped, duration, facingPed, timeToFacePed, flags) {
	return _in(0xf2eab319, 0x79a7f910, ped, duration, facingPed, timeToFacePed, flags);
};

/**
 * TASK_HITCH_ANIMAL
 */
global.TaskHitchAnimal = function (ped, scenarioPoint, flag) {
	return _in(0x9030ad4b, 0x6207bfe8, ped, scenarioPoint, flag);
};

/**
 * TASK_HOGTIE_TARGET_PED
 */
global.TaskHogtieTargetPed = function (ped, targetPed) {
	return _in(0x27829afd, 0x3e03ac1a, ped, targetPed);
};

/**
 * TASK_HOGTIEABLE
 */
global.TaskHogtieable = function (ped) {
	return _in(0x6afd8fe0, 0xd723328f, ped);
};

/**
 * https://github.com/femga/rdr3_discoveries/tree/master/tasks/TASK_HORSE_ACTION
 * Params: p2, p3 are set to 0 in R* Scripts
 */
global.TaskHorseAction = function (ped, action, targetPed, p3) {
	return _in(0xa09cfd29, 0x100f06c3, ped, action, targetPed, p3);
};

/**
 * _TASK_INTIMIDATED
 */
global.TaskIntimidated = function (p0, p1, p2, p3, p4) {
	return _in(0x648b75d4, 0x4930d6bd, p0, p1, p2, p3, p4, _r, _ri);
};

/**
 * _TASK_INTIMIDATED_2
 */
global.TaskIntimidated_2 = function (victim, attacker, p2, p3, p4, everyFrame, p6, p7, flag) {
	return _in(0x933acc1a, 0x1771a288, victim, attacker, p2, p3, p4, everyFrame, p6, p7, flag, _r, _ri);
};

/**
 * TASK_INVESTIGATE
 */
global.TaskInvestigate = function (ped, p1, p2, p3, p4, p5) {
	return _in(0x5c851454, 0x0d27fbfb, ped, p1, p2, p3, p4, p5);
};

/**
 * _TASK_ITEM_INTERACTION_2
 */
global.TaskItemInteraction_2 = function (ped, propNameGxt, prop, propId, itemInteractionState, p5, p6, p7) {
	return _in(0x72f52aa2, 0xd2b172cc, ped, _ch(propNameGxt), prop, _ch(propId), _ch(itemInteractionState), p5, p6, _fv(p7));
};

/**
 * Params: p3, p4, p5, p6: 0, 0, 0, -1.0f in R* Scripts
 */
global.TaskItemInteraction_3 = function (ped, item, p3, p4, p5, p6) {
	return _in(0xd61d5e1a, 0xd9876deb, ped, _ch(item), _i, p3, p4, p5, _fv(p6));
};

/**
 * TASK_JUMP
 */
global.TaskJump = function (ped, unused) {
	return _in(0x0ae40861, 0x04e067b1, ped, unused);
};

/**
 * _TASK_JUMP_2
 */
global.TaskJump_2 = function (ped, x, y, z, entity) {
	return _in(0x91083103, 0x137d7254, ped, _fv(x), _fv(y), _fv(z), entity);
};

/**
 * TASK_KNOCKED_OUT
 */
global.TaskKnockedOut = function (ped, p1, permanently) {
	return _in(0xf90427f0, 0x0a495a28, ped, _fv(p1), permanently);
};

/**
 * TASK_KNOCKED_OUT_AND_HOGTIED
 */
global.TaskKnockedOutAndHogtied = function (ped, p1, p2) {
	return _in(0x42ac6401, 0xabb8c7e5, ped, _fv(p1), p2);
};

/**
 * TASK_LASSO_PED
 */
global.TaskLassoPed = function (ped, targetPed) {
	return _in(0xc716eb2b, 0xd16370a3, ped, targetPed);
};

/**
 * TASK_LEAD_AND_CONVERSE
 */
global.TaskLeadAndConverse = function (ped, p1, p2, p3, p4, p5, p6, p7, p8) {
	return _in(0xaa19711d, 0x33c6708c, ped, p1, p2, p3, p4, p5, p6, p7, p8);
};

/**
 * TASK_LEAD_HORSE
 */
global.TaskLeadHorse = function (ped, horse) {
	return _in(0x9a7a4a54, 0x596fe09d, ped, horse);
};

/**
 * flags: See TASK_ENTER_VEHICLE
 */
global.TaskLeaveAnyVehicle = function (ped, p1, taskFlag) {
	return _in(0x504d54df, 0x3f6f2247, ped, p1, taskFlag);
};

/**
 * flags: See TASK_ENTER_VEHICLE
 */
global.TaskLeaveVehicle = function (ped, vehicle, flags, unkPed) {
	return _in(0xd3dbce61, 0xa490be02, ped, vehicle, flags, unkPed);
};

/**
 * TASK_LOOK_AT_COORD
 */
global.TaskLookAtCoord = function (ped, x, y, z, duration, flags, p6, p7) {
	return _in(0x6fa46612, 0x594f7973, ped, _fv(x), _fv(y), _fv(z), duration, flags, p6, p7);
};

/**
 * param3: duration in ms, use -1 to look forever
 * param4: using 2048 is fine
 * param5: using 3 is fine
 */
global.TaskLookAtEntity = function (ped, lookAtTarget, duration, p3, p4, p5) {
	return _in(0x69f4be8c, 0x8cc4796c, ped, lookAtTarget, duration, p3, p4, p5);
};

/**
 * TASK_LOOT_ENTITY
 */
global.TaskLootEntity = function (ped, entity) {
	return _in(0x48fae038, 0x401a2888, ped, entity);
};

/**
 * TASK_LOOT_NEAREST_ENTITY
 */
global.TaskLootNearestEntity = function (ped, x, y, z, p4, p5) {
	return _in(0xcf1501cb, 0xc4059412, ped, _fv(x), _fv(y), _fv(z), p4, _fv(p5));
};

/**
 * Params: p2: AR_TAKEDOWN_FRONT, AR_EXECUTION_FRONT, 0 in R* Scripts
 */
global.TaskMelee = function (ped, targetPed, p2, p3, p4, p5, p6, p7) {
	return _in(0x482c99d0, 0xb38d1b0a, ped, targetPed, _ch(p2), p3, p4, _fv(p5), p6, _fv(p7), _r, _ri);
};

/**
 * timer: in ms, if it reaches 0 it will auto warp the ped on the horse
 * mountStyle: See TASK_ENTER_VEHICLE
 * Flags will still apply to mountStyle
 */
global.TaskMountAnimal = function (ped, mount, timer, seatIndex, pedSpeed, mountStyle, p6, p7) {
	return _in(0x92db0739, 0x813c5186, ped, mount, timer, seatIndex, _fv(pedSpeed), mountStyle, p6, p7);
};

/**
 * TASK_MOVE_BE_IN_FORMATION
 */
global.TaskMoveBeInFormation = function (ped, p1, p2, p3, p4, p5, p6) {
	return _in(0x4aa5aa97, 0xc65e4a2f, ped, p1, p2, p3, p4, p5, p6);
};

/**
 * Params: moveBlendRatio commonly 1.25f, p5 is always 0 in R* Scripts
 */
global.TaskMoveFollowRoadUsingNavmesh = function (ped, moveBlendRatio, x, y, z, p5) {
	return _in(0x79482c12, 0x482a860d, ped, _fv(moveBlendRatio), _fv(x), _fv(y), _fv(z), p5);
};
global.TaskMoveInTraffic_4 = global.TaskMoveFollowRoadUsingNavmesh;

/**
 * TASK_MOVE_IN_TRAFFIC
 */
global.TaskMoveInTraffic = function (ped, p1, p2, p3) {
	return _in(0x8aa1593a, 0xec087a29, ped, p1, p2, p3);
};
global.TaskMoveInTraffic = global.TaskMoveInTraffic;

/**
 * TASK_MOVE_IN_TRAFFIC_AWAY_FROM_ENTITY
 */
global.TaskMoveInTrafficAwayFromEntity = function (ped, p1, p2, p3, p4) {
	return _in(0x13ded0bc, 0x45600fe1, ped, p1, p2, p3, p4);
};
global.TaskMoveInTraffic_3 = global.TaskMoveInTrafficAwayFromEntity;

/**
 * TASK_MOVE_IN_TRAFFIC_TO_DESTINATION
 */
global.TaskMoveInTrafficToDestination = function (ped, p1, p2, p3, p4, p5, p6, p7) {
	return _in(0xdca3a13f, 0x7a45338b, ped, p1, p2, p3, p4, p5, p6, p7);
};
global.TaskMoveInTraffic_2 = global.TaskMoveInTrafficToDestination;

/**
 * TASK_MOVE_NETWORK_ADVANCED_BY_NAME_WITH_INIT_PARAMS
 */
global.TaskMoveNetworkAdvancedByNameWithInitParams = function (ped, moveNetworkDefName, xPos, yPos, zPos, xRot, yRot, zRot, p9, p10, p11, p12, flag, p14) {
	return _in(0x7b6a04f9, 0x8bbafb2c, ped, _ts(moveNetworkDefName), _i, _fv(xPos), _fv(yPos), _fv(zPos), _fv(xRot), _fv(yRot), _fv(zRot), p9, _fv(p10), p11, p12, flag, p14);
};
global.N_0x7b6a04f98bbafb2c = global.TaskMoveNetworkAdvancedByNameWithInitParams;

/**
 * TASK_MOVE_NETWORK_ADVANCED_BY_NAME_WITH_INIT_PARAMS_ATTACHED
 */
global.TaskMoveNetworkAdvancedByNameWithInitParamsAttached = function (ped, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17) {
	return _in(0xf9217109, 0x3bcabed4, ped, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17);
};

/**
 * TASK_MOVE_NETWORK_BY_NAME
 */
global.TaskMoveNetworkByName = function (ped, task, multiplier, p3, animDict, flags) {
	return _in(0x2d537ba1, 0x94896636, ped, _ts(task), _fv(multiplier), p3, _ts(animDict), flags);
};

/**
 * TASK_MOVE_NETWORK_BY_NAME_WITH_INIT_PARAMS
 */
global.TaskMoveNetworkByNameWithInitParams = function (ped, moveNetworkDefName, p3, p4, animDict, flags) {
	return _in(0x139805c2, 0xa67c4795, ped, _ts(moveNetworkDefName), _i, _fv(p3), p4, _ts(animDict), flags);
};
global.N_0x139805c2a67c4795 = global.TaskMoveNetworkByNameWithInitParams;

/**
 * TASK_PATROL
 */
global.TaskPatrol = function (ped, patrolRoute, p2, p3, p4) {
	return _in(0xbda5df49, 0xd080fe4e, ped, _ts(patrolRoute), p2, p3, p4);
};

/**
 * _TASK_PATROL_2
 */
global.TaskPatrol_2 = function (p0, p1, p2, p3, p4, p5, p6, p7) {
	return _in(0x964b06c8, 0x8e4c86db, p0, p1, p2, p3, p4, p5, p6, p7);
};

/**
 * This tasks the ped to do nothing for the specified amount of milliseconds.
 * This is useful if you want to add a delay between tasks when using a sequence task.
 */
global.TaskPause = function (ped, ms) {
	return _in(0xe73a266d, 0xb0ca9042, ped, ms);
};

/**
 * TASK_PED_SLIDE_TO_COORD
 */
global.TaskPedSlideToCoord = function (ped, x, y, z, heading, p5) {
	return _in(0xd04fe676, 0x5d990a06, ped, _fv(x), _fv(y), _fv(z), _fv(heading), _fv(p5));
};

/**
 * TASK_PERFORM_SEQUENCE
 */
global.TaskPerformSequence = function (ped, taskSequenceId) {
	return _in(0x5aba3986, 0xd90d8a3b, ped, taskSequenceId);
};

/**
 * TASK_PERFORM_SEQUENCE_FROM_PROGRESS
 */
global.TaskPerformSequenceFromProgress = function (ped, p1, p2, p3) {
	return _in(0x89221b16, 0x730234f0, ped, p1, p2, p3);
};

/**
 * _TASK_PERFORM_SEQUENCE_2
 */
global.TaskPerformSequence_2 = function (p0, p1, p2, p3) {
	return _in(0x4fc0af86, 0x9d6e309d, p0, p1, p2, p3);
};

/**
 * TASK_PERSISTENT_CHARACTER
 */
global.TaskPersistentCharacter = function (ped) {
	return _in(0x4391700c, 0xbd89c3d8, ped);
};

/**
 * TASK_PICK_UP_WEAPON
 */
global.TaskPickUpWeapon = function (ped, p1) {
	return _in(0x55b0ecfd, 0x98596624, ped, p1);
};

/**
 * TASK_PICKUP_CARRIABLE_ENTITY
 */
global.TaskPickupCarriableEntity = function (ped, entity) {
	return _in(0x502ec17b, 0x1bed4bfa, ped, entity);
};

/**
 * TASK_PLACE_CARRIED_ENTITY_AT_COORD
 */
global.TaskPlaceCarriedEntityAtCoord = function (ped, entity, x, y, z, p5, flags) {
	return _in(0xc7f0b43d, 0xcdc57e3d, ped, entity, _fv(x), _fv(y), _fv(z), _fv(p5), flags);
};

/**
 * TASK_PLACE_CARRIED_ENTITY_ON_MOUNT
 */
global.TaskPlaceCarriedEntityOnMount = function (ped, entity, mount, p3) {
	return _in(0x6d3d87c5, 0x7b3d52c7, ped, entity, mount, _fv(p3));
};

/**
 * TASK_PLANT_BOMB
 */
global.TaskPlantBomb = function (ped, x, y, z, heading) {
	return _in(0x965fec69, 0x1d55e9bf, ped, _fv(x), _fv(y), _fv(z), _fv(heading));
};

/**
 * https://github.com/femga/rdr3_discoveries/tree/master/animations
 * flags: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/eScriptedAnimFlags
 * ikFlags: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/eIkControlFlags
 */
global.TaskPlayAnim = function (ped, animDict, animName, speed, speedMultiplier, duration, flags, playbackRate, p8, ikFlags, p10, taskFilter, p12) {
	return _in(0xea47fe37, 0x19165b94, ped, _ts(animDict), _ts(animName), _fv(speed), _fv(speedMultiplier), duration, flags, _fv(playbackRate), p8, ikFlags, p10, _ts(taskFilter), p12);
};

/**
 * flags: see TASK_PLAY_ANIM
 * ikFlags: see TASK_PLAY_ANIM
 */
global.TaskPlayAnimAdvanced = function (ped, animDict, animName, posX, posY, posZ, rotX, rotY, rotZ, speed, speedMultiplier, duration, flags, p13, p14, p15, p16) {
	return _in(0x83cdb10e, 0xa29b370b, ped, _ts(animDict), _ts(animName), _fv(posX), _fv(posY), _fv(posZ), _fv(rotX), _fv(rotY), _fv(rotZ), _fv(speed), _fv(speedMultiplier), duration, flags, _fv(p13), p14, p15, p16);
};

/**
 * Similar to 0xB31A277C1AC7B7FF but checks if the ped's inventory contains the specified emote kit.
 */
global.TaskPlayEmote = function (ped, emoteType, playbackMode, emote, isSecondaryTask, canBreakOut, disableEarlyOutAnimTag, ignoreInvalidMainTask, destroyProps) {
	return _in(0x884e3436, 0xcc1f41dd, ped, emoteType, playbackMode, _ch(emote), isSecondaryTask, canBreakOut, disableEarlyOutAnimTag, ignoreInvalidMainTask, destroyProps);
};
global.TaskEmote_2 = global.TaskPlayEmote;

/**
 * https://github.com/femga/rdr3_discoveries/blob/master/animations/kit_emotes_list.lua
 * emote: https://alloc8or.re/rdr3/doc/enums/eEmote.txt
 * enum eEmoteType
 * {
 * EMOTE_TYPE_INVALID = -1,
 * EMOTE_TYPE_REACT,
 * EMOTE_TYPE_ACTION,
 * EMOTE_TYPE_TAUNT,
 * EMOTE_TYPE_GREET,
 * EMOTE_TYPE_TWIRL_GUN,
 * EMOTE_TYPE_DANCE_FLOOR
 * };
 * enum eEmotePlaybackMode
 * {
 * EMOTE_PM_INVALID = -1,
 * EMOTE_PM_UPPERBODY,
 * EMOTE_PM_UPPERBODY_LOOP,
 * EMOTE_PM_FULLBODY,
 * };
 */
global.TaskPlayEmoteWithHash = function (ped, emoteType, playbackMode, emote, isSecondaryTask, canBreakOut, disableEarlyOutAnimTag, ignoreInvalidMainTask, destroyProps) {
	return _in(0xb31a277c, 0x1ac7b7ff, ped, emoteType, playbackMode, _ch(emote), isSecondaryTask, canBreakOut, disableEarlyOutAnimTag, ignoreInvalidMainTask, destroyProps);
};
global.TaskEmote = global.TaskPlayEmoteWithHash;

/**
 * TASK_PLAY_UPPER_ANIM_FACING_ENTITY
 */
global.TaskPlayUpperAnimFacingEntity = function (ped, animDict, animName, entity, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14) {
	return _in(0xad672142, 0x36ab1cfe, ped, _ts(animDict), _ts(animName), entity, p4, _fv(p5), _fv(p6), p7, _fv(p8), p9, p10, _fv(p11), _ts(p12), p13, _fv(p14));
};

/**
 * TASK_POLICE
 */
global.TaskPolice = function (ped, p1) {
	return _in(0x87be5672, 0x4650408e, ped, p1, _r, _ri);
};

/**
 * TASK_PUT_PED_DIRECTLY_INTO_COVER
 */
global.TaskPutPedDirectlyIntoCover = function (ped, x, y, z, timeout, p5, p6, p7, p8, coverpoint, p10, p11, p12) {
	return _in(0x4172393e, 0x6be1fece, ped, _fv(x), _fv(y), _fv(z), timeout, p5, _fv(p6), p7, p8, coverpoint, p10, p11, p12);
};

/**
 * _TASK_PUT_PED_DIRECTLY_INTO_COVER_FROM_COORDS
 */
global.TaskPutPedDirectlyIntoCoverFromCoords = function (ped, x, y, z, fromX, fromY, fromZ, timeout, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17) {
	return _in(0xdf8a5855, 0xb9f9a97b, ped, _fv(x), _fv(y), _fv(z), _fv(fromX), _fv(fromY), _fv(fromZ), timeout, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17);
};
global.N_0xdf8a5855b9f9a97b = global.TaskPutPedDirectlyIntoCoverFromCoords;

/**
 * grappleStyle: AR_GRAPPLE_STRUGGLE, AR_ALLIGATOR_LEG_GRAB_CHALLENGE_FAIL, AR_GRAPPLE_BACK_FROM_BACK, AR_GRAPPLE_BACK_DEFEND, AR_GRAPPLE_FRONT_FROM_FRONT
 */
global.TaskPutPedDirectlyIntoGrapple = function (ped, grappleTarget, grappleStyle, p3, p4, p5, p6) {
	return _in(0xa05f3f20, 0x889d7a5b, ped, grappleTarget, _ch(grappleStyle), _fv(p3), _fv(p4), p5, p6);
};
global.N_0xa05f3f20889d7a5b = global.TaskPutPedDirectlyIntoGrapple;

/**
 * meleeStyles: AR_GRAPPLE_BACK_FROM_BACK, AR_GRAPPLE_MOUNT_FACEDOWN_FROM_FRONT, AR_ALLIGATOR_LEAPKILL, AR_ALLIGATOR_WAIST_AUTOKILL_FRONT
 */
global.TaskPutPedDirectlyIntoMelee = function (ped, meleeTarget, meleeStyle, p3, animBlendRatio, p5, p6) {
	return _in(0x1c6cd14a, 0x876ffe39, ped, meleeTarget, _ch(meleeStyle), _fv(p3), _fv(animBlendRatio), p5, p6);
};

/**
 * Makes a ped react to an entity.
 * Params: reactingTo Entity can be 0, p8 is always 4
 */
global.TaskReact = function (ped, reactingTo, x, y, z, reactionName, p6, p7, p8) {
	return _in(0xc4c32c31, 0x920e1b70, ped, reactingTo, _fv(x), _fv(y), _fv(z), _ts(reactionName), _fv(p6), _fv(p7), p8);
};

/**
 * TASK_RELOAD_WEAPON
 */
global.TaskReloadWeapon = function (ped, unused) {
	return _in(0x62d2916f, 0x56b9cd2d, ped, unused);
};

/**
 * TASK_REVIVE_TARGET
 */
global.TaskReviveTarget = function (ped, reviver, tool) {
	return _in(0x35608852, 0x7d9ebaad, ped, reviver, _ch(tool));
};

/**
 * TASK_RIDE_TRAIN
 */
global.TaskRideTrain = function (ped, train, scenarioPoint, scenarioHash) {
	return _in(0x37fb1c87, 0x0e2ec2c6, ped, train, scenarioPoint, _ch(scenarioHash));
};

/**
 * TASK_ROB_PED
 */
global.TaskRobPed = function (ped, p1, p2, p3, p4) {
	return _in(0x7bb967f8, 0x5d8ccbdb, ped, p1, p2, p3, p4);
};

/**
 * TASK_SCRIPTED_ANIMATION
 */
global.TaskScriptedAnimation = function (ped, args) {
	return _in(0x126ef75f, 0x1e17abe5, ped, _ii(args) /* may be optional */);
};

/**
 * TASK_SEEK_CLEAR_LOS_TO_ENTITY
 */
global.TaskSeekClearLosToEntity = function (ped, entity, p2, p3, p4) {
	return _in(0x8d7f2a63, 0x688c20a4, ped, entity, _fv(p2), _fv(p3), _fv(p4));
};

/**
 * TASK_SEEK_COVER_FROM_PED
 */
global.TaskSeekCoverFromPed = function (ped, fromPed, duration, p3, p4, p5) {
	return _in(0x84d32b3b, 0xec531324, ped, fromPed, duration, p3, p4, p5);
};

/**
 * TASK_SEEK_COVER_FROM_POS
 */
global.TaskSeekCoverFromPos = function (ped, x, y, z, duration, p5, p6, p7) {
	return _in(0x75ac2b60, 0x386d89f2, ped, _fv(x), _fv(y), _fv(z), duration, p5, p6, p7);
};

/**
 * TASK_SEEK_COVER_TO_COORDS
 */
global.TaskSeekCoverToCoords = function (ped, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10) {
	return _in(0x39246a69, 0x58ef072c, ped, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10);
};

/**
 * TASK_SEEK_COVER_TO_COVER_POINT
 */
global.TaskSeekCoverToCoverPoint = function (ped, p1, p2, p3, p4, p5, p6, p7, p8) {
	return _in(0xd43d95c7, 0xa869447f, ped, p1, p2, p3, p4, p5, p6, p7, p8);
};

/**
 * TASK_SET_BLOCKING_OF_NON_TEMPORARY_EVENTS
 */
global.TaskSetBlockingOfNonTemporaryEvents = function (ped, toggle) {
	return _in(0x90d21561, 0x98831d69, ped, toggle);
};

/**
 * TASK_SET_CROUCH_MOVEMENT
 */
global.TaskSetCrouchMovement = function (ped, p1, p2, p3) {
	return _in(0x17293c63, 0x3c8ac019, ped, p1, p2, p3);
};

/**
 * TASK_SET_SPHERE_DEFENSIVE_AREA
 */
global.TaskSetSphereDefensiveArea = function (ped, p1, p2, p3, p4) {
	return _in(0x933c0651, 0x8b52a9a4, ped, _fv(p1), _fv(p2), _fv(p3), _fv(p4));
};

/**
 * TASK_SET_STEALTH_MOVEMENT
 */
global.TaskSetStealthMovement = function (ped, p1, p2, p3) {
	return _in(0x4c3fa937, 0xb44a90fa, ped, p1, p2, p3);
};

/**
 * TASK_SHOCKING_EVENT_REACT
 */
global.TaskShockingEventReact = function (ped, p1, p2) {
	return _in(0x452419cb, 0xd838065b, ped, p1, p2);
};

/**
 * TASK_SHOOT_AT_COORD
 */
global.TaskShootAtCoord = function (ped, x, y, z, duration, firingPattern, p6) {
	return _in(0x46a6cc01, 0xe0826106, ped, _fv(x), _fv(y), _fv(z), duration, _ch(firingPattern), p6);
};

/**
 * TASK_SHOOT_AT_ENTITY
 */
global.TaskShootAtEntity = function (entity, targetEntity, duration, firingPattern, affectCockedState) {
	return _in(0x08da95e8, 0x298ae772, entity, targetEntity, duration, _ch(firingPattern), affectCockedState);
};

/**
 * TASK_SHOOT_WITH_WEAPON
 */
global.TaskShootWithWeapon = function (ped, args) {
	return _in(0x08aa95e8, 0x298ae772, ped, _ii(args) /* may be optional */);
};

/**
 * Makes the specified ped shuffle to the next vehicle seat.
 * The ped MUST be in a vehicle and the vehicle parameter MUST be the ped's current vehicle.
 */
global.TaskShuffleToNextVehicleSeat = function (ped, vehicle) {
	return _in(0x7aa80209, 0xbda643eb, ped, vehicle);
};

/**
 * Makes the specified ped flee the specified distance from the specified position.
 * fleeType: see TASK_FLEE_COORD
 */
global.TaskSmartFleeCoord = function (ped, x, y, z, distance, time, fleeType, fleeSpeed) {
	return _in(0x94587f17, 0xe9c365d5, ped, _fv(x), _fv(y), _fv(z), _fv(distance), time, fleeType, _fv(fleeSpeed));
};

/**
 * Makes a ped run away from another ped (fleeFromTarget)
 * fleeDistance = ped will flee this distance
 * fleeTime = ped will flee for this amount of time, set to "-1" to flee forever
 * fleeType = see TASK_FLEE_COORD, can be 0, R* Scripts: fm_mission/race_controller: 66048; fme_escaped_convicts: 2260992, 2523136, 2359296; la_alligator/fox: 2097152; net_fetch: 17301536; net_stable_mount: 540928
 * fleeSpeed = mostly 3f, rarely 1f in R* Scripts
 */
global.TaskSmartFleePed = function (ped, fleeFromTarget, fleeDistance, fleeTime, fleeType, fleeSpeed, targetPed) {
	return _in(0x22b0d0e3, 0x7ccb840d, ped, fleeFromTarget, _fv(fleeDistance), fleeTime, fleeType, _fv(fleeSpeed), targetPed);
};

/**
 * TASK_STAND_GUARD
 */
global.TaskStandGuard = function (ped, x, y, z, heading, scenarioName) {
	return _in(0xae032f8b, 0xba959e90, ped, _fv(x), _fv(y), _fv(z), _fv(heading), _ts(scenarioName));
};

/**
 * Makes the specified ped stand still for (time) milliseconds.
 */
global.TaskStandStill = function (ped, time) {
	return _in(0x919be13e, 0xed931959, ped, time);
};

/**
 * TASK_START_SCENARIO_AT_POSITION
 */
global.TaskStartScenarioAtPosition = function (ped, scenarioHash, x, y, z, heading, duration, sittingScenario, teleport, p9, p10, p11) {
	return _in(0x4d1f61fc, 0x34af3cd1, ped, _ch(scenarioHash), _fv(x), _fv(y), _fv(z), _fv(heading), duration, sittingScenario, teleport, _ts(p9), _fv(p10), p11);
};

/**
 * https://github.com/femga/rdr3_discoveries/blob/master/animations/scenarios
 * Params: duration in milliseconds
 * conditionalHash (optionally):
 * 0 = play random conditional anim.
 * Every conditional anim has requirements to play it.
 * If requirements are not met, ped plays random allowed conditional anim or can be stuck.
 * For example, this scenario type has possible conditional anim WORLD_HUMAN_LEAN_BACK_WALL_SMOKING_MALE_D, but it can not be played by player, because condition is set to NOT be CAIConditionIsPlayer (check file amb_rest.meta and amb_rest_CA.meta with OPENIV to clarify requirements).
 */
global.TaskStartScenarioInPlaceHash = function (ped, scenarioHash, duration, playEnterAnim, conditionalHash, heading, p6) {
	return _in(0x524b5436, 0x1229154f, ped, _ch(scenarioHash), duration, playEnterAnim, _ch(conditionalHash), _fv(heading), p6);
};
global.TaskStartScenarioInPlace = global.TaskStartScenarioInPlaceHash;

/**
 * Takes scenario point handle instead of hash
 */
global.TaskStartScenarioInPlace_2 = function (ped, p1, p2, p3, p4, p5, p6) {
	return _in(0xa917e39f, 0x2cefd215, ped, p1, _ts(p2), p3, p4, _fv(p5), p6);
};

/**
 * Makes the ped run to take cover
 */
global.TaskStayInCover = function (ped) {
	return _in(0xe5da8615, 0xa6180789, ped);
};

/**
 * TASK_STOP_LEADING_HORSE
 */
global.TaskStopLeadingHorse = function (ped) {
	return _in(0xed275607, 0x03f37258, ped);
};
global.N_0xed27560703f37258 = global.TaskStopLeadingHorse;

/**
 * Baits: see 0x9B0C7FA063E67629
 */
global.TaskSwapFishingBait = function (ped, bait, withoutBuoy) {
	return _in(0x2c28ac30, 0xa72722da, ped, _ts(bait), withoutBuoy);
};

/**
 * TASK_SWAP_WEAPON
 */
global.TaskSwapWeapon = function (ped, p1, p2, p3, p4) {
	return _in(0xa21c5125, 0x5b205245, ped, p1, p2, p3, p4);
};

/**
 * TASK_THROW_PROJECTILE
 */
global.TaskThrowProjectile = function (ped, p1, p2, p3) {
	return _in(0x7285951d, 0xbf6b5a51, ped, p1, p2, p3);
};

/**
 * _TASK_THROW_PROJECTILE_2
 */
global.TaskThrowProjectile_2 = function (p0, p1, p2, p3) {
	return _in(0x7282356d, 0xff6b5a51, p0, p1, p2, p3);
};

/**
 * duration in milliseconds
 */
global.TaskTurnPedToFaceCoord = function (ped, x, y, z, duration) {
	return _in(0x1dda930a, 0x0ac38571, ped, _fv(x), _fv(y), _fv(z), duration);
};

/**
 * duration: the amount of time in milliseconds to do the task. -1 will keep the task going until either another task is applied, or CLEAR_ALL_TASKS() is called with the ped
 */
global.TaskTurnPedToFaceEntity = function (ped, targetEntity, duration, p3, p4, p5) {
	return _in(0x5ad23d40, 0x115353ac, ped, targetEntity, duration, _fv(p3), _fv(p4), _fv(p5));
};

/**
 * TASK_TURN_TO_FACE_CLOSEST_PED
 */
global.TaskTurnToFaceClosestPed = function (ped, p1, p2, p3) {
	return _in(0x84179419, 0xdbdd36f2, ped, _fv(p1), _fv(p2), p3);
};

/**
 * TASK_USE_NEAREST_SCENARIO_CHAIN_TO_COORD
 */
global.TaskUseNearestScenarioChainToCoord = function (ped, x, y, z, distance, p5, p6, p7, p8) {
	return _in(0x9fda1b3d, 0x7e7028b3, ped, _fv(x), _fv(y), _fv(z), _fv(distance), p5, p6, p7, p8);
};

/**
 * TASK_USE_NEAREST_SCENARIO_CHAIN_TO_COORD_WARP
 */
global.TaskUseNearestScenarioChainToCoordWarp = function (ped, x, y, z, distance, p5, p6, p7, p8) {
	return _in(0x97a28e63, 0xf0ba5631, ped, _fv(x), _fv(y), _fv(z), _fv(distance), p5, p6, p7, p8);
};

/**
 * _TASK_USE_NEAREST_SCENARIO_TO_COORD
 */
global.TaskUseNearestScenarioToCoord = function (ped, x, y, z, distance, duration, p6, p7, p8, p9) {
	return _in(0x322bfdea, 0x666e2b0e, ped, _fv(x), _fv(y), _fv(z), _fv(distance), duration, p6, p7, p8, p9);
};

/**
 * TASK_USE_NEAREST_SCENARIO_TO_COORD_WARP
 */
global.TaskUseNearestScenarioToCoordWarp = function (ped, x, y, z, distance, duration, p6, p7, p8, p9) {
	return _in(0x58e2e0f2, 0x3f6b76c3, ped, _fv(x), _fv(y), _fv(z), _fv(distance), duration, p6, p7, p8, p9);
};

/**
 * TASK_USE_NEAREST_TRAIN_SCENARIO_TO_COORD_WARP
 */
global.TaskUseNearestTrainScenarioToCoordWarp = function (ped, x, y, z, distance) {
	return _in(0x3774b034, 0x56dd6106, ped, _fv(x), _fv(y), _fv(z), _fv(distance));
};

/**
 * TASK_USE_RANDOM_SCENARIO_IN_GROUP
 */
global.TaskUseRandomScenarioInGroup = function (ped, p1, p2, p3, p4) {
	return _in(0x14747f4a, 0x5971de4e, ped, p1, p2, p3, p4);
};

/**
 * TASK_USE_SCENARIO_POINT
 */
global.TaskUseScenarioPoint = function (ped, scenario, conditionalAnim, p3, p4, p5, p6, p7, p8, p9) {
	return _in(0xccdae632, 0x4b6a821c, ped, scenario, _ts(conditionalAnim), p3, p4, p5, _ch(p6), p7, _fv(p8), p9);
};
global.TaskUseScenarioPoint = global.TaskUseScenarioPoint;

/**
 * _TASK_USE_SCENARIO_POINT_2
 */
global.TaskUseScenarioPoint_2 = function (ped, ped2, p2, p3, p4, p5, p6, p7) {
	return _in(0x0f664144, 0x9dd86fbe, ped, ped2, p2, _ts(p3), p4, _ch(p5), _fv(p6), p7);
};

/**
 * TASK_VEHICLE_AIM_AT_COORD
 */
global.TaskVehicleAimAtCoord = function (ped, x, y, z) {
	return _in(0x447c1e9e, 0xf844bc0f, ped, _fv(x), _fv(y), _fv(z));
};

/**
 * TASK_VEHICLE_AIM_AT_PED
 */
global.TaskVehicleAimAtPed = function (ped, target) {
	return _in(0xe4188559, 0x2b08b097, ped, target);
};

/**
 * flag: 524419 and 0 in shop_horse_shop R* Script
 */
global.TaskVehicleDriveStraightToPoint = function (driver, vehicle, x, y, z, p5, p6, flag) {
	return _in(0x089ff2fb, 0x965f0a29, driver, vehicle, _fv(x), _fv(y), _fv(z), _fv(p5), _fv(p6), flag);
};
global.TaskVehicleDriveToPoint = global.TaskVehicleDriveStraightToPoint;

/**
 * stopRange: how close vehicle will get to destination before stopping, default 4.0
 * straightLineDist: distance at which AI switches to heading for target directly instead of following nodes, default -1
 */
global.TaskVehicleDriveToCoord = function (ped, vehicle, x, y, z, speed, style, vehicleModel, drivingMode, stopRange, straightLineDist) {
	return _in(0xe2a2aa2f, 0x659d77a7, ped, vehicle, _fv(x), _fv(y), _fv(z), _fv(speed), style, _ch(vehicleModel), drivingMode, _fv(stopRange), _fv(straightLineDist));
};

/**
 * _TASK_VEHICLE_DRIVE_TO_COORD_2
 */
global.TaskVehicleDriveToCoord_2 = function (ped, p1, p2, p3, p4, p5, p6, p7, p8) {
	return _in(0xf0108f01, 0xfb105da2, ped, p1, p2, p3, p4, p5, p6, p7, p8);
};

/**
 * flags: 67108864, 2097152, 524564, 524675 (eDrivingFlags)
 * p7 = 6 or 3
 * p8 = x coordinate
 * p9 - 8.f
 * p10 = false
 */
global.TaskVehicleDriveToDestination = function (driver, vehicle, x, y, z, speed, drivingFlags, p7, stoppingRange1, stoppingRange2, p10) {
	return _in(0x7f241a0d, 0x14354583, driver, vehicle, _fv(x), _fv(y), _fv(z), _fv(speed), drivingFlags, p7, _fv(stoppingRange1), _fv(stoppingRange2), p10);
};
global.TaskVehicleDriveToDestination = global.TaskVehicleDriveToDestination;

/**
 * Tasks vehicle towards owner
 */
global.TaskVehicleDriveToDestination_2 = function (vehicle, x, y, z, speed, p5, p6, p7, p8) {
	return _in(0x391073b9, 0xd3cce2ba, vehicle, _fv(x), _fv(y), _fv(z), _fv(speed), p5, p6, _fv(p7), _fv(p8));
};

/**
 * Params: p4 = 3.f or 8.f, p5 = 0.25f, p6 = 0 in R* Scripts
 */
global.TaskVehicleDriveToPoint_2 = function (vehicle, x, y, z, p4, p5, p6) {
	return _in(0x6524a898, 0x1e8be7c9, vehicle, _fv(x), _fv(y), _fv(z), _fv(p4), _fv(p5), p6);
};

/**
 * TASK_VEHICLE_DRIVE_WANDER
 */
global.TaskVehicleDriveWander = function (ped, vehicle, speed, drivingStyle) {
	return _in(0x48014295, 0x9d337d00, ped, vehicle, _fv(speed), drivingStyle);
};

/**
 * TASK_VEHICLE_ESCORT
 */
global.TaskVehicleEscort = function (ped, vehicle, targetVehicle, mode, speed, drivingStyle, minDistance, p7, noRoadsDistance) {
	return _in(0x0fa6e4b7, 0x5f302400, ped, vehicle, targetVehicle, mode, _fv(speed), drivingStyle, _fv(minDistance), p7, _fv(noRoadsDistance));
};

/**
 * Vehicle Auto Drive (?)
 * p1/p2/p3: usually 1f, 1f, 0f or 0f, 0f, 0f
 * Speed: usually 8f
 * Types: 1148979456 (task with flee), 1148979587 (dismissing the vehicle)
 */
global.TaskVehicleFleeOnCleanup = function (vehicle, p1, p2, p3, speed, type) {
	return _in(0x55cd5fdd, 0xd4335c1e, vehicle, _fv(p1), _fv(p2), _fv(p3), _fv(speed), _ch(type));
};
global.N_0x55cd5fddd4335c1e = global.TaskVehicleFleeOnCleanup;

/**
 * TASK_VEHICLE_FOLLOW_WAYPOINT_RECORDING
 */
global.TaskVehicleFollowWaypointRecording = function (ped, vehicle, waypointRecording, drivingMode, p4, eWaypoint, flag, p7, p8, stoppingDist, p10) {
	return _in(0x3123faa6, 0xdb1cf7ed, ped, vehicle, _ts(waypointRecording), drivingMode, p4, eWaypoint, flag, _fv(p7), p8, _fv(stoppingDist), p10);
};

/**
 * _TASK_VEHICLE_FOLLOW_WAYPOINT_RECORDING_2
 */
global.TaskVehicleFollowWaypointRecording_2 = function (p0, p1, p2, p3, p4, p5, p6, p7, p8, p9) {
	return _in(0x041d17a9, 0xe221ae30, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9);
};
global.N_0x041d17a9e221ae30 = global.TaskVehicleFollowWaypointRecording_2;

/**
 * TASK_VEHICLE_GOTO_NAVMESH
 */
global.TaskVehicleGotoNavmesh = function (ped, vehicle, x, y, z, speed, behaviorFlag, stoppingRange) {
	return _in(0x195aeeb1, 0x3cefe2ee, ped, vehicle, _fv(x), _fv(y), _fv(z), _fv(speed), behaviorFlag, _fv(stoppingRange));
};

/**
 * TASK_VEHICLE_MISSION
 */
global.TaskVehicleMission = function (driver, vehicle, vehicleTarget, missionType, p4, p5, p6, p7, DriveAgainstTraffic) {
	return _in(0x659427e0, 0xef36bcde, driver, vehicle, vehicleTarget, missionType, _fv(p4), p5, _fv(p6), _fv(p7), DriveAgainstTraffic);
};

/**
 * See TASK_VEHICLE_MISSION
 */
global.TaskVehicleMissionPedTarget = function (ped, vehicle, pedTarget, mode, maxSpeed, drivingStyle, minDistance, p7, DriveAgainstTraffic) {
	return _in(0x9454528d, 0xf15d657a, ped, vehicle, pedTarget, mode, _fv(maxSpeed), drivingStyle, _fv(minDistance), _fv(p7), DriveAgainstTraffic);
};

/**
 * TASK_VEHICLE_SHOOT_AT_COORD
 */
global.TaskVehicleShootAtCoord = function (ped, x, y, z, p4) {
	return _in(0x5190796e, 0xd39c9b6d, ped, _fv(x), _fv(y), _fv(z), _fv(p4));
};

/**
 * TASK_VEHICLE_SHOOT_AT_PED
 */
global.TaskVehicleShootAtPed = function (ped, target, p2) {
	return _in(0x10ab107b, 0x887214d8, ped, target, _fv(p2));
};

/**
 * Documentation from GTA V, might be the same in RDR:
 * '1 - brake
 * '3 - brake + reverse
 * '4 - turn left 90 + braking
 * '5 - turn right 90 + braking
 * '6 - brake strong (handbrake?) until time ends
 * '7 - turn left + accelerate
 * '7 - turn right + accelerate
 * '9 - weak acceleration
 * '10 - turn left + restore wheel pos to center in the end
 * '11 - turn right + restore wheel pos to center in the end
 * '13 - turn left + go reverse
 * '14 - turn left + go reverse
 * '16 - crash the game after like 2 seconds :)
 * '17 - keep actual state, game crashed after few tries
 * '18 - game crash
 * '19 - strong brake + turn left/right
 * '20 - weak brake + turn left then turn right
 * '21 - weak brake + turn right then turn left
 * '22 - brake + reverse
 * '23 - accelerate fast
 * '24 - brake
 * '25 - brake turning left then when almost stopping it turns left more
 * '26 - brake turning right then when almost stopping it turns right more
 * '27 - brake until car stop or until time ends
 * '28 - brake + strong reverse acceleration
 * '30 - performs a burnout (brake until stop + brake and accelerate)
 * '31 - accelerate + handbrake
 * '32 - accelerate very strong
 * Seems to be this:
 * Works on NPCs, but overrides their current task. If inside a task sequence (and not being the last task), "time" will work, otherwise the task will be performed forever until tasked with something else
 */
global.TaskVehicleTempAction = function (driver, vehicle, action, time) {
	return _in(0xc429dcee, 0xb339e129, driver, vehicle, action, time);
};

/**
 * TASK_WALK_AWAY
 */
global.TaskWalkAway = function (ped, entity) {
	return _in(0x04acfac7, 0x1e6858f9, ped, entity);
};

/**
 * TASK_WANDER_AND_CONVERSE_WITH_PED
 */
global.TaskWanderAndConverseWithPed = function (ped, p1, p2, p3) {
	return _in(0x8ac76d14, 0x08731732, ped, p1, p2, p3);
};

/**
 * TASK_WANDER_IN_AREA
 */
global.TaskWanderInArea = function (ped, x, y, z, radius, p5, p6, p7) {
	return _in(0xe054346c, 0xa3a0f315, ped, _fv(x), _fv(y), _fv(z), _fv(radius), _fv(p5), _fv(p6), p7);
};

/**
 * TASK_WANDER_IN_VOLUME
 */
global.TaskWanderInVolume = function (ped, volume, p2, p3, p4) {
	return _in(0x9fda1687, 0x77b28424, ped, volume, _fv(p2), _fv(p3), p4);
};

/**
 * Makes ped walk around the area.
 * set p1 to 10.0f and p2 to 10 if you want the ped to walk anywhere without a duration.
 */
global.TaskWanderStandard = function (ped, p1, p2) {
	return _in(0xbb9ce077, 0x274f6a1b, ped, _fv(p1), p2);
};

/**
 * TASK_WANDER_SWIM
 */
global.TaskWanderSwim = function (ped, p1) {
	return _in(0x527ea3db, 0x8bc7f03b, ped, p1);
};

/**
 * TASK_WARP_PED_INTO_VEHICLE
 */
global.TaskWarpPedIntoVehicle = function (ped, vehicle, seat) {
	return _in(0x9a7d0914, 0x11c5f684, ped, vehicle, seat);
};

/**
 * TASK_WEAPON
 */
global.TaskWeapon = function (ped) {
	return _in(0x7157b82d, 0x60e4bc46, ped);
};

/**
 * https://github.com/femga/rdr3_discoveries/blob/master/AI/EVENTS/aud_ped_whistle_types.lua
 * p2: UNSPECIFIED
 */
global.TaskWhistleAnim = function (ped, audPedWhistleType, p2) {
	return _in(0xd6401a1b, 0x2f63bed6, ped, _ch(audPedWhistleType), _ch(p2));
};

/**
 * _TELEMETRY_AMBIENT_VIGNETTE
 */
global.TelemetryAmbientVignette = function (p0, p1, p2, p3, p4, p5, p6) {
	return _in(0x3145044f, 0x3990d321, p0, p1, p2, p3, p4, p5, p6);
};
global.N_0x3145044f3990d321 = global.TelemetryAmbientVignette;

/**
 * _TELEMETRY_ANIMAL_SKINNED
 */
global.TelemetryAnimalSkinned = function (type, items) {
	return _in(0x7581972a, 0xdf5d699a, _ch(type), _ii(items) /* may be optional */);
};
global.N_0x7581972adf5d699a = global.TelemetryAnimalSkinned;

/**
 * _TELEMETRY_BOUNTY_TARGET
 */
global.TelemetryBountyTarget = function (data) {
	return _in(0x52fa31db, 0x8f3ad25d, _ii(data) /* may be optional */);
};
global.N_0x52fa31db8f3ad25d = global.TelemetryBountyTarget;

/**
 * _TELEMETRY_CAMP_CREATED
 */
global.TelemetryCampCreated = function (p0) {
	return _in(0x565eaa72, 0x6b2ce3b7, p0);
};
global.N_0x565eaa726b2ce3b7 = global.TelemetryCampCreated;

/**
 * TELEMETRY_CAMP_DONATE
 */
global.TelemetryCampDonate = function (transactionId, p1, p2, p3, p4, slotId, p6, p7, p8) {
	return _in(0xdf516e59, 0x8d966d06, transactionId, p1, p2, p3, p4, _ch(slotId), _ch(p6), p7, p8);
};
global.N_0xdf516e598d966d06 = global.TelemetryCampDonate;

/**
 * _TELEMETRY_CAMP_SUPPLIES
 */
global.TelemetryCampSupplies = function (p0, p1, p2, p3, p4) {
	return _in(0x217f4776, 0x1376e16e, p0, p1, p2, p3, p4);
};
global.N_0x217f47761376e16e = global.TelemetryCampSupplies;

/**
 * NativeDB Introduced: v1355
 */
global.TelemetryCharCreator = function (p0, p1, p2, p3, p4, p5, p6) {
	return _in(0x7207ad47, 0x1bc9278c, p0, p1, p2, p3, p4, p5, p6);
};

/**
 * _TELEMETRY_COLLECT
 */
global.TelemetryCollect = function (transactionId, p1, p2, p3, p4, p5, p6) {
	return _in(0xd6cb05dd, 0xaee43afd, transactionId, p1, p2, p3, p4, p5, p6);
};
global.N_0xd6cb05ddaee43afd = global.TelemetryCollect;

/**
 * NativeDB Introduced: v1232
 */
global.TelemetryCoupon = function (p0, p1, p2, p3, p4, p5) {
	return _in(0x621d719c, 0x4836292b, p0, p1, p2, p3, p4, p5);
};

/**
 * _TELEMETRY_CRAFT_ITEM
 */
global.TelemetryCraftItem = function (p0, p1, p2, quantity) {
	return _in(0x78c2e029, 0xdb205a3a, p0, p1, p2, quantity);
};
global.N_0x78c2e029db205a3a = global.TelemetryCraftItem;

/**
 * Works in MP only.
 */
global.TelemetryCreateUuid = function (uuid) {
	return _in(0xe692d336, 0xf8a2a97f, _ii(uuid) /* may be optional */, _r);
};

/**
 * _TELEMETRY_CUSTOM
 */
global.TelemetryCustom = function (args) {
	return _in(0x40914ccf, 0x2a1ab531, _ii(args) /* may be optional */);
};
global.N_0x40914ccf2a1ab531 = global.TelemetryCustom;

/**
 * _TELEMETRY_DEFENSIVE
 */
global.TelemetryDefensive = function (p0, p1, p2) {
	return _in(0xe57529d2, 0x3541d2dd, p0, p1, p2);
};
global.N_0xe57529d23541d2dd = global.TelemetryDefensive;

/**
 * _TELEMETRY_DISCOVERABLE
 */
global.TelemetryDiscoverable = function (p0) {
	return _in(0xf5ead898, 0xef387e73, p0);
};
global.N_0xf5ead898ef387e73 = global.TelemetryDiscoverable;

/**
 * _TELEMETRY_EMOTE_ADD_CATEGORY_TO_SAVE
 */
global.TelemetryEmoteAddCategoryToSave = function (p0, p1, emote) {
	return _in(0x2c24af8e, 0xeeef8a55, p0, p1, _ch(emote));
};
global.N_0x2c24af8eeeef8a55 = global.TelemetryEmoteAddCategoryToSave;

/**
 * _TELEMETRY_FAST_TRAVEL
 */
global.TelemetryFastTravel = function (p0, p1, p2, p3, p4) {
	return _in(0x7cef4ac7, 0x9f7e7fad, p0, p1, p2, p3, p4);
};
global.N_0x7cef4ac79f7e7fad = global.TelemetryFastTravel;

/**
 * _TELEMETRY_FAVOR_EMOTE
 */
global.TelemetryFavorEmote = function (p0, p1, p2) {
	return _in(0x16b23d4f, 0x7a1f50d9, p0, p1, p2);
};
global.N_0x16b23d4f7a1f50d9 = global.TelemetryFavorEmote;

/**
 * _TELEMETRY_GAME_PROGRESS
 */
global.TelemetryGameProgress = function (p0, p1) {
	return _in(0x51ec204a, 0x6e5b5a1a, p0, p1);
};
global.N_0x51ec204a6e5b5a1a = global.TelemetryGameProgress;

/**
 * _TELEMETRY_GANG_SHARES
 */
global.TelemetryGangShares = function (p0, p1, p2, p3) {
	return _in(0xe6dc9b21, 0xac7a8729, p0, p1, p2, p3);
};
global.N_0xe6dc9b21ac7a8729 = global.TelemetryGangShares;

/**
 * _TELEMETRY_GOLD_STORE
 */
global.TelemetryGoldStore = function (p0, p1, p2, p3) {
	return _in(0x536b6025, 0xe94ac48f, p0, p1, p2, p3);
};
global.N_0x536b6025e94ac48f = global.TelemetryGoldStore;

/**
 * _TELEMETRY_GUN_LOCKER
 */
global.TelemetryGunLocker = function () {
	return _in(0x415fe28e, 0xd44bff14);
};
global.N_0x415fe28ed44bff14 = global.TelemetryGunLocker;

/**
 * _TELEMETRY_GUN_LOCKER_WEAPON_REMOVED
 */
global.TelemetryGunLockerWeaponRemoved = function (p0) {
	return _in(0x317d9c95, 0x60529cc2, _ch(p0));
};
global.N_0x317d9c9560529cc2 = global.TelemetryGunLockerWeaponRemoved;

/**
 * _TELEMETRY_GUN_LOCKER_WEAPON_STORED
 */
global.TelemetryGunLockerWeaponStored = function (p0) {
	return _in(0xc3adf488, 0x0784fa9c, _ch(p0));
};
global.N_0xc3adf4880784fa9c = global.TelemetryGunLockerWeaponStored;

/**
 * _TELEMETRY_HERB_PICKED
 */
global.TelemetryHerbPicked = function (herbType) {
	return _in(0xae693ec3, 0xa178f6c2, _ch(herbType));
};
global.N_0xae693ec3a178f6c2 = global.TelemetryHerbPicked;

/**
 * _TELEMETRY_HONOR
 */
global.TelemetryHonor = function (p0, p1) {
	return _in(0xe6b763c7, 0xf4902201, p0, p1);
};
global.N_0xe6b763c7f4902201 = global.TelemetryHonor;

/**
 * NativeDB Introduced: v1232
 */
global.TelemetryHubNavigation = function (p0, p1, p2, p3) {
	return _in(0x25cc50ec, 0x1a6f3a96, p0, p1, p2, p3);
};

/**
 * NativeDB Introduced: v1232
 */
global.TelemetryHubOffers = function (couponItem, p1) {
	return _in(0x37aa2821, 0x63b0d2c4, couponItem, p1);
};
global.N_0x37aa282163b0d2c4 = global.TelemetryHubOffers;

/**
 * NativeDB Introduced: v1355
 */
global.TelemetryIntroSkip = function (p0, p1, p2) {
	return _in(0x1b554723, 0x799245f4, p0, p1, p2);
};

/**
 * _TELEMETRY_LOBBY_PROGRESSION
 */
global.TelemetryLobbyProgression = function (p0, p1, p2, p3) {
	return _in(0xecd67e9f, 0xa677cccf, p0, p1, p2, p3);
};
global.N_0xecd67e9fa677cccf = global.TelemetryLobbyProgression;

/**
 * _TELEMETRY_LOOT
 */
global.TelemetryLoot = function (p0, p1, p2, p3) {
	return _in(0xcf63ef77, 0xb0df0397, p0, p1, p2, p3);
};
global.N_0xcf63ef77b0df0397 = global.TelemetryLoot;

/**
 * NativeDB Introduced: v1355
 */
global.TelemetryMatchNomination = function (args) {
	return _in(0x330029e1, 0x21380ceb, _ii(args) /* may be optional */);
};

/**
 * _TELEMETRY_MATCH_OVER
 */
global.TelemetryMatchOver = function (p0, p1, p2, p3, p4) {
	return _in(0xa2058154, 0x357726bb, p0, p1, p2, p3, p4);
};
global.N_0xa2058154357726bb = global.TelemetryMatchOver;

/**
 * NativeDB Introduced: v1311
 */
global.TelemetryMatchQueue = function (p0, p1, p2, p3, p4, p5, p6) {
	return _in(0x4c08d2b6, 0xd8be17e4, p0, p1, p2, p3, p4, p5, p6);
};

/**
 * _TELEMETRY_MATCH_STARTED
 */
global.TelemetryMatchStarted = function () {
	return _in(0xf620f47b, 0x4f4a78c4, _i, _i);
};
global.N_0xf620f47b4f4a78c4 = global.TelemetryMatchStarted;

/**
 * _TELEMETRY_MATCH_VOTE
 */
global.TelemetryMatchVote = function () {
	return _in(0xef3c68f5, 0x6bad7b69, _i, _i);
};
global.N_0xef3c68f56bad7b69 = global.TelemetryMatchVote;

/**
 * _TELEMETRY_MENU_NAVIGATION
 */
global.TelemetryMenuNavigation = function (p0, p1, p2, p3) {
	return _in(0x3255d4d2, 0x082c6339, p0, p1, p2, p3);
};
global.N_0x3255d4d2082c6339 = global.TelemetryMenuNavigation;

/**
 * _TELEMETRY_MISSION_CHECKPOINT
 */
global.TelemetryMissionCheckpoint = function (p0, p1, p2) {
	return _in(0x8ec7890d, 0x446bd9c1, p0, p1, p2);
};
global.N_0x8ec7890d446bd9c1 = global.TelemetryMissionCheckpoint;

/**
 * _TELEMETRY_C* - _TELEMETRY_G*
 */
global.TelemetryMissionFailedToLaunch = function (p0, p1, x, y, z, reason) {
	return _in(0x6571e432, 0x7390ec0b, p0, p1, _fv(x), _fv(y), _fv(z), reason);
};
global.N_0x6571e4327390ec0b = global.TelemetryMissionFailedToLaunch;

/**
 * _TELEMETRY_MISSION_ILO_OPTION
 */
global.TelemetryMissionIloOption = function (p0, p1) {
	return _in(0xea323f5e, 0x1a4da2f1, p0, p1);
};
global.N_0xea323f5e1a4da2f1 = global.TelemetryMissionIloOption;

/**
 * _TELEMETRY_MISSION_OVER
 */
global.TelemetryMissionOver = function (p0, p1) {
	return _in(0xd894437e, 0x12c17aec, p0, p1);
};
global.N_0xd894437e12c17aec = global.TelemetryMissionOver;

/**
 * _TELEMETRY_MISSION_STARTED
 */
global.TelemetryMissionStarted = function (p0, p1, p2, p3) {
	return _in(0x15b0cc1b, 0x36f1de29, p0, p1, p2, p3);
};
global.N_0x15b0cc1b36f1de29 = global.TelemetryMissionStarted;

/**
 * NativeDB Introduced: v1232
 */
global.TelemetryMoonshineBrew = function (p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10) {
	return _in(0xb5013efb, 0xb5516867, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10);
};

/**
 * _TELEMETRY_NET_CAMP
 */
global.TelemetryNetCamp = function (p0, p1, p2, p3, p4, p5, p6) {
	return _in(0xa72773c3, 0x134f9a57, p0, p1, p2, p3, p4, p5, p6);
};
global.N_0xa72773c3134f9a57 = global.TelemetryNetCamp;

/**
 * _TELEMETRY_NOTORIETY
 */
global.TelemetryNotoriety = function (p0, p1, p2, p3) {
	return _in(0xe26970a7, 0xae0f28e9, p0, p1, p2, p3);
};
global.N_0xe26970a7ae0f28e9 = global.TelemetryNotoriety;

/**
 * _TELEMETRY_PARLEY_FEUD
 */
global.TelemetryParleyFeud = function (p0, p1, p2, p3, p4) {
	return _in(0xf37a2149, 0xbc9a8a27, p0, p1, p2, p3, p4);
};
global.N_0xf37a2149bc9a8a27 = global.TelemetryParleyFeud;

/**
 * TELEMETRY_PERSONAL_VEHICLE_MOUNT
 */
global.TelemetryPersonalVehicleMount = function (p0, p1, p2, p3) {
	return _in(0xff9052bc, 0x7a3b7d33, p0, p1, p2, p3);
};
global.N_0xff9052bc7a3b7d33 = global.TelemetryPersonalVehicleMount;

/**
 * _TELEMETRY_PERSONAL_VEHICLE_WAGON
 */
global.TelemetryPersonalVehicleWagon = function (p0, p1, p2) {
	return _in(0xe67af24c, 0x5a3b6058, p0, p1, p2);
};
global.N_0xe67af24c5a3b6058 = global.TelemetryPersonalVehicleWagon;

/**
 * _TELEMETRY_PHOTO
 */
global.TelemetryPhoto = function (p0, p1, p2, p3) {
	return _in(0xed22be4c, 0x5a399e63, p0, p1, p2, p3);
};
global.N_0xed22be4c5a399e63 = global.TelemetryPhoto;

/**
 * NativeDB Introduced: v1311
 */
global.TelemetryPhotoCam = function (p0, p1, p2, p3, p4, p5, p6, p7, p8) {
	return _in(0x0777d65e, 0xe8a17517, p0, p1, p2, p3, p4, p5, p6, p7, p8);
};

/**
 * NativeDB Introduced: v1311
 */
global.TelemetryPlayerMenuPin = function (p0, p1, p2, p3) {
	return _in(0x076c5843, 0x371eb889, p0, p1, p2, p3);
};

/**
 * _TELEMETRY_PLAYER_SPAWNED
 */
global.TelemetryPlayerSpawned = function (ped) {
	return _in(0x5da4718d, 0xf897eb25, ped);
};

/**
 * _TELEMETRY_POKER_OVER
 */
global.TelemetryPokerOver = function (p0, p1, p2, p3, p4, p5, p6, p7, p8, p9) {
	return _in(0x8127c5aa, 0x05c5a210, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9);
};
global.N_0x8127c5aa05c5a210 = global.TelemetryPokerOver;

/**
 * _TELEMETRY_PRISON
 */
global.TelemetryPrison = function (transactionId, bountyAmount, ped, completionType, jailTimeServed, jailTimeLeft, posseRole) {
	return _in(0xb204bf9f, 0x30298d77, transactionId, bountyAmount, ped, completionType, jailTimeServed, jailTimeLeft, posseRole);
};
global.N_0xb204bf9f30298d77 = global.TelemetryPrison;

/**
 * _TELEMETRY_REGION
 */
global.TelemetryRegion = function (regionHash) {
	return _in(0xcd6f8a03, 0x35d821f9, _ch(regionHash));
};
global.N_0xcd6f8a0335d821f9 = global.TelemetryRegion;

/**
 * _TELEMETRY_ROLE_BOUNTY
 */
global.TelemetryRoleBounty = function (p0) {
	return _in(0xab43d1c8, 0x0b5e9500, p0);
};
global.N_0xab43d1c80b5e9500 = global.TelemetryRoleBounty;

/**
 * _TELEMETRY_ROLE_COLLECTOR
 */
global.TelemetryRoleCollector = function (transactionId, collectible, category, p3, p4, p5, p6) {
	return _in(0x4ac38dfd, 0x286dad14, transactionId, collectible, category, p3, p4, p5, p6);
};
global.N_0x4ac38dfd286dad14 = global.TelemetryRoleCollector;

/**
 * NativeDB Introduced: v1232
 */
global.TelemetryRoleMoonshiner = function (p0, transactionId) {
	return _in(0x99d40c5d, 0x74bc88e9, p0, transactionId);
};

/**
 * NativeDB Introduced: v1311
 */
global.TelemetryRoleNaturalist = function (transactionId, p1, p2, p3, p4, p5, p6, p7, p8, p9) {
	return _in(0x6fb9ea30, 0x8f302922, transactionId, p1, p2, p3, p4, p5, p6, p7, p8, p9);
};

/**
 * _TELEMETRY_ROLE_TOKEN_TRANSACTION
 */
global.TelemetryRoleTokenTransaction = function (p0, p1, p2, p3, p4, p5) {
	return _in(0x32c29395, 0x64d74bff, p0, p1, p2, p3, p4, p5);
};
global.N_0x32c2939564d74bff = global.TelemetryRoleTokenTransaction;

/**
 * _TELEMETRY_ROLE_TRADER
 */
global.TelemetryRoleTrader = function (p0, transactionId) {
	return _in(0x476038b5, 0xa0734c10, p0, transactionId);
};
global.N_0x476038b5a0734c10 = global.TelemetryRoleTrader;

/**
 * Creation of the metric is related to attribute filling, i. e. at camp fires, when the ped is resting.
 * _TELEMETRY_C* - _TELEMETRY_P*
 */
global.TelemetryRpgGlobalCalculateAttributeCoreDelta = function () {
	return _in(0x7e002a36, 0xaefcfb55);
};
global.N_0x7e002a36aefcfb55 = global.TelemetryRpgGlobalCalculateAttributeCoreDelta;

/**
 * NativeDB Introduced: v1311
 */
global.TelemetrySample = function (transactionId, animal, p2, bSampled, bTranq) {
	return _in(0x61559675, 0xd23d8bd1, transactionId, animal, p2, bSampled, bTranq);
};

/**
 * _TELEMETRY_SET_IS_FLOW
 */
global.TelemetrySetIsFlow = function (toggle) {
	return _in(0x9bee018a, 0x63fffad9, toggle);
};
global.N_0x9bee018a63fffad9 = global.TelemetrySetIsFlow;

/**
 * NativeDB Introduced: v1232
 */
global.TelemetrySetShopForTransaction = function (transactionId, p1, p2) {
	return _in(0xca9e42f4, 0x37625a85, transactionId, _ch(p1), _ch(p2));
};
global.N_0xca9e42f437625a85 = global.TelemetrySetShopForTransaction;

/**
 * NativeDB Introduced: v1311
 */
global.TelemetryShopCutscene = function (p0, p1, p2, p3) {
	return _in(0xb0b19b56, 0x697836f5, p0, p1, p2, p3);
};

/**
 * _TELEMETRY_SHOP_ENTRY
 */
global.TelemetryShopEntry = function (shopType, shopRegion, region, p3, p4, p5) {
	return _in(0x775b2ed9, 0x44e44973, shopType, shopRegion, region, p3, p4, p5);
};
global.N_0x775b2ed944e44973 = global.TelemetryShopEntry;

/**
 * _TELEMETRY_SHOP_EXIT
 */
global.TelemetryShopExit = function (p0, p1) {
	return _in(0xf78e669f, 0xdc202e73, p0, p1);
};
global.N_0xf78e669fdc202e73 = global.TelemetryShopExit;

/**
 * _TELEMETRY_SHOP_PURCHASE
 */
global.TelemetryShopPurchase = function (p0, p1, p2, p3, p4) {
	return _in(0x2a374e6f, 0x0075ee81, p0, p1, p2, p3, p4);
};
global.N_0x2a374e6f0075ee81 = global.TelemetryShopPurchase;

/**
 * _TELEMETRY_SHOP_SELL
 */
global.TelemetryShopSell = function (p0, p1, p2, p3, centSalePrice) {
	return _in(0x9bd8a9d0, 0xa774a6f8, p0, p1, p2, p3, centSalePrice);
};
global.N_0x9bd8a9d0a774a6f8 = global.TelemetryShopSell;

/**
 * _TELEMETRY_SLEEP
 */
global.TelemetrySleep = function (p0) {
	return _in(0xf9f14080, 0xd80937bd, p0);
};
global.N_0xf9f14080d80937bd = global.TelemetrySleep;

/**
 * _TELEMETRY_START_GUN_LOCKER_INTERACTION
 */
global.TelemetryStartGunLockerInteraction = function () {
	return _in(0xf0d54e06, 0x51dd7e07);
};
global.N_0xf0d54e0651dd7e07 = global.TelemetryStartGunLockerInteraction;

/**
 * Returns false when transaction request is failing
 */
global.TelemetryTriggerTransactionRequest = function () {
	return _in(0x80a02d9f, 0x948a8bca, _i, _i, _r);
};
global.N_0x80a02d9f948a8bca = global.TelemetryTriggerTransactionRequest;

/**
 * TERMINATE_THIS_THREAD
 */
global.TerminateThisThread = function () {
	return _in(0x5e8b6d17, 0xff91cd59);
};

/**
 * TERMINATE_THREAD
 */
global.TerminateThread = function (threadId) {
	return _in(0x87ed52ae, 0x40ea1a52, threadId);
};

/**
 * enum eScriptWaterTestResult
 * {
 * SCRIPT_WATER_TEST_RESULT_NONE,
 * SCRIPT_WATER_TEST_RESULT_WATER,
 * SCRIPT_WATER_TEST_RESULT_BLOCKED,
 * };
 */
global.TestProbeAgainstAllWater = function (x1, y1, z1, x2, y2, z2, flags, intersectionPos) {
	return _in(0x8974647e, 0xd222ea5f, _fv(x1), _fv(y1), _fv(z1), _fv(x2), _fv(y2), _fv(z2), flags, _v, _r, _ri);
};

/**
 * Checks against a global variable that is set by _SET_WORLD_WATER_TYPE. If it's set to 1 (Guarma) it will fail.
 * See TEST_PROBE_AGAINST_ALL_WATER.
 */
global.TestVerticalProbeAgainstAllWater = function (x, y, z, flags, waterHeight) {
	return _in(0x2b3451fa, 0x1e3142e2, _fv(x), _fv(y), _fv(z), flags, _fi(waterHeight) /* may be optional */, _r, _ri);
};

/**
 * _TEXT_BLOCK_DELETE
 */
global.TextBlockDelete = function (textBlock) {
	return _in(0xaa03f130, 0xa637d923, _ts(textBlock));
};
global.N_0xaa03f130a637d923 = global.TextBlockDelete;

/**
 * TEXT_BLOCK_IS_LOADED
 */
global.TextBlockIsLoaded = function (textBlock) {
	return _in(0xd0976cc3, 0x4002db57, _ts(textBlock), _r, _ri);
};
global.N_0xd0976cc34002db57 = global.TextBlockIsLoaded;

/**
 * _TEXT_BLOCK_IS_STREAMED
 */
global.TextBlockIsStreamed = function (textBlock) {
	return _in(0x3cf96e16, 0x265b7dc8, _ts(textBlock), _r, _ri);
};
global.N_0x3cf96e16265b7dc8 = global.TextBlockIsStreamed;

/**
 * TEXT_BLOCK_REQUEST
 */
global.TextBlockRequest = function (textBlock) {
	return _in(0xf6609001, 0x3de648d5, _ts(textBlock));
};
global.N_0xf66090013de648d5 = global.TextBlockRequest;

/**
 * TEXTURE_DOWNLOAD_GET_NAME
 */
global.TextureDownloadGetName = function (textureDownloadId) {
	return _in(0x3448505b, 0x6e35262d, textureDownloadId, _r, _s);
};

/**
 * TEXTURE_DOWNLOAD_RELEASE
 */
global.TextureDownloadRelease = function (textureDownloadId) {
	return _in(0x487eb90b, 0x98e9fb19, textureDownloadId);
};

/**
 * _TEXTURE_DOWNLOAD_RELEASE_BY_NAME
 */
global.TextureDownloadReleaseByName = function (name) {
	return _in(0x7a17b798, 0x1560ffa5, _ts(name));
};
global.N_0x7a17b7981560ffa5 = global.TextureDownloadReleaseByName;

/**
 * Returns textureDownloadId
 */
global.TextureDownloadRequest = function (filePath, name, p3) {
	return _in(0x16160da7, 0x4a8e74a2, _i, _ts(filePath), _ts(name), p3, _r, _ri);
};

/**
 * _TEXTURE_DOWNLOAD_TEXTURE_NAME_IS_VALID
 */
global.TextureDownloadTextureNameIsValid = function (name) {
	return _in(0xe2c3cec3, 0xc0903a00, _ts(name), _r, _ri);
};
global.N_0xe2c3cec3c0903a00 = global.TextureDownloadTextureNameIsValid;

/**
 * Returns time since the specified ped last shot, in seconds. (fPlayerJustShotTime)
 */
global.TimeSincePedLastShot = function (ped) {
	return _in(0x285d36c5, 0xc72b0569, ped, _r, _rf);
};
global.N_0x285d36c5c72b0569 = global.TimeSincePedLastShot;

/**
 * Counts up. Every 1000 is 1 real-time second. Use SETTIMERA(int value) to set the timer (e.g.: SETTIMERA(0)).
 */
global.Timera = function () {
	return _in(0x83666f9f, 0xb8febd4b, _r, _ri);
};

/**
 * TIMERB
 */
global.Timerb = function () {
	return _in(0xc9d94441, 0x86b5a374, _r, _ri);
};

/**
 * Gets the current frame time.
 */
global.Timestep = function () {
	return _in(0x00000000, 0x50597ee2, _r, _rf);
};

/**
 * TO_FLOAT
 */
global.ToFloat = function (value) {
	return _in(0xbbda7924, 0x48db5a89, value, _r, _rf);
};

/**
 * TOGGLE_PAUSED_RENDERPHASES
 */
global.TogglePausedRenderphases = function (toggle) {
	return _in(0xef9e1c45, 0x732f55fa, toggle);
};

/**
 * If toggle is true, when the ped is using a scenario he will stop it and become scared
 * If toggle is false, the ped will not be scared anymore and continue his scenario
 */
global.ToggleScenarioPedCowerInPlace = function (ped, toggle) {
	return _in(0x9a77dfd2, 0x95e29b09, ped, toggle);
};
global.N_0x9a77dfd295e29b09 = global.ToggleScenarioPedCowerInPlace;

/**
 * TRACK_OBJECT_VISIBILITY
 */
global.TrackObjectVisibility = function (object) {
	return _in(0xb252bc03, 0x6b525623, object);
};

/**
 * TRACK_VEHICLE_VISIBILITY
 */
global.TrackVehicleVisibility = function (vehicle) {
	return _in(0x1f3969b1, 0x40dee157, vehicle);
};

/**
 * TRIGGER_ANIM_SCENE_SKIP
 */
global.TriggerAnimSceneSkip = function (animScene) {
	return _in(0x4b85b3cf, 0x9197aedf, animScene);
};
global.N_0x4b85b3cf9197aedf = global.TriggerAnimSceneSkip;

/**
 * The backing function for TriggerEvent.
 */
global.TriggerEventInternal = function (eventName, eventPayload, payloadLength) {
	return _in(0x00000000, 0x91310870, _ts(eventName), _ts(eventPayload), payloadLength);
};

/**
 * The backing function for TriggerLatentServerEvent.
 */
global.TriggerLatentServerEventInternal = function (eventName, eventPayload, payloadLength, bps) {
	return _in(0x00000000, 0x128737ea, _ts(eventName), _ts(eventPayload), payloadLength, bps);
};

/**
 * _TRIGGER_MISSION_FAILED_CAM
 */
global.TriggerMissionFailedCam = function () {
	return _in(0x9a92c06a, 0xcbaf9731);
};
global.N_0x9a92c06acbaf9731 = global.TriggerMissionFailedCam;

/**
 * https://github.com/femga/rdr3_discoveries/blob/master/audio/music_events/music_events.lua
 */
global.TriggerMusicEvent = function (eventName) {
	return _in(0x706d57b0, 0xf50da710, _ts(eventName), _r);
};

/**
 * _TRIGGER_MUSIC_EVENT_WITH_HASH
 */
global.TriggerMusicEventWithHash = function (eventName) {
	return _in(0x05d6195f, 0xb4d428f4, _ch(eventName), _r, _ri);
};
global.N_0x05d6195fb4d428f4 = global.TriggerMusicEventWithHash;

/**
 * eventGroup: 0 = SCRIPT_EVENT_QUEUE_AI (CEventGroupScriptAI), 1 = SCRIPT_EVENT_QUEUE_NETWORK (CEventGroupScriptNetwork), 2 = unk, 3 = unk, 4 = SCRIPT_EVENT_QUEUE_SCRIPT_ERRORS (CEventGroupScriptErrors)
 * Note: eventDataSize is NOT the size in bytes, it is the size determined by the SIZE_OF operator (RAGE Script operator, not C/C++ sizeof). That is, the size in bytes divided by 8 (script variables are always 8-byte aligned!).
 * playerBits (also known as playersToBroadcastTo) is a bitset that indicates which players this event should be sent to. In order to send the event to specific players only, use (1 << playerIndex). Set all bits if it should be broadcast to all players.
 */
global.TriggerScriptEvent = function (eventGroup, eventDataSize, scriptMetadataIndex) {
	return _in(0x5ae99c57, 0x1d5bbe5d, eventGroup, _i, eventDataSize, scriptMetadataIndex, _i);
};

/**
 * _TRIGGER_SCRIPT_EVENT_2
 */
global.TriggerScriptEvent_2 = function (eventDataSize, scriptMetadataIndex, threadId) {
	return _in(0x8b61c950, 0xa148ffa2, _i, eventDataSize, scriptMetadataIndex, threadId);
};
global.N_0x8b61c950a148ffa2 = global.TriggerScriptEvent_2;

/**
 * The backing function for TriggerServerEvent.
 */
global.TriggerServerEventInternal = function (eventName, eventPayload, payloadLength) {
	return _in(0x00000000, 0x7fdd1128, _ts(eventName), _ts(eventPayload), payloadLength);
};

/**
 * TRIGGER_SONAR_BLIP
 */
global.TriggerSonarBlip = function (typeHash, x, y, z) {
	return _in(0x72dd432f, 0x3cdfc0ee, _ch(typeHash), _fv(x), _fv(y), _fv(z));
};

/**
 * _TRIGGER_SONAR_BLIP_ON_ENTITY
 */
global.TriggerSonarBlipOnEntity = function (typeHash, entity) {
	return _in(0x0c7a2289, 0xa5c4d7c9, _ch(typeHash), entity);
};
global.N_0x0c7a2289a5c4d7c9 = global.TriggerSonarBlipOnEntity;

/**
 * whistleSequence: ACKNOWLEDGE, BACKING_UP, CROSSING, DANGER, MOVING, NEXT_STATION, PASSING, STOPPED
 * p2 = true seems to mute the sound
 */
global.TriggerTrainWhistle = function (train, whistleSequence, p2, p3) {
	return _in(0xcfe122ec, 0x635cc2b2, train, _ts(whistleSequence), p2, p3);
};
global.N_0xcfe122ec635cc2b2 = global.TriggerTrainWhistle;

/**
 * _TRY_GET_TELEMETRY_ID_FROM_TRANSACTION_ID
 */
global.TryGetTelemetryIdFromTransactionId = function () {
	return _in(0xf184b3ec, 0xe36219cf, _i, _i, _r);
};
global.N_0xf184b3ece36219cf = global.TryGetTelemetryIdFromTransactionId;

/**
 * UGC2_SET_PLAYER_DATA
 */
global.Ugc2SetPlayerData = function (p0, p1, p2, p3) {
	return _in(0xe79c70e7, 0x7e0973c7, p0, p1, p2, p3, _r, _ri);
};
global.N_0xe79c70e77e0973c7 = global.Ugc2SetPlayerData;

/**
 * UGC_CLEAR_QUERY_RESULTS
 */
global.UgcClearQueryResults = function (ugcRequestId) {
	return _in(0xe931354f, 0xea710038, ugcRequestId);
};
global.N_0xe931354fea710038 = global.UgcClearQueryResults;

/**
 * UGC_DID_DESCRIPTION_REQUEST_SUCCEED
 */
global.UgcDidDescriptionRequestSucceed = function (description) {
	return _in(0x162c23ca, 0x83ed0a62, _ch(description), _r);
};
global.N_0x162c23ca83ed0a62 = global.UgcDidDescriptionRequestSucceed;

/**
 * UGC_DID_REQUEST_SUCCEED
 */
global.UgcDidRequestSucceed = function (ugcRequestId) {
	return _in(0x0b6009a9, 0x0b8495f1, ugcRequestId, _r, _ri);
};
global.N_0x0b6009a90b8495f1 = global.UgcDidRequestSucceed;

/**
 * UGC_GET_CACHED_DESCRIPTION
 */
global.UgcGetCachedDescription = function (description, length) {
	return _in(0x40f7e664, 0x72df3e5c, _ch(description), length, _r, _s);
};

/**
 * UGC_HAS_DESCRIPTION_REQUEST_FINISHED
 */
global.UgcHasDescriptionRequestFinished = function (description) {
	return _in(0xebfa8d50, 0xaddc54c4, _ch(description), _r);
};
global.N_0xebfa8d50addc54c4 = global.UgcHasDescriptionRequestFinished;

/**
 * Checks if the user has ROS privilege 14.
 */
global.UgcHasPrivilege = function () {
	return _in(0x6506bfa7, 0x55fb209c, _r, _ri);
};
global.N_0x6506bfa755fb209c = global.UgcHasPrivilege;

/**
 * UGC_HAS_REQUEST_FINISHED
 */
global.UgcHasRequestFinished = function (ugcRequestId) {
	return _in(0xa9eb4d60, 0x6076615d, ugcRequestId, _r, _ri);
};
global.N_0xa9eb4d606076615d = global.UgcHasRequestFinished;

/**
 * NativeDB Introduced: v1355
 */
global.UgcIsBookMarked = function (contentId) {
	return _in(0xe42d1042, 0xf09865fe, _ts(contentId), _r);
};

/**
 * UGC_IS_DESCRIPTION_REQUEST_IN_PROGRESS
 */
global.UgcIsDescriptionRequestInProgress = function (description) {
	return _in(0x2d5dc831, 0x176d0114, _ch(description), _r);
};
global.N_0x2d5dc831176d0114 = global.UgcIsDescriptionRequestInProgress;

/**
 * UGC_IS_LANGUAGE_SUPPORTED
 */
global.UgcIsLanguageSupported = function (languageId) {
	return _in(0xf53e4846, 0x1b71eecb, languageId, _r);
};

/**
 * UGC_IS_REQUEST_PENDING
 */
global.UgcIsRequestPending = function (ugcRequestId) {
	return _in(0xf4ac4fa8, 0x44fd559a, ugcRequestId, _r, _ri);
};
global.N_0xf4ac4fa844fd559a = global.UgcIsRequestPending;

/**
 * Returns ugcRequestId
 */
global.UgcQueryByCategory = function (categoryType, p1, maxGet, contentTypeName, p4, p5) {
	return _in(0x8c109958, 0xc9bb559d, categoryType, p1, maxGet, _ts(contentTypeName), p4, p5, _r, _ri);
};
global.N_0x8c109958c9bb559d = global.UgcQueryByCategory;

/**
 * Returns ugcRequestId
 */
global.UgcQueryByContentId = function (contentId, latestVersion, contentTypeName) {
	return _in(0x69d22e18, 0x3580113f, _ts(contentId), latestVersion, _ts(contentTypeName), _r, _ri);
};

/**
 * Returns ugcRequestId
 */
global.UgcQueryByContentType = function (p0, maxGet, contentTypeName, p3, p4, p5) {
	return _in(0xf40ef49b, 0x3099e98e, p0, maxGet, _ts(contentTypeName), p3, p4, p5, _r, _ri);
};
global.N_0xf40ef49b3099e98e = global.UgcQueryByContentType;

/**
 * _UGC_QUERY_GET_BOOK_MARKED
 */
global.UgcQueryGetBookMarked = function (p0, index) {
	return _in(0x98539fc4, 0x53aea639, p0, index, _r, _ri);
};
global.N_0x98539fc453aea639 = global.UgcQueryGetBookMarked;

/**
 * UGC_QUERY_GET_CONTENT_HAS_PLAYER_RECORD
 */
global.UgcQueryGetContentHasPlayerRecord = function (p0, index) {
	return _in(0xf7947653, 0x90a6dca5, p0, index, _r, _ri);
};
global.N_0xf794765390a6dca5 = global.UgcQueryGetContentHasPlayerRecord;

/**
 * UGC_QUERY_GET_CONTENT_NUM
 */
global.UgcQueryGetContentNum = function (ugcRequestId) {
	return _in(0x76160e03, 0x96142765, ugcRequestId, _r, _ri);
};
global.N_0x76160e0396142765 = global.UgcQueryGetContentNum;

/**
 * _UGC_QUERY_GET_CREATOR_HANDLE
 */
global.UgcQueryGetCreatorHandle = function (p0, index, gamerHandle) {
	return _in(0xadb56322, 0xeedfbdc9, p0, index, _ii(gamerHandle) /* may be optional */, _r, _ri);
};
global.N_0xadb56322eedfbdc9 = global.UgcQueryGetCreatorHandle;

/**
 * Returns string for GET_STATUS_OF_LOAD_MISSION_CREATOR_PHOTO
 */
global.UgcQueryGetCreatorPhoto = function (p0, p1, p2) {
	return _in(0x409fe0ca, 0x6a4d1d49, p0, p1, p2, _r, _s);
};
global.N_0x409fe0ca6a4d1d49 = global.UgcQueryGetCreatorPhoto;

/**
 * _UGC_QUERY_GET_DATE
 */
global.UgcQueryGetDate = function (p0, index, p2) {
	return _in(0xe0cb4ab1, 0x5cb32710, p0, index, _ii(p2) /* may be optional */);
};
global.N_0xe0cb4ab15cb32710 = global.UgcQueryGetDate;

/**
 * _UGC_QUERY_GET_LANGUAGE
 */
global.UgcQueryGetLanguage = function (p0, index) {
	return _in(0x97764e8a, 0xc6487a9a, p0, index, _r, _ri);
};
global.N_0x97764e8ac6487a9a = global.UgcQueryGetLanguage;

/**
 * _UGC_QUERY_GET_MISSION_DESC_HASH
 */
global.UgcQueryGetMissionDescHash = function (p0, index) {
	return _in(0xa6bf5699, 0x56c60a60, p0, index, _r, _ri);
};
global.N_0xa6bf569956c60a60 = global.UgcQueryGetMissionDescHash;

/**
 * _UGC_QUERY_GET_NAME
 */
global.UgcQueryGetName = function (p0, index) {
	return _in(0x2d053ea8, 0x15702dd1, p0, index, _r, _s);
};
global.N_0x2d053ea815702dd1 = global.UgcQueryGetName;

/**
 * _UGC_QUERY_GET_OWNER_ID
 */
global.UgcQueryGetOwnerId = function (p0, index) {
	return _in(0xf9f0b302, 0x8431967b, p0, index, _r, _s);
};
global.N_0xf9f0b3028431967b = global.UgcQueryGetOwnerId;

/**
 * _UGC_QUERY_GET_PLAYLIST_NAME
 */
global.UgcQueryGetPlaylistName = function (p0, index) {
	return _in(0xcaf50048, 0xc8d0fba0, p0, index, _r, _s);
};
global.N_0xcaf50048c8d0fba0 = global.UgcQueryGetPlaylistName;

/**
 * _UGC_QUERY_GET_POSIX_PUBLISHED_DATE
 */
global.UgcQueryGetPosixPublishedDate = function (p0, p1) {
	return _in(0x104080ca, 0x9e519b00, p0, p1, _r, _ri);
};
global.N_0x104080ca9e519b00 = global.UgcQueryGetPosixPublishedDate;

/**
 * _UGC_QUERY_GET_POSIX_UPDATED_DATE
 */
global.UgcQueryGetPosixUpdatedDate = function (p0, p1) {
	return _in(0x21a99a72, 0xb00d8002, p0, p1, _r, _ri);
};
global.N_0x21a99a72b00d8002 = global.UgcQueryGetPosixUpdatedDate;

/**
 * _UGC_QUERY_GET_PUBLISHED
 */
global.UgcQueryGetPublished = function (p0, p1) {
	return _in(0x9993f1e1, 0x1944a3dd, p0, p1, _r, _ri);
};
global.N_0x9993f1e11944a3dd = global.UgcQueryGetPublished;

/**
 * _UGC_QUERY_GET_RATING
 */
global.UgcQueryGetRating = function (p0, index, p2) {
	return _in(0x24cd8fae, 0xa1368379, p0, index, p2, _r, _rf);
};
global.N_0x24cd8faea1368379 = global.UgcQueryGetRating;

/**
 * _UGC_QUERY_GET_ROOT_CONTENT_ID
 */
global.UgcQueryGetRootContentId = function (p0, index) {
	return _in(0x566ceb05, 0x42ef5ecf, p0, index, _r, _s);
};
global.N_0x566ceb0542ef5ecf = global.UgcQueryGetRootContentId;

/**
 * _UGC_QUERY_GET_VERSION
 */
global.UgcQueryGetVersion = function (p0, index, p2) {
	return _in(0x63e9dcbc, 0x8b0931ed, p0, index, p2, _r, _ri);
};
global.N_0x63e9dcbc8b0931ed = global.UgcQueryGetVersion;

/**
 * UGC_QUERY_WAS_FORCE_CANCELLED
 */
global.UgcQueryWasForceCancelled = function (ugcRequestId) {
	return _in(0xf8f0705e, 0x77a0e705, ugcRequestId, _r, _ri);
};
global.N_0xf8f0705e77a0e705 = global.UgcQueryWasForceCancelled;

/**
 * UGC_RELEASE_ALL_CACHED_DESCRIPTIONS
 */
global.UgcReleaseAllCachedDescriptions = function () {
	return _in(0x68103e22, 0x47887242);
};
global.N_0x68103e2247887242 = global.UgcReleaseAllCachedDescriptions;

/**
 * UGC_RELEASE_CACHED_DESCRIPTION
 */
global.UgcReleaseCachedDescription = function (description) {
	return _in(0x5a34cd9c, 0x3c5bec44, _ch(description), _r);
};
global.N_0x5a34cd9c3c5bec44 = global.UgcReleaseCachedDescription;

/**
 * UGC_REQUEST_CACHED_DESCRIPTION
 */
global.UgcRequestCachedDescription = function (description) {
	return _in(0x5e016527, 0x8f6339ee, _ch(description), _r, _ri);
};

/**
 * UGC_REQUEST_CONTENT_DATA_FROM_PARAMS
 */
global.UgcRequestContentDataFromParams = function (contentTypeName, contentId, fileId, fileVersion, languageId) {
	return _in(0x7fd2990a, 0xf016795e, _ts(contentTypeName), _ts(contentId), fileId, fileVersion, languageId, _r, _ri);
};

/**
 * UGC_SET_QUERY_DATA_FROM_OFFLINE
 */
global.UgcSetQueryDataFromOffline = function (p0) {
	return _in(0xf98dde0a, 0x8ed09323, p0);
};
global.N_0xf98dde0a8ed09323 = global.UgcSetQueryDataFromOffline;

/**
 * UGC_TEXTURE_DOWNLOAD_REQUEST
 */
global.UgcTextureDownloadRequest = function (p1, p2, p3, p5) {
	return _in(0x308f9645, 0x8b7087cc, _i, p1, p2, p3, _i, p5, _r, _ri);
};

/**
 * Hides Toast Notifications
 */
global.UiFeedClearAllChannels = function () {
	return _in(0x6035e8fb, 0xca32ac5e);
};
global.N_0x6035e8fbca32ac5e = global.UiFeedClearAllChannels;

/**
 * feedChannel: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/eUIFeedChannel
 */
global.UiFeedClearChannel = function (feedChannel, p1, p2) {
	return _in(0xdd1232b3, 0x32cbb9e7, feedChannel, p1, p2);
};
global.N_0xdd1232b332cbb9e7 = global.UiFeedClearChannel;

/**
 * Clears help text
 */
global.UiFeedClearHelpTextFeed = function (feedMessage, p1) {
	return _in(0x2f901291, 0xef177b02, feedMessage, p1);
};
global.N_0x2f901291ef177b02 = global.UiFeedClearHelpTextFeed;

/**
 * feedChannel: see UI_FEED_CLEAR_CHANNEL
 * Returns feedMessage
 */
global.UiFeedGetCurrentMessage = function (feedChannel) {
	return _in(0xc17f69e1, 0x418cd11f, feedChannel, _r, _ri);
};
global.N_0xc17f69e1418cd11f = global.UiFeedGetCurrentMessage;

/**
 * Returns messageState, see https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/eUIMessageState
 */
global.UiFeedGetMessageState = function (feedMessage) {
	return _in(0x59fa6761, 0x77dbe4c9, feedMessage, _r, _ri);
};
global.N_0x59fa676177dbe4c9 = global.UiFeedGetMessageState;

/**
 * Display text on right of the screen, Example : https://pastebin.com/n1YmNe25
 */
global.UiFeedPostFeedTicker = function (p2) {
	return _in(0xb2920b97, 0x60f0f36b, _i, _i, p2, _r, _ri);
};
global.N_0xb2920b9760f0f36b = global.UiFeedPostFeedTicker;

/**
 * _UI_FEED_POST_GAME_UPDATE_SHARD
 */
global.UiFeedPostGameUpdateShard = function (p2) {
	return _in(0x8d1249bd, 0x28791878, _i, _i, p2, _r, _ri);
};
global.N_0x8d1249bd28791878 = global.UiFeedPostGameUpdateShard;

/**
 * Example : https://pastebin.com/GvdBp8Dh
 */
global.UiFeedPostHelpText = function (p2) {
	return _in(0x049d5c61, 0x5bd38bad, _i, _i, p2, _r, _ri);
};
global.N_0x049d5c615bd38bad = global.UiFeedPostHelpText;

/**
 * Example : https://pastebin.com/h1YzycuR
 */
global.UiFeedPostLocationShard = function (p2, p3) {
	return _in(0xd05590c1, 0xab38f068, _i, _i, p2, p3, _r, _ri);
};
global.N_0xd05590c1ab38f068 = global.UiFeedPostLocationShard;

/**
 * _UI_FEED_POST_MISSION_NAME
 */
global.UiFeedPostMissionName = function (p2) {
	return _in(0x2024f4f3, 0x33095fb1, _i, _i, p2, _r, _ri);
};
global.N_0x2024f4f333095fb1 = global.UiFeedPostMissionName;

/**
 * Example : https://pastebin.com/13tuRa63
 */
global.UiFeedPostObjective = function (p2) {
	return _in(0xcedbf17e, 0xfcc0e4a4, _i, _i, p2, _r, _ri);
};
global.N_0xcedbf17efcc0e4a4 = global.UiFeedPostObjective;

/**
 * _UI_FEED_POST_ONE_TEXT_SHARD
 */
global.UiFeedPostOneTextShard = function (p2) {
	return _in(0x860ddfe9, 0x7cc94df0, _i, _i, p2, _r, _ri);
};
global.N_0x860ddfe97cc94df0 = global.UiFeedPostOneTextShard;

/**
 * _UI_FEED_POST_RANKUP_TOAST
 */
global.UiFeedPostRankupToast = function (p2, p3) {
	return _in(0x3f9fddba, 0x79117c69, _i, _i, p2, p3, _r, _ri);
};
global.N_0x3f9fddba79117c69 = global.UiFeedPostRankupToast;

/**
 * _UI_FEED_POST_RETICLE_MESSAGE
 */
global.UiFeedPostReticleMessage = function (p2) {
	return _in(0x893128cd, 0xb4b81fbb, _i, _i, p2, _r, _ri);
};
global.N_0x893128cdb4b81fbb = global.UiFeedPostReticleMessage;

/**
 * Example : https://pastebin.com/kAtEMQTD
 */
global.UiFeedPostSampleNotification = function (p2, p3) {
	return _in(0xc927890a, 0xa64e9661, _i, _i, p2, p3, _r, _ri);
};
global.N_0xc927890aa64e9661 = global.UiFeedPostSampleNotification;

/**
 * Example : https://pastebin.com/YZMBkAmW
 */
global.UiFeedPostSampleToast = function (p2, p3) {
	return _in(0x26e87218, 0x390e6729, _i, _i, p2, p3, _r, _ri);
};
global.N_0x26e87218390e6729 = global.UiFeedPostSampleToast;

/**
 * _UI_FEED_POST_SAMPLE_TOAST_RIGHT
 */
global.UiFeedPostSampleToastRight = function (p2) {
	return _in(0xb249ebcb, 0x30dd88e0, _i, _i, p2, _r, _ri);
};
global.N_0xb249ebcb30dd88e0 = global.UiFeedPostSampleToastRight;

/**
 * NativeDB Introduced: v1311
 */
global.UiFeedPostSampleToastWithAppLink = function (p2, p3, p4) {
	return _in(0x38838a64, 0x6fb30aae, _i, _i, p2, p3, p4, _r, _ri);
};

/**
 * _UI_FEED_POST_THREE_TEXT_SHARD
 */
global.UiFeedPostThreeTextShard = function (p2, p3, p4) {
	return _in(0x02bcc0fe, 0x9eba3529, _i, _i, p2, p3, p4, _r, _ri);
};
global.N_0x02bcc0fe9eba3529 = global.UiFeedPostThreeTextShard;

/**
 * _UI_FEED_POST_TWO_TEXT_SHARD
 */
global.UiFeedPostTwoTextShard = function (p2, p3) {
	return _in(0xa6f4216a, 0xb10eb08e, _i, _i, p2, p3, _r, _ri);
};
global.N_0xa6f4216ab10eb08e = global.UiFeedPostTwoTextShard;

/**
 * _UI_FEED_POST_VOICE_CHAT_FEED
 */
global.UiFeedPostVoiceChatFeed = function (p2) {
	return _in(0xc48152bc, 0x6b3e821c, _i, _i, p2, _r, _ri);
};
global.N_0xc48152bc6b3e821c = global.UiFeedPostVoiceChatFeed;

/**
 * UI_GET_SCENE_UIOBJECT
 */
global.UiGetSceneUiobject = function (p0) {
	return _in(0xbe1067cd, 0x1c9570f6, p0, _r, _ri);
};
global.N_0xbe1067cd1c9570f6 = global.UiGetSceneUiobject;

/**
 * UI_MOVIEVIEW_SET_RENDER_TARGET
 */
global.UiMovieviewSetRenderTarget = function (p0, p1) {
	return _in(0x51de09a2, 0x196bd951, p0, p1);
};
global.N_0x51de09a2196bd951 = global.UiMovieviewSetRenderTarget;

/**
 * _UI_PROMPT_ADD_GROUP_LINK
 */
global.UiPromptAddGroupLink = function (p0, prompt, p2) {
	return _in(0x684c96cc, 0x7c66e8ef, p0, prompt, p2);
};
global.PromptAddGroupLink = global.UiPromptAddGroupLink;

/**
 * _UI_PROMPT_ADD_GROUP_RETURN_LINK
 */
global.UiPromptAddGroupReturnLink = function (p0, prompt) {
	return _in(0x837972ed, 0x28159536, p0, prompt);
};
global.PromptAddGroupReturnLink = global.UiPromptAddGroupReturnLink;

/**
 * id is the return value from 0xD9459157EB22C895.
 */
global.UiPromptClearHorizontalOrientation = function (id) {
	return _in(0x6095358c, 0x4142932a, id);
};
global.N_0x6095358c4142932a = global.UiPromptClearHorizontalOrientation;

/**
 * _UI_PROMPT_CLEAR_PROMPT_PRIORITY_PREFERENCE
 */
global.UiPromptClearPromptPriorityPreference = function () {
	return _in(0x51259ae5, 0xc72d4a1b);
};
global.PromptClearFavouredPedForConflictResolution = global.UiPromptClearPromptPriorityPreference;

/**
 * _UI_PROMPT_CONTEXT_SET_POINT
 */
global.UiPromptContextSetPoint = function (prompt, x, y, z) {
	return _in(0xae84c5ee, 0x2c384fb3, prompt, _fv(x), _fv(y), _fv(z));
};
global.PromptSetPosition = global.UiPromptContextSetPoint;

/**
 * _UI_PROMPT_CONTEXT_SET_RADIUS
 */
global.UiPromptContextSetRadius = function (prompt, radius) {
	return _in(0x0c718001, 0xb77ca468, prompt, _fv(radius));
};
global.N_0x0c718001b77ca468 = global.UiPromptContextSetRadius;

/**
 * Attaches a Volume
 */
global.UiPromptContextSetVolume = function (prompt, volume) {
	return _in(0x4d107406, 0x667423be, prompt, volume);
};
global.N_0x4d107406667423be = global.UiPromptContextSetVolume;

/**
 * _UI_PROMPT_CREATE
 */
global.UiPromptCreate = function (inputHash, labelName, p2, p3, p4, p5) {
	return _in(0x29fa7910, 0x726c3889, _ch(inputHash), _ts(labelName), p2, p3, p4, p5, _r, _ri);
};
global.PromptCreate = global.UiPromptCreate;

/**
 * _UI_PROMPT_DELETE
 */
global.UiPromptDelete = function (prompt) {
	return _in(0x00ede88d, 0x4d13cf59, prompt);
};
global.PromptDelete = global.UiPromptDelete;

/**
 * _UI_PROMPT_DISABLE_PROMPT_TYPE_THIS_FRAME
 */
global.UiPromptDisablePromptTypeThisFrame = function (p0) {
	return _in(0xfc094ef2, 0x6dd153fa, p0);
};
global.PromptDisablePromptTypeThisFrame = global.UiPromptDisablePromptTypeThisFrame;

/**
 * _UI_PROMPT_DISABLE_PROMPTS_THIS_FRAME
 */
global.UiPromptDisablePromptsThisFrame = function () {
	return _in(0xf1622ce8, 0x8a1946fb);
};
global.N_0xf1622ce88a1946fb = global.UiPromptDisablePromptsThisFrame;

/**
 * _UI_PROMPT_DOES_AMBIENT_GROUP_EXIST
 */
global.UiPromptDoesAmbientGroupExist = function (hash) {
	return _in(0xeb550b92, 0x7b34a1bb, _ch(hash), _r);
};
global.PromptDoesAmbientGroupExist = global.UiPromptDoesAmbientGroupExist;

/**
 * https://github.com/femga/rdr3_discoveries/tree/master/graphics/HUD/prompts/prompt_types
 */
global.UiPromptEnablePromptTypeThisFrame = function (p0) {
	return _in(0x06565032, 0x897ba861, p0);
};
global.PromptEnablePromptTypeThisFrame = global.UiPromptEnablePromptTypeThisFrame;

/**
 * _UI_PROMPT_FILTER_CLEAR
 */
global.UiPromptFilterClear = function () {
	return _in(0x6a2f8204, 0x52017ea2);
};
global.PromptFilterClear = global.UiPromptFilterClear;

/**
 * _UI_PROMPT_GET_GROUP_ACTIVE_PAGE
 */
global.UiPromptGetGroupActivePage = function (hash) {
	return _in(0xc1fcc36c, 0x3f7286c8, _ch(hash), _r, _ri);
};
global.PromptGetGroupActivePage = global.UiPromptGetGroupActivePage;

/**
 * _UI_PROMPT_GET_GROUP_ID_FOR_SCENARIO_POINT
 */
global.UiPromptGetGroupIdForScenarioPoint = function (p0, p1) {
	return _in(0xcb73d752, 0x1e7103f0, p0, p1, _r, _ri);
};
global.PromptGetGroupIdForScenarioPoint = global.UiPromptGetGroupIdForScenarioPoint;

/**
 * _UI_PROMPT_GET_GROUP_ID_FOR_TARGET_ENTITY
 */
global.UiPromptGetGroupIdForTargetEntity = function (entity) {
	return _in(0xb796970b, 0xd125fce8, entity, _r, _ri);
};
global.PromptGetGroupIdForTargetEntity = global.UiPromptGetGroupIdForTargetEntity;

/**
 * _UI_PROMPT_GET_MASH_MODE_PROGRESS
 */
global.UiPromptGetMashModeProgress = function (prompt) {
	return _in(0x8a958529, 0x3863b8a5, prompt, _r, _rf);
};
global.PromptGetMashModeProgress = global.UiPromptGetMashModeProgress;

/**
 * _UI_PROMPT_GET_PROGRESS
 */
global.UiPromptGetProgress = function (prompt) {
	return _in(0x81801291, 0x806dbc50, prompt, _r, _rf);
};
global.N_0x81801291806dbc50 = global.UiPromptGetProgress;

/**
 * _UI_PROMPT_GET_URGENT_PULSING_ENABLED
 */
global.UiPromptGetUrgentPulsingEnabled = function (prompt) {
	return _in(0x1fba0dab, 0xecddb52b, prompt, _r);
};
global.PromptGetUrgentPulsingEnabled = global.UiPromptGetUrgentPulsingEnabled;

/**
 * _UI_PROMPT_HAS_HOLD_AUTO_FILL_MODE
 */
global.UiPromptHasHoldAutoFillMode = function (prompt) {
	return _in(0x8010bebd, 0x0d5ed5bc, prompt, _r);
};
global.PromptHasHoldAutoFillMode = global.UiPromptHasHoldAutoFillMode;

/**
 * _UI_PROMPT_HAS_HOLD_MODE
 */
global.UiPromptHasHoldMode = function (prompt) {
	return _in(0xb60c9f9e, 0xd47abb76, prompt, _r, _ri);
};
global.N_0xb60c9f9ed47abb76 = global.UiPromptHasHoldMode;

/**
 * _UI_PROMPT_HAS_HOLD_MODE_COMPLETED
 */
global.UiPromptHasHoldModeCompleted = function (prompt) {
	return _in(0xe0f65f06, 0x40ef0617, prompt, _r);
};
global.PromptHasHoldModeCompleted = global.UiPromptHasHoldModeCompleted;

/**
 * _UI_PROMPT_HAS_MANUAL_MASH_MODE
 */
global.UiPromptHasManualMashMode = function (prompt) {
	return _in(0xa6c6a4ad, 0xb3bac409, prompt, _r, _ri);
};
global.N_0xa6c6a4adb3bac409 = global.UiPromptHasManualMashMode;

/**
 * _UI_PROMPT_HAS_MASH_MODE
 */
global.UiPromptHasMashMode = function (prompt) {
	return _in(0xcd072523, 0x791ddc1b, prompt, _r, _ri);
};
global.N_0xcd072523791ddc1b = global.UiPromptHasMashMode;

/**
 * _UI_PROMPT_HAS_MASH_MODE_COMPLETED
 */
global.UiPromptHasMashModeCompleted = function (prompt) {
	return _in(0x845ce958, 0x416dc473, prompt, _r);
};
global.PromptHasMashModeCompleted = global.UiPromptHasMashModeCompleted;

/**
 * _UI_PROMPT_HAS_MASH_MODE_FAILED
 */
global.UiPromptHasMashModeFailed = function (prompt) {
	return _in(0x25b18e53, 0x0cf39d6f, prompt, _r);
};
global.PromptHasMashModeFailed = global.UiPromptHasMashModeFailed;

/**
 * _UI_PROMPT_HAS_PRESSED_TIMED_MODE_COMPLETED
 */
global.UiPromptHasPressedTimedModeCompleted = function (prompt) {
	return _in(0x3ce854d2, 0x50a88daf, prompt, _r, _ri);
};
global.PromptHasPressedTimedModeCompleted = global.UiPromptHasPressedTimedModeCompleted;

/**
 * _UI_PROMPT_HAS_PRESSED_TIMED_MODE_FAILED
 */
global.UiPromptHasPressedTimedModeFailed = function (prompt) {
	return _in(0x1a17b9ec, 0xff617562, prompt, _r, _ri);
};
global.PromptHasPressedTimedModeFailed = global.UiPromptHasPressedTimedModeFailed;

/**
 * Params: p1 is 0
 */
global.UiPromptHasStandardModeCompleted = function (prompt, p1) {
	return _in(0xc92ac953, 0xf0a982ae, prompt, p1, _r);
};
global.PromptHasStandardModeCompleted = global.UiPromptHasStandardModeCompleted;

/**
 * _UI_PROMPT_IS_ACTIVE
 */
global.UiPromptIsActive = function (prompt) {
	return _in(0x546e342e, 0x01de71cf, prompt, _r);
};
global.PromptIsActive = global.UiPromptIsActive;

/**
 * UI_PROMPT_IS_CONTROL_ACTION_ACTIVE
 */
global.UiPromptIsControlActionActive = function (controlAction) {
	return _in(0x1be19185, 0xb8afe299, _ch(controlAction), _r, _ri);
};
global.N_0x1be19185b8afe299 = global.UiPromptIsControlActionActive;

/**
 * _UI_PROMPT_IS_ENABLED
 */
global.UiPromptIsEnabled = function (prompt) {
	return _in(0x0d00eddf, 0xb58b7f28, prompt, _r, _ri);
};
global.PromptIsEnabled = global.UiPromptIsEnabled;

/**
 * _UI_PROMPT_IS_HOLD_MODE_RUNNING
 */
global.UiPromptIsHoldModeRunning = function (prompt) {
	return _in(0xc7d70eae, 0xf92eff48, prompt, _r);
};
global.PromptIsHoldModeRunning = global.UiPromptIsHoldModeRunning;

/**
 * _UI_PROMPT_IS_JUST_PRESSED
 */
global.UiPromptIsJustPressed = function (prompt) {
	return _in(0x2787cc61, 0x1d3facc5, prompt, _r);
};
global.PromptIsJustPressed = global.UiPromptIsJustPressed;

/**
 * _UI_PROMPT_IS_JUST_RELEASED
 */
global.UiPromptIsJustReleased = function (prompt) {
	return _in(0x635cc82f, 0xa297a827, prompt, _r);
};
global.PromptIsJustReleased = global.UiPromptIsJustReleased;

/**
 * _UI_PROMPT_IS_PRESSED
 */
global.UiPromptIsPressed = function (prompt) {
	return _in(0x21e60e23, 0x0086697f, prompt, _r);
};
global.PromptIsPressed = global.UiPromptIsPressed;

/**
 * _UI_PROMPT_IS_RELEASED
 */
global.UiPromptIsReleased = function (prompt) {
	return _in(0xafc887ba, 0x7a7756d6, prompt, _r);
};
global.PromptIsReleased = global.UiPromptIsReleased;

/**
 * _UI_PROMPT_IS_VALID
 */
global.UiPromptIsValid = function (prompt) {
	return _in(0x347469fb, 0xdd1589a9, prompt, _r);
};
global.PromptIsValid = global.UiPromptIsValid;

/**
 * _UI_PROMPT_REGISTER_BEGIN
 */
global.UiPromptRegisterBegin = function () {
	return _in(0x04f97de4, 0x5a519419, _r, _ri);
};
global.PromptRegisterBegin = global.UiPromptRegisterBegin;

/**
 * _UI_PROMPT_REGISTER_END
 */
global.UiPromptRegisterEnd = function (prompt) {
	return _in(0xf7aa2696, 0xa22ad8b9, prompt);
};
global.PromptRegisterEnd = global.UiPromptRegisterEnd;

/**
 * _UI_PROMPT_REMOVE_GROUP
 */
global.UiPromptRemoveGroup = function (prompt, p1) {
	return _in(0x4e52c800, 0xa28f7be8, prompt, p1);
};
global.PromptRemoveGroup = global.UiPromptRemoveGroup;

/**
 * _UI_PROMPT_RESTART_MODES
 */
global.UiPromptRestartModes = function (prompt) {
	return _in(0xdc6c55df, 0xa2c24ee5, prompt);
};
global.PromptRestartModes = global.UiPromptRestartModes;

/**
 * Note: you must use VAR_STRING for p1 if string is not part of text database
 * tabAmount: specifies number of tabs in prompt group
 * tabDefaultIndex: specifies starting index
 * p3 if is set > 3 you can no longer press Q to change tab if there are more than one tab set in tabAmount
 */
global.UiPromptSetActiveGroupThisFrame = function (hash, name, tabAmount, tabDefaultIndex, p4, prompt) {
	return _in(0xc65a45d4, 0x453c2627, _ch(hash), name, tabAmount, tabDefaultIndex, p4, prompt, _r, _ri);
};
global.PromptSetActiveGroupThisFrame = global.UiPromptSetActiveGroupThisFrame;

/**
 * _UI_PROMPT_SET_ALLOWED_ACTION
 */
global.UiPromptSetAllowedAction = function (prompt, action) {
	return _in(0x565c1ce1, 0x83cb0eaf, prompt, _ch(action));
};
global.PromptSetAllowedAction = global.UiPromptSetAllowedAction;

/**
 * _UI_PROMPT_SET_AMBIENT_GROUP_THIS_FRAME
 */
global.UiPromptSetAmbientGroupThisFrame = function (entity, p1, p2, p3, p4, name, p6) {
	return _in(0x315c81d7, 0x60609108, entity, _fv(p1), p2, p3, _ch(p4), _ts(name), p6, _r, _ri);
};
global.PromptSetAmbientGroupThisFrame = global.UiPromptSetAmbientGroupThisFrame;

/**
 * attribute: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/eUIPromptAttribute
 */
global.UiPromptSetAttribute = function (prompt, attribute, enabled) {
	return _in(0x560e76d5, 0xe2e1803f, prompt, attribute, enabled);
};
global.PromptSetAttribute = global.UiPromptSetAttribute;

/**
 * _UI_PROMPT_SET_BEAT_MODE
 */
global.UiPromptSetBeatMode = function (prompt, toggle) {
	return _in(0xf957a165, 0x4c6322fe, prompt, toggle);
};
global.PromptSetBeatMode = global.UiPromptSetBeatMode;

/**
 * _UI_PROMPT_SET_BEAT_MODE_GRAYED_OUT
 */
global.UiPromptSetBeatModeGrayedOut = function (prompt, p1) {
	return _in(0xb487a493, 0x6fbf40ac, prompt, p1);
};
global.PromptSetBeatModeGrayedOut = global.UiPromptSetBeatModeGrayedOut;

/**
 * _UI_PROMPT_SET_CONTROL_ACTION
 */
global.UiPromptSetControlAction = function (prompt, action) {
	return _in(0xb5352b74, 0x94a08258, prompt, _ch(action), _r, _ri);
};
global.PromptSetControlAction = global.UiPromptSetControlAction;

/**
 * _UI_PROMPT_SET_ENABLED
 */
global.UiPromptSetEnabled = function (prompt, toggle) {
	return _in(0x8a0fb4d0, 0x3a630d21, prompt, toggle);
};
global.PromptSetEnabled = global.UiPromptSetEnabled;

/**
 * tabIndex: specifies tab of prompt
 */
global.UiPromptSetGroup = function (prompt, groupId, tabIndex) {
	return _in(0x2f11d3a2, 0x54169ea4, prompt, groupId, tabIndex);
};
global.PromptSetGroup = global.UiPromptSetGroup;

/**
 * _UI_PROMPT_SET_HOLD_AUTO_FILL_MODE
 */
global.UiPromptSetHoldAutoFillMode = function (prompt, autoFillTimeMs, holdTimeMs) {
	return _in(0x3ce932e7, 0x37c145d6, prompt, autoFillTimeMs, holdTimeMs);
};
global.PromptSetHoldAutoFillMode = global.UiPromptSetHoldAutoFillMode;

/**
 * _UI_PROMPT_SET_HOLD_AUTO_FILL_WITH_DECAY_MODE
 */
global.UiPromptSetHoldAutoFillWithDecayMode = function (prompt, autoFillTimeMs, holdTimeMs) {
	return _in(0xa3f2149a, 0xa24f3d8e, prompt, autoFillTimeMs, holdTimeMs);
};
global.N_0xa3f2149aa24f3d8e = global.UiPromptSetHoldAutoFillWithDecayMode;

/**
 * _UI_PROMPT_SET_HOLD_INDEFINITELY_MODE
 */
global.UiPromptSetHoldIndefinitelyMode = function (prompt) {
	return _in(0xea5ccf4e, 0xeb2f82d1, prompt);
};
global.PromptSetHoldIndefinitelyMode = global.UiPromptSetHoldIndefinitelyMode;

/**
 * Params: p2 is 304000 in R* SP Script coachrobberies
 */
global.UiPromptSetHoldMode = function (prompt, holdTimeMs) {
	return _in(0x94073d5c, 0xa3f16b7b, prompt, holdTimeMs);
};
global.PromptSetHoldMode = global.UiPromptSetHoldMode;

/**
 * _UI_PROMPT_SET_MANUAL_RESOLVED
 */
global.UiPromptSetManualResolved = function (prompt, p1) {
	return _in(0xa520c7b0, 0x5fa4eb2a, prompt, p1);
};
global.N_0xa520c7b05fa4eb2a = global.UiPromptSetManualResolved;

/**
 * _UI_PROMPT_SET_MASH_AUTO_FILL_MODE
 */
global.UiPromptSetMashAutoFillMode = function (prompt, autoFillTimeMs, mashes) {
	return _in(0x6c39587d, 0x7cc66801, prompt, autoFillTimeMs, mashes);
};
global.PromptSetMashAutoFillMode = global.UiPromptSetMashAutoFillMode;

/**
 * _UI_PROMPT_SET_MASH_INDEFINITELY_MODE
 */
global.UiPromptSetMashIndefinitelyMode = function (prompt) {
	return _in(0x7b66e893, 0x12727274, prompt);
};
global.PromptSetMashIndefinitelyMode = global.UiPromptSetMashIndefinitelyMode;

/**
 * _UI_PROMPT_SET_MASH_MANUAL_CAN_FAIL_MODE
 */
global.UiPromptSetMashManualCanFailMode = function (prompt, p1, p2, p3, p4) {
	return _in(0x179dcf71, 0xf705da20, prompt, _fv(p1), _fv(p2), _fv(p3), p4);
};
global.PromptSetMashManualCanFailMode = global.UiPromptSetMashManualCanFailMode;

/**
 * _UI_PROMPT_SET_MASH_MANUAL_MODE
 */
global.UiPromptSetMashManualMode = function (prompt, p1, p2, p3, p4) {
	return _in(0x32df729d, 0x8bd3c1c6, prompt, _fv(p1), _fv(p2), _fv(p3), p4);
};
global.PromptSetMashManualMode = global.UiPromptSetMashManualMode;

/**
 * standard (prompt not held) rate: 0.035f
 * fast (prompt held) rate: 0.015f
 * punitive (been hit) rate: 0.14f
 */
global.UiPromptSetMashManualModeDecaySpeed = function (prompt, speed) {
	return _in(0x7d393c24, 0x7fb9b431, prompt, _fv(speed));
};
global.PromptSetMashManualModeDecaySpeed = global.UiPromptSetMashManualModeDecaySpeed;

/**
 * standard (prompt not held) rate: (1f / 128f)
 * fast (prompt held) rate: (1f / 64f)
 * punitive (been hit) rate: (1f / 128f)
 */
global.UiPromptSetMashManualModeIncreasePerPress = function (prompt, rate) {
	return _in(0xa0d1d79c, 0x6036a855, prompt, _fv(rate));
};
global.PromptSetMashManualModeIncreasePerPress = global.UiPromptSetMashManualModeIncreasePerPress;

/**
 * _UI_PROMPT_SET_MASH_MANUAL_MODE_PRESSED_GROWTH_SPEED
 */
global.UiPromptSetMashManualModePressedGrowthSpeed = function (prompt, speed) {
	return _in(0x56dbb26f, 0x98582c29, prompt, _fv(speed));
};
global.PromptSetMashManualModePressedGrowthSpeed = global.UiPromptSetMashManualModePressedGrowthSpeed;

/**
 * _UI_PROMPT_SET_MASH_MODE
 */
global.UiPromptSetMashMode = function (prompt, mashes) {
	return _in(0xdf6423bf, 0x071c7f71, prompt, mashes);
};
global.PromptSetMashMode = global.UiPromptSetMashMode;

/**
 * _UI_PROMPT_SET_MASH_WITH_RESISTANCE_CAN_FAIL_MODE
 */
global.UiPromptSetMashWithResistanceCanFailMode = function (prompt, mashes, p2, p3) {
	return _in(0xdc0cb602, 0xdeadba53, prompt, mashes, _fv(p2), _fv(p3));
};
global.PromptSetMashWithResistanceCanFailMode = global.UiPromptSetMashWithResistanceCanFailMode;

/**
 * _UI_PROMPT_SET_MASH_WITH_RESISTANCE_MODE
 */
global.UiPromptSetMashWithResistanceMode = function (prompt, mashes, p2, p3) {
	return _in(0xcd1bdff1, 0x5efa79f5, prompt, mashes, _fv(p2), _fv(p3));
};
global.PromptSetMashWithResistanceMode = global.UiPromptSetMashWithResistanceMode;

/**
 * _UI_PROMPT_SET_ORDERING_AS_INPUT_TYPE
 */
global.UiPromptSetOrderingAsInputType = function (prompt, p1) {
	return _in(0x2f385ecc, 0x5200938d, prompt, p1);
};
global.PromptSetOrderingAsInputType = global.UiPromptSetOrderingAsInputType;

/**
 * _UI_PROMPT_SET_PRESSED_TIMED_MODE
 */
global.UiPromptSetPressedTimedMode = function (prompt, depletionTimeMs) {
	return _in(0x1473d3af, 0x51d54276, prompt, depletionTimeMs);
};
global.PromptSetPressedTimedMode = global.UiPromptSetPressedTimedMode;

/**
 * priority: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/ePromptPriority
 */
global.UiPromptSetPriority = function (prompt, priority) {
	return _in(0xca24f528, 0xd0d16289, prompt, priority);
};
global.PromptSetPriority = global.UiPromptSetPriority;

/**
 * _UI_PROMPT_SET_PROMPT_PRIORITY_PREFERENCE
 */
global.UiPromptSetPromptPriorityPreference = function (ped) {
	return _in(0x530a4287, 0x05be5def, ped);
};
global.PromptSetFavouredPedForConflictResolution = global.UiPromptSetPromptPriorityPreference;

/**
 * This returns an id that can be used with 0x6095358C4142932A.
 */
global.UiPromptSetRegisterHorizontalOrientation = function () {
	return _in(0xd9459157, 0xeb22c895, _r, _ri);
};
global.N_0xd9459157eb22c895 = global.UiPromptSetRegisterHorizontalOrientation;

/**
 * Used for controllers
 */
global.UiPromptSetRotateMode = function (prompt, p1, counterclockwise) {
	return _in(0x7abe7095, 0xfb3d2581, prompt, _fv(p1), counterclockwise);
};
global.PromptSetRotateMode = global.UiPromptSetRotateMode;

/**
 * _UI_PROMPT_SET_SPINNER_POSITION
 */
global.UiPromptSetSpinnerPosition = function (prompt, p1) {
	return _in(0x832cb510, 0xde546282, prompt, p1);
};
global.PromptSetSpinnerPosition = global.UiPromptSetSpinnerPosition;

/**
 * _UI_PROMPT_SET_SPINNER_SPEED
 */
global.UiPromptSetSpinnerSpeed = function (prompt, p1) {
	return _in(0xac6586a7, 0xfdcd4b68, prompt, p1);
};
global.PromptSetSpinnerSpeed = global.UiPromptSetSpinnerSpeed;

/**
 * _UI_PROMPT_SET_STANDARD_MODE
 */
global.UiPromptSetStandardMode = function (prompt, releaseMode) {
	return _in(0xcc665679, 0x9977741b, prompt, releaseMode);
};
global.PromptSetStandardMode = global.UiPromptSetStandardMode;

/**
 * Hashes: SHORT_TIMED_EVENT_MP, SHORT_TIMED_EVENT, MEDIUM_TIMED_EVENT, LONG_TIMED_EVENT, RUSTLING_CALM_TIMING, PLAYER_FOCUS_TIMING, PLAYER_REACTION_TIMING
 */
global.UiPromptSetStandardizedHoldMode = function (prompt, timedEventHash) {
	return _in(0x74c7d7b7, 0x2ed0d3cf, prompt, _ch(timedEventHash));
};
global.PromptSetStandardizedHoldMode = global.UiPromptSetStandardizedHoldMode;

/**
 * _UI_PROMPT_SET_TAG
 */
global.UiPromptSetTag = function (prompt, p1) {
	return _in(0xdec85c17, 0x4751292b, prompt, p1);
};
global.PromptSetTag = global.UiPromptSetTag;

/**
 * _UI_PROMPT_SET_TARGET_MODE
 */
global.UiPromptSetTargetMode = function (prompt, p1, p2, p3) {
	return _in(0x5f6503d9, 0xcd2754eb, prompt, _fv(p1), _fv(p2), p3);
};
global.PromptSetTargetMode = global.UiPromptSetTargetMode;

/**
 * _UI_PROMPT_SET_TARGET_MODE_PROGRESS
 */
global.UiPromptSetTargetModeProgress = function (prompt, progress) {
	return _in(0x00123054, 0xbec8a30f, prompt, _fv(progress));
};
global.PromptSetTargetModeProgress = global.UiPromptSetTargetModeProgress;

/**
 * _UI_PROMPT_SET_TARGET_MODE_TARGET
 */
global.UiPromptSetTargetModeTarget = function (prompt, p1, p2) {
	return _in(0x5e019c45, 0xdd3b6a14, prompt, _fv(p1), _fv(p2));
};
global.PromptSetTargetModeTarget = global.UiPromptSetTargetModeTarget;

/**
 * _UI_PROMPT_SET_TEXT
 */
global.UiPromptSetText = function (prompt, text) {
	return _in(0x5dd02a83, 0x18420dd7, prompt, text);
};
global.PromptSetText = global.UiPromptSetText;

/**
 * TM_ANY = 0,
 * TM_ON_FOOT,
 * TM_IN_VEHICLE
 */
global.UiPromptSetTransportMode = function (prompt, mode) {
	return _in(0x876e4a35, 0xc73a6655, prompt, mode);
};
global.PromptSetTransportMode = global.UiPromptSetTransportMode;

/**
 * Params: type = mostly 0, 6 (net_mission_intro_story_gvo), 7 (fm_mission_controller), 14 (net_ugc_end_flow_transition_online), 15 (net_main_[tlg_]offline)
 */
global.UiPromptSetType = function (prompt, type) {
	return _in(0xf4a5c450, 0x9bf923b1, prompt, type);
};
global.N_0xf4a5c4509bf923b1 = global.UiPromptSetType;

/**
 * _UI_PROMPT_SET_URGENT_PULSING_ENABLED
 */
global.UiPromptSetUrgentPulsingEnabled = function (prompt, toggle) {
	return _in(0xc5f428ee, 0x08fa7f2c, prompt, toggle);
};
global.PromptSetUrgentPulsingEnabled = global.UiPromptSetUrgentPulsingEnabled;

/**
 * _UI_PROMPT_SET_VISIBLE
 */
global.UiPromptSetVisible = function (prompt, toggle) {
	return _in(0x71215acc, 0xfde075ee, prompt, toggle);
};
global.PromptSetVisible = global.UiPromptSetVisible;

/**
 * _UI_PROMPT_WAS_BEAT_MODE_PRESSED_IN_TIME_WINDOW
 */
global.UiPromptWasBeatModePressedInTimeWindow = function (prompt) {
	return _in(0x1fe4788a, 0xb1430c55, prompt, _r);
};
global.PromptWasBeatModePressedInTimeWindow = global.UiPromptWasBeatModePressedInTimeWindow;

/**
 * UI_REQUEST_SCENE
 */
global.UiRequestScene = function (p0, p1) {
	return _in(0xb6857100, 0xf8fd433c, p0, p1, _r, _ri);
};
global.N_0xb6857100f8fd433c = global.UiRequestScene;

/**
 * Hardcoded to return false.
 */
global.UiStartedEndUserBenchmark = function () {
	return _in(0x4ffa0386, 0xa6216113, _r);
};
global.UiIsSingleplayerPauseMenuActive = global.UiStartedEndUserBenchmark;

/**
 * UI_STATE_MACHINE_CAN_REQUEST_TRANSITION
 */
global.UiStateMachineCanRequestTransition = function (p0) {
	return _in(0xf7c180f5, 0x7f85d0b8, p0, _r, _ri);
};
global.N_0xf7c180f57f85d0b8 = global.UiStateMachineCanRequestTransition;

/**
 * UI_STATE_MACHINE_CREATE
 */
global.UiStateMachineCreate = function (p0, p1) {
	return _in(0x4c6f2c4b, 0x7a03a266, p0, p1, _r, _ri);
};
global.StateMachineCreate = global.UiStateMachineCreate;

/**
 * UI_STATE_MACHINE_DESTROY
 */
global.UiStateMachineDestroy = function (p0) {
	return _in(0x4eb12221, 0x0a90e2d8, p0);
};
global.StateMachineDestroy = global.UiStateMachineDestroy;

/**
 * UI_STATE_MACHINE_DESTROY_AND_CLEAR
 */
global.UiStateMachineDestroyAndClear = function (p0) {
	return _in(0x2738d68d, 0x2b4e09e7, _ii(p0) /* may be optional */);
};
global.N_0x2738d68d2b4e09e7 = global.UiStateMachineDestroyAndClear;

/**
 * UI_STATE_MACHINE_EXISTS
 */
global.UiStateMachineExists = function (p0) {
	return _in(0x5d15569c, 0x0febf757, p0, _r, _ri);
};
global.DoesStateMachineExist = global.UiStateMachineExists;

/**
 * _UI_STATE_MACHINE_IS_EXITED
 */
global.UiStateMachineIsExited = function (p0) {
	return _in(0x11e73195, 0xe735b25b, _ch(p0), _r, _ri);
};
global.N_0x11e73195e735b25b = global.UiStateMachineIsExited;

/**
 * UI_STATE_MACHINE_REQUEST_EXIT
 */
global.UiStateMachineRequestExit = function (p0, p1) {
	return _in(0x6b9fe4f0, 0xba521a19, p0, p1);
};
global.N_0x6b9fe4f0ba521a19 = global.UiStateMachineRequestExit;

/**
 * UI_STATE_MACHINE_REQUEST_TRANSITION
 */
global.UiStateMachineRequestTransition = function (p0, p1) {
	return _in(0x7ea9c354, 0x7e80350e, p0, p1, _r, _ri);
};
global.StateMachineRequestTransition = global.UiStateMachineRequestTransition;

/**
 * _UI_STICKY_FEED_CLEAR_MESSAGE
 */
global.UiStickyFeedClearMessage = function (msgId) {
	return _in(0x00a15b94, 0xcba4f76f, msgId);
};
global.N_0x00a15b94cba4f76f = global.UiStickyFeedClearMessage;

/**
 * Example: https://pastebin.com/JygJShNU
 */
global.UiStickyFeedCreateDeathFailMessage = function (p2) {
	return _in(0x815c4065, 0xae6e6071, _i, _i, p2, _r, _ri);
};
global.N_0x815c4065ae6e6071 = global.UiStickyFeedCreateDeathFailMessage;

/**
 * Example: https://pastebin.com/EJD7ytnz
 */
global.UiStickyFeedCreateErrorMessage = function (p2) {
	return _in(0x9f2cc243, 0x9a04e7ba, _i, _i, p2, _r, _ri);
};
global.N_0x9f2cc2439a04e7ba = global.UiStickyFeedCreateErrorMessage;

/**
 * Example: https://pastebin.com/6mLtee2S
 */
global.UiStickyFeedCreateWarningMessage = function (p2) {
	return _in(0x339e16b4, 0x1780fc35, _i, _i, p2, _r, _ri);
};
global.N_0x339e16b41780fc35 = global.UiStickyFeedCreateWarningMessage;

/**
 * Returns state of sticky feed message, see 0x59FA676177DBE4C9
 */
global.UiStickyFeedGetMessageState = function (msgId) {
	return _in(0x07954320, 0xd77f6a3d, msgId, _r, _ri);
};
global.N_0x07954320d77f6a3d = global.UiStickyFeedGetMessageState;

/**
 * _UI_STICKY_FEED_IS_ALERT_SCREEN_ACTIVE
 */
global.UiStickyFeedIsAlertScreenActive = function () {
	return _in(0xf8806ec3, 0xff840fdc, _r, _ri);
};
global.N_0xf8806ec3ff840fdc = global.UiStickyFeedIsAlertScreenActive;

/**
 * stickyFeedChannel: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/eUIStickyFeedChannel
 */
global.UiStickyFeedIsChannelActive = function (stickyFeedChannel) {
	return _in(0xc5c395c6, 0x0b542a3c, stickyFeedChannel, _r, _ri);
};
global.N_0xc5c395c60b542a3c = global.UiStickyFeedIsChannelActive;

/**
 * Seems to only update _UI_STICKY_FEED_CREATE_ERROR_MESSAGE(0x9F2CC2439A04E7BA) and _UI_STICKY_FEED_CREATE_DEATH_FAIL_MESSAGE(0x815C4065AE6E6071) message.
 * Example: https://pastebin.com/nDrJyWq2
 */
global.UiStickyFeedUpdateMessage = function (msgId, p2) {
	return _in(0xbc6f454e, 0x310124da, msgId, _i, p2);
};
global.N_0xbc6f454e310124da = global.UiStickyFeedUpdateMessage;

/**
 * _UIFLOWBLOCK_ENTER
 */
global.UiflowblockEnter = function (p0, p1) {
	return _in(0x3b751972, 0x0c9dcb45, p0, p1, _r, _ri);
};
global.EnterFlowBlock = global.UiflowblockEnter;

/**
 * _UIFLOWBLOCK_IS_LOADED
 */
global.UiflowblockIsLoaded = function (p0) {
	return _in(0x10a93c05, 0x7b6bd944, p0, _r, _ri);
};
global.IsFlowBlockLoaded = global.UiflowblockIsLoaded;

/**
 * _UIFLOWBLOCK_RELEASE
 */
global.UiflowblockRelease = function (p0) {
	return _in(0xf320a77d, 0xd5f781df, p0);
};
global.ReleaseFlowBlock = global.UiflowblockRelease;

/**
 * _UIFLOWBLOCK_REQUEST
 */
global.UiflowblockRequest = function (p0) {
	return _in(0xc0081b34, 0xe395ce48, p0, _r, _ri);
};
global.RequestFlowBlock = global.UiflowblockRequest;

/**
 * _UILOG_ADD_ENTRY_HASH
 */
global.UilogAddEntryHash = function (p0, p1, x, y, z, p5, p6, p7) {
	return _in(0x69d54799, 0x82355d8f, p0, p1, _fv(x), _fv(y), _fv(z), _ch(p5), _ch(p6), p7);
};
global.LogAddEntryHash = global.UilogAddEntryHash;

/**
 * _UILOG_ADD_ITEM_TO_TASK_LIST
 */
global.UilogAddItemToTaskList = function (p0, p1, p2, p3, p4, p5, p6, p7) {
	return _in(0x49c63fdf, 0x69744a27, p0, p1, p2, p3, p4, p5, p6, p7);
};
global.N_0x49c63fdf69744a27 = global.UilogAddItemToTaskList;

/**
 * _UILOG_ADD_OR_UPDATE_OBJECTIVE
 */
global.UilogAddOrUpdateObjective = function (p0, p1, p2, p3, p4, p5, p6) {
	return _in(0xb4316338, 0x8484cc87, p0, _ch(p1), _ch(p2), _ts(p3), p4, p5, p6);
};
global.LogAddOrUpdateObjective = global.UilogAddOrUpdateObjective;

/**
 * _UILOG_ADD_TOTAL_TAKE_ENTRY
 */
global.UilogAddTotalTakeEntry = function (p0, p1, p2, p3, p4) {
	return _in(0x60c59968, 0xe8e87e6b, _ch(p0), _ch(p1), _ts(p2), _ts(p3), _ch(p4));
};
global.LogAddTotalTakeEntry = global.UilogAddTotalTakeEntry;

/**
 * _UILOG_CLEAR_ALL_ENTRIES
 */
global.UilogClearAllEntries = function () {
	return _in(0xb95b4ea6, 0xb1edf035);
};
global.LogClearAllEntries = global.UilogClearAllEntries;

/**
 * _UILOG_CLEAR_CACHED_OBJECTIVE
 */
global.UilogClearCachedObjective = function () {
	return _in(0xdff0d417, 0x277b41f8);
};
global.LogClearCachedObjective = global.UilogClearCachedObjective;

/**
 * _UILOG_CLEAR_HAS_DISPLAYED_CACHED_OBJECTIVE
 */
global.UilogClearHasDisplayedCachedObjective = function () {
	return _in(0xa3108d69, 0x81a5cadb);
};
global.LogClearHasDisplayedCachedObjective = global.UilogClearHasDisplayedCachedObjective;

/**
 * _UILOG_GET_CACHED_OBJECTIVE
 */
global.UilogGetCachedObjective = function () {
	return _in(0x15a4461b, 0xeb788096, _r, _s);
};
global.LogGetCachedObjective = global.UilogGetCachedObjective;

/**
 * _UILOG_HAS_DISPLAYED_CACHED_OBJECTIVE
 */
global.UilogHasDisplayedCachedObjective = function () {
	return _in(0xcc48ffbb, 0x45b54f71, _r, _ri);
};
global.LogHasDisplayedCachedObjective = global.UilogHasDisplayedCachedObjective;

/**
 * _UILOG_IS_ENTRY_REGISTERED
 */
global.UilogIsEntryRegistered = function (p0, p1) {
	return _in(0xb8188ccf, 0x52202475, p0, _ch(p1), _r, _ri);
};
global.LogIsEntryRegistered = global.UilogIsEntryRegistered;

/**
 * _UILOG_MARK_ALL_ENTRIES_AVAILABILITY
 */
global.UilogMarkAllEntriesAvailability = function (p0, p1) {
	return _in(0x3920574c, 0xf0a2b7b6, p0, _ts(p1));
};
global.LogMarkAllEntriesAvailability = global.UilogMarkAllEntriesAvailability;

/**
 * _UILOG_MARK_ENTRY_AVAILABILITY
 */
global.UilogMarkEntryAvailability = function (p0, p1, p2, p3) {
	return _in(0x13e8d7dd, 0x08543482, p0, _ch(p1), p2, _ts(p3));
};
global.LogMarkEntryAvailability = global.UilogMarkEntryAvailability;

/**
 * _UILOG_MARK_MISSION_COMPLETED
 */
global.UilogMarkMissionCompleted = function (p0) {
	return _in(0xde31d66d, 0x1e54c471, _ch(p0));
};
global.LogMarkMissionCompleted = global.UilogMarkMissionCompleted;

/**
 * _UILOG_POST_NOTIFICATION
 */
global.UilogPostNotification = function (data) {
	return _in(0x49e58fe6, 0xef40b987, _ii(data) /* may be optional */, _r, _ri);
};
global.LogPostNotification = global.UilogPostNotification;

/**
 * _UILOG_PRINT_CACHED_OBJECTIVE
 */
global.UilogPrintCachedObjective = function () {
	return _in(0xe9990552, 0xdec71600);
};
global.LogPrintCachedObjective = global.UilogPrintCachedObjective;

/**
 * _UILOG_REMOVE_ENTRY
 */
global.UilogRemoveEntry = function (p0, p1) {
	return _in(0xd594a19b, 0xe09a75c6, p0, _ch(p1));
};
global.LogRemoveEntry = global.UilogRemoveEntry;

/**
 * _UILOG_SET_CACHED_OBJECTIVE
 */
global.UilogSetCachedObjective = function (p0) {
	return _in(0xfa233f8f, 0xe190514c, _ts(p0));
};
global.LogSetCachedObjective = global.UilogSetCachedObjective;

/**
 * _UILOG_SET_DISPLAY_COMPLETION_RATING
 */
global.UilogSetDisplayCompletionRating = function (logEntryType, p1, p2) {
	return _in(0xa3101379, 0x8fadcadc, logEntryType, _ch(p1), p2);
};
global.N_0xa31013798fadcadc = global.UilogSetDisplayCompletionRating;

/**
 * _UILOG_SET_ENTRY_BRIEF_TEXTURE
 */
global.UilogSetEntryBriefTexture = function (p0, p1, texture, textureDictionary) {
	return _in(0x69684d99, 0x36958d8f, p0, _ch(p1), _ch(texture), _ch(textureDictionary));
};
global.LogSetEntryBriefTexture = global.UilogSetEntryBriefTexture;

/**
 * _UILOG_SET_ENTRY_ICON_TEXTURE
 */
global.UilogSetEntryIconTexture = function (p0, p1, icon, iconDictionary) {
	return _in(0x69654699, 0x34958d8f, p0, _ch(p1), _ch(icon), _ch(iconDictionary));
};
global.LogSetEntryIconTexture = global.UilogSetEntryIconTexture;

/**
 * _UILOG_SET_ENTRY_PINNED
 */
global.UilogSetEntryPinned = function (p0, p1, p2) {
	return _in(0x72a5cd21, 0x4b342568, p0, _ch(p1), p2);
};
global.LogSetEntryPinned = global.UilogSetEntryPinned;

/**
 * _UILOG_SET_HAS_DISPLAYED_CACHED_OBJECTIVE
 */
global.UilogSetHasDisplayedCachedObjective = function () {
	return _in(0xa3108d69, 0x81a5cadc);
};
global.LogSetHasDisplayedCachedObjective = global.UilogSetHasDisplayedCachedObjective;

/**
 * _UILOG_SET_PENDING_DETAILS_ID
 */
global.UilogSetPendingDetailsId = function (p0, p1) {
	return _in(0x136a027c, 0xf37b0a4f, p0, _ch(p1), _r, _ri);
};
global.LogSetPendingDetailsId = global.UilogSetPendingDetailsId;

/**
 * _UILOG_SET_TOTAL_TAKE_SUMMARY
 */
global.UilogSetTotalTakeSummary = function (p0, p1) {
	return _in(0xd106b211, 0xef1b8f04, _ts(p0), _ts(p1));
};
global.LogSetTotalTakeSummary = global.UilogSetTotalTakeSummary;

/**
 * _UILOG_UPDATE_ENTRY_SUBHEADER
 */
global.UilogUpdateEntrySubheader = function (p0, p1, p2) {
	return _in(0x80d65241, 0x90258c3e, p0, _ch(p1), _ts(p2));
};
global.LogUpdateEntrySubheader = global.UilogUpdateEntrySubheader;

/**
 * _UIPINNING_GET_TOOLTIP_TEXT
 */
global.UipinningGetTooltipText = function (hash) {
	return _in(0x3138582e, 0x0a13bfab, _ch(hash), _r, _s);
};
global.N_0x3138582e0a13bfab = global.UipinningGetTooltipText;

/**
 * _UITUTORIAL_GET_IS_THREAT_INDICATOR_CAPABLE_RADAR_SHOWN
 */
global.UitutorialGetIsThreatIndicatorCapableRadarShown = function () {
	return _in(0x2cc24a2a, 0x7a1489c4, _r, _ri);
};
global.GetIsThreatIndicatorCapableRadarShown = global.UitutorialGetIsThreatIndicatorCapableRadarShown;

/**
 * _UITUTORIAL_GET_IS_THREAT_INDICATOR_ON
 */
global.UitutorialGetIsThreatIndicatorOn = function () {
	return _in(0xfc2e0a5e, 0x9ed4e1b4, _r, _ri);
};
global.GetIsThreatIndicatorOn = global.UitutorialGetIsThreatIndicatorOn;

/**
 * enum eRpgIcons
 * {
 * ICON_STAMINA,
 * ICON_STAMINA_CORE,
 * ICON_DEADEYE,
 * ICON_DEADEYE_CORE,
 * ICON_HEALTH,
 * ICON_HEALTH_CORE,
 * ICON_HORSE_HEALTH,
 * ICON_HORSE_HEALTH_CORE,
 * ICON_HORSE_STAMINA,
 * ICON_HORSE_STAMINA_CORE,
 * ICON_HORSE_COURAGE,
 * ICON_HORSE_COURAGE_CORE
 * };
 * enum eRpgIconVisibility
 * {
 * ICON_VISIBILITY_WAIT_TO_HIDE,
 * ICON_VISIBILITY_ALWAYS_SHOW,
 * ICON_VISIBILITY_ALWAYS_HIDE,
 * ICON_VISIBILITY_ALWAYS_BLINK
 * };
 */
global.UitutorialSetRpgIconVisibility = function (rpgIcon, visibility) {
	return _in(0xc116e6df, 0x68dce667, rpgIcon, visibility);
};
global.SetRpgIconVisibility = global.UitutorialSetRpgIconVisibility;

/**
 * UNCUFF_PED
 */
global.UncuffPed = function (ped) {
	return _in(0x67406f2c, 0x8f87fc4f, ped);
};

/**
 * _UNHITCH_HORSE
 */
global.UnhitchHorse = function (horse) {
	return _in(0x0348469d, 0xaa17576c, horse);
};
global.N_0x0348469daa17576c = global.UnhitchHorse;

/**
 * getupSetHash: see nm_blend_out_sets.meta
 */
global.UnhogtiePed = function (ped, flags, getupSetHash, p3, p4, p5) {
	return _in(0x79559bad, 0x83ccd038, ped, flags, _ch(getupSetHash), _ts(p3), _ts(p4), _fv(p5));
};
global.N_0x79559bad83ccd038 = global.UnhogtiePed;

/**
 * _UNLOAD_CAMERA_DATA_DICT
 */
global.UnloadCameraDataDict = function (cameraDictionary) {
	return _in(0x798be43c, 0x9393632b, _ts(cameraDictionary));
};
global.N_0x798be43c9393632b = global.UnloadCameraDataDict;

/**
 * _UNLOAD_CINEMATIC_CAMERA_LOCATION
 */
global.UnloadCinematicCameraLocation = function (dictionaryName) {
	return _in(0x2412216f, 0xcc7b4e3e, _ts(dictionaryName));
};
global.N_0x2412216fcc7b4e3e = global.UnloadCinematicCameraLocation;

/**
 * _UNLOAD_[A-C]* - USE_*
 */
global.UnloadSpeechContext = function (speechContext) {
	return _in(0x87e6302f, 0xc61208cc, _ts(speechContext));
};
global.N_0x87e6302fc61208cc = global.UnloadSpeechContext;

/**
 * _UNLOCK_GET_ITEM_ROLE_UNLOCK_INFO
 */
global.UnlockGetItemRoleUnlockInfo = function (unlockHash, outData) {
	return _in(0x7c1c2062, 0xcfad06fe, _ch(unlockHash), _ii(outData) /* may be optional */);
};
global.N_0x7c1c2062cfad06fe = global.UnlockGetItemRoleUnlockInfo;

/**
 * _UNLOCK_IS_LOOTABLE
 */
global.UnlockIsLootable = function (unlockHash) {
	return _in(0x66bf197e, 0x066050de, _ch(unlockHash), _r);
};

/**
 * _UNLOCK_IS_NEW
 */
global.UnlockIsNew = function (unlockHash) {
	return _in(0x644166ba, 0x7aa49dea, _ch(unlockHash), _r);
};

/**
 * _UNLOCK_IS_UNLOCK_FLAG_SET
 */
global.UnlockIsUnlockFlagSet = function (unlockHash, flag) {
	return _in(0x6b636964, 0x7f26f09f, _ch(unlockHash), flag, _r);
};

/**
 * UNLOCK_IS_UNLOCKED
 */
global.UnlockIsUnlocked = function (unlockHash) {
	return _in(0xc4b660c7, 0xb6040e75, _ch(unlockHash), _r);
};
global.UnlockIsUnlocked = global.UnlockIsUnlocked;

/**
 * UNLOCK_IS_VISIBLE
 */
global.UnlockIsVisible = function (unlockHash) {
	return _in(0x8588a14b, 0x75af096b, _ch(unlockHash), _r);
};
global.UnlockIsVisible = global.UnlockIsVisible;

/**
 * UNLOCK_MINIMAP_ANGLE
 */
global.UnlockMinimapAngle = function () {
	return _in(0x5373de8e, 0x179bc2a0);
};

/**
 * _UNLOCK_SET_NEW
 */
global.UnlockSetNew = function (unlockHash, toggle) {
	return _in(0xa6d79c7a, 0xef870a99, _ch(unlockHash), toggle);
};

/**
 * UNLOCK_SET_UNLOCKED
 */
global.UnlockSetUnlocked = function (unlockHash, toggle) {
	return _in(0x1b7c5ada, 0x8a6910a0, _ch(unlockHash), toggle);
};
global.UnlockSetUnlocked = global.UnlockSetUnlocked;

/**
 * UNLOCK_SET_VISIBLE
 */
global.UnlockSetVisible = function (unlockHash, toggle) {
	return _in(0x46b901a8, 0xecdb5a61, _ch(unlockHash), toggle);
};
global.UnlockSetVisible = global.UnlockSetVisible;

/**
 * Does something similar to INTERIOR::DISABLE_INTERIOR.
 * You don't fall through the floor but everything is invisible inside and looks the same as when INTERIOR::DISABLE_INTERIOR is used. Peds behaves normally inside.
 */
global.UnpinInterior = function (interior) {
	return _in(0x07fd1a0b, 0x814f6055, interior);
};

/**
 * _UNPIN_MAP_ENTITY
 */
global.UnpinMapEntity = function (entity) {
	return _in(0xd2b9c785, 0x37ed5759, entity);
};
global.N_0xd2b9c78537ed5759 = global.UnpinMapEntity;

/**
 * _UNREGISTER_EAGLE_EYE_FOR_ENTITY
 */
global.UnregisterEagleEyeForEntity = function (player, entity) {
	return _in(0x9dae1380, 0xcc5c6451, player, entity);
};
global.N_0x9dae1380cc5c6451 = global.UnregisterEagleEyeForEntity;

/**
 * _UNREGISTER_EAGLE_EYE_TRAILS_FOR_ENTITY
 */
global.UnregisterEagleEyeTrailsForEntity = function (player, entity, p2) {
	return _in(0x9a957912, 0xce2eabd1, player, entity, p2);
};
global.N_0x9a957912ce2eabd1 = global.UnregisterEagleEyeTrailsForEntity;

/**
 * UNREGISTER_INTERACTION_LOCKON_PROMPT
 */
global.UnregisterInteractionLockonPrompt = function (entity) {
	return _in(0xe98d55c5, 0x983f2509, entity, _r, _ri);
};
global.N_0xe98d55c5983f2509 = global.UnregisterInteractionLockonPrompt;

/**
 * Will unregister and cleanup a registered NUI callback handler.
 * Use along side the REGISTER_RAW_NUI_CALLBACK native.
 * @param callbackType The callback type to target
 */
global.UnregisterRawNuiCallback = function (callbackType) {
	return _in(0x00000000, 0x7fb46432, _ts(callbackType));
};

/**
 * nullsub, doesn't do anything
 */
global.UnregisterScriptWithAudio = function () {
	return _in(0xa8638be2, 0x28d4751a);
};

/**
 * _UNRESERVE_AMBIENT_PEDS
 */
global.UnreserveAmbientPeds = function (numPeds) {
	return _in(0x7d4e70a6, 0x7a651c71, numPeds);
};
global.N_0x7d4e70a67a651c71 = global.UnreserveAmbientPeds;

/**
 * NativeDB Introduced: v1311
 */
global.UpdateAnimalDamageModifier = function (player) {
	return _in(0x0f9e754e, 0xbe8fdbfa, player);
};

/**
 * UPDATE_LIGHTS_ON_ENTITY
 */
global.UpdateLightsOnEntity = function (entity) {
	return _in(0xbdbacb52, 0xa03cc760, entity);
};

/**
 * Returns the current status of the onscreen keyboard, and updates the output.
 * Status Codes:
 * 0 - User still editing
 * 1 - User has finished editing
 * 2 - User has canceled editing
 * 3 - Keyboard isn't active
 */
global.UpdateOnscreenKeyboard = function () {
	return _in(0x37df360f, 0x235a3893, _r, _ri);
};

/**
 * Should be called at least once for any new texture override.
 * Otherwise component textures will be just black.
 * Also needs to be called for updating any ped overlays to apply the changes.
 */
global.UpdatePedTexture = function (textureId) {
	return _in(0x92daaba2, 0xc1c10b0e, textureId);
};
global.N_0x92daaba2c1c10b0e = global.UpdatePedTexture;

/**
 * Update variation on ped, needed after first creation, or when component or texture/overlay is changed
 */
global.UpdatePedVariation = function (ped, p1, p2, p3, p4, p5) {
	return _in(0xcc8ca3e8, 0x8256e58f, ped, p1, p2, p3, p4, p5);
};
global.N_0xcc8ca3e88256e58f = global.UpdatePedVariation;

/**
 * Params: 0.0f to remove wound effects
 */
global.UpdatePedWoundEffect = function (ped, value) {
	return _in(0x66b1cb77, 0x8d911f49, ped, _fv(value));
};
global.N_0x66b1cb778d911f49 = global.UpdatePedWoundEffect;

/**
 * UPDATE_PLAYER_TELEPORT
 */
global.UpdatePlayerTeleport = function (player) {
	return _in(0xc39dce46, 0x72cbfbc1, player, _r);
};
global.HasPlayerTeleportFinished = global.UpdatePlayerTeleport;

/**
 * _UPDATE_SHOP_ITEM_WEARABLE_STATE
 */
global.UpdateShopItemWearableState = function (ped, componentHash, wearableState, p3, p4, p5) {
	return _in(0x66b957aa, 0xc2eaaeab, ped, _ch(componentHash), _ch(wearableState), p3, p4, p5);
};
global.N_0x66b957aac2eaaeab = global.UpdateShopItemWearableState;

/**
 * Only used in R* SP Scripts
 */
global.UpdateSoundPosition = function (soundId, x, y, z) {
	return _in(0x0286617c, 0x8fc50a53, soundId, _fv(x), _fv(y), _fv(z));
};
global.N_0x0286617c8fc50a53 = global.UpdateSoundPosition;

/**
 * UPDATE_TASK_HANDS_UP_DURATION
 */
global.UpdateTaskHandsUpDuration = function (ped, duration) {
	return _in(0xa98fcafd, 0x7893c834, ped, duration);
};

/**
 * UPDATE_WANTED_POSITION_THIS_FRAME
 */
global.UpdateWantedPositionThisFrame = function (player) {
	return _in(0xd0b0b044, 0x112bf424, player);
};
global.N_0xd0b0b044112bf424 = global.UpdateWantedPositionThisFrame;

/**
 * USE_FOOTSTEP_SCRIPT_SWEETENERS
 */
global.UseFootstepScriptSweeteners = function (ped, p1, hash) {
	return _in(0xbf4dc178, 0x4be94dfa, ped, p1, _ch(hash));
};
global.N_0xbf4dc1784be94dfa = global.UseFootstepScriptSweeteners;

/**
 * fxName: see data_0/data/effects/ptfx/fxlists/
 */
global.UseParticleFxAsset = function (fxName) {
	return _in(0xa10db07f, 0xc234dd12, _ts(fxName));
};

/**
 * USE_WAYPOINT_RECORDING_AS_ASSISTED_MOVEMENT_ROUTE
 */
global.UseWaypointRecordingAsAssistedMovementRoute = function (waypointRecording, p1, p2, p3, p4) {
	return _in(0x5a353b8e, 0x6b1095b5, _ts(waypointRecording), p1, _fv(p2), _fv(p3), p4);
};

/**
 * Note: The first bit in 'flags' must not be set.
 * It is also required to pass at least one extra argument (this must be a text label string or hash).
 * When passing a hash, flags should be 0.
 */
global.VarString = function (p0, p1, variadic) {
	return _in(0xfa925ac0, 0x0eb830b9, p0, _ts(p1), variadic, _r, _rl);
};
global.CreateVarString = global.VarString;

/**
 * Calculates distance between vectors.
 * The value returned will be in meters.
 */
global.Vdist = function (x1, y1, z1, x2, y2, z2) {
	return _in(0x2a488c17, 0x6d52cca5, _fv(x1), _fv(y1), _fv(z1), _fv(x2), _fv(y2), _fv(z2), _r, _rf);
};

/**
 * Calculates distance between vectors but does not perform Sqrt operations. (Its way faster)
 * The value returned will be in RAGE units.
 */
global.Vdist2 = function (x1, y1, z1, x2, y2, z2) {
	return _in(0xb7a62832, 0x0eff8e47, _fv(x1), _fv(y1), _fv(z1), _fv(x2), _fv(y2), _fv(z2), _r, _rf);
};

/**
 * Returns the network ID of the given vehicle.
 */
global.VehToNet = function (vehicle) {
	return _in(0xb4c94523, 0xf023419c, vehicle, _r, _ri);
};

/**
 * VEHICLE_WAYPOINT_PLAYBACK_GET_IS_PAUSED
 */
global.VehicleWaypointPlaybackGetIsPaused = function (p0) {
	return _in(0x4d6d30ab, 0x18b0b089, p0, _r, _ri);
};

/**
 * VEHICLE_WAYPOINT_PLAYBACK_OVERRIDE_SPEED
 */
global.VehicleWaypointPlaybackOverrideSpeed = function (vehicle, speed) {
	return _in(0x121f0593, 0xe0a431d7, vehicle, _fv(speed));
};

/**
 * VEHICLE_WAYPOINT_PLAYBACK_PAUSE
 */
global.VehicleWaypointPlaybackPause = function (vehicle) {
	return _in(0x8a4e6ac3, 0x73666bc5, vehicle);
};

/**
 * VEHICLE_WAYPOINT_PLAYBACK_RESUME
 */
global.VehicleWaypointPlaybackResume = function (vehicle) {
	return _in(0xdc04fcaa, 0x7839d492, vehicle);
};

/**
 * VEHICLE_WAYPOINT_PLAYBACK_USE_DEFAULT_SPEED
 */
global.VehicleWaypointPlaybackUseDefaultSpeed = function (vehicle) {
	return _in(0x5ceb25a7, 0xd2848963, vehicle);
};

/**
 * _VIRTUAL_COLLECTION_EXISTS
 */
global.VirtualCollectionExists = function (p0) {
	return _in(0x37963b56, 0x755bfb35, p0, _r, _ri);
};

/**
 * _VIRTUAL_COLLECTION_ITEM_ADD
 */
global.VirtualCollectionItemAdd = function (p0, index, p2, p3) {
	return _in(0x6dcbf187, 0x221cf73d, p0, index, _ch(p2), p3);
};

/**
 * _VIRTUAL_COLLECTION_RESET
 */
global.VirtualCollectionReset = function (p0) {
	return _in(0x09d95666, 0xed2b5f60, p0);
};

/**
 * _VIRTUAL_COLLECTION_SET_INTEREST_INDEX
 */
global.VirtualCollectionSetInterestIndex = function (p0, interestIndex) {
	return _in(0x49a84475, 0x33308bcf, p0, interestIndex);
};

/**
 * _VIRTUAL_COLLECTION_SET_SIZE
 */
global.VirtualCollectionSetSize = function (p0, size) {
	return _in(0x9dce9b01, 0xa93b58bc, p0, size);
};

/**
 * Calculates the magnitude of a vector.
 */
global.Vmag = function (x, y, z) {
	return _in(0x652d2eee, 0xf1d3e62c, _fv(x), _fv(y), _fv(z), _r, _rf);
};

/**
 * Calculates the magnitude of a vector but does not perform Sqrt operations. (Its way faster)
 */
global.Vmag2 = function (x, y, z) {
	return _in(0xa8ceacb4, 0xf35ae058, _fv(x), _fv(y), _fv(z), _r, _rf);
};

/**
 * WAIT
 */
global.Wait = function (ms) {
	return _in(0x4ede34fb, 0xadd967a6, ms);
};

/**
 * _WARP_PED_OUT_OF_VEHICLE
 */
global.WarpPedOutOfVehicle = function (ped) {
	return _in(0xe0b61ed8, 0xbb37712f, ped);
};
global.N_0xe0b61ed8bb37712f = global.WarpPedOutOfVehicle;

/**
 * WAS_ANIM_SCENE_SKIPPED
 */
global.WasAnimSceneSkipped = function (animScene) {
	return _in(0xef324e95, 0x50a394d5, animScene, _r, _ri);
};
global.N_0xef324e9550a394d5 = global.WasAnimSceneSkipped;

/**
 * Returns whether or not the currently executing event was canceled.
 * @return A boolean.
 */
global.WasEventCanceled = function () {
	return _in(0x00000000, 0x58382a19, _r);
};

/**
 * Despite this function's name, it simply returns whether the specified handle is a Ped.
 */
global.WasPedSkeletonUpdated = function (ped) {
	return _in(0x11b499c1, 0xe0ff8559, ped, _r);
};

/**
 * Only used in smuggler2 script
 */
global.WaterOverrideSetOceanwavemaxamplitude = function (maxAmplitude) {
	return _in(0xf06c5b66, 0xde20b2b8, _fv(maxAmplitude));
};
global.N_0xf06c5b66de20b2b8 = global.WaterOverrideSetOceanwavemaxamplitude;

/**
 * Only used in smuggler2 script
 */
global.WaterOverrideSetShorewaveamplitude = function (amplitude) {
	return _in(0x55123d5a, 0x7d9d3c42, _fv(amplitude));
};
global.N_0x55123d5a7d9d3c42 = global.WaterOverrideSetShorewaveamplitude;

/**
 * WAYPOINT_PLAYBACK_GET_IS_AIMING
 */
global.WaypointPlaybackGetIsAiming = function (ped) {
	return _in(0xd73a5d1f, 0x0325c71c, ped, _r, _ri);
};

/**
 * WAYPOINT_PLAYBACK_GET_IS_PAUSED
 */
global.WaypointPlaybackGetIsPaused = function (ped) {
	return _in(0x701375a7, 0xd43f01cb, ped, _r);
};

/**
 * WAYPOINT_PLAYBACK_GET_IS_SHOOTING
 */
global.WaypointPlaybackGetIsShooting = function (ped) {
	return _in(0xa5b94df8, 0xaf058f46, ped, _r, _ri);
};

/**
 * WAYPOINT_PLAYBACK_OVERRIDE_SPEED
 */
global.WaypointPlaybackOverrideSpeed = function (ped, speed, p2, p3, p4) {
	return _in(0x7d7d2b47, 0xfa788e85, ped, _fv(speed), p2, p3, p4);
};

/**
 * WAYPOINT_PLAYBACK_PAUSE
 */
global.WaypointPlaybackPause = function (ped, p1, p2, p3) {
	return _in(0x0f342546, 0xaa06fed5, ped, p1, p2, p3);
};

/**
 * WAYPOINT_PLAYBACK_RESUME
 */
global.WaypointPlaybackResume = function (ped, p1, p2, p3) {
	return _in(0x244f70c8, 0x4c547d2d, ped, p1, p2, p3);
};

/**
 * WAYPOINT_PLAYBACK_START_AIMING_AT_COORD
 */
global.WaypointPlaybackStartAimingAtCoord = function (p0, p1, p2, p3, p4, p5) {
	return _in(0x8968400d, 0x900ed8b3, p0, p1, p2, p3, p4, p5);
};

/**
 * WAYPOINT_PLAYBACK_START_AIMING_AT_ENTITY
 */
global.WaypointPlaybackStartAimingAtEntity = function (p0, p1, p2, p3) {
	return _in(0x4f158205, 0xe0c74385, p0, p1, p2, p3);
};

/**
 * WAYPOINT_PLAYBACK_START_AIMING_AT_PED
 */
global.WaypointPlaybackStartAimingAtPed = function (p0, p1, p2, p3) {
	return _in(0x20e33093, 0x7c399d29, p0, p1, p2, p3);
};

/**
 * WAYPOINT_PLAYBACK_START_SHOOTING_AT_COORD
 */
global.WaypointPlaybackStartShootingAtCoord = function (p0, p1, p2, p3, p4, p5, p6) {
	return _in(0x057a25cf, 0xcc9db671, p0, p1, p2, p3, p4, p5, p6);
};

/**
 * WAYPOINT_PLAYBACK_START_SHOOTING_AT_ENTITY
 */
global.WaypointPlaybackStartShootingAtEntity = function (p0, p1, p2, p3, p4) {
	return _in(0x4af458f7, 0x1c1196d2, p0, p1, p2, p3, p4);
};

/**
 * WAYPOINT_PLAYBACK_START_SHOOTING_AT_PED
 */
global.WaypointPlaybackStartShootingAtPed = function (p0, p1, p2, p3, p4) {
	return _in(0xe70ba7b9, 0x0f8390dc, p0, p1, p2, p3, p4);
};

/**
 * WAYPOINT_PLAYBACK_STOP_AIMING_OR_SHOOTING
 */
global.WaypointPlaybackStopAimingOrShooting = function (p0) {
	return _in(0x47efa040, 0xebb8e2ea, p0);
};

/**
 * WAYPOINT_PLAYBACK_USE_DEFAULT_SPEED
 */
global.WaypointPlaybackUseDefaultSpeed = function (ped) {
	return _in(0x6599d834, 0xb12d0800, ped);
};

/**
 * WAYPOINT_RECORDING_GET_CLOSEST_WAYPOINT
 */
global.WaypointRecordingGetClosestWaypoint = function (waypointRecording, x, y, z, point) {
	return _in(0xb629a298, 0x081f876f, _ts(waypointRecording), _fv(x), _fv(y), _fv(z), _ii(point) /* may be optional */, _r);
};

/**
 * WAYPOINT_RECORDING_GET_COORD
 */
global.WaypointRecordingGetCoord = function (waypointRecording, point, coord) {
	return _in(0x2fb89740, 0x5c90b361, _ts(waypointRecording), point, _v, _r);
};

/**
 * WAYPOINT_RECORDING_GET_NUM_POINTS
 */
global.WaypointRecordingGetNumPoints = function (waypointRecording, points) {
	return _in(0x5343532c, 0x01a07234, _ts(waypointRecording), _ii(points) /* may be optional */, _r);
};

/**
 * WAYPOINT_RECORDING_GET_SPEED_AT_POINT
 */
global.WaypointRecordingGetSpeedAtPoint = function (waypointRecording, point) {
	return _in(0x005622ae, 0xbc33aca9, _ts(waypointRecording), point, _r, _rf);
};

/**
 * WEEKLY_COLLECTIBLE_GET_ITEM_IN_SET
 */
global.WeeklyCollectibleGetItemInSet = function (chalHash, setIndex, itemIndex) {
	return _in(0xba61ba62, 0x05a3f5a8, _ch(chalHash), setIndex, itemIndex, _i, _i, _r, _ri);
};

/**
 * WEEKLY_COLLECTIBLE_GET_ITEM_SET_BUY_AWARD
 */
global.WeeklyCollectibleGetItemSetBuyAward = function (chalHash, index) {
	return _in(0x610783f6, 0x46894d25, _ch(chalHash), index, _r, _ri);
};

/**
 * WEEKLY_COLLECTIBLE_GET_ITEM_SET_LABEL
 */
global.WeeklyCollectibleGetItemSetLabel = function (chalHash, index) {
	return _in(0xbffa8852, 0x2ff0f730, _ch(chalHash), index, _r, _ri);
};

/**
 * WEEKLY_COLLECTIBLE_GET_NUM_ITEMS_IN_SET
 */
global.WeeklyCollectibleGetNumItemsInSet = function (chalHash, index) {
	return _in(0x7d675c9d, 0xddb365be, _ch(chalHash), index, _r, _ri);
};

/**
 * WEEKLY_COLLECTIBLE_GET_NUM_SETS
 */
global.WeeklyCollectibleGetNumSets = function (chalHash) {
	return _in(0x8f531772, 0x9f791d10, _ch(chalHash), _r, _ri);
};

/**
 * WOULD_ENTITY_BE_OCCLUDED
 */
global.WouldEntityBeOccluded = function (entityModelHash, x, y, z, p4) {
	return _in(0x3546fab2, 0x93ff2981, _ch(entityModelHash), _fv(x), _fv(y), _fv(z), p4, _r);
};

