void CMouseHandler::ReloadCursors() { const CMouseCursor::HotSpot mCenter = CMouseCursor::Center; const CMouseCursor::HotSpot mTopLeft = CMouseCursor::TopLeft; activeCursorIdx = -1; loadedCursors.clear(); loadedCursors.reserve(32); // null-cursor; always lives at index 0 loadedCursors.emplace_back(); cursorCommandMap.clear(); cursorCommandMap.reserve(32); cursorFileMap.clear(); cursorFileMap.reserve(32); cursorCommandMap["none"] = loadedCursors.size() - 1; cursorFileMap["null"] = loadedCursors.size() - 1; AssignMouseCursor("", "cursornormal", mTopLeft, false); AssignMouseCursor("Area attack", "cursorareaattack", mCenter, false); AssignMouseCursor("Area attack", "cursorattack", mCenter, false); // backup AssignMouseCursor("Attack", "cursorattack", mCenter, false); AssignMouseCursor("AttackBad", "cursorattackbad", mCenter, false); AssignMouseCursor("AttackBad", "cursorattack", mCenter, false); // backup AssignMouseCursor("BuildBad", "cursorbuildbad", mCenter, false); AssignMouseCursor("BuildGood", "cursorbuildgood", mCenter, false); AssignMouseCursor("Capture", "cursorcapture", mCenter, false); AssignMouseCursor("Centroid", "cursorcentroid", mCenter, false); AssignMouseCursor("DeathWait", "cursordwatch", mCenter, false); AssignMouseCursor("DeathWait", "cursorwait", mCenter, false); // backup AssignMouseCursor("ManualFire", "cursormanfire", mCenter, false); AssignMouseCursor("ManualFire", "cursordgun", mCenter, false); // backup (backward compability) AssignMouseCursor("ManualFire", "cursorattack", mCenter, false); // backup AssignMouseCursor("Fight", "cursorfight", mCenter, false); AssignMouseCursor("Fight", "cursorattack", mCenter, false); // backup AssignMouseCursor("GatherWait", "cursorgather", mCenter, false); AssignMouseCursor("GatherWait", "cursorwait", mCenter, false); // backup AssignMouseCursor("Guard", "cursordefend", mCenter, false); AssignMouseCursor("Load units", "cursorpickup", mCenter, false); AssignMouseCursor("Move", "cursormove", mCenter, false); AssignMouseCursor("Patrol", "cursorpatrol", mCenter, false); AssignMouseCursor("Reclaim", "cursorreclamate", mCenter, false); AssignMouseCursor("Repair", "cursorrepair", mCenter, false); AssignMouseCursor("Resurrect", "cursorrevive", mCenter, false); AssignMouseCursor("Resurrect", "cursorrepair", mCenter, false); // backup AssignMouseCursor("Restore", "cursorrestore", mCenter, false); AssignMouseCursor("Restore", "cursorrepair", mCenter, false); // backup AssignMouseCursor("SelfD", "cursorselfd", mCenter, false); AssignMouseCursor("SquadWait", "cursornumber", mCenter, false); AssignMouseCursor("SquadWait", "cursorwait", mCenter, false); // backup AssignMouseCursor("TimeWait", "cursortime", mCenter, false); AssignMouseCursor("TimeWait", "cursorwait", mCenter, false); // backup AssignMouseCursor("Unload units", "cursorunload", mCenter, false); AssignMouseCursor("Wait", "cursorwait", mCenter, false); // the default cursor must exist const auto defCursorIt = cursorCommandMap.find(""); if (defCursorIt == cursorCommandMap.end()) { throw content_error( "Unable to load default cursor. Check that you have the required\n" "content packages installed in your Spring \"base/\" directory.\n"); } activeCursorIdx = defCursorIt->second; }
void CMouseHandler::LoadCursors() { const CMouseCursor::HotSpot mCenter = CMouseCursor::Center; const CMouseCursor::HotSpot mTopLeft = CMouseCursor::TopLeft; CMouseCursor* nullCursor = CMouseCursor::GetNullCursor(); cursorCommandMap["none"] = nullCursor; // Note: we intentionally don't add it there cause GetNullCursor() returns // a pointer to a static var, so it gets automatically deleted //cursorFileMap["null"] = nullCursor; AssignMouseCursor("", "cursornormal", mTopLeft, false); AssignMouseCursor("Area attack", "cursorareaattack", mCenter, false); AssignMouseCursor("Area attack", "cursorattack", mCenter, false); // backup AssignMouseCursor("Attack", "cursorattack", mCenter, false); AssignMouseCursor("AttackBad", "cursorattackbad", mCenter, false); AssignMouseCursor("AttackBad", "cursorattack", mCenter, false); // backup AssignMouseCursor("BuildBad", "cursorbuildbad", mCenter, false); AssignMouseCursor("BuildGood", "cursorbuildgood", mCenter, false); AssignMouseCursor("Capture", "cursorcapture", mCenter, false); AssignMouseCursor("Centroid", "cursorcentroid", mCenter, false); AssignMouseCursor("DeathWait", "cursordwatch", mCenter, false); AssignMouseCursor("DeathWait", "cursorwait", mCenter, false); // backup AssignMouseCursor("ManualFire", "cursormanfire", mCenter, false); AssignMouseCursor("ManualFire", "cursordgun", mCenter, false); // backup (backward compability) AssignMouseCursor("ManualFire", "cursorattack", mCenter, false); // backup AssignMouseCursor("Fight", "cursorfight", mCenter, false); AssignMouseCursor("Fight", "cursorattack", mCenter, false); // backup AssignMouseCursor("GatherWait", "cursorgather", mCenter, false); AssignMouseCursor("GatherWait", "cursorwait", mCenter, false); // backup AssignMouseCursor("Guard", "cursordefend", mCenter, false); AssignMouseCursor("Load units", "cursorpickup", mCenter, false); AssignMouseCursor("Move", "cursormove", mCenter, false); AssignMouseCursor("Patrol", "cursorpatrol", mCenter, false); AssignMouseCursor("Reclaim", "cursorreclamate", mCenter, false); AssignMouseCursor("Repair", "cursorrepair", mCenter, false); AssignMouseCursor("Resurrect", "cursorrevive", mCenter, false); AssignMouseCursor("Resurrect", "cursorrepair", mCenter, false); // backup AssignMouseCursor("Restore", "cursorrestore", mCenter, false); AssignMouseCursor("Restore", "cursorrepair", mCenter, false); // backup AssignMouseCursor("SelfD", "cursorselfd", mCenter, false); AssignMouseCursor("SquadWait", "cursornumber", mCenter, false); AssignMouseCursor("SquadWait", "cursorwait", mCenter, false); // backup AssignMouseCursor("TimeWait", "cursortime", mCenter, false); AssignMouseCursor("TimeWait", "cursorwait", mCenter, false); // backup AssignMouseCursor("Unload units", "cursorunload", mCenter, false); AssignMouseCursor("Wait", "cursorwait", mCenter, false); // the default cursor must exist if (cursorCommandMap.find("") == cursorCommandMap.end()) { throw content_error( "Unable to load default cursor. Check that you have the required\n" "content packages installed in your Spring \"base/\" directory.\n"); } }
void CMouseHandler::LoadCursors() { const CMouseCursor::HotSpot mCenter = CMouseCursor::Center; const CMouseCursor::HotSpot mTopLeft = CMouseCursor::TopLeft; AssignMouseCursor("", "cursornormal", mTopLeft, false); AssignMouseCursor("Area attack", "cursorareaattack", mCenter, false); AssignMouseCursor("Area attack", "cursorattack", mCenter, false); // backup AssignMouseCursor("Attack", "cursorattack", mCenter, false); AssignMouseCursor("BuildBad", "cursorbuildbad", mCenter, false); AssignMouseCursor("BuildGood", "cursorbuildgood", mCenter, false); AssignMouseCursor("Capture", "cursorcapture", mCenter, false); AssignMouseCursor("Centroid", "cursorcentroid", mCenter, false); AssignMouseCursor("DeathWait", "cursordwatch", mCenter, false); AssignMouseCursor("DeathWait", "cursorwait", mCenter, false); // backup AssignMouseCursor("DGun", "cursordgun", mCenter, false); AssignMouseCursor("DGun", "cursorattack", mCenter, false); // backup AssignMouseCursor("Fight", "cursorfight", mCenter, false); AssignMouseCursor("Fight", "cursorattack", mCenter, false); // backup AssignMouseCursor("GatherWait", "cursorgather", mCenter, false); AssignMouseCursor("GatherWait", "cursorwait", mCenter, false); // backup AssignMouseCursor("Guard", "cursordefend", mCenter, false); AssignMouseCursor("Load units", "cursorpickup", mCenter, false); AssignMouseCursor("Move", "cursormove", mCenter, false); AssignMouseCursor("Patrol", "cursorpatrol", mCenter, false); AssignMouseCursor("Reclaim", "cursorreclamate", mCenter, false); AssignMouseCursor("Repair", "cursorrepair", mCenter, false); AssignMouseCursor("Resurrect", "cursorrevive", mCenter, false); AssignMouseCursor("Resurrect", "cursorrepair", mCenter, false); // backup AssignMouseCursor("Restore", "cursorrestore", mCenter, false); AssignMouseCursor("Restore", "cursorrepair", mCenter, false); // backup AssignMouseCursor("SelfD", "cursorselfd", mCenter, false); AssignMouseCursor("SquadWait", "cursornumber", mCenter, false); AssignMouseCursor("SquadWait", "cursorwait", mCenter, false); // backup AssignMouseCursor("TimeWait", "cursortime", mCenter, false); AssignMouseCursor("TimeWait", "cursorwait", mCenter, false); // backup AssignMouseCursor("Unload units", "cursorunload", mCenter, false); AssignMouseCursor("Wait", "cursorwait", mCenter, false); // the default cursor must exist if (cursorCommandMap.find("") == cursorCommandMap.end()) { handleerror(0, "Unable to load default cursor. Check that you have the required\n" "content packages installed in your Spring \"base/\" directory.\n", "Missing Dependency: \"cursornormal\"", 0); } }