_GLOBAL__sub_I_TheNavMesh
0x003a70a0 · 7729 bytes · unknown
Decompiled
undefined (0 params)
void _GLOBAL__sub_I_TheNavMesh(void)
{
vec2_origin._0_4_ = 0;
vec2_origin._4_4_ = 0;
vec2_invalid._0_4_ = 0x7f7fffff;
vec2_invalid._4_4_ = 0x7f7fffff;
vec4_origin._0_4_ = 0;
vec4_origin._4_4_ = 0;
vec4_origin._8_4_ = 0;
vec4_origin._12_4_ = 0;
vec4_invalid._0_4_ = 0x7f7fffff;
vec4_invalid._4_4_ = 0x7f7fffff;
vec4_invalid._8_4_ = 0x7f7fffff;
vec4_invalid._12_4_ = 0x7f7fffff;
UNSPECIFIED_LOGGING_COLOR._0_1_ = 0;
UNSPECIFIED_LOGGING_COLOR._1_1_ = 0;
UNSPECIFIED_LOGGING_COLOR._2_1_ = 0;
UNSPECIFIED_LOGGING_COLOR._3_1_ = 0;
ConVar::ConVar((ConVar *)nav_edit,"nav_edit","0",0x4004,
"Set to one to interactively edit the Navigation Mesh. Set to zero to leave edit mode."
);
__cxa_atexit(ConVar::~ConVar,nav_edit,&__dso_handle);
ConVar::ConVar((ConVar *)nav_quicksave,"nav_quicksave","1",0x4004,
"Set to one to skip the time consuming phases of the analysis. Useful for data collection and testing."
);
__cxa_atexit(ConVar::~ConVar,nav_quicksave,&__dso_handle);
ConVar::ConVar((ConVar *)nav_show_approach_points,"nav_show_approach_points","0",0x4004,
"Show Approach Points in the Navigation Mesh.");
__cxa_atexit(ConVar::~ConVar,nav_show_approach_points,&__dso_handle);
ConVar::ConVar((ConVar *)nav_show_danger,"nav_show_danger","0",0x4004,
"Show current \'danger\' levels.");
__cxa_atexit(ConVar::~ConVar,nav_show_danger,&__dso_handle);
ConVar::ConVar((ConVar *)nav_show_player_counts,"nav_show_player_counts","0",0x4004,
"Show current player counts in each area.");
__cxa_atexit(ConVar::~ConVar,nav_show_player_counts,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)nav_remove_jump_areas,"nav_remove_jump_areas",CommandNavRemoveJumpAreas,
"Removes legacy jump areas, replacing them with connections.",0x4004,
(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,nav_remove_jump_areas,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)nav_delete,"nav_delete",CommandNavDelete,
"Deletes the currently highlighted Area.",0x4004,(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,nav_delete,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)nav_delete_marked,"nav_delete_marked",CommandNavDeleteMarked,
"Deletes the currently marked Area (if any).",0x4004,(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,nav_delete_marked,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)nav_flood_select_command,"nav_flood_select",nav_flood_select,
"Selects the current Area and all Areas connected to it, recursively. To clear a selection, use this command again."
,0x4004,(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,nav_flood_select_command,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)nav_toggle_selected_set,"nav_toggle_selected_set",
CommandNavToggleSelectedSet,"Toggles all areas into/out of the selected set.",0x4004,
(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,nav_toggle_selected_set,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)nav_store_selected_set,"nav_store_selected_set",
CommandNavStoreSelectedSet,"Stores the current selected set for later retrieval.",
0x4004,(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,nav_store_selected_set,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)nav_recall_selected_set,"nav_recall_selected_set",
CommandNavRecallSelectedSet,"Re-selects the stored selected set.",0x4004,
(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,nav_recall_selected_set,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)nav_add_to_selected_set,"nav_add_to_selected_set",
CommandNavAddToSelectedSet,"Add current area to the selected set.",0x4004,
(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,nav_add_to_selected_set,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)nav_add_to_selected_set_by_id_command,"nav_add_to_selected_set_by_id",
nav_add_to_selected_set_by_id,"Add specified area id to the selected set.",0x4004,
(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,nav_add_to_selected_set_by_id_command,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)nav_remove_from_selected_set,"nav_remove_from_selected_set",
CommandNavRemoveFromSelectedSet,"Remove current area from the selected set.",0x4004,
(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,nav_remove_from_selected_set,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)nav_toggle_in_selected_set,"nav_toggle_in_selected_set",
CommandNavToggleInSelectedSet,"Remove current area from the selected set.",0x4004,
(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,nav_toggle_in_selected_set,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)nav_clear_selected_set,"nav_clear_selected_set",
CommandNavClearSelectedSet,"Clear the selected set.",0x4004,
(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,nav_clear_selected_set,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)nav_begin_selecting,"nav_begin_selecting",CommandNavBeginSelecting,
"Start continuously adding to the selected set.",0x4004,(int_____char_const__char *)0x0
);
__cxa_atexit(ConCommand::~ConCommand,nav_begin_selecting,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)nav_end_selecting,"nav_end_selecting",CommandNavEndSelecting,
"Stop continuously adding to the selected set.",0x4004,(int_____char_const__char *)0x0)
;
__cxa_atexit(ConCommand::~ConCommand,nav_end_selecting,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)nav_begin_drag_selecting,"nav_begin_drag_selecting",
CommandNavBeginDragSelecting,"Start dragging a selection area.",0x4004,
(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,nav_begin_drag_selecting,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)nav_end_drag_selecting,"nav_end_drag_selecting",
CommandNavEndDragSelecting,"Stop dragging a selection area.",0x4004,
(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,nav_end_drag_selecting,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)nav_begin_drag_deselecting,"nav_begin_drag_deselecting",
CommandNavBeginDragDeselecting,"Start dragging a selection area.",0x4004,
(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,nav_begin_drag_deselecting,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)nav_end_drag_deselecting,"nav_end_drag_deselecting",
CommandNavEndDragDeselecting,"Stop dragging a selection area.",0x4004,
(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,nav_end_drag_deselecting,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)nav_raise_drag_volume_max,"nav_raise_drag_volume_max",
CommandNavRaiseDragVolumeMax,"Raise the top of the drag select volume.",0x4004,
(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,nav_raise_drag_volume_max,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)nav_lower_drag_volume_max,"nav_lower_drag_volume_max",
CommandNavLowerDragVolumeMax,"Lower the top of the drag select volume.",0x4004,
(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,nav_lower_drag_volume_max,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)nav_raise_drag_volume_min,"nav_raise_drag_volume_min",
CommandNavRaiseDragVolumeMin,"Raise the bottom of the drag select volume.",0x4004,
(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,nav_raise_drag_volume_min,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)nav_lower_drag_volume_min,"nav_lower_drag_volume_min",
CommandNavLowerDragVolumeMin,"Lower the bottom of the drag select volume.",0x4004,
(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,nav_lower_drag_volume_min,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)nav_toggle_selecting,"nav_toggle_selecting",CommandNavToggleSelecting,
"Start or stop continuously adding to the selected set.",0x4004,
(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,nav_toggle_selecting,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)nav_begin_deselecting,"nav_begin_deselecting",CommandNavBeginDeselecting,
"Start continuously removing from the selected set.",0x4004,
(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,nav_begin_deselecting,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)nav_end_deselecting,"nav_end_deselecting",CommandNavEndDeselecting,
"Stop continuously removing from the selected set.",0x4004,
(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,nav_end_deselecting,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)nav_toggle_deselecting,"nav_toggle_deselecting",
CommandNavToggleDeselecting,
"Start or stop continuously removing from the selected set.",0x4004,
(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,nav_toggle_deselecting,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)nav_select_half_space_command,"nav_select_half_space",
nav_select_half_space,"Selects any areas that intersect the given half-space.",0x4004,
(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,nav_select_half_space_command,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)nav_begin_shift_xy,"nav_begin_shift_xy",CommandNavBeginShiftXY,
"Begin shifting the Selected Set.",0x4004,(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,nav_begin_shift_xy,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)nav_end_shift_xy,"nav_end_shift_xy",CommandNavEndShiftXY,
"Finish shifting the Selected Set.",0x4004,(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,nav_end_shift_xy,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)nav_select_invalid_areas,"nav_select_invalid_areas",
CommandNavSelectInvalidAreas,"Adds all invalid areas to the Selected Set.",0x4004,
(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,nav_select_invalid_areas,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)nav_select_blocked_areas_command,"nav_select_blocked_areas",
nav_select_blocked_areas,"Adds all blocked areas to the selected set",0x4000,
(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,nav_select_blocked_areas_command,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)nav_select_obstructed_areas_command,"nav_select_obstructed_areas",
nav_select_obstructed_areas,"Adds all obstructed areas to the selected set",0x4000,
(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,nav_select_obstructed_areas_command,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)nav_select_damaging_areas_command,"nav_select_damaging_areas",
nav_select_damaging_areas,"Adds all damaging areas to the selected set",0x4000,
(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,nav_select_damaging_areas_command,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)nav_select_stairs_command,"nav_select_stairs",nav_select_stairs,
"Adds all stairway areas to the selected set",0x4000,(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,nav_select_stairs_command,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)nav_split,"nav_split",CommandNavSplit,
"To split an Area into two, align the split line using your cursor and invoke the split command."
,0x4004,(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,nav_split,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)nav_make_sniper_spots,"nav_make_sniper_spots",CommandNavMakeSniperSpots,
"Chops the marked area into disconnected sub-areas suitable for sniper spots.",0x4004,
(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,nav_make_sniper_spots,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)nav_merge,"nav_merge",CommandNavMerge,
"To merge two Areas into one, mark the first Area, highlight the second by pointing your cursor at it, and invoke the merge command."
,0x4004,(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,nav_merge,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)nav_mark,"nav_mark",CommandNavMark,
"Marks the Area or Ladder under the cursor for manipulation by subsequent editing commands."
,0x4004,(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,nav_mark,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)nav_unmark,"nav_unmark",CommandNavUnmark,
"Clears the marked Area or Ladder.",0x4004,(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,nav_unmark,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)nav_begin_area,"nav_begin_area",CommandNavBeginArea,
"Defines a corner of a new Area or Ladder. To complete the Area or Ladder, drag the opposite corner to the desired location and issue a \'nav_end_area\' command."
,0x4004,(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,nav_begin_area,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)nav_end_area,"nav_end_area",CommandNavEndArea,
"Defines the second corner of a new Area or Ladder and creates it.",0x4004,
(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,nav_end_area,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)nav_auto_build_area,"nav_auto_build_area",CommandAutoBuildOffGridAreas,
"Build out high-precision areas around the edit cursor and create them.",0x4004,
(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,nav_auto_build_area,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)nav_connect,"nav_connect",CommandNavConnect,
"To connect two Areas, mark the first Area, highlight the second Area, then invoke the connect command. Note that this creates a ONE-WAY connection from the first to the second Area. To make a two-way connection, also connect the second area to the first."
,0x4004,(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,nav_connect,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)nav_disconnect,"nav_disconnect",CommandNavDisconnect,
"To disconnect two Areas, mark an Area, highlight a second Area, then invoke the disconnect command. This will remove all connections between the two Areas."
,0x4004,(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,nav_disconnect,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)nav_splice,"nav_splice",CommandNavSplice,
"To splice, mark an area, highlight a second area, then invoke the splice command to create a new, connected area between them."
,0x4004,(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,nav_splice,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)nav_crouch,"nav_crouch",CommandNavCrouch,
"Toggles the \'must crouch in this area\' flag used by the AI system.",0x4004,
(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,nav_crouch,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)nav_precise,"nav_precise",CommandNavPrecise,
"Toggles the \'dont avoid obstacles\' flag used by the AI system.",0x4004,
(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,nav_precise,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)nav_jump,"nav_jump",CommandNavJump,
"Toggles the \'traverse this area by jumping\' flag used by the AI system.",0x4004,
(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,nav_jump,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)nav_no_jump,"nav_no_jump",CommandNavNoJump,
"Toggles the \'dont jump in this area\' flag used by the AI system.",0x4004,
(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,nav_no_jump,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)nav_stop,"nav_stop",CommandNavStop,
"Toggles the \'must stop when entering this area\' flag used by the AI system.",0x4004,
(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,nav_stop,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)nav_walk,"nav_walk",CommandNavWalk,
"Toggles the \'traverse this area by walking\' flag used by the AI system.",0x4004,
(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,nav_walk,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)nav_run,"nav_run",CommandNavRun,
"Toggles the \'traverse this area by running\' flag used by the AI system.",0x4004,
(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,nav_run,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)nav_avoid,"nav_avoid",CommandNavAvoid,
"Toggles the \'avoid this area when possible\' flag used by the AI system.",0x4004,
(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,nav_avoid,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)nav_transient,"nav_transient",CommandNavTransient,
"Toggles the \'area is transient and may become blocked\' flag used by the AI system.",
0x4004,(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,nav_transient,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)nav_dont_hide,"nav_dont_hide",CommandNavDontHide,
"Toggles the \'area is not suitable for hiding spots\' flag used by the AI system.",
0x4004,(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,nav_dont_hide,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)nav_stand,"nav_stand",CommandNavStand,
"Toggles the \'stand while hiding\' flag used by the AI system.",0x4004,
(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,nav_stand,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)nav_no_hostages,"nav_no_hostages",CommandNavNoHostages,
"Toggles the \'hostages cannot use this area\' flag used by the AI system.",0x4004,
(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,nav_no_hostages,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)nav_strip,"nav_strip",CommandNavStrip,
"Strips all Hiding Spots, Approach Points, and Encounter Spots from the current Area.",
0x4004,(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,nav_strip,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)nav_save,"nav_save",CommandNavSave,
"Saves the current Navigation Mesh to disk.",0x4004,(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,nav_save,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)nav_load,"nav_load",CommandNavLoad,
"Loads the Navigation Mesh for the current map.",0x4004,(int_____char_const__char *)0x0
);
__cxa_atexit(ConCommand::~ConCommand,nav_load,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)nav_use_place,"nav_use_place",CommandNavUsePlace,
"If used without arguments, all available Places will be listed. If a Place argument is given, the current Place is set."
,0x4004,(int_____char_const__char *)PlaceNameAutocompleteCallback);
__cxa_atexit(ConCommand::~ConCommand,nav_use_place,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)nav_place_replace,"nav_place_replace",CommandNavPlaceReplace,
"Replaces all instances of the first place with the second place.",0x4004,
(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,nav_place_replace,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)nav_place_list,"nav_place_list",CommandNavPlaceList,
"Lists all place names used in the map.",0x4004,(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,nav_place_list,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)nav_toggle_place_mode,"nav_toggle_place_mode",CommandNavTogglePlaceMode,
"Toggle the editor into and out of Place mode. Place mode allows labelling of Area with Place names."
,0x4004,(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,nav_toggle_place_mode,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)nav_set_place_mode,"nav_set_place_mode",CommandNavSetPlaceMode,
"Sets the editor into or out of Place mode. Place mode allows labelling of Area with Place names."
,0x4004,(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,nav_set_place_mode,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)nav_place_floodfill,"nav_place_floodfill",CommandNavPlaceFloodFill,
"Sets the Place of the Area under the cursor to the curent Place, and \'flood-fills\' the Place to all adjacent Areas. Flood-filling stops when it hits an Area with the same Place, or a different Place than that of the initial Area."
,0x4004,(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,nav_place_floodfill,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)nav_place_set,"nav_place_set",CommandNavPlaceSet,
"Sets the Place of all selected areas to the current Place.",0x4004,
(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,nav_place_set,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)nav_place_pick,"nav_place_pick",CommandNavPlacePick,
"Sets the current Place to the Place of the Area under the cursor.",0x4004,
(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,nav_place_pick,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)nav_toggle_place_painting,"nav_toggle_place_painting",
CommandNavTogglePlacePainting,
"Toggles Place Painting mode. When Place Painting, pointing at an Area will \'paint\' it with the current Place."
,0x4004,(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,nav_toggle_place_painting,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)nav_mark_unnamed,"nav_mark_unnamed",CommandNavMarkUnnamed,
"Mark an Area with no Place name. Useful for finding stray areas missed when Place Painting."
,0x4004,(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,nav_mark_unnamed,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)nav_corner_select,"nav_corner_select",CommandNavCornerSelect,
"Select a corner of the currently marked Area. Use multiple times to access all four corners."
,0x4004,(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,nav_corner_select,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)nav_corner_raise_command,"nav_corner_raise",nav_corner_raise,
"Raise the selected corner of the currently marked Area.",0x4004,
(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,nav_corner_raise_command,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)nav_corner_lower_command,"nav_corner_lower",nav_corner_lower,
"Lower the selected corner of the currently marked Area.",0x4004,
(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,nav_corner_lower_command,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)nav_corner_place_on_ground_command,"nav_corner_place_on_ground",
nav_corner_place_on_ground,
"Places the selected corner of the currently marked Area on the ground.",0x4004,
(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,nav_corner_place_on_ground_command,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)nav_warp_to_mark,"nav_warp_to_mark",CommandNavWarpToMark,
"Warps the player to the marked area.",0x4004,(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,nav_warp_to_mark,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)nav_ladder_flip,"nav_ladder_flip",CommandNavLadderFlip,
"Flips the selected ladder\'s direction.",0x4004,(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,nav_ladder_flip,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)nav_generate,"nav_generate",CommandNavGenerate,
"Generate a Navigation Mesh for the current map and save it to disk.",0x4004,
(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,nav_generate,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)nav_generate_incremental,"nav_generate_incremental",
CommandNavGenerateIncremental,
"Generate a Navigation Mesh for the current map and save it to disk.",0x4004,
(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,nav_generate_incremental,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)nav_analyze,"nav_analyze",CommandNavAnalyze,
"Re-analyze the current Navigation Mesh and save it to disk.",0x4004,
(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,nav_analyze,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)nav_analyze_scripted,"nav_analyze_scripted",CommandNavAnalyzeScripted,
"commandline hook to run a nav_analyze and then quit.",0x4014,
(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,nav_analyze_scripted,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)nav_mark_walkable,"nav_mark_walkable",CommandNavMarkWalkable,
"Mark the current location as a walkable position. These positions are used as seed locations when sampling the map to generate a Navigation Mesh."
,0x4004,(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,nav_mark_walkable,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)nav_clear_walkable_marks,"nav_clear_walkable_marks",
CommandNavClearWalkableMarks,"Erase any previously placed walkable positions.",0x4004,
(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,nav_clear_walkable_marks,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)nav_compress_id,"nav_compress_id",CommandNavCompressID,
"Re-orders area and ladder ID\'s so they are continuous.",0x4004,
(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,nav_compress_id,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)nav_show_ladder_bounds,"nav_show_ladder_bounds",
CommandNavShowLadderBounds,"Draws the bounding boxes of all func_ladders in the map.",
0x4004,(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,nav_show_ladder_bounds,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)nav_build_ladder,"nav_build_ladder",CommandNavBuildLadder,
"Attempts to build a nav ladder on the climbable surface under the cursor.",0x4004,
(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,nav_build_ladder,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)ClearAllNavAttributes,"wipe_nav_attributes",NavEditClearAllAttributes,
"Clear all nav attributes of selected area.",0x4000,(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,ClearAllNavAttributes,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)NavClearAttribute,"nav_clear_attribute",NavEditClearAttribute,
"Remove given nav attribute from all areas in the selected set.",0x4000,
(int_____char_const__char *)NavAttributeAutocomplete);
__cxa_atexit(ConCommand::~ConCommand,NavClearAttribute,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)NavMarkAttribute,"nav_mark_attribute",NavEditMarkAttribute,
"Set nav attribute for all areas in the selected set.",0x4000,
(int_____char_const__char *)NavAttributeAutocomplete);
__cxa_atexit(ConCommand::~ConCommand,NavMarkAttribute,&__dso_handle);
TheHidingSpots =
&CUtlVectorUltraConservative<HidingSpot*,CUtlVectorUltraConservativeAllocator>::StaticData()
::staticData;
__cxa_atexit(CUtlVectorUltraConservative<HidingSpot*,CUtlVectorUltraConservativeAllocator>::
~CUtlVectorUltraConservative,&TheHidingSpots,&__dso_handle);
g_CNavMesh_ScriptDesc._0_4_ = 0;
g_CNavMesh_ScriptDesc._4_4_ = 0;
g_CNavMesh_ScriptDesc._8_4_ = 0;
g_CNavMesh_ScriptDesc._12_4_ = 0;
g_CNavMesh_ScriptDesc._16_4_ = 0;
g_CNavMesh_ScriptDesc._20_4_ = 0;
g_CNavMesh_ScriptDesc._24_4_ = 0;
g_CNavMesh_ScriptDesc._28_4_ = 0;
g_CNavMesh_ScriptDesc._32_4_ = 0;
g_CNavMesh_ScriptDesc._36_4_ = 0;
g_CNavMesh_ScriptDesc._40_4_ = 0;
g_CNavMesh_ScriptDesc._44_4_ = 0;
__cxa_atexit(ScriptClassDesc_t::~ScriptClassDesc_t,g_CNavMesh_ScriptDesc,&__dso_handle);
return;
}
SourceMod gamedata
paste intoaddons/sourcemod/gamedata/<your_plugin>.txt
Just a Signatures{} block, ready to drop into a gamedata
file. Wire it up in your plugin however you like - SDKCall, DHooks,
raw memory ops, or anything else.
Signatures + Functions block. The plugin uses
DHookCreateFromConf - DHooks reads return type, this-type,
calling convention, and argument types straight from the gamedata. Less
boilerplate in the plugin, types travel with the gamedata.
⚠ This function has no mangled symbol — it may be internal/static. The
Linux gamedata field uses @-prefix symbol resolution which
requires an exported mangled name. You'll need a Linux byte signature
for this one (extract via extract_signature.java).
Type inference is best-effort from the C signature - sanity-check the DHooks types before shipping.