Skip to content

throwarray/gtav-rendertarget

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Drawing (general)

function CreateNamedRenderTargetForModel(name, model)
	local handle = 0
	if not IsNamedRendertargetRegistered(name) then
		RegisterNamedRendertarget(name, 0)
	end
	if not IsNamedRendertargetLinked(model) then
		LinkNamedRendertarget(model)
	end
	if IsNamedRendertargetRegistered(name) then
		handle = GetNamedRendertargetRenderId(name)
	end

	return handle
end

-- TV in Jimmys room
Citizen.CreateThread(function ()
	local model = GetHashKey("des_tvsmash_start"); -- 2054093856
	local pos = { x = -810.59, y = 170.46, z = 77.25 };
	local entity = GetClosestObjectOfType(pos.x, pos.y, pos.z, 0.05, model, 0, 0, 0)
	local handle = CreateNamedRenderTargetForModel("tvscreen", model)
	while true do
		SetTextRenderId(handle) -- set render target
		Set_2dLayer(4)
		SetScriptGfxDrawBehindPausemenu(1)
			DrawRect(0.5, 0.5, 1.0, 0.5, 255, 0, 0, 255); -- WOAH!
		SetTextRenderId(GetDefaultScriptRendertargetRenderId()) -- reset
		SetScriptGfxDrawBehindPausemenu(0)
		Citizen.Wait(0)
	end
end)

Drawing (channels)

local Playlists = {
	 "PL_STD_CNT",
	 "PL_STD_WZL",
	 "PL_LO_CNT",
	 "PL_LO_WZL",
	 "PL_SP_WORKOUT",
	 "PL_SP_INV",
	 "PL_SP_INV_EXP",
	 "PL_LO_RS",
	 "PL_LO_RS_CUTSCENE",
	 "PL_SP_PLSH1_INTRO",
	 "PL_LES1_FAME_OR_SHAME",
	 "PL_STD_WZL_FOS_EP2",
	 "PL_MP_WEAZEL",
	 "PL_MP_CCTV",
	 "PL_CINEMA_ACTION",
	 "PL_CINEMA_ARTHOUSE",
	 "PL_CINEMA_MULTIPLAYER",
	 "PL_WEB_HOWITZER",
	 "PL_WEB_RANGERS"
}

-- TV Michaels bedroom
Citizen.CreateThread(function ()
	local model = GetHashKey("prop_tv_flat_michael"), -- 1194029334
	local pos = { x = -810.59, y = 170.46, z = 77.25 };
	local entity = GetClosestObjectOfType(pos.x, pos.y, pos.z, 20.0, model, 0, 0, 0)
	local handle = CreateNamedRenderTargetForModel("tvscreen", model)

	RegisterScriptWithAudio(0)
	SetTvChannel(-1)

	Citizen.InvokeNative(0x9DD5A62390C3B735, 2, "PL_STD_CNT", 0)
	SetTvChannel(2)
	EnableMovieSubtitles(1)

	while true do
		SetTvAudioFrontend(0)
		AttachTvAudioToEntity(entity)
		SetTextRenderId(handle)
		Set_2dLayer(4)
		SetScriptGfxDrawBehindPausemenu(1)
			DrawTvChannel(0.5, 0.5, 1.0, 1.0, 0.0, 255, 255, 255, 255)
		SetTextRenderId(GetDefaultScriptRendertargetRenderId())
		SetScriptGfxDrawBehindPausemenu(0)
		Citizen.Wait(0)
	end
end)

Notes

Set playlist

local channel_input = 2
local channel_name = "PL_STD_CNT"
local playback_rp = 0
LoadTvChannelSequence(channel_input, channel_name, playback_rp)
SetTvChannel(channel_input)

Is playing clip

LoadTvChannel(GetHashKey("end_of_movie_marker"))

See tvplaylists.xml in game files

...
<Item>
  <Name>END_OF_MOVIE_MARKER</Name>
  <VideoFileName>2SecondsBlack</VideoFileName>
  <fDuration value="60.000000" />
  <bNotOnDisk value="false" />
</Item>
...

Determine fDuration for custom clips

float fDuration = frames * fps to 6 decimal places

Source and info

IMAGES

alt text

alt text

About

No description or website provided.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages