------------------------------------------------
------------------------------------------------
------ HUD by arimi @ Vamibg -----
------------------------------------------------
MODEL.SETPERSISTENT.lua.ari_Screensaver = BOOL_MODEL(false)
MODEL.SETPERSISTENT.lua.ari_ScreensaverEnable = BOOL_MODEL(false)
MODEL.SETPERSISTENT.lua.ari_AutoDistss = INT_MODEL(50)
MODEL.SETPERSISTENT.lua.ari_ScreenFilter = BOOL_MODEL(false)
MODEL.SETPERSISTENT.lua.ari_ScreenFilterset = INT_MODEL(15)
MODEL.SETPERSISTENT.lua.ari_nextmanss = BOOL_MODEL(true)
MODEL.SETPERSISTENT.lua.ari_Laneinfoss = BOOL_MODEL(true)
MODEL.SETPERSISTENT.lua.ari_Lanesignss = BOOL_MODEL(true)
MODEL.SETPERSISTENT.lua.ari_Restrictss = BOOL_MODEL(true)
MODEL.SETPERSISTENT.lua.ari_Speedss = BOOL_MODEL(true)
MODEL.SETPERSISTENT.lua.ari_DAss = BOOL_MODEL(true)
MODEL.SETPERSISTENT.lua.ari_timeorspeed = BOOL_MODEL(true)
MODEL.SETPERSISTENT.lua.ari_AutoScreensaver = BOOL_MODEL(false)
MODEL.SETPERSISTENT.lua.arim_SS_SpeedColor = INT_MODEL(0)
MODEL.SETPERSISTENT.lua.arim_SSSpeedFontType = INT_MODEL(false)
MODEL.SETPERSISTENT.lua.ari_ssworkzone = INT_MODEL(0)
MODEL.SETPERSISTENT.lua.arim_BackToScreensaver = INT_MODEL((sc_GetSysEntry("skin_arine", "back_to_screensaver", 5))* 50)
MODEL.SETPERSISTENT.lua.arim_HeadUpDisplay = BOOL_MODEL(false)
MODEL.SETPERSISTENT.lua.arim_EnableHeadUpDisplay = BOOL_MODEL(false)
MODEL.SETPERSISTENT.lua.arim_Color_SS = INT_MODEL((sc_GetSysEntry("skin_arine", "hud_maneuvers_color", 7))* 12)
MODEL.SETPERSISTENT.lua.arim_MemSSColor = INT_MODEL(0)
sc_ari_customize = function()
sc_SSHide()
sc_ari_setvoicetype()
obs_ari_customize:STOP()
end
sc_ari_setvoicetype = function()
MODEL.lua.arim_setvoicetype()
end
sc_OnStart_ScreensaverEnable = function()
if MODEL.navigation.distance_to_maneuver() > 50 and MODEL.navigation.has_route() then
sc_SSHide()
else
if MODEL.navigation.distance_to_maneuver() < 50 and MODEL.navigation.has_route() then
sc_ari_ScreensaverEnabled()
obs_ari_screensaver_onst:STOP()
end
end
end
st_EasyNav:useLayers(primary, "ui_ari_Screensaver")
st_EasyNav:useLayers(primary, "ui_NavigateMapDriverAlertsSS")
st_EasyNav:useLayers(primary, "ui_TurnOnScreensaver")
-- ATTACH_LANEINFO(sprLaneInfoEasySS, "laneinfo.ini")
-- ATTACH_LANEINFO(sprLaneInfoEasySSM, "laneinfo_m.ini")
-- ATTACH_LANEINFO(sprLaneInfoSignpostSS, "laneinfo_signpost.ini")
st_EasyNav.init_orig = st_EasyNav.init
st_EasyNav.init = function()
gGotoMapByLongklick = false
sc_RegisterHWBack("sc_cockpit_back", "sc_DisableDefaultLongBack")
local messageBoxY = scGetMapPopupY()
sc_PosRecalcLayer()
sc_Set_Presets()
sc_SetOrientation()
sc_init_local_menu("ui.lm_st_EasyNav")
primary:ONMAPCLICK(sc_EasyMapClick)
obs_enter_drag_mode:START("no_trigger")
if MODEL.lua.dragMode() then
sc_dragmode(true)
MODEL.lua.mainMenuMode = false
else
if MODEL.navigation.is_in_simulation() then
sc_RegisterHWBack("sc_cockpit_back", "sc_longBackFromSim")
sc_SetFlyOverMode()
else
sc_set_Nav2D3D()
MODEL.lua.mainMenuMode = false
end
sc_SetCockpitMap()
sc_Set_Follow_On()
MODEL.map.primary.show_cursor = false
KEY("LOCALMENU", function()
end
)
end
ATTACH_LANEINFO(sprLaneInfoEasy, "laneinfo.ini")
ATTACH_LANEINFO(sprLaneInfoSignpost, "laneinfo_signpost.ini")
ATTACH_LANEINFO(sprLaneInfoEasySS, "laneinfo.ini")
ATTACH_LANEINFO(sprLaneInfoEasySSM, "laneinfo_m.ini")
ATTACH_LANEINFO(sprLaneInfoSignpostSS, "laneinfo_signpost.ini")
ui.bLaneInfoSignpostForceRedraw = 1
local junctionViewType = sc_GetSysEntry("navigation", "junction_view_type", "NNG")
gJunctionViewNeedsSignpost = sc_GetSysEntry("navigation", "junction_view_needs_signpost", true)
if junctionViewType == "NNG" then
ATTACH_JUNCTIONVIEW(sprJunctionView, junctionViewIni[junctionViewType], gJunctionViewDirectory)
elseif junctionViewType == "mixed" then
ATTACH_JUNCTIONVIEW(sprJunctionView, junctionViewIni[junctionViewType], gJunctionViewDirectory .. ";" .. gJunctionViewContentResolution)
elseif junctionViewType == "NNG_NQ" then
ATTACH_JUNCTIONVIEW(sprJunctionView, junctionViewIni[junctionViewType], "16_9_NQ_Roads")
elseif junctionViewType == "NQ" then
ATTACH_JUNCTIONVIEW(sprJunctionView, junctionViewIni[junctionViewType], gJunctionViewDirectory .. ";" .. gJunctionViewContentResolution)
end
if MODEL.map.primary.state() == "2dnorthup" or MODEL.map.primary.state() == "simulate_2d_nu" then
ui_SimulationControls:Y(uiResH * 32 / 100)
MODEL.map.primary.car_posy = 50
else
ui_SimulationControls:Y(0)
MODEL.map.primary.car_posy = 78
end
st_EasyNav.active = true
obs_want_junctionview:START()
obs_TunnelOverview:START()
ui_Local_Menu_Background.ALPHA = 0
ui_Local_Menu_Background_Disabled:HIDE()
sc_CloseMapLocalMenu(true)
if not MODEL.map.primary.center_follow() and not gKeepMapPosAfterBack then
MODEL.map.primary.center_noanim(MODEL.map.cursor.position())
end
gKeepMapPosAfterBack = false
MODEL.mydata.tracks.show_on_map = MODEL.lua.TrackShowOnMap()
if showDriveCarefully and MODEL.interface.drive_carefully() then
sc_drive_carefully_init()
end
ui.vTmcButtonBlinkCounter = 0
ui.vDAIsVisible = 1
MODEL.traffic.events.sort_by("distance")
sc_UpdateFullDelayTextOnMap()
satPhaseTimerId = doDelayed(20, sc_CycleSatPhase, true)
MODEL.lua.ismapvisible = true
MODEL.navigation.restrictions_turn_change_handler = sc_TruckTurnRestrictionAlert
if ui.bLaneinfoSignpostValid then
sc_SignPostLayerShow()
end
end
sc_arim_set_fontcolor = function()
if MODEL.lua.arim_SS_SpeedColor() == 0 then
txt_SSSpeedColor1:FONTTYPE(arimi_black_ss)
txt_SSSpeedColor2:FONTTYPE(arimi_black_ss)
txt_SSSpeedColor3:FONTTYPE(arimi_black_ss)
txt_SSSpeedColor4:FONTTYPE(arimi_ovrspd1_ss)
txt_SSSpeedColor5:FONTTYPE(arimi_ovrspd2_ss)
elseif MODEL.lua.arim_SS_SpeedColor() == 1 then
txt_SSSpeedColor1:FONTTYPE(arimi_white_ss)
txt_SSSpeedColor2:FONTTYPE(arimi_white_ss)
txt_SSSpeedColor3:FONTTYPE(arimi_white_ss)
txt_SSSpeedColor4:FONTTYPE(arimi_ovrspd1_ss)
txt_SSSpeedColor5:FONTTYPE(arimi_ovrspd2_ss)
elseif MODEL.lua.arim_SS_SpeedColor() == 2 then
txt_SSSpeedColor1:FONTTYPE(arimi_brown_ss)
txt_SSSpeedColor2:FONTTYPE(arimi_brown_ss)
txt_SSSpeedColor3:FONTTYPE(arimi_brown_ss)
txt_SSSpeedColor4:FONTTYPE(arimi_ovrspd1_ss)
txt_SSSpeedColor5:FONTTYPE(arimi_ovrspd2_ss)
elseif MODEL.lua.arim_SS_SpeedColor() == 3 then
txt_SSSpeedColor1:FONTTYPE(arimi_red_ss)
txt_SSSpeedColor2:FONTTYPE(arimi_red_ss)
txt_SSSpeedColor3:FONTTYPE(arimi_red_ss)
txt_SSSpeedColor4:FONTTYPE(arimi_ovrspd1_ss)
txt_SSSpeedColor5:FONTTYPE(arimi_ovrspd2_ss)
elseif MODEL.lua.arim_SS_SpeedColor() == 4 then
txt_SSSpeedColor1:FONTTYPE(arimi_green_ss)
txt_SSSpeedColor2:FONTTYPE(arimi_green_ss)
txt_SSSpeedColor3:FONTTYPE(arimi_green_ss)
txt_SSSpeedColor4:FONTTYPE(arimi_ovrspd1_ss)
txt_SSSpeedColor5:FONTTYPE(arimi_ovrspd2_ss)
elseif MODEL.lua.arim_SS_SpeedColor() == 5 then
txt_SSSpeedColor1:FONTTYPE(arimi_yellow_ss)
txt_SSSpeedColor2:FONTTYPE(arimi_yellow_ss)
txt_SSSpeedColor3:FONTTYPE(arimi_yellow_ss)
txt_SSSpeedColor4:FONTTYPE(arimi_ovrspd1_ss)
txt_SSSpeedColor5:FONTTYPE(arimi_ovrspd2_ss)
elseif MODEL.lua.arim_SS_SpeedColor() == 6 then
txt_SSSpeedColor1:FONTTYPE(arimi_blue_ss)
txt_SSSpeedColor2:FONTTYPE(arimi_blue_ss)
txt_SSSpeedColor3:FONTTYPE(arimi_blue_ss)
txt_SSSpeedColor4:FONTTYPE(arimi_ovrspd1_ss)
txt_SSSpeedColor5:FONTTYPE(arimi_ovrspd2_ss)
elseif MODEL.lua.arim_SS_SpeedColor() == 7 then
txt_SSSpeedColor1:FONTTYPE(arimi_orange_ss)
txt_SSSpeedColor2:FONTTYPE(arimi_orange_ss)
txt_SSSpeedColor3:FONTTYPE(arimi_orange_ss)
txt_SSSpeedColor4:FONTTYPE(arimi_ovrspd1_ss)
txt_SSSpeedColor5:FONTTYPE(arimi_ovrspd2_ss)
elseif MODEL.lua.arim_SS_SpeedColor() == 8 then
txt_SSSpeedColor1:FONTTYPE(arimi_gold_ss)
txt_SSSpeedColor2:FONTTYPE(arimi_gold_ss)
txt_SSSpeedColor3:FONTTYPE(arimi_gold_ss)
txt_SSSpeedColor4:FONTTYPE(arimi_ovrspd1_ss)
txt_SSSpeedColor5:FONTTYPE(arimi_ovrspd2_ss)
elseif MODEL.lua.arim_SS_SpeedColor() == 9 then
txt_SSSpeedColor1:FONTTYPE(arimi_purple_ss)
txt_SSSpeedColor2:FONTTYPE(arimi_purple_ss)
txt_SSSpeedColor3:FONTTYPE(arimi_purple_ss)
txt_SSSpeedColor4:FONTTYPE(arimi_ovrspd1_ss)
txt_SSSpeedColor5:FONTTYPE(arimi_ovrspd2_ss)
end
end
createState("st_ari_SSsettings")
st_ari_SSsettings:useLayers(backgroundLayers, ui_ari_Screensaversettings)
st_ari_SSsettings.init = function()
txtTitle:SET(m_i18n("Screen Saver Settings"))
end
sc_ariScreensaverset = function()
sc_NextStateAnim(st_ari_SSsettings, "horz_scroll", 1, "")
end
sc_SSOpen = function()
obs_ari_screensaver_onst:STOP()
-- ***
MODEL.lua.ari_Screensaver = false
-- ***
end
sc_SSHide = function()
MODEL.lua.ari_Screensaver = false
obs_ari_screensaver_e:STOP()
MODEL.lua.arim_HeadUpDisplay = false
end
sc_arimi_ScreensaverEnable = function()
if MODEL.lua.ari_Screensaver() and MODEL.navigation.has_route() then
if not MODEL.lua.ari_ssworkzone() then
if MODEL.navigation.distance_to_maneuver() >= MODEL.lua.ari_AutoDistss() then
-- ***
MODEL.lua.ari_ScreensaverEnable = false
-- ***
else
MODEL.lua.ari_ScreensaverEnable = false
end
else
if MODEL.navigation.car.is_incity() then
-- ***
MODEL.lua.ari_ScreensaverEnable = false
-- ***
else
if MODEL.navigation.distance_to_maneuver() >= MODEL.lua.ari_AutoDistss() then
MODEL.lua.ari_ScreensaverEnable = false
else
MODEL.lua.ari_ScreensaverEnable = false
end
end
end
end
if MODEL.lua.ari_Screensaver() and not MODEL.navigation.has_route() then
MODEL.lua.ari_ScreensaverEnable = false
end
end
sc_ari_hud_info_OnRelease = function()
sc_close_local_menu()
ui_xhtml_sublayer.FILENAME = "ui_android/" .. HTML_folder .. "/head-up_display.xhtml"
sc_NextStateAnim(st_xhtml, "horz_scroll", 1, "")
txtTitle.TEXT = m_i18n("Head-Up Display Info")
end
sc_ari_SSHide = function()
MODEL.lua.ari_Screensaver = false
MODEL.lua.arim_HeadUpDisplay = false
obs_ari_screensaver_e:STOP()
doDelayed(MODEL.lua.arim_BackToScreensaver(), function()
sc_ari_ScreensaverEnabled()
end
)
end
sc_ari_ScreensaverEnabled = function()
if MODEL.navigation.has_route() then
if not MODEL.lua.ari_ssworkzone() then
if MODEL.navigation.distance_to_maneuver() >= MODEL.lua.ari_AutoDistss() then
-- ***
MODEL.lua.ari_Screensaver = false
-- ***
else
-- ***
obs_ari_screensaver_e:STOP()
-- ***
MODEL.lua.ari_Screensaver = false
end
else
if MODEL.navigation.car.is_incity() then
-- ***
obs_ari_screensaver_e:STOP()
-- ***
MODEL.lua.ari_Screensaver = false
else
if MODEL.navigation.distance_to_maneuver() >= MODEL.lua.ari_AutoDistss() then
-- ***
MODEL.lua.ari_Screensaver = false
-- ***
else
-- ***
obs_ari_screensaver_e:STOP()
-- ***
MODEL.lua.ari_Screensaver = false
end
end
end
end
if not MODEL.navigation.has_route() then
obs_ari_screensaver_e:STOP()
MODEL.lua.ari_Screensaver = false
end
end
sc_HeadUpDisplayOff = function()
MODEL.lua.arim_HeadUpDisplay = 0
-- ***
obs_ari_screensaver_e:STOP()
obs_arimi_screensaver:STOP()
-- ***
end
sc_HeadUpDisplayOn = function()
if MODEL.lua.arim_EnableHeadUpDisplay() then
-- ***
MODEL.lua.ari_Screensaver = false
-- ***
MODEL.lua.arim_HeadUpDisplay = true
obs_ari_screensaver_e:STOP()
obs_arimi_screensaver:STOP()
end
end
sc_MemSSColor = function()
MODEL.lua.arim_MemSSColor = MODEL.lua.arim_SS_SpeedColor()
end
sc_ReturnSSSpeedColor = function()
MODEL.lua.arim_SS_SpeedColor = MODEL.lua.arim_MemSSColor()
end
sc_Quick_mute = function()
if MODEL.sound.voice_muted() == true then
MODEL.sound.voice_muted = false
MODEL.sound.effect_muted = false
MODEL.sound.media_muted = false
MODEL.sound.alert_muted = false
MODEL.sound.ding_muted = false
else
MODEL.sound.voice_muted = true
MODEL.sound.effect_muted = true
MODEL.sound.media_muted = true
MODEL.sound.alert_muted = true
MODEL.sound.ding_muted = true
end
end
st_EasyNav.mode_landscape_orig = st_EasyNav.mode_landscape
st_EasyNav.mode_landscape = function()
if MODEL.lua.dragMode() or not MODEL.lua.HwyPoiListIsVisible() then
local isPanelOpen = MODEL.screen.msgbox.is_onscreen()
end
if MODEL.lua.vMapMenuOpen() then
ui_MapLocalMenuListLayer.Y = 0
else
ui_MapLocalMenuListLayer.Y = uiResH
end
MODEL.lua.vEasyNavTripInfoOpen = MODEL.lua.vEasyNavTripInfoPrevStatus()
sc_reset_primary(false)
sc_SetNavCarPos(isPanelOpen)
if MODEL.lua.JunctionViewVisible() then
ATTACH_TUNNELOVERVIEW(sprTunnelOverview)
else
ATTACH_TUNNELOVERVIEW(sprTunnelOverview2)
end
MODEL.lua.NavigationStatusbarViaRefreshHack = true
sc_arim_set_fontcolor()
end
st_EasyNav.mode_portrait_orig = st_EasyNav.mode_portrait
st_EasyNav.mode_portrait = function()
if MODEL.lua.dragMode() or not MODEL.lua.HwyPoiListIsVisible() then
local isPanelOpen = MODEL.screen.msgbox.is_onscreen()
end
if MODEL.lua.vMapMenuOpen() then
ui_MapLocalMenuListLayer.Y = 0
else
ui_MapLocalMenuListLayer.Y = uiResH
end
MODEL.lua.vEasyNavTripInfoPrevStatus = MODEL.lua.vEasyNavTripInfoOpen()
MODEL.lua.vEasyNavTripInfoOpen = true
sc_reset_primary(false)
sc_SetNavCarPos(isPanelOpen)
if MODEL.lua.JunctionViewVisible() then
ATTACH_TUNNELOVERVIEW(sprTunnelOverview)
else
ATTACH_TUNNELOVERVIEW(sprTunnelOverview2)
end
MODEL.lua.NavigationStatusbarViaRefreshHack = false
sc_arim_set_fontcolor()
end
-----------------------------------------------
MODEL.SETPERSISTENT.lua.arim_setvoicetype = INT_MODEL(true)
MODEL.SETPERSISTENT.lua.gjSpVoiceEnable = BOOL_MODEL(true)
-- speedcam
vgj_spc_cat_name = ""
gjSpSoundName = ""
-- first play speedcam
sc_gjfirstplayspeedcam = function()
local spc_cat = MODEL.navigation.curr_speedcam.category()
local spc_speed = MODEL.navigation.curr_speedcam.speed_limit()
--test local spc_cat = 0
--test local spc_speed = 50
vgj_spc_cat_name = "speedcam_category:" .. spc_cat
gjSpSoundName = sc_GetSysEntry(vgj_spc_cat_name, "skin_first_sound", L"")
if gjSpSoundName ~= L"" then
sc_gjspeedcam_playsound(gjSpSoundName)
end
local gjSpeedSound = var.new()
gjSpeedSound = sc_GetSysEntry(vgj_spc_cat_name, "skin_speed_sound_delay", 0)
if gjSpeedSound > 0 then
killDelayed(gjDel1)
gjDel1 = doDelayed(gjSpeedSound, function()
sc_gjspeedcam_playsound(spc_speed)
end
)
end
MODEL.lua.gjSpRepDist = sc_GetSysEntry(vgj_spc_cat_name, "skin_repeat_distance", 0)
if MODEL.lua.gjSpRepDist() > 0 then
gjm_spcrep:START("NO_TRIGGER")
end
end
-- repeat play speedcam
sc_gjrepeatplayspeedcam = function()
gjm_spcrep:STOP()
gjSpSoundName = sc_GetSysEntry(vgj_spc_cat_name, "skin_repeat_sound", L"")
if gjSpSoundName ~= L"" then
sc_gjspeedcam_playsound(gjSpSoundName)
end
end
-- play off speedcam
sc_gj_spcoff = function()
gjSpSoundName = sc_GetSysEntry(vgj_spc_cat_name, "skin_off_sound", L"")
if gjSpSoundName ~= L"" then
sc_gjspeedcam_playsound(gjSpSoundName)
end
end
--play sounds
sc_gjspeedcam_playsound = function(snd_nm)
if snd_nm == L"" then
return
end
local spc_audio_path = var.new()
-- ari speedcam voice
-- spc_audio_path = sc_GetSysEntry("warning", "skin_audio_path", L"")
spc_audio_path = MODEL.lua.arim_setvoicetype()
if MODEL.lua.arim_setvoicetype() == 1 then
spc_audio_path = (L"speedcam_en")
elseif MODEL.lua.arim_setvoicetype() == 2 then
spc_audio_path = (L"speedcam_us")
elseif MODEL.lua.arim_setvoicetype() == 3 then
spc_audio_path = (L"speedcam_de")
elseif MODEL.lua.arim_setvoicetype() == 4 then
spc_audio_path = (L"speedcam_ru")
elseif MODEL.lua.arim_setvoicetype() == 5 then
spc_audio_path = (L"speedcam_lt")
elseif MODEL.lua.arim_setvoicetype() == 6 then
spc_audio_path = (L"speedcam_fr")
elseif MODEL.lua.arim_setvoicetype() == 7 then
spc_audio_path = (L"speedcam_it")
elseif MODEL.lua.arim_setvoicetype() == 8 then
spc_audio_path = (L"speedcam_pl")
elseif MODEL.lua.arim_setvoicetype() == 9 then
spc_audio_path = (L"speedcam_cz")
elseif MODEL.lua.arim_setvoicetype() == 10 then
spc_audio_path = (L"speedcam_ua")
elseif MODEL.lua.arim_setvoicetype() == 11 then
spc_audio_path = (L"speedcam_bg")
end
if spc_audio_path ~= L"" then
snd_nm = spc_audio_path .. L"/" .. snd_nm
end
MODEL.sound.playchanneltest("alarmeffect", snd_nm)
end
-- speedcam edit
sc_gjEditSpeedcam = function()
gEditSpeedcamFromInfo = false
sc_CopySpeedCamUserList()
MODEL.lua.managespeedcam = true
if #MODEL.map.primary.clicked_speedcam_list == 1 then
sc_UpdateSpeedcamModels(MODEL.map.primary.clicked_speedcam_list[0])
sc_NextStateAnim(st_EditSpeedcam, "fade", 1, "")
else
sc_NextStateAnim(st_SelectSpeedcam, "fade", 1, "")
end
end
sc_gjAddSpeedcam = function()
MODEL.lua.managespeedcam = false
sc_UpdateSpeedcamModels()
sc_NextStateAnim(st_EditSpeedcam, "fade", 1, "")
end
-- speedcam test ---------------------------------------------------------------------------------
sc_gjspeedcamtest = function()
local spc_cat = MODEL.INT.ui.extendedSpeedCamList.current.id()
local spc_speed = 50
vgj_spc_cat_name = "speedcam_category:" .. spc_cat
gjSpSoundName = sc_GetSysEntry(vgj_spc_cat_name, "skin_first_sound", L"")
if gjSpSoundName ~= L"" then
sc_gjspeedcam_playsound(gjSpSoundName)
end
local gjSpeedSound = var.new()
gjSpeedSound = sc_GetSysEntry(vgj_spc_cat_name, "skin_speed_sound_delay", 0)
if gjSpeedSound > 0 then
killDelayed(gjDel1)
gjDel1 = doDelayed(gjSpeedSound, function()
sc_gjspeedcam_playsound(spc_speed)
end
)
end
end
-- voice speed limit ---------------------------------------------------------------------------------
sc_gj_splchange = function()
local speed_lim = MODEL.warning.driveralert.speed_limit()
if MODEL.lua.gjSpVoiceEnable() then
killDelayed(gjDel2)
gjDel2 = doDelayed(150, function()
sc_gjspeedcam_playsound(speed_lim)
end
)
end
end
sc_gj_splimSelect = function()
PLAYSOUND( "!button" )
MODEL.lua.gjSpVoiceEnable = not MODEL.lua.gjSpVoiceEnable()
MODEL.lua.gjPosIcon = 0
if MODEL.lua.gjSpVoiceEnable() then
sc_gj_splchange()
sc_gjShowHelpText(m_i18n("Speed limit voice ON"), "ico_done_sml.bmp#3")
else
sc_gjShowHelpText(m_i18n("Speed limit voice OFF"), "ico_cancel_mid.bmp#3")
end
end
------------------------------------------------
------ HUD by arimi @ Vamibg -----
------------------------------------------------