L L4D2node

_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 into addons/sourcemod/gamedata/<your_plugin>.txt
used as the SourceMod key — change to fit your plugin's convention
SourceMod library name (server / engine / matchmaking)

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.



        
        

⚠ 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.

Return-type handling cheatsheet (DHookReturn)