{$CLEO .cs} 0000: NOP 30@ = 0 while true wait 0 0AAA: 25@ = thread 'DSKOOL' pointer 0AAA: 26@ = thread 'BSKOOL' pointer if and //textures 30@ == 0 25@ == 0 26@ == 0 Actor.Driving($PLAYER_ACTOR) //$Active_Interior == 0 84C8: not actor $PLAYER_ACTOR driving_flying_vehicle 84A7: not actor $PLAYER_ACTOR driving_boat //80DD: not actor $PLAYER_ACTOR driving_car_with_model #TAXI //80DD: not actor $PLAYER_ACTOR driving_car_with_model #CABBIE then 03C0: 1@ = actor $PLAYER_ACTOR car 0390: load_txd_dictionary "SPEED" 038F: load_texture "STRELK" as 115 // Load dictionary with 0390 first 038F: load_texture "CIF" as 116 // Load dictionary with 0390 first 038F: load_texture "CIFN" as 117 // Load dictionary with 0390 first 038F: load_texture "STRELKN" as 118 // Load dictionary with 0390 first 30@ = 1 {else 03F0: enable_text_draw 0 0391: release_txd_dictionary 30@ = 0 } end //textures while 30@ == 1 wait 0 gosub @CutsceneCheck gosub @WideScreenCheck 00BF: 12@ = current_time_hours, 13@ = current_time_minutes if and 056E: car 1@ defined 29@ == FALSE 28@ == FALSE 12@ > 6 then //02E3: 2@ = car 1@ speed //2@ *= 4.0 0AB1: call_scm_func @time 0 0AB1: call_scm_func @GEAR 0 23@ 03F0: enable_text_draw 1 03E3: set_texture_to_be_drawn_antialiased 1 038D: draw_texture 116 position 550.0 360.0 size 191.25 170.0 RGBA 255 255 255 255 03E3: set_texture_to_be_drawn_antialiased 1 03E0: draw_text_behind_textures 1 074B: draw_texture 115 position 550.0 360.0 scale 191.25 170.0 angle 23@ color_RGBA 255 255 255 255 end if and 056E: car 1@ defined 29@ == FALSE 28@ == FALSE 12@ <= 6 then {02E3: 2@ = car 1@ speed 2@ *= 4.0} 0AB1: call_scm_func @time 0 0AB1: call_scm_func @GEAR 0 23@ 03F0: enable_text_draw 1 03E3: set_texture_to_be_drawn_antialiased 1 038D: draw_texture 117 position 550.0 360.0 size 191.25 170.0 RGBA 255 255 255 255 03E3: set_texture_to_be_drawn_antialiased 1 03E0: draw_text_behind_textures 1 074B: draw_texture 118 position 550.0 360.0 scale 191.25 170.0 angle 23@ color_RGBA 255 255 255 255 end if// or //30@ == 2 80DF: not actor $PLAYER_ACTOR driving then 03F0: enable_text_draw 0 wait 1 0391: release_txd_dictionary 30@ = 0 end if //or 0ab0: 192 //~ //00DD: actor $PLAYER_ACTOR driving_car_with_model #TAXI //00DD: actor $PLAYER_ACTOR driving_car_with_model #CABBIE then 03F0: enable_text_draw 0 wait 1 0391: release_txd_dictionary 30@ = 0 end end//30@ == 1 end :time 00BF: 12@ = current_time_hours, 13@ = current_time_minutes 0349: set_text_draw_font 3 033F: set_text_draw_letter_size 0.25 0.84 0348: enable_text_draw_proportional 1 081C: draw_text_outline 1 RGBA 0 0 0 255 0340: set_text_draw_RGBA 221 148 32 200 03E0: draw_text_behind_textures 1 if 13@ > 9 then 045B: draw_text_2numbers 540.0 340.0 GXT 'TIME' numbers 12@ 13@ // ~1~:~1~ else 045B: draw_text_2numbers 540.0 340.0 GXT 'TIME_0' numbers 12@ 13@ // ~1~:~1~ end 0AB2: ret 0 :CutsceneCheck if 06B9: cutscene_data_loaded then if 82E9: not cutscene_reached_end then 29@ = TRUE end else 29@ = FALSE end return :WideScreenCheck 0A8D: 27@ = read_memory 0xB6F065 size 4 virtual_protect 0 if 27@ == 1 then 28@ = TRUE else 28@ = FALSE end return :GEAR if and 84C8: not actor $PLAYER_ACTOR driving_flying_vehicle 84A7: not actor $PLAYER_ACTOR driving_boat //80DD: not actor $PLAYER_ACTOR driving_car_with_model #TAXI //80DD: not actor $PLAYER_ACTOR driving_car_with_model #CABBIE Actor.Driving($PLAYER_ACTOR) then 03C0: 0@ $player_actor 0A97: 31@ = car 0@ struct 0A8E: 30@ = 31@ + 1424 // int 0A8D: 30@ = read_memory 30@ size 1 virtual_protect 0 0AA8: call_function_method 0x6D1080 struct 31@ num_params 0 pop 0 29@ if or 29@ == 1 29@ == 2 then if or 30@ == 0 30@ == 9 then 0174: 3@ = car 0@ Z_angle if and 3@ >= 60.0 3@ <= 150.0 then 0AA7: call_function 0x49D3A0 num_params 0 pop 0 3@ // ??? ????????? 2 WE else if and 3@ >= 240.0 3@ <= 330.0 then 0AA7: call_function 0x49D3A0 num_params 0 pop 0 3@ // ??? ????????? 2 WE else 0AA7: call_function 0x49D350 num_params 0 pop 0 3@ // ??? ????????? 1 NS end end for 4@ = 8 to 31 08C3: clear 3@ bit 4@ end // ???????? ???????: 0 - ???????, 1 - ??????, 2 - ??????? if 3@ == 0 then 4@ = 0 5@ = 255 6@ = 0 else if 3@ == 1 then 4@ = 255 5@ = 128 6@ = 0 else 4@ = 255 5@ = 0 6@ = 0 end end 0AB8: get_vehicle 0@ current_gear_to 2@ 02E3: 0@ 0@ 0@ *= 3.6 0087: 1@ = 0@ // (float) if 1@ > 240.0 then 1@ = 240.0 end 0092: 0@ = float 1@ to_integer 0@ *= 1.35 03F0: enable_text_draw 1 0349: set_text_draw_font 3 // 0 2 03E4: enable_text_draw_align_right 1 0340: set_text_draw_RGBA 4@ 5@ 6@ 255 //0 128 0 255 081C: draw_text_outline 1 RGBA 0 0 0 200 033F: set_text_draw_letter_size 0.25 0.84 045A: draw_text_1number 567.0 358.0 GXT 'NUMBER' number 2@ // ~1~ ? +14 end // 30 == end // 29 == end 0AB2: ret 1 1@