diff options
Diffstat (limited to 'linden')
-rw-r--r-- | linden/indra/newview/app_settings/settings.xml | 11 | ||||
-rw-r--r-- | linden/indra/newview/llnetmap.cpp | 26 | ||||
-rw-r--r-- | linden/indra/newview/llnetmap.h | 13 | ||||
-rw-r--r-- | linden/indra/newview/skins/default/xui/en-us/menu_mini_map.xml | 6 |
4 files changed, 53 insertions, 3 deletions
diff --git a/linden/indra/newview/app_settings/settings.xml b/linden/indra/newview/app_settings/settings.xml index f6829f8..d35aa1e 100644 --- a/linden/indra/newview/app_settings/settings.xml +++ b/linden/indra/newview/app_settings/settings.xml | |||
@@ -447,6 +447,17 @@ | |||
447 | <key>Value</key> | 447 | <key>Value</key> |
448 | <real>256.0</real> | 448 | <real>256.0</real> |
449 | </map> | 449 | </map> |
450 | <key>MiniMapShowObjects</key> | ||
451 | <map> | ||
452 | <key>Comment</key> | ||
453 | <string>Shows object on the minimap when TRUE</string> | ||
454 | <key>Persist</key> | ||
455 | <integer>1</integer> | ||
456 | <key>Type</key> | ||
457 | <string>Boolean</string> | ||
458 | <key>Value</key> | ||
459 | <integer>1</integer> | ||
460 | </map> | ||
450 | <key>MiniMapTeleport</key> | 461 | <key>MiniMapTeleport</key> |
451 | <map> | 462 | <map> |
452 | <key>Comment</key> | 463 | <key>Comment</key> |
diff --git a/linden/indra/newview/llnetmap.cpp b/linden/indra/newview/llnetmap.cpp index ec04337..8f7dd03 100644 --- a/linden/indra/newview/llnetmap.cpp +++ b/linden/indra/newview/llnetmap.cpp | |||
@@ -108,6 +108,8 @@ LLNetMap::LLNetMap(const std::string& name) : | |||
108 | (new LLCheckCenterMap())->registerListener(this, "MiniMap.CheckCenter"); | 108 | (new LLCheckCenterMap())->registerListener(this, "MiniMap.CheckCenter"); |
109 | (new LLRotateMap())->registerListener(this, "MiniMap.Rotate"); | 109 | (new LLRotateMap())->registerListener(this, "MiniMap.Rotate"); |
110 | (new LLCheckRotateMap())->registerListener(this, "MiniMap.CheckRotate"); | 110 | (new LLCheckRotateMap())->registerListener(this, "MiniMap.CheckRotate"); |
111 | (new LLShowObjects())->registerListener(this, "MiniMap.ShowObjects"); | ||
112 | (new LLCheckShowObjects())->registerListener(this, "MiniMap.CheckShowObjects"); | ||
111 | (new LLShowWorldMap())->registerListener(this, "MiniMap.ShowWorldMap"); | 113 | (new LLShowWorldMap())->registerListener(this, "MiniMap.ShowWorldMap"); |
112 | (new LLStopTracking())->registerListener(this, "MiniMap.StopTracking"); | 114 | (new LLStopTracking())->registerListener(this, "MiniMap.StopTracking"); |
113 | (new LLEnableTracking())->registerListener(this, "MiniMap.EnableTracking"); | 115 | (new LLEnableTracking())->registerListener(this, "MiniMap.EnableTracking"); |
@@ -302,8 +304,12 @@ void LLNetMap::draw() | |||
302 | U8 *default_texture = mObjectRawImagep->getData(); | 304 | U8 *default_texture = mObjectRawImagep->getData(); |
303 | memset( default_texture, 0, mObjectImagep->getWidth() * mObjectImagep->getHeight() * mObjectImagep->getComponents() ); | 305 | memset( default_texture, 0, mObjectImagep->getWidth() * mObjectImagep->getHeight() * mObjectImagep->getComponents() ); |
304 | 306 | ||
305 | // Draw objects | 307 | // Draw buildings |
306 | gObjectList.renderObjectsForMap(*this); | 308 | //gObjectList.renderObjectsForMap(*this); |
309 | if (gSavedSettings.getBOOL("MiniMapShowObjects")) | ||
310 | { | ||
311 | gObjectList.renderObjectsForMap(*this); | ||
312 | } | ||
307 | 313 | ||
308 | mObjectImagep->setSubImage(mObjectRawImagep, 0, 0, mObjectImagep->getWidth(), mObjectImagep->getHeight()); | 314 | mObjectImagep->setSubImage(mObjectRawImagep, 0, 0, mObjectImagep->getWidth(), mObjectImagep->getHeight()); |
309 | 315 | ||
@@ -1011,6 +1017,22 @@ bool LLNetMap::LLCheckCenterMap::handleEvent(LLPointer<LLEvent> event, const LLS | |||
1011 | return true; | 1017 | return true; |
1012 | } | 1018 | } |
1013 | 1019 | ||
1020 | bool LLNetMap::LLShowObjects::handleEvent(LLPointer<LLEvent> event, const LLSD& userdata) | ||
1021 | { | ||
1022 | BOOL show = gSavedSettings.getBOOL("MiniMapShowObjects"); | ||
1023 | gSavedSettings.setBOOL("MiniMapShowObjects", !show); | ||
1024 | |||
1025 | return true; | ||
1026 | } | ||
1027 | |||
1028 | bool LLNetMap::LLCheckShowObjects::handleEvent(LLPointer<LLEvent> event, const LLSD& userdata) | ||
1029 | { | ||
1030 | LLNetMap *self = mPtr; | ||
1031 | BOOL enabled = gSavedSettings.getBOOL("MiniMapShowObjects"); | ||
1032 | self->findControl(userdata["control"].asString())->setValue(enabled); | ||
1033 | return true; | ||
1034 | } | ||
1035 | |||
1014 | bool LLNetMap::LLShowWorldMap::handleEvent(LLPointer<LLEvent> event, const LLSD& userdata) | 1036 | bool LLNetMap::LLShowWorldMap::handleEvent(LLPointer<LLEvent> event, const LLSD& userdata) |
1015 | { | 1037 | { |
1016 | LLFloaterWorldMap::show(NULL, FALSE); | 1038 | LLFloaterWorldMap::show(NULL, FALSE); |
diff --git a/linden/indra/newview/llnetmap.h b/linden/indra/newview/llnetmap.h index c0c19d5..562ebc6 100644 --- a/linden/indra/newview/llnetmap.h +++ b/linden/indra/newview/llnetmap.h | |||
@@ -118,7 +118,6 @@ private: | |||
118 | LLUUID mClosestAgentToCursor; | 118 | LLUUID mClosestAgentToCursor; |
119 | LLUUID mClosestAgentAtLastRightClick; | 119 | LLUUID mClosestAgentAtLastRightClick; |
120 | 120 | ||
121 | static BOOL sRotateMap; | ||
122 | static LLNetMap* sInstance; | 121 | static LLNetMap* sInstance; |
123 | static BOOL isAgentUnderCursor(void*) { return sInstance && sInstance->mClosestAgentToCursor.notNull(); } | 122 | static BOOL isAgentUnderCursor(void*) { return sInstance && sInstance->mClosestAgentToCursor.notNull(); } |
124 | static BOOL outsideSlop(S32 x, S32 y, S32 start_x, S32 start_y); | 123 | static BOOL outsideSlop(S32 x, S32 y, S32 start_x, S32 start_y); |
@@ -156,6 +155,18 @@ private: | |||
156 | /*virtual*/ bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata); | 155 | /*virtual*/ bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata); |
157 | }; | 156 | }; |
158 | 157 | ||
158 | class LLShowObjects : public LLMemberListener<LLNetMap> | ||
159 | { | ||
160 | public: | ||
161 | /*virtual*/ bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata); | ||
162 | }; | ||
163 | |||
164 | class LLCheckShowObjects : public LLMemberListener<LLNetMap> | ||
165 | { | ||
166 | public: | ||
167 | /*virtual*/ bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata); | ||
168 | }; | ||
169 | |||
159 | class LLShowWorldMap : public LLMemberListener<LLNetMap> | 170 | class LLShowWorldMap : public LLMemberListener<LLNetMap> |
160 | { | 171 | { |
161 | public: | 172 | public: |
diff --git a/linden/indra/newview/skins/default/xui/en-us/menu_mini_map.xml b/linden/indra/newview/skins/default/xui/en-us/menu_mini_map.xml index 039165b..4b31328 100644 --- a/linden/indra/newview/skins/default/xui/en-us/menu_mini_map.xml +++ b/linden/indra/newview/skins/default/xui/en-us/menu_mini_map.xml | |||
@@ -25,6 +25,12 @@ | |||
25 | <on_check function="MiniMap.CheckRotate" userdata="" /> | 25 | <on_check function="MiniMap.CheckRotate" userdata="" /> |
26 | </menu_item_check> | 26 | </menu_item_check> |
27 | <menu_item_separator /> | 27 | <menu_item_separator /> |
28 | <menu_item_check bottom_delta="-18" enabled="true" height="18" label="Show Objects" | ||
29 | left="0" mouse_opaque="true" name="Show Objects" width="128"> | ||
30 | <on_click function="MiniMap.ShowObjects" userdata="" /> | ||
31 | <on_check function="MiniMap.CheckShowObjects" userdata="" /> | ||
32 | </menu_item_check> | ||
33 | <menu_item_separator /> | ||
28 | <menu_item_call bottom_delta="-18" enabled = "false" height="18" label="Show World Map" | 34 | <menu_item_call bottom_delta="-18" enabled = "false" height="18" label="Show World Map" |
29 | left="0" mouse_opaque="true" name="Show Map" width="128"> | 35 | left="0" mouse_opaque="true" name="Show Map" width="128"> |
30 | <on_click function="MiniMap.ShowWorldMap" userdata="" /> | 36 | <on_click function="MiniMap.ShowWorldMap" userdata="" /> |