dirk-cfx-react 1.1.81 → 1.1.82

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -5856,6 +5856,355 @@ function AnimPostFxSelect({
5856
5856
  );
5857
5857
  }
5858
5858
 
5859
+ // src/utils/gtaScenarios.ts
5860
+ var GTA_SCENARIO_GROUP_ORDER = [
5861
+ "Sitting",
5862
+ "Standing & Idle",
5863
+ "Eating & Drinking",
5864
+ "Smoking & Substances",
5865
+ "Working",
5866
+ "Sports & Fitness",
5867
+ "Cops & Security",
5868
+ "Crime & Streets",
5869
+ "Tourists & Crowds",
5870
+ "Props (Misc)",
5871
+ "Movement",
5872
+ "Animals",
5873
+ "Vehicles",
5874
+ "Code (Advanced)"
5875
+ ];
5876
+ var GTA_SCENARIOS = [
5877
+ // ── Sitting ────────────────────────────────────────────────────────────────
5878
+ { name: "PROP_HUMAN_SEAT_ARMCHAIR", group: "Sitting" },
5879
+ { name: "PROP_HUMAN_SEAT_BAR", group: "Sitting" },
5880
+ { name: "PROP_HUMAN_SEAT_BENCH", group: "Sitting" },
5881
+ { name: "PROP_HUMAN_SEAT_BENCH_FACILITY", group: "Sitting" },
5882
+ { name: "PROP_HUMAN_SEAT_BENCH_DRINK", group: "Sitting" },
5883
+ { name: "PROP_HUMAN_SEAT_BENCH_DRINK_FACILITY", group: "Sitting" },
5884
+ { name: "PROP_HUMAN_SEAT_BENCH_DRINK_BEER", group: "Sitting" },
5885
+ { name: "PROP_HUMAN_SEAT_BENCH_FOOD", group: "Sitting" },
5886
+ { name: "PROP_HUMAN_SEAT_BENCH_FOOD_FACILITY", group: "Sitting" },
5887
+ { name: "PROP_HUMAN_SEAT_BUS_STOP_WAIT", group: "Sitting" },
5888
+ { name: "PROP_HUMAN_SEAT_CHAIR", group: "Sitting" },
5889
+ { name: "PROP_HUMAN_SEAT_CHAIR_DRINK", group: "Sitting" },
5890
+ { name: "PROP_HUMAN_SEAT_CHAIR_DRINK_BEER", group: "Sitting" },
5891
+ { name: "PROP_HUMAN_SEAT_CHAIR_FOOD", group: "Sitting" },
5892
+ { name: "PROP_HUMAN_SEAT_CHAIR_UPRIGHT", group: "Sitting" },
5893
+ { name: "PROP_HUMAN_SEAT_CHAIR_UPRIGHT_SHOWROOM", group: "Sitting" },
5894
+ { name: "PROP_HUMAN_SEAT_CHAIR_MP_PLAYER", group: "Sitting" },
5895
+ { name: "PROP_HUMAN_SEAT_COMPUTER", group: "Sitting" },
5896
+ { name: "PROP_HUMAN_SEAT_COMPUTER_LOW", group: "Sitting" },
5897
+ { name: "PROP_HUMAN_SEAT_DECKCHAIR", group: "Sitting" },
5898
+ { name: "PROP_HUMAN_SEAT_DECKCHAIR_DRINK", group: "Sitting" },
5899
+ { name: "PROP_HUMAN_SEAT_SEWING", group: "Sitting" },
5900
+ { name: "PROP_HUMAN_SEAT_STRIP_WATCH", group: "Sitting" },
5901
+ { name: "PROP_HUMAN_SEAT_SUNLOUNGER", group: "Sitting" },
5902
+ { name: "WORLD_HUMAN_SEAT_LEDGE", group: "Sitting" },
5903
+ { name: "WORLD_HUMAN_SEAT_LEDGE_EATING", group: "Sitting" },
5904
+ { name: "WORLD_HUMAN_SEAT_STEPS", group: "Sitting" },
5905
+ { name: "WORLD_HUMAN_SEAT_WALL", group: "Sitting" },
5906
+ { name: "WORLD_HUMAN_SEAT_WALL_EATING", group: "Sitting" },
5907
+ { name: "WORLD_HUMAN_SEAT_WALL_TABLET", group: "Sitting" },
5908
+ // ── Standing & Idle ────────────────────────────────────────────────────────
5909
+ { name: "Standing", group: "Standing & Idle" },
5910
+ { name: "WORLD_HUMAN_HANG_OUT_STREET", group: "Standing & Idle" },
5911
+ { name: "WORLD_HUMAN_HANG_OUT_STREET_CLUBHOUSE", group: "Standing & Idle" },
5912
+ { name: "WORLD_HUMAN_LEANING", group: "Standing & Idle" },
5913
+ { name: "WORLD_HUMAN_LEANING_CASINO_TERRACE", group: "Standing & Idle" },
5914
+ { name: "WORLD_HUMAN_STAND_IMPATIENT", group: "Standing & Idle" },
5915
+ { name: "WORLD_HUMAN_STAND_IMPATIENT_CLUBHOUSE", group: "Standing & Idle" },
5916
+ { name: "WORLD_HUMAN_STAND_IMPATIENT_FACILITY", group: "Standing & Idle" },
5917
+ { name: "WORLD_HUMAN_STAND_IMPATIENT_UPRIGHT", group: "Standing & Idle" },
5918
+ { name: "WORLD_HUMAN_STAND_IMPATIENT_UPRIGHT_FACILITY", group: "Standing & Idle" },
5919
+ { name: "WORLD_HUMAN_STAND_MOBILE", group: "Standing & Idle" },
5920
+ { name: "WORLD_HUMAN_STAND_MOBILE_CLUBHOUSE", group: "Standing & Idle" },
5921
+ { name: "WORLD_HUMAN_STAND_MOBILE_FACILITY", group: "Standing & Idle" },
5922
+ { name: "WORLD_HUMAN_STAND_MOBILE_UPRIGHT", group: "Standing & Idle" },
5923
+ { name: "WORLD_HUMAN_STAND_MOBILE_UPRIGHT_CLUBHOUSE", group: "Standing & Idle" },
5924
+ { name: "WORLD_HUMAN_STAND_FIRE", group: "Standing & Idle" },
5925
+ { name: "WORLD_HUMAN_STAND_FISHING", group: "Standing & Idle" },
5926
+ { name: "PROP_HUMAN_STAND_IMPATIENT", group: "Standing & Idle" },
5927
+ // ── Eating & Drinking ──────────────────────────────────────────────────────
5928
+ { name: "WORLD_HUMAN_DRINKING", group: "Eating & Drinking" },
5929
+ { name: "WORLD_HUMAN_DRINKING_FACILITY", group: "Eating & Drinking" },
5930
+ { name: "WORLD_HUMAN_DRINKING_CASINO_TERRACE", group: "Eating & Drinking" },
5931
+ { name: "WORLD_HUMAN_PICNIC", group: "Eating & Drinking" },
5932
+ // ── Smoking & Substances ───────────────────────────────────────────────────
5933
+ { name: "WORLD_HUMAN_AA_COFFEE", group: "Smoking & Substances" },
5934
+ { name: "WORLD_HUMAN_AA_SMOKE", group: "Smoking & Substances" },
5935
+ { name: "WORLD_HUMAN_SMOKING", group: "Smoking & Substances" },
5936
+ { name: "WORLD_HUMAN_SMOKING_CLUBHOUSE", group: "Smoking & Substances" },
5937
+ { name: "WORLD_HUMAN_SMOKING_POT", group: "Smoking & Substances" },
5938
+ { name: "WORLD_HUMAN_SMOKING_POT_CLUBHOUSE", group: "Smoking & Substances" },
5939
+ { name: "WORLD_HUMAN_STUPOR", group: "Smoking & Substances" },
5940
+ { name: "WORLD_HUMAN_STUPOR_CLUBHOUSE", group: "Smoking & Substances" },
5941
+ // ── Working ────────────────────────────────────────────────────────────────
5942
+ { name: "WORLD_HUMAN_CAR_PARK_ATTENDANT", group: "Working" },
5943
+ { name: "WORLD_HUMAN_CLIPBOARD", group: "Working" },
5944
+ { name: "WORLD_HUMAN_CLIPBOARD_FACILITY", group: "Working" },
5945
+ { name: "WORLD_HUMAN_CONST_DRILL", group: "Working" },
5946
+ { name: "WORLD_HUMAN_GARDENER_LEAF_BLOWER", group: "Working" },
5947
+ { name: "WORLD_HUMAN_GARDENER_PLANT", group: "Working" },
5948
+ { name: "WORLD_HUMAN_HAMMERING", group: "Working" },
5949
+ { name: "WORLD_HUMAN_JANITOR", group: "Working" },
5950
+ { name: "WORLD_HUMAN_MAID_CLEAN", group: "Working" },
5951
+ { name: "WORLD_HUMAN_MUSICIAN", group: "Working" },
5952
+ { name: "WORLD_HUMAN_VALET", group: "Working" },
5953
+ { name: "WORLD_HUMAN_VEHICLE_MECHANIC", group: "Working" },
5954
+ { name: "WORLD_HUMAN_WELDING", group: "Working" },
5955
+ // ── Sports & Fitness ───────────────────────────────────────────────────────
5956
+ { name: "WORLD_HUMAN_GOLF_PLAYER", group: "Sports & Fitness" },
5957
+ { name: "WORLD_HUMAN_HIKER", group: "Sports & Fitness" },
5958
+ { name: "WORLD_HUMAN_HIKER_STANDING", group: "Sports & Fitness" },
5959
+ { name: "WORLD_HUMAN_JOG", group: "Sports & Fitness" },
5960
+ { name: "WORLD_HUMAN_JOG_STANDING", group: "Sports & Fitness" },
5961
+ { name: "WORLD_HUMAN_MUSCLE_FLEX", group: "Sports & Fitness" },
5962
+ { name: "WORLD_HUMAN_MUSCLE_FREE_WEIGHTS", group: "Sports & Fitness" },
5963
+ { name: "WORLD_HUMAN_POWER_WALKER", group: "Sports & Fitness" },
5964
+ { name: "WORLD_HUMAN_PUSH_UPS", group: "Sports & Fitness" },
5965
+ { name: "WORLD_HUMAN_SIT_UPS", group: "Sports & Fitness" },
5966
+ { name: "WORLD_HUMAN_SUNBATHE", group: "Sports & Fitness" },
5967
+ { name: "WORLD_HUMAN_SUNBATHE_BACK", group: "Sports & Fitness" },
5968
+ { name: "WORLD_HUMAN_SWIMMING", group: "Sports & Fitness" },
5969
+ { name: "WORLD_HUMAN_TENNIS_PLAYER", group: "Sports & Fitness" },
5970
+ { name: "WORLD_HUMAN_YOGA", group: "Sports & Fitness" },
5971
+ { name: "PROP_HUMAN_MUSCLE_CHIN_UPS", group: "Sports & Fitness" },
5972
+ { name: "PROP_HUMAN_MUSCLE_CHIN_UPS_ARMY", group: "Sports & Fitness" },
5973
+ { name: "PROP_HUMAN_MUSCLE_CHIN_UPS_PRISON", group: "Sports & Fitness" },
5974
+ { name: "PROP_HUMAN_SEAT_MUSCLE_BENCH_PRESS", group: "Sports & Fitness" },
5975
+ { name: "PROP_HUMAN_SEAT_MUSCLE_BENCH_PRESS_PRISON", group: "Sports & Fitness" },
5976
+ // ── Cops & Security ────────────────────────────────────────────────────────
5977
+ { name: "WORLD_HUMAN_COP_IDLES", group: "Cops & Security" },
5978
+ { name: "WORLD_HUMAN_GUARD_PATROL", group: "Cops & Security" },
5979
+ { name: "WORLD_HUMAN_GUARD_STAND", group: "Cops & Security" },
5980
+ { name: "WORLD_HUMAN_GUARD_STAND_CASINO", group: "Cops & Security" },
5981
+ { name: "WORLD_HUMAN_GUARD_STAND_CLUBHOUSE", group: "Cops & Security" },
5982
+ { name: "WORLD_HUMAN_GUARD_STAND_FACILITY", group: "Cops & Security" },
5983
+ { name: "WORLD_HUMAN_GUARD_STAND_ARMY", group: "Cops & Security" },
5984
+ { name: "WORLD_HUMAN_SECURITY_SHINE_TORCH", group: "Cops & Security" },
5985
+ // ── Crime & Streets ────────────────────────────────────────────────────────
5986
+ { name: "WORLD_HUMAN_DRUG_DEALER", group: "Crime & Streets" },
5987
+ { name: "WORLD_HUMAN_DRUG_DEALER_HARD", group: "Crime & Streets" },
5988
+ { name: "WORLD_HUMAN_DRUG_FIELD_WORKERS_RAKE", group: "Crime & Streets" },
5989
+ { name: "WORLD_HUMAN_DRUG_FIELD_WORKERS_WEEDING", group: "Crime & Streets" },
5990
+ { name: "WORLD_HUMAN_DRUG_PROCESSORS_COKE", group: "Crime & Streets" },
5991
+ { name: "WORLD_HUMAN_DRUG_PROCESSORS_WEED", group: "Crime & Streets" },
5992
+ { name: "WORLD_HUMAN_PROSTITUTE_HIGH_CLASS", group: "Crime & Streets" },
5993
+ { name: "WORLD_HUMAN_PROSTITUTE_LOW_CLASS", group: "Crime & Streets" },
5994
+ { name: "WORLD_HUMAN_BUM_FREEWAY", group: "Crime & Streets" },
5995
+ { name: "WORLD_HUMAN_BUM_SLUMPED", group: "Crime & Streets" },
5996
+ { name: "WORLD_HUMAN_BUM_STANDING", group: "Crime & Streets" },
5997
+ { name: "WORLD_HUMAN_BUM_WASH", group: "Crime & Streets" },
5998
+ { name: "PROP_HUMAN_BUM_BIN", group: "Crime & Streets" },
5999
+ { name: "PROP_HUMAN_BUM_SHOPPING_CART", group: "Crime & Streets" },
6000
+ // ── Tourists & Crowds ──────────────────────────────────────────────────────
6001
+ { name: "WORLD_HUMAN_BINOCULARS", group: "Tourists & Crowds" },
6002
+ { name: "WORLD_HUMAN_CHEERING", group: "Tourists & Crowds" },
6003
+ { name: "WORLD_HUMAN_HUMAN_STATUE", group: "Tourists & Crowds" },
6004
+ { name: "WORLD_HUMAN_INSPECT_CROUCH", group: "Tourists & Crowds" },
6005
+ { name: "WORLD_HUMAN_INSPECT_STAND", group: "Tourists & Crowds" },
6006
+ { name: "WORLD_HUMAN_MOBILE_FILM_SHOCKING", group: "Tourists & Crowds" },
6007
+ { name: "WORLD_HUMAN_PAPARAZZI", group: "Tourists & Crowds" },
6008
+ { name: "WORLD_HUMAN_PARTYING", group: "Tourists & Crowds" },
6009
+ { name: "WORLD_HUMAN_STRIP_WATCH_STAND", group: "Tourists & Crowds" },
6010
+ { name: "WORLD_HUMAN_SUPERHERO", group: "Tourists & Crowds" },
6011
+ { name: "WORLD_HUMAN_TOURIST_MAP", group: "Tourists & Crowds" },
6012
+ { name: "WORLD_HUMAN_TOURIST_MOBILE", group: "Tourists & Crowds" },
6013
+ { name: "WORLD_HUMAN_WINDOW_SHOP_BROWSE", group: "Tourists & Crowds" },
6014
+ { name: "WORLD_HUMAN_WINDOW_SHOP_BROWSE_SHOWROOM", group: "Tourists & Crowds" },
6015
+ // ── Props (Misc) ───────────────────────────────────────────────────────────
6016
+ { name: "PROP_HUMAN_ATM", group: "Props (Misc)" },
6017
+ { name: "PROP_HUMAN_BBQ", group: "Props (Misc)" },
6018
+ { name: "PROP_HUMAN_PARKING_METER", group: "Props (Misc)" },
6019
+ { name: "PROP_HUMAN_MOVIE_BULB", group: "Props (Misc)" },
6020
+ { name: "PROP_HUMAN_MOVIE_STUDIO_LIGHT", group: "Props (Misc)" },
6021
+ { name: "PROP_BIRD_IN_TREE", group: "Props (Misc)" },
6022
+ { name: "PROP_BIRD_TELEGRAPH_POLE", group: "Props (Misc)" },
6023
+ // ── Movement ───────────────────────────────────────────────────────────────
6024
+ { name: "Walk", group: "Movement" },
6025
+ { name: "Walk_Facility", group: "Movement" },
6026
+ // ── Animals ────────────────────────────────────────────────────────────────
6027
+ { name: "WORLD_BOAR_GRAZING", group: "Animals" },
6028
+ { name: "WORLD_CAT_SLEEPING_GROUND", group: "Animals" },
6029
+ { name: "WORLD_CAT_SLEEPING_LEDGE", group: "Animals" },
6030
+ { name: "WORLD_COW_GRAZING", group: "Animals" },
6031
+ { name: "WORLD_COYOTE_HOWL", group: "Animals" },
6032
+ { name: "WORLD_COYOTE_REST", group: "Animals" },
6033
+ { name: "WORLD_COYOTE_WANDER", group: "Animals" },
6034
+ { name: "WORLD_COYOTE_WALK", group: "Animals" },
6035
+ { name: "WORLD_CHICKENHAWK_FEEDING", group: "Animals" },
6036
+ { name: "WORLD_CHICKENHAWK_STANDING", group: "Animals" },
6037
+ { name: "WORLD_CORMORANT_STANDING", group: "Animals" },
6038
+ { name: "WORLD_CROW_FEEDING", group: "Animals" },
6039
+ { name: "WORLD_CROW_STANDING", group: "Animals" },
6040
+ { name: "WORLD_DEER_GRAZING", group: "Animals" },
6041
+ { name: "WORLD_DOG_BARKING_ROTTWEILER", group: "Animals" },
6042
+ { name: "WORLD_DOG_BARKING_RETRIEVER", group: "Animals" },
6043
+ { name: "WORLD_DOG_BARKING_SHEPHERD", group: "Animals" },
6044
+ { name: "WORLD_DOG_BARKING_SMALL", group: "Animals" },
6045
+ { name: "WORLD_DOG_SITTING_ROTTWEILER", group: "Animals" },
6046
+ { name: "WORLD_DOG_SITTING_RETRIEVER", group: "Animals" },
6047
+ { name: "WORLD_DOG_SITTING_SHEPHERD", group: "Animals" },
6048
+ { name: "WORLD_DOG_SITTING_SMALL", group: "Animals" },
6049
+ { name: "WORLD_DOLPHIN_SWIM", group: "Animals" },
6050
+ { name: "WORLD_FISH_FLEE", group: "Animals" },
6051
+ { name: "WORLD_FISH_IDLE", group: "Animals" },
6052
+ { name: "WORLD_GULL_FEEDING", group: "Animals" },
6053
+ { name: "WORLD_GULL_STANDING", group: "Animals" },
6054
+ { name: "WORLD_HEN_FLEE", group: "Animals" },
6055
+ { name: "WORLD_HEN_PECKING", group: "Animals" },
6056
+ { name: "WORLD_HEN_STANDING", group: "Animals" },
6057
+ { name: "WORLD_MOUNTAIN_LION_REST", group: "Animals" },
6058
+ { name: "WORLD_MOUNTAIN_LION_WANDER", group: "Animals" },
6059
+ { name: "WORLD_ORCA_SWIM", group: "Animals" },
6060
+ { name: "WORLD_PIG_GRAZING", group: "Animals" },
6061
+ { name: "WORLD_PIGEON_FEEDING", group: "Animals" },
6062
+ { name: "WORLD_PIGEON_STANDING", group: "Animals" },
6063
+ { name: "WORLD_RABBIT_EATING", group: "Animals" },
6064
+ { name: "WORLD_RABBIT_FLEE", group: "Animals" },
6065
+ { name: "WORLD_RATS_EATING", group: "Animals" },
6066
+ { name: "WORLD_RATS_FLEEING", group: "Animals" },
6067
+ { name: "WORLD_SHARK_SWIM", group: "Animals" },
6068
+ { name: "WORLD_SHARK_HAMMERHEAD_SWIM", group: "Animals" },
6069
+ { name: "WORLD_STINGRAY_SWIM", group: "Animals" },
6070
+ { name: "WORLD_WHALE_SWIM", group: "Animals" },
6071
+ // ── Vehicles ───────────────────────────────────────────────────────────────
6072
+ { name: "DRIVE", group: "Vehicles" },
6073
+ { name: "PARK_VEHICLE", group: "Vehicles" },
6074
+ { name: "WORLD_VEHICLE_ATTRACTOR", group: "Vehicles" },
6075
+ { name: "WORLD_VEHICLE_AMBULANCE", group: "Vehicles" },
6076
+ { name: "WORLD_VEHICLE_BICYCLE_BMX", group: "Vehicles" },
6077
+ { name: "WORLD_VEHICLE_BICYCLE_BMX_BALLAS", group: "Vehicles" },
6078
+ { name: "WORLD_VEHICLE_BICYCLE_BMX_FAMILY", group: "Vehicles" },
6079
+ { name: "WORLD_VEHICLE_BICYCLE_BMX_HARMONY", group: "Vehicles" },
6080
+ { name: "WORLD_VEHICLE_BICYCLE_BMX_VAGOS", group: "Vehicles" },
6081
+ { name: "WORLD_VEHICLE_BICYCLE_MOUNTAIN", group: "Vehicles" },
6082
+ { name: "WORLD_VEHICLE_BICYCLE_ROAD", group: "Vehicles" },
6083
+ { name: "WORLD_VEHICLE_BIKE_OFF_ROAD_RACE", group: "Vehicles" },
6084
+ { name: "WORLD_VEHICLE_BIKER", group: "Vehicles" },
6085
+ { name: "WORLD_VEHICLE_BOAT_IDLE", group: "Vehicles" },
6086
+ { name: "WORLD_VEHICLE_BOAT_IDLE_ALAMO", group: "Vehicles" },
6087
+ { name: "WORLD_VEHICLE_BOAT_IDLE_MARQUIS", group: "Vehicles" },
6088
+ { name: "WORLD_VEHICLE_BROKEN_DOWN", group: "Vehicles" },
6089
+ { name: "WORLD_VEHICLE_BUSINESSMEN", group: "Vehicles" },
6090
+ { name: "WORLD_VEHICLE_CLUCKIN_BELL_TRAILER", group: "Vehicles" },
6091
+ { name: "WORLD_VEHICLE_CONSTRUCTION_SOLO", group: "Vehicles" },
6092
+ { name: "WORLD_VEHICLE_CONSTRUCTION_PASSENGERS", group: "Vehicles" },
6093
+ { name: "WORLD_VEHICLE_DISTANT_EMPTY_GROUND", group: "Vehicles" },
6094
+ { name: "WORLD_VEHICLE_DRIVE_PASSENGERS", group: "Vehicles" },
6095
+ { name: "WORLD_VEHICLE_DRIVE_PASSENGERS_LIMITED", group: "Vehicles" },
6096
+ { name: "WORLD_VEHICLE_DRIVE_SOLO", group: "Vehicles" },
6097
+ { name: "WORLD_VEHICLE_EMPTY", group: "Vehicles" },
6098
+ { name: "WORLD_VEHICLE_FARM_WORKER", group: "Vehicles" },
6099
+ { name: "WORLD_VEHICLE_FIRE_TRUCK", group: "Vehicles" },
6100
+ { name: "WORLD_VEHICLE_HELI_LIFEGUARD", group: "Vehicles" },
6101
+ { name: "WORLD_VEHICLE_MARIACHI", group: "Vehicles" },
6102
+ { name: "WORLD_VEHICLE_MECHANIC", group: "Vehicles" },
6103
+ { name: "WORLD_VEHICLE_MILITARY_PLANES_BIG", group: "Vehicles" },
6104
+ { name: "WORLD_VEHICLE_MILITARY_PLANES_SMALL", group: "Vehicles" },
6105
+ { name: "WORLD_VEHICLE_PARK_PARALLEL", group: "Vehicles" },
6106
+ { name: "WORLD_VEHICLE_PARK_PERPENDICULAR_NOSE_IN", group: "Vehicles" },
6107
+ { name: "WORLD_VEHICLE_PASSENGER_EXIT", group: "Vehicles" },
6108
+ { name: "WORLD_VEHICLE_POLICE_BIKE", group: "Vehicles" },
6109
+ { name: "WORLD_VEHICLE_POLICE_CAR", group: "Vehicles" },
6110
+ { name: "WORLD_VEHICLE_POLICE_NEXT_TO_CAR", group: "Vehicles" },
6111
+ { name: "WORLD_VEHICLE_QUARRY", group: "Vehicles" },
6112
+ { name: "WORLD_VEHICLE_SALTON", group: "Vehicles" },
6113
+ { name: "WORLD_VEHICLE_SALTON_DIRT_BIKE", group: "Vehicles" },
6114
+ { name: "WORLD_VEHICLE_SECURITY_CAR", group: "Vehicles" },
6115
+ { name: "WORLD_VEHICLE_STREETRACE", group: "Vehicles" },
6116
+ { name: "WORLD_VEHICLE_TANDL", group: "Vehicles" },
6117
+ { name: "WORLD_VEHICLE_TOURBUS", group: "Vehicles" },
6118
+ { name: "WORLD_VEHICLE_TOURIST", group: "Vehicles" },
6119
+ { name: "WORLD_VEHICLE_TRACTOR", group: "Vehicles" },
6120
+ { name: "WORLD_VEHICLE_TRACTOR_BEACH", group: "Vehicles" },
6121
+ { name: "WORLD_VEHICLE_TRUCK_LOGS", group: "Vehicles" },
6122
+ { name: "WORLD_VEHICLE_TRUCKS_TRAILERS", group: "Vehicles" },
6123
+ // ── Code (Advanced) ────────────────────────────────────────────────────────
6124
+ // These are engine-internal scenarios — rarely the right pick for cinematic
6125
+ // ped placements, but exposed because the game-data dump includes them.
6126
+ { name: "CODE_HUMAN_COWER", group: "Code (Advanced)" },
6127
+ { name: "CODE_HUMAN_CROSS_ROAD_WAIT", group: "Code (Advanced)" },
6128
+ { name: "CODE_HUMAN_PARK_CAR", group: "Code (Advanced)" },
6129
+ { name: "CODE_HUMAN_MEDIC_KNEEL", group: "Code (Advanced)" },
6130
+ { name: "CODE_HUMAN_MEDIC_TEND_TO_DEAD", group: "Code (Advanced)" },
6131
+ { name: "CODE_HUMAN_MEDIC_TIME_OF_DEATH", group: "Code (Advanced)" },
6132
+ { name: "CODE_HUMAN_POLICE_CROWD_CONTROL", group: "Code (Advanced)" },
6133
+ { name: "CODE_HUMAN_POLICE_INVESTIGATE", group: "Code (Advanced)" },
6134
+ { name: "CODE_HUMAN_STAND_COWER", group: "Code (Advanced)" },
6135
+ { name: "CHAINING_ENTRY", group: "Code (Advanced)" },
6136
+ { name: "CHAINING_EXIT", group: "Code (Advanced)" },
6137
+ { name: "EAR_TO_TEXT", group: "Code (Advanced)" },
6138
+ { name: "EAR_TO_TEXT_FAT", group: "Code (Advanced)" },
6139
+ { name: "WORLD_LOOKAT_POINT", group: "Code (Advanced)" }
6140
+ ];
6141
+ var PREFIX_RE = /^(WORLD|PROP|CODE)_(HUMAN_|BIRD_|VEHICLE_|CAT_|DOG_|COYOTE_|FISH_|HEN_|GULL_|CROW_|RABBIT_|RATS_|SHARK_|PIGEON_|ORCA_|WHALE_|STINGRAY_|DOLPHIN_|MOUNTAIN_LION_|PIG_|COW_|DEER_|BOAR_|CHICKENHAWK_|CORMORANT_)?/;
6142
+ function formatGtaScenario(name) {
6143
+ if (!name) return "";
6144
+ const stripped = name.replace(PREFIX_RE, "");
6145
+ const cleaned = stripped.length > 0 ? stripped : name;
6146
+ return cleaned.toLowerCase().split("_").filter(Boolean).map((word) => word.charAt(0).toUpperCase() + word.slice(1)).join(" ");
6147
+ }
6148
+ function buildGroupedData3(extraNames = []) {
6149
+ const groups = /* @__PURE__ */ new Map();
6150
+ const seen = /* @__PURE__ */ new Set();
6151
+ for (const sc of GTA_SCENARIOS) {
6152
+ if (seen.has(sc.name)) continue;
6153
+ seen.add(sc.name);
6154
+ if (!groups.has(sc.group)) groups.set(sc.group, []);
6155
+ groups.get(sc.group).push(sc);
6156
+ }
6157
+ const data = GTA_SCENARIO_GROUP_ORDER.flatMap((g) => {
6158
+ const items = groups.get(g);
6159
+ if (!items || items.length === 0) return [];
6160
+ return [
6161
+ {
6162
+ group: g,
6163
+ items: items.map((sc) => ({
6164
+ value: sc.name,
6165
+ label: sc.label ?? formatGtaScenario(sc.name)
6166
+ }))
6167
+ }
6168
+ ];
6169
+ });
6170
+ const knownNames = new Set(GTA_SCENARIOS.map((sc) => sc.name));
6171
+ const customs = extraNames.filter((n) => n && !knownNames.has(n));
6172
+ if (customs.length > 0) {
6173
+ data.push({
6174
+ group: "Custom",
6175
+ items: customs.map((n) => ({ value: n, label: n }))
6176
+ });
6177
+ }
6178
+ return data;
6179
+ }
6180
+ function ScenarioSelect({
6181
+ value,
6182
+ onChange,
6183
+ label = "Scenario",
6184
+ size = "xs",
6185
+ searchable = true,
6186
+ clearable = true,
6187
+ ...rest
6188
+ }) {
6189
+ const data = buildGroupedData3([value]);
6190
+ return /* @__PURE__ */ jsxRuntime.jsx(
6191
+ core.Select,
6192
+ {
6193
+ label,
6194
+ size,
6195
+ searchable,
6196
+ clearable,
6197
+ maxDropdownHeight: 320,
6198
+ nothingFoundMessage: "No matching scenarios",
6199
+ placeholder: "Pick a scenario...",
6200
+ ...rest,
6201
+ data,
6202
+ value: value || null,
6203
+ onChange: (v) => onChange(v ?? "")
6204
+ }
6205
+ );
6206
+ }
6207
+
5859
6208
  exports.AdminPageTitle = AdminPageTitle;
5860
6209
  exports.AnimPostFxSelect = AnimPostFxSelect;
5861
6210
  exports.AsyncSaveButton = AsyncSaveButton;
@@ -5890,6 +6239,7 @@ exports.NavigationContext = NavigationContext;
5890
6239
  exports.NavigationProvider = NavigationProvider;
5891
6240
  exports.PositionPicker = PositionPicker;
5892
6241
  exports.PromptModal = PromptModal;
6242
+ exports.ScenarioSelect = ScenarioSelect;
5893
6243
  exports.SegmentedControl = SegmentedControl;
5894
6244
  exports.SegmentedProgress = SegmentedProgress;
5895
6245
  exports.SelectItem = SelectItem;