Pathfinding
A* pathfinder, CSkillTree (Dijkstra), CSkillEdge/Gate, CNavigation, bresenham
| Address | Size | Name | Description |
|---|---|---|---|
| 0x00574C00 | 453 | bresenham_circle_plot_8points | Appends 8 octant-symmetric circle points (x±a±b, y±b±a) to vector, used by Bresenham circle rasterization. |
| 0x00574DD0 | 445 | generate_circle_cells | Generates circle cells via Bresenham algorithm, sorts coordinates, deduplicates, returns deduplicated cell array for AoE/pathfinding. |
| 0x006311B0 | 203 | CNavigationMgr__Constructor | Initializes CNavigationMgr with vtable, creates two rb-tree sentinel nodes for navigation data structures. |
| 0x006A65D0 | 69 | CSkillTreeNode__SetSlotData | Stores skill tree node slot data (skill ID, level, flags) with bounds checking for up to 5 slots. |
| 0x00734800 | 74 | CSkillTreeNode__Destructor | Destructor for CSkillTreeNode class that deallocates internal STL vector buffer and cleans up resources. |
| 0x007348F0 | 96 | CSkillTreeNode__ScalarDeletingDestructor | Scalar deleting destructor for CSkillTreeNode; frees internal vector buffer and conditionally deallocates object memory. |
| 0x00736460 | 33 | CSkillTreeMgr__ScalarDeletingDestructor | Scalar deleting destructor for CSkillTreeMgr; sets vftable, optionally deletes object if flag set. |
| 0x00736490 | 162 | CSkillTreeMgr__CreateInstance | Singleton initialization for CSkillTreeMgr; allocates and constructs instance if not already created, returns success status. |
| 0x00736760 | 390 | CSkillTreeMgr__Constructor | Initializes CSkillTreeMgr with vtable, allocates 5 linked lists (0x4c/0x1c/0x20/0x18 bytes) and vectors for skill tree group management. |
| 0x007368F0 | 362 | CSkillTreeEntry__CopyConstructor | Copy constructor for CSkillTreeEntry that deep-copies skill data (0x34 bytes) and vector of requirement pairs (8-byte elements). |
| 0x00736A60 | 64 | CSkillTreeMgr__delete_member_0x20 | Deletes a dynamically allocated member (0x4c bytes) from CSkillTreeMgr at offset +4 with stack canary protection |
| 0x00736AB0 | 64 | CSkillTreeMgr__DeleteMember0x20 | Destructor that safely deletes a dynamically allocated member (28 bytes) at offset 0x20 in CSkillTreeMgr with XOR-based stack canary protection |
| 0x00736B00 | 64 | CSkillTreeMgr__delete_member_0x20_c | Deletes a 0x20-byte allocated member from CSkillTreeMgr object at offset +4 with stack canary protection. |
| 0x00736B50 | 64 | CSkillTreeMgr__delete_member_0x20_d | Destructor that deallocates a 0x18-byte heap object stored at offset +0x4 in CSkillTreeMgr with XOR stack canary protection. |
| 0x00736BA0 | 103 | CSkillTreeMgr__destroy_callback_and_delete_0x4c | Destroys skill tree manager callback by invoking virtual destructor and deallocating 0x4c bytes with SEH guard. |
| 0x00736D50 | 108 | CSkillTreeMgr__reset_vtable_and_delete_0x20 | Destructor for CSkillTreeMgr that resets vtable and deallocates 0x20 bytes from heap with stack canary protection. |
| 0x00736DC0 | 75 | CSkillTreeMgr__delete_member_0x28 | Deletes a 0x18-byte member object at offset +0x4 in CSkillTreeMgr instance with SEH protection. |
| 0x00736E10 | 75 | CSkillTreeMgr__delete_member_0x28_b | Destructs a member at offset 0x28 in CSkillTreeMgr, deallocating 0x1c bytes if pointer is non-null |
| 0x00736E60 | 75 | CSkillTreeMgr__DeleteMember0x28 | Destructor that deallocates a 0x20-byte member structure at offset +0x4 in CSkillTreeMgr object with stack canary validation. |
| 0x00736EB0 | 75 | CSkillTreeMgr__delete_member_0x28_d | Deletes a 0x18-byte allocated member at offset 0x28 in CSkillTreeMgr instance with stack canary protection. |
| 0x00737040 | 65 | CSkillTreeGroup__DestroyTree | Destroys and deallocates a skill tree structure, clearing all nodes and freeing associated memory. |
| 0x00737090 | 68 | CSkillTreeGroup__DestroyList | Destroys and deallocates all nodes in a CSkillTreeGroup list container, with stack canary protection. |
| 0x007370E0 | 67 | CSkillTreeListItem__SetVtablePtr | Sets vtable pointer for CSkillTreeListItem object to scalar deleting destructor with 0xc size offset. |
| 0x00737130 | 144 | CSkillTreeGroup__Destructor | Destructor for CSkillTreeGroup class that deallocates skill tree nodes, lists, vectors, and maps in proper cleanup sequence. |
| 0x00737540 | 144 | CSkillTreeGroup__Destructor_2 | Destructor for CSkillTreeGroup that deallocates internal STL containers (list, vectors, tree/map) and skill tree nodes recursively. |
| 0x00737650 | 32 | CSkillTreeEntry__ScalarDeletingDestructor | Scalar deleting destructor for CSkillTreeEntry; calls destructor and conditionally frees 0x44-byte object if flag set. |
| 0x007376B0 | 87 | CSkillTreeMgr__UpdateOrAddEntry | Updates existing skill tree entry by skill ID or adds new entry; returns 0 if updated, 1 if added. |
| 0x00737710 | 166 | CSkillTreeMgr__OnSkillLevelUp | Updates skill group effect map when skill level increases, inserting new effect entry if level progressed. |
| 0x007377C0 | 118 | CSkillTreeMgr__ClearAllEntries | Clears skill tree manager state by destroying map and tree node structures at offsets +0x28/+0x30, resetting linked list sentinels and counters. |
| 0x00737950 | 77 | CSkillTreeList__RemoveNodeByID | Removes a skill tree node by ID from a doubly-linked list, calls destructor, and frees memory. |
| 0x00737B30 | 97 | CSkillTreeMgr__AddSkillAndNotifyUI | Adds skill ID to skill tree vector, notifies UI window (type 0x25) to refresh, and pushes skill group data. |
| 0x00737BA0 | 70 | CSkillTreeMgr__DestroyMapNode | Destroys a skill tree map node by unlinking it from a doubly-linked list and freeing its allocated memory. |
| 0x00737BF0 | 75 | CSkillTreeMgr__RemoveSkillNodeByID | Removes a skill node from the skill tree manager's linked list by ID and deallocates its memory. |
| 0x00737CB0 | 43 | CSkillTreeMgr__FindEntryByID | Searches a doubly-linked list in CSkillTreeMgr for an entry matching the given ID, returns pointer to entry data or NULL. |
| 0x00737CE0 | 28 | CSkillTreeMgr__AssignIndices | Assigns sequential indices to nodes in a linked list structure, storing index at offset 0x2C in each node. |
| 0x00737D00 | 43 | CSkillTreeMgr__FindEntryByID_alt | Searches a doubly-linked list for a skill tree entry by ID, returns pointer to entry or NULL if not found. |
| 0x00737D30 | 48 | CSkillTreeMgr__FindEntryByID_safe | Searches skill tree entries by ID within a linked list; returns pointer to entry data or null if not found. |
| 0x00737D60 | 150 | CSkillTreeMgr__GetEntryByIndex | Retrieves skill tree entry at specified index from linked list, copying to output buffer or initializing default if not found. |
| 0x00737E00 | 150 | CSkillTreeMgr__GetEntryBySkillID | Searches skill tree linked list for entry matching skill ID, copies to output or initializes default if not found. |
| 0x00737EA0 | 150 | CSkillTreeMgr__GetEntryBySkillID_Main | Searches skill tree main list for entry matching skill ID, returns copy via CopyConstructor or default if not found. |
| 0x00737F40 | 44 | CSkillTreeMgr__MarkAllEntriesUpdated | Iterates through skill tree entries and marks each with flag 0x14=1 to denote they've been updated |
| 0x00737F70 | 36 | CSkillTreeMgr__HasEntryByID | Searches a doubly-linked list for a skill tree entry matching the given ID; returns true if found. |
| 0x00737FA0 | 39 | CSkillTreeMgr__IsGroupLevelBelowMax | Checks if a skill tree group's current level is below its maximum level cap by comparing short and int values at fixed offsets. |
| 0x00737FD0 | 127 | CSkillTreeMgr__CollectMatchingSkillIDs | Collects skill IDs matching a search criterion into a vector, comparing skill values against a target threshold. |
| 0x00738050 | 150 | CSkillTreeMgr__UpdateEffectMapEntry | Updates skill tree effect map entry by inserting or retrieving effect data based on skill ID parameters. |
| 0x007380F0 | 17 | CSkillTreeMgr__ClearFirstNodeField6 | Clears field 6 of the first node in CSkillTreeMgr's node list if list is non-empty |
| 0x00738110 | 188 | CSkillTreeMgr__ForEachSkillWithCallback | Iterates skill tree groups and entries, invoking a callback function on each skill entry node. |
| 0x007382F0 | 37 | CSkillTreeMgr__ClearAllNodes | Clears all skill tree nodes by recursively deleting map contents and reinitializing the STL map structure and node count. |
| 0x00738320 | 79 | CSkillTreeMgr__FindGroupByID | Searches skill tree groups by ID, iterating through a tree container and nested lists to find matching group identifier. |
| 0x00738370 | 242 | CSkillTreeMgr__FindSkillEntry | Looks up skill entry by ID in skill tree map, returns entry data or global empty entry if not found. |
| 0x00738470 | 130 | CSkillTreeMgr__FindGroupById | Traverses skill tree group hierarchy to find and return group data matching the given group ID parameter. |
| 0x00738500 | 72 | CSkillTreeMgr__FindSkillGroupByJobID | Finds skill group entry by job ID using STL map lower_bound, returns group data pointer or null if not found. |
| 0x00738550 | 28 | CSkillTreeMgr__GetGroupMaxLevel | Retrieves the maximum level for a skill tree group by looking up the group ID and returning the max level value at offset 0x10. |
| 0x00738570 | 29 | CSkillTreeMgr__SetSkillUseLevel | Sets skill use level at index param_2 in skill tree manager's level array, with bounds check (0x1f3e entries). |
| 0x00738590 | 287 | CSkillTreeMgr__UpdateSkillRange | Updates skill tree node level ranges by adding pending skills to removal queue and deleting nodes marked for removal. |
| 0x00739430 | 170 | CSkillTreeGroup__PushBack | Appends a new CSkillTreeEntry to a doubly-linked list, incrementing count; throws if list exceeds 0x35e50d7 entries. |
| 0x007394E0 | 12 | CSkillTreeGroup__PushBack_thunk | Thunk wrapper that delegates to CSkillTreeGroup::PushBack() to add an element to skill tree group container |
| 0x00739700 | 123 | CSkillTreeEntry__InitDefault_Unknown | Initializes a CSkillTreeEntry object with default values and "Unknown-Skill" placeholder name. |
| 0x00739780 | 121 | CSkillTreeEntry__InitDefault | C++ constructor initializing CSkillTreeEntry with default values: vptr, validity flag, and zeroed fields. |
| 0x00739810 | 33 | CSkillTreeEntry__ReleaseTextureRef | Releases texture reference by calling virtual destructor on member at offset 0x24, nullifying the pointer afterward. |
| 0x00739840 | 33 | CSkillTreeEntry__ReleaseTextureRef_b | Releases texture reference by calling virtual destructor/release method on object stored at offset +36 bytes in CSkillTreeEntry. |
| 0x00739870 | 33 | CSkillTreeEntry__ReleaseTextureRef_c | Releases texture reference by calling virtual destructor on object at offset 0x24, then nullifies the pointer. |
| 0x007399C0 | 92 | CSkillTreeMgr__ReleaseSkillTreeNode | Releases a skill tree node by calling its virtual destructor; clears member at offset 0x24 (likely node pointer). |
| 0x00739A20 | 92 | CSkillTreeMgr__release_member_9 | Releases/deletes object at offset 0x24 (member at index 9), calls virtual destructor if non-null |
| 0x00739A80 | 92 | CSkillTreeMgr__release_vtable_member_0x24_c | Releases a skill tree node object at offset 0x24 by calling its destructor via virtual method at vtable+0x10 |
| 0x00739CD0 | 74 | CSkillTreeEntry__Destructor | Destructor for CSkillTreeEntry that sets vtable pointer and deallocates internal vector storage at offset +8. |
| 0x00739D40 | 89 | CSkillTreeMgr__DestroyAtShutdown | Destructor for CSkillTreeMgr that recursively destroys skill tree data structures and deallocates memory at shutdown. |
| 0x00739E20 | 194 | CSkillTreeEntry__GetLevelUseApAmountLua | Allocates buffer, copies skill AP cost data structure, invokes Lua script function callback for level-based AP consumption. |
| 0x00739EF0 | 194 | CSkillTreeEntry__GetLevelUseApAmount | Allocates and populates a 20-byte structure from s_GetLevelUseSpAmount data, then invokes Lua script callback. |
| 0x00739FC0 | 196 | CSkillTreeEntry__GetSkillName | Retrieves skill name via Lua, remaps skill IDs 0x13b2→0x13a4 and 0x13b3→0x13ac, returns "Unknown-Skill" on failure |
| 0x0073A090 | 169 | CSkillTreeEntry__GetSkillIdName | Calls Lua GetSkillIdName function to retrieve skill name by ID; returns "Zero Skill" on failure. |
| 0x0073A140 | 167 | CSkillTreeEntry__GetSkillIdName_ByID | Calls Lua script function GetSkillIdName to retrieve skill name by ID, returns "Zero Skill" on failure |
| 0x0073A1F0 | 194 | CSkillTreeEntry__GetSkillName_ByID | Calls Lua GetSkillName function to retrieve skill name string by skill ID, with hardcoded ID mapping for two special cases. |
| 0x0073A2D0 | 159 | CSkillTreeEntry__CheckTargetType | Checks if a skill ID requires ground/AoE targeting; returns 1 for ground-target skills, 0 otherwise. |
| 0x0073A580 | 705 | CSkillTreeMgr__IsSpecialSkill | Classifies skill IDs as special skills via massive switch statement; returns 1 for special skills, delegates others to FUN_00742600 |
| 0x0073ADB0 | 164 | CSkillTreeEntry__IsLevelUseSkill | Calls Lua IsLevelUseSkill function to determine if a skill uses level-based consumption mechanics for UI/hotkey systems. |
| 0x0073AE60 | 92 | CSkillTreeEntry__GetEffectFlag | Determines if a skill should display visual effects in the skill tree UI; returns 0 for no-effect skills, 1 otherwise. |
| 0x0073AF10 | 164 | CSkillTreeEntry__IsSkillUsesAp | Calls Lua function to check if a skill consumes AP instead of SP, returns boolean result from Lua. |
| 0x0073E540 | 89 | CSkillTreeWnd__RemoveAllEffects1004 | Removes all instances of effect ID 0x3ec from a 3D actor by repeatedly calling a removal callback until none remain. |
| 0x0073EFF0 | 143 | CSkillTreeMgr__FormatToStringVariant | Formats a skill tree value to string variant using printf-style formatting with stack-based buffer management. |
| 0x00744DC0 | 70 | CSkillTreeWnd__RandWrapperStub | Exception handler stub that calls rand(); appears to be SEH wrapper or initialization code with no return path. |
| 0x00A77460 | 305 | Pathfinder__Destructor | Destructor for Pathfinder class; deallocates RB-tree nodes, sprite/effect objects, and associated vectors used for pathfinding. |
| 0x00A77660 | 333 | Pathfinder__BuildPathResult | Constructs final path waypoints from A* linked list, calculates movement timestamps based on speed and diagonal penalties. |
| 0x00A777B0 | 1066 | Pathfinder__FindPath | A* pathfinding algorithm that finds shortest path between coordinates using Manhattan heuristic, 8-directional movement with diagonal cost 14 and cardinal cost 10. |
| 0x00A77C90 | 321 | Pathfinder__AllocateNode | Allocates a pathfinding node from pool (static 0x95-node array or dynamic vector), returns pointer to next free 0x1C-byte node structure. |
| 0x00A77DE0 | 257 | PathResult__GetDirectionAtTime | Retrieves direction and float coordinates at specified time along a path segment; returns segment index or -1 if out of bounds. |
| 0x00A77EF0 | 646 | Pathfinder__GetOrCreateNode | Allocates or retrieves A* pathfinding node from pool/vector, maintaining red-black tree index by map cell coordinates for fast lookup. |
| 0x00A78180 | 467 | PathResult__GetPositionAtTime | Interpolates position and direction along a path at a given timestamp, returning the segment index containing that time. |
| 0x00A78410 | 158 | Pathfinder__IsCellWalkable | Validates if a target cell is walkable for pathfinding, checking bounds, GAT type, and diagonal cell adjacency. |
| 0x00A784D0 | 322 | Pathfinder__EvaluateNeighbor | A* pathfinding: evaluates neighbor node, computes g_cost and f_cost with Manhattan heuristic, updates open/closed lists. |
| 0x00A78620 | 87 | Pathfinder__PushOpenList | Inserts node into pathfinding open list min-heap, growing vector if needed and maintaining f_cost ordering via heap sift-up. |
| 0x00A78700 | 162 | Pathfinder__Reset | Clears pathfinder's closed set (RB-tree) and open list vector, syncing internal state counters for A* search reset. |
| 0x00A78840 | 504 | Pathfinder__GetOrLoadMapCell | Retrieves or allocates a CMapCell from RB-tree cache; loads map data via CRmaFile if new entry. |
| 0x00B20570 | 26 | CSkillTreeNode__InitTriple | Initializes a CSkillTreeNode with three consecutive undefined4 values (likely node ID, parent ID, and skill ID). |
| 0x00B205B0 | 231 | CSkillTree__ctor | Initializes CSkillTree instance with 19 empty vector fields and sets initial pathfinding cost to 50000. |
| 0x00B20A10 | 320 | CSkillTree__dtor | Destructor that clears skill nodes, resets cost to 50000, and releases all internal vectors (paths, children, dependencies). |
| 0x00B20D20 | 108 | CSkillTree__FindEdgeById | Finds a skill edge node by ID with optional linear search, or retrieves edge by index if param_3 is false. |
| 0x00B20E10 | 202 | CSkillTree__Clear | Clears all skill tree nodes, resets path cost to 50000, and destroys allocated skill node objects via destructor. |
| 0x00B20F90 | 1480 | CSkillTree__ParseCommand | Parses space-delimited skill tree command strings, tokenizes input, dispatches by command type (2=skill, 3=numeric, 4=string), builds token vector. |
| 0x00B215C0 | 214 | CSkillTree__CollectNodesByType | Collects skill tree nodes matching a specified type into output vector, iterating dual node collections and filtering by type ID. |
| 0x00B216A0 | 403 | CSkillTree__ClassifyLineType | Classifies skill tree config lines by prefix (0x912-0x915 msg strings); returns type and strips prefix from input string. |
| 0x00B21BC0 | 580 | CSkillTree__FindNodeByName | Searches CSkillTree node vector by name string, returns index of matching node or 0 if not found. |
| 0x00B21E70 | 1621 | CSkillTree__FindPath | BFS pathfinding in skill tree with gate condition evaluation (class/flag checks); returns path as vector of node pointers. |
| 0x00B224E0 | 1477 | CSkillTree__FindOptimalPath | Finds optimal skill tree learning path by iterating skill nodes, validating job prerequisites (Novice/1st/2nd/Trans), computing minimum cost via iterative deepening up to 100 iterations, returning ordered skill IDs. |
| 0x00B22B20 | 162 | CSkillTree__DestroyNodeElement | Iterates through skill tree node array, zeroing fields and destructing std::string members for each element. |
| 0x00B22C00 | 100 | CSkillTree__ResetAllNodeCosts | Iterates through skill tree nodes and resets their cost field (0x88) to -1 for each node in container |
| 0x00B22C70 | 123 | CSkillTree__CheckGateCondition | Validates skill tree gate conditions (class type, boolean flags) returning 0 if gate passes, 1 if blocked. |
| 0x00B22CF0 | 114 | CSkillTree__EvaluateNodeCost | Evaluates skill tree node cost; returns minimum cost and node index, optionally filtering by character class/requirements. |
| 0x00B22D70 | 203 | CSkillTree__BuildChildList | Builds a child skill list by iterating through skill data and populating a vector with skill IDs and flags. |
| 0x00B24790 | 275 | CSkillGate__ctor | Constructs a CSkillGate object by initializing parent CSkillEdge, setting condition parameters, and assigning display text strings. |
| 0x00B248B0 | 322 | CSkillGate__ctor_from_edge | Constructs CSkillGate from CSkillEdge, initializing gate properties including skill ID, name, description, and position data. |
| 0x00B24A00 | 182 | CSkillEdge__CopyConstructor | Initializes CSkillEdge object with vTable pointer and zeroed member fields; sets default skill level to 200. |
| 0x00B24AC0 | 225 | CSkillTree__ParseNodeEntryB | Initializes a skill tree node entry structure with default values and assigns a string parameter to an internal std::string member. |
| 0x00B24BF0 | 342 | CSkillTree__ParseNodeEntry | Initializes a CSkillTree node structure with skill IDs, parent node ID, and string data from Lua parsing. |
| 0x00B24D50 | 273 | CSkillEdge__ctor | Initializes CSkillEdge object with vtable, zeroes skill connection fields (from/to IDs, cost=101), and allocates two std::strings. |
| 0x00B250F0 | 336 | CSkillNode__dtor | Destructs CSkillNode by clearing skill ID, cost, name strings, and prerequisite/child skill node vectors with proper cleanup. |
| 0x00B25240 | 205 | CSkillEdge__dtor | Destructor for CSkillEdge that clears node IDs, cost, strings, and child vector; resets skill graph edge data structure. |
| 0x00B25320 | 180 | CSkillGate__CopyFrom | Copies skill gate data including strings and vector collections from source to destination object. |
| 0x00B253E0 | 99 | CSkillEdge__CopyFields | Copies skill edge data fields from source to destination object, including strings and vector data with proper memory management. |
| 0x00B255B0 | 122 | CSkillEdge__SetNameFromString | Assigns a C++ string from a null-terminated C string parameter, with stack canary security checks. |
| 0x00B25710 | 52 | CSkillEdge__CompareString | Compares two std::string objects by extracting their data pointers and lengths, handling both small-string and heap-allocated cases. |
| 0x00B257F0 | 113 | CSkillEdge__AssignFields | Compares two string fields in CSkillEdge objects; returns 1 if equal, else comparison result (-1/0/1). |
| 0x00B25870 | 122 | CSkillEdge__SetNameFromCString | Assigns a C-string to a CSkillEdge object's name field using std::string range assignment after length validation. |
| 0x00B25990 | 44 | CSkillEdge__ContainsString | Checks if a CSkillEdge object's internal string contains the substring from another string parameter. |
| 0x00B25AB0 | 81 | CSkillEdge__CompareString_a | Compares two std::string objects by character, returning -1/0/1 for less/equal/greater, processing 2 bytes per iteration. |
| 0x00B25E50 | 32 | CSkillEdge__scalar_dtor | Scalar destructor for CSkillEdge that conditionally deallocates the object if deletion flag is set. |
| 0x00B25EC0 | 58 | CSkillTree__AddNodePtr | Adds a skill node pointer to CSkillTree's dynamic array, growing capacity if needed. |
| 0x00B25F00 | 58 | CSkillTree__AddNodeElement | Adds a skill tree node element to a vector container, growing capacity if needed via STL vector insertion. |
| 0x00B25F40 | 62 | CSkillTree__AddEdgePair | Adds an edge pair to a skill tree's vector, growing capacity if necessary via STL vector insertion. |
| 0x00B25FC0 | 53 | CSkillTree__AddEdgePair_B | Adds an edge pair to CSkillTree's vector, growing capacity if needed; copies 8-byte pair data. |
| 0x00B2C080 | 563 | CNavigation__ParsePathTarget | Parses a navigation path target from packet data, resolving entity/node references and initializing target structure fields. |
| 0x00B2C2C0 | 888 | CNavigation__ParseSkillGatePacket | Parses a skill gate packet, extracts gate name and node names, validates packet structure, and constructs a CSkillGate object. |
| 0x00B2C650 | 710 | CNavigation__FindTargetEntity | Finds and returns a target entity node in the skill edge navigation system by coordinates and name lookup. |
| 0x00B2CD70 | 578 | CNavigation__BuildPathData | Constructs path navigation data by processing input parameters and managing vector/string memory with security cookie validation. |
| 0x00B2D3E0 | 422 | CNavigation__IsNearTarget | Checks if player is near navigation target by comparing current position against target coordinates or UI waypoint. |
| 0x00B2D590 | 412 | CNavigation__ResetState | Resets CNavigation pathfinding state by clearing waypoints, flags, and field data structures to initial values. |
| 0x00B2D760 | 1822 | CNavigation__ProcessMovement | Processes navigation movement by resolving target entity, validating cross-map pathfinding via CSkillTree__FindPath, returning status codes for routing. |
| 0x00B2E2A0 | 495 | CNavigation__FindMatchingPathNode | Searches navigation path nodes for a matching destination by comparing node properties and string identifiers. |
| 0x00B2E700 | 273 | CSkillEdge__CopyStringToField | Copies skill edge data from array at index param_3 to param_2 struct, or initializes with defaults if index invalid. |
| 0x00B2E820 | 480 | CNavigation__GetPathNodeInfo | Retrieves path node information from navigation system, validating node index and extracting node type/cost data. |
| 0x00B2F080 | 853 | CNavigation__ResetAll | Resets navigation state including node elements, pathfinding vectors, and search parameters with optional deep cleanup based on param_2 flag. |
| 0x00B2F400 | 341 | CNavigation__ClearSecondaryTarget | Clears secondary target by resetting target IDs to -1 and clearing associated resource data structures. |
| 0x00B2F6E0 | 503 | CNavigation__TryDirectPath | Attempts direct pathfinding between two coordinates; validates navigation nodes and returns status codes for path validity. |
| 0x00B2F9B0 | 626 | CNavigation__LoadPathNodeList | Loads and deserializes a list of path navigation nodes from a buffer, copying them into the navigation system's node storage with memory management. |
| 0x00B2FC30 | 557 | CNavigation__FindPathAndRecordWaypoints | Finds pathfinding route and converts cell coordinates to screen coordinates for waypoint rendering on minimap/UI |
| 0x00B30070 | 575 | CNavigation__ProcessClickTarget | Validates click-to-move target on same map, compares map names, checks proximity, returns status for UI feedback. |
| 0x00B304A0 | 367 | CSkillEdge__FormatNavigateString | Formats navigation string from skill edge data (position/field info) for UINavigateWnd display using sprintf. |
| 0x00B30680 | 235 | CSkillEdge__FormatNavigateStringD | Formats a navigation string for skill edge with position coordinates, using JSON-based string allocation and formatting. |
| 0x00B307B0 | 391 | CNavigation__GetTargetDebugString | Formats debug string for navigation target containing position/coordinates and skill effect data when applicable. |
| 0x00B309A0 | 338 | CSkillEdge__FormatNavigationString | Formats a navigation string for skill edge by retrieving position and field data, then assigning to UI navigation window display. |
| 0x00B30B10 | 273 | CSkillEdge__FormatNavigateStringC | Formats navigation UI string for skill edge display, showing skill name and position coordinates in message box. |
| 0x00B31300 | 492 | CSkillEdge__FormatPositionString | Formats a CSkillEdge position as a string (name + X Y coordinates) with truncation fallback for buffer overflow. |
| 0x00B35C10 | 750 | CSkillEdge__SetupPathfinding | Initializes pathfinding for skill edge: loads 3D attributes, validates walkability, constructs node names via stringstream, invokes pathfinder. |
| 0x00B36920 | 2349 | CSkillTree__LoadFromLua | Loads skill tree data from Lua script files into the CSkillTree data structure, parsing configuration and initializing skill definitions. |
| 0x00D7E1C0 | 375 | CSkillTreeMgr__UpdateOrInsertSkill | Updates or inserts skill tree entry from packet data; copies skill attributes and converts timestamp to date fields. |
| 0x00D7E490 | 87 | CSkillTreeMgr__UpdateOrInsertHomunSkill | Updates existing homunculus skill in tree or inserts new one; searches by skill ID, updates level/SP/range/flags or appends. |
| 0x00D7E4F0 | 123 | CSkillTreeMgr__UpdateOrInsertSkill_WithRefresh | Updates existing skill in tree or inserts new one; refreshes UI if param_3 is true. |
| 0x00D7E570 | 123 | CSkillTreeMgr__UpdateOrInsertSkill_WithRefresh2 | Updates existing skill in tree or inserts new one, then refreshes equipment UI windows if requested. |
| 0x00D7E8F0 | 380 | CSkillTreeMgr__SetSkillInfo | Populates skill tree entry/group with parameters (level, cost, requirements) and updates UI if needed. |
| 0x00D7F3D0 | 118 | CSkillTreeMgr__IsAutocastSkillId | Checks if a skill ID is eligible for autocast based on job class (param_2: 0=First class, 1=Second class) |
| 0x00D7F720 | 108 | CSkillTreeMgr__UpdateSkillLevel | Updates skill level in tree by finding skill group, retrieving level from map, storing it, and refreshing equipment UI. |
| 0x00D7F830 | 70 | CSkillTreeMgr__IsMatchingSkillEntry | Validates if a skill entry matches specified job ID, skill level requirements, and level use skill conditions. |
| 0x00D7F880 | 84 | CSkillTreeMgr__FindSkillInMap | Searches skill tree map for a skill matching skill ID and level criteria, returns iterator or invalid if not found. |
| 0x00D7F9D0 | 185 | CSkillTreeMgr__LoadJobSkillResource | Loads job skill tree resource by resolving job name, retrieving resource manager instance, and loading resource without locking. |
| 0x00D7FA90 | 254 | CSkillTreeMgr__GetSkillInfo | Retrieves skill info by ID, dispatches to homunculus/mercenary/player/generic handlers, copies result to UI skill list. |
| 0x00D80190 | 161 | CSkillTreeMgr__CountSpecialSkillsInRange | Counts special skills (IDs: 0x1e, 0x21, 0x22, 0x24, 0x35, 0x3a, 0x3e, 0x40, 0x41, 0x42, 0x2b, 0x2d) within a given range |
| 0x00D80240 | 95 | CSkillTreeMgr__TimestampToDate | Converts Unix timestamp to calendar date (year, month, day) using localtime32; clamps negative timestamps to zero. |
| 0x00D80630 | 61 | CSkillTreeMgr__GetSkillLevelTier | Maps skill point values to tier levels (1-4) based on thresholds: ≤10→tier1, 11-20→tier2, 21-40→tier3, >40→tier4 |
| 0x00D806D0 | 150 | CSkillTreeMgr__GetSkillEntryByIndex_Guild | Retrieves guild skill entry by index from linked list, returns copy or default-initialized entry. |
| 0x00D80770 | 150 | CSkillTreeMgr__GetSkillEntryByIndex_Player | Retrieves a skill tree entry by index from a linked list; returns default entry if not found or list is empty. |
| 0x00D80810 | 150 | CSkillTreeMgr__GetSkillEntryByIndex_PlayerAlt | Retrieves a skill tree entry by index from the alternate player's skill list, copying or initializing default on miss. |
| 0x00D808B0 | 150 | CSkillTreeMgr__GetSkillEntryByIndex_Homunculus | Retrieves a homunculus skill entry from a linked list by skill ID; returns default if not found. |
| 0x00D80B30 | 150 | CSkillTreeMgr__GetSkillEntryByIndex_PlayerAlt2 | Retrieves a skill tree entry by index from a linked list; returns default entry if index invalid or list empty. |
| 0x00D80BD0 | 150 | CSkillTreeMgr__GetSkillEntryByIndex_Mercenary | Retrieves a mercenary skill entry from a linked list by skill ID, returns copy or default if not found. |
| 0x00D871B0 | 12 | CSkillTreeMgr__FindGroupByID_wrapper | Wrapper that delegates to CSkillTreeMgr::FindGroupByID() for skill tree group lookup by identifier. |
| 0x00DA4D60 | 933 | CSkillTree__UpdateDisplay | Parses skill tree packet (0x196f) data and updates UI display for skill tree nodes based on packet contents |
No function here matches that. Search all 43,836 functions instead.