Back to legacygamers.net
WARPGATE

Rune

CRuneSystemMgr, CRuneSlotData, UIRuneStoneWnd, UIRuneSystemWnd, lua_RuneSystem, packet handling

Functions 73Code 18 KBAddresses 0x0068D090 to 0x007D3620
73 functions
AddressSizeNameDescription
0x0068D090143CRuneSystemMgr__FormatRuneSetStringFormats a rune set configuration string using variable arguments with security cookie stack protection.
0x0072C140449CRuneSystemMgr__VectorInsertGrowReallocates and reorganizes a dynamic vector, inserting a new element at a specified position while maintaining data integrity.
0x0072CDB0158CRuneSystemMgr__FormatStringWrapper for formatting rune system strings with security cookie validation and stack frame setup.
0x0072CE50173CRuneSystemMgr__FormatRuneStringFormats rune system strings by calling fmt__format_to_string_v2 with three pre-allocated buffers at fixed memory offsets.
0x0072CFC0430CRuneSystemMgr__ConstructorInitializes CRuneSystemMgr with vtable, 5 std::map containers (0x20 bytes each), and state flags for rune system management.
0x0072DB60165CRuneSystemMgr__DestructorDestructor for CRuneSystemMgr that deallocates vector, map, and rune node tree structures with virtual destructor calls.
0x0072DE5031CRuneSystemMgr__IsSelectedGroupChecks if a 64-bit rune group ID matches the selected group; returns group index or zero.
0x0072DE7042CRuneSystemMgr__CompareRuneSlotsCompares three fields (offsets 0x10, 0x14, 0x48) of two rune slot structures; returns 1 if equal, else masked difference.
0x0072DEA042CRuneSystemMgr__CompareRuneSlots_0072dea0Compares three fields (offsets 0x10, 0x14, 0x48) of two rune slot objects; returns 1 if all match, else comparison result.
0x0072DF9032CRuneSystemMgr__ScalarDeletingDestructorScalar deleting destructor for CRuneSystemMgr; calls destructor and conditionally frees 0x68-byte object.
0x0072DFC0173CRuneGroup__ScalarDestructorDestructs CRuneGroup object, cleaning up 2 vector containers and optional memory deallocation.
0x0072E1D0159CRuneSystemMgr__RegisterSlotMappingRegisters a rune slot mapping by inserting a param_3 value at index param_2 in a STL map container, with vector resizing to capacity 0xF (15).
0x0072E270159CRuneSystemMgr__RegisterSlotMapping2Registers a rune slot mapping by inserting param_3 at index param_2 into a map-managed vector, with capacity validation.
0x0072E310309CRuneSystemMgr__AddEntryToMapAdds an 8-byte entry pair to a std::map<int, vector<uint64>> keyed by rune ID, allocating new map nodes and vectors as needed.
0x0072E450501CRuneSystemMgr__AddSpriteLayerAllocates and initializes a sprite layer entry (0x50 or 0x138 bytes) with position/name data, adds to layer vector.
0x0072E650335CRuneSystemMgr__AddLuaScriptToLayerAssigns Lua script string to a sprite layer entry's script slot (0-5); shows error if slot index >= 6.
0x0072E7A0134CRuneSystemMgr__SetLayerPropertySets a property value on a sprite layer by ID and position, storing to offset 0xA8 + propertyIndex*4.
0x0072E830181CRuneSystemMgr__AddSoundToLayerFinds a sprite layer by ID and position, creates a sound resource, and appends it to the layer's sound vector.
0x0072E8F0292CRuneSystemMgr__AddNamedGroupAllocates and initializes a CRuneGroup object with param_2 as ID, then appends it to the manager's group vector at offset 0x20.
0x0072EA2044CRuneSystemMgr__PushBackRuneSlotIDPushes a rune slot ID onto a vector, reallocating if necessary; used by CRuneSystemMgr to manage rune slot storage.
0x0072EB50341CRuneSystemMgr__AddEntryToMap2Inserts a rune slot entry into CRuneSystemMgr's map, initializing vtable and storing 4 parameters as rune slot data.
0x0072ECB073CRuneSystemMgr__GetSlotCountCounts non-null rune slots in a container and stores result at offset 0x24 in the slot structure.
0x0072EDA027CRuneSystemMgr__DestroySingletonDestroys CRuneSystemMgr singleton by calling virtual destructor and nullifying global instance pointer.
0x0072EDC064CRuneSystemMgr__GetRuneSlotHighlightFinds the highest non-empty rune slot index (1-7) in CRuneSystemMgr's rune array, returns -1 if all empty.
0x0072EEB060CRuneSystemMgr__FindRuneByIdSearches rune collection for entry matching given ID, returns pointer or null if not found.
0x0072EEF038CRuneSystemMgr__GetRuneSlotByIndexRetrieves a rune slot entry from the rune system manager's array by index with bounds checking.
0x0072EF20216CRuneSystemMgr__CountNonNullEntriesCounts non-null pointers in rune system entry array using 8-way loop unrolling for performance optimization
0x0072F00044CRuneSystemMgr__GetActiveSlotCountIterates through rune slots array, counts active runes by checking non-zero byte at offset 0xc in each rune object.
0x0072F03012CRuneSystemMgr__GetNameStrReturns pointer to rune system name string, dereferencing if internal buffer size exceeds 15 chars
0x0072F04034CRuneSystemMgr__GetItemByIndexReturns pointer to rune item at given index from array, with bounds checking; returns 0 if index invalid.
0x0072F07034CRuneSystemMgr__GetRuneIconByIndexReturns rune icon data at specified index from CRuneSystemMgr's icon array with bounds checking.
0x0072F0A065CRuneSystemMgr__FindRuneByIDFinds and returns a rune object by ID from the rune system manager's map, validating rune state and ownership.
0x0072F0F065CRuneSystemMgr__FindSlotByIDSearches rune system map for slot matching ID, validates slot state and returns slot data offset if found.
0x0072F160101CRuneSystemMgr__GetRuneInfoRetrieves a rune info element from a map by key, validating bounds and returning the indexed rune data or 0.
0x0072F1F080CRuneSystemMgr__FindRuneEntryFinds a rune entry in CRuneSystemMgr's map by key; returns entry pointer or invalid marker if not found/out of bounds.
0x0072F24071CRuneSystemMgr__FindRuneEntryBySlotFinds rune entry by slot index in map, returns rune count if entry valid and differs from manager instance
0x0072F29084CRuneSystemMgr__GetCurrentRuneDataRetrieves a rune data element by index from the current active rune entry in the rune system manager.
0x0072F2F028CRuneSystemMgr__GetSlotCountForGroupCalculates available rune slots in a group by computing difference between max and used slots, divided by 4.
0x0072F310228CRuneSystemMgr__GetRuneValueAtSlotRetrieves rune value from validated slot by looking up index in map and accessing array element with bounds checking.
0x0072F40079CRuneSystemMgr__LookupGroupEntryIterates through rune system group entries to find matching group ID, then searches the group map for rune data.
0x0072F450110CRuneSystemMgr__SearchGroupMapSearches a rune system group map by param2 type, finds entry matching param3 and param4 IDs, returns entry pointer
0x0072F4F022CRuneSystemMgr__GetCurrentRuneSlotValueRetrieves the rune value at the current active rune slot index, returning 0 if slot index >= 15.
0x0072F510174CRuneSystemMgr__FindRunePairByIDFinds a rune pair by ID, validating it exists in two consecutive STL map lookups and returning the pair pointer or null.
0x0072F5D012CRuneSystemMgr__GetDescStrReturns pointer to rune system description string, dereferencing if internal buffer capacity exceeds 15 chars.
0x0072F5E01727CRuneSystemMgr__LoadLuaTablesInitializes Lua state and registers 15 callbacks for parsing rune system configuration files from System\Rune\ directory.
0x0072FD3B885CRuneSystemMgr__load_lua_filesLoads all rune system Lua files: runeset_info.lub, runeset_desc.lub, runesystem_f.lub, runeset_reward.lub. Calls main_rune and main_runeset_reward functions. Shows MessageBox on error. Sorts results and loads default tags on success.
0x007300B0185CRuneSystemMgr__ResetAllRunesResets all rune system data by clearing active flags, item flags, and type-0 extended fields across rune sets.
0x00730200300CRuneSystemMgr__LoadDefaultTagLoads default rune tag from Lua config "System\\Rune\\runesystemInfo", calls GetDefultTag, validates against rune set tags.
0x00730380266CRuneSystemMgr__ValidateRuneSetValidates a rune set by ID by looking up in tree, iterating items, checking if item count meets requirements.
0x007305D0529CRuneSystemMgr__HandlePacketDispatches rune system packets (0xBCB, 0xBCE/0xBD0, 0xBD2, 0xBD4, 0xBD6, 0xC16) with validation and network transmission via CConnection.
0x00730850370CRuneSystemMgr__ParseRuneSlotIDsParses rune slot IDs from item list, validates via tree lookup, appends valid IDs to vector at +0x5C
0x007309D0108CRuneSystemMgr__GetGroupNameRetrieves and assigns a rune group's name string from the group map by searching with provided parameters.
0x00730B40236CItemSlot__SetEquippedItemSets equipped item in slot, manages enchant effects, counts sub-items, updates slot appearance data.
0x00730C3087CRuneSystemMgr__SetSelectedRuneSlotSets the active rune slot in the rune system manager, validating the slot ID exists before updating the selection.
0x00730D90131CRuneSystemMgr__HandleBarterResultLocates a barter entry by ID and item pair, then stores result parameter at offset 0xf4 in matching entry.
0x007315D0509CRuneSystemMgr__Lua_SetGradeValuesLua binding that validates and sets rune grade values in CRuneSystemMgr's grade table map, resizing vectors to 15 elements as needed.
0x007317D0509CRuneSystemMgr__Lua_SetGradeValues2Lua binding that sets rune grade values into a map structure, validating 3 numeric parameters and resizing vector storage to 15 elements as needed.
0x007319D0673CRuneSystemMgr__Lua_AddRuneListItemLua binding that validates 4 numeric arguments (ListID, ListIndex, ItemID, Num) and adds item to CRuneSystemMgr rune list via STL map/vector.
0x00731C80163CRuneSystemMgr__ParseLuaTableEntryExtracts numeric and string rune data from Lua table stack, assigns string value to internal storage
0x00731F10860CRuneSystemMgr__Lua_ActivateRuneSetLua binding that activates a rune set by TagID and RuneSetID, validating inputs and returning success status with error messages.
0x00732270171CRuneSystemMgr__Lua_SetRuneNameLua binding that retrieves 3 numbers and a string from Lua stack, then assigns the string to a rune name via std_string assignment.
0x007325D0553CRuneSystemMgr__Lua_SetGradeListLua binding that validates and sets rune grade list parameters (Tag, ID, ItemID, itemNum) from Lua into CRuneSystemMgr
0x00732800530CRuneSystemMgr__Lua_AddSlotCollectionLua binding that adds a RuneID to a slot collection's vector, looked up by Tag and ID parameters.
0x00732A20147CRuneSystemMgr__ParseLuaTableEntryToStringExtracts a Lua string value from table entry and assigns it to a std::string object, likely for rune system configuration parsing.
0x00732CD0245CRuneSystemMgr__LuaGetRuneDataLua callback that retrieves rune data by ID, validates input, stores rune ID in vector, returns success status and formatted string to Lua.
0x00732DD0549CRuneSystemMgr__Lua_SetGradeTableLua binding that validates and inserts ItemID with two TypeID values into CRuneSystemMgr's grade table map.
0x00733000868lua_RuneSystem__AddDecomItemLua binding that validates and registers item decomposition entries in the rune system, parsing 5 parameters (DecomTypeID, ItemID, min/max quantities, probability).
0x00733370180CRuneSystemMgr__ParseLuaTableEntry3Extracts a string from Lua stack and assigns it to a std::string member, parsing rune system table entry data
0x00733610555lua_RuneSystem__SetRuneGradeLua handler that validates 4 numeric args (Tag, RuneSetID, RuneGradeType, RuneGradeFailType) and updates rune grade fields on matching rune items.
0x00733840219lua_RuneSystem__SetSelectedRuneSlotLua wrapper for CRuneSystemMgr::SetSelectedRuneSlot; validates input and returns status with error message to Lua.
0x007D2FF067CRuneSlotData__FreeBufferDeallocates a 0x118-byte rune slot data buffer at offset +4 in the CRuneSlotData object structure.
0x007D313078CRuneSlotData__FreeBufferSafeSafely deallocates a 0x118-byte buffer stored at offset +4 in a rune slot data structure with stack canary protection.
0x007D362076CRuneSystemData__ClearAllSlotsClears all rune system slots and counters by zeroing 0x240 bytes of slot data and resetting tracking variables.