native
streaming
Methods
request_model
Request a model to be loaded into memory.
function native.streaming.request_model(model: int, p1: bool): void
has_model_loaded
Checks if the specified model has loaded into memory.
function native.streaming.has_model_loaded(model: int): bool
set_model_as_no_longer_needed
Marks the model as no longer needed.
function native.streaming.set_model_as_no_longer_needed(model: int): void
is_model_in_cdimage
Returns whether the specified model exists in the game.
function native.streaming.is_model_in_cdimage(model: int): bool
is_model_valid
Returns whether the specified model is valid
function native.streaming.is_model_valid(model: int): bool
is_model_a_ped
function native.streaming.is_model_a_ped(model: int): bool
is_model_a_vehicle
Returns whether the specified model represents a vehicle.
function native.streaming.is_model_a_vehicle(model: int): bool
_is_model_an_object
function native.streaming._is_model_an_object(model: int): bool
_has_collision_loaded_at_coord
function native.streaming._has_collision_loaded_at_coord(x: float, y: float, z: float): bool
_0x80b3e0597366adf1
function native.streaming._0x80b3e0597366adf1(): void
request_collision_at_coord
function native.streaming.request_collision_at_coord(x: float, y: float, z: float): void
_request_metadata_at_coord
function native.streaming._request_metadata_at_coord(x: float, y: float, z: float): void
request_collision_for_model
function native.streaming.request_collision_for_model(model: int): void
has_collision_for_model_loaded
function native.streaming.has_collision_for_model_loaded(model: int): bool
request_additional_collision_at_coord
function native.streaming.request_additional_collision_at_coord(x: float, y: float, z: float): void
does_anim_dict_exist
function native.streaming.does_anim_dict_exist(anim_dict: string): bool
request_anim_dict
function native.streaming.request_anim_dict(anim_dict: string): void
has_anim_dict_loaded
function native.streaming.has_anim_dict_loaded(anim_dict: string): bool
remove_anim_dict
function native.streaming.remove_anim_dict(anim_dict: string): void
request_move_network_def
function native.streaming.request_move_network_def(name: string): void
has_move_network_def_loaded
function native.streaming.has_move_network_def_loaded(name: string): bool
remove_move_network_def
function native.streaming.remove_move_network_def(name: string): void
request_clip_set
function native.streaming.request_clip_set(clip_set: string): void
has_clip_set_loaded
Alias for HAS_ANIM_SET_LOADED.
function native.streaming.has_clip_set_loaded(clip_set: string): bool
remove_clip_set
Alias for REMOVE_ANIM_SET.
function native.streaming.remove_clip_set(clip_set: string): void
_request_clip_set_by_hash
function native.streaming._request_clip_set_by_hash(clip_set_hash: int): void
_0x03ddbf2d73799f9e
function native.streaming._0x03ddbf2d73799f9e(p0: int): void
_0x85b8f04555ab49b8
function native.streaming._0x85b8f04555ab49b8(p0: int): int
_0x9f348de670423460
function native.streaming._0x9f348de670423460(p0: int): void
_0x5288b7f0690f7c1f
function native.streaming._0x5288b7f0690f7c1f(p0: int): int
_request_scenario_type
function native.streaming._request_scenario_type(scenario_type: int, p1: int, p2: int, p3: int): int
_has_scenario_type_loaded
function native.streaming._has_scenario_type_loaded(scenario_type: int, p1: bool): bool
_remove_scenario_asset
function native.streaming._remove_scenario_asset(scenario_type: int): int
_0xb223249b7798eeed
function native.streaming._0xb223249b7798eeed(p0: int, p1: int, p2: int, p3: int): int
_0xa0ae7653e8181725
function native.streaming._0xa0ae7653e8181725(p0: int): int
_0x66bc28e50e85270e
function native.streaming._0x66bc28e50e85270e(p0: int): int
_get_ipl_bounding_sphere
Outputs IPL position and radius (previously wrongly named heading)
https://github.com/femga/rdr3_discoveries/blob/master/imaps/imaps_with_coords_and_heading.lua
function native.streaming._get_ipl_bounding_sphere(ipl_hash: int, position: ref vec3, radius: ptr int): bool
request_ipl_hash
Old name: _REQUEST_IMAP
function native.streaming.request_ipl_hash(ipl_hash: int): void
request_ipl_by_hash
Old name: _REQUEST_IMAP_2
function native.streaming.request_ipl_by_hash(ipl_hash: int): void
remove_ipl_hash
Old name: _REMOVE_IMAP
function native.streaming.remove_ipl_hash(ipl_hash: int): void
remove_ipl_by_hash
Old name: _REMOVE_IMAP_2
function native.streaming.remove_ipl_by_hash(ipl_hash: int): void
is_ipl_active_hash
Old name: _IS_IMAP_ACTIVE
function native.streaming.is_ipl_active_hash(ipl_hash: int): bool
is_ipl_active_by_hash
Old name: _IS_IMAP_ACTIVE_2
function native.streaming.is_ipl_active_by_hash(ipl_hash: int): bool
_is_position_inside_ipl_streaming_extents
Returns true if IPL is streamed in (?)
function native.streaming._is_position_inside_ipl_streaming_extents(ipl_hash: int, x: float, y: float, z: float): bool
_0xdeee1f265b7ecef5
function native.streaming._0xdeee1f265b7ecef5(): void
set_game_pauses_for_streaming
function native.streaming.set_game_pauses_for_streaming(toggle: bool): void
get_number_of_streaming_requests
function native.streaming.get_number_of_streaming_requests(): int
request_ptfx_asset
function native.streaming.request_ptfx_asset(): void
has_ptfx_asset_loaded
function native.streaming.has_ptfx_asset_loaded(): bool
remove_ptfx_asset
function native.streaming.remove_ptfx_asset(): void
request_named_ptfx_asset
function native.streaming.request_named_ptfx_asset(fx_name_hash: int): void
has_named_ptfx_asset_loaded
function native.streaming.has_named_ptfx_asset_loaded(fx_name_hash: int): bool
remove_named_ptfx_asset
function native.streaming.remove_named_ptfx_asset(fx_name_hash: int): void
set_population_budget_multiplier
function native.streaming.set_population_budget_multiplier(f_budget_multiplier: float): void
get_population_budget_multiplier
function native.streaming.get_population_budget_multiplier(): float
_0x071769bcb24379e5
function native.streaming._0x071769bcb24379e5(): int
clear_focus
function native.streaming.clear_focus(): void
set_focus_pos_and_vel
function native.streaming.set_focus_pos_and_vel(x: float, y: float, z: float, offset_x: float, offset_y: float, offset_z: float): void
set_focus_entity
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.
function native.streaming.set_focus_entity(entity: int): void
is_entity_focus
function native.streaming.is_entity_focus(entity: int): bool
set_mapdatacullbox_enabled
function native.streaming.set_mapdatacullbox_enabled(name: string, toggle: bool): void
set_all_mapdata_culled
nullsub, doesn't do anything
function native.streaming.set_all_mapdata_culled(p0: int): void
_0xf01d21df39554115
function native.streaming._0xf01d21df39554115(p0: int): void
load_scene_start
function native.streaming.load_scene_start(pos_x: float, pos_y: float, pos_z: float, offset_x: float, offset_y: float, offset_z: float, radius: float, p7: int): bool
load_scene_start_sphere
function native.streaming.load_scene_start_sphere(x: float, y: float, z: float, radius: float, p4: int): bool
load_scene_stop
function native.streaming.load_scene_stop(): void
is_load_scene_active
function native.streaming.is_load_scene_active(): bool
is_load_scene_loaded
function native.streaming.is_load_scene_loaded(): bool
is_rendered_scene_loaded
function native.streaming.is_rendered_scene_loaded(): bool
is_player_switch_in_progress
function native.streaming.is_player_switch_in_progress(): bool
set_scene_streaming_tracks_cam_pos_this_frame
function native.streaming.set_scene_streaming_tracks_cam_pos_this_frame(): void
ipl_group_swap_start
function native.streaming.ipl_group_swap_start(ipl_name1: string, ipl_name2: string): void
ipl_group_swap_cancel
function native.streaming.ipl_group_swap_cancel(): void
ipl_group_swap_is_ready
function native.streaming.ipl_group_swap_is_ready(): bool
ipl_group_swap_finish
function native.streaming.ipl_group_swap_finish(): void
ipl_group_swap_is_active
function native.streaming.ipl_group_swap_is_active(): bool
prefetch_srl
function native.streaming.prefetch_srl(srl: string): void
_0xae00387e53b1e9fc
function native.streaming._0xae00387e53b1e9fc(): void
_0xef1a8a484118735e
function native.streaming._0xef1a8a484118735e(): void
_0xd9f2ff4af394d926
function native.streaming._0xd9f2ff4af394d926(): void
is_srl_loaded
function native.streaming.is_srl_loaded(): bool
begin_srl
function native.streaming.begin_srl(): void
end_srl
function native.streaming.end_srl(): void
set_srl_time
function native.streaming.set_srl_time(p0: float): void
set_srl_readahead_times
function native.streaming.set_srl_readahead_times(p0: int, p1: int, p2: int, p3: int): void
set_srl_long_jump_mode
function native.streaming.set_srl_long_jump_mode(p0: bool): void
set_hd_area
function native.streaming.set_hd_area(x: float, y: float, z: float, radius: float): void
clear_hd_area
function native.streaming.clear_hd_area(): void
_0x09fbf15d73efc900
function native.streaming._0x09fbf15d73efc900(): void
_0xf11d7cb962fcd747
function native.streaming._0xf11d7cb962fcd747(p0: int): void
_0xb9b9e47edb9d63db
Sorts some unknown data.
Likely SORT_*
function native.streaming._0xb9b9e47edb9d63db(): void
_0xbe8daa9d8d01da6a
function native.streaming._0xbe8daa9d8d01da6a(p0: int, p1: int, p2: int): void
_0x53764309c4618087
function native.streaming._0x53764309c4618087(p0: int): int
_0x032a14d082a9b269
_SET_E* or _SET_F*
function native.streaming._0x032a14d082a9b269(p0: int): void
_0xafa87a7d41ee346a
function native.streaming._0xafa87a7d41ee346a(p0: int): void
_0x6a6e79fbe8678c98
function native.streaming._0x6a6e79fbe8678c98(): void
_0xcc61d8d6c19d9f14
function native.streaming._0xcc61d8d6c19d9f14(p0: int): void
_0xda7fdeff4de86839
function native.streaming._0xda7fdeff4de86839(): int
_0x5d5e2102b174b8d2
function native.streaming._0x5d5e2102b174b8d2(): int
_0x7b8c2b846c05e5ad
function native.streaming._0x7b8c2b846c05e5ad(): int
_0x62d5f0588915b277
function native.streaming._0x62d5f0588915b277(): void
_0x2f4d53023f826ff0
function native.streaming._0x2f4d53023f826ff0(): int
_0xdabfe48ba0d457aa
function native.streaming._0xdabfe48ba0d457aa(): int
_0xe5b76e5b56cd77dd
function native.streaming._0xe5b76e5b56cd77dd(): int
_0x27af48c62b281341
function native.streaming._0x27af48c62b281341(): int
_0x99f92061efe908ba
function native.streaming._0x99f92061efe908ba(): int
_0x05dd384f39de1c8c
function native.streaming._0x05dd384f39de1c8c(p0: int, p1: int): int
_0x198b85cc3c7a4593
function native.streaming._0x198b85cc3c7a4593(p0: int, p1: int): int
_0x2a6d1daab9ebb262
function native.streaming._0x2a6d1daab9ebb262(p0: int): int
_0x07559b29950301ff
function native.streaming._0x07559b29950301ff(p0: int, p1: int): void
_0xd6e39dc5d46df4ab
function native.streaming._0xd6e39dc5d46df4ab(p0: int): int
_0x8d56bda343d9519f
function native.streaming._0x8d56bda343d9519f(p0: int): int
_0xd840c130d7aacfa5
function native.streaming._0xd840c130d7aacfa5(p0: int, p1: int, p2: int): void
_0x2e24c27b112b5b12
function native.streaming._0x2e24c27b112b5b12(p0: int): void
_set_guarma_worldhorizon_active
function native.streaming._set_guarma_worldhorizon_active(toggle: bool): void