From 742a7bf2e9b440a6c9a9d2896ff903baa348957b Mon Sep 17 00:00:00 2001 From: m Date: Thu, 2 Feb 2023 15:28:15 -0600 Subject: [PATCH] feature(s1): token changes and fixes (#53) Co-authored-by: quaK --- src/s1/s1_pc.hpp | 2 +- src/s1/s1_pc_token.cpp | 203 ++++++++++++++++++++++++++++++++--------- 2 files changed, 162 insertions(+), 43 deletions(-) diff --git a/src/s1/s1_pc.hpp b/src/s1/s1_pc.hpp index 252b8244..64936683 100644 --- a/src/s1/s1_pc.hpp +++ b/src/s1/s1_pc.hpp @@ -14,7 +14,7 @@ namespace xsk::gsc::s1_pc constexpr usize code_count = 154; constexpr usize func_count = 735; constexpr usize meth_count = 1389; -constexpr usize token_count = 42844; +constexpr usize token_count = 42942; constexpr u32 max_string_id = 0xA7DC; class context : public gsc::context diff --git a/src/s1/s1_pc_token.cpp b/src/s1/s1_pc_token.cpp index c74a1609..1d8a3a75 100644 --- a/src/s1/s1_pc_token.cpp +++ b/src/s1/s1_pc_token.cpp @@ -145,21 +145,21 @@ extern std::array, token_count> const token_list { 0x0084, "blade_show" }, { 0x0085, "blockfriendlies" }, { 0x0086, "blurradius" }, - { 0x0087, "body" }, // 87 confirmed - { 0x0088, "body_animate_jnt" }, // between here + { 0x0087, "body" }, + { 0x0088, "body_animate_jnt" }, { 0x0089, "bottomarc" }, - { 0x008A, "br_rotor1" }, - { 0x008B, "br_rotor2" }, - { 0x008C, "br_rotor3" }, - { 0x008D, "breadcrumbheader" }, - { 0x008E, "buff" }, - { 0x008F, "bullet_hitshield" }, - { 0x0090, "bullethit" }, - { 0x0091, "bulletwhizby" }, - { 0x0092, "c" }, - { 0x0093, "callingcardindex" }, - { 0x0094, "camo" }, - { 0x0095, "__pad95" }, // and here. not sure what the mismatch is +// { 0x008A, "" }, +// { 0x008B, "" }, +// { 0x008C, "" }, +// { 0x008D, "" }, +// { 0x008E, "" }, +// { 0x008F, "" }, +// { 0x0090, "" }, +// { 0x0091, "" }, +// { 0x0092, "" }, +// { 0x0093, "" }, +// { 0x0094, "" }, +// { 0x0095, "" }, { 0x0096, "cancel_location" }, { 0x0097, "canclimbladders" }, { 0x0098, "canjumppath" }, @@ -352,10 +352,10 @@ extern std::array, token_count> const token_list { 0x0153, "entitydeleted" }, { 0x0154, "entityoverflow_max" }, { 0x0155, "entityoverflow_worst" }, - { 0x0156, "equipment" }, // 156 + { 0x0156, "equipment" }, { 0x0157, "equipmentsetups" }, { 0x0158, "escaped" }, - { 0x0159, "__pad159" }, +// { 0x0159, "" }, { 0x015A, "exclusive" }, { 0x015B, "exo_ability_activate" }, { 0x015C, "exo_adrenaline_fire" }, @@ -406,8 +406,7 @@ extern std::array, token_count> const token_list { 0x0189, "followmax" }, { 0x018A, "followmin" }, { 0x018B, "font" }, - - { 0x018C, "fontscale" }, // 18B + { 0x018C, "fontscale" }, { 0x018D, "foot_ik_active" }, { 0x018E, "foot_ik_blend_in" }, { 0x018F, "foot_ik_blend_out" }, @@ -415,9 +414,8 @@ extern std::array, token_count> const token_list { 0x0191, "footstepdetectdist" }, { 0x0192, "footstepdetectdistsprint" }, { 0x0193, "footstepdetectdistwalk" }, - { 0x0194, "force_off" }, // huh - { 0x0195, "force_on" }, // ^ -// { 0x0196, "force_fully_on" }, // ^ + { 0x0194, "force_off" }, + { 0x0195, "force_on" }, { 0x0196, "forcepartyskillignore" }, { 0x0197, "forceragdollimmediate" }, { 0x0198, "forcespectatorclient" }, @@ -492,7 +490,7 @@ extern std::array, token_count> const token_list { 0x01DD, "gunshot_teammate" }, { 0x01DE, "hardcoremodeon" }, { 0x01DF, "hasdoublexpitem" }, - { 0x01E0, "hasradar" }, // 1E0 + { 0x01E0, "hasradar" }, { 0x01E1, "hasvalidcostumeselfieimage" }, { 0x01E2, "hat" }, { 0x01E3, "head" }, @@ -538,11 +536,11 @@ extern std::array, token_count> const token_list { 0x020B, "insolid" }, { 0x020C, "intermission" }, { 0x020D, "interval" }, - { 0x020E, "inuse" }, // 20E + { 0x020E, "inuse" }, { 0x020F, "invalid_parent" }, - { 0x0210, "__pad210" }, - { 0x0211, "__pad211" }, - { 0x0212, "__pad212" }, +// { 0x0210, "" }, +// { 0x0211, "" }, +// { 0x0212, "" }, { 0x0213, "isradarblocked" }, { 0x0214, "item" }, { 0x0215, "j_exo_rcket_arm02" }, @@ -757,7 +755,7 @@ extern std::array, token_count> const token_list { 0x02E6, "origin" }, { 0x02E7, "other" }, { 0x02E8, "over" }, - { 0x02E9, "owner" }, // 2E9 + { 0x02E9, "owner" }, { 0x02EA, "pacifist" }, { 0x02EB, "pacifistwait" }, { 0x02EC, "pain" }, @@ -844,7 +842,7 @@ extern std::array, token_count> const token_list { 0x033D, "primaryattachment2" }, { 0x033E, "primaryattachment3" }, { 0x033F, "primaryattachments" }, - { 0x0340, "primarycamo" }, // 0x340 + { 0x0340, "primarycamo" }, { 0x0341, "primaryoffhand" }, { 0x0342, "primaryreticle" }, { 0x0343, "primaryweapon" }, @@ -944,14 +942,12 @@ extern std::array, token_count> const token_list { 0x03A1, "script_vehicle_collision" }, { 0x03A2, "script_vehicle_collmap" }, { 0x03A3, "script_vehicle_corpse" }, - { 0x03A4, "script_visionset" }, // 3A4 - // TODO: check which mapent doesn't exist on S1 vs H1??? -// { 0x03A5, "script_water" }, -// { 0x03A6, "script_reverb" }, -// { 0x03A7, "script_zone" }, -// { 0x03A8, "scriptable" }, -// { 0x03A9, "scriptableactor" }, -// { 0x03AA, "scripted_viewmodel_anim" }, + { 0x03A4, "script_visionset" }, +// { 0x03A5, "" }, +// { 0x03A6, "" }, +// { 0x03A7, "" }, +// { 0x03A8, "" }, +// { 0x03A9, "" }, { 0x03AA, "scriptedarrivalent" }, { 0x03AB, "search_end" }, { 0x03AC, "secondary" }, @@ -11135,6 +11131,7 @@ extern std::array, token_count> const token_list { 0x2B6E, "dist_ratio_hitguy" }, { 0x2B6F, "dist_to_next_node" }, { 0x2B70, "dist2yards" }, +// { 0x2B71, "" }, { 0x2B72, "distance_2d_squared" }, { 0x2B73, "distance_check_loop" }, { 0x2B74, "distance_from_player" }, @@ -16707,8 +16704,12 @@ extern std::array, token_count> const token_list { 0x4133, "gettotalpercentcompletesp" }, { 0x4134, "gettotalscore" }, { 0x4135, "gettotalxp" }, +// { 0x4136, "" }, +// { 0x4137, "" }, { 0x4138, "gettranssplittime" }, { 0x4139, "gettruenodeangles" }, + { 0x413A, "getturnanim" }, + { 0x413B, "getturnanimstate" }, { 0x413C, "gettweakabledvar" }, { 0x413D, "gettweakabledvarvalue" }, { 0x413E, "gettweakablelastvalue" }, @@ -22141,6 +22142,20 @@ extern std::array, token_count> const token_list { 0x5671, "left_color_node" }, { 0x5672, "left_door_anim" }, { 0x5673, "left_ent" }, + { 0x5674, "left_headlight_tag" }, + { 0x5675, "left_loop_start" }, + { 0x5676, "left_mount_trigger_function" }, + { 0x5677, "left_pivot" }, + { 0x5678, "left_post" }, + { 0x5679, "left_swing_pressed" }, + { 0x567A, "left_swing_released" }, + { 0x567B, "left_swipe_monitor" }, + { 0x567C, "left_tap_monitor" }, +// { 0x567D, "" }, +// { 0x567E, "" }, + { 0x567F, "lens_left" }, + { 0x5680, "lens_right" }, + { 0x5681, "lensviewmodel" }, { 0x5682, "lerp" }, { 0x5683, "lerp_angles_function" }, { 0x5684, "lerp_anim_weight_on_actor_over_time" }, @@ -22365,6 +22380,8 @@ extern std::array, token_count> const token_list { 0x575F, "ligting_note" }, { 0x5760, "limit_player_view" }, { 0x5761, "limitdecimalplaces" }, + { 0x5762, "limp_footsteps" }, +// { 0x5763, "" }, { 0x5764, "line_claimed" }, { 0x5765, "line_interect_sphere" }, { 0x5766, "line_segment_end_point" }, @@ -23020,6 +23037,7 @@ extern std::array, token_count> const token_list { 0x59F0, "materiallayering_ng" }, { 0x59F1, "matrix33" }, { 0x59F2, "maverick_counter" }, + { 0x59F3, "max" }, { 0x59F4, "max_accel" }, { 0x59F5, "max_active_events" }, { 0x59F6, "max_bob_period" }, @@ -33940,6 +33958,8 @@ extern std::array, token_count> const token_list { 0x8499, "shouldloopdamagefeedback" }, { 0x849A, "shouldnt_spawn_because_of_script_difficulty" }, { 0x849B, "shouldpingobject" }, + { 0x849C, "shouldplayhitreaction" }, +// { 0x849D, "" }, { 0x849E, "shouldplaysplash" }, { 0x849F, "shouldpreventearlyuse" }, { 0x84A0, "shouldresetgiveuponsuppressiontimer" }, @@ -36995,6 +37015,13 @@ extern std::array, token_count> const token_list { 0x908A, "system_message_loop" }, { 0x908B, "system_save_processes" }, { 0x908C, "system_set_detect_ranges" }, + { 0x908D, "system_set_event_distances" }, + { 0x908E, "system_state_check_no_enemy" }, + { 0x908F, "system_state_spotted" }, +// { 0x9090, "system_state_spotted_clear" }, + { 0x9091, "t" }, +// { 0x9092, "" }, +// { 0x9093, "" }, { 0x9094, "table_combine" }, { 0x9095, "table_getequipment" }, { 0x9096, "table_getequipmentextra" }, @@ -41957,12 +41984,104 @@ extern std::array, token_count> const token_list { 0xA3F3, "zoominsound" }, { 0xA3F4, "zoomout" }, { 0xA3F5, "zoomslam" }, - // TODO: label missing gsc names (0xA3F6 - 0xA452) + { 0xA3F6, "character/character_atlas_ar" }, + { 0xA3F7, "character/character_atlas_arctic_ar" }, + { 0xA3F8, "character/character_atlas_arctic_smg" }, + { 0xA3F9, "character/character_atlas_bodyguard_smg" }, + { 0xA3FA, "character/character_atlas_elete" }, + { 0xA3FB, "character/character_atlas_mech_pilot" }, + { 0xA3FC, "character/character_atlas_noexo" }, + { 0xA3FD, "character/character_atlas_pmc_estate_smg" }, + { 0xA3FE, "character/character_atlas_security_ar" }, + { 0xA3FF, "character/character_atlas_smg" }, + { 0xA400, "character/character_atlas_smg_lowlod" }, + { 0xA401, "character/character_casual_irons" }, + { 0xA402, "character/character_casual_irons_bet_holo" }, + { 0xA403, "character/character_civ_afr_dark_female_casual" }, + { 0xA404, "character/character_civ_afr_dark_female_dress" }, + { 0xA405, "character/character_civ_afr_dark_male_casual" }, + { 0xA406, "character/character_civ_afr_dark_male_dress" }, + { 0xA407, "character/character_civ_afr_drk_female_cas" }, + { 0xA408, "character/character_civ_afr_lgt_female_cas" }, + { 0xA409, "character/character_civ_afr_light_fem_drs_sml" }, + { 0xA40A, "character/character_civ_afr_light_female_casual" }, + { 0xA40B, "character/character_civ_afr_light_female_dress" }, + { 0xA40C, "character/character_civ_afr_light_male_casual" }, + { 0xA40D, "character/character_civ_afr_light_male_dress" }, + { 0xA40E, "character/character_civ_afr_male_cas_grk" }, + { 0xA40F, "character/character_civ_afr_male_drs_grk" }, + { 0xA410, "character/character_civ_african_male_b" }, + { 0xA411, "character/character_civ_african_male_c" }, + { 0xA412, "character/character_civ_african_male_d" }, + { 0xA413, "character/character_civ_asi_male_casual" }, + { 0xA414, "character/character_civ_asi_male_dress" }, + { 0xA415, "character/character_civ_cau_fem_drs_sml" }, + { 0xA416, "character/character_civ_cau_female_casual" }, + { 0xA417, "character/character_civ_cau_female_dress" }, + { 0xA418, "character/character_civ_cau_male_casual" }, + { 0xA419, "character/character_civ_cau_male_casual_ball1" }, + { 0xA41A, "character/character_civ_cau_male_casual_ball2" }, + { 0xA41B, "character/character_civ_cau_male_casual_grk" }, + { 0xA41C, "character/character_civ_cau_male_dress" }, + { 0xA41D, "character/character_civ_cau_male_dress_grk" }, + { 0xA41E, "character/character_civ_mde_female_casual" }, + { 0xA41F, "character/character_civ_mde_female_dress" }, + { 0xA420, "character/character_civ_mde_male_casual" }, + { 0xA421, "character/character_civ_mde_male_dress" }, + { 0xA422, "character/character_civ_pris_afr_dark_male_lite" }, + { 0xA423, "character/character_civ_pris_cau_male_lite" }, + { 0xA424, "character/character_civ_pris_mde_male_lite" }, + { 0xA425, "character/character_civ_rec_funeral_female_a" }, + { 0xA426, "character/character_civ_rec_funeral_female_b" }, + { 0xA427, "character/character_civ_rec_funeral_female_c" }, + { 0xA428, "character/character_civ_rec_funeral_female_d" }, + { 0xA429, "character/character_civ_rec_funeral_female_wife" }, + { 0xA42A, "character/character_civ_rec_funeral_male" }, + { 0xA42B, "character/character_civ_rec_funeral_male_afr" }, + { 0xA42C, "character/character_civ_rec_funeral_male_afr_a" }, + { 0xA42D, "character/character_civ_rec_funeral_male_afr_b" }, + { 0xA42E, "character/character_civ_rec_funeral_male_afr_c" }, + { 0xA42F, "character/character_civ_rec_funeral_male_afr_d" }, + { 0xA430, "character/character_civ_rec_funeral_male_asi_a" }, + { 0xA431, "character/character_civ_rec_funeral_male_cau_a" }, + { 0xA432, "character/character_civ_rec_funeral_male_cau_b" }, + { 0xA433, "character/character_civ_rec_funeral_male_cau_c" }, + { 0xA434, "character/character_civ_rec_funeral_male_cau_d" }, + { 0xA435, "character/character_civ_rec_funeral_male_cau_e" }, + { 0xA436, "character/character_civ_rec_funeral_male_cau_f" }, + { 0xA437, "character/character_civ_s1_female_a" }, + { 0xA438, "character/character_civ_s1_female_b" }, + { 0xA439, "character/character_civ_s1_female_c" }, + { 0xA43A, "character/character_civ_s1_female_d" }, + { 0xA43B, "character/character_civ_s1_female_dead_a" }, + { 0xA43C, "character/character_civ_s1_female_dead_b" }, + { 0xA43D, "character/character_civ_s1_female_e" }, + { 0xA43E, "character/character_civ_s1_female_f" }, + { 0xA43F, "character/character_civ_s1_female_g" }, + { 0xA440, "character/character_civ_s1_male_a" }, + { 0xA441, "character/character_civ_s1_male_b" }, + { 0xA442, "character/character_civ_s1_male_c" }, + { 0xA443, "character/character_civ_s1_male_d" }, + { 0xA444, "character/character_civ_s1_male_dead_a" }, + { 0xA445, "character/character_civ_s1_male_dead_b" }, + { 0xA446, "character/character_civ_s1_male_dead_c" }, + { 0xA447, "character/character_civ_s1_male_e" }, + { 0xA448, "character/character_civ_s1_male_hostage_lag" }, + { 0xA449, "character/character_civ_s1_worker_a" }, + { 0xA44A, "character/character_civ_s1_worker_b" }, + { 0xA44B, "character/character_civ_s1_worker_hardhat" }, + { 0xA44C, "character/character_civ_scientist_s1_a" }, + { 0xA44D, "character/character_civ_scientist_s1_b" }, + { 0xA44E, "character/character_civ_scientist_s1_c" }, + { 0xA44F, "character/character_civ_scientist_s1_d" }, + { 0xA450, "character/character_civ_scientist_s1_e" }, + { 0xA451, "character/character_civ_scientist_s1_f" }, + { 0xA452, "character/character_civ_seoul_female" }, { 0xA453, "character/character_civ_seoul_male_a" }, { 0xA454, "character/character_civ_seoul_male_b" }, - { 0xA455, "character/character_civ_seoul_male_d" }, - { 0xA456, "character/character_civ_seoul_male_e" }, - { 0xA457, "character/character_civ_seoul_male_f" }, + { 0xA455, "character/character_civ_seoul_male_c" }, + { 0xA456, "character/character_civ_seoul_male_d" }, + { 0xA457, "character/character_civ_seoul_male_e" }, { 0xA458, "character/character_civ_seoul_male_principle" }, { 0xA459, "character/character_civilian_africa_male_a" }, { 0xA45A, "character/character_civilian_africa_male_b" }, @@ -42534,8 +42653,8 @@ extern std::array, token_count> const token_list { 0xA690, "xmodelalias/alias_seoul_civilian_body_females" }, { 0xA691, "xmodelalias/alias_seoul_civilian_body_males_a" }, { 0xA692, "xmodelalias/alias_seoul_civilian_body_males_b" }, - { 0xA693, "xmodelalias/alias_seoul_civilian_body_males_d" }, - { 0xA694, "xmodelalias/alias_seoul_civilian_body_males_f" }, + { 0xA693, "xmodelalias/alias_seoul_civilian_body_males_c" }, + { 0xA694, "xmodelalias/alias_seoul_civilian_body_males_d" }, { 0xA695, "xmodelalias/alias_seoul_civilian_head_females" }, { 0xA696, "xmodelalias/alias_seoul_civilian_head_males_a" }, { 0xA697, "xmodelalias/alias_seoul_civilian_head_males_b" },