-- HVS_BDF 3/07/14
-- This is the script file that manages the logic for the cte_outro_ending.vint_doc.
-- This is a rough protoype and can certainly be better engineered!
-- This code is not sacred, so re-engineer as you see fit.
-- The magic frame numbers below are found in:
-- X:\Art\Cinematics\Storybook_Pages\Reference\Documents_Bink\Outro_Bink_Frames.xlsx
-- We may want to consider using keyframes instead of raw frame values (check with Amber).
-- If we do decide to go with keyframes, make sure you modify vint_game_system_init() in
-- vint_game_main.cpp; see my comments there for more information.
local Ending_Text = {
[1] = {
label = "OUTRO_ENDING_DESC_HEAVEN",
},
[2] = {
label = "OUTRO_ENDING_DESC_HELL",
},
[3] = {
label = "OUTRO_ENDING_DESC_NEW_PLANET",
},
[4] = {
label = "OUTRO_ENDING_DESC_NEW_EARTH",
},
[5] = {
label = "OUTRO_ENDING_DESC_COSMIC_KNWLGE",
},
}
local Ending_Cutscenes = { "bink_alt_heaven", "bink_alt_hell" , "bink_alt_new_planet" , "bink_alt_new_earth" , "bink_alt_cosmic" }
STORE_COMMON_LIST_SIZE = 435 --vint_to_std_res(428, -378)
Yes_no_choices = {
[1] = {
type = TYPE_BUTTON,
label = "PAUSE_MENU_ACCEPT",
id = 1,
},
[2] = {
type = TYPE_BUTTON,
label = "CONTROL_CANCEL",
id = 2,
audio_object_post_event( "Play_Page_Turns" )
},
}
-- Globals
Cte_outro_ending_doc_handle = -1
local Input_tracker = -1
local Mouse_input_tracker = -1
local Video1_h = -1 -- the handle to the vint_element_video
local Video1_str = "SB_Outro_UI.bk2" -- the filename of the video
local Num_pages = 5 -- how many pages in the book
local Current_page = -1 -- the current page the player is looking at
local Start_frame = 1 -- the frame of the video to initialize with
local Initial_frame_event_num = 3602 -- the frame of the video to initialize with
local initial_bink_portion = false -- are we still in the first part of the bink
local final_bink_portion = false
local final_bink_frame = -1
local leftArrowBase_h = -1
local leftArrowHighlight_h = -1
local rightArrowBase_h = -1
local rightArrowHighlight_h = -1
local text_area_h = -1
local text_ending_desc = -1
local text_hint = -1
local text_coop_desc = -1
local confirm_box = -1
-- Debugging
local Debug_text_h = -1 -- the handle to a text element, useful for debugging
local p5_to_4_frame_start = -1
local p5_to_4_frame_event = -1
local p4_to_3_frame_start = -1
local p4_to_3_frame_event = -1
local p3_to_2_frame_start = -1
local p3_to_2_frame_event = -1
local p2_to_1_frame_start = -1
local p2_to_1_frame_event = -1
local p1_to_2_frame_start = -1
local p1_to_2_frame_event = -1
local p2_to_3_frame_start = -1
local p2_to_3_frame_event = -1
local p3_to_4_frame_start = -1
local p3_to_4_frame_event = -1
local p4_to_5_frame_start = -1
local p4_to_5_frame_event = -1
local select_page_5_start = -1
local select_page_5_event = -1
local select_page_4_start = -1
local select_page_4_event = -1
local select_page_3_start = -1
local select_page_3_event = -1
local select_page_2_start = -1
local select_page_2_event = -1
local select_page_1_start = -1
local select_page_1_event = -1
local UI_METHOD = false;
-- Standard initialization
function cte_outro_ending_init()
-- Get the doc handle; this should be done before anything else!
Cte_outro_ending_doc_handle = vint_document_find("cte_outro_ending")
-- Get the handle to our debug text field
Debug_text_h = vint_object_find( "text1", 0, Cte_outro_ending_doc_handle )
-- turn off debug text field
vint_set_property( Debug_text_h, "visible", false )
-- get arrow handles
leftArrowBase_h = vint_object_find("ui_sb_arrow_idle_left", 0, Cte_outro_ending_doc_handle)
leftArrowHighlight_h = vint_object_find("ui_sb_arrow_selected_left", 0, Cte_outro_ending_doc_handle)
rightArrowBase_h = vint_object_find("ui_sb_arrow_idle_right", 0, Cte_outro_ending_doc_handle)
rightArrowHighlight_h = vint_object_find("ui_sb_arrow_selected_right", 0, Cte_outro_ending_doc_handle)
-- turn off arrows
vint_set_property( leftArrowBase_h, "visible", false )
vint_set_property( leftArrowHighlight_h, "visible", false )
vint_set_property( rightArrowBase_h, "visible", false )
vint_set_property( rightArrowHighlight_h, "visible", false )
-- get confirm box handle
confirm_box = Vdo_store_popup:new("vdo_store_popup", 0, Cte_outro_ending_doc_handle)--vint_object_find("vdo_store_popup", 0, Cte_outro_ending_doc_handle)
confirm_box:set_visible(false)
confirm_box:set_size(STORE_COMMON_LIST_SIZE, (LIST_BUTTON_HEIGHT * 5) + (LIST_BUTTON_SPACE * 5))
-- get our ending description and vignettes
text_area_h = vint_object_find("text_area", 0, Cte_outro_ending_doc_handle)
text_ending_desc = vint_object_find("text_ending_desc", 0, Cte_outro_ending_doc_handle)
text_coop_desc = vint_object_find("text_coop_desc", 0, Cte_outro_ending_doc_handle)
local data = {
{CTRL_MENU_BUTTON_A, "OUTRO_ENDING_SELECT"},
}
text_hint = Vdo_hint_bar:new("vdo_hint_button", 0, Cte_outro_ending_doc_handle) -- vint_object_find("vdo_hint_button", 0, Cte_outro_ending_doc_handle)
text_hint:set_hints(data)
text_hint:set_highlight(1, COLOR_CHEATS_SECONDARY)
-- turn off desc and vignettes
vint_set_property( text_area_h, "visible", false )
vint_set_property( text_coop_desc, "visible", false )
vint_set_property( text_coop_desc, "text_tag", "OUTRO_ENDING_WAITING" )
text_hint:set_visible(false)
local jane_austin_buff = 3602 --1402
if not UI_METHOD then
p5_to_4_frame_start = 0 + jane_austin_buff
p5_to_4_frame_event = 74 + jane_austin_buff
p4_to_3_frame_start = 75 + jane_austin_buff
p4_to_3_frame_event = 148 + jane_austin_buff
p3_to_2_frame_start = 149 + jane_austin_buff
p3_to_2_frame_event = 222 + jane_austin_buff
p2_to_1_frame_start = 223 + jane_austin_buff
p2_to_1_frame_event = 296 + jane_austin_buff
p1_to_2_frame_start = 297 + jane_austin_buff
p1_to_2_frame_event = 370 + jane_austin_buff
p2_to_3_frame_start = 371 + jane_austin_buff
p2_to_3_frame_event = 444 + jane_austin_buff
p3_to_4_frame_start = 445 + jane_austin_buff
p3_to_4_frame_event = 518 + jane_austin_buff
p4_to_5_frame_start = 519 + jane_austin_buff
p4_to_5_frame_event = 590 + jane_austin_buff
Initial_frame_event_num = 2 + jane_austin_buff
select_page_5_start = 593 + jane_austin_buff
select_page_5_event = 1970 + jane_austin_buff
select_page_4_start = 1972 + jane_austin_buff
select_page_4_event = 3596 + jane_austin_buff
select_page_3_start = 3598 + jane_austin_buff
select_page_3_event = 5147 + jane_austin_buff
select_page_2_start = 5149 + jane_austin_buff
select_page_2_event = 6818 + jane_austin_buff
select_page_1_start = 6820 + jane_austin_buff
select_page_1_event = 7946 + jane_austin_buff
else
p5_to_4_frame_start = 3602
p5_to_4_frame_event = 3676
p4_to_3_frame_start = 3676
p4_to_3_frame_event = 3750
p3_to_2_frame_start = 3750
p3_to_2_frame_event = 3824
p2_to_1_frame_start = 3824
p2_to_1_frame_event = 3898
p1_to_2_frame_start = 3898
p1_to_2_frame_event = 3972
p2_to_3_frame_start = 3972
p2_to_3_frame_event = 4046
p3_to_4_frame_start = 4046
p3_to_4_frame_event = 4120
p4_to_5_frame_start = 4120
p4_to_5_frame_event = 4194
select_page_5_start = 4194
select_page_5_event = 5571
select_page_4_start = 5573
select_page_4_event = 7197
select_page_3_start = 7199
select_page_3_event = 8748
select_page_2_start = 8750
select_page_2_event = 10419
select_page_1_start = 10421
select_page_1_event = 11549
end
end
-- Initialize the video element
function cte_outro_ending_init_video()
if UI_METHOD then
--------------------------------------------------
-- --
-- ** UI Method ** --
-- --
--------------------------------------------------
Video1_h = vint_object_find( "new_video1", 0, Cte_outro_ending_doc_handle )
-- Initialize some of the video element props; this could be done in the vint_doc instead
vint_set_property( Video1_h, "vid_name", Video1_str )
vint_set_property( Video1_h, "visible", false )
vint_set_property( Video1_h, "is_looped", false )
vint_set_property( Video1_h, "frame_event_num", Initial_frame_event_num )
vint_set_property( Video1_h, "frame_event", "pause_video" )
-- Start the video
--cte_outro_start_video()
--------------------------------------------------
-- --
-- **End UI Method ** --
-- --
--------------------------------------------------
else
--------------------------------------------------
-- --
-- ** In Cutscene Method ** --
-- --
--------------------------------------------------
local cutscene_bink_handle = get_cutscene_bink_handle()
--video_player_vint_goto_frame(cutscene_bink_handle, 1)
video_player_vint_goto_nearest_keyframe(cutscene_bink_handle, 3602) -- these frame numbers are approximate
video_player_vint_update_lua_frame_event_num(cutscene_bink_handle, 3602) -- these frame numbers are approximate
video_player_vint_update_lua_frame_event(cutscene_bink_handle, "pause_video")
-- Resume playing the video
video_player_vint_pause(cutscene_bink_handle, false)
--------------------------------------------------
-- --
-- **End Cutscene Method ** --
-- --
--------------------------------------------------
end
end
-- Initialize the Input Tracker
function cte_outro_ending_init_input()
Input_tracker = Vdo_input_tracker:new()
Input_tracker:add_input("select", "cte_outro_ending_handle_input", 50)
Input_tracker:add_input("nav_left", "cte_outro_ending_handle_input", 50)
Input_tracker:add_input("nav_right", "cte_outro_ending_handle_input", 50)
Input_tracker:subscribe( true )
-- Create the mouse's input tracker
if game_get_platform() == "PC" then
Mouse_input_tracker = Vdo_input_tracker:new()
--leftArrowBase_h:add_mouse_inputs("cte_outro_ending", Mouse_input_tracker, false)
--rightArrowBase_h:add_mouse_inputs("cte_outro_ending", Mouse_input_tracker, false)
Mouse_input_tracker:add_mouse_input("mouse_click", "cte_outro_mouse_click_left", 0, leftArrowBase_h)
Mouse_input_tracker:add_mouse_input("mouse_click", "cte_outro_mouse_click_right", 0, rightArrowBase_h)
--Mouse_input_tracker:add_mouse_input("mouse_click", "cte_outro_mouse_click_select", 0, text_area_h)
text_hint:add_mouse_inputs("cte_outro", Mouse_input_tracker);
Mouse_input_tracker:subscribe(true)
end
end
function cte_outro_mouse_click_left(event, target_handle)
cte_outro_ending_handle_input( "nav_left" )
end
function cte_outro_mouse_click_right(event, target_handle)
cte_outro_ending_handle_input( "nav_right" )
end
function cte_outro_mouse_click_select(event, target_handle)
cte_outro_ending_handle_input( "select" )
end
function cte_outro_mouse_click(event, target_handle)
cte_outro_ending_handle_input( "select" )
end
function cte_outro_mouse_move(event, target_handle)
text_hint:set_highlight(0)
local hint_index = text_hint:get_hint_index(target_handle)
if hint_index ~= 0 then
text_hint:set_highlight(hint_index)
end
end
-- Input handler
function cte_outro_ending_handle_input( event )
-- Ignore input processing while the video is playing
local cutscene_bink_handle = get_cutscene_bink_handle()
local is_cutscene_pause = false
if UI_METHOD then
is_cutscene_pause = vint_get_property(Video1_h, "is_paused")
else
is_cutscene_pause = video_player_vint_is_paused(cutscene_bink_handle)
end
if ( is_cutscene_pause == false ) then
if (initial_bink_portion and event == "select") then
-- skip to the selection portion without hearing the explanation
initial_bink_portion = false;
--vint_set_property( Video1_h, "frame", Initial_frame_event_num )
end
if (final_bink_portion and event == "select") then
-- skip to credits
final_bink_portion = false;
if UI_METHOD then
--------------------------------------------------
-- --
-- ** UI Method ** --
-- --
--------------------------------------------------
-- Jump to the new frame and set the new callback frame
--vint_set_property( Video1_h, "frame", final_bink_frame )
--------------------------------------------------
-- --
-- **End UI Method ** --
-- --
--------------------------------------------------
else
--------------------------------------------------
-- --
-- ** In Cutscene Method ** --
-- --
--------------------------------------------------
--local cutscene_bink_handle = get_cutscene_bink_handle()
-- Jump to the new frame and set the new callback frame
--video_player_vint_goto_frame(cutscene_bink_handle, final_bink_frame)
--------------------------------------------------
-- --
-- **End Cutscene Method ** --
-- --
--------------------------------------------------
end
end
-- Possibly play some "no-no" sound effect
-- ui_audio_post_event( "UI_Hub_Navigate" )
return
end
-- Check which event and redirect accordingly
if event == "select" then
cte_outro_ending_confirm_select()
else
cte_outro_ending_nav( event )
end
end
-- Navigation handler
function cte_outro_ending_nav( event )
local frame_num = 0
local frame_event_num = -1
--vint_set_property(leftArrowBase_h, "visible", false)
--vint_set_property(rightArrowBase_h, "visible", false)
local is_client = outro_is_client()
if not is_client then
outro_send_multiplayer_nav_event(event);
end
if event == "nav_left" and Current_page > 1 then
set_debug_text( "Page left!" )
audio_object_post_event( "Play_Page_Turns" )
vint_set_property(text_area_h, "visible", false)
vint_set_property( text_coop_desc, "visible", false )
text_hint:set_visible(false)
--vint_set_property(leftArrowHighlight_h, "visible", true)
local left_arrow_animation = vint_object_find( "Arrow_Left_Selected", 0, Cte_outro_ending_doc_handle )
lua_play_anim( left_arrow_animation, 0 )
if ( Current_page == 5 ) then
frame_num = p5_to_4_frame_start
frame_event_num = p5_to_4_frame_event
elseif ( Current_page == 4 ) then
frame_num = p4_to_3_frame_start
frame_event_num = p4_to_3_frame_event
elseif ( Current_page == 3 ) then
frame_num = p3_to_2_frame_start
frame_event_num = p3_to_2_frame_event
elseif ( Current_page == 2 ) then
frame_num = p2_to_1_frame_start
frame_event_num = p2_to_1_frame_event
end
-- Update the page tracker
Current_page = Current_page - 1
elseif event == "nav_right" and Current_page < Num_pages then
set_debug_text( "Page right!" )
audio_object_post_event( "Play_Page_Turns" )
vint_set_property(text_area_h, "visible", false)
text_hint:set_visible(false)
--vint_set_property(rightArrowHighlight_h, "visible", true)
local right_arrow_animation = vint_object_find( "Arrow_Right_Selected", 0, Cte_outro_ending_doc_handle )
lua_play_anim( right_arrow_animation, 0 )
if ( Current_page == 1 ) then
frame_num = p1_to_2_frame_start
frame_event_num = p1_to_2_frame_event
elseif ( Current_page == 2 ) then
frame_num = p2_to_3_frame_start
frame_event_num = p2_to_3_frame_event
elseif ( Current_page == 3 ) then
frame_num = p3_to_4_frame_start
frame_event_num = p3_to_4_frame_event
elseif ( Current_page == 4 ) then
frame_num = p4_to_5_frame_start
frame_event_num = p4_to_5_frame_event
end
-- Update the page tracker
Current_page = Current_page + 1
else
-- Possibly play some "no-no" sound effect
ui_audio_post_event("UI_Hub_Navigate")
return
end
if UI_METHOD then
--------------------------------------------------
-- --
-- ** UI Method ** --
-- --
--------------------------------------------------
-- Jump to the new frame and set the new callback frame
vint_set_property( Video1_h, "frame", frame_num )
vint_set_property( Video1_h, "frame_event_num", frame_event_num )
-- Resume playing the video
vint_set_property( Video1_h, "is_paused", false )
--------------------------------------------------
-- --
-- **End UI Method ** --
-- --
--------------------------------------------------
else
--------------------------------------------------
-- --
-- ** In Cutscene Method ** --
-- --
--------------------------------------------------
local cutscene_bink_handle = get_cutscene_bink_handle()
-- Jump to the new frame and set the new callback frame
--video_player_vint_goto_frame(cutscene_bink_handle, frame_num)
video_player_vint_goto_nearest_keyframe(cutscene_bink_handle, frame_num)
video_player_vint_update_lua_frame_event_num(cutscene_bink_handle, frame_event_num)
-- Resume playing the video
video_player_vint_pause(cutscene_bink_handle, false)
--------------------------------------------------
-- --
-- **End Cutscene Method ** --
-- --
--------------------------------------------------
end
-- SFX
ui_audio_post_event("UI_Hub_Navigate")
end
function cte_outro_ending_confirm_select()
--Valid purchase
confirm_box:set_visible(true)
confirm_box:populate_list(Yes_no_choices, 1, STORE_COMMON_LIST_SIZE, 2)
confirm_box:set_title("MENU_TITLE_CONFIRM")
confirm_box:set_text("OUTRO_ENDING_CONFIRM")
confirm_box:nav_enable(true, "cte_outro_confirm", "cte_outro_popup_nav")
cte_outro_enable_mouse(false)
game_UI_audio_play("UI_HUD_HELP")
end
function cte_outro_confirm(event)
cte_outro_enable_mouse(true)
confirm_box:nav_enable(false, nil, nil)
-- The user hit the B button and are cancelling the purchase
-- This is the same as selecting "No" in the list
if event == "back" or confirm_box:get_selected_data() ~= 1 then
confirm_box:set_visible(false)
return
end
cte_outro_ending_select()
finished_outro_selection()
end
-- Handles navigation of any popups
function cte_outro_popup_nav(event, value)
if event == "nav_up" then
confirm_box.list:move_cursor(-1)
elseif event == "nav_down" then
confirm_box.list:move_cursor(1)
elseif event == "mouse_move" then
-- value contains the target_handle in this case
local new_index = confirm_box.list:get_button_index(value)
if new_index ~= 0 then
confirm_box.list:set_selection(new_index)
confirm_box.list:move_cursor(0, true)
end
else
--do nothing
end
end
-- Selection handler
-- Stubbed in for now...
function cte_outro_ending_select(page_num)
set_debug_text( "Select!" )
--Input_tracker:remove_all()
local is_client = outro_is_client()
if not is_client then
outro_send_multiplayer_select_event(Current_page);
end
outro_did_selection()
vint_set_property(text_area_h, "visible", false)
text_hint:set_visible(false)
vint_set_property(leftArrowBase_h, "visible", false)
vint_set_property(rightArrowBase_h, "visible", false)
vint_set_property( text_coop_desc, "visible", false )
if page_num ~= nil then
Current_page = page_num
end
local cutscene_bink_handle = get_cutscene_bink_handle()
video_player_vint_set_next_video(Ending_Cutscenes[Current_page])
--video_player_vint_stop_video(cutscene_bink_handle)
finished_outro_selection()
if not is_client then
--Input_tracker:add_input("select", "cte_outro_ending_handle_input", 1)
Input_tracker:remove_all()
Input_tracker:subscribe( false )
cte_outro_enable_mouse(false)
end
end
-- Standard cleanup
function cte_outro_ending_cleanup()
text_hint:cleanup()
confirm_box:cleanup()
-- Nuke all button subscriptions
if Input_tracker ~= -1 then
Input_tracker:remove_all()
Input_tracker:subscribe( false )
end
if Mouse_input_tracker ~= -1 then
Mouse_input_tracker:remove_all()
Mouse_input_tracker:subscribe( false )
end
-- Stop the video
--vint_set_property( Video1_h, "is_stopped", true )
end
function cte_outro_start_video()
-- Setup the video element
cte_outro_ending_init_video()
-- The video is currently authored such that the player starts
-- interacting with the Storybook from the last page.
Current_page = Num_pages
initial_bink_portion = true;
if not UI_METHOD then
--pause_video()
end
if UI_METHOD then
--------------------------------------------------
-- --
-- ** UI Method ** --
-- --
--------------------------------------------------
vint_set_property( Video1_h, "is_paused", false )
vint_set_property( Video1_h, "frame", Start_frame )
vint_set_property( Video1_h, "visible", true )
--------------------------------------------------
-- --
-- **End UI Method ** --
-- --
--------------------------------------------------
end
-- Setup input tracker
local is_client = outro_is_client()
if not is_client then
cte_outro_ending_init_input()
end
end
-- Pause the video
-- This is the primary callback function
function pause_video()
set_debug_text( "Paused" )
if UI_METHOD then
--------------------------------------------------
-- --
-- ** UI Method ** --
-- --
--------------------------------------------------
-- Pause the video
vint_set_property( Video1_h, "is_paused", true )
-- Invalidate the frame_event_num so we don't accidentally trigger the callback function (this)
vint_set_property( Video1_h, "frame_event_num", -1 )
--]]
--------------------------------------------------
-- --
-- **End UI Method ** --
-- --
--------------------------------------------------
else
--------------------------------------------------
-- --
-- ** In Cutscene Method ** --
-- --
--------------------------------------------------
local cutscene_bink_handle = get_cutscene_bink_handle()
-- Pause the video
video_player_vint_pause(cutscene_bink_handle, true)
audio_object_post_event( "Play_SRG_end_selection_music_lp" )
-- Invalidate the frame_event_num so we don't accidentally trigger the callback function (this)
video_player_vint_update_lua_frame_event_num(cutscene_bink_handle, -1)
--------------------------------------------------
-- --
-- **End Cutscene Method ** --
-- --
--------------------------------------------------
end
local is_client = outro_is_client()
if not is_client then
vint_set_property(leftArrowBase_h, "visible", false)
vint_set_property(rightArrowBase_h, "visible", false)
vint_set_property(leftArrowHighlight_h, "visible", true)
vint_set_property(rightArrowHighlight_h, "visible", true)
if ( Current_page ~= 5 ) then
vint_set_property(rightArrowBase_h, "visible", true)
local right_fade_animation = vint_object_find( "Arrow_Right_Fade_In", 0, Cte_outro_ending_doc_handle )
lua_play_anim( right_fade_animation, 0, Cte_outro_ending_doc_handle )
--vint_set_property(rightArrowBase_h, "visible", true)
end
if ( Current_page ~= 1 ) then
vint_set_property(leftArrowBase_h, "visible", true)
local left_fade_animation = vint_object_find( "Arrow_Left_Fade_In", 0, Cte_outro_ending_doc_handle )
lua_play_anim( left_fade_animation, 0, Cte_outro_ending_doc_handle )
--vint_set_property(leftArrowBase_h, "visible", true)
end
text_hint:set_visible(true)
--text_ending_desc:set_text(Ending_Text[Current_page].label)
else
vint_set_property( text_coop_desc, "visible", true )
end
-- set up text
vint_set_property(text_area_h, "visible", true)
vint_set_property(text_ending_desc, "text_tag", Ending_Text[Current_page].label)
end
-- Close out this menu and roll credits
function roll_credits()
set_debug_text( "Roll Credits" )
finished_outro_selection();
if UI_METHOD then
--------------------------------------------------
-- --
-- ** UI Method ** --
-- --
--------------------------------------------------
-- Pause the video
vint_set_property( Video1_h, "is_paused", true )
-- Invalidate the frame_event_num so we don't accidentally trigger the callback function (this)
vint_set_property( Video1_h, "frame_event_num", -1 )
--------------------------------------------------
-- --
-- **End UI Method ** --
-- --
--------------------------------------------------
else
--------------------------------------------------
-- --
-- ** In Cutscene Method ** --
-- --
--------------------------------------------------
local cutscene_bink_handle = get_cutscene_bink_handle()
-- Pause the video
video_player_vint_pause(cutscene_bink_handle, true)
-- Invalidate the frame_event_num so we don't accidentally trigger the callback function (this)
video_player_vint_update_lua_frame_event_num(cutscene_bink_handle, -1)
--------------------------------------------------
-- --
-- **End Cutscene Method ** --
-- --
--------------------------------------------------
end
end
-- Print some debug text to the screen
function set_debug_text( text )
vint_set_property( Debug_text_h, "text_tag", text )
end
function cte_outro_enable_mouse(enable)
if game_get_platform() == "PC" and enable ~= nil then
if Mouse_input_tracker ~= 0 then
Mouse_input_tracker:subscribe(enable)
end
end
end