diff options
author | Armin Weatherwax | 2011-02-03 22:24:21 +0100 |
---|---|---|
committer | Armin Weatherwax | 2011-03-01 14:32:54 +0100 |
commit | de7bae0930e4830bbb90f12652d9a75088d431de (patch) | |
tree | da64e9ad91d270796e0833babc88f0acff8c93c8 /linden/indra/newview | |
parent | remove llfloaterhtml.* (not used anymore). (diff) | |
download | meta-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.xml | 12 | ||||
-rw-r--r-- | linden/indra/newview/hippolimits.cpp | 5 | ||||
-rw-r--r-- | linden/indra/newview/hippolimits.h | 3 | ||||
-rw-r--r-- | linden/indra/newview/kowopenregionsettings.cpp | 7 | ||||
-rw-r--r-- | linden/indra/newview/llvoiceclient.cpp | 23 | ||||
-rw-r--r-- | linden/indra/newview/llvoiceclient.h | 3 |
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 | ||
115 | F32 HippoLimits::getMaxPrimScale() const | 118 | F32 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 | ||
63 | private: | 64 | private: |
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 | } |
1528 | void LLVoiceClient::close() | ||
1529 | { | ||
1530 | setState(stateDisableCleanup); | ||
1531 | } | ||
1532 | |||
1533 | void LLVoiceClient::start() | ||
1534 | { | ||
1535 | setState(stateStart); | ||
1536 | } | ||
1527 | 1537 | ||
1528 | void LLVoiceClient::stateMachine() | 1538 | void 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 | ||