'########################################
'#                                      #
'#              MAIN SCRIPT             #
'#                                      #
'#    MAN Standarddoppeldecker SD200    #
'#                                      #
'#             Bauart SD85              #
'#                                      #
'########################################

'(c) 01.11.2012 Marcel Kuhnt, Rüdiger Hülsmann

'Script Version: 1.0
'Omsi release: 1.0


'Revision History:
'- Marcel Kuhnt		10.08.2009	Added Revision History
'- Marcel Kuhnt		30.11.2010	Bugfix: press [D] in AI mode if motor running but neutral
'- Marcel Kuhnt		04.07.2011	Added light repair
'- Marcel Kuhnt		11.12.2012	Added elec repair

'------------------------------------------------------------------------------------------


'######################
'	Hauptteil
'######################

{init}
	(M.L.engine_Init)
	(M.L.Antrieb_Init)
	(M.L.Elec_Init)
	(M.L.Door_Init)
	(M.L.wiper_init)
	(M.L.lights_init)
	(M.L.bremse_init)
	(M.L.cockpit_init)
	(M.L.heizung_init)
	(M.L.Matrix_init)
	(M.L.Collision_Init)
	(M.L.VDV_init)
	(M.L.Fare_init)
	(M.L.IAnz_init)
	(M.L.DD_misc_init)
	3 random s0
	"Werbung\Werbung_" l0 $IntToStr $+ ".dds" $+ (S.$.Werbung)
{end}

{frame}
	(L.L.AI)
	{if}
		1 (S.L.KI-Mode)
	{else}
		0 (S.L.KI-Mode)
	{endif}

	1 (S.L.Daueranimation)
	(M.L.Engine_Frame)
	(M.L.Antrieb_Frame)
	(M.L.Elec_Frame)
	(M.L.Door_frame)
	(M.L.cockpit_frame)
	(M.L.lights_frame)
	(M.L.wiper_frame)
	(M.L.Auspuff_Frame)
	(M.L.bremse_frame)
	(M.L.klappern_frame)
	(M.L.FF_frame)
	(M.L.rain_frame)
	(M.L.dirt_frame)
	(M.L.sound_volume_frame)
	(M.L.heizung_frame)
	(M.L.Matrix_frame)
	(M.L.cashdesk_frame)
	(M.L.Collision_Frame)
	(M.L.spray_frame)

	(L.L.KI-Mode) !
	{if}
		(M.L.VDV_frame)
		(M.L.Fare_frame)
		(M.L.IAnz_frame)
	{endif}

(L.L.Velocity) 1 <
{if}
	(M.L.DD_misc_frame)
	"DD-Mod\dummy.dds" (S.$.Tueroeffner_dummy)
	"DD-Mod\buttons3.dds" (S.$.door_button3_string)
	"DD-Mod\V3D\mirror_render.dds" (S.$.V3D_1_string)
	"DD-Mod\V3D\material_plastic-black.dds" (S.$.V3D_2_string)
	"DD-Mod\V3D\03.dds" (S.$.V3D_4_string)
	"DD-Mod\V3D\cab.dds" (S.$.V3D_3_string)
	"DD-Mod\roofandfloor_clean.dds" (S.$.roofandfloor_clean_string)
	"DD-Mod\Haupttextur_solo.dds" (S.$.Haupttextur_string)
	"Haupttextur_NG_V_dreck.dds" (S.$.Dachklima_klein_Dreck_string)
	1 (S.L.Refresh_Strings)
{endif}

'############################################
'### Main Stuff
'############################################

(L.L.Velocity) 1 <
{if}
	0 (M.V.GetDepotStringGlobal) "HB_Bremen_2018" $=
	0 (M.V.GetDepotStringGlobal) "HB_Bremen_2016" $= ||
	0 (M.V.GetDepotStringGlobal) "HB_Bremen_2010" $= ||
	{if}
		(L.$.ident) 4 $cutEnd (L.$.Number) 1 $cutBegin $+ (S.$.ident_2)
	{else}
		(L.$.ident) (S.$.ident_2)
	{endif}


	(L.L.CTI_switched) !
	(L.L.Colorscheme) -1 = ! &&
	{if}
		(L.L.vis_clima) (S.L.vis_clima_int)
		(L.L.vis_clima_h) (S.L.vis_clima_h_int)
		(L.L.vis_haltefaden) (S.L.vis_haltefaden_int)
		(L.L.vis_doortype_v) (S.L.vis_doortype_v_int)
		(L.L.vis_doortype_m) (S.L.vis_doortype_m_int)
		(L.L.vis_doortype_h) (S.L.vis_doortype_h_int)
		(L.L.Faremaster_Umschalt) ! (S.L.Faremaster_Umschalt_int)
	{endif}
{endif}

'	Klappsitz durch Fahrgast
	1 (M.V.GetHumanCountOnSeat) (S.L.klappsitz_1)
	2 (M.V.GetHumanCountOnSeat) (S.L.klappsitz_2)
	3 (M.V.GetHumanCountOnSeat) (S.L.klappsitz_3)

(L.L.Velocity) 1 <
{if}

'	Kennzeichengröße

	(L.$.ident) $length 10 >
	{if}
		1 (S.L.kennzeichengroesse)
	{else}
		0 (S.L.kennzeichengroesse)
	{endif}

	(L.L.vis_doortype_v_int) 0 =
	{if}
		0 (S.L.LC_Rampe_visible)
	{else}
		(L.L.KI-Mode) !
		{if}
			1 (S.L.LC_Rampe_visible)
		{else}
			0 (S.L.LC_Rampe_visible)
		{endif}			
	{endif}
{endif}
'...............................
'AI:

	(L.L.AI_Engine) 0.5 >
	(L.L.engine_on) 0.5 <
	(L.L.antrieb_getr_gangvorwahl) 4 = ! ||
	&&
	{if}
		0 (S.L.bremse_feststell_sw) (S.L.bremse_feststell)
		1 (S.L.engine_injection_on) (S.L.elec_busbar_main_sw)
		400 (S.L.engine_n)
		4 (S.L.antrieb_getr_gangvorwahl)
		1 (S.L.engine_on) (S.L.vdv_on) (S.L.cp_key_pull)
		3 (S.L.key_mode)
		0.4 (S.L.cp_key_rot)
		900000 (S.L.bremse_p_tank01) (S.L.bremse_p_tank02) (S.L.bremse_p_tank03) (S.L.bremse_p_tank04) (S.L.bremse_p_leitung01) (S.L.bremse_p_leitung02)
		400000 (S.L.bremse_p_balg_0_R) (S.L.bremse_p_balg_0_L) (S.L.bremse_p_balg_1_R) (S.L.bremse_p_balg_1_L) 
	{endif}

	(L.L.AI_Engine) -0.5 <
	(L.L.engine_on) 0.5 >
	&&
	{if}
		0 (S.L.engine_on)
		0 (S.L.engine_injection_on)
		1 (S.L.bremse_feststell_sw) (S.L.bremse_feststell)
		2 (S.L.key_mode)
		0.2 (S.L.cp_key_rot)
	{endif}

	(L.L.AI)
	{if}
		(L.L.KI-Mode)
		(L.L.throttle) 0.1 > &&
		{if}
			0 (S.L.bremse_feststell_sw) (S.L.bremse_halte_sw) (S.L.bremse_halte) (S.L.door_freigabe) (S.L.doortarget_0) (S.L.doortarget_1) (S.L.doortarget_23) (S.L.doortarget_45)
		{endif}
		(L.L.Brake) (C.L.max_bremskraft) * (S.L.Brakeforce)
		1 (S.L.elec_busbar_main) (S.L.elec_busbar_avail)
	{endif}

'############################################

{end}

'----------------------------------
'Crash:

{trigger:collision}
	(M.L.Collision_Trigger)
{end}


'----------------------------------
'malfunction reset:


{trigger:malfunction_reset}
	(M.L.Collision_Malfunction_Reset)
	(M.L.Elec_Malfunction_Reset)
{end}


'----------------------------------


'malfunction time calc:
{trigger:malfunction_gettime}
	0 s0
	(M.L.Collision_Malfunction_TimeCalc)
	(M.L.Elec_Malfunction_TimeCalc)
{end}
