Last active
January 5, 2024 17:47
-
-
Save JuniorDjjr/ad046809c33d7a3b542a98b4c92bcd77 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
SCRIPT_START | |
{ | |
LVAR_INT scplayer activeLastTime zoomState | |
LVAR_FLOAT camX camY camZ pointX pointY pointZ upFactor k newFOV currentFOV detaultFOV lastNewFOV diffNewFOV f iniFOV iniSpeed iniDynamicIntensity iniDynamicIntensityDown | |
IF NOT READ_FLOAT_FROM_INI_FILE "cleo/Dynamic FOV.ini" "Settings" "FOV" iniFOV | |
iniFOV = 70.0 | |
ENDIF | |
IF NOT READ_FLOAT_FROM_INI_FILE "cleo/Dynamic FOV.ini" "Settings" "Speed" iniSpeed | |
iniSpeed = 0.1 | |
ENDIF | |
IF NOT READ_FLOAT_FROM_INI_FILE "cleo/Dynamic FOV.ini" "Settings" "DynamicIntensity" iniDynamicIntensity | |
iniDynamicIntensity = 1.0 | |
ENDIF | |
iniDynamicIntensity *= -1.33334 | |
IF NOT READ_FLOAT_FROM_INI_FILE "cleo/Dynamic FOV.ini" "Settings" "DynamicIntensityDown" iniDynamicIntensityDown | |
iniDynamicIntensityDown = 1.0 | |
ENDIF | |
iniDynamicIntensityDown *= -0.33334 | |
WHILE TRUE | |
WAIT 0 | |
IF HAS_CUTSCENE_LOADED | |
OR NOT IS_PLAYER_PLAYING 0 | |
CONTINUE | |
ENDIF | |
IF GOSUB IsValidCameraMode | |
GET_ACTIVE_CAMERA_COORDINATES camX camY camZ | |
GET_ACTIVE_CAMERA_POINT_AT pointX pointY pointZ | |
GET_CAMERA_FOV currentFOV | |
// Not enabled during zoom interpolation (weapon zoom etc) | |
READ_STRUCT_OFFSET 0xB6F028 0x58 1 zoomState | |
IF zoomState = 0 | |
upFactor = camZ - pointZ | |
k = upFactor | |
k *= iniDynamicIntensity | |
EASE k EASE_MODE_CUBIC EASE_WAY_IN newFOV | |
newFOV *= 30.0 | |
IF k < 0.0 | |
newFOV *= iniDynamicIntensityDown | |
ENDIF | |
newFOV += iniFOV | |
IF newFOV > 100.0 | |
newFOV = 100.0 | |
ENDIF | |
diffNewFOV = currentFOV - newFOV | |
diffNewFOV *= iniSpeed | |
newFOV = currentFOV | |
newFOV -=@ diffNewFOV | |
IF newFOV > currentFOV | |
CAMERA_SET_LERP_FOV newFOV newFOV 1 OFF | |
ELSE | |
CAMERA_SET_LERP_FOV newFOV currentFOV 1 OFF | |
ENDIF | |
//PRINT_FORMATTED_NOW "%.3f" 1000 currentFOV | |
activeLastTime = TRUE | |
ENDIF | |
ELSE | |
IF activeLastTime = TRUE | |
GET_CAMERA_FOV currentFOV | |
CAMERA_SET_LERP_FOV newFOV currentFOV 1 OFF | |
activeLastTime = FALSE | |
ENDIF | |
ENDIF | |
ENDWHILE | |
CONST_INT MODE_NONE 0 | |
CONST_INT MODE_TOPDOWN 1 | |
CONST_INT MODE_GTACLASSIC 2 | |
CONST_INT MODE_BEHINDCAR 3 | |
CONST_INT MODE_FOLLOWPED 4 | |
CONST_INT MODE_AIMING 5 | |
CONST_INT MODE_DEBUG 6 | |
CONST_INT MODE_SNIPER 7 | |
CONST_INT MODE_ROCKETLAUNCHER 8 | |
CONST_INT MODE_MODELVIEW 9 | |
CONST_INT MODE_BILL 10 | |
CONST_INT MODE_SYPHON 11 | |
CONST_INT MODE_CIRCLE 12 | |
CONST_INT MODE_CHEESYZOOM 13 | |
CONST_INT MODE_WHEELCAM 14 | |
CONST_INT MODE_FIXED 15 | |
CONST_INT MODE_1STPERSON 16 | |
CONST_INT MODE_FLYBY 17 | |
CONST_INT MODE_CAM_ON_A_STRING 18 | |
CONST_INT MODE_REACTION 19 | |
CONST_INT MODE_FOLLOW_PED_WITH_BIND 20 | |
CONST_INT MODE_CHRIS 21 | |
CONST_INT MODE_BEHINDBOAT 22 | |
CONST_INT MODE_PLAYER_FALLEN_WATER 23 | |
CONST_INT MODE_CAM_ON_TRAIN_ROOF 24 | |
CONST_INT MODE_CAM_RUNNING_SIDE_TRAIN 25 | |
CONST_INT MODE_BLOOD_ON_THE_TRACKS 26 | |
CONST_INT MODE_IM_THE_PASSENGER_WOOWOO 27 | |
CONST_INT MODE_SYPHON_CRIM_IN_FRONT 28 | |
CONST_INT MODE_PED_DEAD_BABY 29 | |
CONST_INT MODE_PILLOWS_PAPS 30 | |
CONST_INT MODE_LOOK_AT_CARS 31 | |
CONST_INT MODE_ARRESTCAM_ONE 32 | |
CONST_INT MODE_ARRESTCAM_TWO 33 | |
CONST_INT MODE_M16_1STPERSON 34 | |
CONST_INT MODE_SPECIAL_FIXED_FOR_SYPHON 35 | |
CONST_INT MODE_FIGHT_CAM 36 | |
CONST_INT MODE_TOP_DOWN_PED 37 | |
CONST_INT MODE_LIGHTHOUSE 38 | |
CONST_INT MODE_SNIPER_RUNABOUT 39 | |
CONST_INT MODE_ROCKETLAUNCHER_RUNABOUT 40 | |
CONST_INT MODE_1STPERSON_RUNABOUT 41 | |
CONST_INT MODE_M16_1STPERSON_RUNABOUT 42 | |
CONST_INT MODE_FIGHT_CAM_RUNABOUT 43 | |
CONST_INT MODE_EDITOR 44 | |
CONST_INT MODE_HELICANNON_1STPERSON 45 | |
CONST_INT MODE_CAMERA 46 | |
CONST_INT MODE_ATTACHCAM 47 | |
CONST_INT MODE_TWOPLAYER 48 | |
CONST_INT MODE_TWOPLAYER_IN_CAR_AND_SHOOTING 49 | |
CONST_INT MODE_TWOPLAYER_SEPARATE_CARS 50 | |
CONST_INT MODE_ROCKETLAUNCHER_HS 51 | |
CONST_INT MODE_ROCKETLAUNCHER_RUNABOUT_HS 52 | |
CONST_INT MODE_AIMWEAPON 53 | |
CONST_INT MODE_TWOPLAYER_SEPARATE_CARS_TOPDOWN 54 | |
CONST_INT MODE_AIMWEAPON_FROMCAR 55 | |
CONST_INT MODE_DW_HELI_CHASE 56 | |
CONST_INT MODE_DW_CAM_MAN 57 | |
CONST_INT MODE_DW_BIRDY 58 | |
CONST_INT MODE_DW_PLANE_SPOTTER 59 | |
CONST_INT MODE_DW_DOG_FIGHT 60 | |
CONST_INT MODE_DW_FISH 61 | |
CONST_INT MODE_DW_PLANECAM1 62 | |
CONST_INT MODE_DW_PLANECAM2 63 | |
CONST_INT MODE_DW_PLANECAM3 64 | |
CONST_INT MODE_AIMWEAPON_ATTACHED 65 | |
LVAR_INT camMode | |
IsValidCameraMode: | |
READ_MEMORY 0x00B6F1A8 2 FALSE (camMode) | |
IF camMode = MODE_NONE | |
OR camMode = MODE_BEHINDCAR | |
OR camMode = MODE_FOLLOWPED | |
OR camMode = MODE_CAM_ON_A_STRING | |
RETURN_TRUE | |
RETURN | |
ENDIF | |
RETURN_FALSE | |
RETURN | |
} | |
SCRIPT_END |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment