From 075d8a44a5fae838f7a92da9945fe8b9c71d65f9 Mon Sep 17 00:00:00 2001 From: raczman Date: Tue, 31 Mar 2009 00:15:17 +0200 Subject: Optimize storage for eventAI. Store as Map of creature id's linked to vectors of events used by that creature id Author of both commits: NoFantasy. --HG-- branch : trunk --- src/bindings/scripts/ScriptMgr.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'src/bindings/scripts/ScriptMgr.cpp') diff --git a/src/bindings/scripts/ScriptMgr.cpp b/src/bindings/scripts/ScriptMgr.cpp index 0d7f47a4c84..156358eddd9 100644 --- a/src/bindings/scripts/ScriptMgr.cpp +++ b/src/bindings/scripts/ScriptMgr.cpp @@ -52,7 +52,7 @@ UNORDERED_MAP TextMap; //*** EventAI data *** //Event AI structure. Used exclusivly by mob_event_ai.cpp (60 bytes each) -std::list EventAI_Event_List; +UNORDERED_MAP > EventAI_Event_Map; //Event AI summon structure. Used exclusivly by mob_event_ai.cpp. UNORDERED_MAP EventAI_Summon_Map; @@ -901,7 +901,7 @@ void LoadDatabase() "FROM eventai_scripts"); //Drop Existing EventAI List - EventAI_Event_List.clear(); + EventAI_Event_Map.clear(); outstring_log("TSCR: Loading EventAI scripts..."); if (result) @@ -919,6 +919,7 @@ void LoadDatabase() temp.event_id = fields[0].GetUInt32(); uint32 i = temp.event_id; temp.creature_id = fields[1].GetUInt32(); + uint32 creature_id = temp.creature_id; temp.event_type = fields[2].GetUInt16(); temp.event_inverse_phase_mask = fields[3].GetUInt32(); temp.event_chance = fields[4].GetUInt8(); @@ -1282,7 +1283,8 @@ void LoadDatabase() } //Add to list - EventAI_Event_List.push_back(temp); + EventAI_Event_Map[creature_id].push_back(temp); + ++Count; } while (result->NextRow()); -- cgit v1.2.3