aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden
diff options
context:
space:
mode:
Diffstat (limited to 'linden')
-rw-r--r--linden/indra/newview/app_settings/settings.xml11
-rw-r--r--linden/indra/newview/llnetmap.cpp26
-rw-r--r--linden/indra/newview/llnetmap.h13
-rw-r--r--linden/indra/newview/skins/default/xui/en-us/menu_mini_map.xml6
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
1020bool 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
1028bool 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
1014bool LLNetMap::LLShowWorldMap::handleEvent(LLPointer<LLEvent> event, const LLSD& userdata) 1036bool 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="" />