434 lines
15 KiB
Python
Executable File
434 lines
15 KiB
Python
Executable File
USING "rage_builtins.sch"
|
|
USING "globals.sch"
|
|
|
|
#IF IS_FINAL_BUILD
|
|
SCRIPT
|
|
ENDSCRIPT
|
|
#ENDIF
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
|
|
USING "commands_camera.sch"
|
|
USING "commands_misc.sch"
|
|
USING "commands_streaming.sch"
|
|
USING "script_player.sch"
|
|
USING "commands_clock.sch"
|
|
USING "selector_public.sch"
|
|
|
|
CONST_INT numlocation 1
|
|
//CONST_INT stat_count 5000
|
|
INT index, loaded_low, loaded_med, loaded_hi, required_low, required_med, required_hi, count
|
|
INT total_loaded_low, total_loaded_med, total_loaded_hi, total_required_low, total_required_med, total_required_hi
|
|
//INT last_loaded_low, last_loaded_med, last_loaded_hi, last_required_low, last_required_med, last_required_hi
|
|
INT average_loaded_low, average_loaded_med, average_loaded_hi, average_required_low, average_required_med, average_required_hi
|
|
INT peak_loaded_low, peak_loaded_med, peak_loaded_hi, peak_required_low, peak_required_med, peak_required_hi
|
|
INT not_loaded_low, not_loaded_med, not_loaded_hi
|
|
|
|
VECTOR FPSlocation[1]
|
|
//STRING FPSlocationName[1]
|
|
//VECTOR v_car_destination[4]
|
|
FLOAT car_heading[numlocation]
|
|
//FLOAT camera_pan_mod
|
|
//FLOAT camera_pitch_mod
|
|
VEHICLE_INDEX veh_car
|
|
MODEL_NAMES model_car
|
|
BOOL SWITCH_VEHS, have_stats_started
|
|
BOOL ANOTHER_ITERATION
|
|
VECTOR coords
|
|
|
|
ENUM FPS_TEST_STAGE
|
|
SETUP,
|
|
WARP_TO_LOCATION,
|
|
CREATE_CAR,
|
|
CAR_DRIVE,
|
|
CLEANUP_ZONE,
|
|
STREAMING_RESULTS
|
|
ENDENUM
|
|
FPS_TEST_STAGE FPSlocationStage = SETUP
|
|
|
|
PROC CLEANUP_SCRIPT()
|
|
SET_ENTITY_PROOFS(PLAYER_PED_ID(), FALSE, FALSE, FALSE, FALSE, FALSE)
|
|
SET_PLAYER_CONTROL(PLAYER_ID(), TRUE)
|
|
FREEZE_ENTITY_POSITION(PLAYER_PED_ID(), FALSE)
|
|
CLEAR_PED_TASKS_IMMEDIATELY(PLAYER_PED_ID())
|
|
SET_DEBUG_LINES_AND_SPHERES_DRAWING_ACTIVE (FALSE)
|
|
PRINTLN("HELI STREAMING TERMINATING")
|
|
TERMINATE_THIS_THREAD()
|
|
ENDPROC
|
|
|
|
|
|
SCRIPT
|
|
|
|
IF HAS_FORCE_CLEANUP_OCCURRED(DEFAULT_FORCE_CLEANUP_FLAGS)
|
|
ENDIF
|
|
|
|
PRINTLN("HELI STREAMING STARTING")
|
|
|
|
index = 0
|
|
|
|
WHILE TRUE
|
|
|
|
WAIT(0)
|
|
|
|
IF IS_PLAYER_PLAYING(PLAYER_ID())
|
|
|
|
SWITCH FPSlocationStage
|
|
|
|
CASE SETUP
|
|
|
|
SET_ENTITY_PROOFS(PLAYER_PED_ID(), TRUE, TRUE, TRUE, TRUE, TRUE)
|
|
SET_PLAYER_CONTROL(PLAYER_ID(), FALSE)
|
|
CLEAR_PLAYER_WANTED_LEVEL(PLAYER_ID())
|
|
FPSlocationStage = WARP_TO_LOCATION
|
|
|
|
SHUTDOWN_LOADING_SCREEN()
|
|
// Fade the screen in
|
|
IF NOT IS_SCREEN_FADED_IN()
|
|
AND NOT IS_SCREEN_FADING_IN()
|
|
DO_SCREEN_FADE_IN(500)
|
|
ENDIF
|
|
|
|
AUTOMATED_TEST_BEGIN()
|
|
|
|
BREAK
|
|
|
|
CASE WARP_TO_LOCATION
|
|
index = 0
|
|
count = 0
|
|
total_loaded_low = 0
|
|
total_loaded_med = 0
|
|
total_loaded_hi = 0
|
|
total_required_low = 0
|
|
total_required_med = 0
|
|
total_required_hi = 0
|
|
peak_loaded_low = 0
|
|
peak_loaded_med = 0
|
|
peak_loaded_hi = 0
|
|
peak_required_low = 0
|
|
peak_required_med = 0
|
|
peak_required_hi = 0
|
|
|
|
// IF HAS_VEHICLE_RECORDING_BEEN_LOADED(1, "heli_streaming")
|
|
// REMOVE_VEHICLE_RECORDING(1, "heli_streaming")
|
|
// ENDIF
|
|
// IF HAS_VEHICLE_RECORDING_BEEN_LOADED(1, "jet_streaming")
|
|
// REMOVE_VEHICLE_RECORDING(1, "jet_streaming")
|
|
// ENDIF
|
|
|
|
FPSlocation[0] = <<1367.1207, -2075.1047, 300.0>> // HELI
|
|
|
|
// SET_MAX_WANTED_LEVEL(0)
|
|
SET_PLAYER_WANTED_LEVEL(PLAYER_ID(), 0)
|
|
SET_PLAYER_WANTED_LEVEL_NOW(PLAYER_ID())
|
|
SET_PLAYER_CONTROL(PLAYER_ID(), FALSE)
|
|
SET_ENTITY_COORDS(PLAYER_PED_ID(), FPSlocation[index])
|
|
SET_ENTITY_HEADING(PLAYER_PED_ID(), 0)
|
|
SET_GAMEPLAY_CAM_RELATIVE_HEADING()
|
|
|
|
|
|
SET_WEATHER_TYPE_NOW_PERSIST("EXTRASUNNY")
|
|
SETTIMERA(0)
|
|
FPSlocationStage = CREATE_CAR
|
|
|
|
BREAK
|
|
|
|
CASE CREATE_CAR
|
|
|
|
PRINTSTRING("...Create car")
|
|
PRINTNL()
|
|
|
|
IF NOT DOES_ENTITY_EXIST(veh_car)
|
|
|
|
IF NOT SWITCH_VEHS
|
|
model_car = FROGGER
|
|
REQUEST_MODEL(model_car)
|
|
ELSE
|
|
model_car = LAZER
|
|
REQUEST_MODEL(model_car)
|
|
ENDIF
|
|
|
|
IF HAS_MODEL_LOADED(model_car)
|
|
CLEAR_AREA(FPSlocation[index], 20, TRUE)
|
|
veh_car = CREATE_VEHICLE(model_car, FPSlocation[index], car_heading[index])
|
|
ENDIF
|
|
|
|
ELSE
|
|
IF IS_VEHICLE_DRIVEABLE(veh_car)
|
|
SET_PED_INTO_VEHICLE(PLAYER_PED_ID(), veh_car)
|
|
SET_ENTITY_COORDS(veh_car, FPSlocation[index])
|
|
SET_ENTITY_HEADING(veh_car, car_heading[index])
|
|
SET_GAMEPLAY_CAM_RELATIVE_HEADING()
|
|
SET_ENTITY_INVINCIBLE(veh_car, TRUE)
|
|
SET_VEHICLE_ENGINE_ON(veh_car, TRUE, TRUE)
|
|
|
|
WAIT(0)
|
|
|
|
coords = GET_ENTITY_COORDS(PLAYER_PED_ID())
|
|
CLEAR_AREA(coords, 2000, TRUE)
|
|
|
|
PRINTLN("Waiting for scene to load...")
|
|
|
|
NEW_LOAD_SCENE_START_SPHERE(coords, 4500.0)
|
|
WAIT(0)
|
|
|
|
WHILE NOT IS_NEW_LOAD_SCENE_LOADED()
|
|
WAIT(0)
|
|
ENDWHILE
|
|
|
|
NEW_LOAD_SCENE_STOP()
|
|
|
|
PRINTLN("Scene loaded, let's wait for the rest...")
|
|
|
|
LOAD_ALL_OBJECTS_NOW()
|
|
|
|
INSTANTLY_FILL_PED_POPULATION()
|
|
INSTANTLY_FILL_VEHICLE_POPULATION()
|
|
|
|
PRINTLN("Waiting for peds and vehicles...")
|
|
|
|
SETTIMERA(0)
|
|
WHILE TIMERA() < 3000
|
|
WAIT(0)
|
|
ENDWHILE
|
|
|
|
IF NOT SWITCH_VEHS
|
|
REQUEST_VEHICLE_RECORDING(1, "heli_streaming")
|
|
WHILE NOT HAS_VEHICLE_RECORDING_BEEN_LOADED(1, "heli_streaming")
|
|
WAIT(0)
|
|
ENDWHILE
|
|
IF IS_VEHICLE_DRIVEABLE(veh_car)
|
|
START_PLAYBACK_RECORDED_VEHICLE(veh_car, 1, "heli_streaming")
|
|
ENDIF
|
|
|
|
ELSE
|
|
REQUEST_VEHICLE_RECORDING(1, "jet_streaming")
|
|
WHILE NOT HAS_VEHICLE_RECORDING_BEEN_LOADED(1, "jet_streaming")
|
|
WAIT(0)
|
|
ENDWHILE
|
|
IF IS_VEHICLE_DRIVEABLE(veh_car)
|
|
START_PLAYBACK_RECORDED_VEHICLE(veh_car, 1, "jet_streaming")
|
|
ENDIF
|
|
ENDIF
|
|
|
|
WAIT(0)
|
|
|
|
|
|
PRINTLN("Let's go!")
|
|
|
|
SET_CLOCK_TIME(17, 0, 0)
|
|
|
|
SET_MODEL_AS_NO_LONGER_NEEDED(model_car)
|
|
|
|
IF NOT have_stats_started
|
|
DBG_SET_MAPDATA_STATS(TRUE)
|
|
PRINTLN("DBG_SET_MAPDATA_STATS(TRUE)")
|
|
have_stats_started = TRUE
|
|
ENDIF
|
|
FPSlocationStage = CAR_DRIVE
|
|
ANOTHER_ITERATION = TRUE
|
|
AUTOMATED_TEST_START_ITERATION()
|
|
ENDIF
|
|
ENDIF
|
|
// REQUEST_VEHICLE_RECORDING(INT FileNumber, STRING pRecordingName)
|
|
// HAS_VEHICLE_RECORDING_BEEN_LOADED(INT FileNumber, STRING pRecordingName)
|
|
// START_PLAYBACK_RECORDED_VEHICLE
|
|
// IS_PLAYBACK_GOING_ON_FOR_VEHICLE(VEHICLE_INDEX VehicleIndex)
|
|
|
|
BREAK
|
|
|
|
CASE CAR_DRIVE
|
|
|
|
IF IS_VEHICLE_DRIVEABLE(veh_car) AND NOT IS_PLAYBACK_GOING_ON_FOR_VEHICLE(veh_car)
|
|
SETTIMERA(0)
|
|
SET_VEHICLE_AS_NO_LONGER_NEEDED(veh_car)
|
|
ANOTHER_ITERATION = AUTOMATED_TEST_NEXT_ITERATION()
|
|
SETTIMERB(0)
|
|
FPSlocationStage = CLEANUP_ZONE
|
|
ENDIF
|
|
|
|
//IMAPS LOADED
|
|
loaded_low = DBG_GET_NUM_MAPDATA_LOADED(MAPDATA_LOW)
|
|
total_loaded_low = total_loaded_low + loaded_low //sum of all
|
|
IF loaded_low > peak_loaded_low //Get peak
|
|
peak_loaded_low = loaded_low
|
|
ENDIF
|
|
// PRINTLN("DBG_GET_NUM_MAPDATA_LOADED(MAPDATA_LOW) = ", loaded_low, " PEAK LOW = ", peak_loaded_low, " Sum of all(DEBUG) = ", total_loaded_low)
|
|
|
|
loaded_med = DBG_GET_NUM_MAPDATA_LOADED(MAPDATA_MED)
|
|
total_loaded_med = total_loaded_med + loaded_med //sum of all
|
|
IF loaded_med > peak_loaded_med //Get peak
|
|
peak_loaded_med = loaded_med
|
|
ENDIF
|
|
// PRINTLN("DBG_GET_NUM_MAPDATA_LOADED(MAPDATA_MED) = ", loaded_med, " PEAK MED = ", peak_loaded_med, " Sum of all(DEBUG) = ", total_loaded_med)
|
|
|
|
loaded_hi = DBG_GET_NUM_MAPDATA_LOADED(MAPDATA_HI)
|
|
total_loaded_hi = total_loaded_hi + loaded_hi //sum of all
|
|
IF loaded_hi > peak_loaded_hi //Get peak
|
|
peak_loaded_hi = loaded_hi
|
|
ENDIF
|
|
// PRINTLN("DBG_GET_NUM_MAPDATA_LOADED(MAPDATA_HI) = ", loaded_hi, " PEAK HI = ", peak_loaded_hi, " Sum of all(DEBUG) = ", total_loaded_hi)
|
|
|
|
|
|
//IMAPS REQUIRED
|
|
required_low = DBG_GET_NUM_MAPDATA_REQUIRED(MAPDATA_LOW)
|
|
total_required_low = total_required_low + required_low //sum of all
|
|
IF required_low > peak_required_low //Get peak
|
|
peak_required_low = required_low
|
|
ENDIF
|
|
// PRINTLN("DBG_GET_NUM_MAPDATA_REQUIRED(MAPDATA_LOW) = ", required_low, " PEAK LOW = ", peak_required_low, " Sum of all(DEBUG) = ", total_required_low)
|
|
|
|
required_med = DBG_GET_NUM_MAPDATA_REQUIRED(MAPDATA_MED)
|
|
total_required_med = total_required_med + required_med //sum of all
|
|
IF required_med > peak_required_med //Get peak
|
|
peak_required_med = required_med
|
|
ENDIF
|
|
// PRINTLN("DBG_GET_NUM_MAPDATA_REQUIRED(MAPDATA_MED) = ", required_med, " PEAK MED = ", peak_required_med, " Sum of all(DEBUG) = ", total_required_med)
|
|
|
|
required_hi = DBG_GET_NUM_MAPDATA_REQUIRED(MAPDATA_HI)
|
|
total_required_hi = total_required_hi + required_hi //sum of all
|
|
IF required_hi > peak_required_hi //Get peak
|
|
peak_required_hi = required_hi
|
|
ENDIF
|
|
// PRINTLN("DBG_GET_NUM_MAPDATA_REQUIRED(MAPDATA_HI) = ", required_hi, " PEAK HI = ", peak_required_hi, " Sum of all(DEBUG) = ", total_required_hi)
|
|
|
|
count ++
|
|
// PRINTLN("number of times stats run = ", count)
|
|
|
|
IF IS_KEYBOARD_KEY_JUST_PRESSED(KEY_P) //Debug skip camera rotate
|
|
SETTIMERA(5000)
|
|
FPSlocationStage = WARP_TO_LOCATION
|
|
ENDIF
|
|
|
|
IF IS_KEYBOARD_KEY_JUST_PRESSED(KEY_S) //Debug skip camera rotate
|
|
SETTIMERA(5000)
|
|
IF NOT SWITCH_VEHS
|
|
SWITCH_VEHS = TRUE
|
|
ELSE
|
|
SWITCH_VEHS = FALSE
|
|
ENDIF
|
|
SET_VEHICLE_AS_NO_LONGER_NEEDED(veh_car)
|
|
FPSlocationStage = WARP_TO_LOCATION
|
|
ENDIF
|
|
|
|
BREAK
|
|
|
|
CASE CLEANUP_ZONE
|
|
|
|
IF have_stats_started
|
|
average_loaded_low = total_loaded_low / count
|
|
PRINTLN("AVERAGE LOADED LOW = ", average_loaded_low, " PEAK LOADED LOW = ", peak_loaded_low)
|
|
average_loaded_med = total_loaded_med / count
|
|
PRINTLN("AVERAGE LOADED MED = ", average_loaded_med, " PEAK LOADED MED = ", peak_loaded_med)
|
|
average_loaded_hi = total_loaded_hi / count
|
|
PRINTLN("AVERAGE LOADED HI = ", average_loaded_hi, " PEAK LOADED HI = ", peak_loaded_hi)
|
|
|
|
average_required_low = total_required_low / count
|
|
PRINTLN("AVERAGE REQUIRED LOW = ", average_required_low, " PEAK REQUIRED LOW = ", peak_required_low)
|
|
average_required_med = total_required_med / count
|
|
PRINTLN("AVERAGE REQUIRED MED = ", average_required_med, " PEAK REQUIRED MED = ", peak_required_med)
|
|
average_required_hi = total_required_hi / count
|
|
PRINTLN("AVERAGE REQUIRED HI = ", average_required_hi, " PEAK REQUIRED HI = ", peak_required_hi)
|
|
|
|
not_loaded_low = average_required_low - average_loaded_low
|
|
PRINTLN("NOT LOADED LOW = ", not_loaded_low)
|
|
not_loaded_med = average_required_med - average_loaded_med
|
|
PRINTLN("NOT LOADED MED = ", not_loaded_med)
|
|
not_loaded_hi = average_required_hi - average_loaded_hi
|
|
PRINTLN("NOT LOADED HI = ", not_loaded_hi)
|
|
SET_DEBUG_LINES_AND_SPHERES_DRAWING_ACTIVE (TRUE)
|
|
|
|
DBG_SET_MAPDATA_STATS(FALSE)
|
|
PRINTLN("DBG_SET_MAPDATA_STATS(FALSE)")
|
|
have_stats_started = FALSE
|
|
ENDIF
|
|
|
|
// DISPLAY_TEXT_WITH_LITERAL_STRING(0.2, 0.2, "STRING", "AVERAGE LOADED LOW")
|
|
DRAW_DEBUG_TEXT_2D("AVERAGE LOADED LOW", <<0.1, 0.1, 0>> )
|
|
DRAW_DEBUG_TEXT_2D(GET_STRING_FROM_INT(average_loaded_low), <<0.25, 0.1, 0>> )
|
|
DRAW_DEBUG_TEXT_2D("PEAK LOADED LOW", <<0.1, 0.12, 0>> )
|
|
DRAW_DEBUG_TEXT_2D(GET_STRING_FROM_INT(peak_loaded_low), <<0.25, 0.12, 0>> )
|
|
|
|
DRAW_DEBUG_TEXT_2D("AVERAGE LOADED MED", <<0.1, 0.14, 0>> )
|
|
DRAW_DEBUG_TEXT_2D(GET_STRING_FROM_INT(average_loaded_med), <<0.25, 0.14, 0>> )
|
|
DRAW_DEBUG_TEXT_2D("PEAK LOADED MED", <<0.1, 0.16, 0>> )
|
|
DRAW_DEBUG_TEXT_2D(GET_STRING_FROM_INT(peak_loaded_med), <<0.25, 0.16, 0>> )
|
|
|
|
DRAW_DEBUG_TEXT_2D("AVERAGE LOADED HI", <<0.1, 0.18, 0>> )
|
|
DRAW_DEBUG_TEXT_2D(GET_STRING_FROM_INT(average_loaded_hi), <<0.25, 0.18, 0>> )
|
|
DRAW_DEBUG_TEXT_2D("PEAK LOADED HI", <<0.1, 0.2, 0>> )
|
|
DRAW_DEBUG_TEXT_2D(GET_STRING_FROM_INT(peak_loaded_hi), <<0.25, 0.2, 0>> )
|
|
|
|
|
|
DRAW_DEBUG_TEXT_2D("AVERAGE REQUIRED LOW", <<0.1, 0.3, 0>> )
|
|
DRAW_DEBUG_TEXT_2D(GET_STRING_FROM_INT(average_required_low), <<0.25, 0.3, 0>> )
|
|
DRAW_DEBUG_TEXT_2D("PEAK REQUIRED LOW", <<0.1, 0.32, 0>> )
|
|
DRAW_DEBUG_TEXT_2D(GET_STRING_FROM_INT(peak_required_low), <<0.25, 0.32, 0>> )
|
|
|
|
DRAW_DEBUG_TEXT_2D("AVERAGE REQUIRED MED", <<0.1, 0.34, 0>> )
|
|
DRAW_DEBUG_TEXT_2D(GET_STRING_FROM_INT(average_required_med), <<0.25, 0.34, 0>> )
|
|
DRAW_DEBUG_TEXT_2D("PEAK REQUIRED MED", <<0.1, 0.36, 0>> )
|
|
DRAW_DEBUG_TEXT_2D(GET_STRING_FROM_INT(peak_required_med), <<0.25, 0.36, 0>> )
|
|
|
|
DRAW_DEBUG_TEXT_2D("AVERAGE REQUIRED HI", <<0.1, 0.38, 0>> )
|
|
DRAW_DEBUG_TEXT_2D(GET_STRING_FROM_INT(average_required_hi), <<0.25, 0.38, 0>> )
|
|
DRAW_DEBUG_TEXT_2D("PEAK REQUIRED HI", <<0.1, 0.4, 0>> )
|
|
DRAW_DEBUG_TEXT_2D(GET_STRING_FROM_INT(peak_required_hi), <<0.25, 0.4, 0>> )
|
|
|
|
|
|
DRAW_DEBUG_TEXT_2D("NOT LOADED LOW", <<0.1, 0.5, 0>> )
|
|
DRAW_DEBUG_TEXT_2D(GET_STRING_FROM_INT(not_loaded_low), <<0.25, 0.5, 0>> )
|
|
DRAW_DEBUG_TEXT_2D("NOT LOADED MED", <<0.1, 0.52, 0>> )
|
|
DRAW_DEBUG_TEXT_2D(GET_STRING_FROM_INT(not_loaded_med), <<0.25, 0.52, 0>> )
|
|
DRAW_DEBUG_TEXT_2D("NOT LOADED HI", <<0.1, 0.54, 0>> )
|
|
DRAW_DEBUG_TEXT_2D(GET_STRING_FROM_INT(not_loaded_hi), <<0.25, 0.54, 0>> )
|
|
|
|
|
|
IF IS_KEYBOARD_KEY_JUST_PRESSED(KEY_P)
|
|
index = 0
|
|
FPSlocationStage = WARP_TO_LOCATION
|
|
ENDIF
|
|
|
|
IF TIMERB() > 3000
|
|
IF ANOTHER_ITERATION
|
|
// Time for another one.
|
|
index = 0
|
|
FPSlocationStage = WARP_TO_LOCATION
|
|
ENDIF
|
|
ENDIF
|
|
|
|
|
|
IF IS_KEYBOARD_KEY_JUST_PRESSED(KEY_S) //Debug skip camera rotate
|
|
SETTIMERA(5000)
|
|
IF NOT SWITCH_VEHS
|
|
SWITCH_VEHS = TRUE
|
|
ELSE
|
|
SWITCH_VEHS = FALSE
|
|
ENDIF
|
|
SET_VEHICLE_AS_NO_LONGER_NEEDED(veh_car)
|
|
FPSlocationStage = WARP_TO_LOCATION
|
|
ENDIF
|
|
|
|
BREAK
|
|
|
|
CASE STREAMING_RESULTS
|
|
|
|
CLEANUP_SCRIPT()
|
|
|
|
BREAK
|
|
|
|
ENDSWITCH
|
|
|
|
PRINT_STRING_WITH_LITERAL_STRING_NOW("STRING", "Press S to switch tests. Press P to restart test. Press F to fail", 1, 1)
|
|
|
|
ENDIF
|
|
|
|
IF IS_KEYBOARD_KEY_JUST_PRESSED(KEY_F)
|
|
CLEANUP_SCRIPT()
|
|
ENDIF
|
|
|
|
ENDWHILE
|
|
ENDSCRIPT
|
|
|
|
#ENDIF
|
|
|