aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/newview
diff options
context:
space:
mode:
authorArmin Weatherwax2011-02-03 22:24:21 +0100
committerArmin Weatherwax2011-03-01 14:32:54 +0100
commitde7bae0930e4830bbb90f12652d9a75088d431de (patch)
treeda64e9ad91d270796e0833babc88f0acff8c93c8 /linden/indra/newview
parentremove llfloaterhtml.* (not used anymore). (diff)
downloadmeta-impy-de7bae0930e4830bbb90f12652d9a75088d431de.zip
meta-impy-de7bae0930e4830bbb90f12652d9a75088d431de.tar.gz
meta-impy-de7bae0930e4830bbb90f12652d9a75088d431de.tar.bz2
meta-impy-de7bae0930e4830bbb90f12652d9a75088d431de.tar.xz
Revolution Smythe: load voice module depending on login response
Diffstat (limited to 'linden/indra/newview')
-rw-r--r--linden/indra/newview/app_settings/settings.xml12
-rw-r--r--linden/indra/newview/hippolimits.cpp5
-rw-r--r--linden/indra/newview/hippolimits.h3
-rw-r--r--linden/indra/newview/kowopenregionsettings.cpp7
-rw-r--r--linden/indra/newview/llvoiceclient.cpp23
-rw-r--r--linden/indra/newview/llvoiceclient.h3
6 files changed, 44 insertions, 9 deletions
diff --git a/linden/indra/newview/app_settings/settings.xml b/linden/indra/newview/app_settings/settings.xml
index 17d4c3c..fbb51e8 100644
--- a/linden/indra/newview/app_settings/settings.xml
+++ b/linden/indra/newview/app_settings/settings.xml
@@ -37,7 +37,17 @@
37 <key>Value</key> 37 <key>Value</key>
38 <integer>0</integer> 38 <integer>0</integer>
39 </map> 39 </map>
40 40 <key>VoiceModule</key>
41 <map>
42 <key>Comment</key>
43 <string>Executable file that runs voice. Platform specific parts (like .exe on windows) are added automatically.</string>
44 <key>Persist</key>
45 <integer>1</integer>
46 <key>Type</key>
47 <string>String</string>
48 <key>Value</key>
49 <string>SLVoice</string>
50 </map>
41 <!-- Imprudence-specific settings --> 51 <!-- Imprudence-specific settings -->
42 52
43 <key>AllowEditingOfTrees</key> 53 <key>AllowEditingOfTrees</key>
diff --git a/linden/indra/newview/hippolimits.cpp b/linden/indra/newview/hippolimits.cpp
index d4c8efb..bb2e805 100644
--- a/linden/indra/newview/hippolimits.cpp
+++ b/linden/indra/newview/hippolimits.cpp
@@ -22,7 +22,8 @@ HippoLimits::HippoLimits()
22 mMinPrimScale(0.001f), 22 mMinPrimScale(0.001f),
23 mMaxPrimScale(256.0f), 23 mMaxPrimScale(256.0f),
24 mMaxLinkedPrims(-1), 24 mMaxLinkedPrims(-1),
25 mMaxDragDistance(0.f) 25 mMaxDragDistance(0.f),
26 mVoiceConnector("SLVoice")
26{ 27{
27 setLimits(); 28 setLimits();
28} 29}
@@ -68,6 +69,7 @@ void HippoLimits::setOpenSimLimits()
68 mEnableTeenMode = FALSE; 69 mEnableTeenMode = FALSE;
69 mEnforceMaxBuild = FALSE; 70 mEnforceMaxBuild = FALSE;
70 mRenderWater = TRUE; 71 mRenderWater = TRUE;
72 mVoiceConnector = "SLVoice";
71 73
72 if (gHippoGridManager->getConnectedGrid()->isRenderCompat()) { 74 if (gHippoGridManager->getConnectedGrid()->isRenderCompat()) {
73 llinfos << "Using rendering compatible OpenSim limits" << llendl; 75 llinfos << "Using rendering compatible OpenSim limits" << llendl;
@@ -110,6 +112,7 @@ void HippoLimits::setSecondLifeLimits()
110 mEnableTeenMode = FALSE; 112 mEnableTeenMode = FALSE;
111 mEnforceMaxBuild = FALSE; 113 mEnforceMaxBuild = FALSE;
112 mRenderWater = TRUE; 114 mRenderWater = TRUE;
115 mVoiceConnector = "SLVoice";
113} 116}
114 117
115F32 HippoLimits::getMaxPrimScale() const 118F32 HippoLimits::getMaxPrimScale() const
diff --git a/linden/indra/newview/hippolimits.h b/linden/indra/newview/hippolimits.h
index 7792a2c..9d6b2f6 100644
--- a/linden/indra/newview/hippolimits.h
+++ b/linden/indra/newview/hippolimits.h
@@ -14,7 +14,7 @@ public:
14 const S32& getMaxLinkedPrims() const { return mMaxLinkedPrims; } 14 const S32& getMaxLinkedPrims() const { return mMaxLinkedPrims; }
15 const S32& getMaxPhysLinkedPrims() const { return mMaxPhysLinkedPrims; } 15 const S32& getMaxPhysLinkedPrims() const { return mMaxPhysLinkedPrims; }
16 const F32& getMaxInventoryItemsTransfer() const { return mMaxInventoryItemsTransfer; } 16 const F32& getMaxInventoryItemsTransfer() const { return mMaxInventoryItemsTransfer; }
17 17 const std::string& getVoiceConnector() const { return mVoiceConnector; }
18 18
19 // Returns the max prim size we can use on a grid 19 // Returns the max prim size we can use on a grid
20 F32 getMinPrimScale() const; 20 F32 getMinPrimScale() const;
@@ -59,6 +59,7 @@ public:
59 BOOL mEnableTeenMode; 59 BOOL mEnableTeenMode;
60 BOOL mEnforceMaxBuild; 60 BOOL mEnforceMaxBuild;
61 BOOL mRenderWater; 61 BOOL mRenderWater;
62 std::string mVoiceConnector;
62 63
63private: 64private:
64 void setOpenSimLimits(); 65 void setOpenSimLimits();
diff --git a/linden/indra/newview/kowopenregionsettings.cpp b/linden/indra/newview/kowopenregionsettings.cpp
index 8aac87c..ef14d2a 100644
--- a/linden/indra/newview/kowopenregionsettings.cpp
+++ b/linden/indra/newview/kowopenregionsettings.cpp
@@ -36,6 +36,7 @@
36#include "llviewerobject.h" 36#include "llviewerobject.h"
37#include "llfloaterregioninfo.h" 37#include "llfloaterregioninfo.h"
38#include "llfloaterworldmap.h" 38#include "llfloaterworldmap.h"
39#include "llvoiceclient.h"
39 40
40//DEBUG includes 41//DEBUG includes
41//#include "llsdserialize.h" //LLSDNotationStreamer - for dumping LLSD to string 42//#include "llsdserialize.h" //LLSDNotationStreamer - for dumping LLSD to string
@@ -200,6 +201,12 @@ class OpenRegionInfoUpdate : public LLHTTPNode
200 { 201 {
201 gHippoLimits->mAllowParcelWindLight = body["AllowParcelWindLight"].asInteger() == 1; 202 gHippoLimits->mAllowParcelWindLight = body["AllowParcelWindLight"].asInteger() == 1;
202 } 203 }
204 if ( body.has("Voice") )
205 {
206 gSavedSettings.setString("VoiceModule", body["Voice"].asString());
207 //gVoiceClient->close();
208 //gVoiceClient->start();
209 }
203 210
204 if (limitschanged) 211 if (limitschanged)
205 gFloaterTools->updateToolsSizeLimits(); 212 gFloaterTools->updateToolsSizeLimits();
diff --git a/linden/indra/newview/llvoiceclient.cpp b/linden/indra/newview/llvoiceclient.cpp
index 7b1ed95..5517ca2 100644
--- a/linden/indra/newview/llvoiceclient.cpp
+++ b/linden/indra/newview/llvoiceclient.cpp
@@ -62,6 +62,7 @@
62#include "llfirstuse.h" 62#include "llfirstuse.h"
63#include "llviewerwindow.h" 63#include "llviewerwindow.h"
64#include "llviewercamera.h" 64#include "llviewercamera.h"
65#include "hippolimits.h"
65 66
66#include "llfloaterfriends.h" //VIVOX, inorder to refresh communicate panel 67#include "llfloaterfriends.h" //VIVOX, inorder to refresh communicate panel
67#include "llfloaterchat.h" // for LLFloaterChat::addChat() 68#include "llfloaterchat.h" // for LLFloaterChat::addChat()
@@ -1524,6 +1525,15 @@ void LLVoiceClient::setState(state inState)
1524 1525
1525 mState = inState; 1526 mState = inState;
1526} 1527}
1528void LLVoiceClient::close()
1529{
1530 setState(stateDisableCleanup);
1531}
1532
1533void LLVoiceClient::start()
1534{
1535 setState(stateStart);
1536}
1527 1537
1528void LLVoiceClient::stateMachine() 1538void LLVoiceClient::stateMachine()
1529{ 1539{
@@ -1654,12 +1664,12 @@ void LLVoiceClient::stateMachine()
1654 //std::string exe_path = gDirUtilp->getAppRODataDir(); 1664 //std::string exe_path = gDirUtilp->getAppRODataDir();
1655 std::string exe_path = gDirUtilp->getExecutableDir(); 1665 std::string exe_path = gDirUtilp->getExecutableDir();
1656 exe_path += gDirUtilp->getDirDelimiter(); 1666 exe_path += gDirUtilp->getDirDelimiter();
1667#if LL_DARWIN
1668 exe_path += "../Resources/";
1669#endif
1670 exe_path += gSavedSettings.getString("VoiceModule");
1657#if LL_WINDOWS 1671#if LL_WINDOWS
1658 exe_path += "SLVoice.exe"; 1672 exe_path += ".exe";
1659#elif LL_DARWIN
1660 exe_path += "../Resources/SLVoice";
1661#else
1662 exe_path += "SLVoice";
1663#endif 1673#endif
1664 // See if the vivox executable exists 1674 // See if the vivox executable exists
1665 llstat s; 1675 llstat s;
@@ -1687,7 +1697,8 @@ void LLVoiceClient::stateMachine()
1687 STARTUPINFOA sinfo; 1697 STARTUPINFOA sinfo;
1688 memset(&sinfo, 0, sizeof(sinfo)); 1698 memset(&sinfo, 0, sizeof(sinfo));
1689 std::string exe_dir = gDirUtilp->getAppRODataDir(); 1699 std::string exe_dir = gDirUtilp->getAppRODataDir();
1690 cmd = "SLVoice.exe"; 1700 cmd = gSavedSettings.getString("VoiceModule");
1701 cmd += ".exe";
1691 cmd += args; 1702 cmd += args;
1692 1703
1693 // So retarded. Windows requires that the second parameter to CreateProcessA be a writable (non-const) string... 1704 // So retarded. Windows requires that the second parameter to CreateProcessA be a writable (non-const) string...
diff --git a/linden/indra/newview/llvoiceclient.h b/linden/indra/newview/llvoiceclient.h
index cfc336b..9ef3be9 100644
--- a/linden/indra/newview/llvoiceclient.h
+++ b/linden/indra/newview/llvoiceclient.h
@@ -516,6 +516,9 @@ static void updatePosition(void);
516 // Currently this will be false only for PSTN P2P calls. 516 // Currently this will be false only for PSTN P2P calls.
517 // NOTE: this will return true if the session can't be found. 517 // NOTE: this will return true if the session can't be found.
518 bool isSessionTextIMPossible(const LLUUID &session_id); 518 bool isSessionTextIMPossible(const LLUUID &session_id);
519
520 void close();
521 void start();
519 522
520 private: 523 private:
521 524