diff --git a/resource/III/CheatMenu/fonts/header.ttf b/resource/III/CheatMenu/fonts/header.ttf new file mode 100644 index 0000000..468cbe0 Binary files /dev/null and b/resource/III/CheatMenu/fonts/header.ttf differ diff --git a/resource/III/CheatMenu/fonts/text.ttf b/resource/III/CheatMenu/fonts/text.ttf new file mode 100644 index 0000000..2c484bd Binary files /dev/null and b/resource/III/CheatMenu/fonts/text.ttf differ diff --git a/resource/III/CheatMenu/fonts/title.ttf b/resource/III/CheatMenu/fonts/title.ttf new file mode 100644 index 0000000..468cbe0 Binary files /dev/null and b/resource/III/CheatMenu/fonts/title.ttf differ diff --git a/resource/SA/CheatMenu/fonts/header.ttf b/resource/SA/CheatMenu/fonts/header.ttf new file mode 100644 index 0000000..468cbe0 Binary files /dev/null and b/resource/SA/CheatMenu/fonts/header.ttf differ diff --git a/resource/SA/CheatMenu/fonts/text.ttf b/resource/SA/CheatMenu/fonts/text.ttf new file mode 100644 index 0000000..2c484bd Binary files /dev/null and b/resource/SA/CheatMenu/fonts/text.ttf differ diff --git a/resource/SA/CheatMenu/fonts/title.ttf b/resource/SA/CheatMenu/fonts/title.ttf new file mode 100644 index 0000000..468cbe0 Binary files /dev/null and b/resource/SA/CheatMenu/fonts/title.ttf differ diff --git a/resource/SA/CheatMenu/peds.txd b/resource/SA/CheatMenu/peds.txd deleted file mode 100644 index e6b36f0..0000000 Binary files a/resource/SA/CheatMenu/peds.txd and /dev/null differ diff --git a/resource/SA/CheatMenu/weapons.txd b/resource/SA/CheatMenu/weapons.txd deleted file mode 100644 index 005f93d..0000000 Binary files a/resource/SA/CheatMenu/weapons.txd and /dev/null differ diff --git a/resource/VC/CheatMenu/fonts/header.ttf b/resource/VC/CheatMenu/fonts/header.ttf new file mode 100644 index 0000000..468cbe0 Binary files /dev/null and b/resource/VC/CheatMenu/fonts/header.ttf differ diff --git a/resource/VC/CheatMenu/fonts/text.ttf b/resource/VC/CheatMenu/fonts/text.ttf new file mode 100644 index 0000000..2c484bd Binary files /dev/null and b/resource/VC/CheatMenu/fonts/text.ttf differ diff --git a/resource/VC/CheatMenu/fonts/title.ttf b/resource/VC/CheatMenu/fonts/title.ttf new file mode 100644 index 0000000..468cbe0 Binary files /dev/null and b/resource/VC/CheatMenu/fonts/title.ttf differ diff --git a/resource/VC/CheatMenu/json/animation.json b/resource/VC/CheatMenu/json/animation.json new file mode 100644 index 0000000..1d19ee6 --- /dev/null +++ b/resource/VC/CheatMenu/json/animation.json @@ -0,0 +1,1982 @@ +{ + "ATTRACTORS": { + "Stepsit_in": "ATTRACTORS", + "Stepsit_loop": "ATTRACTORS", + "Stepsit_out": "ATTRACTORS" + }, + "BAR": { + "BARman_idle": "BAR", + "Barcustom_get": "BAR", + "Barcustom_loop": "BAR", + "Barcustom_order": "BAR", + "Barserve_bottle": "BAR", + "Barserve_give": "BAR", + "Barserve_glass": "BAR", + "Barserve_in": "BAR", + "Barserve_loop": "BAR", + "Barserve_order": "BAR", + "dnk_stndF_loop": "BAR", + "dnk_stndM_loop": "BAR" + }, + "BASEBALL": { + "BAT_PART": "BASEBALL", + "Bat_1": "BASEBALL", + "Bat_2": "BASEBALL", + "Bat_3": "BASEBALL", + "Bat_4": "BASEBALL", + "Bat_Hit_1": "BASEBALL", + "Bat_Hit_2": "BASEBALL", + "Bat_Hit_3": "BASEBALL", + "Bat_IDLE": "BASEBALL", + "Bat_M": "BASEBALL", + "Bat_block": "BASEBALL" + }, + "BD_FIRE": { + "BD_Fire1": "BD_FIRE", + "BD_Fire2": "BD_FIRE", + "BD_Fire3": "BD_FIRE", + "BD_GF_Wave": "BD_FIRE", + "BD_Panic_01": "BD_FIRE", + "BD_Panic_02": "BD_FIRE", + "BD_Panic_03": "BD_FIRE", + "BD_Panic_04": "BD_FIRE", + "BD_Panic_Loop": "BD_FIRE", + "Grlfrd_Kiss_03": "BD_FIRE", + "M_smklean_loop": "BD_FIRE", + "Playa_Kiss_03": "BD_FIRE", + "wash_up": "BD_FIRE" + }, + "BEACH": { + "Lay_Bac_Loop": "BEACH", + "ParkSit_M_loop": "BEACH", + "ParkSit_W_loop": "BEACH", + "SitnWait_loop_W": "BEACH", + "bather": "BEACH" + }, + "BENCHPRESS": { + "gym_bp_celebrate": "BENCHPRESS", + "gym_bp_down": "BENCHPRESS", + "gym_bp_getoff": "BENCHPRESS", + "gym_bp_geton": "BENCHPRESS", + "gym_bp_up_A": "BENCHPRESS", + "gym_bp_up_B": "BENCHPRESS", + "gym_bp_up_smooth": "BENCHPRESS" + }, + "BF_INJECTION": { + "BF_getin_LHS": "BF_INJECTION", + "BF_getin_RHS": "BF_INJECTION", + "BF_getout_LHS": "BF_INJECTION", + "BF_getout_RHS": "BF_INJECTION" + }, + "BIKED": { + "BIKEd_Back": "BIKED", + "BIKEd_Fwd": "BIKED", + "BIKEd_Left": "BIKED", + "BIKEd_Ride": "BIKED", + "BIKEd_Right": "BIKED", + "BIKEd_Still": "BIKED", + "BIKEd_drivebyFT": "BIKED", + "BIKEd_drivebyLHS": "BIKED", + "BIKEd_drivebyRHS": "BIKED", + "BIKEd_getoffBACK": "BIKED", + "BIKEd_getoffLHS": "BIKED", + "BIKEd_getoffRHS": "BIKED", + "BIKEd_hit": "BIKED", + "BIKEd_jumponL": "BIKED", + "BIKEd_jumponR": "BIKED", + "BIKEd_kick": "BIKED", + "BIKEd_passenger": "BIKED", + "BIKEd_pushes": "BIKED", + "BIKEd_shuffle": "BIKED" + }, + "BIKEH": { + "BIKEh_Back": "BIKEH", + "BIKEh_Fwd": "BIKEH", + "BIKEh_Left": "BIKEH", + "BIKEh_Ride": "BIKEH", + "BIKEh_Right": "BIKEH", + "BIKEh_Still": "BIKEH", + "BIKEh_drivebyFT": "BIKEH", + "BIKEh_drivebyLHS": "BIKEH", + "BIKEh_drivebyRHS": "BIKEH", + "BIKEh_getoffBACK": "BIKEH", + "BIKEh_getoffLHS": "BIKEH", + "BIKEh_getoffRHS": "BIKEH", + "BIKEh_hit": "BIKEH", + "BIKEh_jumponL": "BIKEH", + "BIKEh_jumponR": "BIKEH", + "BIKEh_kick": "BIKEH", + "BIKEh_passenger": "BIKEH", + "BIKEh_pushes": "BIKEH" + }, + "BIKELEAP": { + "bk_blnce_in": "BIKELEAP", + "bk_blnce_out": "BIKELEAP", + "bk_jmp": "BIKELEAP", + "bk_rdy_in": "BIKELEAP", + "bk_rdy_out": "BIKELEAP", + "struggle_cesar": "BIKELEAP", + "struggle_driver": "BIKELEAP", + "truck_driver": "BIKELEAP", + "truck_getin": "BIKELEAP" + }, + "BIKES": { + "BIKEs_Back": "BIKES", + "BIKEs_Fwd": "BIKES", + "BIKEs_Left": "BIKES", + "BIKEs_Ride": "BIKES", + "BIKEs_Right": "BIKES", + "BIKEs_Snatch_L": "BIKES", + "BIKEs_Snatch_R": "BIKES", + "BIKEs_Still": "BIKES", + "BIKEs_drivebyFT": "BIKES", + "BIKEs_drivebyLHS": "BIKES", + "BIKEs_drivebyRHS": "BIKES", + "BIKEs_getoffBACK": "BIKES", + "BIKEs_getoffLHS": "BIKES", + "BIKEs_getoffRHS": "BIKES", + "BIKEs_hit": "BIKES", + "BIKEs_jumponL": "BIKES", + "BIKEs_jumponR": "BIKES", + "BIKEs_kick": "BIKES", + "BIKEs_passenger": "BIKES", + "BIKEs_pushes": "BIKES" + }, + "BIKEV": { + "BIKEv_Back": "BIKEV", + "BIKEv_Fwd": "BIKEV", + "BIKEv_Left": "BIKEV", + "BIKEv_Ride": "BIKEV", + "BIKEv_Right": "BIKEV", + "BIKEv_Still": "BIKEV", + "BIKEv_drivebyFT": "BIKEV", + "BIKEv_drivebyLHS": "BIKEV", + "BIKEv_drivebyRHS": "BIKEV", + "BIKEv_getoffBACK": "BIKEV", + "BIKEv_getoffLHS": "BIKEV", + "BIKEv_getoffRHS": "BIKEV", + "BIKEv_hit": "BIKEV", + "BIKEv_jumponL": "BIKEV", + "BIKEv_jumponR": "BIKEV", + "BIKEv_kick": "BIKEV", + "BIKEv_passenger": "BIKEV", + "BIKEv_pushes": "BIKEV" + }, + "BIKE_DBZ": { + "Pass_Driveby_BWD": "BIKE_DBZ", + "Pass_Driveby_FWD": "BIKE_DBZ", + "Pass_Driveby_LHS": "BIKE_DBZ", + "Pass_Driveby_RHS": "BIKE_DBZ" + }, + "BLOWJOBZ": { + "BJ_COUCH_END_P": "BLOWJOBZ", + "BJ_COUCH_END_W": "BLOWJOBZ", + "BJ_COUCH_LOOP_P": "BLOWJOBZ", + "BJ_COUCH_LOOP_W": "BLOWJOBZ", + "BJ_COUCH_START_P": "BLOWJOBZ", + "BJ_COUCH_START_W": "BLOWJOBZ", + "BJ_STAND_END_P": "BLOWJOBZ", + "BJ_STAND_END_W": "BLOWJOBZ", + "BJ_STAND_LOOP_P": "BLOWJOBZ", + "BJ_STAND_LOOP_W": "BLOWJOBZ", + "BJ_STAND_START_P": "BLOWJOBZ", + "BJ_STAND_START_W": "BLOWJOBZ" + }, + "BMX": { + "BMX_Left": "BMX", + "BMX_Ride": "BMX", + "BMX_Right": "BMX", + "BMX_back": "BMX", + "BMX_bunnyhop": "BMX", + "BMX_drivebyFT": "BMX", + "BMX_driveby_LHS": "BMX", + "BMX_driveby_RHS": "BMX", + "BMX_fwd": "BMX", + "BMX_getoffBACK": "BMX", + "BMX_getoffLHS": "BMX", + "BMX_getoffRHS": "BMX", + "BMX_jumponL": "BMX", + "BMX_jumponR": "BMX", + "BMX_pedal": "BMX", + "BMX_pushes": "BMX", + "BMX_sprint": "BMX", + "BMX_still": "BMX" + }, + "BOMBER": { + "BOM_Plant": "BOMBER", + "BOM_Plant_2Idle": "BOMBER", + "BOM_Plant_Crouch_In": "BOMBER", + "BOM_Plant_Crouch_Out": "BOMBER", + "BOM_Plant_In": "BOMBER", + "BOM_Plant_Loop": "BOMBER" + }, + "BOX": { + "boxhipin": "BOX", + "boxhipup": "BOX", + "boxshdwn": "BOX", + "boxshup": "BOX", + "bxhipwlk": "BOX", + "bxhwlki": "BOX", + "bxshwlk": "BOX", + "bxshwlki": "BOX", + "bxwlko": "BOX", + "catch_box": "BOX" + }, + "BSKTBALL": { + "BBALL_Dnk": "BSKTBALL", + "BBALL_Dnk_Gli": "BSKTBALL", + "BBALL_Dnk_Gli_O": "BSKTBALL", + "BBALL_Dnk_Lnch": "BSKTBALL", + "BBALL_Dnk_Lnch_O": "BSKTBALL", + "BBALL_Dnk_Lnd": "BSKTBALL", + "BBALL_Dnk_O": "BSKTBALL", + "BBALL_Jump_Cancel": "BSKTBALL", + "BBALL_Jump_Cancel_O": "BSKTBALL", + "BBALL_Jump_End": "BSKTBALL", + "BBALL_Jump_Shot": "BSKTBALL", + "BBALL_Jump_Shot_O": "BSKTBALL", + "BBALL_Net_Dnk_O": "BSKTBALL", + "BBALL_SkidStop_L": "BSKTBALL", + "BBALL_SkidStop_L_O": "BSKTBALL", + "BBALL_SkidStop_R": "BSKTBALL", + "BBALL_SkidStop_R_O": "BSKTBALL", + "BBALL_WalkStop_L": "BSKTBALL", + "BBALL_WalkStop_L_O": "BSKTBALL", + "BBALL_WalkStop_R": "BSKTBALL", + "BBALL_WalkStop_R_O": "BSKTBALL", + "BBALL_def_jump_shot": "BSKTBALL", + "BBALL_def_loop": "BSKTBALL", + "BBALL_def_stepL": "BSKTBALL", + "BBALL_def_stepR": "BSKTBALL", + "BBALL_idle": "BSKTBALL", + "BBALL_idle2": "BSKTBALL", + "BBALL_idle2_O": "BSKTBALL", + "BBALL_idle_O": "BSKTBALL", + "BBALL_idleloop": "BSKTBALL", + "BBALL_idleloop_O": "BSKTBALL", + "BBALL_pickup": "BSKTBALL", + "BBALL_pickup_O": "BSKTBALL", + "BBALL_react_miss": "BSKTBALL", + "BBALL_react_score": "BSKTBALL", + "BBALL_run": "BSKTBALL", + "BBALL_run_O": "BSKTBALL", + "BBALL_walk": "BSKTBALL", + "BBALL_walk_O": "BSKTBALL", + "BBALL_walk_start": "BSKTBALL", + "BBALL_walk_start_O": "BSKTBALL" + }, + "BUDDY": { + "buddy_crouchfire": "BUDDY", + "buddy_crouchreload": "BUDDY", + "buddy_fire": "BUDDY", + "buddy_fire_poor": "BUDDY", + "buddy_reload": "BUDDY" + }, + "BUS": { + "BUS_close": "BUS", + "BUS_getin_LHS": "BUS", + "BUS_getin_RHS": "BUS", + "BUS_getout_LHS": "BUS", + "BUS_getout_RHS": "BUS", + "BUS_jacked_LHS": "BUS", + "BUS_open": "BUS", + "BUS_open_RHS": "BUS", + "BUS_pullout_LHS": "BUS" + }, + "CAMERA": { + "camcrch_cmon": "CAMERA", + "camcrch_idleloop": "CAMERA", + "camcrch_stay": "CAMERA", + "camcrch_to_camstnd": "CAMERA", + "camstnd_cmon": "CAMERA", + "camstnd_idleloop": "CAMERA", + "camstnd_lkabt": "CAMERA", + "camstnd_to_camcrch": "CAMERA", + "piccrch_in": "CAMERA", + "piccrch_out": "CAMERA", + "piccrch_take": "CAMERA", + "picstnd_in": "CAMERA", + "picstnd_out": "CAMERA", + "picstnd_take": "CAMERA" + }, + "CAR": { + "Fixn_Car_Loop": "CAR", + "Fixn_Car_Out": "CAR", + "Sit_relaxed": "CAR", + "Tap_hand": "CAR", + "Tyd2car_TurnL": "CAR", + "Tyd2car_TurnR": "CAR", + "Tyd2car_bump": "CAR", + "Tyd2car_high": "CAR", + "Tyd2car_low": "CAR", + "Tyd2car_med": "CAR", + "flag_drop": "CAR" + }, + "CARRY": { + "crry_prtial": "CARRY", + "liftup": "CARRY", + "liftup05": "CARRY", + "liftup105": "CARRY", + "putdwn": "CARRY", + "putdwn05": "CARRY", + "putdwn105": "CARRY" + }, + "CAR_CHAT": { + "CAR_Sc1_BL": "CAR_CHAT", + "CAR_Sc1_BR": "CAR_CHAT", + "CAR_Sc1_FL": "CAR_CHAT", + "CAR_Sc1_FR": "CAR_CHAT", + "CAR_Sc2_FL": "CAR_CHAT", + "CAR_Sc3_BR": "CAR_CHAT", + "CAR_Sc3_FL": "CAR_CHAT", + "CAR_Sc3_FR": "CAR_CHAT", + "CAR_Sc4_BL": "CAR_CHAT", + "CAR_Sc4_BR": "CAR_CHAT", + "CAR_Sc4_FL": "CAR_CHAT", + "CAR_Sc4_FR": "CAR_CHAT", + "car_talkm_in": "CAR_CHAT", + "car_talkm_loop": "CAR_CHAT", + "car_talkm_out": "CAR_CHAT", + "carfone_in": "CAR_CHAT", + "carfone_loopA": "CAR_CHAT", + "carfone_loopA_to_B": "CAR_CHAT", + "carfone_loopB": "CAR_CHAT", + "carfone_loopB_to_A": "CAR_CHAT", + "carfone_out": "CAR_CHAT" + }, + "CASINO": { + "Roulette_bet": "CASINO", + "Roulette_in": "CASINO", + "Roulette_loop": "CASINO", + "Roulette_lose": "CASINO", + "Roulette_out": "CASINO", + "Roulette_win": "CASINO", + "Slot_Plyr": "CASINO", + "Slot_bet_01": "CASINO", + "Slot_bet_02": "CASINO", + "Slot_in": "CASINO", + "Slot_lose_out": "CASINO", + "Slot_wait": "CASINO", + "Slot_win_out": "CASINO", + "cards_in": "CASINO", + "cards_loop": "CASINO", + "cards_lose": "CASINO", + "cards_out": "CASINO", + "cards_pick_01": "CASINO", + "cards_pick_02": "CASINO", + "cards_raise": "CASINO", + "cards_win": "CASINO", + "dealone": "CASINO", + "manwinb": "CASINO", + "manwind": "CASINO", + "wof": "CASINO" + }, + "CHAINSAW": { + "CSAW_1": "CHAINSAW", + "CSAW_2": "CHAINSAW", + "CSAW_3": "CHAINSAW", + "CSAW_G": "CHAINSAW", + "CSAW_Hit_1": "CHAINSAW", + "CSAW_Hit_2": "CHAINSAW", + "CSAW_Hit_3": "CHAINSAW", + "IDLE_csaw": "CHAINSAW", + "WEAPON_csaw": "CHAINSAW", + "WEAPON_csawlo": "CHAINSAW", + "csaw_part": "CHAINSAW" + }, + "CHOPPA": { + "CHOPPA_Left": "CHOPPA", + "CHOPPA_Pushes": "CHOPPA", + "CHOPPA_Right": "CHOPPA", + "CHOPPA_Still": "CHOPPA", + "CHOPPA_back": "CHOPPA", + "CHOPPA_bunnyhop": "CHOPPA", + "CHOPPA_drivebyFT": "CHOPPA", + "CHOPPA_driveby_LHS": "CHOPPA", + "CHOPPA_driveby_RHS": "CHOPPA", + "CHOPPA_fwd": "CHOPPA", + "CHOPPA_getoffBACK": "CHOPPA", + "CHOPPA_getoffLHS": "CHOPPA", + "CHOPPA_getoffRHS": "CHOPPA", + "CHOPPA_jumponL": "CHOPPA", + "CHOPPA_jumponR": "CHOPPA", + "CHOPPA_pedal": "CHOPPA", + "CHOPPA_ride": "CHOPPA", + "CHOPPA_sprint": "CHOPPA" + }, + "CLOTHES": { + "CLO_Buy": "CLOTHES", + "CLO_In": "CLOTHES", + "CLO_Out": "CLOTHES", + "CLO_Pose_Hat": "CLOTHES", + "CLO_Pose_In": "CLOTHES", + "CLO_Pose_In_O": "CLOTHES", + "CLO_Pose_Legs": "CLOTHES", + "CLO_Pose_Loop": "CLOTHES", + "CLO_Pose_Out": "CLOTHES", + "CLO_Pose_Out_O": "CLOTHES", + "CLO_Pose_Shoes": "CLOTHES", + "CLO_Pose_Torso": "CLOTHES", + "CLO_Pose_Watch": "CLOTHES" + }, + "COACH": { + "COACH_inL": "COACH", + "COACH_inR": "COACH", + "COACH_opnL": "COACH", + "COACH_opnR": "COACH", + "COACH_outL": "COACH", + "COACH_outR": "COACH" + }, + "COLT45": { + "2guns_crouchfire": "COLT45", + "colt45_crouchfire": "COLT45", + "colt45_crouchreload": "COLT45", + "colt45_fire": "COLT45", + "colt45_fire_2hands": "COLT45", + "colt45_reload": "COLT45", + "sawnoff_reload": "COLT45" + }, + "COP_AMBIENT": { + "Copbrowse_in": "COP_AMBIENT", + "Copbrowse_loop": "COP_AMBIENT", + "Copbrowse_nod": "COP_AMBIENT", + "Copbrowse_out": "COP_AMBIENT", + "Copbrowse_shake": "COP_AMBIENT", + "Coplook_in": "COP_AMBIENT", + "Coplook_loop": "COP_AMBIENT", + "Coplook_nod": "COP_AMBIENT", + "Coplook_out": "COP_AMBIENT", + "Coplook_shake": "COP_AMBIENT", + "Coplook_think": "COP_AMBIENT", + "Coplook_watch": "COP_AMBIENT" + }, + "COP_DVBYZ": { + "COP_Dvby_B": "COP_DVBYZ", + "COP_Dvby_FT": "COP_DVBYZ", + "COP_Dvby_L": "COP_DVBYZ", + "COP_Dvby_R": "COP_DVBYZ" + }, + "CRACK": { + "Bbalbat_Idle_01": "CRACK", + "Bbalbat_Idle_02": "CRACK", + "crckdeth1": "CRACK", + "crckdeth2": "CRACK", + "crckdeth3": "CRACK", + "crckdeth4": "CRACK", + "crckidle1": "CRACK", + "crckidle2": "CRACK", + "crckidle3": "CRACK", + "crckidle4": "CRACK" + }, + "CRIB": { + "CRIB_Console_Loop": "CRIB", + "CRIB_Use_Switch": "CRIB", + "PED_Console_Loop": "CRIB", + "PED_Console_Loose": "CRIB", + "PED_Console_Win": "CRIB" + }, + "Custom": {}, + "DAM_JUMP": { + "DAM_Dive_Loop": "DAM_JUMP", + "DAM_Land": "DAM_JUMP", + "DAM_Launch": "DAM_JUMP", + "Jump_Roll": "DAM_JUMP", + "SF_JumpWall": "DAM_JUMP" + }, + "DANCING": { + "DAN_Down_A": "DANCING", + "DAN_Left_A": "DANCING", + "DAN_Loop_A": "DANCING", + "DAN_Right_A": "DANCING", + "DAN_Up_A": "DANCING", + "bd_clap": "DANCING", + "bd_clap1": "DANCING", + "dance_loop": "DANCING", + "dnce_M_a": "DANCING", + "dnce_M_b": "DANCING", + "dnce_M_c": "DANCING", + "dnce_M_d": "DANCING", + "dnce_M_e": "DANCING" + }, + "DEALER": { + "DEALER_DEAL": "DEALER", + "DEALER_IDLE": "DEALER", + "DEALER_IDLE_01": "DEALER", + "DEALER_IDLE_02": "DEALER", + "DEALER_IDLE_03": "DEALER", + "DRUGS_BUY": "DEALER", + "shop_pay": "DEALER" + }, + "DILDO": { + "DILDO_1": "DILDO", + "DILDO_2": "DILDO", + "DILDO_3": "DILDO", + "DILDO_G": "DILDO", + "DILDO_Hit_1": "DILDO", + "DILDO_Hit_2": "DILDO", + "DILDO_Hit_3": "DILDO", + "DILDO_IDLE": "DILDO", + "DILDO_block": "DILDO" + }, + "DODGE": { + "Cover_Dive_01": "DODGE", + "Cover_Dive_02": "DODGE", + "Crush_Jump": "DODGE", + "Crushed": "DODGE" + }, + "DOZER": { + "DOZER_Align_LHS": "DOZER", + "DOZER_Align_RHS": "DOZER", + "DOZER_Jacked_LHS": "DOZER", + "DOZER_Jacked_RHS": "DOZER", + "DOZER_getin_LHS": "DOZER", + "DOZER_getin_RHS": "DOZER", + "DOZER_getout_LHS": "DOZER", + "DOZER_getout_RHS": "DOZER", + "DOZER_pullout_LHS": "DOZER", + "DOZER_pullout_RHS": "DOZER" + }, + "DRIVEBYS": { + "Gang_DrivebyLHS": "DRIVEBYS", + "Gang_DrivebyLHS_Bwd": "DRIVEBYS", + "Gang_DrivebyLHS_Fwd": "DRIVEBYS", + "Gang_DrivebyRHS": "DRIVEBYS", + "Gang_DrivebyRHS_Bwd": "DRIVEBYS", + "Gang_DrivebyRHS_Fwd": "DRIVEBYS", + "Gang_DrivebyTop_LHS": "DRIVEBYS", + "Gang_DrivebyTop_RHS": "DRIVEBYS" + }, + "FAT": { + "FatIdle": "FAT", + "FatIdle_Csaw": "FAT", + "FatIdle_Rocket": "FAT", + "FatIdle_armed": "FAT", + "FatRun": "FAT", + "FatRun_Csaw": "FAT", + "FatRun_Rocket": "FAT", + "FatRun_armed": "FAT", + "FatSprint": "FAT", + "FatWalk": "FAT", + "FatWalkSt_Rocket": "FAT", + "FatWalkSt_armed": "FAT", + "FatWalk_Csaw": "FAT", + "FatWalk_Rocket": "FAT", + "FatWalk_armed": "FAT", + "FatWalkstart": "FAT", + "FatWalkstart_Csaw": "FAT", + "IDLE_tired": "FAT" + }, + "FIGHT_B": { + "FightB_1": "FIGHT_B", + "FightB_2": "FIGHT_B", + "FightB_3": "FIGHT_B", + "FightB_G": "FIGHT_B", + "FightB_IDLE": "FIGHT_B", + "FightB_M": "FIGHT_B", + "FightB_block": "FIGHT_B", + "HitB_1": "FIGHT_B", + "HitB_2": "FIGHT_B", + "HitB_3": "FIGHT_B" + }, + "FIGHT_C": { + "FightC_1": "FIGHT_C", + "FightC_2": "FIGHT_C", + "FightC_3": "FIGHT_C", + "FightC_G": "FIGHT_C", + "FightC_IDLE": "FIGHT_C", + "FightC_M": "FIGHT_C", + "FightC_Spar": "FIGHT_C", + "FightC_block": "FIGHT_C", + "FightC_blocking": "FIGHT_C", + "HitC_1": "FIGHT_C", + "HitC_2": "FIGHT_C", + "HitC_3": "FIGHT_C" + }, + "FIGHT_D": { + "FightD_1": "FIGHT_D", + "FightD_2": "FIGHT_D", + "FightD_3": "FIGHT_D", + "FightD_G": "FIGHT_D", + "FightD_IDLE": "FIGHT_D", + "FightD_M": "FIGHT_D", + "FightD_block": "FIGHT_D", + "HitD_1": "FIGHT_D", + "HitD_2": "FIGHT_D", + "HitD_3": "FIGHT_D" + }, + "FIGHT_E": { + "FightKick": "FIGHT_E", + "FightKick_B": "FIGHT_E", + "Hit_fightkick": "FIGHT_E", + "Hit_fightkick_B": "FIGHT_E" + }, + "FINALE": { + "FIN_Climb_In": "FINALE", + "FIN_Cop1_ClimbOut2": "FINALE", + "FIN_Cop1_Loop": "FINALE", + "FIN_Cop1_Stomp": "FINALE", + "FIN_Hang_L": "FINALE", + "FIN_Hang_Loop": "FINALE", + "FIN_Hang_R": "FINALE", + "FIN_Hang_Slip": "FINALE", + "FIN_Jump_On": "FINALE", + "FIN_Land_Car": "FINALE", + "FIN_Land_Die": "FINALE", + "FIN_LegsUp": "FINALE", + "FIN_LegsUp_L": "FINALE", + "FIN_LegsUp_Loop": "FINALE", + "FIN_LegsUp_R": "FINALE", + "FIN_Let_Go": "FINALE" + }, + "FINALE2": { + "FIN_Cop1_ClimbOut": "FINALE2", + "FIN_Cop1_Fall": "FINALE2", + "FIN_Cop1_Loop": "FINALE2", + "FIN_Cop1_Shot": "FINALE2", + "FIN_Cop1_Swing": "FINALE2", + "FIN_Cop2_ClimbOut": "FINALE2", + "FIN_Switch_P": "FINALE2", + "FIN_Switch_S": "FINALE2" + }, + "FLAME": { + "FLAME_fire": "FLAME" + }, + "FOOD": { + "EAT_Burger": "FOOD", + "EAT_Chicken": "FOOD", + "EAT_Pizza": "FOOD", + "EAT_Vomit_P": "FOOD", + "EAT_Vomit_SK": "FOOD", + "FF_Dam_Bkw": "FOOD", + "FF_Dam_Fwd": "FOOD", + "FF_Dam_Left": "FOOD", + "FF_Dam_Right": "FOOD", + "FF_Die_Bkw": "FOOD", + "FF_Die_Fwd": "FOOD", + "FF_Die_Left": "FOOD", + "FF_Die_Right": "FOOD", + "FF_Sit_Eat1": "FOOD", + "FF_Sit_Eat2": "FOOD", + "FF_Sit_Eat3": "FOOD", + "FF_Sit_In": "FOOD", + "FF_Sit_In_L": "FOOD", + "FF_Sit_In_R": "FOOD", + "FF_Sit_Look": "FOOD", + "FF_Sit_Loop": "FOOD", + "FF_Sit_Out_180": "FOOD", + "FF_Sit_Out_L_180": "FOOD", + "FF_Sit_Out_R_180": "FOOD", + "SHP_Thank": "FOOD", + "SHP_Tray_In": "FOOD", + "SHP_Tray_Lift": "FOOD", + "SHP_Tray_Lift_In": "FOOD", + "SHP_Tray_Lift_Loop": "FOOD", + "SHP_Tray_Lift_Out": "FOOD", + "SHP_Tray_Out": "FOOD", + "SHP_Tray_Pose": "FOOD", + "SHP_Tray_Return": "FOOD" + }, + "FREEWEIGHTS": { + "gym_barbell": "FREEWEIGHTS", + "gym_free_A": "FREEWEIGHTS", + "gym_free_B": "FREEWEIGHTS", + "gym_free_celebrate": "FREEWEIGHTS", + "gym_free_down": "FREEWEIGHTS", + "gym_free_loop": "FREEWEIGHTS", + "gym_free_pickup": "FREEWEIGHTS", + "gym_free_putdown": "FREEWEIGHTS", + "gym_free_up_smooth": "FREEWEIGHTS" + }, + "Flowers": { + "Flower_Hit": "Flowers", + "Flower_attack": "Flowers", + "Flower_attack_M": "Flowers" + }, + "GANGS": { + "DEALER_DEAL": "GANGS", + "DEALER_IDLE": "GANGS", + "DRUGS_BUY": "GANGS", + "Invite_No": "GANGS", + "Invite_Yes": "GANGS", + "drnkbr_prtl": "GANGS", + "drnkbr_prtl_F": "GANGS", + "hndshkaa": "GANGS", + "hndshkba": "GANGS", + "hndshkca": "GANGS", + "hndshkcb": "GANGS", + "hndshkda": "GANGS", + "hndshkea": "GANGS", + "hndshkfa": "GANGS", + "hndshkfa_swt": "GANGS", + "leanIDLE": "GANGS", + "leanIN": "GANGS", + "leanOUT": "GANGS", + "prtial_gngtlkA": "GANGS", + "prtial_gngtlkB": "GANGS", + "prtial_gngtlkC": "GANGS", + "prtial_gngtlkD": "GANGS", + "prtial_gngtlkE": "GANGS", + "prtial_gngtlkF": "GANGS", + "prtial_gngtlkG": "GANGS", + "prtial_gngtlkH": "GANGS", + "prtial_hndshk_01": "GANGS", + "prtial_hndshk_biz_01": "GANGS", + "shake_carK": "GANGS", + "shake_carSH": "GANGS", + "shake_cara": "GANGS", + "smkcig_prtl": "GANGS", + "smkcig_prtl_F": "GANGS" + }, + "GHANDS": { + "LHGsign1": "GHANDS", + "LHGsign2": "GHANDS", + "LHGsign3": "GHANDS", + "LHGsign4": "GHANDS", + "LHGsign5": "GHANDS", + "RHGsign1": "GHANDS", + "RHGsign2": "GHANDS", + "RHGsign3": "GHANDS", + "RHGsign4": "GHANDS", + "RHGsign5": "GHANDS", + "gsign1": "GHANDS", + "gsign1LH": "GHANDS", + "gsign2": "GHANDS", + "gsign2LH": "GHANDS", + "gsign3": "GHANDS", + "gsign3LH": "GHANDS", + "gsign4": "GHANDS", + "gsign4LH": "GHANDS", + "gsign5": "GHANDS", + "gsign5LH": "GHANDS" + }, + "GHETTO_DB": { + "GDB_Car2_PLY": "GHETTO_DB", + "GDB_Car2_SMO": "GHETTO_DB", + "GDB_Car2_SWE": "GHETTO_DB", + "GDB_Car_PLY": "GHETTO_DB", + "GDB_Car_RYD": "GHETTO_DB", + "GDB_Car_SMO": "GHETTO_DB", + "GDB_Car_SWE": "GHETTO_DB" + }, + "GOGGLES": { + "goggles_put_on": "GOGGLES" + }, + "GRAFFITI": { + "graffiti_Chkout": "GRAFFITI", + "spraycan_fire": "GRAFFITI" + }, + "GRAVEYARD": { + "mrnF_loop": "GRAVEYARD", + "mrnM_loop": "GRAVEYARD", + "prst_loopa": "GRAVEYARD" + }, + "GRENADE": { + "WEAPON_start_throw": "GRENADE", + "WEAPON_throw": "GRENADE", + "WEAPON_throwu": "GRENADE" + }, + "GYMNASIUM": { + "GYMshadowbox": "GYMNASIUM", + "Pedals_fast": "GYMNASIUM", + "Pedals_med": "GYMNASIUM", + "Pedals_slow": "GYMNASIUM", + "Pedals_still": "GYMNASIUM", + "gym_bike_celebrate": "GYMNASIUM", + "gym_bike_fast": "GYMNASIUM", + "gym_bike_faster": "GYMNASIUM", + "gym_bike_getoff": "GYMNASIUM", + "gym_bike_geton": "GYMNASIUM", + "gym_bike_pedal": "GYMNASIUM", + "gym_bike_slow": "GYMNASIUM", + "gym_bike_still": "GYMNASIUM", + "gym_jog_falloff": "GYMNASIUM", + "gym_shadowbox": "GYMNASIUM", + "gym_tread_celebrate": "GYMNASIUM", + "gym_tread_falloff": "GYMNASIUM", + "gym_tread_getoff": "GYMNASIUM", + "gym_tread_geton": "GYMNASIUM", + "gym_tread_jog": "GYMNASIUM", + "gym_tread_sprint": "GYMNASIUM", + "gym_tread_tired": "GYMNASIUM", + "gym_tread_walk": "GYMNASIUM", + "gym_walk_falloff": "GYMNASIUM" + }, + "HAIRCUTS": { + "BRB_Beard_01": "HAIRCUTS", + "BRB_Buy": "HAIRCUTS", + "BRB_Cut": "HAIRCUTS", + "BRB_Cut_In": "HAIRCUTS", + "BRB_Cut_Out": "HAIRCUTS", + "BRB_Hair_01": "HAIRCUTS", + "BRB_Hair_02": "HAIRCUTS", + "BRB_In": "HAIRCUTS", + "BRB_Loop": "HAIRCUTS", + "BRB_Out": "HAIRCUTS", + "BRB_Sit_In": "HAIRCUTS", + "BRB_Sit_Loop": "HAIRCUTS", + "BRB_Sit_Out": "HAIRCUTS" + }, + "HEIST9": { + "CAS_G2_GasKO": "HEIST9", + "Use_SwipeCard": "HEIST9", + "swt_wllpk_L": "HEIST9", + "swt_wllpk_L_back": "HEIST9", + "swt_wllpk_R": "HEIST9", + "swt_wllpk_R_back": "HEIST9", + "swt_wllshoot_in_L": "HEIST9", + "swt_wllshoot_in_R": "HEIST9", + "swt_wllshoot_out_L": "HEIST9", + "swt_wllshoot_out_R": "HEIST9" + }, + "INT_HOUSE": { + "BED_In_L": "INT_HOUSE", + "BED_In_R": "INT_HOUSE", + "BED_Loop_L": "INT_HOUSE", + "BED_Loop_R": "INT_HOUSE", + "BED_Out_L": "INT_HOUSE", + "BED_Out_R": "INT_HOUSE", + "LOU_In": "INT_HOUSE", + "LOU_Loop": "INT_HOUSE", + "LOU_Out": "INT_HOUSE", + "wash_up": "INT_HOUSE" + }, + "INT_OFFICE": { + "FF_Dam_Fwd": "INT_OFFICE", + "OFF_Sit_2Idle_180": "INT_OFFICE", + "OFF_Sit_Bored_Loop": "INT_OFFICE", + "OFF_Sit_Crash": "INT_OFFICE", + "OFF_Sit_Drink": "INT_OFFICE", + "OFF_Sit_Idle_Loop": "INT_OFFICE", + "OFF_Sit_In": "INT_OFFICE", + "OFF_Sit_Read": "INT_OFFICE", + "OFF_Sit_Type_Loop": "INT_OFFICE", + "OFF_Sit_Watch": "INT_OFFICE" + }, + "INT_SHOP": { + "shop_cashier": "INT_SHOP", + "shop_in": "INT_SHOP", + "shop_lookA": "INT_SHOP", + "shop_lookB": "INT_SHOP", + "shop_loop": "INT_SHOP", + "shop_out": "INT_SHOP", + "shop_pay": "INT_SHOP", + "shop_shelf": "INT_SHOP" + }, + "JST_BUISNESS": { + "girl_01": "JST_BUISNESS", + "girl_02": "JST_BUISNESS", + "player_01": "JST_BUISNESS", + "smoke_01": "JST_BUISNESS" + }, + "KART": { + "KART_getin_LHS": "KART", + "KART_getin_RHS": "KART", + "KART_getout_LHS": "KART", + "KART_getout_RHS": "KART" + }, + "KISSING": { + "BD_GF_Wave": "KISSING", + "GF_CarArgue_01": "KISSING", + "GF_CarArgue_02": "KISSING", + "GF_CarSpot": "KISSING", + "GF_StreetArgue_01": "KISSING", + "GF_StreetArgue_02": "KISSING", + "Grlfrd_Kiss_01": "KISSING", + "Grlfrd_Kiss_02": "KISSING", + "Grlfrd_Kiss_03": "KISSING", + "Playa_Kiss_01": "KISSING", + "Playa_Kiss_02": "KISSING", + "Playa_Kiss_03": "KISSING", + "gfwave2": "KISSING", + "gift_get": "KISSING", + "gift_give": "KISSING" + }, + "KNIFE": { + "KILL_Knife_Ped_Damage": "KNIFE", + "KILL_Knife_Ped_Die": "KNIFE", + "KILL_Knife_Player": "KNIFE", + "KILL_Partial": "KNIFE", + "Knife_4": "KNIFE", + "Knife_G": "KNIFE", + "WEAPON_knifeidle": "KNIFE", + "knife_1": "KNIFE", + "knife_2": "KNIFE", + "knife_3": "KNIFE", + "knife_IDLE": "KNIFE", + "knife_block": "KNIFE", + "knife_hit_1": "KNIFE", + "knife_hit_2": "KNIFE", + "knife_hit_3": "KNIFE", + "knife_part": "KNIFE" + }, + "LAPDAN1": { + "LAPDAN_D": "LAPDAN1", + "LAPDAN_P": "LAPDAN1" + }, + "LAPDAN2": { + "LAPDAN_D": "LAPDAN2", + "LAPDAN_P": "LAPDAN2" + }, + "LAPDAN3": { + "LAPDAN_D": "LAPDAN3", + "LAPDAN_P": "LAPDAN3" + }, + "LOWRIDER": { + "F_smklean_loop": "LOWRIDER", + "M_smklean_loop": "LOWRIDER", + "M_smkstnd_loop": "LOWRIDER", + "RAP_A_Loop": "LOWRIDER", + "RAP_B_Loop": "LOWRIDER", + "RAP_C_Loop": "LOWRIDER", + "Sit_relaxed": "LOWRIDER", + "Tap_hand": "LOWRIDER", + "lrgirl_bdbnce": "LOWRIDER", + "lrgirl_hair": "LOWRIDER", + "lrgirl_hurry": "LOWRIDER", + "lrgirl_idle_to_l0": "LOWRIDER", + "lrgirl_idleloop": "LOWRIDER", + "lrgirl_l0_bnce": "LOWRIDER", + "lrgirl_l0_loop": "LOWRIDER", + "lrgirl_l0_to_l1": "LOWRIDER", + "lrgirl_l12_to_l0": "LOWRIDER", + "lrgirl_l1_bnce": "LOWRIDER", + "lrgirl_l1_loop": "LOWRIDER", + "lrgirl_l1_to_l2": "LOWRIDER", + "lrgirl_l2_bnce": "LOWRIDER", + "lrgirl_l2_loop": "LOWRIDER", + "lrgirl_l2_to_l3": "LOWRIDER", + "lrgirl_l345_to_l1": "LOWRIDER", + "lrgirl_l3_bnce": "LOWRIDER", + "lrgirl_l3_loop": "LOWRIDER", + "lrgirl_l3_to_l4": "LOWRIDER", + "lrgirl_l4_bnce": "LOWRIDER", + "lrgirl_l4_loop": "LOWRIDER", + "lrgirl_l4_to_l5": "LOWRIDER", + "lrgirl_l5_bnce": "LOWRIDER", + "lrgirl_l5_loop": "LOWRIDER", + "prtial_gngtlkB": "LOWRIDER", + "prtial_gngtlkC": "LOWRIDER", + "prtial_gngtlkD": "LOWRIDER", + "prtial_gngtlkE": "LOWRIDER", + "prtial_gngtlkF": "LOWRIDER", + "prtial_gngtlkG": "LOWRIDER", + "prtial_gngtlkH": "LOWRIDER" + }, + "MD_CHASE": { + "Carhit_Hangon": "MD_CHASE", + "Carhit_Tumble": "MD_CHASE", + "Fen_Choppa_L1": "MD_CHASE", + "Fen_Choppa_L2": "MD_CHASE", + "Fen_Choppa_L3": "MD_CHASE", + "Fen_Choppa_R1": "MD_CHASE", + "Fen_Choppa_R2": "MD_CHASE", + "Fen_Choppa_R3": "MD_CHASE", + "Hangon_Stun_Turn": "MD_CHASE", + "Hangon_Stun_loop": "MD_CHASE", + "MD_BIKE_2_HANG": "MD_CHASE", + "MD_BIKE_Jmp_BL": "MD_CHASE", + "MD_BIKE_Jmp_F": "MD_CHASE", + "MD_BIKE_Lnd_BL": "MD_CHASE", + "MD_BIKE_Lnd_Die_BL": "MD_CHASE", + "MD_BIKE_Lnd_Die_F": "MD_CHASE", + "MD_BIKE_Lnd_F": "MD_CHASE", + "MD_BIKE_Lnd_Roll": "MD_CHASE", + "MD_BIKE_Lnd_Roll_F": "MD_CHASE", + "MD_BIKE_Punch": "MD_CHASE", + "MD_BIKE_Punch_F": "MD_CHASE", + "MD_BIKE_Shot_F": "MD_CHASE", + "MD_HANG_Lnd_Roll": "MD_CHASE", + "MD_HANG_Loop": "MD_CHASE", + "donutdrop": "MD_CHASE" + }, + "MD_END": { + "END_SC1_PLY": "MD_END", + "END_SC1_RYD": "MD_END", + "END_SC1_SMO": "MD_END", + "END_SC1_SWE": "MD_END", + "END_SC2_PLY": "MD_END", + "END_SC2_RYD": "MD_END", + "END_SC2_SMO": "MD_END", + "END_SC2_SWE": "MD_END" + }, + "MEDIC": { + "CPR": "MEDIC" + }, + "MISC": { + "BMX_celebrate": "MISC", + "BMX_comeon": "MISC", + "Case_pickup": "MISC", + "GRAB_L": "MISC", + "GRAB_R": "MISC", + "Hiker_Pose": "MISC", + "Hiker_Pose_L": "MISC", + "Idle_Chat_02": "MISC", + "KAT_Throw_K": "MISC", + "KAT_Throw_O": "MISC", + "KAT_Throw_P": "MISC", + "PASS_Rifle_O": "MISC", + "PASS_Rifle_Ped": "MISC", + "PASS_Rifle_Ply": "MISC", + "Plane_door": "MISC", + "Plane_exit": "MISC", + "Plane_hijack": "MISC", + "Plunger_01": "MISC", + "Plyrlean_loop": "MISC", + "Run_Dive": "MISC", + "SEAT_LR": "MISC", + "SEAT_watch": "MISC", + "Scratchballs_01": "MISC", + "Seat_talk_01": "MISC", + "Seat_talk_02": "MISC", + "bitchslap": "MISC", + "bmx_idleloop_01": "MISC", + "bmx_idleloop_02": "MISC", + "bmx_talkleft_in": "MISC", + "bmx_talkleft_loop": "MISC", + "bmx_talkleft_out": "MISC", + "bmx_talkright_in": "MISC", + "bmx_talkright_loop": "MISC", + "bmx_talkright_out": "MISC", + "bng_wndw": "MISC", + "bng_wndw_02": "MISC", + "door_jet": "MISC", + "pickup_box": "MISC", + "plyr_shkhead": "MISC", + "smalplane_door": "MISC", + "smlplane_door": "MISC" + }, + "MTB": { + "MTB_Left": "MTB", + "MTB_Ride": "MTB", + "MTB_Right": "MTB", + "MTB_back": "MTB", + "MTB_bunnyhop": "MTB", + "MTB_drivebyFT": "MTB", + "MTB_driveby_LHS": "MTB", + "MTB_driveby_RHS": "MTB", + "MTB_fwd": "MTB", + "MTB_getoffBACK": "MTB", + "MTB_getoffLHS": "MTB", + "MTB_getoffRHS": "MTB", + "MTB_jumponL": "MTB", + "MTB_jumponR": "MTB", + "MTB_pedal": "MTB", + "MTB_pushes": "MTB", + "MTB_sprint": "MTB", + "MTB_still": "MTB" + }, + "MUSCULAR": { + "MscleWalkst_Csaw": "MUSCULAR", + "MscleWalkst_armed": "MUSCULAR", + "Mscle_rckt_run": "MUSCULAR", + "Mscle_rckt_walkst": "MUSCULAR", + "Mscle_run_Csaw": "MUSCULAR", + "MuscleIdle": "MUSCULAR", + "MuscleIdle_Csaw": "MUSCULAR", + "MuscleIdle_armed": "MUSCULAR", + "MuscleIdle_rocket": "MUSCULAR", + "MuscleRun": "MUSCULAR", + "MuscleRun_armed": "MUSCULAR", + "MuscleSprint": "MUSCULAR", + "MuscleWalk": "MUSCULAR", + "MuscleWalk_armed": "MUSCULAR", + "MuscleWalkstart": "MUSCULAR", + "Musclewalk_Csaw": "MUSCULAR", + "Musclewalk_rocket": "MUSCULAR" + }, + "NEVADA": { + "NEVADA_getin": "NEVADA", + "NEVADA_getout": "NEVADA" + }, + "ON_LOOKERS": { + "Pointup_in": "ON_LOOKERS", + "Pointup_loop": "ON_LOOKERS", + "Pointup_out": "ON_LOOKERS", + "Pointup_shout": "ON_LOOKERS", + "lkaround_in": "ON_LOOKERS", + "lkaround_loop": "ON_LOOKERS", + "lkaround_out": "ON_LOOKERS", + "lkup_in": "ON_LOOKERS", + "lkup_loop": "ON_LOOKERS", + "lkup_out": "ON_LOOKERS", + "lkup_point": "ON_LOOKERS", + "panic_cower": "ON_LOOKERS", + "panic_hide": "ON_LOOKERS", + "panic_in": "ON_LOOKERS", + "panic_loop": "ON_LOOKERS", + "panic_out": "ON_LOOKERS", + "panic_point": "ON_LOOKERS", + "panic_shout": "ON_LOOKERS", + "point_in": "ON_LOOKERS", + "point_loop": "ON_LOOKERS", + "point_out": "ON_LOOKERS", + "shout_01": "ON_LOOKERS", + "shout_02": "ON_LOOKERS", + "shout_in": "ON_LOOKERS", + "shout_loop": "ON_LOOKERS", + "shout_out": "ON_LOOKERS", + "wave_in": "ON_LOOKERS", + "wave_loop": "ON_LOOKERS", + "wave_out": "ON_LOOKERS" + }, + "OTB": { + "betslp_in": "OTB", + "betslp_lkabt": "OTB", + "betslp_loop": "OTB", + "betslp_out": "OTB", + "betslp_tnk": "OTB", + "wtchrace_cmon": "OTB", + "wtchrace_in": "OTB", + "wtchrace_loop": "OTB", + "wtchrace_lose": "OTB", + "wtchrace_out": "OTB", + "wtchrace_win": "OTB" + }, + "PARACHUTE": { + "FALL_SkyDive_Accel": "PARACHUTE", + "FALL_SkyDive_L": "PARACHUTE", + "FALL_SkyDive_R": "PARACHUTE", + "FALL_skyDive": "PARACHUTE", + "FALL_skyDive_DIE": "PARACHUTE", + "PARA_Land": "PARACHUTE", + "PARA_Land_O": "PARACHUTE", + "PARA_Land_Water": "PARACHUTE", + "PARA_Land_Water_O": "PARACHUTE", + "PARA_Rip_Land_O": "PARACHUTE", + "PARA_Rip_Loop_O": "PARACHUTE", + "PARA_Rip_O": "PARACHUTE", + "PARA_decel": "PARACHUTE", + "PARA_decel_O": "PARACHUTE", + "PARA_float": "PARACHUTE", + "PARA_float_O": "PARACHUTE", + "PARA_open": "PARACHUTE", + "PARA_open_O": "PARACHUTE", + "PARA_steerL": "PARACHUTE", + "PARA_steerL_O": "PARACHUTE", + "PARA_steerR": "PARACHUTE", + "PARA_steerR_O": "PARACHUTE" + }, + "PARK": { + "Tai_Chi_Loop": "PARK", + "Tai_Chi_Out": "PARK", + "Tai_Chi_in": "PARK" + }, + "PAULNMAC": { + "Piss_in": "PAULNMAC", + "Piss_loop": "PAULNMAC", + "Piss_out": "PAULNMAC", + "PnM_Argue1_A": "PAULNMAC", + "PnM_Argue1_B": "PAULNMAC", + "PnM_Argue2_A": "PAULNMAC", + "PnM_Argue2_B": "PAULNMAC", + "PnM_Loop_A": "PAULNMAC", + "PnM_Loop_B": "PAULNMAC", + "wank_in": "PAULNMAC", + "wank_loop": "PAULNMAC", + "wank_out": "PAULNMAC" + }, + "PED": { + "ARRESTgun": "PED", + "ATM": "PED", + "BIKE_elbowL": "PED", + "BIKE_elbowR": "PED", + "BIKE_fallR": "PED", + "BIKE_fall_off": "PED", + "BIKE_pickupL": "PED", + "BIKE_pickupR": "PED", + "BIKE_pullupL": "PED", + "BIKE_pullupR": "PED", + "CAR_LB": "PED", + "CAR_LB_pro": "PED", + "CAR_LB_weak": "PED", + "CAR_LjackedLHS": "PED", + "CAR_LjackedRHS": "PED", + "CAR_Lshuffle_RHS": "PED", + "CAR_Lsit": "PED", + "CAR_Qjacked": "PED", + "CAR_alignHI_LHS": "PED", + "CAR_alignHI_RHS": "PED", + "CAR_align_LHS": "PED", + "CAR_align_RHS": "PED", + "CAR_close_LHS": "PED", + "CAR_close_RHS": "PED", + "CAR_closedoorL_LHS": "PED", + "CAR_closedoorL_RHS": "PED", + "CAR_closedoor_LHS": "PED", + "CAR_closedoor_RHS": "PED", + "CAR_crawloutRHS": "PED", + "CAR_dead_LHS": "PED", + "CAR_dead_RHS": "PED", + "CAR_doorlocked_LHS": "PED", + "CAR_doorlocked_RHS": "PED", + "CAR_fallout_LHS": "PED", + "CAR_fallout_RHS": "PED", + "CAR_getinL_LHS": "PED", + "CAR_getinL_RHS": "PED", + "CAR_getin_LHS": "PED", + "CAR_getin_RHS": "PED", + "CAR_getoutL_LHS": "PED", + "CAR_getoutL_RHS": "PED", + "CAR_getout_LHS": "PED", + "CAR_getout_RHS": "PED", + "CAR_jackedLHS": "PED", + "CAR_jackedRHS": "PED", + "CAR_jumpin_LHS": "PED", + "CAR_open_LHS": "PED", + "CAR_open_RHS": "PED", + "CAR_pulloutL_LHS": "PED", + "CAR_pulloutL_RHS": "PED", + "CAR_pullout_LHS": "PED", + "CAR_pullout_RHS": "PED", + "CAR_rolldoor": "PED", + "CAR_rolldoorLO": "PED", + "CAR_rollout_LHS": "PED", + "CAR_rollout_RHS": "PED", + "CAR_shuffle_RHS": "PED", + "CAR_sit": "PED", + "CAR_sit_pro": "PED", + "CAR_sit_weak": "PED", + "CAR_sitp": "PED", + "CAR_sitpLO": "PED", + "CAR_tune_radio": "PED", + "CLIMB_Pull": "PED", + "CLIMB_Stand": "PED", + "CLIMB_Stand_finish": "PED", + "CLIMB_idle": "PED", + "CLIMB_jump": "PED", + "CLIMB_jump2fall": "PED", + "CLIMB_jump_B": "PED", + "Crouch_Roll_L": "PED", + "Crouch_Roll_R": "PED", + "DAM_LegL_frmBK": "PED", + "DAM_LegL_frmFT": "PED", + "DAM_LegL_frmLT": "PED", + "DAM_LegR_frmBK": "PED", + "DAM_LegR_frmFT": "PED", + "DAM_LegR_frmRT": "PED", + "DAM_armL_frmBK": "PED", + "DAM_armL_frmFT": "PED", + "DAM_armL_frmLT": "PED", + "DAM_armR_frmBK": "PED", + "DAM_armR_frmFT": "PED", + "DAM_armR_frmRT": "PED", + "DAM_stomach_frmBK": "PED", + "DAM_stomach_frmFT": "PED", + "DAM_stomach_frmLT": "PED", + "DAM_stomach_frmRT": "PED", + "DOOR_LHinge_O": "PED", + "DOOR_RHinge_O": "PED", + "DRIVE_BOAT": "PED", + "DRIVE_BOAT_L": "PED", + "DRIVE_BOAT_R": "PED", + "DRIVE_BOAT_back": "PED", + "DRIVE_truck_L": "PED", + "DRIVE_truck_R": "PED", + "DRIVE_truck_back": "PED", + "DUCK_cower": "PED", + "Drive_L": "PED", + "Drive_LO_R": "PED", + "Drive_LO_l": "PED", + "Drive_L_pro": "PED", + "Drive_L_pro_slow": "PED", + "Drive_L_slow": "PED", + "Drive_L_weak": "PED", + "Drive_L_weak_slow": "PED", + "Drive_R": "PED", + "Drive_R_pro": "PED", + "Drive_R_pro_slow": "PED", + "Drive_R_slow": "PED", + "Drive_R_weak": "PED", + "Drive_R_weak_slow": "PED", + "Drive_truck": "PED", + "DrivebyL_L": "PED", + "DrivebyL_R": "PED", + "Driveby_L": "PED", + "Driveby_R": "PED", + "Drown": "PED", + "EV_dive": "PED", + "EV_step": "PED", + "FALL_back": "PED", + "FALL_collapse": "PED", + "FALL_fall": "PED", + "FALL_front": "PED", + "FALL_glide": "PED", + "FALL_land": "PED", + "FALL_skyDive": "PED", + "FIGHTIDLE": "PED", + "FLOOR_hit": "PED", + "FLOOR_hit_f": "PED", + "Fight2Idle": "PED", + "FightA_1": "PED", + "FightA_2": "PED", + "FightA_3": "PED", + "FightA_G": "PED", + "FightA_M": "PED", + "FightA_block": "PED", + "FightShB": "PED", + "FightShF": "PED", + "FightSh_BWD": "PED", + "FightSh_FWD": "PED", + "FightSh_Left": "PED", + "FightSh_Right": "PED", + "GUN_BUTT": "PED", + "GUN_BUTT_crouch": "PED", + "GunCrouchBwd": "PED", + "GunCrouchFwd": "PED", + "GunMove_BWD": "PED", + "GunMove_FWD": "PED", + "GunMove_L": "PED", + "GunMove_R": "PED", + "Gun_2_IDLE": "PED", + "Gun_stand": "PED", + "HIT_GUN_BUTT": "PED", + "HIT_L": "PED", + "HIT_R": "PED", + "HIT_back": "PED", + "HIT_behind": "PED", + "HIT_front": "PED", + "HIT_walk": "PED", + "HIT_wall": "PED", + "HitA_1": "PED", + "HitA_2": "PED", + "HitA_3": "PED", + "IDLE_HBHB": "PED", + "IDLE_ROCKET": "PED", + "IDLE_armed": "PED", + "IDLE_chat": "PED", + "IDLE_csaw": "PED", + "IDLE_stance": "PED", + "IDLE_taxi": "PED", + "IDLE_tired": "PED", + "Idle_Gang1": "PED", + "Idlestance_fat": "PED", + "JOG_femaleA": "PED", + "JOG_maleA": "PED", + "JUMP_glide": "PED", + "JUMP_land": "PED", + "JUMP_launch": "PED", + "JUMP_launch_R": "PED", + "Jetpack_Idle": "PED", + "KART_L": "PED", + "KART_LB": "PED", + "KART_R": "PED", + "KART_drive": "PED", + "KD_left": "PED", + "KD_right": "PED", + "KO_shot_face": "PED", + "KO_shot_front": "PED", + "KO_shot_stom": "PED", + "KO_skid_back": "PED", + "KO_skid_front": "PED", + "KO_spin_L": "PED", + "KO_spin_R": "PED", + "Player_Sneak": "PED", + "Player_Sneak_walkstart": "PED", + "Run_Wuzi": "PED", + "Run_stop": "PED", + "Run_stopR": "PED", + "SEAT_down": "PED", + "SEAT_idle": "PED", + "SEAT_up": "PED", + "SHOT_leftP": "PED", + "SHOT_partial": "PED", + "SHOT_partial_B": "PED", + "SHOT_rightP": "PED", + "Shove_Partial": "PED", + "Smoke_in_car": "PED", + "Sprint_Wuzi": "PED", + "Swim_Tread": "PED", + "Tap_hand": "PED", + "Tap_handP": "PED", + "Turn_L": "PED", + "Turn_R": "PED", + "WALK_armed": "PED", + "WALK_civi": "PED", + "WALK_csaw": "PED", + "WALK_drunk": "PED", + "WALK_fat": "PED", + "WALK_fatold": "PED", + "WALK_gang1": "PED", + "WALK_gang2": "PED", + "WALK_old": "PED", + "WALK_player": "PED", + "WALK_rocket": "PED", + "WALK_shuffle": "PED", + "WALK_start": "PED", + "WALK_start_armed": "PED", + "WALK_start_csaw": "PED", + "WALK_start_rocket": "PED", + "WEAPON_crouch": "PED", + "WOMAN_runbusy": "PED", + "WOMAN_runfatold": "PED", + "WOMAN_runsexy": "PED", + "WOMAN_walkbusy": "PED", + "WOMAN_walkfatold": "PED", + "WOMAN_walknorm": "PED", + "WOMAN_walkold": "PED", + "WOMAN_walkpro": "PED", + "WOMAN_walksexy": "PED", + "WOMAN_walkshop": "PED", + "Walk_DoorPartial": "PED", + "Walk_Wuzi": "PED", + "XPRESSscratch": "PED", + "abseil": "PED", + "bomber": "PED", + "car_hookertalk": "PED", + "cower": "PED", + "endchat_01": "PED", + "endchat_02": "PED", + "endchat_03": "PED", + "facanger": "PED", + "facgum": "PED", + "facsurp": "PED", + "facsurpm": "PED", + "factalk": "PED", + "facurios": "PED", + "flee_lkaround_01": "PED", + "fucku": "PED", + "gang_gunstand": "PED", + "gas_cwr": "PED", + "getup": "PED", + "getup_front": "PED", + "gum_eat": "PED", + "handscower": "PED", + "handsup": "PED", + "idlestance_old": "PED", + "pass_Smoke_in_car": "PED", + "phone_in": "PED", + "phone_out": "PED", + "phone_talk": "PED", + "roadcross": "PED", + "roadcross_female": "PED", + "roadcross_gang": "PED", + "roadcross_old": "PED", + "run_1armed": "PED", + "run_armed": "PED", + "run_civi": "PED", + "run_csaw": "PED", + "run_fat": "PED", + "run_fatold": "PED", + "run_gang1": "PED", + "run_left": "PED", + "run_old": "PED", + "run_player": "PED", + "run_right": "PED", + "run_rocket": "PED", + "sprint_civi": "PED", + "sprint_panic": "PED", + "swat_run": "PED", + "turn_180": "PED", + "woman_idlestance": "PED", + "woman_run": "PED", + "woman_runpanic": "PED" + }, + "PLAYER_DVBYS": { + "Plyr_DrivebyBwd": "PLAYER_DVBYS", + "Plyr_DrivebyFwd": "PLAYER_DVBYS", + "Plyr_DrivebyLHS": "PLAYER_DVBYS", + "Plyr_DrivebyRHS": "PLAYER_DVBYS" + }, + "PLAYIDLES": { + "shift": "PLAYIDLES", + "shldr": "PLAYIDLES", + "stretch": "PLAYIDLES", + "strleg": "PLAYIDLES", + "time": "PLAYIDLES" + }, + "POLICE": { + "COP_getoutcar_LHS": "POLICE", + "CopTraf_Away": "POLICE", + "CopTraf_Come": "POLICE", + "CopTraf_Left": "POLICE", + "CopTraf_Stop": "POLICE", + "Cop_move_FWD": "POLICE", + "Door_Kick": "POLICE", + "crm_drgbst_01": "POLICE", + "plc_drgbst_01": "POLICE", + "plc_drgbst_02": "POLICE" + }, + "POOL": { + "POOL_ChalkCue": "POOL", + "POOL_Idle_Stance": "POOL", + "POOL_Long_Shot": "POOL", + "POOL_Long_Shot_O": "POOL", + "POOL_Long_Start": "POOL", + "POOL_Long_Start_O": "POOL", + "POOL_Med_Shot": "POOL", + "POOL_Med_Shot_O": "POOL", + "POOL_Med_Start": "POOL", + "POOL_Med_Start_O": "POOL", + "POOL_Place_White": "POOL", + "POOL_Short_Shot": "POOL", + "POOL_Short_Shot_O": "POOL", + "POOL_Short_Start": "POOL", + "POOL_Short_Start_O": "POOL", + "POOL_Walk": "POOL", + "POOL_Walk_Start": "POOL", + "POOL_XLong_Shot": "POOL", + "POOL_XLong_Shot_O": "POOL", + "POOL_XLong_Start": "POOL", + "POOL_XLong_Start_O": "POOL" + }, + "POOR": { + "WINWASH_Start": "POOR", + "WINWASH_Wash2Beg": "POOR" + }, + "PYTHON": { + "python_crouchfire": "PYTHON", + "python_crouchreload": "PYTHON", + "python_fire": "PYTHON", + "python_fire_poor": "PYTHON", + "python_reload": "PYTHON" + }, + "QUAD": { + "QUAD_FWD": "QUAD", + "QUAD_Left": "QUAD", + "QUAD_Right": "QUAD", + "QUAD_back": "QUAD", + "QUAD_driveby_FT": "QUAD", + "QUAD_driveby_LHS": "QUAD", + "QUAD_driveby_RHS": "QUAD", + "QUAD_getoff_B": "QUAD", + "QUAD_getoff_LHS": "QUAD", + "QUAD_getoff_RHS": "QUAD", + "QUAD_geton_LHS": "QUAD", + "QUAD_geton_RHS": "QUAD", + "QUAD_hit": "QUAD", + "QUAD_kick": "QUAD", + "QUAD_passenger": "QUAD", + "QUAD_reverse": "QUAD", + "QUAD_ride": "QUAD" + }, + "QUAD_DBZ": { + "Pass_Driveby_BWD": "QUAD_DBZ", + "Pass_Driveby_FWD": "QUAD_DBZ", + "Pass_Driveby_LHS": "QUAD_DBZ", + "Pass_Driveby_RHS": "QUAD_DBZ" + }, + "RAPPING": { + "Laugh_01": "RAPPING", + "RAP_A_IN": "RAPPING", + "RAP_A_Loop": "RAPPING", + "RAP_A_OUT": "RAPPING", + "RAP_B_IN": "RAPPING", + "RAP_B_Loop": "RAPPING", + "RAP_B_OUT": "RAPPING", + "RAP_C_Loop": "RAPPING" + }, + "RIFLE": { + "RIFLE_crouchfire": "RIFLE", + "RIFLE_crouchload": "RIFLE", + "RIFLE_fire": "RIFLE", + "RIFLE_fire_poor": "RIFLE", + "RIFLE_load": "RIFLE" + }, + "RIOT": { + "RIOT_ANGRY": "RIOT", + "RIOT_ANGRY_B": "RIOT", + "RIOT_CHANT": "RIOT", + "RIOT_FUKU": "RIOT", + "RIOT_PUNCHES": "RIOT", + "RIOT_challenge": "RIOT", + "RIOT_shout": "RIOT" + }, + "ROB_BANK": { + "CAT_Safe_End": "ROB_BANK", + "CAT_Safe_Open": "ROB_BANK", + "CAT_Safe_Open_O": "ROB_BANK", + "CAT_Safe_Rob": "ROB_BANK", + "SHP_HandsUp_Scr": "ROB_BANK" + }, + "ROCKET": { + "RocketFire": "ROCKET", + "WALK_start_rocket": "ROCKET", + "idle_rocket": "ROCKET", + "run_rocket": "ROCKET", + "walk_rocket": "ROCKET" + }, + "RUSTLER": { + "Plane_align_LHS": "RUSTLER", + "Plane_close": "RUSTLER", + "Plane_getin": "RUSTLER", + "Plane_getout": "RUSTLER", + "Plane_open": "RUSTLER" + }, + "RYDER": { + "RYD_Beckon_01": "RYDER", + "RYD_Beckon_02": "RYDER", + "RYD_Beckon_03": "RYDER", + "RYD_Die_PT1": "RYDER", + "RYD_Die_PT2": "RYDER", + "VAN_PickUp_E": "RYDER", + "VAN_PickUp_S": "RYDER", + "Van_Crate_L": "RYDER", + "Van_Crate_R": "RYDER", + "Van_Fall_L": "RYDER", + "Van_Fall_R": "RYDER", + "Van_Lean_L": "RYDER", + "Van_Lean_R": "RYDER", + "Van_Stand": "RYDER", + "Van_Stand_Crate": "RYDER", + "Van_Throw": "RYDER" + }, + "SCRATCHING": { + "sc_ltor": "SCRATCHING", + "sc_rtol": "SCRATCHING", + "scdldlp": "SCRATCHING", + "scdlulp": "SCRATCHING", + "scdrdlp": "SCRATCHING", + "scdrulp": "SCRATCHING", + "sclng_l": "SCRATCHING", + "sclng_r": "SCRATCHING", + "scmid_l": "SCRATCHING", + "scmid_r": "SCRATCHING", + "scshrtl": "SCRATCHING", + "scshrtr": "SCRATCHING" + }, + "SHAMAL": { + "SHAMAL_align": "SHAMAL", + "SHAMAL_getin_LHS": "SHAMAL", + "SHAMAL_getout_LHS": "SHAMAL", + "SHAMAL_open": "SHAMAL" + }, + "SHOP": { + "ROB_2Idle": "SHOP", + "ROB_Loop": "SHOP", + "ROB_Loop_Threat": "SHOP", + "ROB_Shifty": "SHOP", + "ROB_StickUp_In": "SHOP", + "SHP_Duck": "SHOP", + "SHP_Duck_Aim": "SHOP", + "SHP_Duck_Fire": "SHOP", + "SHP_Gun_Aim": "SHOP", + "SHP_Gun_Duck": "SHOP", + "SHP_Gun_Fire": "SHOP", + "SHP_Gun_Grab": "SHOP", + "SHP_Gun_Threat": "SHOP", + "SHP_HandsUp_Scr": "SHOP", + "SHP_Jump_Glide": "SHOP", + "SHP_Jump_Land": "SHOP", + "SHP_Jump_Launch": "SHOP", + "SHP_Rob_GiveCash": "SHOP", + "SHP_Rob_HandsUp": "SHOP", + "SHP_Rob_React": "SHOP", + "SHP_Serve_End": "SHOP", + "SHP_Serve_Idle": "SHOP", + "SHP_Serve_Loop": "SHOP", + "SHP_Serve_Start": "SHOP", + "Smoke_RYD": "SHOP" + }, + "SHOTGUN": { + "shotgun_crouchfire": "SHOTGUN", + "shotgun_fire": "SHOTGUN", + "shotgun_fire_poor": "SHOTGUN" + }, + "SILENCED": { + "CrouchReload": "SILENCED", + "SilenceCrouchfire": "SILENCED", + "Silence_fire": "SILENCED", + "Silence_reload": "SILENCED" + }, + "SKATE": { + "skate_idle": "SKATE", + "skate_run": "SKATE", + "skate_sprint": "SKATE" + }, + "SMOKING": { + "F_smklean_loop": "SMOKING", + "M_smk_drag": "SMOKING", + "M_smk_in": "SMOKING", + "M_smk_loop": "SMOKING", + "M_smk_out": "SMOKING", + "M_smk_tap": "SMOKING", + "M_smklean_loop": "SMOKING", + "M_smkstnd_loop": "SMOKING" + }, + "SNIPER": { + "WEAPON_sniper": "SNIPER" + }, + "SPRAYCAN": { + "spraycan_fire": "SPRAYCAN", + "spraycan_full": "SPRAYCAN" + }, + "STRIP": { + "PLY_CASH": "STRIP", + "PUN_CASH": "STRIP", + "PUN_HOLLER": "STRIP", + "PUN_LOOP": "STRIP", + "STR_A2B": "STRIP", + "STR_B2A": "STRIP", + "STR_B2C": "STRIP", + "STR_C1": "STRIP", + "STR_C2": "STRIP", + "STR_C2B": "STRIP", + "STR_Loop_A": "STRIP", + "STR_Loop_B": "STRIP", + "STR_Loop_C": "STRIP", + "strip_A": "STRIP", + "strip_B": "STRIP", + "strip_C": "STRIP", + "strip_D": "STRIP", + "strip_E": "STRIP", + "strip_F": "STRIP", + "strip_G": "STRIP" + }, + "SUNBATHE": { + "Lay_Bac_in": "SUNBATHE", + "Lay_Bac_out": "SUNBATHE", + "ParkSit_M_IdleA": "SUNBATHE", + "ParkSit_M_IdleB": "SUNBATHE", + "ParkSit_M_IdleC": "SUNBATHE", + "ParkSit_M_in": "SUNBATHE", + "ParkSit_M_out": "SUNBATHE", + "ParkSit_W_idleA": "SUNBATHE", + "ParkSit_W_idleB": "SUNBATHE", + "ParkSit_W_idleC": "SUNBATHE", + "ParkSit_W_in": "SUNBATHE", + "ParkSit_W_out": "SUNBATHE", + "SBATHE_F_LieB2Sit": "SUNBATHE", + "SBATHE_F_Out": "SUNBATHE", + "SitnWait_in_W": "SUNBATHE", + "SitnWait_out_W": "SUNBATHE", + "batherdown": "SUNBATHE", + "batherup": "SUNBATHE" + }, + "SWAT": { + "JMP_Wall1m_180": "SWAT", + "Rail_fall": "SWAT", + "Rail_fall_crawl": "SWAT", + "gnstwall_injurd": "SWAT", + "swt_breach_01": "SWAT", + "swt_breach_02": "SWAT", + "swt_breach_03": "SWAT", + "swt_go": "SWAT", + "swt_lkt": "SWAT", + "swt_sty": "SWAT", + "swt_vent_01": "SWAT", + "swt_vent_02": "SWAT", + "swt_vnt_sht_die": "SWAT", + "swt_vnt_sht_in": "SWAT", + "swt_vnt_sht_loop": "SWAT", + "swt_wllpk_L": "SWAT", + "swt_wllpk_L_back": "SWAT", + "swt_wllpk_R": "SWAT", + "swt_wllpk_R_back": "SWAT", + "swt_wllshoot_in_L": "SWAT", + "swt_wllshoot_in_R": "SWAT", + "swt_wllshoot_out_L": "SWAT", + "swt_wllshoot_out_R": "SWAT" + }, + "SWEET": { + "LaFin_Player": "SWEET", + "LaFin_Sweet": "SWEET", + "Sweet_injuredloop": "SWEET", + "ho_ass_slapped": "SWEET", + "plyr_hndshldr_01": "SWEET", + "sweet_ass_slap": "SWEET", + "sweet_hndshldr_01": "SWEET" + }, + "SWIM": { + "SWIM_crawl": "SWIM", + "Swim_Breast": "SWIM", + "Swim_Dive_Under": "SWIM", + "Swim_Glide": "SWIM", + "Swim_Tread": "SWIM", + "Swim_Under": "SWIM", + "Swim_jumpout": "SWIM" + }, + "SWORD": { + "Sword_Hit_1": "SWORD", + "Sword_Hit_2": "SWORD", + "Sword_Hit_3": "SWORD", + "sword_1": "SWORD", + "sword_2": "SWORD", + "sword_3": "SWORD", + "sword_4": "SWORD", + "sword_IDLE": "SWORD", + "sword_block": "SWORD", + "sword_part": "SWORD" + }, + "TANK": { + "TANK_align_LHS": "TANK", + "TANK_close_LHS": "TANK", + "TANK_doorlocked": "TANK", + "TANK_getin_LHS": "TANK", + "TANK_getout_LHS": "TANK", + "TANK_open_LHS": "TANK" + }, + "TATTOOS": { + "TAT_ArmL_In_O": "TATTOOS", + "TAT_ArmL_In_P": "TATTOOS", + "TAT_ArmL_In_T": "TATTOOS", + "TAT_ArmL_Out_O": "TATTOOS", + "TAT_ArmL_Out_P": "TATTOOS", + "TAT_ArmL_Out_T": "TATTOOS", + "TAT_ArmL_Pose_O": "TATTOOS", + "TAT_ArmL_Pose_P": "TATTOOS", + "TAT_ArmL_Pose_T": "TATTOOS", + "TAT_ArmR_In_O": "TATTOOS", + "TAT_ArmR_In_P": "TATTOOS", + "TAT_ArmR_In_T": "TATTOOS", + "TAT_ArmR_Out_O": "TATTOOS", + "TAT_ArmR_Out_P": "TATTOOS", + "TAT_ArmR_Out_T": "TATTOOS", + "TAT_ArmR_Pose_O": "TATTOOS", + "TAT_ArmR_Pose_P": "TATTOOS", + "TAT_ArmR_Pose_T": "TATTOOS", + "TAT_Back_In_O": "TATTOOS", + "TAT_Back_In_P": "TATTOOS", + "TAT_Back_In_T": "TATTOOS", + "TAT_Back_Out_O": "TATTOOS", + "TAT_Back_Out_P": "TATTOOS", + "TAT_Back_Out_T": "TATTOOS", + "TAT_Back_Pose_O": "TATTOOS", + "TAT_Back_Pose_P": "TATTOOS", + "TAT_Back_Pose_T": "TATTOOS", + "TAT_Back_Sit_In_P": "TATTOOS", + "TAT_Back_Sit_Loop_P": "TATTOOS", + "TAT_Back_Sit_Out_P": "TATTOOS", + "TAT_Bel_In_O": "TATTOOS", + "TAT_Bel_In_T": "TATTOOS", + "TAT_Bel_Out_O": "TATTOOS", + "TAT_Bel_Out_T": "TATTOOS", + "TAT_Bel_Pose_O": "TATTOOS", + "TAT_Bel_Pose_T": "TATTOOS", + "TAT_Che_In_O": "TATTOOS", + "TAT_Che_In_P": "TATTOOS", + "TAT_Che_In_T": "TATTOOS", + "TAT_Che_Out_O": "TATTOOS", + "TAT_Che_Out_P": "TATTOOS", + "TAT_Che_Out_T": "TATTOOS", + "TAT_Che_Pose_O": "TATTOOS", + "TAT_Che_Pose_P": "TATTOOS", + "TAT_Che_Pose_T": "TATTOOS", + "TAT_Drop_O": "TATTOOS", + "TAT_Idle_Loop_O": "TATTOOS", + "TAT_Idle_Loop_T": "TATTOOS", + "TAT_Sit_In_O": "TATTOOS", + "TAT_Sit_In_P": "TATTOOS", + "TAT_Sit_In_T": "TATTOOS", + "TAT_Sit_Loop_O": "TATTOOS", + "TAT_Sit_Loop_P": "TATTOOS", + "TAT_Sit_Loop_T": "TATTOOS", + "TAT_Sit_Out_O": "TATTOOS", + "TAT_Sit_Out_P": "TATTOOS", + "TAT_Sit_Out_T": "TATTOOS" + }, + "TEC": { + "TEC_crouchfire": "TEC", + "TEC_crouchreload": "TEC", + "TEC_fire": "TEC", + "TEC_reload": "TEC" + }, + "TRAIN": { + "tran_gtup": "TRAIN", + "tran_hng": "TRAIN", + "tran_ouch": "TRAIN", + "tran_stmb": "TRAIN" + }, + "TRUCK": { + "TRUCK_ALIGN_LHS": "TRUCK", + "TRUCK_ALIGN_RHS": "TRUCK", + "TRUCK_Shuffle": "TRUCK", + "TRUCK_close_LHS": "TRUCK", + "TRUCK_close_RHS": "TRUCK", + "TRUCK_closedoor_LHS": "TRUCK", + "TRUCK_closedoor_RHS": "TRUCK", + "TRUCK_getin_LHS": "TRUCK", + "TRUCK_getin_RHS": "TRUCK", + "TRUCK_getout_LHS": "TRUCK", + "TRUCK_getout_RHS": "TRUCK", + "TRUCK_jackedLHS": "TRUCK", + "TRUCK_jackedRHS": "TRUCK", + "TRUCK_open_LHS": "TRUCK", + "TRUCK_open_RHS": "TRUCK", + "TRUCK_pullout_LHS": "TRUCK", + "TRUCK_pullout_RHS": "TRUCK" + }, + "UZI": { + "UZI_crouchfire": "UZI", + "UZI_crouchreload": "UZI", + "UZI_fire": "UZI", + "UZI_fire_poor": "UZI", + "UZI_reload": "UZI" + }, + "VAN": { + "VAN_close_back_LHS": "VAN", + "VAN_close_back_RHS": "VAN", + "VAN_getin_Back_LHS": "VAN", + "VAN_getin_Back_RHS": "VAN", + "VAN_getout_back_LHS": "VAN", + "VAN_getout_back_RHS": "VAN", + "VAN_open_back_LHS": "VAN", + "VAN_open_back_RHS": "VAN" + }, + "VENDING": { + "VEND_Drink2_P": "VENDING", + "VEND_Drink_P": "VENDING", + "VEND_Eat_P": "VENDING", + "VEND_Use": "VENDING", + "VEND_Use_pt2": "VENDING", + "vend_eat1_P": "VENDING" + }, + "VORTEX": { + "CAR_jumpin_LHS": "VORTEX", + "CAR_jumpin_RHS": "VORTEX", + "vortex_getout_LHS": "VORTEX", + "vortex_getout_RHS": "VORTEX" + }, + "WAYFARER": { + "WF_Back": "WAYFARER", + "WF_Fwd": "WAYFARER", + "WF_Left": "WAYFARER", + "WF_Ride": "WAYFARER", + "WF_Right": "WAYFARER", + "WF_Still": "WAYFARER", + "WF_drivebyFT": "WAYFARER", + "WF_drivebyLHS": "WAYFARER", + "WF_drivebyRHS": "WAYFARER", + "WF_getoffBACK": "WAYFARER", + "WF_getoffLHS": "WAYFARER", + "WF_getoffRHS": "WAYFARER", + "WF_hit": "WAYFARER", + "WF_jumponL": "WAYFARER", + "WF_jumponR": "WAYFARER", + "WF_kick": "WAYFARER", + "WF_passenger": "WAYFARER", + "WF_pushes": "WAYFARER" + }, + "WEAPONS": { + "SHP_1H_Lift": "WEAPONS", + "SHP_1H_Lift_End": "WEAPONS", + "SHP_1H_Ret": "WEAPONS", + "SHP_1H_Ret_S": "WEAPONS", + "SHP_2H_Lift": "WEAPONS", + "SHP_2H_Lift_End": "WEAPONS", + "SHP_2H_Ret": "WEAPONS", + "SHP_2H_Ret_S": "WEAPONS", + "SHP_Ar_Lift": "WEAPONS", + "SHP_Ar_Lift_End": "WEAPONS", + "SHP_Ar_Ret": "WEAPONS", + "SHP_Ar_Ret_S": "WEAPONS", + "SHP_G_Lift_In": "WEAPONS", + "SHP_G_Lift_Out": "WEAPONS", + "SHP_Tray_In": "WEAPONS", + "SHP_Tray_Out": "WEAPONS", + "SHP_Tray_Pose": "WEAPONS" + }, + "WUZI": { + "CS_Dead_Guy": "WUZI", + "CS_Plyr_pt1": "WUZI", + "CS_Plyr_pt2": "WUZI", + "CS_Wuzi_pt1": "WUZI", + "CS_Wuzi_pt2": "WUZI", + "Walkstart_Idle_01": "WUZI", + "Wuzi_Greet_Plyr": "WUZI", + "Wuzi_Greet_Wuzi": "WUZI", + "Wuzi_Walk": "WUZI", + "Wuzi_follow": "WUZI", + "Wuzi_grnd_chk": "WUZI", + "Wuzi_stand_loop": "WUZI" + } +} diff --git a/resource/VC/CheatMenu/json/teleport.json b/resource/VC/CheatMenu/json/teleport.json index c4192f1..f737a36 100644 --- a/resource/VC/CheatMenu/json/teleport.json +++ b/resource/VC/CheatMenu/json/teleport.json @@ -3,6 +3,9 @@ "Washington Ammunation": "0, -65, -1479, 10", "Washington Beach Ammunation": "0, 200, -474, 11" }, + "Custom": { + "Test": "0, -825, 1168, 10" + }, "Misc": { "1102 Safe House": "0, 95, -808, 10", "Air Reserve Fort": "0, -1731, -307, 14", @@ -43,4 +46,4 @@ "Vice Point Pay n Spray": "0, 330, 429, 11", "Vice Port Pay n Spray": "0, -912, -1269, 11" } -} +} \ No newline at end of file diff --git a/src/cheatmenu.cpp b/src/cheatmenu.cpp index 8a834e2..d3533e4 100644 --- a/src/cheatmenu.cpp +++ b/src/cheatmenu.cpp @@ -35,16 +35,21 @@ void CheatMenu::DrawWindow() } ImGui::SetNextWindowSize(m_fMenuSize); - if (ImGui::Begin(MENU_TITLE, &m_bShowMenu, ImGuiWindowFlags_NoCollapse)) - { + if (ImGui::Begin(MENU_TITLE, NULL, ImGuiWindowFlags_NoCollapse || ImGuiWindowFlags_NoTitleBar)) + { + m_bShowMenu = !Ui::DrawTitleBar(); ImGui::PushStyleVar(ImGuiStyleVar_WindowMinSize, ImVec2(250, 350)); ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, ImVec2(ImGui::GetWindowWidth() / 85, ImGui::GetWindowHeight() / 200)); if (Updater::m_State == UPDATER_UPDATE_FOUND) + { Updater::ShowUpdateScreen(); + } else + { Ui::DrawHeaders(header); + } m_fMenuSize = ImGui::GetWindowSize(); gConfig.SetValue("window.sizeX", m_fMenuSize.x); @@ -113,71 +118,63 @@ void CheatMenu::ApplyStyle() ImGuiStyle* style = &ImGui::GetStyle(); ImVec4* colors = style->Colors; - style->WindowRounding = 1; - style->ScrollbarRounding = 1; - style->GrabRounding = 1; - style->WindowRounding = 1; - style->ChildRounding = 1; - style->ScrollbarRounding = 1; - style->GrabRounding = 1; - style->FrameRounding = 0; - style->TabRounding = 1.0; - style->AntiAliasedLines = true; - style->AntiAliasedFill = true; - style->Alpha = 1; + style->WindowPadding = ImVec2(8, 8); + style->WindowRounding = 5.0f; + style->FramePadding = ImVec2(8, 8); + style->FrameRounding = 5.0f; + style->PopupRounding = 5.0f; + style->ItemSpacing = ImVec2(7, 7); + style->ItemInnerSpacing = ImVec2(7, 7); + style->IndentSpacing = 25.0f; + style->ScrollbarSize = 12.0f; + style->ScrollbarRounding = 10.0f; + style->GrabMinSize = 5.0f; + style->GrabRounding = 3.0f; - style->FrameBorderSize = 0; style->ChildBorderSize = 0; - style->TabBorderSize = 0; style->WindowBorderSize = 0; + style->FrameBorderSize = 0; + style->TabBorderSize = 0; style->PopupBorderSize = 0; - colors[ImGuiCol_Text] = ImVec4(1.00f, 1.00f, 1.00f, 1.00f); - colors[ImGuiCol_TextDisabled] = ImVec4(0.50f, 0.50f, 0.50f, 1.00f); - colors[ImGuiCol_WindowBg] = ImVec4(0.06f, 0.06f, 0.06f, 0.94f); - colors[ImGuiCol_ChildBg] = ImVec4(0.00f, 0.00f, 0.00f, 0.00f); - colors[ImGuiCol_PopupBg] = ImVec4(0.08f, 0.08f, 0.08f, 0.94f); - colors[ImGuiCol_Border] = ImVec4(0.43f, 0.43f, 0.50f, 0.50f); - colors[ImGuiCol_BorderShadow] = ImVec4(0.00f, 0.00f, 0.00f, 0.00f); - colors[ImGuiCol_FrameBg] = ImVec4(0.16f, 0.29f, 0.48f, 0.54f); - colors[ImGuiCol_FrameBgHovered] = ImVec4(0.26f, 0.59f, 0.98f, 0.40f); - colors[ImGuiCol_FrameBgActive] = ImVec4(0.26f, 0.59f, 0.98f, 0.67f); - colors[ImGuiCol_TitleBg] = ImVec4(0.04f, 0.04f, 0.04f, 1.00f); - colors[ImGuiCol_TitleBgActive] = ImVec4(0.16f, 0.29f, 0.48f, 1.00f); - colors[ImGuiCol_TitleBgCollapsed] = ImVec4(0.00f, 0.00f, 0.00f, 0.51f); - colors[ImGuiCol_MenuBarBg] = ImVec4(0.14f, 0.14f, 0.14f, 1.00f); - colors[ImGuiCol_ScrollbarBg] = ImVec4(0.02f, 0.02f, 0.02f, 0.53f); - colors[ImGuiCol_ScrollbarGrab] = ImVec4(0.31f, 0.31f, 0.31f, 1.00f); - colors[ImGuiCol_ScrollbarGrabHovered] = ImVec4(0.41f, 0.41f, 0.41f, 1.00f); - colors[ImGuiCol_ScrollbarGrabActive] = ImVec4(0.51f, 0.51f, 0.51f, 1.00f); - colors[ImGuiCol_CheckMark] = ImVec4(0.26f, 0.59f, 0.98f, 1.00f); - colors[ImGuiCol_SliderGrab] = ImVec4(0.24f, 0.52f, 0.88f, 1.00f); - colors[ImGuiCol_SliderGrabActive] = ImVec4(0.26f, 0.59f, 0.98f, 1.00f); - colors[ImGuiCol_Button] = ImVec4(0.26f, 0.59f, 0.98f, 0.40f); - colors[ImGuiCol_ButtonHovered] = ImVec4(0.26f, 0.59f, 0.98f, 1.00f); - colors[ImGuiCol_ButtonActive] = ImVec4(0.06f, 0.53f, 0.98f, 1.00f); - colors[ImGuiCol_Header] = ImVec4(0.26f, 0.59f, 0.98f, 0.0f); - colors[ImGuiCol_HeaderHovered] = ImVec4(0.26f, 0.59f, 0.98f, 0.80f); - colors[ImGuiCol_HeaderActive] = ImVec4(0.26f, 0.59f, 0.98f, 1.00f); - colors[ImGuiCol_Separator] = ImVec4(0.43f, 0.43f, 0.50f, 0.50f); - colors[ImGuiCol_SeparatorHovered] = ImVec4(0.10f, 0.40f, 0.75f, 0.78f); - colors[ImGuiCol_SeparatorActive] = ImVec4(0.10f, 0.40f, 0.75f, 1.00f); - colors[ImGuiCol_ResizeGrip] = ImVec4(0.26f, 0.59f, 0.98f, 0.0f); - colors[ImGuiCol_ResizeGripHovered] = ImVec4(0.26f, 0.59f, 0.98f, 0.67f); - colors[ImGuiCol_ResizeGripActive] = ImVec4(0.26f, 0.59f, 0.98f, 0.95f); - colors[ImGuiCol_Tab] = ImVec4(0.18f, 0.35f, 0.58f, 0.86f); - colors[ImGuiCol_TabHovered] = ImVec4(0.26f, 0.59f, 0.98f, 0.80f); - colors[ImGuiCol_TabActive] = ImVec4(0.20f, 0.41f, 0.68f, 1.00f); - colors[ImGuiCol_TabUnfocused] = ImVec4(0.07f, 0.10f, 0.15f, 0.97f); - colors[ImGuiCol_TabUnfocusedActive] = ImVec4(0.14f, 0.26f, 0.42f, 1.00f); - colors[ImGuiCol_PlotLines] = ImVec4(0.61f, 0.61f, 0.61f, 1.00f); - colors[ImGuiCol_PlotLinesHovered] = ImVec4(1.00f, 0.43f, 0.35f, 1.00f); - colors[ImGuiCol_PlotHistogram] = ImVec4(0.90f, 0.70f, 0.00f, 1.00f); - colors[ImGuiCol_PlotHistogramHovered] = ImVec4(1.00f, 0.60f, 0.00f, 1.00f); - colors[ImGuiCol_TextSelectedBg] = ImVec4(0.26f, 0.59f, 0.98f, 0.35f); - colors[ImGuiCol_DragDropTarget] = ImVec4(1.00f, 1.00f, 0.00f, 0.90f); - colors[ImGuiCol_NavHighlight] = ImVec4(0.26f, 0.59f, 0.98f, 1.00f); - colors[ImGuiCol_NavWindowingHighlight] = ImVec4(1.00f, 1.00f, 1.00f, 0.70f); - colors[ImGuiCol_NavWindowingDimBg] = ImVec4(0.80f, 0.80f, 0.80f, 0.20f); - colors[ImGuiCol_ModalWindowDimBg] = ImVec4(0.26f, 0.59f, 0.98f, 0.35f); + style->Colors[ImGuiCol_Text] = ImVec4(0.80f, 0.80f, 0.83f, 1.00f); + style->Colors[ImGuiCol_TextDisabled] = ImVec4(0.35f, 0.33f, 0.3f, 1.00f); + style->Colors[ImGuiCol_WindowBg] = ImVec4(0.06f, 0.05f, 0.06f, 0.95f); + style->Colors[ImGuiCol_ChildBg] = ImVec4(0.0f, 0.0f, 0.0f, 0.0f); + style->Colors[ImGuiCol_PopupBg] = ImVec4(0.07f, 0.07f, 0.09f, 0.95f); + style->Colors[ImGuiCol_Border] = ImVec4(0.12f, 0.12f, 0.12f, 1.0f); + style->Colors[ImGuiCol_BorderShadow] = ImVec4(0.20f, 0.20f, 0.20f, 1.00f); + style->Colors[ImGuiCol_FrameBg] = ImVec4(0.12f, 0.12f, 0.12f, 0.95f); + style->Colors[ImGuiCol_FrameBgHovered] = ImVec4(0.16f, 0.16f, 0.16f, 1.00f); + style->Colors[ImGuiCol_FrameBgActive] = ImVec4(0.12f, 0.12f, 0.12f, 1.00f); + style->Colors[ImGuiCol_TitleBg] = ImVec4(0.12f, 0.12f, 0.12f, 0.94f); + style->Colors[ImGuiCol_TitleBgCollapsed] = ImVec4(1.00f, 0.98f, 0.95f, 0.75f); + style->Colors[ImGuiCol_TitleBgActive] = ImVec4(0.07f, 0.07f, 0.09f, 1.00f); + style->Colors[ImGuiCol_MenuBarBg] = ImVec4(0.12f, 0.12f, 0.12f, 1.00f); + style->Colors[ImGuiCol_ScrollbarBg] = ImVec4(0.12f, 0.12f, 0.12f, 1.00f); + style->Colors[ImGuiCol_ScrollbarGrab] = ImVec4(0.80f, 0.80f, 0.83f, 0.31f); + style->Colors[ImGuiCol_ScrollbarGrabHovered] = ImVec4(0.16f, 0.16f, 0.16f, 1.00f); + style->Colors[ImGuiCol_ScrollbarGrabActive] = ImVec4(0.20f, 0.20f, 0.20f, 1.00f); + style->Colors[ImGuiCol_CheckMark] = ImVec4(0.80f, 0.80f, 0.83f, 0.31f); + style->Colors[ImGuiCol_SliderGrab] = ImVec4(0.20f, 0.20f, 0.20f, 1.00f); + style->Colors[ImGuiCol_SliderGrabActive] = ImVec4(0.20f, 0.20f, 0.20f, 1.00f); + style->Colors[ImGuiCol_Separator] = ImVec4(0.12f, 0.12f, 0.12f, 1.00f); + style->Colors[ImGuiCol_Button] = ImVec4(0.12f, 0.12f, 0.12f, 1.00f); + style->Colors[ImGuiCol_ButtonHovered] = ImVec4(0.16f, 0.16f, 0.16f, 1.00f); + style->Colors[ImGuiCol_ButtonActive] = ImVec4(0.20f, 0.20f, 0.20f, 1.00f); + style->Colors[ImGuiCol_Tab] = ImVec4(0.12f, 0.12f, 0.12f, 1.00f); + style->Colors[ImGuiCol_TabHovered] = ImVec4(0.16f, 0.16f, 0.16f, 1.00f); + style->Colors[ImGuiCol_TabActive] = ImVec4(0.20f, 0.20f, 0.20f, 1.00f); + style->Colors[ImGuiCol_Header] = ImVec4(0.0f, 0.0f, 0.0f, 0.0f); + style->Colors[ImGuiCol_HeaderHovered] = ImVec4(0.16f, 0.16f, 0.16f, 1.00f); + style->Colors[ImGuiCol_HeaderActive] = ImVec4(0.06f, 0.05f, 0.07f, 1.00f); + style->Colors[ImGuiCol_ResizeGrip] = ImVec4(0.12f, 0.12f, 0.12f, 0.00f); + style->Colors[ImGuiCol_ResizeGripHovered] = ImVec4(0.16f, 0.16f, 0.16f, 1.00f); + style->Colors[ImGuiCol_ResizeGripActive] = ImVec4(0.20f, 0.20f, 0.20f, 1.00f); + style->Colors[ImGuiCol_PlotLines] = ImVec4(0.40f, 0.39f, 0.38f, 0.63f); + style->Colors[ImGuiCol_PlotLinesHovered] = ImVec4(0.25f, 1.00f, 0.00f, 1.00f); + style->Colors[ImGuiCol_PlotHistogram] = ImVec4(0.40f, 0.39f, 0.38f, 0.63f); + style->Colors[ImGuiCol_PlotHistogramHovered] = ImVec4(0.25f, 1.00f, 0.00f, 1.00f); + style->Colors[ImGuiCol_TextSelectedBg] = ImVec4(0.20f, 0.20f, 0.20f, 1.00f); + style->Colors[ImGuiCol_ModalWindowDimBg] = ImVec4(0.20f, 0.20f, 0.20f, 0.6f); } diff --git a/src/fontmgr.cpp b/src/fontmgr.cpp new file mode 100644 index 0000000..b2b6308 --- /dev/null +++ b/src/fontmgr.cpp @@ -0,0 +1,42 @@ +#include "fontmgr.h" +#include "pch.h" + +ImFont* FontMgr::GetFont(const char* fontName) +{ + for (auto &data : m_vecFonts) + { + if (data.m_path == std::string(fontName)) + { + return data.m_pFont; + } + } + + return nullptr; +} + +ImFont* FontMgr::LoadFont(const char* fontName, float fontMul) +{ + ImGuiIO& io = ImGui::GetIO(); + size_t fontSize = static_cast(screen::GetScreenHeight() / 54.85f) * fontMul; + + std::string fullPath = std::string(PLUGIN_PATH((char*)"CheatMenu/fonts/")) + fontName + ".ttf"; + m_vecFonts.push_back({io.Fonts->AddFontFromFileTTF(fullPath.c_str(), fontSize), fontSize, + std::string(fontName)}); + io.Fonts->Build(); + + return m_vecFonts.back().m_pFont; +} + +void FontMgr::ReinitFonts() +{ + ImGuiIO& io = ImGui::GetIO(); + io.Fonts->Clear(); + + for (auto &data : m_vecFonts) + { + std::string fullPath = PLUGIN_PATH((char*)"CheatMenu/fonts/") + data.m_path + ".ttf"; + data.m_pFont = io.Fonts->AddFontFromFileTTF(fullPath.c_str(), data.fontSize); + } + io.FontDefault = GetFont("text"); + io.Fonts->Build(); +} \ No newline at end of file diff --git a/src/fontmgr.h b/src/fontmgr.h new file mode 100644 index 0000000..6e6e319 --- /dev/null +++ b/src/fontmgr.h @@ -0,0 +1,25 @@ +#pragma once +#include "pch.h" + +class FontMgr +{ +private: + struct FontInfo + { + ImFont *m_pFont; + size_t fontSize; + std::string m_path; + }; + +public: + static inline std::vector m_vecFonts; + + FontMgr() = delete; + FontMgr(FontMgr&) = delete; + + static ImFont* GetFont(const char* fontName); + static ImFont* LoadFont(const char* fontName, float fontMul = 1.0f); + static void ReinitFonts(); +}; + + diff --git a/src/hook.cpp b/src/hook.cpp index 9092bae..8acb847 100644 --- a/src/hook.cpp +++ b/src/hook.cpp @@ -50,10 +50,7 @@ void Hook::RenderFrame(void* ptr) ImVec2 size(screen::GetScreenWidth(), screen::GetScreenHeight()); if (fScreenSize.x != size.x && fScreenSize.y != size.y) { - int fontSize = static_cast(size.y / 54.85f); // manually tested - - io.FontDefault = io.Fonts->AddFontFromFileTTF("C:/Windows/Fonts/trebucbd.ttf", fontSize); - io.Fonts->Build(); + FontMgr::ReinitFonts(); if (gRenderer == Render_DirectX9) { @@ -68,11 +65,11 @@ void Hook::RenderFrame(void* ptr) float scaleX = size.x / 1366.0f; float scaleY = size.y / 768.0f; - style->FramePadding = ImVec2(5 * scaleX, 3 * scaleY); + style->FramePadding = ImVec2(5 * scaleX, 5 * scaleY); style->ItemSpacing = ImVec2(8 * scaleX, 4 * scaleY); style->ScrollbarSize = 12 * scaleX; style->IndentSpacing = 20 * scaleX; - style->ItemInnerSpacing = ImVec2(4 * scaleX, 4 * scaleY); + style->ItemInnerSpacing = ImVec2(5 * scaleX, 5 * scaleY); fScreenSize = size; } @@ -133,6 +130,11 @@ void Hook::RenderFrame(void* ptr) ImGui_ImplWin32_EnableDpiAwareness(); + // Loading fonts + io.FontDefault = FontMgr::LoadFont("text", 1.0f); + FontMgr::LoadFont("title", 2.0f); + FontMgr::LoadFont("header", 1.25f); + io.IniFilename = nullptr; io.LogFilename = nullptr; io.ConfigFlags |= ImGuiConfigFlags_NavEnableGamepad; diff --git a/src/menuinfo.h b/src/menuinfo.h index 58d3015..db73c7d 100644 --- a/src/menuinfo.h +++ b/src/menuinfo.h @@ -2,5 +2,5 @@ #define MENU_NAME "Cheat Menu" #define MENU_VERSION_NUMBER "3.0" #define MENU_VERSION MENU_VERSION_NUMBER"-beta" -#define BUILD_NUMBER "20211101" -#define MENU_TITLE MENU_NAME " v" MENU_VERSION "(" BUILD_NUMBER ")" +#define BUILD_NUMBER "20211106" +#define MENU_TITLE MENU_NAME " v" MENU_VERSION diff --git a/src/pch.h b/src/pch.h index 8d52bfa..4b6a86f 100644 --- a/src/pch.h +++ b/src/pch.h @@ -5,6 +5,7 @@ #define SPAWN_PED_LIMIT 20 #define DISCORD_INVITE "https://discord.gg/ZzW7kmf" #define GITHUB_LINK "https://github.com/user-grinch/Cheat-Menu" +#define IMGUI_DEFINE_MATH_OPERATORS #ifdef GTASA #define BY_GAME(sa, vc, iii) sa @@ -71,6 +72,7 @@ #include "hotkeys.h" #include "vKeys.h" #include "resourcestore.h" +#include "fontmgr.h" using CallbackTable = std::vector>; using namespace plugin; diff --git a/src/ui.cpp b/src/ui.cpp index ac9f372..8341c44 100644 --- a/src/ui.cpp +++ b/src/ui.cpp @@ -1,6 +1,123 @@ #include "pch.h" #include "util.h" #include "ui.h" +#include "../depend/imgui/imgui_internal.h" +#include "menuinfo.h" + +// Really messy code, cleanup someday +bool Ui::DrawTitleBar() +{ + ImGuiContext& g = *GImGui; + ImGuiWindow* window = g.CurrentWindow; + ImGuiID id = window->GetID("#CLOSE"); + + ImGui::PushFont(FontMgr::GetFont("title")); + CenterdText(MENU_TITLE); + + if (!ImGui::IsWindowHovered(ImGuiHoveredFlags_RootWindow | ImGuiHoveredFlags_ChildWindows + | ImGuiHoveredFlags_AllowWhenBlockedByPopup | ImGuiHoveredFlags_AllowWhenBlockedByActiveItem)) + { + ImGui::PopFont(); + return false; + } + + ImVec2 rectMin = ImGui::GetItemRectMin(); // get pos of title text + ImGuiStyle& Style = ImGui::GetStyle(); + float framePadding = Style.FramePadding.x; + float fontSize = ImGui::GetFontSize(); + ImRect title_bar_rect = window->TitleBarRect(); + ImVec2 pos = ImVec2(title_bar_rect.Max.x - framePadding*2 - fontSize, title_bar_rect.Min.y); + + // drawing the close button + const ImRect bb(pos, pos + ImVec2(g.FontSize, g.FontSize) + g.Style.FramePadding * 2.0f); + ImRect bb_interact = bb; + const float area_to_visible_ratio = window->OuterRectClipped.GetArea() / bb.GetArea(); + if (area_to_visible_ratio < 1.5f) + { + bb_interact.Expand(ImFloor(bb_interact.GetSize() * -0.25f)); + } + + bool hovered, held; + bool pressed = ImGui::ButtonBehavior(bb_interact, id, &hovered, &held); + + float cross_extent = (fontSize * 0.3f) - 1.0f; + ImVec2 closePos = ImVec2(bb.GetCenter().x - cross_extent, rectMin.y); + ImU32 closeCol = ImGui::GetColorU32(held || hovered ? ImVec4(0.80f, 0.0f, 0.0f, 1.0f) : ImVec4(0.80f, 0.80f, 0.80f, 1.00f)); + window->DrawList->AddText(closePos, closeCol, " X "); + ImGui::PopFont(); + + return pressed; +} + +bool Ui::RoundedImageButton(ImTextureID user_texture_id, ImVec2& size, const char* hover_text, int frame_padding, const ImVec4& bg_col, const ImVec4& tint_col) +{ + ImGuiContext& g = *GImGui; + ImGuiWindow* window = g.CurrentWindow; + if (window->SkipItems) + return false; + + // Default to using texture ID as ID. User can still push string/integer prefixes. + ImGui::PushID((void*)(intptr_t)user_texture_id); + const ImGuiID id = window->GetID("#image"); + ImGui::PopID(); + + ImVec2 padding = (frame_padding >= 0) ? ImVec2((float)frame_padding, (float)frame_padding) : g.Style.FramePadding; + + if (window->SkipItems) + return false; + + const ImRect bb(window->DC.CursorPos, window->DC.CursorPos + size + padding * 2); + ImGui::ItemSize(bb); + if (!ImGui::ItemAdd(bb, id)) + return false; + + bool hovered, held; + bool pressed = ImGui::ButtonBehavior(bb, id, &hovered, &held); + + // Render + const ImU32 col = ImGui::GetColorU32((held && hovered) ? ImGuiCol_ButtonActive : hovered ? ImGuiCol_ButtonHovered : ImGuiCol_Button); + ImGui::RenderNavHighlight(bb, id); + ImGui::RenderFrame(bb.Min, bb.Max, col, true, ImClamp((float)ImMin(padding.x, padding.y), 0.0f, g.Style.FrameRounding)); + if (bg_col.w > 0.0f) + window->DrawList->AddRectFilled(bb.Min + padding, bb.Max - padding, ImGui::GetColorU32(bg_col)); + + window->DrawList->AddImageRounded(user_texture_id, bb.Min + padding, bb.Max - padding, ImVec2(0, 0), ImVec2(1, 1), ImGui::GetColorU32(tint_col), 5.0f); + + if (ImGui::IsItemHovered()) + { + ImDrawList* drawlist = ImGui::GetWindowDrawList(); + + // Drawing selected overlay + ImVec2 btnMin = ImGui::GetItemRectMin(); + ImVec2 btnMax = ImGui::GetItemRectMax(); + drawlist->AddRectFilled(btnMin, btnMax, ImGui::GetColorU32(ImGuiCol_ModalWindowDimBg), 8.0f); + + // Calculating and drawing text over the image + ImVec2 textSize = ImGui::CalcTextSize(hover_text); + if (textSize.x < size.x) + { + float offsetX = (ImGui::GetItemRectSize().x - textSize.x) / 2; + drawlist->AddText(ImVec2(btnMin.x + offsetX, btnMin.y + 10), ImGui::GetColorU32(ImGuiCol_Text), hover_text); + } + else + { + std::string buff = ""; + std::stringstream ss(hover_text); + short count = 1; + + while (ss >> buff) + { + textSize = ImGui::CalcTextSize(buff.c_str()); + float offsetX = (ImGui::GetItemRectSize().x - textSize.x) / 2; + drawlist->AddText(ImVec2(btnMin.x + offsetX, btnMin.y + 10 * count), + ImGui::GetColorU32(ImGuiCol_Text), buff.c_str()); + ++count; + } + } + } + + return pressed; +} bool Ui::ListBox(const char* label, std::vector& all_items, int& selected) { @@ -90,9 +207,12 @@ ImVec2 Ui::GetSize(short count, bool spacing) void Ui::CenterdText(const std::string& text) { - float font_size = ImGui::GetFontSize() * text.size() / 2; + ImVec2 size = ImGui::CalcTextSize(text.c_str()); ImGui::NewLine(); - ImGui::SameLine(ImGui::GetWindowSize().x / 2 - font_size + (font_size / 1.8)); + ImGui::SameLine( + ((ImGui::GetWindowContentRegionWidth() - size.x) / 2) + ); + ImGui::Text(text.c_str()); } @@ -104,6 +224,7 @@ void Ui::DrawHeaders(CallbackTable& data) auto colors = ImGui::GetStyle().Colors; ImVec4 btn_col = colors[ImGuiCol_Button]; static void* func; + ImGui::PushFont(FontMgr::GetFont("header")); for (auto it = data.begin(); it != data.end(); ++it) { const char* btn_text = it->first.c_str(); @@ -128,6 +249,7 @@ void Ui::DrawHeaders(CallbackTable& data) ImGui::SameLine(); i++; } + ImGui::PopFont(); ImGui::PopStyleVar(); ImGui::Dummy(ImVec2(0, 10)); @@ -204,7 +326,7 @@ bool Ui::CheckboxWithHint(const char* label, bool* v, const char* hint, bool is_ // draw the button ImVec2 min = ImGui::GetItemRectMin(); ImVec2 max = ImGui::GetItemRectMax(); - drawlist->AddRectFilled(min, max, color); + drawlist->AddRectFilled(min, max, color, ImGui::GetStyle().FrameRounding); int pad = static_cast(square_sz / 6.0); pad = (pad < 1) ? 1 : pad; @@ -239,7 +361,7 @@ bool Ui::CheckboxWithHint(const char* label, bool* v, const char* hint, bool is_ *v = !*v; } min = ImGui::GetItemRectMin(); - drawlist->AddText(ImVec2(min.x, min.y + style.ItemInnerSpacing.y), ImGui::GetColorU32(ImGuiCol_Text), label); + drawlist->AddText(ImVec2(min.x, min.y + style.ItemInnerSpacing.y / 2), ImGui::GetColorU32(ImGuiCol_Text), label); // draw hint if (hint != nullptr) @@ -247,7 +369,7 @@ bool Ui::CheckboxWithHint(const char* label, bool* v, const char* hint, bool is_ ImGui::SameLine(0, style.ItemInnerSpacing.x); ImGui::InvisibleButton("?", ImGui::CalcTextSize("?", nullptr, true)); min = ImGui::GetItemRectMin(); - drawlist->AddText(ImVec2(min.x, min.y + style.ItemInnerSpacing.y), ImGui::GetColorU32(ImGuiCol_TextDisabled), + drawlist->AddText(ImVec2(min.x, min.y + style.ItemInnerSpacing.y / 2), ImGui::GetColorU32(ImGuiCol_TextDisabled), "?"); if (ImGui::IsItemHovered() && !is_disabled) @@ -522,6 +644,14 @@ void Ui::DrawImages(ResourceStore &store, std::function onLe ImGui::Spacing(); ImGui::BeginChild("DrawImages"); + if (gRenderer == Render_DirectX9) + { + ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, ImVec2(3, 3)); + ImGui::PushStyleVar(ImGuiStyleVar_ItemSpacing, ImVec2(3, 3)); + ImGui::PushStyleVar(ImGuiStyleVar_ItemInnerSpacing, ImVec2(3, 3)); + ImGui::PushStyleVar(ImGuiStyleVar_IndentSpacing, 10.0f); + } + for (uint i = 0; i < store.m_ImagesList.size(); ++i) { std::string text = store.m_ImagesList[i]->m_FileName; @@ -545,7 +675,7 @@ void Ui::DrawImages(ResourceStore &store, std::function onLe } else { - if (ImGui::ImageButton(store.m_ImagesList[i]->m_pTexture, m_ImageSize, ImVec2(0, 0), ImVec2(1, 1), 1, ImVec4(1, 1, 1, 1), ImVec4(1, 1, 1, 1))) + if (Ui::RoundedImageButton(store.m_ImagesList[i]->m_pTexture, m_ImageSize, modelName.c_str(), 0, ImVec4(0, 0, 0, 0), ImVec4(1, 1, 1, 1))) { onLeftClick(text); } @@ -560,40 +690,6 @@ void Ui::DrawImages(ResourceStore &store, std::function onLe if (gRenderer != Render_DirectX11) { - if (ImGui::IsItemHovered()) - { - ImDrawList* drawlist = ImGui::GetWindowDrawList(); - - // Drawing selected overlay - ImVec2 btnMin = ImGui::GetItemRectMin(); - ImVec2 btnMax = ImGui::GetItemRectMax(); - drawlist->AddRectFilled(btnMin, btnMax, ImGui::GetColorU32(ImGuiCol_ModalWindowDimBg)); - - // Calculating and drawing text over the image - ImVec2 textSize = ImGui::CalcTextSize(modelName.c_str()); - if (textSize.x < m_ImageSize.x) - { - float offsetX = (ImGui::GetItemRectSize().x - textSize.x) / 2; - drawlist->AddText(ImVec2(btnMin.x + offsetX, btnMin.y + 10), ImGui::GetColorU32(ImGuiCol_Text), - modelName.c_str()); - } - else - { - std::string buff = ""; - std::stringstream ss(modelName); - short count = 1; - - while (ss >> buff) - { - textSize = ImGui::CalcTextSize(buff.c_str()); - float offsetX = (ImGui::GetItemRectSize().x - textSize.x) / 2; - drawlist->AddText(ImVec2(btnMin.x + offsetX, btnMin.y + 10 * count), - ImGui::GetColorU32(ImGuiCol_Text), buff.c_str()); - ++count; - } - } - } - if (imageCount % imagesInRow != 0) { ImGui::SameLine(0.0, ImGui::GetStyle().ItemInnerSpacing.x); @@ -603,6 +699,11 @@ void Ui::DrawImages(ResourceStore &store, std::function onLe } } + if (gRenderer == Render_DirectX9) + { + ImGui::PopStyleVar(4); + } + // Draw popup code if (imgPopup.function != nullptr) { diff --git a/src/ui.h b/src/ui.h index aa6b9b7..58a798e 100644 --- a/src/ui.h +++ b/src/ui.h @@ -57,7 +57,7 @@ public: std::function get_name_func, std::function verify_func = nullptr, const char** custom_names = nullptr, size_t length = 0); - + static bool DrawTitleBar(); template static void EditAddress(const char* label, int address, int min = 0, int def = 0, int max = 100); static void EditBits(const char* label, int address, const std::vector& names); @@ -81,7 +81,7 @@ public: static void RadioButtonAddress(const char* label, std::vector& named_mem); static void RadioButtonAddressEx(const char* label, int addr, std::vector& named_val); - + static bool RoundedImageButton(ImTextureID user_texture_id, ImVec2& size, const char* hover_text, int frame_padding, const ImVec4& bg_col, const ImVec4& tint_col); static void ColorPickerAddress(const char* label, int base_addr, ImVec4&& default_color); static void ShowTooltip(const char* text); }; diff --git a/tools/premake5.lua b/tools/premake5.lua index 4a45ee3..85fc70d 100644 --- a/tools/premake5.lua +++ b/tools/premake5.lua @@ -80,6 +80,8 @@ project "CheatMenuIII" "../src/ped.cpp", "../src/resourcestore.h", "../src/resourcestore.cpp", + "../src/fontmgr.h", + "../src/fontmgr.cpp", "../src/hotkeys.h", "../src/hotkeys.cpp", "../src/vehicle.h", @@ -180,6 +182,8 @@ project "CheatMenuVC" "../src/visual.cpp", "../src/resourcestore.h", "../src/resourcestore.cpp", + "../src/fontmgr.h", + "../src/fontmgr.cpp", "../src/filehandler.h", "../src/filehandler.cpp", "../src/hotkeys.h",