void DumpUIErrors(std::shared_ptr<Process> wow) { static std::uintptr_t const UIErrorsOffset = 0xCB01D0; static std::size_t const UIErrorsSize = 945; Enum uiErrors; uiErrors.SetName("GAME_ERROR_TYPE"); std::vector<UIErrorInfo> errors = wow->ReadArray<UIErrorInfo>(UIErrorsOffset, UIErrorsSize); for (std::size_t i = 0; i < errors.size(); ++i) { std::string error = wow->Read<std::string>(errors[i].ErrorName); if (!error.empty()) uiErrors.AddMember(Enum::Member(i, error, "")); } DumpEnum(uiErrors, "UIErrors"); }
void DumpFrameXML_Events(std::shared_ptr<Process> wow) { static std::uintptr_t const FrameXML_EventsOffset = 0xE66430; static std::size_t const FrameXML_EventsSize = 1054; Enum frameXML; frameXML.SetName("FrameXML_Events"); std::vector<char const*> events = wow->ReadArray<char const*>(FrameXML_EventsOffset, FrameXML_EventsSize); for (std::size_t i = 0; i < events.size(); ++i) { std::string evt = wow->Read<std::string>(events[i]); if (!evt.empty()) frameXML.AddMember(Enum::Member(i, evt, "")); } DumpEnum(frameXML, "FrameXML_Events"); }
void UpdateFieldDumper::DumpEnums(std::ofstream& updateFieldsDump) { DumpEnum(updateFieldsDump, ObjectFields); DumpEnum(updateFieldsDump, ObjectDynamicFields); DumpEnum(updateFieldsDump, ItemFields); DumpEnum(updateFieldsDump, ItemDynamicFields); DumpEnum(updateFieldsDump, ContainerFields); DumpEnum(updateFieldsDump, ContainerDynamicFields); DumpEnum(updateFieldsDump, UnitFields); DumpEnum(updateFieldsDump, UnitDynamicFields); DumpEnum(updateFieldsDump, PlayerFields); DumpEnum(updateFieldsDump, PlayerDynamicFields); DumpEnum(updateFieldsDump, GameObjectFields); DumpEnum(updateFieldsDump, GameObjectDynamicFields); DumpEnum(updateFieldsDump, DynamicObjectFields); DumpEnum(updateFieldsDump, DynamicObjectDynamicFields); DumpEnum(updateFieldsDump, CorpseFields); DumpEnum(updateFieldsDump, CorpseDynamicFields); DumpEnum(updateFieldsDump, AreaTriggerFields); DumpEnum(updateFieldsDump, AreaTriggerDynamicFields); DumpEnum(updateFieldsDump, SceneObjectFields); DumpEnum(updateFieldsDump, SceneObjectDynamicFields); DumpEnum(updateFieldsDump, ConversationFields); DumpEnum(updateFieldsDump, ConversationDynamicFields); }