diff options
65 files changed, 2944 insertions, 1919 deletions
diff --git a/linden/indra/llcommon/llbase32.cpp b/linden/indra/llcommon/llbase32.cpp index 711ba63..27f7284 100644 --- a/linden/indra/llcommon/llbase32.cpp +++ b/linden/indra/llcommon/llbase32.cpp | |||
@@ -6,6 +6,32 @@ | |||
6 | * Based on code from bitter | 6 | * Based on code from bitter |
7 | * http://ghostwhitecrab.com/bitter/ | 7 | * http://ghostwhitecrab.com/bitter/ |
8 | * | 8 | * |
9 | * Some parts of this file are: | ||
10 | * Copyright (c) 2007-2007, Linden Research, Inc. | ||
11 | * | ||
12 | * Second Life Viewer Source Code | ||
13 | * The source code in this file ("Source Code") is provided by Linden Lab | ||
14 | * to you under the terms of the GNU General Public License, version 2.0 | ||
15 | * ("GPL"), unless you have obtained a separate licensing agreement | ||
16 | * ("Other License"), formally executed by you and Linden Lab. Terms of | ||
17 | * the GPL can be found in doc/GPL-license.txt in this distribution, or | ||
18 | * online at http://secondlife.com/developers/opensource/gplv2 | ||
19 | * | ||
20 | * There are special exceptions to the terms and conditions of the GPL as | ||
21 | * it is applied to this Source Code. View the full text of the exception | ||
22 | * in the file doc/FLOSS-exception.txt in this software distribution, or | ||
23 | * online at http://secondlife.com/developers/opensource/flossexception | ||
24 | * | ||
25 | * By copying, modifying or distributing this software, you acknowledge | ||
26 | * that you have read and understood your obligations described above, | ||
27 | * and agree to abide by those obligations. | ||
28 | * | ||
29 | * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO | ||
30 | * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, | ||
31 | * COMPLETENESS OR PERFORMANCE. | ||
32 | */ | ||
33 | |||
34 | /** | ||
9 | * Copyright (c) 2006 Christian Biere <christianbiere@gmx.de> | 35 | * Copyright (c) 2006 Christian Biere <christianbiere@gmx.de> |
10 | * All rights reserved. | 36 | * All rights reserved. |
11 | * | 37 | * |
@@ -192,6 +218,8 @@ base32_decode(char *dst, size_t size, const void *data, size_t len) | |||
192 | */ | 218 | */ |
193 | 219 | ||
194 | 220 | ||
221 | // The following is | ||
222 | // Copyright (c) 2007-$CurrentYear$, Linden Research, Inc. | ||
195 | // static | 223 | // static |
196 | std::string LLBase32::encode(const U8* input, size_t input_size) | 224 | std::string LLBase32::encode(const U8* input, size_t input_size) |
197 | { | 225 | { |
@@ -207,8 +235,8 @@ std::string LLBase32::encode(const U8* input, size_t input_size) | |||
207 | 235 | ||
208 | size_t encoded = base32_encode(&output[0], output_size, input, input_size); | 236 | size_t encoded = base32_encode(&output[0], output_size, input, input_size); |
209 | 237 | ||
210 | llinfos << "encoded " << encoded << " into buffer of size " << output_size | 238 | llinfos << "encoded " << encoded << " into buffer of size " |
211 | << llendl; | 239 | << output_size << llendl; |
212 | } | 240 | } |
213 | return output; | 241 | return output; |
214 | } | 242 | } |
diff --git a/linden/indra/llcommon/llchat.h b/linden/indra/llcommon/llchat.h index b1635a7..bb2610b 100644 --- a/linden/indra/llcommon/llchat.h +++ b/linden/indra/llcommon/llchat.h | |||
@@ -49,7 +49,8 @@ typedef enum e_chat_type | |||
49 | CHAT_TYPE_SHOUT = 2, | 49 | CHAT_TYPE_SHOUT = 2, |
50 | CHAT_TYPE_START = 4, | 50 | CHAT_TYPE_START = 4, |
51 | CHAT_TYPE_STOP = 5, | 51 | CHAT_TYPE_STOP = 5, |
52 | CHAT_TYPE_DEBUG_MSG = 6 | 52 | CHAT_TYPE_DEBUG_MSG = 6, |
53 | CHAT_TYPE_REGION = 7 | ||
53 | } EChatType; | 54 | } EChatType; |
54 | 55 | ||
55 | typedef enum e_chat_audible_level | 56 | typedef enum e_chat_audible_level |
diff --git a/linden/indra/llcommon/llcommon_vc8.vcproj b/linden/indra/llcommon/llcommon_vc8.vcproj index 0a34543..15371f5 100644 --- a/linden/indra/llcommon/llcommon_vc8.vcproj +++ b/linden/indra/llcommon/llcommon_vc8.vcproj | |||
@@ -1,759 +1,763 @@ | |||
1 | <?xml version="1.0" encoding="Windows-1252"?> | 1 | <?xml version="1.0" encoding="Windows-1252"?> |
2 | <VisualStudioProject | 2 | <VisualStudioProject |
3 | ProjectType="Visual C++" | 3 | ProjectType="Visual C++" |
4 | Version="8.00" | 4 | Version="8.00" |
5 | Name="llcommon" | 5 | Name="llcommon" |
6 | ProjectGUID="{7BCB4B2C-8378-4186-88EA-5742B5ABE17F}" | 6 | ProjectGUID="{7BCB4B2C-8378-4186-88EA-5742B5ABE17F}" |
7 | RootNamespace="llcommon" | 7 | RootNamespace="llcommon" |
8 | Keyword="Win32Proj" | 8 | Keyword="Win32Proj" |
9 | > | 9 | > |
10 | <Platforms> | 10 | <Platforms> |
11 | <Platform | 11 | <Platform |
12 | Name="Win32" | 12 | Name="Win32" |
13 | /> | 13 | /> |
14 | </Platforms> | 14 | </Platforms> |
15 | <ToolFiles> | 15 | <ToolFiles> |
16 | </ToolFiles> | 16 | </ToolFiles> |
17 | <Configurations> | 17 | <Configurations> |
18 | <Configuration | 18 | <Configuration |
19 | Name="Debug|Win32" | 19 | Name="Debug|Win32" |
20 | OutputDirectory="../lib_$(ConfigurationName)/i686-win32" | 20 | OutputDirectory="../lib_$(ConfigurationName)/i686-win32" |
21 | IntermediateDirectory="$(ConfigurationName)" | 21 | IntermediateDirectory="$(ConfigurationName)" |
22 | ConfigurationType="4" | 22 | ConfigurationType="4" |
23 | InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" | 23 | InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" |
24 | CharacterSet="1" | 24 | CharacterSet="1" |
25 | > | 25 | > |
26 | <Tool | 26 | <Tool |
27 | Name="VCPreBuildEventTool" | 27 | Name="VCPreBuildEventTool" |
28 | /> | 28 | /> |
29 | <Tool | 29 | <Tool |
30 | Name="VCCustomBuildTool" | 30 | Name="VCCustomBuildTool" |
31 | /> | 31 | /> |
32 | <Tool | 32 | <Tool |
33 | Name="VCXMLDataGeneratorTool" | 33 | Name="VCXMLDataGeneratorTool" |
34 | /> | 34 | /> |
35 | <Tool | 35 | <Tool |
36 | Name="VCWebServiceProxyGeneratorTool" | 36 | Name="VCWebServiceProxyGeneratorTool" |
37 | /> | 37 | /> |
38 | <Tool | 38 | <Tool |
39 | Name="VCMIDLTool" | 39 | Name="VCMIDLTool" |
40 | /> | 40 | /> |
41 | <Tool | 41 | <Tool |
42 | Name="VCCLCompilerTool" | 42 | Name="VCCLCompilerTool" |
43 | Optimization="0" | 43 | Optimization="0" |
44 | AdditionalIncludeDirectories="..\..\libraries\i686-win32\include;..\..\libraries\include\" | 44 | AdditionalIncludeDirectories="..\..\libraries\i686-win32\include;..\..\libraries\include\" |
45 | PreprocessorDefinitions="WIN32;_DEBUG;_LIB;LL_WINDOWS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_USE_32BIT_TIME_T;LL_DEBUG;XML_STATIC;APR_DECLARE_STATIC" | 45 | PreprocessorDefinitions="WIN32;_DEBUG;_LIB;LL_WINDOWS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_USE_32BIT_TIME_T;LL_DEBUG;XML_STATIC;APR_DECLARE_STATIC" |
46 | MinimalRebuild="true" | 46 | MinimalRebuild="true" |
47 | BasicRuntimeChecks="3" | 47 | BasicRuntimeChecks="3" |
48 | RuntimeLibrary="1" | 48 | RuntimeLibrary="1" |
49 | StructMemberAlignment="4" | 49 | StructMemberAlignment="4" |
50 | TreatWChar_tAsBuiltInType="false" | 50 | TreatWChar_tAsBuiltInType="false" |
51 | ForceConformanceInForLoopScope="true" | 51 | ForceConformanceInForLoopScope="true" |
52 | UsePrecompiledHeader="0" | 52 | UsePrecompiledHeader="0" |
53 | WarningLevel="3" | 53 | WarningLevel="3" |
54 | WarnAsError="true" | 54 | WarnAsError="true" |
55 | Detect64BitPortabilityProblems="false" | 55 | Detect64BitPortabilityProblems="false" |
56 | DebugInformationFormat="4" | 56 | DebugInformationFormat="4" |
57 | /> | 57 | /> |
58 | <Tool | 58 | <Tool |
59 | Name="VCManagedResourceCompilerTool" | 59 | Name="VCManagedResourceCompilerTool" |
60 | /> | 60 | /> |
61 | <Tool | 61 | <Tool |
62 | Name="VCResourceCompilerTool" | 62 | Name="VCResourceCompilerTool" |
63 | /> | 63 | /> |
64 | <Tool | 64 | <Tool |
65 | Name="VCPreLinkEventTool" | 65 | Name="VCPreLinkEventTool" |
66 | /> | 66 | /> |
67 | <Tool | 67 | <Tool |
68 | Name="VCLibrarianTool" | 68 | Name="VCLibrarianTool" |
69 | OutputFile="$(OutDir)/llcommon.lib" | 69 | OutputFile="$(OutDir)/llcommon.lib" |
70 | /> | 70 | /> |
71 | <Tool | 71 | <Tool |
72 | Name="VCALinkTool" | 72 | Name="VCALinkTool" |
73 | /> | 73 | /> |
74 | <Tool | 74 | <Tool |
75 | Name="VCXDCMakeTool" | 75 | Name="VCXDCMakeTool" |
76 | /> | 76 | /> |
77 | <Tool | 77 | <Tool |
78 | Name="VCBscMakeTool" | 78 | Name="VCBscMakeTool" |
79 | /> | 79 | /> |
80 | <Tool | 80 | <Tool |
81 | Name="VCFxCopTool" | 81 | Name="VCFxCopTool" |
82 | /> | 82 | /> |
83 | <Tool | 83 | <Tool |
84 | Name="VCPostBuildEventTool" | 84 | Name="VCPostBuildEventTool" |
85 | /> | 85 | /> |
86 | </Configuration> | 86 | </Configuration> |
87 | <Configuration | 87 | <Configuration |
88 | Name="Release|Win32" | 88 | Name="Release|Win32" |
89 | OutputDirectory="../lib_$(ConfigurationName)/i686-win32" | 89 | OutputDirectory="../lib_$(ConfigurationName)/i686-win32" |
90 | IntermediateDirectory="$(ConfigurationName)" | 90 | IntermediateDirectory="$(ConfigurationName)" |
91 | ConfigurationType="4" | 91 | ConfigurationType="4" |
92 | InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" | 92 | InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" |
93 | CharacterSet="1" | 93 | CharacterSet="1" |
94 | > | 94 | > |
95 | <Tool | 95 | <Tool |
96 | Name="VCPreBuildEventTool" | 96 | Name="VCPreBuildEventTool" |
97 | /> | 97 | /> |
98 | <Tool | 98 | <Tool |
99 | Name="VCCustomBuildTool" | 99 | Name="VCCustomBuildTool" |
100 | /> | 100 | /> |
101 | <Tool | 101 | <Tool |
102 | Name="VCXMLDataGeneratorTool" | 102 | Name="VCXMLDataGeneratorTool" |
103 | /> | 103 | /> |
104 | <Tool | 104 | <Tool |
105 | Name="VCWebServiceProxyGeneratorTool" | 105 | Name="VCWebServiceProxyGeneratorTool" |
106 | /> | 106 | /> |
107 | <Tool | 107 | <Tool |
108 | Name="VCMIDLTool" | 108 | Name="VCMIDLTool" |
109 | /> | 109 | /> |
110 | <Tool | 110 | <Tool |
111 | Name="VCCLCompilerTool" | 111 | Name="VCCLCompilerTool" |
112 | InlineFunctionExpansion="2" | 112 | InlineFunctionExpansion="2" |
113 | EnableIntrinsicFunctions="true" | 113 | EnableIntrinsicFunctions="true" |
114 | AdditionalIncludeDirectories="..\..\libraries\i686-win32\include;..\..\libraries\include\" | 114 | AdditionalIncludeDirectories="..\..\libraries\i686-win32\include;..\..\libraries\include\" |
115 | PreprocessorDefinitions="WIN32;NDEBUG;_LIB;LL_WINDOWS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_USE_32BIT_TIME_T;LL_RELEASE;XML_STATIC;APR_DECLARE_STATIC" | 115 | PreprocessorDefinitions="WIN32;NDEBUG;_LIB;LL_WINDOWS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_USE_32BIT_TIME_T;LL_RELEASE;XML_STATIC;APR_DECLARE_STATIC" |
116 | RuntimeLibrary="0" | 116 | RuntimeLibrary="0" |
117 | StructMemberAlignment="0" | 117 | StructMemberAlignment="0" |
118 | TreatWChar_tAsBuiltInType="false" | 118 | TreatWChar_tAsBuiltInType="false" |
119 | ForceConformanceInForLoopScope="true" | 119 | ForceConformanceInForLoopScope="true" |
120 | UsePrecompiledHeader="0" | 120 | UsePrecompiledHeader="0" |
121 | WarningLevel="3" | 121 | WarningLevel="3" |
122 | WarnAsError="true" | 122 | WarnAsError="true" |
123 | Detect64BitPortabilityProblems="false" | 123 | Detect64BitPortabilityProblems="false" |
124 | DebugInformationFormat="3" | 124 | DebugInformationFormat="3" |
125 | /> | 125 | /> |
126 | <Tool | 126 | <Tool |
127 | Name="VCManagedResourceCompilerTool" | 127 | Name="VCManagedResourceCompilerTool" |
128 | /> | 128 | /> |
129 | <Tool | 129 | <Tool |
130 | Name="VCResourceCompilerTool" | 130 | Name="VCResourceCompilerTool" |
131 | /> | 131 | /> |
132 | <Tool | 132 | <Tool |
133 | Name="VCPreLinkEventTool" | 133 | Name="VCPreLinkEventTool" |
134 | /> | 134 | /> |
135 | <Tool | 135 | <Tool |
136 | Name="VCLibrarianTool" | 136 | Name="VCLibrarianTool" |
137 | OutputFile="$(OutDir)/llcommon.lib" | 137 | OutputFile="$(OutDir)/llcommon.lib" |
138 | /> | 138 | /> |
139 | <Tool | 139 | <Tool |
140 | Name="VCALinkTool" | 140 | Name="VCALinkTool" |
141 | /> | 141 | /> |
142 | <Tool | 142 | <Tool |
143 | Name="VCXDCMakeTool" | 143 | Name="VCXDCMakeTool" |
144 | /> | 144 | /> |
145 | <Tool | 145 | <Tool |
146 | Name="VCBscMakeTool" | 146 | Name="VCBscMakeTool" |
147 | /> | 147 | /> |
148 | <Tool | 148 | <Tool |
149 | Name="VCFxCopTool" | 149 | Name="VCFxCopTool" |
150 | /> | 150 | /> |
151 | <Tool | 151 | <Tool |
152 | Name="VCPostBuildEventTool" | 152 | Name="VCPostBuildEventTool" |
153 | /> | 153 | /> |
154 | </Configuration> | 154 | </Configuration> |
155 | <Configuration | 155 | <Configuration |
156 | Name="ReleaseNoOpt|Win32" | 156 | Name="ReleaseNoOpt|Win32" |
157 | OutputDirectory="../lib_$(ConfigurationName)/i686-win32" | 157 | OutputDirectory="../lib_$(ConfigurationName)/i686-win32" |
158 | IntermediateDirectory="$(ConfigurationName)" | 158 | IntermediateDirectory="$(ConfigurationName)" |
159 | ConfigurationType="4" | 159 | ConfigurationType="4" |
160 | InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" | 160 | InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" |
161 | CharacterSet="1" | 161 | CharacterSet="1" |
162 | > | 162 | > |
163 | <Tool | 163 | <Tool |
164 | Name="VCPreBuildEventTool" | 164 | Name="VCPreBuildEventTool" |
165 | /> | 165 | /> |
166 | <Tool | 166 | <Tool |
167 | Name="VCCustomBuildTool" | 167 | Name="VCCustomBuildTool" |
168 | /> | 168 | /> |
169 | <Tool | 169 | <Tool |
170 | Name="VCXMLDataGeneratorTool" | 170 | Name="VCXMLDataGeneratorTool" |
171 | /> | 171 | /> |
172 | <Tool | 172 | <Tool |
173 | Name="VCWebServiceProxyGeneratorTool" | 173 | Name="VCWebServiceProxyGeneratorTool" |
174 | /> | 174 | /> |
175 | <Tool | 175 | <Tool |
176 | Name="VCMIDLTool" | 176 | Name="VCMIDLTool" |
177 | /> | 177 | /> |
178 | <Tool | 178 | <Tool |
179 | Name="VCCLCompilerTool" | 179 | Name="VCCLCompilerTool" |
180 | Optimization="0" | 180 | Optimization="0" |
181 | AdditionalIncludeDirectories="..\..\libraries\i686-win32\include;..\..\libraries\include\" | 181 | AdditionalIncludeDirectories="..\..\libraries\i686-win32\include;..\..\libraries\include\" |
182 | PreprocessorDefinitions="WIN32;NDEBUG;_LIB;LL_WINDOWS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_USE_32BIT_TIME_T;LL_RELEASE;XML_STATIC;APR_DECLARE_STATIC" | 182 | PreprocessorDefinitions="WIN32;NDEBUG;_LIB;LL_WINDOWS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_USE_32BIT_TIME_T;LL_RELEASE;XML_STATIC;APR_DECLARE_STATIC" |
183 | RuntimeLibrary="0" | 183 | RuntimeLibrary="0" |
184 | StructMemberAlignment="0" | 184 | StructMemberAlignment="0" |
185 | TreatWChar_tAsBuiltInType="false" | 185 | TreatWChar_tAsBuiltInType="false" |
186 | ForceConformanceInForLoopScope="true" | 186 | ForceConformanceInForLoopScope="true" |
187 | UsePrecompiledHeader="0" | 187 | UsePrecompiledHeader="0" |
188 | WarningLevel="3" | 188 | WarningLevel="3" |
189 | WarnAsError="true" | 189 | WarnAsError="true" |
190 | Detect64BitPortabilityProblems="false" | 190 | Detect64BitPortabilityProblems="false" |
191 | DebugInformationFormat="3" | 191 | DebugInformationFormat="3" |
192 | /> | 192 | /> |
193 | <Tool | 193 | <Tool |
194 | Name="VCManagedResourceCompilerTool" | 194 | Name="VCManagedResourceCompilerTool" |
195 | /> | 195 | /> |
196 | <Tool | 196 | <Tool |
197 | Name="VCResourceCompilerTool" | 197 | Name="VCResourceCompilerTool" |
198 | /> | 198 | /> |
199 | <Tool | 199 | <Tool |
200 | Name="VCPreLinkEventTool" | 200 | Name="VCPreLinkEventTool" |
201 | /> | 201 | /> |
202 | <Tool | 202 | <Tool |
203 | Name="VCLibrarianTool" | 203 | Name="VCLibrarianTool" |
204 | OutputFile="$(OutDir)/llcommon.lib" | 204 | OutputFile="$(OutDir)/llcommon.lib" |
205 | /> | 205 | /> |
206 | <Tool | 206 | <Tool |
207 | Name="VCALinkTool" | 207 | Name="VCALinkTool" |
208 | /> | 208 | /> |
209 | <Tool | 209 | <Tool |
210 | Name="VCXDCMakeTool" | 210 | Name="VCXDCMakeTool" |
211 | /> | 211 | /> |
212 | <Tool | 212 | <Tool |
213 | Name="VCBscMakeTool" | 213 | Name="VCBscMakeTool" |
214 | /> | 214 | /> |
215 | <Tool | 215 | <Tool |
216 | Name="VCFxCopTool" | 216 | Name="VCFxCopTool" |
217 | /> | 217 | /> |
218 | <Tool | 218 | <Tool |
219 | Name="VCPostBuildEventTool" | 219 | Name="VCPostBuildEventTool" |
220 | /> | 220 | /> |
221 | </Configuration> | 221 | </Configuration> |
222 | </Configurations> | 222 | </Configurations> |
223 | <References> | 223 | <References> |
224 | </References> | 224 | </References> |
225 | <Files> | 225 | <Files> |
226 | <Filter | 226 | <Filter |
227 | Name="Source Files" | 227 | Name="Source Files" |
228 | Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx" | 228 | Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx" |
229 | UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" | 229 | UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" |
230 | > | 230 | > |
231 | <File | 231 | <File |
232 | RelativePath=".\bitpack.cpp" | 232 | RelativePath=".\llapp.cpp" |
233 | > | 233 | > |
234 | </File> | 234 | </File> |
235 | <File | 235 | <File |
236 | RelativePath=".\llapp.cpp" | 236 | RelativePath=".\llapr.cpp" |
237 | > | 237 | > |
238 | </File> | 238 | </File> |
239 | <File | 239 | <File |
240 | RelativePath=".\llapr.cpp" | 240 | RelativePath=".\llassettype.cpp" |
241 | > | 241 | > |
242 | </File> | 242 | </File> |
243 | <File | 243 | <File |
244 | RelativePath=".\llassettype.cpp" | 244 | RelativePath=".\llbase64.cpp" |
245 | > | 245 | > |
246 | </File> | 246 | </File> |
247 | <File | 247 | <File |
248 | RelativePath=".\llbase64.cpp" | 248 | RelativePath=".\llcommon.cpp" |
249 | > | 249 | > |
250 | </File> | 250 | </File> |
251 | <File | 251 | <File |
252 | RelativePath=".\llcommon.cpp" | 252 | RelativePath=".\llcriticaldamp.cpp" |
253 | > | 253 | > |
254 | </File> | 254 | </File> |
255 | <File | 255 | <File |
256 | RelativePath=".\llcriticaldamp.cpp" | 256 | RelativePath=".\lldate.cpp" |
257 | > | 257 | > |
258 | </File> | 258 | </File> |
259 | <File | 259 | <File |
260 | RelativePath=".\lldate.cpp" | 260 | RelativePath=".\llerror.cpp" |
261 | > | 261 | > |
262 | </File> | 262 | </File> |
263 | <File | 263 | <File |
264 | RelativePath=".\llerror.cpp" | 264 | RelativePath=".\llerrorthread.cpp" |
265 | > | 265 | > |
266 | </File> | 266 | </File> |
267 | <File | 267 | <File |
268 | RelativePath=".\llerrorthread.cpp" | 268 | RelativePath=".\llevent.cpp" |
269 | > | 269 | > |
270 | </File> | 270 | </File> |
271 | <File | 271 | <File |
272 | RelativePath=".\llevent.cpp" | 272 | RelativePath=".\llfasttimer.cpp" |
273 | > | 273 | > |
274 | </File> | 274 | </File> |
275 | <File | 275 | <File |
276 | RelativePath=".\llfasttimer.cpp" | 276 | RelativePath=".\llfile.cpp" |
277 | > | 277 | > |
278 | </File> | 278 | </File> |
279 | <File | 279 | <File |
280 | RelativePath=".\llfile.cpp" | 280 | RelativePath=".\llfixedbuffer.cpp" |
281 | > | 281 | > |
282 | </File> | 282 | </File> |
283 | <File | 283 | <File |
284 | RelativePath=".\llfixedbuffer.cpp" | 284 | RelativePath=".\llformat.cpp" |
285 | > | 285 | > |
286 | </File> | 286 | </File> |
287 | <File | 287 | <File |
288 | RelativePath=".\llformat.cpp" | 288 | RelativePath=".\llframetimer.cpp" |
289 | > | 289 | > |
290 | </File> | 290 | </File> |
291 | <File | 291 | <File |
292 | RelativePath=".\llframetimer.cpp" | 292 | RelativePath=".\llliveappconfig.cpp" |
293 | > | 293 | > |
294 | </File> | 294 | </File> |
295 | <File | 295 | <File |
296 | RelativePath=".\lllivefile.cpp" | 296 | RelativePath=".\lllivefile.cpp" |
297 | > | 297 | > |
298 | </File> | 298 | </File> |
299 | <File | 299 | <File |
300 | RelativePath=".\llmemory.cpp" | 300 | RelativePath=".\llmemory.cpp" |
301 | > | 301 | > |
302 | </File> | 302 | </File> |
303 | <File | 303 | <File |
304 | RelativePath=".\llmemorystream.cpp" | 304 | RelativePath=".\llmemorystream.cpp" |
305 | > | 305 | > |
306 | </File> | 306 | </File> |
307 | <File | 307 | <File |
308 | RelativePath=".\llmortician.cpp" | 308 | RelativePath=".\llmortician.cpp" |
309 | > | 309 | > |
310 | </File> | 310 | </File> |
311 | <File | 311 | <File |
312 | RelativePath=".\llprocessor.cpp" | 312 | RelativePath=".\llprocessor.cpp" |
313 | > | 313 | > |
314 | </File> | 314 | </File> |
315 | <File | 315 | <File |
316 | RelativePath=".\llqueuedthread.cpp" | 316 | RelativePath=".\llqueuedthread.cpp" |
317 | > | 317 | > |
318 | </File> | 318 | </File> |
319 | <File | 319 | <File |
320 | RelativePath=".\llrun.cpp" | 320 | RelativePath=".\llrun.cpp" |
321 | > | 321 | > |
322 | </File> | 322 | </File> |
323 | <File | 323 | <File |
324 | RelativePath=".\llsd.cpp" | 324 | RelativePath=".\llsd.cpp" |
325 | > | 325 | > |
326 | </File> | 326 | </File> |
327 | <File | 327 | <File |
328 | RelativePath=".\llsdserialize.cpp" | 328 | RelativePath=".\llsdserialize.cpp" |
329 | > | 329 | > |
330 | </File> | 330 | </File> |
331 | <File | 331 | <File |
332 | RelativePath=".\llsdserialize_xml.cpp" | 332 | RelativePath=".\llsdserialize_xml.cpp" |
333 | > | 333 | > |
334 | </File> | 334 | </File> |
335 | <File | 335 | <File |
336 | RelativePath=".\llsdutil.cpp" | 336 | RelativePath=".\llsdutil.cpp" |
337 | > | 337 | > |
338 | </File> | 338 | </File> |
339 | <File | 339 | <File |
340 | RelativePath=".\llsecondlifeurls.cpp" | 340 | RelativePath=".\llsecondlifeurls.cpp" |
341 | > | 341 | > |
342 | </File> | 342 | </File> |
343 | <File | 343 | <File |
344 | RelativePath=".\llstat.cpp" | 344 | RelativePath=".\llstat.cpp" |
345 | > | 345 | > |
346 | </File> | 346 | </File> |
347 | <File | 347 | <File |
348 | RelativePath=".\llstreamtools.cpp" | 348 | RelativePath=".\llstreamtools.cpp" |
349 | > | 349 | > |
350 | </File> | 350 | </File> |
351 | <File | 351 | <File |
352 | RelativePath=".\llstring.cpp" | 352 | RelativePath=".\llstring.cpp" |
353 | > | 353 | > |
354 | </File> | 354 | </File> |
355 | <File | 355 | <File |
356 | RelativePath=".\llstringtable.cpp" | 356 | RelativePath=".\llstringtable.cpp" |
357 | > | 357 | > |
358 | </File> | 358 | </File> |
359 | <File | 359 | <File |
360 | RelativePath=".\llsys.cpp" | 360 | RelativePath=".\llsys.cpp" |
361 | > | 361 | > |
362 | </File> | 362 | </File> |
363 | <File | 363 | <File |
364 | RelativePath=".\llthread.cpp" | 364 | RelativePath=".\llthread.cpp" |
365 | > | 365 | > |
366 | </File> | 366 | </File> |
367 | <File | 367 | <File |
368 | RelativePath=".\lltimer.cpp" | 368 | RelativePath=".\lltimer.cpp" |
369 | > | 369 | > |
370 | </File> | 370 | </File> |
371 | <File | 371 | <File |
372 | RelativePath=".\lluri.cpp" | 372 | RelativePath=".\lluri.cpp" |
373 | > | 373 | > |
374 | </File> | 374 | </File> |
375 | <File | 375 | <File |
376 | RelativePath=".\llworkerthread.cpp" | 376 | RelativePath=".\llworkerthread.cpp" |
377 | > | 377 | > |
378 | </File> | 378 | </File> |
379 | <File | 379 | <File |
380 | RelativePath=".\metaclass.cpp" | 380 | RelativePath=".\metaclass.cpp" |
381 | > | 381 | > |
382 | </File> | 382 | </File> |
383 | <File | 383 | <File |
384 | RelativePath=".\metaproperty.cpp" | 384 | RelativePath=".\metaproperty.cpp" |
385 | > | 385 | > |
386 | </File> | 386 | </File> |
387 | <File | 387 | <File |
388 | RelativePath=".\reflective.cpp" | 388 | RelativePath=".\reflective.cpp" |
389 | > | 389 | > |
390 | </File> | 390 | </File> |
391 | <File | 391 | <File |
392 | RelativePath=".\timing.cpp" | 392 | RelativePath=".\timing.cpp" |
393 | > | 393 | > |
394 | </File> | 394 | </File> |
395 | <File | 395 | <File |
396 | RelativePath=".\u64.cpp" | 396 | RelativePath=".\u64.cpp" |
397 | > | 397 | > |
398 | </File> | 398 | </File> |
399 | </Filter> | 399 | </Filter> |
400 | <Filter | 400 | <Filter |
401 | Name="Header Files" | 401 | Name="Header Files" |
402 | Filter="h;hpp;hxx;hm;inl;inc;xsd" | 402 | Filter="h;hpp;hxx;hm;inl;inc;xsd" |
403 | UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" | 403 | UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" |
404 | > | 404 | > |
405 | <File | 405 | <File |
406 | RelativePath=".\bitpack.h" | 406 | RelativePath=".\bitpack.h" |
407 | > | 407 | > |
408 | </File> | 408 | </File> |
409 | <File | 409 | <File |
410 | RelativePath=".\doublelinkedlist.h" | 410 | RelativePath=".\doublelinkedlist.h" |
411 | > | 411 | > |
412 | </File> | 412 | </File> |
413 | <File | 413 | <File |
414 | RelativePath=".\imageids.h" | 414 | RelativePath=".\imageids.h" |
415 | > | 415 | > |
416 | </File> | 416 | </File> |
417 | <File | 417 | <File |
418 | RelativePath=".\indra_constants.h" | 418 | RelativePath=".\indra_constants.h" |
419 | > | 419 | > |
420 | </File> | 420 | </File> |
421 | <File | 421 | <File |
422 | RelativePath=".\linden_common.h" | 422 | RelativePath=".\linden_common.h" |
423 | > | 423 | > |
424 | </File> | 424 | </File> |
425 | <File | 425 | <File |
426 | RelativePath=".\linked_lists.h" | 426 | RelativePath=".\linked_lists.h" |
427 | > | 427 | > |
428 | </File> | 428 | </File> |
429 | <File | 429 | <File |
430 | RelativePath=".\llagentconstants.h" | 430 | RelativePath=".\llagentconstants.h" |
431 | > | 431 | > |
432 | </File> | 432 | </File> |
433 | <File | 433 | <File |
434 | RelativePath=".\llapp.h" | 434 | RelativePath=".\llapp.h" |
435 | > | 435 | > |
436 | </File> | 436 | </File> |
437 | <File | 437 | <File |
438 | RelativePath=".\llapr.h" | 438 | RelativePath=".\llapr.h" |
439 | > | 439 | > |
440 | </File> | 440 | </File> |
441 | <File | 441 | <File |
442 | RelativePath=".\llassettype.h" | 442 | RelativePath=".\llassettype.h" |
443 | > | 443 | > |
444 | </File> | 444 | </File> |
445 | <File | 445 | <File |
446 | RelativePath=".\llassoclist.h" | 446 | RelativePath=".\llassoclist.h" |
447 | > | 447 | > |
448 | </File> | 448 | </File> |
449 | <File | 449 | <File |
450 | RelativePath=".\llavatarconstants.h" | 450 | RelativePath=".\llavatarconstants.h" |
451 | > | 451 | > |
452 | </File> | 452 | </File> |
453 | <File | 453 | <File |
454 | RelativePath=".\llbase64.h" | 454 | RelativePath=".\llbase64.h" |
455 | > | 455 | > |
456 | </File> | 456 | </File> |
457 | <File | 457 | <File |
458 | RelativePath=".\llboost.h" | 458 | RelativePath=".\llboost.h" |
459 | > | 459 | > |
460 | </File> | 460 | </File> |
461 | <File | 461 | <File |
462 | RelativePath=".\llchat.h" | 462 | RelativePath=".\llchat.h" |
463 | > | 463 | > |
464 | </File> | 464 | </File> |
465 | <File | 465 | <File |
466 | RelativePath=".\llclickaction.h" | 466 | RelativePath=".\llclickaction.h" |
467 | > | 467 | > |
468 | </File> | 468 | </File> |
469 | <File | 469 | <File |
470 | RelativePath=".\llcommon.h" | 470 | RelativePath=".\llcommon.h" |
471 | > | 471 | > |
472 | </File> | 472 | </File> |
473 | <File | 473 | <File |
474 | RelativePath=".\llcriticaldamp.h" | 474 | RelativePath=".\llcriticaldamp.h" |
475 | > | 475 | > |
476 | </File> | 476 | </File> |
477 | <File | 477 | <File |
478 | RelativePath=".\lldarray.h" | 478 | RelativePath=".\lldarray.h" |
479 | > | 479 | > |
480 | </File> | 480 | </File> |
481 | <File | 481 | <File |
482 | RelativePath=".\lldarrayptr.h" | 482 | RelativePath=".\lldarrayptr.h" |
483 | > | 483 | > |
484 | </File> | 484 | </File> |
485 | <File | 485 | <File |
486 | RelativePath=".\lldate.h" | 486 | RelativePath=".\lldate.h" |
487 | > | 487 | > |
488 | </File> | 488 | </File> |
489 | <File | 489 | <File |
490 | RelativePath=".\lldefs.h" | 490 | RelativePath=".\lldefs.h" |
491 | > | 491 | > |
492 | </File> | 492 | </File> |
493 | <File | 493 | <File |
494 | RelativePath=".\lldlinked.h" | 494 | RelativePath=".\lldlinked.h" |
495 | > | 495 | > |
496 | </File> | 496 | </File> |
497 | <File | 497 | <File |
498 | RelativePath=".\lldqueueptr.h" | 498 | RelativePath=".\lldqueueptr.h" |
499 | > | 499 | > |
500 | </File> | 500 | </File> |
501 | <File | 501 | <File |
502 | RelativePath=".\llendianswizzle.h" | 502 | RelativePath=".\llendianswizzle.h" |
503 | > | 503 | > |
504 | </File> | 504 | </File> |
505 | <File | 505 | <File |
506 | RelativePath=".\llenum.h" | 506 | RelativePath=".\llenum.h" |
507 | > | 507 | > |
508 | </File> | 508 | </File> |
509 | <File | 509 | <File |
510 | RelativePath=".\llerror.h" | 510 | RelativePath=".\llerror.h" |
511 | > | 511 | > |
512 | </File> | 512 | </File> |
513 | <File | 513 | <File |
514 | RelativePath=".\llerrorcontrol.h" | 514 | RelativePath=".\llerrorcontrol.h" |
515 | > | 515 | > |
516 | </File> | 516 | </File> |
517 | <File | 517 | <File |
518 | RelativePath=".\llerrorthread.h" | 518 | RelativePath=".\llerrorthread.h" |
519 | > | 519 | > |
520 | </File> | 520 | </File> |
521 | <File | 521 | <File |
522 | RelativePath=".\llevent.h" | 522 | RelativePath=".\llevent.h" |
523 | > | 523 | > |
524 | </File> | 524 | </File> |
525 | <File | 525 | <File |
526 | RelativePath=".\llfasttimer.h" | 526 | RelativePath=".\llfasttimer.h" |
527 | > | 527 | > |
528 | </File> | 528 | </File> |
529 | <File | 529 | <File |
530 | RelativePath=".\llfile.h" | 530 | RelativePath=".\llfile.h" |
531 | > | 531 | > |
532 | </File> | 532 | </File> |
533 | <File | 533 | <File |
534 | RelativePath=".\llfixedbuffer.h" | 534 | RelativePath=".\llfixedbuffer.h" |
535 | > | 535 | > |
536 | </File> | 536 | </File> |
537 | <File | 537 | <File |
538 | RelativePath=".\llformat.h" | 538 | RelativePath=".\llformat.h" |
539 | > | 539 | > |
540 | </File> | 540 | </File> |
541 | <File | 541 | <File |
542 | RelativePath=".\llframecallbackmanager.h" | 542 | RelativePath=".\llframecallbackmanager.h" |
543 | > | 543 | > |
544 | </File> | 544 | </File> |
545 | <File | 545 | <File |
546 | RelativePath=".\llframetimer.h" | 546 | RelativePath=".\llframetimer.h" |
547 | > | 547 | > |
548 | </File> | 548 | </File> |
549 | <File | 549 | <File |
550 | RelativePath=".\llhash.h" | 550 | RelativePath=".\llhash.h" |
551 | > | 551 | > |
552 | </File> | 552 | </File> |
553 | <File | 553 | <File |
554 | RelativePath=".\llindexedqueue.h" | 554 | RelativePath=".\llindexedqueue.h" |
555 | > | 555 | > |
556 | </File> | 556 | </File> |
557 | <File | 557 | <File |
558 | RelativePath=".\lllinkedqueue.h" | 558 | RelativePath=".\lllinkedqueue.h" |
559 | > | 559 | > |
560 | </File> | 560 | </File> |
561 | <File | 561 | <File |
562 | RelativePath=".\lllivefile.h" | 562 | RelativePath=".\llliveappconfig.h" |
563 | > | 563 | > |
564 | </File> | 564 | </File> |
565 | <File | 565 | <File |
566 | RelativePath=".\lllocalidhashmap.h" | 566 | RelativePath=".\lllivefile.h" |
567 | > | 567 | > |
568 | </File> | 568 | </File> |
569 | <File | 569 | <File |
570 | RelativePath=".\lllslconstants.h" | 570 | RelativePath=".\lllocalidhashmap.h" |
571 | > | 571 | > |
572 | </File> | 572 | </File> |
573 | <File | 573 | <File |
574 | RelativePath=".\llmap.h" | 574 | RelativePath=".\lllslconstants.h" |
575 | > | 575 | > |
576 | </File> | 576 | </File> |
577 | <File | 577 | <File |
578 | RelativePath=".\llmemory.h" | 578 | RelativePath=".\llmap.h" |
579 | > | 579 | > |
580 | </File> | 580 | </File> |
581 | <File | 581 | <File |
582 | RelativePath=".\llmemorystream.h" | 582 | RelativePath=".\llmemory.h" |
583 | > | 583 | > |
584 | </File> | 584 | </File> |
585 | <File | 585 | <File |
586 | RelativePath=".\llmortician.h" | 586 | RelativePath=".\llmemorystream.h" |
587 | > | 587 | > |
588 | </File> | 588 | </File> |
589 | <File | 589 | <File |
590 | RelativePath=".\llnametable.h" | 590 | RelativePath=".\llmortician.h" |
591 | > | 591 | > |
592 | </File> | 592 | </File> |
593 | <File | 593 | <File |
594 | RelativePath=".\llpagemem.h" | 594 | RelativePath=".\llnametable.h" |
595 | > | 595 | > |
596 | </File> | 596 | </File> |
597 | <File | 597 | <File |
598 | RelativePath=".\llpreprocessor.h" | 598 | RelativePath=".\llpagemem.h" |
599 | > | 599 | > |
600 | </File> | 600 | </File> |
601 | <File | 601 | <File |
602 | RelativePath=".\llpriqueuemap.h" | 602 | RelativePath=".\llpreprocessor.h" |
603 | > | 603 | > |
604 | </File> | 604 | </File> |
605 | <File | 605 | <File |
606 | RelativePath=".\llprocessor.h" | 606 | RelativePath=".\llpriqueuemap.h" |
607 | > | 607 | > |
608 | </File> | 608 | </File> |
609 | <File | 609 | <File |
610 | RelativePath=".\llptrskiplist.h" | 610 | RelativePath=".\llprocessor.h" |
611 | > | 611 | > |
612 | </File> | 612 | </File> |
613 | <File | 613 | <File |
614 | RelativePath=".\llptrskipmap.h" | 614 | RelativePath=".\llptrskiplist.h" |
615 | > | 615 | > |
616 | </File> | 616 | </File> |
617 | <File | 617 | <File |
618 | RelativePath=".\llqueuedthread.h" | 618 | RelativePath=".\llptrskipmap.h" |
619 | > | 619 | > |
620 | </File> | 620 | </File> |
621 | <File | 621 | <File |
622 | RelativePath=".\llrun.h" | 622 | RelativePath=".\llqueuedthread.h" |
623 | > | 623 | > |
624 | </File> | 624 | </File> |
625 | <File | 625 | <File |
626 | RelativePath=".\llsd.h" | 626 | RelativePath=".\llrun.h" |
627 | > | 627 | > |
628 | </File> | 628 | </File> |
629 | <File | 629 | <File |
630 | RelativePath=".\llsdserialize.h" | 630 | RelativePath=".\llsd.h" |
631 | > | 631 | > |
632 | </File> | 632 | </File> |
633 | <File | 633 | <File |
634 | RelativePath=".\llsdserialize_xml.h" | 634 | RelativePath=".\llsdserialize.h" |
635 | > | 635 | > |
636 | </File> | 636 | </File> |
637 | <File | 637 | <File |
638 | RelativePath=".\llsdutil.h" | 638 | RelativePath=".\llsdserialize_xml.h" |
639 | > | 639 | > |
640 | </File> | 640 | </File> |
641 | <File | 641 | <File |
642 | RelativePath=".\llsecondlifeurls.h" | 642 | RelativePath=".\llsdutil.h" |
643 | > | 643 | > |
644 | </File> | 644 | </File> |
645 | <File | 645 | <File |
646 | RelativePath=".\llskiplist.h" | 646 | RelativePath=".\llsecondlifeurls.h" |
647 | > | 647 | > |
648 | </File> | 648 | </File> |
649 | <File | 649 | <File |
650 | RelativePath=".\llskipmap.h" | 650 | RelativePath=".\llskiplist.h" |
651 | > | 651 | > |
652 | </File> | 652 | </File> |
653 | <File | 653 | <File |
654 | RelativePath=".\llstat.h" | 654 | RelativePath=".\llskipmap.h" |
655 | > | 655 | > |
656 | </File> | 656 | </File> |
657 | <File | 657 | <File |
658 | RelativePath=".\llstatenums.h" | 658 | RelativePath=".\llstat.h" |
659 | > | 659 | > |
660 | </File> | 660 | </File> |
661 | <File | 661 | <File |
662 | RelativePath=".\llstl.h" | 662 | RelativePath=".\llstatenums.h" |
663 | > | 663 | > |
664 | </File> | 664 | </File> |
665 | <File | 665 | <File |
666 | RelativePath=".\llstreamtools.h" | 666 | RelativePath=".\llstl.h" |
667 | > | 667 | > |
668 | </File> | 668 | </File> |
669 | <File | 669 | <File |
670 | RelativePath=".\llstrider.h" | 670 | RelativePath=".\llstreamtools.h" |
671 | > | 671 | > |
672 | </File> | 672 | </File> |
673 | <File | 673 | <File |
674 | RelativePath=".\llstring.h" | 674 | RelativePath=".\llstrider.h" |
675 | > | 675 | > |
676 | </File> | 676 | </File> |
677 | <File | 677 | <File |
678 | RelativePath=".\llstringtable.h" | 678 | RelativePath=".\llstring.h" |
679 | > | 679 | > |
680 | </File> | 680 | </File> |
681 | <File | 681 | <File |
682 | RelativePath=".\llsys.h" | 682 | RelativePath=".\llstringtable.h" |
683 | > | 683 | > |
684 | </File> | 684 | </File> |
685 | <File | 685 | <File |
686 | RelativePath=".\llthread.h" | 686 | RelativePath=".\llsys.h" |
687 | > | 687 | > |
688 | </File> | 688 | </File> |
689 | <File | 689 | <File |
690 | RelativePath=".\lltimer.h" | 690 | RelativePath=".\llthread.h" |
691 | > | 691 | > |
692 | </File> | 692 | </File> |
693 | <File | 693 | <File |
694 | RelativePath=".\lluri.h" | 694 | RelativePath=".\lltimer.h" |
695 | > | 695 | > |
696 | </File> | 696 | </File> |
697 | <File | 697 | <File |
698 | RelativePath=".\lluuidhashmap.h" | 698 | RelativePath=".\lluri.h" |
699 | > | 699 | > |
700 | </File> | 700 | </File> |
701 | <File | 701 | <File |
702 | RelativePath=".\llversion.h" | 702 | RelativePath=".\lluuidhashmap.h" |
703 | > | 703 | > |
704 | </File> | 704 | </File> |
705 | <File | 705 | <File |
706 | RelativePath=".\llworkerthread.h" | 706 | RelativePath=".\llversion.h" |
707 | > | 707 | > |
708 | </File> | 708 | </File> |
709 | <File | 709 | <File |
710 | RelativePath=".\new_mem_ops.h" | 710 | RelativePath=".\llworkerthread.h" |
711 | > | 711 | > |
712 | </File> | 712 | </File> |
713 | <File | 713 | <File |
714 | RelativePath=".\priqueue.h" | 714 | RelativePath=".\new_mem_ops.h" |
715 | > | 715 | > |
716 | </File> | 716 | </File> |
717 | <File | 717 | <File |
718 | RelativePath=".\processor.h" | 718 | RelativePath=".\priqueue.h" |
719 | > | 719 | > |
720 | </File> | 720 | </File> |
721 | <File | 721 | <File |
722 | RelativePath=".\roles_constants.h" | 722 | RelativePath=".\processor.h" |
723 | > | 723 | > |
724 | </File> | 724 | </File> |
725 | <File | 725 | <File |
726 | RelativePath=".\stdenums.h" | 726 | RelativePath=".\roles_constants.h" |
727 | > | 727 | > |
728 | </File> | 728 | </File> |
729 | <File | 729 | <File |
730 | RelativePath=".\stdtypes.h" | 730 | RelativePath=".\stdenums.h" |
731 | > | 731 | > |
732 | </File> | 732 | </File> |
733 | <File | 733 | <File |
734 | RelativePath=".\string_table.h" | 734 | RelativePath=".\stdtypes.h" |
735 | > | 735 | > |
736 | </File> | 736 | </File> |
737 | <File | 737 | <File |
738 | RelativePath=".\timer.h" | 738 | RelativePath=".\string_table.h" |
739 | > | 739 | > |
740 | </File> | 740 | </File> |
741 | <File | 741 | <File |
742 | RelativePath=".\timing.h" | 742 | RelativePath=".\timer.h" |
743 | > | 743 | > |
744 | </File> | 744 | </File> |
745 | <File | 745 | <File |
746 | RelativePath=".\u64.h" | 746 | RelativePath=".\timing.h" |
747 | > | 747 | > |
748 | </File> | 748 | </File> |
749 | </Filter> | 749 | <File |
750 | <Filter | 750 | RelativePath=".\u64.h" |
751 | Name="Resource Files" | 751 | > |
752 | Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx" | 752 | </File> |
753 | UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" | 753 | </Filter> |
754 | > | 754 | <Filter |
755 | </Filter> | 755 | Name="Resource Files" |
756 | </Files> | 756 | Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx" |
757 | <Globals> | 757 | UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" |
758 | </Globals> | 758 | > |
759 | </VisualStudioProject> \ No newline at end of file | 759 | </Filter> |
760 | </Files> | ||
761 | <Globals> | ||
762 | </Globals> | ||
763 | </VisualStudioProject> | ||
diff --git a/linden/indra/llcommon/lllslconstants.h b/linden/indra/llcommon/lllslconstants.h index 59d1cc8..afe4a9e 100644 --- a/linden/indra/llcommon/lllslconstants.h +++ b/linden/indra/llcommon/lllslconstants.h | |||
@@ -75,6 +75,7 @@ const S32 LSL_PRIM_TYPE_SPHERE = 3; | |||
75 | const S32 LSL_PRIM_TYPE_TORUS = 4; | 75 | const S32 LSL_PRIM_TYPE_TORUS = 4; |
76 | const S32 LSL_PRIM_TYPE_TUBE = 5; | 76 | const S32 LSL_PRIM_TYPE_TUBE = 5; |
77 | const S32 LSL_PRIM_TYPE_RING = 6; | 77 | const S32 LSL_PRIM_TYPE_RING = 6; |
78 | const S32 LSL_PRIM_TYPE_SCULPT = 7; | ||
78 | 79 | ||
79 | const S32 LSL_PRIM_HOLE_DEFAULT = 0x00; | 80 | const S32 LSL_PRIM_HOLE_DEFAULT = 0x00; |
80 | const S32 LSL_PRIM_HOLE_CIRCLE = 0x10; | 81 | const S32 LSL_PRIM_HOLE_CIRCLE = 0x10; |
@@ -117,6 +118,11 @@ const S32 LSL_PRIM_BUMP_STUCCO = 15; | |||
117 | const S32 LSL_PRIM_BUMP_SUCTION = 16; | 118 | const S32 LSL_PRIM_BUMP_SUCTION = 16; |
118 | const S32 LSL_PRIM_BUMP_WEAVE = 17; | 119 | const S32 LSL_PRIM_BUMP_WEAVE = 17; |
119 | 120 | ||
121 | const S32 LSL_PRIM_SCULPT_TYPE_SPHERE = 1; | ||
122 | const S32 LSL_PRIM_SCULPT_TYPE_TORUS = 2; | ||
123 | const S32 LSL_PRIM_SCULPT_TYPE_PLANE = 3; | ||
124 | const S32 LSL_PRIM_SCULPT_TYPE_CYLINDER = 4; | ||
125 | |||
120 | const S32 LSL_ALL_SIDES = -1; | 126 | const S32 LSL_ALL_SIDES = -1; |
121 | const S32 LSL_LINK_ROOT = 1; | 127 | const S32 LSL_LINK_ROOT = 1; |
122 | const S32 LSL_LINK_FIRST_CHILD = 2; | 128 | const S32 LSL_LINK_FIRST_CHILD = 2; |
diff --git a/linden/indra/llcommon/llversion.h b/linden/indra/llcommon/llversion.h index a76551d..f2ea20d 100644 --- a/linden/indra/llcommon/llversion.h +++ b/linden/indra/llcommon/llversion.h | |||
@@ -30,8 +30,8 @@ | |||
30 | #define LL_LLVERSION_H | 30 | #define LL_LLVERSION_H |
31 | 31 | ||
32 | const S32 LL_VERSION_MAJOR = 1; | 32 | const S32 LL_VERSION_MAJOR = 1; |
33 | const S32 LL_VERSION_MINOR = 15; | 33 | const S32 LL_VERSION_MINOR = 16; |
34 | const S32 LL_VERSION_PATCH = 1; | 34 | const S32 LL_VERSION_PATCH = 0; |
35 | const S32 LL_VERSION_BUILD = 3; | 35 | const S32 LL_VERSION_BUILD = 5; |
36 | 36 | ||
37 | #endif | 37 | #endif |
diff --git a/linden/indra/llinventory/llinventory_vc8.vcproj b/linden/indra/llinventory/llinventory_vc8.vcproj index d66f352..2763cac 100644 --- a/linden/indra/llinventory/llinventory_vc8.vcproj +++ b/linden/indra/llinventory/llinventory_vc8.vcproj | |||
@@ -238,6 +238,10 @@ | |||
238 | > | 238 | > |
239 | </File> | 239 | </File> |
240 | <File | 240 | <File |
241 | RelativePath=".\llinventorytype.cpp" | ||
242 | > | ||
243 | </File> | ||
244 | <File | ||
241 | RelativePath=".\lllandmark.cpp" | 245 | RelativePath=".\lllandmark.cpp" |
242 | > | 246 | > |
243 | </File> | 247 | </File> |
@@ -284,6 +288,10 @@ | |||
284 | > | 288 | > |
285 | </File> | 289 | </File> |
286 | <File | 290 | <File |
291 | RelativePath=".\llinventorytype.h" | ||
292 | > | ||
293 | </File> | ||
294 | <File | ||
287 | RelativePath=".\lllandmark.h" | 295 | RelativePath=".\lllandmark.h" |
288 | > | 296 | > |
289 | </File> | 297 | </File> |
diff --git a/linden/indra/llinventory/llparcel.h b/linden/indra/llinventory/llparcel.h index cc20182..3144eb9 100644 --- a/linden/indra/llinventory/llparcel.h +++ b/linden/indra/llinventory/llparcel.h | |||
@@ -347,7 +347,7 @@ public: | |||
347 | void startSale(const LLUUID& buyer_id, BOOL is_buyer_group); | 347 | void startSale(const LLUUID& buyer_id, BOOL is_buyer_group); |
348 | 348 | ||
349 | // do the expiration logic, which needs to return values usable in | 349 | // do the expiration logic, which needs to return values usable in |
350 | // a money transaction. | 350 | // a L$ transaction. |
351 | void expireSale(U32& type, U8& flags, LLUUID& from_id, LLUUID& to_id); | 351 | void expireSale(U32& type, U8& flags, LLUUID& from_id, LLUUID& to_id); |
352 | void completeSale(U32& type, U8& flags, LLUUID& to_id); | 352 | void completeSale(U32& type, U8& flags, LLUUID& to_id); |
353 | void clearSale(); | 353 | void clearSale(); |
diff --git a/linden/indra/llinventory/lltransactiontypes.h b/linden/indra/llinventory/lltransactiontypes.h index 49ba6aa..6eaced9 100644 --- a/linden/indra/llinventory/lltransactiontypes.h +++ b/linden/indra/llinventory/lltransactiontypes.h | |||
@@ -35,7 +35,7 @@ | |||
35 | // insert into transaction_description | 35 | // insert into transaction_description |
36 | // set type = 1000, description = 'Object Claim'; | 36 | // set type = 1000, description = 'Object Claim'; |
37 | // | 37 | // |
38 | // Also add it to the various money string lookups on the dataserver | 38 | // Also add it to the various L$ string lookups on the dataserver |
39 | // in lldatamoney | 39 | // in lldatamoney |
40 | 40 | ||
41 | // Money transaction failure codes | 41 | // Money transaction failure codes |
diff --git a/linden/indra/llmath/llvolume.cpp b/linden/indra/llmath/llvolume.cpp index 89644a5..fb745b8 100644 --- a/linden/indra/llmath/llvolume.cpp +++ b/linden/indra/llmath/llvolume.cpp | |||
@@ -454,9 +454,18 @@ LLProfile::Face* LLProfile::addHole(BOOL flat, F32 sides, F32 offset, F32 box_ho | |||
454 | return face; | 454 | return face; |
455 | } | 455 | } |
456 | 456 | ||
457 | BOOL LLProfile::generate(BOOL path_open,F32 detail, S32 split) | 457 | |
458 | F32 next_power_of_two(F32 value) | ||
458 | { | 459 | { |
459 | if (!mDirty) | 460 | S32 power = (S32)llceil((F32)log((double)value)/(F32)log(2.0)); |
461 | return pow(2.0f, power); | ||
462 | } | ||
463 | |||
464 | |||
465 | |||
466 | BOOL LLProfile::generate(BOOL path_open,F32 detail, S32 split, BOOL is_sculpted) | ||
467 | { | ||
468 | if ((!mDirty) && (!is_sculpted)) | ||
460 | { | 469 | { |
461 | return FALSE; | 470 | return FALSE; |
462 | } | 471 | } |
@@ -592,10 +601,14 @@ BOOL LLProfile::generate(BOOL path_open,F32 detail, S32 split) | |||
592 | circle_detail = llceil(circle_detail / 4.0f) * 4.0f; | 601 | circle_detail = llceil(circle_detail / 4.0f) * 4.0f; |
593 | } | 602 | } |
594 | } | 603 | } |
604 | |||
605 | S32 sides = (S32)circle_detail; | ||
606 | |||
607 | if (is_sculpted) | ||
608 | sides = (S32)next_power_of_two((F32)sides); | ||
609 | |||
610 | genNGon(sides); | ||
595 | 611 | ||
596 | //llinfos << "(CIRCLE) detail: " << detail << "; genNGon(" | ||
597 | // << llfloor(circle_detail) << ")" << llendl; | ||
598 | genNGon(llfloor(circle_detail)); | ||
599 | if (path_open) | 612 | if (path_open) |
600 | { | 613 | { |
601 | addCap (LL_FACE_PATH_BEGIN); | 614 | addCap (LL_FACE_PATH_BEGIN); |
@@ -844,7 +857,7 @@ BOOL LLProfileParams::importLegacyStream(std::istream& input_stream) | |||
844 | } | 857 | } |
845 | else | 858 | else |
846 | { | 859 | { |
847 | llwarns << "unknown keyword " << keyword << " in profile import" << llendl; | 860 | llwarns << "unknown keyword " << keyword << " in profile import" << llendl; |
848 | } | 861 | } |
849 | } | 862 | } |
850 | 863 | ||
@@ -1074,9 +1087,9 @@ const LLVector2 LLPathParams::getEndScale() const | |||
1074 | return end_scale; | 1087 | return end_scale; |
1075 | } | 1088 | } |
1076 | 1089 | ||
1077 | BOOL LLPath::generate(F32 detail, S32 split) | 1090 | BOOL LLPath::generate(F32 detail, S32 split, BOOL is_sculpted) |
1078 | { | 1091 | { |
1079 | if (!mDirty) | 1092 | if ((!mDirty) && (!is_sculpted)) |
1080 | { | 1093 | { |
1081 | return FALSE; | 1094 | return FALSE; |
1082 | } | 1095 | } |
@@ -1131,7 +1144,13 @@ BOOL LLPath::generate(F32 detail, S32 split) | |||
1131 | { | 1144 | { |
1132 | // Increase the detail as the revolutions and twist increase. | 1145 | // Increase the detail as the revolutions and twist increase. |
1133 | F32 twist_mag = fabs(mParams.getTwistBegin() - mParams.getTwist()); | 1146 | F32 twist_mag = fabs(mParams.getTwistBegin() - mParams.getTwist()); |
1134 | genNGon(llfloor(llfloor((MIN_DETAIL_FACES * detail + twist_mag * 3.5f * (detail-0.5f))) * mParams.getRevolutions())); | 1147 | |
1148 | S32 sides = (S32)llfloor(llfloor((MIN_DETAIL_FACES * detail + twist_mag * 3.5f * (detail-0.5f))) * mParams.getRevolutions()); | ||
1149 | |||
1150 | if (is_sculpted) | ||
1151 | sides = (S32)next_power_of_two((F32)sides); | ||
1152 | |||
1153 | genNGon(sides); | ||
1135 | } | 1154 | } |
1136 | break; | 1155 | break; |
1137 | 1156 | ||
@@ -1194,7 +1213,7 @@ BOOL LLPath::generate(F32 detail, S32 split) | |||
1194 | return TRUE; | 1213 | return TRUE; |
1195 | } | 1214 | } |
1196 | 1215 | ||
1197 | BOOL LLDynamicPath::generate(F32 detail, S32 split) | 1216 | BOOL LLDynamicPath::generate(F32 detail, S32 split, BOOL is_sculpted) |
1198 | { | 1217 | { |
1199 | mOpen = TRUE; // Draw end caps | 1218 | mOpen = TRUE; // Draw end caps |
1200 | if (getPathLength() == 0) | 1219 | if (getPathLength() == 0) |
@@ -1555,13 +1574,15 @@ LLProfile::~LLProfile() | |||
1555 | } | 1574 | } |
1556 | 1575 | ||
1557 | 1576 | ||
1558 | S32 LLVolume::mNumMeshPoints = 0; | 1577 | S32 LLVolume::sNumMeshPoints = 0; |
1559 | 1578 | ||
1560 | LLVolume::LLVolume(const LLVolumeParams ¶ms, const F32 detail, const BOOL generate_single_face, const BOOL is_unique) : mParams(params) | 1579 | LLVolume::LLVolume(const LLVolumeParams ¶ms, const F32 detail, const BOOL generate_single_face, const BOOL is_unique) : mParams(params) |
1561 | { | 1580 | { |
1562 | mUnique = is_unique; | 1581 | mUnique = is_unique; |
1563 | mFaceMask = 0x0; | 1582 | mFaceMask = 0x0; |
1564 | mDetail = detail; | 1583 | mDetail = detail; |
1584 | mSculptLevel = -2; | ||
1585 | |||
1565 | // set defaults | 1586 | // set defaults |
1566 | if (mParams.getPathParams().getCurveType() == LL_PCODE_PATH_FLEXIBLE) | 1587 | if (mParams.getPathParams().getCurveType() == LL_PCODE_PATH_FLEXIBLE) |
1567 | { | 1588 | { |
@@ -1578,7 +1599,10 @@ LLVolume::LLVolume(const LLVolumeParams ¶ms, const F32 detail, const BOOL ge | |||
1578 | mGenerateSingleFace = generate_single_face; | 1599 | mGenerateSingleFace = generate_single_face; |
1579 | 1600 | ||
1580 | generate(); | 1601 | generate(); |
1581 | createVolumeFaces(); | 1602 | if (mParams.getSculptID().isNull()) |
1603 | { | ||
1604 | createVolumeFaces(); | ||
1605 | } | ||
1582 | } | 1606 | } |
1583 | 1607 | ||
1584 | void LLVolume::regen() | 1608 | void LLVolume::regen() |
@@ -1589,7 +1613,7 @@ void LLVolume::regen() | |||
1589 | 1613 | ||
1590 | LLVolume::~LLVolume() | 1614 | LLVolume::~LLVolume() |
1591 | { | 1615 | { |
1592 | mNumMeshPoints -= mMesh.size(); | 1616 | sNumMeshPoints -= mMesh.size(); |
1593 | delete mPathp; | 1617 | delete mPathp; |
1594 | delete mProfilep; | 1618 | delete mProfilep; |
1595 | delete[] mVolumeFaces; | 1619 | delete[] mVolumeFaces; |
@@ -1640,9 +1664,9 @@ BOOL LLVolume::generate() | |||
1640 | 1664 | ||
1641 | if (regenPath || regenProf ) | 1665 | if (regenPath || regenProf ) |
1642 | { | 1666 | { |
1643 | mNumMeshPoints -= mMesh.size(); | 1667 | sNumMeshPoints -= mMesh.size(); |
1644 | mMesh.resize(mProfilep->mProfile.size() * mPathp->mPath.size()); | 1668 | mMesh.resize(mProfilep->mProfile.size() * mPathp->mPath.size()); |
1645 | mNumMeshPoints += mMesh.size(); | 1669 | sNumMeshPoints += mMesh.size(); |
1646 | 1670 | ||
1647 | S32 s = 0, t=0; | 1671 | S32 s = 0, t=0; |
1648 | S32 sizeS = mPathp->mPath.size(); | 1672 | S32 sizeS = mPathp->mPath.size(); |
@@ -1772,6 +1796,128 @@ void LLVolume::createVolumeFaces() | |||
1772 | } | 1796 | } |
1773 | 1797 | ||
1774 | 1798 | ||
1799 | // sculpt replaces generate() for sculpted surfaces | ||
1800 | void LLVolume::sculpt(U16 sculpt_width, U16 sculpt_height, S8 sculpt_components, const U8* sculpt_data, S32 sculpt_level) | ||
1801 | { | ||
1802 | BOOL data_is_empty = FALSE; | ||
1803 | |||
1804 | if (sculpt_width == 0 || sculpt_height == 0 || sculpt_data == NULL) | ||
1805 | { | ||
1806 | sculpt_level = -1; | ||
1807 | data_is_empty = TRUE; | ||
1808 | } | ||
1809 | |||
1810 | mPathp->generate(mDetail, 0, TRUE); | ||
1811 | mProfilep->generate(mPathp->isOpen(), mDetail, 0, TRUE); | ||
1812 | |||
1813 | |||
1814 | S32 sizeS = mPathp->mPath.size(); | ||
1815 | S32 sizeT = mProfilep->mProfile.size(); | ||
1816 | |||
1817 | sNumMeshPoints -= mMesh.size(); | ||
1818 | mMesh.resize(sizeS * sizeT); | ||
1819 | sNumMeshPoints += mMesh.size(); | ||
1820 | |||
1821 | S32 vertex_change = 0; | ||
1822 | // first test to see if image has enough variation to create geometry | ||
1823 | if (!data_is_empty) | ||
1824 | { | ||
1825 | S32 last_index = 0; | ||
1826 | for (S32 s = 0; s < sizeS; s++) | ||
1827 | for (S32 t = 0; t < sizeT; t++) | ||
1828 | { | ||
1829 | U32 x = (U32) ((F32)s/(sizeS-1) * (F32) sculpt_width); | ||
1830 | U32 y = (U32) ((F32)t/(sizeT-1) * (F32) sculpt_height); | ||
1831 | |||
1832 | if (y == sculpt_height) // clamp to bottom row | ||
1833 | y = sculpt_height - 1; | ||
1834 | |||
1835 | if (x == sculpt_width) // stitch sides | ||
1836 | x = 0; | ||
1837 | |||
1838 | if ((y == 0) || (y == sculpt_height-1)) // stitch top and bottom | ||
1839 | x = sculpt_width / 2; | ||
1840 | |||
1841 | U32 index = (x + y * sculpt_width) * sculpt_components; | ||
1842 | |||
1843 | if (fabs((F32)(sculpt_data[index] - sculpt_data[last_index])) + | ||
1844 | fabs((F32)(sculpt_data[index+1] - sculpt_data[last_index+1])) + | ||
1845 | fabs((F32)(sculpt_data[index+2] - sculpt_data[last_index+2])) > 256 * 0.02) | ||
1846 | vertex_change++; | ||
1847 | |||
1848 | last_index = index; | ||
1849 | } | ||
1850 | } | ||
1851 | |||
1852 | |||
1853 | if ((F32)vertex_change / sizeS / sizeT < 0.05) // less than 5% | ||
1854 | data_is_empty = TRUE; | ||
1855 | |||
1856 | |||
1857 | //generate vertex positions | ||
1858 | // Run along the path. | ||
1859 | S32 s = 0, t = 0; | ||
1860 | S32 line = 0; | ||
1861 | while (s < sizeS) | ||
1862 | { | ||
1863 | t = 0; | ||
1864 | // Run along the profile. | ||
1865 | while (t < sizeT) | ||
1866 | { | ||
1867 | S32 i = t + line; | ||
1868 | Point& pt = mMesh[i]; | ||
1869 | |||
1870 | U32 x = (U32) ((F32)t/(sizeT-1) * (F32) sculpt_width); | ||
1871 | U32 y = (U32) ((F32)s/(sizeS-1) * (F32) sculpt_height); | ||
1872 | |||
1873 | if (y == sculpt_height) // clamp to bottom row | ||
1874 | y = sculpt_height - 1; | ||
1875 | |||
1876 | if (x == sculpt_width) // stitch sides | ||
1877 | x = 0; | ||
1878 | |||
1879 | if ((y == 0) || (y == sculpt_height-1)) // stitch top and bottom | ||
1880 | x = sculpt_width / 2; | ||
1881 | |||
1882 | |||
1883 | if (data_is_empty) // if empty, make a sphere | ||
1884 | { | ||
1885 | F32 u = (F32)s/(sizeS-1); | ||
1886 | F32 v = (F32)t/(sizeT-1); | ||
1887 | |||
1888 | const F32 RADIUS = (F32) 0.3; | ||
1889 | |||
1890 | pt.mPos.mV[0] = (F32)(sin(F_PI * v) * cos(2.0 * F_PI * u) * RADIUS); | ||
1891 | pt.mPos.mV[1] = (F32)(sin(F_PI * v) * sin(2.0 * F_PI * u) * RADIUS); | ||
1892 | pt.mPos.mV[2] = (F32)(cos(F_PI * v) * RADIUS); | ||
1893 | } | ||
1894 | |||
1895 | else | ||
1896 | { | ||
1897 | U32 index = (x + y * sculpt_width) * sculpt_components; | ||
1898 | pt.mPos.mV[0] = sculpt_data[index ] / 256.f - 0.5f; | ||
1899 | pt.mPos.mV[1] = sculpt_data[index+1] / 256.f - 0.5f; | ||
1900 | pt.mPos.mV[2] = sculpt_data[index+2] / 256.f - 0.5f; | ||
1901 | } | ||
1902 | |||
1903 | t++; | ||
1904 | } | ||
1905 | line += sizeT; | ||
1906 | s++; | ||
1907 | } | ||
1908 | |||
1909 | for (S32 i = 0; i < (S32)mProfilep->mFaces.size(); i++) | ||
1910 | { | ||
1911 | mFaceMask |= mProfilep->mFaces[i].mFaceID; | ||
1912 | } | ||
1913 | |||
1914 | mSculptLevel = sculpt_level; | ||
1915 | createVolumeFaces(); | ||
1916 | } | ||
1917 | |||
1918 | |||
1919 | |||
1920 | |||
1775 | BOOL LLVolume::isCap(S32 face) | 1921 | BOOL LLVolume::isCap(S32 face) |
1776 | { | 1922 | { |
1777 | return mProfilep->mFaces[face].mCap; | 1923 | return mProfilep->mFaces[face].mCap; |
@@ -1785,14 +1931,18 @@ BOOL LLVolume::isFlat(S32 face) | |||
1785 | 1931 | ||
1786 | bool LLVolumeParams::operator==(const LLVolumeParams ¶ms) const | 1932 | bool LLVolumeParams::operator==(const LLVolumeParams ¶ms) const |
1787 | { | 1933 | { |
1788 | return (getPathParams() == params.getPathParams()) && | 1934 | return ( (getPathParams() == params.getPathParams()) && |
1789 | (getProfileParams() == params.getProfileParams()); | 1935 | (getProfileParams() == params.getProfileParams()) && |
1936 | (mSculptID == params.mSculptID) && | ||
1937 | (mSculptType == params.mSculptType) ); | ||
1790 | } | 1938 | } |
1791 | 1939 | ||
1792 | bool LLVolumeParams::operator!=(const LLVolumeParams ¶ms) const | 1940 | bool LLVolumeParams::operator!=(const LLVolumeParams ¶ms) const |
1793 | { | 1941 | { |
1794 | return (getPathParams() != params.getPathParams()) || | 1942 | return ( (getPathParams() != params.getPathParams()) || |
1795 | (getProfileParams() != params.getProfileParams()); | 1943 | (getProfileParams() != params.getProfileParams()) || |
1944 | (mSculptID != params.mSculptID) || | ||
1945 | (mSculptType != params.mSculptType) ); | ||
1796 | } | 1946 | } |
1797 | 1947 | ||
1798 | bool LLVolumeParams::operator<(const LLVolumeParams ¶ms) const | 1948 | bool LLVolumeParams::operator<(const LLVolumeParams ¶ms) const |
@@ -1801,16 +1951,29 @@ bool LLVolumeParams::operator<(const LLVolumeParams ¶ms) const | |||
1801 | { | 1951 | { |
1802 | return getPathParams() < params.getPathParams(); | 1952 | return getPathParams() < params.getPathParams(); |
1803 | } | 1953 | } |
1804 | else | 1954 | |
1955 | if (getProfileParams() != params.getProfileParams()) | ||
1805 | { | 1956 | { |
1806 | return getProfileParams() < params.getProfileParams(); | 1957 | return getProfileParams() < params.getProfileParams(); |
1807 | } | 1958 | } |
1959 | |||
1960 | if (mSculptID != params.mSculptID) | ||
1961 | { | ||
1962 | return mSculptID < params.mSculptID; | ||
1963 | } | ||
1964 | |||
1965 | |||
1966 | return mSculptType < params.mSculptType; | ||
1967 | |||
1968 | |||
1808 | } | 1969 | } |
1809 | 1970 | ||
1810 | void LLVolumeParams::copyParams(const LLVolumeParams ¶ms) | 1971 | void LLVolumeParams::copyParams(const LLVolumeParams ¶ms) |
1811 | { | 1972 | { |
1812 | mProfileParams.copyParams(params.mProfileParams); | 1973 | mProfileParams.copyParams(params.mProfileParams); |
1813 | mPathParams.copyParams(params.mPathParams); | 1974 | mPathParams.copyParams(params.mPathParams); |
1975 | mSculptID = params.getSculptID(); | ||
1976 | mSculptType = params.getSculptType(); | ||
1814 | } | 1977 | } |
1815 | 1978 | ||
1816 | // Less restricitve approx 0 for volumes | 1979 | // Less restricitve approx 0 for volumes |
@@ -2070,6 +2233,13 @@ bool LLVolumeParams::setSkew(const F32 skew_value) | |||
2070 | return valid; | 2233 | return valid; |
2071 | } | 2234 | } |
2072 | 2235 | ||
2236 | bool LLVolumeParams::setSculptID(const LLUUID sculpt_id, U8 sculpt_type) | ||
2237 | { | ||
2238 | mSculptID = sculpt_id; | ||
2239 | mSculptType = sculpt_type; | ||
2240 | return true; | ||
2241 | } | ||
2242 | |||
2073 | bool LLVolumeParams::setType(U8 profile, U8 path) | 2243 | bool LLVolumeParams::setType(U8 profile, U8 path) |
2074 | { | 2244 | { |
2075 | bool result = true; | 2245 | bool result = true; |
@@ -2829,7 +2999,7 @@ void LLVolume::generateSilhouetteVertices(std::vector<LLVector3> &vertices, | |||
2829 | segments.clear(); | 2999 | segments.clear(); |
2830 | 3000 | ||
2831 | //for each face | 3001 | //for each face |
2832 | for (S32 i = 0; i < getNumFaces(); i++) { | 3002 | for (S32 i = 0; i < getNumVolumeFaces(); i++) { |
2833 | LLVolumeFace face = this->getVolumeFace(i); | 3003 | LLVolumeFace face = this->getVolumeFace(i); |
2834 | 3004 | ||
2835 | if (face.mTypeMask & (LLVolumeFace::CAP_MASK)) { | 3005 | if (face.mTypeMask & (LLVolumeFace::CAP_MASK)) { |
@@ -4436,6 +4606,9 @@ BOOL LLVolumeFace::createSide() | |||
4436 | } | 4606 | } |
4437 | } | 4607 | } |
4438 | 4608 | ||
4609 | BOOL s_bottom_converges = ((mVertices[0].mPosition - mVertices[mNumS*(mNumT-2)].mPosition).magVecSquared() < 0.000001f); | ||
4610 | BOOL s_top_converges = ((mVertices[mNumS-1].mPosition - mVertices[mNumS*(mNumT-2)+mNumS-1].mPosition).magVecSquared() < 0.000001f); | ||
4611 | |||
4439 | if (mVolumep->getPath().isOpen() == FALSE) { //wrap normals on T | 4612 | if (mVolumep->getPath().isOpen() == FALSE) { //wrap normals on T |
4440 | for (S32 i = 0; i < mNumS; i++) { | 4613 | for (S32 i = 0; i < mNumS; i++) { |
4441 | LLVector3 norm = mVertices[i].mNormal + mVertices[mNumS*(mNumT-1)+i].mNormal; | 4614 | LLVector3 norm = mVertices[i].mNormal + mVertices[mNumS*(mNumT-1)+i].mNormal; |
@@ -4444,30 +4617,73 @@ BOOL LLVolumeFace::createSide() | |||
4444 | } | 4617 | } |
4445 | } | 4618 | } |
4446 | 4619 | ||
4447 | if (mVolumep->getProfile().isOpen() == FALSE) { //wrap normals on S | 4620 | if ((mVolumep->getProfile().isOpen() == FALSE) && |
4448 | for (S32 i = 0; i < mNumT; i++) { | 4621 | !(s_bottom_converges)) |
4449 | LLVector3 norm = mVertices[mNumS*i].mNormal + mVertices[mNumS*i+mNumS-1].mNormal; | 4622 | { //wrap normals on S |
4450 | mVertices[mNumS * i].mNormal = norm; | 4623 | for (S32 i = 0; i < mNumT; i++) { |
4451 | mVertices[mNumS * i+mNumS-1].mNormal = norm; | 4624 | LLVector3 norm = mVertices[mNumS*i].mNormal + mVertices[mNumS*i+mNumS-1].mNormal; |
4625 | mVertices[mNumS * i].mNormal = norm; | ||
4626 | mVertices[mNumS * i+mNumS-1].mNormal = norm; | ||
4627 | } | ||
4452 | } | 4628 | } |
4453 | } | ||
4454 | 4629 | ||
4455 | if (mVolumep->getPathType() == LL_PCODE_PATH_CIRCLE && ((mVolumep->getProfileType() & LL_PCODE_PROFILE_MASK) == LL_PCODE_PROFILE_CIRCLE_HALF)) { | 4630 | if (mVolumep->getPathType() == LL_PCODE_PATH_CIRCLE && |
4456 | if ((mVertices[0].mPosition - mVertices[mNumS*(mNumT-2)].mPosition).magVecSquared() < 0.000001f) | 4631 | ((mVolumep->getProfileType() & LL_PCODE_PROFILE_MASK) == LL_PCODE_PROFILE_CIRCLE_HALF)) |
4632 | { | ||
4633 | if (s_bottom_converges) | ||
4457 | { //all lower S have same normal | 4634 | { //all lower S have same normal |
4458 | for (S32 i = 0; i < mNumT; i++) { | 4635 | for (S32 i = 0; i < mNumT; i++) { |
4459 | mVertices[mNumS*i].mNormal = LLVector3(1,0,0); | 4636 | mVertices[mNumS*i].mNormal = LLVector3(1,0,0); |
4460 | } | 4637 | } |
4461 | } | 4638 | } |
4462 | 4639 | ||
4463 | if ((mVertices[mNumS-1].mPosition - mVertices[mNumS*(mNumT-2)+mNumS-1].mPosition).magVecSquared() < 0.000001f) | 4640 | if (s_top_converges) |
4464 | { //all upper T have same normal | 4641 | { //all upper S have same normal |
4465 | for (S32 i = 0; i < mNumT; i++) { | 4642 | for (S32 i = 0; i < mNumT; i++) { |
4466 | mVertices[mNumS*i+mNumS-1].mNormal = LLVector3(-1,0,0); | 4643 | mVertices[mNumS*i+mNumS-1].mNormal = LLVector3(-1,0,0); |
4467 | } | 4644 | } |
4468 | } | 4645 | } |
4469 | } | 4646 | } |
4470 | 4647 | ||
4648 | U8 sculpt_type = mVolumep->getParams().getSculptType(); | ||
4649 | |||
4650 | if (sculpt_type == LL_SCULPT_TYPE_SPHERE) | ||
4651 | { | ||
4652 | // average normals for north pole | ||
4653 | |||
4654 | LLVector3 average(0.0, 0.0, 0.0); | ||
4655 | for (S32 i = 0; i < mNumS; i++) | ||
4656 | { | ||
4657 | average += mVertices[i].mNormal; | ||
4658 | } | ||
4659 | |||
4660 | // set average | ||
4661 | for (S32 i = 0; i < mNumS; i++) | ||
4662 | { | ||
4663 | mVertices[i].mNormal = average; | ||
4664 | } | ||
4665 | } | ||
4666 | |||
4667 | |||
4668 | if (sculpt_type == LL_SCULPT_TYPE_SPHERE) | ||
4669 | { | ||
4670 | // average normals for south pole | ||
4671 | |||
4672 | LLVector3 average(0.0, 0.0, 0.0); | ||
4673 | for (S32 i = 0; i < mNumS; i++) | ||
4674 | { | ||
4675 | average += mVertices[i + mNumS * (mNumT - 1)].mNormal; | ||
4676 | } | ||
4677 | |||
4678 | // set average | ||
4679 | for (S32 i = 0; i < mNumS; i++) | ||
4680 | { | ||
4681 | mVertices[i + mNumS * (mNumT - 1)].mNormal = average; | ||
4682 | } | ||
4683 | } | ||
4684 | |||
4685 | |||
4686 | |||
4471 | //normalize normals and binormals here so the meshes that reference | 4687 | //normalize normals and binormals here so the meshes that reference |
4472 | //this volume data don't have to | 4688 | //this volume data don't have to |
4473 | for (U32 i = 0; i < mVertices.size(); i++) | 4689 | for (U32 i = 0; i < mVertices.size(); i++) |
diff --git a/linden/indra/llmath/llvolume.h b/linden/indra/llmath/llvolume.h index 7137346..a3e89ab 100644 --- a/linden/indra/llmath/llvolume.h +++ b/linden/indra/llmath/llvolume.h | |||
@@ -169,6 +169,16 @@ const LLFaceID LL_FACE_OUTER_SIDE_3 = 0x1 << 8; | |||
169 | 169 | ||
170 | //============================================================================ | 170 | //============================================================================ |
171 | 171 | ||
172 | // sculpt types | ||
173 | |||
174 | const U8 LL_SCULPT_TYPE_NONE = 0; | ||
175 | const U8 LL_SCULPT_TYPE_SPHERE = 1; | ||
176 | const U8 LL_SCULPT_TYPE_TORUS = 2; | ||
177 | const U8 LL_SCULPT_TYPE_PLAIN = 3; | ||
178 | const U8 LL_SCULPT_TYPE_CYLINDER = 4; | ||
179 | |||
180 | |||
181 | |||
172 | class LLProfileParams | 182 | class LLProfileParams |
173 | { | 183 | { |
174 | public: | 184 | public: |
@@ -512,8 +522,9 @@ public: | |||
512 | { | 522 | { |
513 | } | 523 | } |
514 | 524 | ||
515 | LLVolumeParams(LLProfileParams &profile, LLPathParams &path) | 525 | LLVolumeParams(LLProfileParams &profile, LLPathParams &path, |
516 | : mProfileParams(profile), mPathParams(path) | 526 | LLUUID sculpt_id = LLUUID::null, U8 sculpt_type = LL_SCULPT_TYPE_NONE) |
527 | : mProfileParams(profile), mPathParams(path), mSculptID(sculpt_id), mSculptType(sculpt_type) | ||
517 | { | 528 | { |
518 | } | 529 | } |
519 | 530 | ||
@@ -564,6 +575,7 @@ public: | |||
564 | bool setRevolutions(const F32 revolutions); // 1 to 4 | 575 | bool setRevolutions(const F32 revolutions); // 1 to 4 |
565 | bool setRadiusOffset(const F32 radius_offset); | 576 | bool setRadiusOffset(const F32 radius_offset); |
566 | bool setSkew(const F32 skew); | 577 | bool setSkew(const F32 skew); |
578 | bool setSculptID(const LLUUID sculpt_id, U8 sculpt_type); | ||
567 | 579 | ||
568 | static bool validate(U8 prof_curve, F32 prof_begin, F32 prof_end, F32 hollow, | 580 | static bool validate(U8 prof_curve, F32 prof_begin, F32 prof_end, F32 hollow, |
569 | U8 path_curve, F32 path_begin, F32 path_end, | 581 | U8 path_curve, F32 path_begin, F32 path_end, |
@@ -591,6 +603,8 @@ public: | |||
591 | const F32& getTaperY() const { return mPathParams.getTaperY(); } | 603 | const F32& getTaperY() const { return mPathParams.getTaperY(); } |
592 | const F32& getRevolutions() const { return mPathParams.getRevolutions(); } | 604 | const F32& getRevolutions() const { return mPathParams.getRevolutions(); } |
593 | const F32& getSkew() const { return mPathParams.getSkew(); } | 605 | const F32& getSkew() const { return mPathParams.getSkew(); } |
606 | const LLUUID& getSculptID() const { return mSculptID; } | ||
607 | const U8& getSculptType() const { return mSculptType; } | ||
594 | 608 | ||
595 | BOOL isConvex() const; | 609 | BOOL isConvex() const; |
596 | 610 | ||
@@ -613,6 +627,8 @@ public: | |||
613 | protected: | 627 | protected: |
614 | LLProfileParams mProfileParams; | 628 | LLProfileParams mProfileParams; |
615 | LLPathParams mPathParams; | 629 | LLPathParams mPathParams; |
630 | LLUUID mSculptID; | ||
631 | U8 mSculptType; | ||
616 | }; | 632 | }; |
617 | 633 | ||
618 | 634 | ||
@@ -635,7 +651,7 @@ public: | |||
635 | BOOL isFlat(S32 face) const { return (mFaces[face].mCount == 2); } | 651 | BOOL isFlat(S32 face) const { return (mFaces[face].mCount == 2); } |
636 | BOOL isOpen() const { return mOpen; } | 652 | BOOL isOpen() const { return mOpen; } |
637 | void setDirty() { mDirty = TRUE; } | 653 | void setDirty() { mDirty = TRUE; } |
638 | BOOL generate(BOOL path_open, F32 detail = 1.0f, S32 split = 0); | 654 | BOOL generate(BOOL path_open, F32 detail = 1.0f, S32 split = 0, BOOL is_sculpted = FALSE); |
639 | BOOL isConcave() const { return mConcave; } | 655 | BOOL isConcave() const { return mConcave; } |
640 | public: | 656 | public: |
641 | const LLProfileParams &mParams; | 657 | const LLProfileParams &mParams; |
@@ -704,7 +720,7 @@ public: | |||
704 | virtual ~LLPath(); | 720 | virtual ~LLPath(); |
705 | 721 | ||
706 | void genNGon(S32 sides, F32 offset=0.0f, F32 end_scale = 1.f, F32 twist_scale = 1.f); | 722 | void genNGon(S32 sides, F32 offset=0.0f, F32 end_scale = 1.f, F32 twist_scale = 1.f); |
707 | virtual BOOL generate(F32 detail=1.0f, S32 split = 0); | 723 | virtual BOOL generate(F32 detail=1.0f, S32 split = 0, BOOL is_sculpted = FALSE); |
708 | 724 | ||
709 | BOOL isOpen() const { return mOpen; } | 725 | BOOL isOpen() const { return mOpen; } |
710 | F32 getStep() const { return mStep; } | 726 | F32 getStep() const { return mStep; } |
@@ -731,7 +747,7 @@ class LLDynamicPath : public LLPath | |||
731 | { | 747 | { |
732 | public: | 748 | public: |
733 | LLDynamicPath(const LLPathParams ¶ms) : LLPath(params) { } | 749 | LLDynamicPath(const LLPathParams ¶ms) : LLPath(params) { } |
734 | BOOL generate(F32 detail=1.0f, S32 split = 0); | 750 | BOOL generate(F32 detail=1.0f, S32 split = 0, BOOL is_sculpted = FALSE); |
735 | }; | 751 | }; |
736 | 752 | ||
737 | // Yet another "face" class - caches volume-specific, but not instance-specific data for faces) | 753 | // Yet another "face" class - caches volume-specific, but not instance-specific data for faces) |
@@ -821,7 +837,7 @@ public: | |||
821 | U8 getProfileType() const { return mProfilep->mParams.getCurveType(); } | 837 | U8 getProfileType() const { return mProfilep->mParams.getCurveType(); } |
822 | U8 getPathType() const { return mPathp->mParams.getCurveType(); } | 838 | U8 getPathType() const { return mPathp->mParams.getCurveType(); } |
823 | S32 getNumFaces() const { return (S32)mProfilep->mFaces.size(); } | 839 | S32 getNumFaces() const { return (S32)mProfilep->mFaces.size(); } |
824 | 840 | S32 getNumVolumeFaces() const { return mNumVolumeFaces; } | |
825 | const F32 getDetail() const { return mDetail; } | 841 | const F32 getDetail() const { return mDetail; } |
826 | const LLVolumeParams & getParams() const { return mParams; } | 842 | const LLVolumeParams & getParams() const { return mParams; } |
827 | LLVolumeParams getCopyOfParams() const { return mParams; } | 843 | LLVolumeParams getCopyOfParams() const { return mParams; } |
@@ -839,6 +855,11 @@ public: | |||
839 | BOOL isFlat(S32 face); | 855 | BOOL isFlat(S32 face); |
840 | BOOL isUnique() const { return mUnique; } | 856 | BOOL isUnique() const { return mUnique; } |
841 | 857 | ||
858 | S32 getSculptLevel() const { return mSculptLevel; } | ||
859 | void setSculptLevel(S32 level) { mSculptLevel = level; } | ||
860 | |||
861 | U8 getSculptType() const { return mSculptType; } | ||
862 | |||
842 | S32 *getTriangleIndices(U32 &num_indices) const; | 863 | S32 *getTriangleIndices(U32 &num_indices) const; |
843 | void generateSilhouetteVertices(std::vector<LLVector3> &vertices, std::vector<LLVector3> &normals, std::vector<S32> &segments, const LLVector3& view_vec, | 864 | void generateSilhouetteVertices(std::vector<LLVector3> &vertices, std::vector<LLVector3> &normals, std::vector<S32> &segments, const LLVector3& view_vec, |
844 | const LLMatrix4& mat, | 865 | const LLMatrix4& mat, |
@@ -863,7 +884,7 @@ public: | |||
863 | LLFaceID generateFaceMask(); | 884 | LLFaceID generateFaceMask(); |
864 | 885 | ||
865 | BOOL isFaceMaskValid(LLFaceID face_mask); | 886 | BOOL isFaceMaskValid(LLFaceID face_mask); |
866 | static S32 mNumMeshPoints; | 887 | static S32 sNumMeshPoints; |
867 | 888 | ||
868 | friend std::ostream& operator<<(std::ostream &s, const LLVolume &volume); | 889 | friend std::ostream& operator<<(std::ostream &s, const LLVolume &volume); |
869 | friend std::ostream& operator<<(std::ostream &s, const LLVolume *volumep); // HACK to bypass Windoze confusion over | 890 | friend std::ostream& operator<<(std::ostream &s, const LLVolume *volumep); // HACK to bypass Windoze confusion over |
@@ -872,14 +893,19 @@ public: | |||
872 | 893 | ||
873 | U32 mFaceMask; // bit array of which faces exist in this volume | 894 | U32 mFaceMask; // bit array of which faces exist in this volume |
874 | LLVector3 mLODScaleBias; // vector for biasing LOD based on scale | 895 | LLVector3 mLODScaleBias; // vector for biasing LOD based on scale |
875 | 896 | ||
897 | void sculpt(U16 sculpt_width, U16 sculpt_height, S8 sculpt_components, const U8* sculpt_data, S32 sculpt_level); | ||
898 | |||
876 | protected: | 899 | protected: |
877 | BOOL generate(); | 900 | BOOL generate(); |
878 | void createVolumeFaces(); | 901 | void createVolumeFaces(); |
879 | 902 | ||
880 | protected: | 903 | protected: |
881 | BOOL mUnique; | 904 | BOOL mUnique; |
882 | F32 mDetail; | 905 | F32 mDetail; |
906 | S32 mSculptLevel; | ||
907 | U8 mSculptType; | ||
908 | |||
883 | LLVolumeParams mParams; | 909 | LLVolumeParams mParams; |
884 | LLPath *mPathp; | 910 | LLPath *mPathp; |
885 | LLProfile *mProfilep; | 911 | LLProfile *mProfilep; |
diff --git a/linden/indra/llmessage/llcachename.cpp b/linden/indra/llmessage/llcachename.cpp index 1cc7e09..3df4b82 100644 --- a/linden/indra/llmessage/llcachename.cpp +++ b/linden/indra/llmessage/llcachename.cpp | |||
@@ -528,26 +528,28 @@ void LLCacheName::get(const LLUUID& id, BOOL is_group, LLCacheNameCallback callb | |||
528 | LLCacheNameEntry* entry = get_ptr_in_map(impl.mCache, id ); | 528 | LLCacheNameEntry* entry = get_ptr_in_map(impl.mCache, id ); |
529 | if (entry) | 529 | if (entry) |
530 | { | 530 | { |
531 | if (!entry->mIsGroup) | 531 | // id found in map therefore we can call the callback immediately. |
532 | if (entry->mIsGroup) | ||
532 | { | 533 | { |
533 | callback(id, entry->mFirstName, entry->mLastName, entry->mIsGroup, user_data); | 534 | callback(id, entry->mGroupName, "", entry->mIsGroup, user_data); |
534 | } | 535 | } |
535 | else | 536 | else |
536 | { | 537 | { |
537 | callback(id, entry->mGroupName, "", entry->mIsGroup, user_data); | 538 | callback(id, entry->mFirstName, entry->mLastName, entry->mIsGroup, user_data); |
538 | } | 539 | } |
539 | } | 540 | } |
540 | else | 541 | else |
541 | { | 542 | { |
543 | // id not found in map so we must queue the callback call until available. | ||
542 | if (!impl.isRequestPending(id)) | 544 | if (!impl.isRequestPending(id)) |
543 | { | 545 | { |
544 | if (!is_group) | 546 | if (is_group) |
545 | { | 547 | { |
546 | impl.mAskNameQueue.insert(id); | 548 | impl.mAskGroupQueue.insert(id); |
547 | } | 549 | } |
548 | else | 550 | else |
549 | { | 551 | { |
550 | impl.mAskGroupQueue.insert(id); | 552 | impl.mAskNameQueue.insert(id); |
551 | } | 553 | } |
552 | } | 554 | } |
553 | impl.mReplyQueue.push_back(PendingReply(id, callback, user_data)); | 555 | impl.mReplyQueue.push_back(PendingReply(id, callback, user_data)); |
diff --git a/linden/indra/llmessage/llcurl.cpp b/linden/indra/llmessage/llcurl.cpp index 886697e..9d883a7 100644 --- a/linden/indra/llmessage/llcurl.cpp +++ b/linden/indra/llmessage/llcurl.cpp | |||
@@ -1,10 +1,31 @@ | |||
1 | /* | 1 | /** |
2 | * llcurl.cpp | 2 | * @file llcurl.h |
3 | * MacTester | 3 | * @author Zero / Donovan |
4 | * | 4 | * @date 2006-10-15 |
5 | * Created by Zero Linden on 10/15/06. | 5 | * @brief Curl wrapper |
6 | * Copyright 2006 __MyCompanyName__. All rights reserved. | ||
7 | * | 6 | * |
7 | * Copyright (c) 2006-2007, Linden Research, Inc. | ||
8 | * | ||
9 | * Second Life Viewer Source Code | ||
10 | * The source code in this file ("Source Code") is provided by Linden Lab | ||
11 | * to you under the terms of the GNU General Public License, version 2.0 | ||
12 | * ("GPL"), unless you have obtained a separate licensing agreement | ||
13 | * ("Other License"), formally executed by you and Linden Lab. Terms of | ||
14 | * the GPL can be found in doc/GPL-license.txt in this distribution, or | ||
15 | * online at http://secondlife.com/developers/opensource/gplv2 | ||
16 | * | ||
17 | * There are special exceptions to the terms and conditions of the GPL as | ||
18 | * it is applied to this Source Code. View the full text of the exception | ||
19 | * in the file doc/FLOSS-exception.txt in this software distribution, or | ||
20 | * online at http://secondlife.com/developers/opensource/flossexception | ||
21 | * | ||
22 | * By copying, modifying or distributing this software, you acknowledge | ||
23 | * that you have read and understood your obligations described above, | ||
24 | * and agree to abide by those obligations. | ||
25 | * | ||
26 | * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO | ||
27 | * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, | ||
28 | * COMPLETENESS OR PERFORMANCE. | ||
8 | */ | 29 | */ |
9 | 30 | ||
10 | #include "llcurl.h" | 31 | #include "llcurl.h" |
diff --git a/linden/indra/llmessage/llcurl.h b/linden/indra/llmessage/llcurl.h index 4f1b5e6..e188c38 100644 --- a/linden/indra/llmessage/llcurl.h +++ b/linden/indra/llmessage/llcurl.h | |||
@@ -1,10 +1,31 @@ | |||
1 | /* | 1 | /** |
2 | * llcurl.h | 2 | * @file llcurl.h |
3 | * MacTester | 3 | * @author Zero / Donovan |
4 | * | 4 | * @date 2006-10-15 |
5 | * Created by Zero Linden on 10/15/06. | 5 | * @brief Curl wrapper |
6 | * Copyright 2006 __MyCompanyName__. All rights reserved. | ||
7 | * | 6 | * |
7 | * Copyright (c) 2006-2007, Linden Research, Inc. | ||
8 | * | ||
9 | * Second Life Viewer Source Code | ||
10 | * The source code in this file ("Source Code") is provided by Linden Lab | ||
11 | * to you under the terms of the GNU General Public License, version 2.0 | ||
12 | * ("GPL"), unless you have obtained a separate licensing agreement | ||
13 | * ("Other License"), formally executed by you and Linden Lab. Terms of | ||
14 | * the GPL can be found in doc/GPL-license.txt in this distribution, or | ||
15 | * online at http://secondlife.com/developers/opensource/gplv2 | ||
16 | * | ||
17 | * There are special exceptions to the terms and conditions of the GPL as | ||
18 | * it is applied to this Source Code. View the full text of the exception | ||
19 | * in the file doc/FLOSS-exception.txt in this software distribution, or | ||
20 | * online at http://secondlife.com/developers/opensource/flossexception | ||
21 | * | ||
22 | * By copying, modifying or distributing this software, you acknowledge | ||
23 | * that you have read and understood your obligations described above, | ||
24 | * and agree to abide by those obligations. | ||
25 | * | ||
26 | * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO | ||
27 | * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, | ||
28 | * COMPLETENESS OR PERFORMANCE. | ||
8 | */ | 29 | */ |
9 | 30 | ||
10 | #ifndef LL_LLCURL_H | 31 | #ifndef LL_LLCURL_H |
diff --git a/linden/indra/llmessage/llmessage_vc8.vcproj b/linden/indra/llmessage/llmessage_vc8.vcproj index ac32525..9692930 100644 --- a/linden/indra/llmessage/llmessage_vc8.vcproj +++ b/linden/indra/llmessage/llmessage_vc8.vcproj | |||
@@ -295,6 +295,10 @@ | |||
295 | > | 295 | > |
296 | </File> | 296 | </File> |
297 | <File | 297 | <File |
298 | RelativePath=".\llhttpsender.cpp" | ||
299 | > | ||
300 | </File> | ||
301 | <File | ||
298 | RelativePath=".\llinstantmessage.cpp" | 302 | RelativePath=".\llinstantmessage.cpp" |
299 | > | 303 | > |
300 | </File> | 304 | </File> |
@@ -327,6 +331,22 @@ | |||
327 | > | 331 | > |
328 | </File> | 332 | </File> |
329 | <File | 333 | <File |
334 | RelativePath=".\llmessagebuilder.cpp" | ||
335 | > | ||
336 | </File> | ||
337 | <File | ||
338 | RelativePath=".\llmessageconfig.cpp" | ||
339 | > | ||
340 | </File> | ||
341 | <File | ||
342 | RelativePath=".\llmessagereader.cpp" | ||
343 | > | ||
344 | </File> | ||
345 | <File | ||
346 | RelativePath=".\llmessagetemplate.cpp" | ||
347 | > | ||
348 | </File> | ||
349 | <File | ||
330 | RelativePath=".\llmessagethrottle.cpp" | 350 | RelativePath=".\llmessagethrottle.cpp" |
331 | > | 351 | > |
332 | </File> | 352 | </File> |
@@ -367,7 +387,11 @@ | |||
367 | > | 387 | > |
368 | </File> | 388 | </File> |
369 | <File | 389 | <File |
370 | RelativePath=".\llsdmessagesystem.cpp" | 390 | RelativePath=".\llsdmessagebuilder.cpp" |
391 | > | ||
392 | </File> | ||
393 | <File | ||
394 | RelativePath=".\llsdmessagereader.cpp" | ||
371 | > | 395 | > |
372 | </File> | 396 | </File> |
373 | <File | 397 | <File |
@@ -383,6 +407,18 @@ | |||
383 | > | 407 | > |
384 | </File> | 408 | </File> |
385 | <File | 409 | <File |
410 | RelativePath=".\llservicebuilder.cpp" | ||
411 | > | ||
412 | </File> | ||
413 | <File | ||
414 | RelativePath=".\lltemplatemessagebuilder.cpp" | ||
415 | > | ||
416 | </File> | ||
417 | <File | ||
418 | RelativePath=".\lltemplatemessagereader.cpp" | ||
419 | > | ||
420 | </File> | ||
421 | <File | ||
386 | RelativePath=".\llthrottle.cpp" | 422 | RelativePath=".\llthrottle.cpp" |
387 | > | 423 | > |
388 | </File> | 424 | </File> |
@@ -573,6 +609,14 @@ | |||
573 | > | 609 | > |
574 | </File> | 610 | </File> |
575 | <File | 611 | <File |
612 | RelativePath=".\llhttpnode.h" | ||
613 | > | ||
614 | </File> | ||
615 | <File | ||
616 | RelativePath=".\llhttpsender.h" | ||
617 | > | ||
618 | </File> | ||
619 | <File | ||
576 | RelativePath=".\llinstantmessage.h" | 620 | RelativePath=".\llinstantmessage.h" |
577 | > | 621 | > |
578 | </File> | 622 | </File> |
@@ -617,6 +661,22 @@ | |||
617 | > | 661 | > |
618 | </File> | 662 | </File> |
619 | <File | 663 | <File |
664 | RelativePath=".\llmessagebuilder.h" | ||
665 | > | ||
666 | </File> | ||
667 | <File | ||
668 | RelativePath=".\llmessageconfig.h" | ||
669 | > | ||
670 | </File> | ||
671 | <File | ||
672 | RelativePath=".\llmessagereader.h" | ||
673 | > | ||
674 | </File> | ||
675 | <File | ||
676 | RelativePath=".\llmessagetemplate.h" | ||
677 | > | ||
678 | </File> | ||
679 | <File | ||
620 | RelativePath=".\llmessagethrottle.h" | 680 | RelativePath=".\llmessagethrottle.h" |
621 | > | 681 | > |
622 | </File> | 682 | </File> |
@@ -673,7 +733,11 @@ | |||
673 | > | 733 | > |
674 | </File> | 734 | </File> |
675 | <File | 735 | <File |
676 | RelativePath=".\llsdmessagesystem.h" | 736 | RelativePath=".\llsdmessagebuilder.h" |
737 | > | ||
738 | </File> | ||
739 | <File | ||
740 | RelativePath=".\llsdmessagereader.h" | ||
677 | > | 741 | > |
678 | </File> | 742 | </File> |
679 | <File | 743 | <File |
@@ -689,6 +753,10 @@ | |||
689 | > | 753 | > |
690 | </File> | 754 | </File> |
691 | <File | 755 | <File |
756 | RelativePath=".\llservicebuilder.h" | ||
757 | > | ||
758 | </File> | ||
759 | <File | ||
692 | RelativePath=".\lltaskname.h" | 760 | RelativePath=".\lltaskname.h" |
693 | > | 761 | > |
694 | </File> | 762 | </File> |
@@ -697,6 +765,14 @@ | |||
697 | > | 765 | > |
698 | </File> | 766 | </File> |
699 | <File | 767 | <File |
768 | RelativePath=".\lltemplatemessagebuilder.h" | ||
769 | > | ||
770 | </File> | ||
771 | <File | ||
772 | RelativePath=".\lltemplatemessagereader.h" | ||
773 | > | ||
774 | </File> | ||
775 | <File | ||
700 | RelativePath=".\llthrottle.h" | 776 | RelativePath=".\llthrottle.h" |
701 | > | 777 | > |
702 | </File> | 778 | </File> |
diff --git a/linden/indra/llmessage/lluseroperation.h b/linden/indra/llmessage/lluseroperation.h index 325567c..2b351f9 100644 --- a/linden/indra/llmessage/lluseroperation.h +++ b/linden/indra/llmessage/lluseroperation.h | |||
@@ -1,7 +1,7 @@ | |||
1 | /** | 1 | /** |
2 | * @file lluseroperation.h | 2 | * @file lluseroperation.h |
3 | * @brief LLUserOperation class header file - used for message based | 3 | * @brief LLUserOperation class header file - used for message based |
4 | * transaction. For example, money transactions. | 4 | * transaction. For example, L$ transactions. |
5 | * | 5 | * |
6 | * Copyright (c) 2002-2007, Linden Research, Inc. | 6 | * Copyright (c) 2002-2007, Linden Research, Inc. |
7 | * | 7 | * |
diff --git a/linden/indra/llmessage/message_prehash.cpp b/linden/indra/llmessage/message_prehash.cpp index 39b3737..3e26726 100644 --- a/linden/indra/llmessage/message_prehash.cpp +++ b/linden/indra/llmessage/message_prehash.cpp | |||
@@ -554,8 +554,8 @@ char * _PREHASH_ReturnIDs; | |||
554 | char * _PREHASH_Date; | 554 | char * _PREHASH_Date; |
555 | char * _PREHASH_AgentWearablesUpdate; | 555 | char * _PREHASH_AgentWearablesUpdate; |
556 | char * _PREHASH_AgentDataUpdate; | 556 | char * _PREHASH_AgentDataUpdate; |
557 | char * _PREHASH_Hash; | ||
558 | char * _PREHASH_GroupDataUpdate; | 557 | char * _PREHASH_GroupDataUpdate; |
558 | char * _PREHASH_Hash; | ||
559 | char * _PREHASH_AgentGroupDataUpdate; | 559 | char * _PREHASH_AgentGroupDataUpdate; |
560 | char * _PREHASH_Left; | 560 | char * _PREHASH_Left; |
561 | char * _PREHASH_Mask; | 561 | char * _PREHASH_Mask; |
@@ -683,7 +683,6 @@ char * _PREHASH_CreateNewOutfitAttachments; | |||
683 | char * _PREHASH_RegionHandle; | 683 | char * _PREHASH_RegionHandle; |
684 | char * _PREHASH_TeleportProgress; | 684 | char * _PREHASH_TeleportProgress; |
685 | char * _PREHASH_AgentQuitCopy; | 685 | char * _PREHASH_AgentQuitCopy; |
686 | char * _PREHASH_ToViewer; | ||
687 | char * _PREHASH_AvatarInterestsUpdate; | 686 | char * _PREHASH_AvatarInterestsUpdate; |
688 | char * _PREHASH_GroupNoticeID; | 687 | char * _PREHASH_GroupNoticeID; |
689 | char * _PREHASH_ParcelName; | 688 | char * _PREHASH_ParcelName; |
@@ -742,6 +741,7 @@ char * _PREHASH_LogoutReply; | |||
742 | char * _PREHASH_FeatureDisabled; | 741 | char * _PREHASH_FeatureDisabled; |
743 | char * _PREHASH_ObjectLocalID; | 742 | char * _PREHASH_ObjectLocalID; |
744 | char * _PREHASH_Dropped; | 743 | char * _PREHASH_Dropped; |
744 | char * _PREHASH_PhysicalAvatarEventList; | ||
745 | char * _PREHASH_WebProfilesDisabled; | 745 | char * _PREHASH_WebProfilesDisabled; |
746 | char * _PREHASH_Destination; | 746 | char * _PREHASH_Destination; |
747 | char * _PREHASH_MasterID; | 747 | char * _PREHASH_MasterID; |
@@ -1015,7 +1015,6 @@ char * _PREHASH_TrackAgentSession; | |||
1015 | char * _PREHASH_CacheMissType; | 1015 | char * _PREHASH_CacheMissType; |
1016 | char * _PREHASH_VFileID; | 1016 | char * _PREHASH_VFileID; |
1017 | char * _PREHASH_GroupInsigniaID; | 1017 | char * _PREHASH_GroupInsigniaID; |
1018 | char * _PREHASH_FromID; | ||
1019 | char * _PREHASH_Online; | 1018 | char * _PREHASH_Online; |
1020 | char * _PREHASH_KickFlags; | 1019 | char * _PREHASH_KickFlags; |
1021 | char * _PREHASH_CovenantID; | 1020 | char * _PREHASH_CovenantID; |
@@ -1199,7 +1198,6 @@ char * _PREHASH_EventData; | |||
1199 | char * _PREHASH_Final; | 1198 | char * _PREHASH_Final; |
1200 | char * _PREHASH_TelehubPos; | 1199 | char * _PREHASH_TelehubPos; |
1201 | char * _PREHASH_ReportAutosaveCrash; | 1200 | char * _PREHASH_ReportAutosaveCrash; |
1202 | char * _PREHASH_Reset; | ||
1203 | char * _PREHASH_CreateTrustedCircuit; | 1201 | char * _PREHASH_CreateTrustedCircuit; |
1204 | char * _PREHASH_DenyTrustedCircuit; | 1202 | char * _PREHASH_DenyTrustedCircuit; |
1205 | char * _PREHASH_RequestTrustedCircuit; | 1203 | char * _PREHASH_RequestTrustedCircuit; |
@@ -1382,7 +1380,6 @@ char * _PREHASH_SimulatorPublicHostBlock; | |||
1382 | char * _PREHASH_HeaderData; | 1380 | char * _PREHASH_HeaderData; |
1383 | char * _PREHASH_RequestMultipleObjects; | 1381 | char * _PREHASH_RequestMultipleObjects; |
1384 | char * _PREHASH_RetrieveInstantMessages; | 1382 | char * _PREHASH_RetrieveInstantMessages; |
1385 | char * _PREHASH_DequeueInstantMessages; | ||
1386 | char * _PREHASH_OpenCircuit; | 1383 | char * _PREHASH_OpenCircuit; |
1387 | char * _PREHASH_SecureSessionID; | 1384 | char * _PREHASH_SecureSessionID; |
1388 | char * _PREHASH_CrossedRegion; | 1385 | char * _PREHASH_CrossedRegion; |
@@ -2020,8 +2017,8 @@ void init_prehash_data() | |||
2020 | _PREHASH_Date = gMessageStringTable.getString("Date"); | 2017 | _PREHASH_Date = gMessageStringTable.getString("Date"); |
2021 | _PREHASH_AgentWearablesUpdate = gMessageStringTable.getString("AgentWearablesUpdate"); | 2018 | _PREHASH_AgentWearablesUpdate = gMessageStringTable.getString("AgentWearablesUpdate"); |
2022 | _PREHASH_AgentDataUpdate = gMessageStringTable.getString("AgentDataUpdate"); | 2019 | _PREHASH_AgentDataUpdate = gMessageStringTable.getString("AgentDataUpdate"); |
2023 | _PREHASH_Hash = gMessageStringTable.getString("Hash"); | ||
2024 | _PREHASH_GroupDataUpdate = gMessageStringTable.getString("GroupDataUpdate"); | 2020 | _PREHASH_GroupDataUpdate = gMessageStringTable.getString("GroupDataUpdate"); |
2021 | _PREHASH_Hash = gMessageStringTable.getString("Hash"); | ||
2025 | _PREHASH_AgentGroupDataUpdate = gMessageStringTable.getString("AgentGroupDataUpdate"); | 2022 | _PREHASH_AgentGroupDataUpdate = gMessageStringTable.getString("AgentGroupDataUpdate"); |
2026 | _PREHASH_Left = gMessageStringTable.getString("Left"); | 2023 | _PREHASH_Left = gMessageStringTable.getString("Left"); |
2027 | _PREHASH_Mask = gMessageStringTable.getString("Mask"); | 2024 | _PREHASH_Mask = gMessageStringTable.getString("Mask"); |
@@ -2149,7 +2146,6 @@ void init_prehash_data() | |||
2149 | _PREHASH_RegionHandle = gMessageStringTable.getString("RegionHandle"); | 2146 | _PREHASH_RegionHandle = gMessageStringTable.getString("RegionHandle"); |
2150 | _PREHASH_TeleportProgress = gMessageStringTable.getString("TeleportProgress"); | 2147 | _PREHASH_TeleportProgress = gMessageStringTable.getString("TeleportProgress"); |
2151 | _PREHASH_AgentQuitCopy = gMessageStringTable.getString("AgentQuitCopy"); | 2148 | _PREHASH_AgentQuitCopy = gMessageStringTable.getString("AgentQuitCopy"); |
2152 | _PREHASH_ToViewer = gMessageStringTable.getString("ToViewer"); | ||
2153 | _PREHASH_AvatarInterestsUpdate = gMessageStringTable.getString("AvatarInterestsUpdate"); | 2149 | _PREHASH_AvatarInterestsUpdate = gMessageStringTable.getString("AvatarInterestsUpdate"); |
2154 | _PREHASH_GroupNoticeID = gMessageStringTable.getString("GroupNoticeID"); | 2150 | _PREHASH_GroupNoticeID = gMessageStringTable.getString("GroupNoticeID"); |
2155 | _PREHASH_ParcelName = gMessageStringTable.getString("ParcelName"); | 2151 | _PREHASH_ParcelName = gMessageStringTable.getString("ParcelName"); |
@@ -2208,6 +2204,7 @@ void init_prehash_data() | |||
2208 | _PREHASH_FeatureDisabled = gMessageStringTable.getString("FeatureDisabled"); | 2204 | _PREHASH_FeatureDisabled = gMessageStringTable.getString("FeatureDisabled"); |
2209 | _PREHASH_ObjectLocalID = gMessageStringTable.getString("ObjectLocalID"); | 2205 | _PREHASH_ObjectLocalID = gMessageStringTable.getString("ObjectLocalID"); |
2210 | _PREHASH_Dropped = gMessageStringTable.getString("Dropped"); | 2206 | _PREHASH_Dropped = gMessageStringTable.getString("Dropped"); |
2207 | _PREHASH_PhysicalAvatarEventList = gMessageStringTable.getString("PhysicalAvatarEventList"); | ||
2211 | _PREHASH_WebProfilesDisabled = gMessageStringTable.getString("WebProfilesDisabled"); | 2208 | _PREHASH_WebProfilesDisabled = gMessageStringTable.getString("WebProfilesDisabled"); |
2212 | _PREHASH_Destination = gMessageStringTable.getString("Destination"); | 2209 | _PREHASH_Destination = gMessageStringTable.getString("Destination"); |
2213 | _PREHASH_MasterID = gMessageStringTable.getString("MasterID"); | 2210 | _PREHASH_MasterID = gMessageStringTable.getString("MasterID"); |
@@ -2481,7 +2478,6 @@ void init_prehash_data() | |||
2481 | _PREHASH_CacheMissType = gMessageStringTable.getString("CacheMissType"); | 2478 | _PREHASH_CacheMissType = gMessageStringTable.getString("CacheMissType"); |
2482 | _PREHASH_VFileID = gMessageStringTable.getString("VFileID"); | 2479 | _PREHASH_VFileID = gMessageStringTable.getString("VFileID"); |
2483 | _PREHASH_GroupInsigniaID = gMessageStringTable.getString("GroupInsigniaID"); | 2480 | _PREHASH_GroupInsigniaID = gMessageStringTable.getString("GroupInsigniaID"); |
2484 | _PREHASH_FromID = gMessageStringTable.getString("FromID"); | ||
2485 | _PREHASH_Online = gMessageStringTable.getString("Online"); | 2481 | _PREHASH_Online = gMessageStringTable.getString("Online"); |
2486 | _PREHASH_KickFlags = gMessageStringTable.getString("KickFlags"); | 2482 | _PREHASH_KickFlags = gMessageStringTable.getString("KickFlags"); |
2487 | _PREHASH_CovenantID = gMessageStringTable.getString("CovenantID"); | 2483 | _PREHASH_CovenantID = gMessageStringTable.getString("CovenantID"); |
@@ -2665,7 +2661,6 @@ void init_prehash_data() | |||
2665 | _PREHASH_Final = gMessageStringTable.getString("Final"); | 2661 | _PREHASH_Final = gMessageStringTable.getString("Final"); |
2666 | _PREHASH_TelehubPos = gMessageStringTable.getString("TelehubPos"); | 2662 | _PREHASH_TelehubPos = gMessageStringTable.getString("TelehubPos"); |
2667 | _PREHASH_ReportAutosaveCrash = gMessageStringTable.getString("ReportAutosaveCrash"); | 2663 | _PREHASH_ReportAutosaveCrash = gMessageStringTable.getString("ReportAutosaveCrash"); |
2668 | _PREHASH_Reset = gMessageStringTable.getString("Reset"); | ||
2669 | _PREHASH_CreateTrustedCircuit = gMessageStringTable.getString("CreateTrustedCircuit"); | 2664 | _PREHASH_CreateTrustedCircuit = gMessageStringTable.getString("CreateTrustedCircuit"); |
2670 | _PREHASH_DenyTrustedCircuit = gMessageStringTable.getString("DenyTrustedCircuit"); | 2665 | _PREHASH_DenyTrustedCircuit = gMessageStringTable.getString("DenyTrustedCircuit"); |
2671 | _PREHASH_RequestTrustedCircuit = gMessageStringTable.getString("RequestTrustedCircuit"); | 2666 | _PREHASH_RequestTrustedCircuit = gMessageStringTable.getString("RequestTrustedCircuit"); |
@@ -2848,7 +2843,6 @@ void init_prehash_data() | |||
2848 | _PREHASH_HeaderData = gMessageStringTable.getString("HeaderData"); | 2843 | _PREHASH_HeaderData = gMessageStringTable.getString("HeaderData"); |
2849 | _PREHASH_RequestMultipleObjects = gMessageStringTable.getString("RequestMultipleObjects"); | 2844 | _PREHASH_RequestMultipleObjects = gMessageStringTable.getString("RequestMultipleObjects"); |
2850 | _PREHASH_RetrieveInstantMessages = gMessageStringTable.getString("RetrieveInstantMessages"); | 2845 | _PREHASH_RetrieveInstantMessages = gMessageStringTable.getString("RetrieveInstantMessages"); |
2851 | _PREHASH_DequeueInstantMessages = gMessageStringTable.getString("DequeueInstantMessages"); | ||
2852 | _PREHASH_OpenCircuit = gMessageStringTable.getString("OpenCircuit"); | 2846 | _PREHASH_OpenCircuit = gMessageStringTable.getString("OpenCircuit"); |
2853 | _PREHASH_SecureSessionID = gMessageStringTable.getString("SecureSessionID"); | 2847 | _PREHASH_SecureSessionID = gMessageStringTable.getString("SecureSessionID"); |
2854 | _PREHASH_CrossedRegion = gMessageStringTable.getString("CrossedRegion"); | 2848 | _PREHASH_CrossedRegion = gMessageStringTable.getString("CrossedRegion"); |
diff --git a/linden/indra/llmessage/message_prehash.h b/linden/indra/llmessage/message_prehash.h index 84c769e..06a8a9c 100644 --- a/linden/indra/llmessage/message_prehash.h +++ b/linden/indra/llmessage/message_prehash.h | |||
@@ -554,8 +554,8 @@ extern char * _PREHASH_ReturnIDs; | |||
554 | extern char * _PREHASH_Date; | 554 | extern char * _PREHASH_Date; |
555 | extern char * _PREHASH_AgentWearablesUpdate; | 555 | extern char * _PREHASH_AgentWearablesUpdate; |
556 | extern char * _PREHASH_AgentDataUpdate; | 556 | extern char * _PREHASH_AgentDataUpdate; |
557 | extern char * _PREHASH_Hash; | ||
558 | extern char * _PREHASH_GroupDataUpdate; | 557 | extern char * _PREHASH_GroupDataUpdate; |
558 | extern char * _PREHASH_Hash; | ||
559 | extern char * _PREHASH_AgentGroupDataUpdate; | 559 | extern char * _PREHASH_AgentGroupDataUpdate; |
560 | extern char * _PREHASH_Left; | 560 | extern char * _PREHASH_Left; |
561 | extern char * _PREHASH_Mask; | 561 | extern char * _PREHASH_Mask; |
@@ -683,7 +683,6 @@ extern char * _PREHASH_CreateNewOutfitAttachments; | |||
683 | extern char * _PREHASH_RegionHandle; | 683 | extern char * _PREHASH_RegionHandle; |
684 | extern char * _PREHASH_TeleportProgress; | 684 | extern char * _PREHASH_TeleportProgress; |
685 | extern char * _PREHASH_AgentQuitCopy; | 685 | extern char * _PREHASH_AgentQuitCopy; |
686 | extern char * _PREHASH_ToViewer; | ||
687 | extern char * _PREHASH_AvatarInterestsUpdate; | 686 | extern char * _PREHASH_AvatarInterestsUpdate; |
688 | extern char * _PREHASH_GroupNoticeID; | 687 | extern char * _PREHASH_GroupNoticeID; |
689 | extern char * _PREHASH_ParcelName; | 688 | extern char * _PREHASH_ParcelName; |
@@ -742,6 +741,7 @@ extern char * _PREHASH_LogoutReply; | |||
742 | extern char * _PREHASH_FeatureDisabled; | 741 | extern char * _PREHASH_FeatureDisabled; |
743 | extern char * _PREHASH_ObjectLocalID; | 742 | extern char * _PREHASH_ObjectLocalID; |
744 | extern char * _PREHASH_Dropped; | 743 | extern char * _PREHASH_Dropped; |
744 | extern char * _PREHASH_PhysicalAvatarEventList; | ||
745 | extern char * _PREHASH_WebProfilesDisabled; | 745 | extern char * _PREHASH_WebProfilesDisabled; |
746 | extern char * _PREHASH_Destination; | 746 | extern char * _PREHASH_Destination; |
747 | extern char * _PREHASH_MasterID; | 747 | extern char * _PREHASH_MasterID; |
@@ -1015,7 +1015,6 @@ extern char * _PREHASH_TrackAgentSession; | |||
1015 | extern char * _PREHASH_CacheMissType; | 1015 | extern char * _PREHASH_CacheMissType; |
1016 | extern char * _PREHASH_VFileID; | 1016 | extern char * _PREHASH_VFileID; |
1017 | extern char * _PREHASH_GroupInsigniaID; | 1017 | extern char * _PREHASH_GroupInsigniaID; |
1018 | extern char * _PREHASH_FromID; | ||
1019 | extern char * _PREHASH_Online; | 1018 | extern char * _PREHASH_Online; |
1020 | extern char * _PREHASH_KickFlags; | 1019 | extern char * _PREHASH_KickFlags; |
1021 | extern char * _PREHASH_CovenantID; | 1020 | extern char * _PREHASH_CovenantID; |
@@ -1199,7 +1198,6 @@ extern char * _PREHASH_EventData; | |||
1199 | extern char * _PREHASH_Final; | 1198 | extern char * _PREHASH_Final; |
1200 | extern char * _PREHASH_TelehubPos; | 1199 | extern char * _PREHASH_TelehubPos; |
1201 | extern char * _PREHASH_ReportAutosaveCrash; | 1200 | extern char * _PREHASH_ReportAutosaveCrash; |
1202 | extern char * _PREHASH_Reset; | ||
1203 | extern char * _PREHASH_CreateTrustedCircuit; | 1201 | extern char * _PREHASH_CreateTrustedCircuit; |
1204 | extern char * _PREHASH_DenyTrustedCircuit; | 1202 | extern char * _PREHASH_DenyTrustedCircuit; |
1205 | extern char * _PREHASH_RequestTrustedCircuit; | 1203 | extern char * _PREHASH_RequestTrustedCircuit; |
@@ -1382,7 +1380,6 @@ extern char * _PREHASH_SimulatorPublicHostBlock; | |||
1382 | extern char * _PREHASH_HeaderData; | 1380 | extern char * _PREHASH_HeaderData; |
1383 | extern char * _PREHASH_RequestMultipleObjects; | 1381 | extern char * _PREHASH_RequestMultipleObjects; |
1384 | extern char * _PREHASH_RetrieveInstantMessages; | 1382 | extern char * _PREHASH_RetrieveInstantMessages; |
1385 | extern char * _PREHASH_DequeueInstantMessages; | ||
1386 | extern char * _PREHASH_OpenCircuit; | 1383 | extern char * _PREHASH_OpenCircuit; |
1387 | extern char * _PREHASH_SecureSessionID; | 1384 | extern char * _PREHASH_SecureSessionID; |
1388 | extern char * _PREHASH_CrossedRegion; | 1385 | extern char * _PREHASH_CrossedRegion; |
diff --git a/linden/indra/llprimitive/llprimitive.cpp b/linden/indra/llprimitive/llprimitive.cpp index 9ab44f7..1dfc570 100644 --- a/linden/indra/llprimitive/llprimitive.cpp +++ b/linden/indra/llprimitive/llprimitive.cpp | |||
@@ -107,6 +107,9 @@ const BOOL FLEXIBLE_OBJECT_DEFAULT_USING_COLLISION_SPHERE = FALSE; | |||
107 | const BOOL FLEXIBLE_OBJECT_DEFAULT_RENDERING_COLLISION_SPHERE = FALSE; | 107 | const BOOL FLEXIBLE_OBJECT_DEFAULT_RENDERING_COLLISION_SPHERE = FALSE; |
108 | 108 | ||
109 | 109 | ||
110 | const char *SCULPT_DEFAULT_TEXTURE = "be293869-d0d9-0a69-5989-ad27f1946fd4"; // old inverted texture: "7595d345-a24c-e7ef-f0bd-78793792133e"; | ||
111 | |||
112 | |||
110 | //=============================================================== | 113 | //=============================================================== |
111 | LLPrimitive::LLPrimitive() | 114 | LLPrimitive::LLPrimitive() |
112 | { | 115 | { |
@@ -511,6 +514,18 @@ S32 LLPrimitive::setTEMediaFlags(const U8 te, const U8 media_flags) | |||
511 | return mTextureList[te].setMediaFlags( media_flags ); | 514 | return mTextureList[te].setMediaFlags( media_flags ); |
512 | } | 515 | } |
513 | 516 | ||
517 | S32 LLPrimitive::setTEGlow(const U8 te, const F32 glow) | ||
518 | { | ||
519 | // if we're asking for a non-existent face, return null | ||
520 | if (te >= mNumTEs) | ||
521 | { | ||
522 | llwarns << "setting non-existent te " << te << llendl | ||
523 | return 0; | ||
524 | } | ||
525 | |||
526 | return mTextureList[te].setGlow( glow ); | ||
527 | } | ||
528 | |||
514 | 529 | ||
515 | LLPCode LLPrimitive::legacyToPCode(const U8 legacy) | 530 | LLPCode LLPrimitive::legacyToPCode(const U8 legacy) |
516 | { | 531 | { |
@@ -1292,7 +1307,8 @@ BOOL LLPrimitive::packTEMessage(LLMessageSystem *mesgsys) const | |||
1292 | S16 image_rot[MAX_TES]; | 1307 | S16 image_rot[MAX_TES]; |
1293 | U8 bump[MAX_TES]; | 1308 | U8 bump[MAX_TES]; |
1294 | U8 media_flags[MAX_TES]; | 1309 | U8 media_flags[MAX_TES]; |
1295 | 1310 | U8 glow[MAX_TES]; | |
1311 | |||
1296 | const U32 MAX_TE_BUFFER = 4096; | 1312 | const U32 MAX_TE_BUFFER = 4096; |
1297 | U8 packed_buffer[MAX_TE_BUFFER]; | 1313 | U8 packed_buffer[MAX_TE_BUFFER]; |
1298 | U8 *cur_ptr = packed_buffer; | 1314 | U8 *cur_ptr = packed_buffer; |
@@ -1328,7 +1344,7 @@ BOOL LLPrimitive::packTEMessage(LLMessageSystem *mesgsys) const | |||
1328 | image_rot[face_index] = (S16) llround(((fmod(te->mRotation, F_TWO_PI)/F_TWO_PI) * (F32)0x7FFF)); | 1344 | image_rot[face_index] = (S16) llround(((fmod(te->mRotation, F_TWO_PI)/F_TWO_PI) * (F32)0x7FFF)); |
1329 | bump[face_index] = te->getBumpShinyFullbright(); | 1345 | bump[face_index] = te->getBumpShinyFullbright(); |
1330 | media_flags[face_index] = te->getMediaTexGen(); | 1346 | media_flags[face_index] = te->getMediaTexGen(); |
1331 | // llinfos << "BUMP pack [" << (S32)face_index << "]=" << (S32) bump[face_index] << llendl; | 1347 | glow[face_index] = (U8) llround((llclamp(te->getGlow(), 0.0f, 1.0f) * (F32)0xFF)); |
1332 | } | 1348 | } |
1333 | 1349 | ||
1334 | cur_ptr += packTEField(cur_ptr, (U8 *)image_ids, sizeof(LLUUID),last_face_index, MVT_LLUUID); | 1350 | cur_ptr += packTEField(cur_ptr, (U8 *)image_ids, sizeof(LLUUID),last_face_index, MVT_LLUUID); |
@@ -1348,6 +1364,8 @@ BOOL LLPrimitive::packTEMessage(LLMessageSystem *mesgsys) const | |||
1348 | cur_ptr += packTEField(cur_ptr, (U8 *)bump, 1 ,last_face_index, MVT_U8); | 1364 | cur_ptr += packTEField(cur_ptr, (U8 *)bump, 1 ,last_face_index, MVT_U8); |
1349 | *cur_ptr++ = 0; | 1365 | *cur_ptr++ = 0; |
1350 | cur_ptr += packTEField(cur_ptr, (U8 *)media_flags, 1 ,last_face_index, MVT_U8); | 1366 | cur_ptr += packTEField(cur_ptr, (U8 *)media_flags, 1 ,last_face_index, MVT_U8); |
1367 | *cur_ptr++ = 0; | ||
1368 | cur_ptr += packTEField(cur_ptr, (U8 *)glow, 1 ,last_face_index, MVT_U8); | ||
1351 | } | 1369 | } |
1352 | mesgsys->addBinaryDataFast(_PREHASH_TextureEntry, packed_buffer, (S32)(cur_ptr - packed_buffer)); | 1370 | mesgsys->addBinaryDataFast(_PREHASH_TextureEntry, packed_buffer, (S32)(cur_ptr - packed_buffer)); |
1353 | 1371 | ||
@@ -1368,7 +1386,8 @@ BOOL LLPrimitive::packTEMessage(LLDataPacker &dp) const | |||
1368 | S16 image_rot[MAX_TES]; | 1386 | S16 image_rot[MAX_TES]; |
1369 | U8 bump[MAX_TES]; | 1387 | U8 bump[MAX_TES]; |
1370 | U8 media_flags[MAX_TES]; | 1388 | U8 media_flags[MAX_TES]; |
1371 | 1389 | U8 glow[MAX_TES]; | |
1390 | |||
1372 | const U32 MAX_TE_BUFFER = 4096; | 1391 | const U32 MAX_TE_BUFFER = 4096; |
1373 | U8 packed_buffer[MAX_TE_BUFFER]; | 1392 | U8 packed_buffer[MAX_TE_BUFFER]; |
1374 | U8 *cur_ptr = packed_buffer; | 1393 | U8 *cur_ptr = packed_buffer; |
@@ -1404,8 +1423,7 @@ BOOL LLPrimitive::packTEMessage(LLDataPacker &dp) const | |||
1404 | image_rot[face_index] = (S16) llround(((fmod(te->mRotation, F_TWO_PI)/F_TWO_PI) * (F32)0x7FFF)); | 1423 | image_rot[face_index] = (S16) llround(((fmod(te->mRotation, F_TWO_PI)/F_TWO_PI) * (F32)0x7FFF)); |
1405 | bump[face_index] = te->getBumpShinyFullbright(); | 1424 | bump[face_index] = te->getBumpShinyFullbright(); |
1406 | media_flags[face_index] = te->getMediaTexGen(); | 1425 | media_flags[face_index] = te->getMediaTexGen(); |
1407 | 1426 | glow[face_index] = (U8) llround((llclamp(te->getGlow(), 0.0f, 1.0f) * (F32)0xFF)); | |
1408 | // llinfos << "BUMP pack (Datapacker) [" << (S32)face_index << "]=" << (S32) bump[face_index] << llendl; | ||
1409 | } | 1427 | } |
1410 | 1428 | ||
1411 | cur_ptr += packTEField(cur_ptr, (U8 *)image_ids, sizeof(LLUUID),last_face_index, MVT_LLUUID); | 1429 | cur_ptr += packTEField(cur_ptr, (U8 *)image_ids, sizeof(LLUUID),last_face_index, MVT_LLUUID); |
@@ -1425,6 +1443,8 @@ BOOL LLPrimitive::packTEMessage(LLDataPacker &dp) const | |||
1425 | cur_ptr += packTEField(cur_ptr, (U8 *)bump, 1 ,last_face_index, MVT_U8); | 1443 | cur_ptr += packTEField(cur_ptr, (U8 *)bump, 1 ,last_face_index, MVT_U8); |
1426 | *cur_ptr++ = 0; | 1444 | *cur_ptr++ = 0; |
1427 | cur_ptr += packTEField(cur_ptr, (U8 *)media_flags, 1 ,last_face_index, MVT_U8); | 1445 | cur_ptr += packTEField(cur_ptr, (U8 *)media_flags, 1 ,last_face_index, MVT_U8); |
1446 | *cur_ptr++ = 0; | ||
1447 | cur_ptr += packTEField(cur_ptr, (U8 *)glow, 1 ,last_face_index, MVT_U8); | ||
1428 | } | 1448 | } |
1429 | 1449 | ||
1430 | dp.packBinaryData(packed_buffer, (S32)(cur_ptr - packed_buffer), "TextureEntry"); | 1450 | dp.packBinaryData(packed_buffer, (S32)(cur_ptr - packed_buffer), "TextureEntry"); |
@@ -1453,7 +1473,8 @@ S32 LLPrimitive::unpackTEMessage(LLMessageSystem *mesgsys, char *block_name, con | |||
1453 | S16 image_rot[MAX_TES]; | 1473 | S16 image_rot[MAX_TES]; |
1454 | U8 bump[MAX_TES]; | 1474 | U8 bump[MAX_TES]; |
1455 | U8 media_flags[MAX_TES]; | 1475 | U8 media_flags[MAX_TES]; |
1456 | 1476 | U8 glow[MAX_TES]; | |
1477 | |||
1457 | const U32 MAX_TE_BUFFER = 4096; | 1478 | const U32 MAX_TE_BUFFER = 4096; |
1458 | U8 packed_buffer[MAX_TE_BUFFER]; | 1479 | U8 packed_buffer[MAX_TE_BUFFER]; |
1459 | U8 *cur_ptr = packed_buffer; | 1480 | U8 *cur_ptr = packed_buffer; |
@@ -1503,7 +1524,9 @@ S32 LLPrimitive::unpackTEMessage(LLMessageSystem *mesgsys, char *block_name, con | |||
1503 | cur_ptr += unpackTEField(cur_ptr, packed_buffer+size, (U8 *)bump, 1, face_count, MVT_U8); | 1524 | cur_ptr += unpackTEField(cur_ptr, packed_buffer+size, (U8 *)bump, 1, face_count, MVT_U8); |
1504 | cur_ptr++; | 1525 | cur_ptr++; |
1505 | cur_ptr += unpackTEField(cur_ptr, packed_buffer+size, (U8 *)media_flags, 1, face_count, MVT_U8); | 1526 | cur_ptr += unpackTEField(cur_ptr, packed_buffer+size, (U8 *)media_flags, 1, face_count, MVT_U8); |
1506 | 1527 | cur_ptr++; | |
1528 | cur_ptr += unpackTEField(cur_ptr, packed_buffer+size, (U8 *)glow, 1, face_count, MVT_U8); | ||
1529 | |||
1507 | LLColor4 color; | 1530 | LLColor4 color; |
1508 | LLColor4U coloru; | 1531 | LLColor4U coloru; |
1509 | for (U32 i = 0; i < face_count; i++) | 1532 | for (U32 i = 0; i < face_count; i++) |
@@ -1514,6 +1537,7 @@ S32 LLPrimitive::unpackTEMessage(LLMessageSystem *mesgsys, char *block_name, con | |||
1514 | retval |= setTERotation(i, ((F32)image_rot[i]/ (F32)0x7FFF) * F_TWO_PI); | 1537 | retval |= setTERotation(i, ((F32)image_rot[i]/ (F32)0x7FFF) * F_TWO_PI); |
1515 | retval |= setTEBumpShinyFullbright(i, bump[i]); | 1538 | retval |= setTEBumpShinyFullbright(i, bump[i]); |
1516 | retval |= setTEMediaTexGen(i, media_flags[i]); | 1539 | retval |= setTEMediaTexGen(i, media_flags[i]); |
1540 | retval |= setTEGlow(i, (F32)glow[i] / (F32)0xFF); | ||
1517 | coloru = LLColor4U(colors + 4*i); | 1541 | coloru = LLColor4U(colors + 4*i); |
1518 | 1542 | ||
1519 | // Note: This is an optimization to send common colors (1.f, 1.f, 1.f, 1.f) | 1543 | // Note: This is an optimization to send common colors (1.f, 1.f, 1.f, 1.f) |
@@ -1548,6 +1572,7 @@ S32 LLPrimitive::unpackTEMessage(LLDataPacker &dp) | |||
1548 | S16 image_rot[MAX_TES]; | 1572 | S16 image_rot[MAX_TES]; |
1549 | U8 bump[MAX_TES]; | 1573 | U8 bump[MAX_TES]; |
1550 | U8 media_flags[MAX_TES]; | 1574 | U8 media_flags[MAX_TES]; |
1575 | U8 glow[MAX_TES]; | ||
1551 | 1576 | ||
1552 | const U32 MAX_TE_BUFFER = 4096; | 1577 | const U32 MAX_TE_BUFFER = 4096; |
1553 | U8 packed_buffer[MAX_TE_BUFFER]; | 1578 | U8 packed_buffer[MAX_TE_BUFFER]; |
@@ -1588,10 +1613,11 @@ S32 LLPrimitive::unpackTEMessage(LLDataPacker &dp) | |||
1588 | cur_ptr += unpackTEField(cur_ptr, packed_buffer+size, (U8 *)bump, 1, face_count, MVT_U8); | 1613 | cur_ptr += unpackTEField(cur_ptr, packed_buffer+size, (U8 *)bump, 1, face_count, MVT_U8); |
1589 | cur_ptr++; | 1614 | cur_ptr++; |
1590 | cur_ptr += unpackTEField(cur_ptr, packed_buffer+size, (U8 *)media_flags, 1, face_count, MVT_U8); | 1615 | cur_ptr += unpackTEField(cur_ptr, packed_buffer+size, (U8 *)media_flags, 1, face_count, MVT_U8); |
1616 | cur_ptr++; | ||
1617 | cur_ptr += unpackTEField(cur_ptr, packed_buffer+size, (U8 *)glow, 1, face_count, MVT_U8); | ||
1591 | 1618 | ||
1592 | for (i = 0; i < face_count; i++) | 1619 | for (i = 0; i < face_count; i++) |
1593 | { | 1620 | { |
1594 | // llinfos << "BUMP unpack (Datapacker) [" << i << "]=" << S32(bump[i]) <<llendl; | ||
1595 | memcpy(image_ids[i].mData,&image_data[i*16],16); /* Flawfinder: ignore */ | 1621 | memcpy(image_ids[i].mData,&image_data[i*16],16); /* Flawfinder: ignore */ |
1596 | } | 1622 | } |
1597 | 1623 | ||
@@ -1605,6 +1631,7 @@ S32 LLPrimitive::unpackTEMessage(LLDataPacker &dp) | |||
1605 | retval |= setTERotation(i, ((F32)image_rot[i]/ (F32)0x7FFF) * F_TWO_PI); | 1631 | retval |= setTERotation(i, ((F32)image_rot[i]/ (F32)0x7FFF) * F_TWO_PI); |
1606 | retval |= setTEBumpShinyFullbright(i, bump[i]); | 1632 | retval |= setTEBumpShinyFullbright(i, bump[i]); |
1607 | retval |= setTEMediaTexGen(i, media_flags[i]); | 1633 | retval |= setTEMediaTexGen(i, media_flags[i]); |
1634 | retval |= setTEGlow(i, (F32)glow[i] / (F32)0xFF); | ||
1608 | coloru = LLColor4U(colors + 4*i); | 1635 | coloru = LLColor4U(colors + 4*i); |
1609 | 1636 | ||
1610 | // Note: This is an optimization to send common colors (1.f, 1.f, 1.f, 1.f) | 1637 | // Note: This is an optimization to send common colors (1.f, 1.f, 1.f, 1.f) |
@@ -1641,6 +1668,8 @@ BOOL LLNetworkData::isValid(U16 param_type, U32 size) | |||
1641 | return (size == 16); | 1668 | return (size == 16); |
1642 | case PARAMS_LIGHT: | 1669 | case PARAMS_LIGHT: |
1643 | return (size == 16); | 1670 | return (size == 16); |
1671 | case PARAMS_SCULPT: | ||
1672 | return (size == 17); | ||
1644 | } | 1673 | } |
1645 | 1674 | ||
1646 | return FALSE; | 1675 | return FALSE; |
@@ -1796,3 +1825,55 @@ void LLFlexibleObjectData::copy(const LLNetworkData& data) | |||
1796 | //mUsingCollisionSphere = flex_data->mUsingCollisionSphere; | 1825 | //mUsingCollisionSphere = flex_data->mUsingCollisionSphere; |
1797 | //mRenderingCollisionSphere = flex_data->mRenderingCollisionSphere; | 1826 | //mRenderingCollisionSphere = flex_data->mRenderingCollisionSphere; |
1798 | } | 1827 | } |
1828 | |||
1829 | |||
1830 | //============================================================================ | ||
1831 | |||
1832 | LLSculptParams::LLSculptParams() | ||
1833 | { | ||
1834 | mType = PARAMS_SCULPT; | ||
1835 | mSculptTexture.set(SCULPT_DEFAULT_TEXTURE); | ||
1836 | mSculptType = LL_SCULPT_TYPE_SPHERE; | ||
1837 | } | ||
1838 | |||
1839 | BOOL LLSculptParams::pack(LLDataPacker &dp) const | ||
1840 | { | ||
1841 | dp.packUUID(mSculptTexture, "texture"); | ||
1842 | dp.packU8(mSculptType, "type"); | ||
1843 | |||
1844 | return TRUE; | ||
1845 | } | ||
1846 | |||
1847 | BOOL LLSculptParams::unpack(LLDataPacker &dp) | ||
1848 | { | ||
1849 | dp.unpackUUID(mSculptTexture, "texture"); | ||
1850 | dp.unpackU8(mSculptType, "type"); | ||
1851 | |||
1852 | return TRUE; | ||
1853 | } | ||
1854 | |||
1855 | bool LLSculptParams::operator==(const LLNetworkData& data) const | ||
1856 | { | ||
1857 | if (data.mType != PARAMS_SCULPT) | ||
1858 | { | ||
1859 | return false; | ||
1860 | } | ||
1861 | |||
1862 | const LLSculptParams *param = (const LLSculptParams*)&data; | ||
1863 | if ( (param->mSculptTexture != mSculptTexture) || | ||
1864 | (param->mSculptType != mSculptType) ) | ||
1865 | |||
1866 | { | ||
1867 | return false; | ||
1868 | } | ||
1869 | |||
1870 | return true; | ||
1871 | } | ||
1872 | |||
1873 | void LLSculptParams::copy(const LLNetworkData& data) | ||
1874 | { | ||
1875 | const LLSculptParams *param = (LLSculptParams*)&data; | ||
1876 | mSculptTexture = param->mSculptTexture; | ||
1877 | mSculptType = param->mSculptType; | ||
1878 | } | ||
1879 | |||
diff --git a/linden/indra/llprimitive/llprimitive.h b/linden/indra/llprimitive/llprimitive.h index 89e6623..29cd09f 100644 --- a/linden/indra/llprimitive/llprimitive.h +++ b/linden/indra/llprimitive/llprimitive.h | |||
@@ -88,6 +88,7 @@ extern const F32 OBJECT_REV_MIN; | |||
88 | extern const F32 OBJECT_REV_MAX; | 88 | extern const F32 OBJECT_REV_MAX; |
89 | extern const F32 OBJECT_REV_INC; | 89 | extern const F32 OBJECT_REV_INC; |
90 | 90 | ||
91 | extern const char *SCULPT_DEFAULT_TEXTURE; | ||
91 | 92 | ||
92 | //============================================================================ | 93 | //============================================================================ |
93 | 94 | ||
@@ -99,7 +100,8 @@ public: | |||
99 | enum | 100 | enum |
100 | { | 101 | { |
101 | PARAMS_FLEXIBLE = 0x10, | 102 | PARAMS_FLEXIBLE = 0x10, |
102 | PARAMS_LIGHT = 0x20 | 103 | PARAMS_LIGHT = 0x20, |
104 | PARAMS_SCULPT = 0x30 | ||
103 | }; | 105 | }; |
104 | 106 | ||
105 | public: | 107 | public: |
@@ -226,6 +228,29 @@ public: | |||
226 | void copy(const LLNetworkData& data); | 228 | void copy(const LLNetworkData& data); |
227 | };// end of attributes structure | 229 | };// end of attributes structure |
228 | 230 | ||
231 | |||
232 | |||
233 | class LLSculptParams : public LLNetworkData | ||
234 | { | ||
235 | protected: | ||
236 | LLUUID mSculptTexture; | ||
237 | U8 mSculptType; | ||
238 | |||
239 | public: | ||
240 | LLSculptParams(); | ||
241 | /*virtual*/ BOOL pack(LLDataPacker &dp) const; | ||
242 | /*virtual*/ BOOL unpack(LLDataPacker &dp); | ||
243 | /*virtual*/ bool operator==(const LLNetworkData& data) const; | ||
244 | /*virtual*/ void copy(const LLNetworkData& data); | ||
245 | |||
246 | void setSculptTexture(const LLUUID& id) { mSculptTexture = id; } | ||
247 | LLUUID getSculptTexture() { return mSculptTexture; } | ||
248 | void setSculptType(U8 type) { mSculptType = type; } | ||
249 | U8 getSculptType() { return mSculptType; } | ||
250 | }; | ||
251 | |||
252 | |||
253 | |||
229 | class LLPrimitive : public LLXform | 254 | class LLPrimitive : public LLXform |
230 | { | 255 | { |
231 | public: | 256 | public: |
@@ -266,6 +291,7 @@ public: | |||
266 | virtual S32 setTEShiny(const U8 te, const U8 shiny); | 291 | virtual S32 setTEShiny(const U8 te, const U8 shiny); |
267 | virtual S32 setTEFullbright(const U8 te, const U8 fullbright); | 292 | virtual S32 setTEFullbright(const U8 te, const U8 fullbright); |
268 | virtual S32 setTEMediaFlags(const U8 te, const U8 flags); | 293 | virtual S32 setTEMediaFlags(const U8 te, const U8 flags); |
294 | virtual S32 setTEGlow(const U8 te, const F32 glow); | ||
269 | virtual BOOL setMaterial(const U8 material); // returns TRUE if material changed | 295 | virtual BOOL setMaterial(const U8 material); // returns TRUE if material changed |
270 | 296 | ||
271 | void setTEArrays(const U8 size, | 297 | void setTEArrays(const U8 size, |
diff --git a/linden/indra/llprimitive/lltextureentry.cpp b/linden/indra/llprimitive/lltextureentry.cpp index 81bfd6f..4f329f2 100644 --- a/linden/indra/llprimitive/lltextureentry.cpp +++ b/linden/indra/llprimitive/lltextureentry.cpp | |||
@@ -57,6 +57,7 @@ LLTextureEntry::LLTextureEntry(const LLTextureEntry &rhs) | |||
57 | mColor = rhs.mColor; | 57 | mColor = rhs.mColor; |
58 | mBump = rhs.mBump; | 58 | mBump = rhs.mBump; |
59 | mMediaFlags = rhs.mMediaFlags; | 59 | mMediaFlags = rhs.mMediaFlags; |
60 | mGlow = rhs.mGlow; | ||
60 | } | 61 | } |
61 | 62 | ||
62 | LLTextureEntry &LLTextureEntry::operator=(const LLTextureEntry &rhs) | 63 | LLTextureEntry &LLTextureEntry::operator=(const LLTextureEntry &rhs) |
@@ -72,6 +73,7 @@ LLTextureEntry &LLTextureEntry::operator=(const LLTextureEntry &rhs) | |||
72 | mColor = rhs.mColor; | 73 | mColor = rhs.mColor; |
73 | mBump = rhs.mBump; | 74 | mBump = rhs.mBump; |
74 | mMediaFlags = rhs.mMediaFlags; | 75 | mMediaFlags = rhs.mMediaFlags; |
76 | mGlow = rhs.mGlow; | ||
75 | } | 77 | } |
76 | 78 | ||
77 | return *this; | 79 | return *this; |
@@ -88,7 +90,8 @@ void LLTextureEntry::init(const LLUUID& tex_id, F32 scale_s, F32 scale_t, F32 of | |||
88 | mRotation = rotation; | 90 | mRotation = rotation; |
89 | mBump = bump; | 91 | mBump = bump; |
90 | mMediaFlags = 0x0; | 92 | mMediaFlags = 0x0; |
91 | 93 | mGlow = 0; | |
94 | |||
92 | setColor(LLColor4(1.f, 1.f, 1.f, 1.f)); | 95 | setColor(LLColor4(1.f, 1.f, 1.f, 1.f)); |
93 | } | 96 | } |
94 | 97 | ||
@@ -366,3 +369,13 @@ S32 LLTextureEntry::setTexGen(U8 tex_gen) | |||
366 | return 0; | 369 | return 0; |
367 | } | 370 | } |
368 | 371 | ||
372 | S32 LLTextureEntry::setGlow(F32 glow) | ||
373 | { | ||
374 | if (mGlow != glow) | ||
375 | { | ||
376 | mGlow = glow; | ||
377 | return TEM_CHANGE_TEXTURE; | ||
378 | } | ||
379 | return 0; | ||
380 | } | ||
381 | |||
diff --git a/linden/indra/llprimitive/lltextureentry.h b/linden/indra/llprimitive/lltextureentry.h index 861b585..c1f355b 100644 --- a/linden/indra/llprimitive/lltextureentry.h +++ b/linden/indra/llprimitive/lltextureentry.h | |||
@@ -107,7 +107,8 @@ public: | |||
107 | S32 setMediaFlags(U8 media_flags); | 107 | S32 setMediaFlags(U8 media_flags); |
108 | S32 setTexGen(U8 texGen); | 108 | S32 setTexGen(U8 texGen); |
109 | S32 setMediaTexGen(U8 media); | 109 | S32 setMediaTexGen(U8 media); |
110 | 110 | S32 setGlow(F32 glow); | |
111 | |||
111 | const LLUUID &getID() const { return mID; } | 112 | const LLUUID &getID() const { return mID; } |
112 | const LLColor4 &getColor() const { return mColor; } | 113 | const LLColor4 &getColor() const { return mColor; } |
113 | void getScale(F32 *s, F32 *t) const { *s = mScaleS; *t = mScaleT; } | 114 | void getScale(F32 *s, F32 *t) const { *s = mScaleS; *t = mScaleT; } |
@@ -124,7 +125,8 @@ public: | |||
124 | U8 getMediaFlags() const { return mMediaFlags & TEM_MEDIA_MASK; } | 125 | U8 getMediaFlags() const { return mMediaFlags & TEM_MEDIA_MASK; } |
125 | U8 getTexGen() const { return mMediaFlags & TEM_TEX_GEN_MASK; } | 126 | U8 getTexGen() const { return mMediaFlags & TEM_TEX_GEN_MASK; } |
126 | U8 getMediaTexGen() const { return mMediaFlags; } | 127 | U8 getMediaTexGen() const { return mMediaFlags; } |
127 | 128 | F32 getGlow() const { return mGlow; } | |
129 | |||
128 | // Media flags | 130 | // Media flags |
129 | enum { MF_NONE = 0x0, MF_WEB_PAGE = 0x1 }; | 131 | enum { MF_NONE = 0x0, MF_WEB_PAGE = 0x1 }; |
130 | 132 | ||
@@ -141,6 +143,8 @@ protected: | |||
141 | LLColor4 mColor; | 143 | LLColor4 mColor; |
142 | U8 mBump; // Bump map, shiny, and fullbright | 144 | U8 mBump; // Bump map, shiny, and fullbright |
143 | U8 mMediaFlags; // replace with web page, movie, etc. | 145 | U8 mMediaFlags; // replace with web page, movie, etc. |
146 | F32 mGlow; | ||
147 | |||
144 | }; | 148 | }; |
145 | 149 | ||
146 | #endif | 150 | #endif |
diff --git a/linden/indra/llui/lldraghandle.cpp b/linden/indra/llui/lldraghandle.cpp index a3d28ad..3497f0d 100644 --- a/linden/indra/llui/lldraghandle.cpp +++ b/linden/indra/llui/lldraghandle.cpp | |||
@@ -328,7 +328,12 @@ BOOL LLDragHandle::handleHover(S32 x, S32 y, MASK mask) | |||
328 | // Resize the parent | 328 | // Resize the parent |
329 | S32 delta_x = screen_x - mDragLastScreenX; | 329 | S32 delta_x = screen_x - mDragLastScreenX; |
330 | S32 delta_y = screen_y - mDragLastScreenY; | 330 | S32 delta_y = screen_y - mDragLastScreenY; |
331 | getParent()->translate(delta_x, delta_y); | 331 | |
332 | LLRect original_rect = getParent()->getRect(); | ||
333 | LLRect translated_rect = getParent()->getRect(); | ||
334 | translated_rect.translate(delta_x, delta_y); | ||
335 | // temporarily slam dragged window to new position | ||
336 | getParent()->setRect(translated_rect); | ||
332 | S32 pre_snap_x = getParent()->getRect().mLeft; | 337 | S32 pre_snap_x = getParent()->getRect().mLeft; |
333 | S32 pre_snap_y = getParent()->getRect().mBottom; | 338 | S32 pre_snap_y = getParent()->getRect().mBottom; |
334 | mDragLastScreenX = screen_x; | 339 | mDragLastScreenX = screen_x; |
@@ -348,7 +353,12 @@ BOOL LLDragHandle::handleHover(S32 x, S32 y, MASK mask) | |||
348 | getParent()->snappedTo(snap_view); | 353 | getParent()->snappedTo(snap_view); |
349 | delta_x = new_rect.mLeft - pre_snap_x; | 354 | delta_x = new_rect.mLeft - pre_snap_x; |
350 | delta_y = new_rect.mBottom - pre_snap_y; | 355 | delta_y = new_rect.mBottom - pre_snap_y; |
351 | getParent()->translate(delta_x, delta_y); | 356 | translated_rect.translate(delta_x, delta_y); |
357 | |||
358 | // restore original rect so delta are detected, then call user reshape method to handle snapped floaters, etc | ||
359 | getParent()->setRect(original_rect); | ||
360 | getParent()->userSetShape(translated_rect); | ||
361 | |||
352 | mDragLastScreenX += delta_x; | 362 | mDragLastScreenX += delta_x; |
353 | mDragLastScreenY += delta_y; | 363 | mDragLastScreenY += delta_y; |
354 | 364 | ||
diff --git a/linden/indra/llui/llfloater.cpp b/linden/indra/llui/llfloater.cpp index 1613fd7..df44a58 100644 --- a/linden/indra/llui/llfloater.cpp +++ b/linden/indra/llui/llfloater.cpp | |||
@@ -675,25 +675,6 @@ const LLString& LLFloater::getTitle() const | |||
675 | return mDragHandle ? mDragHandle->getTitle() : LLString::null; | 675 | return mDragHandle ? mDragHandle->getTitle() : LLString::null; |
676 | } | 676 | } |
677 | 677 | ||
678 | void LLFloater::translate(S32 x, S32 y) | ||
679 | { | ||
680 | LLPanel::translate(x, y); | ||
681 | |||
682 | if (x != 0 || y != 0) | ||
683 | { | ||
684 | for(handle_set_iter_t dependent_it = mDependents.begin(); | ||
685 | dependent_it != mDependents.end(); ++dependent_it) | ||
686 | { | ||
687 | LLFloater* floaterp = LLFloater::getFloaterByHandle(*dependent_it); | ||
688 | // is a dependent snapped to us? | ||
689 | if (floaterp && floaterp->getSnapTarget() == mViewHandle) | ||
690 | { | ||
691 | floaterp->translate(x, y); | ||
692 | } | ||
693 | } | ||
694 | } | ||
695 | } | ||
696 | |||
697 | BOOL LLFloater::canSnapTo(LLView* other_view) | 678 | BOOL LLFloater::canSnapTo(LLView* other_view) |
698 | { | 679 | { |
699 | if (NULL == other_view) | 680 | if (NULL == other_view) |
@@ -731,14 +712,13 @@ void LLFloater::snappedTo(LLView* snap_view) | |||
731 | } | 712 | } |
732 | } | 713 | } |
733 | 714 | ||
734 | void LLFloater::reshape(S32 width, S32 height, BOOL called_from_parent) | 715 | void LLFloater::userSetShape(const LLRect& new_rect) |
735 | { | 716 | { |
736 | S32 old_width = mRect.getWidth(); | 717 | LLRect old_rect = mRect; |
737 | S32 old_height = mRect.getHeight(); | 718 | LLView::userSetShape(new_rect); |
738 | |||
739 | LLView::reshape(width, height, called_from_parent); | ||
740 | 719 | ||
741 | if (width != old_width || height != old_height) | 720 | // if not minimized, adjust all snapped dependents to new shape |
721 | if (!isMinimized()) | ||
742 | { | 722 | { |
743 | // gather all snapped dependents | 723 | // gather all snapped dependents |
744 | for(handle_set_iter_t dependent_it = mDependents.begin(); | 724 | for(handle_set_iter_t dependent_it = mDependents.begin(); |
@@ -750,22 +730,27 @@ void LLFloater::reshape(S32 width, S32 height, BOOL called_from_parent) | |||
750 | { | 730 | { |
751 | S32 delta_x = 0; | 731 | S32 delta_x = 0; |
752 | S32 delta_y = 0; | 732 | S32 delta_y = 0; |
753 | // check to see if it snapped to right or top | 733 | // check to see if it snapped to right or top, and move if dependee floater is resizing |
754 | LLRect floater_rect = floaterp->getRect(); | 734 | LLRect dependent_rect = floaterp->getRect(); |
755 | if (floater_rect.mLeft - mRect.mLeft >= old_width || | 735 | if (dependent_rect.mLeft - mRect.mLeft >= old_rect.getWidth() || // dependent on my right? |
756 | floater_rect.mRight == mRect.mLeft + old_width) | 736 | dependent_rect.mRight == mRect.mLeft + old_rect.getWidth()) // dependent aligned with my right |
757 | { | 737 | { |
758 | // was snapped directly onto right side or aligned with it | 738 | // was snapped directly onto right side or aligned with it |
759 | delta_x += width - old_width; | 739 | delta_x += new_rect.getWidth() - old_rect.getWidth(); |
760 | } | 740 | } |
761 | if (floater_rect.mBottom - mRect.mBottom >= old_height || | 741 | if (dependent_rect.mBottom - mRect.mBottom >= old_rect.getHeight() || |
762 | floater_rect.mTop == mRect.mBottom + old_height) | 742 | dependent_rect.mTop == mRect.mBottom + old_rect.getHeight()) |
763 | { | 743 | { |
764 | // was snapped directly onto top side or aligned with it | 744 | // was snapped directly onto top side or aligned with it |
765 | delta_y += height - old_height; | 745 | delta_y += new_rect.getHeight() - old_rect.getHeight(); |
766 | } | 746 | } |
767 | 747 | ||
768 | floaterp->translate(delta_x, delta_y); | 748 | // take translation of dependee floater into account as well |
749 | delta_x += new_rect.mLeft - old_rect.mLeft; | ||
750 | delta_y += new_rect.mBottom - old_rect.mBottom; | ||
751 | |||
752 | dependent_rect.translate(delta_x, delta_y); | ||
753 | floaterp->userSetShape(dependent_rect); | ||
769 | } | 754 | } |
770 | } | 755 | } |
771 | } | 756 | } |
@@ -812,28 +797,33 @@ void LLFloater::setMinimized(BOOL minimize) | |||
812 | setBorderVisible(TRUE); | 797 | setBorderVisible(TRUE); |
813 | 798 | ||
814 | for(handle_set_iter_t dependent_it = mDependents.begin(); | 799 | for(handle_set_iter_t dependent_it = mDependents.begin(); |
815 | dependent_it != mDependents.end(); ) | 800 | dependent_it != mDependents.end(); |
801 | ++dependent_it) | ||
816 | { | 802 | { |
817 | LLFloater* floaterp = LLFloater::getFloaterByHandle(*dependent_it); | 803 | LLFloater* floaterp = LLFloater::getFloaterByHandle(*dependent_it); |
818 | if (floaterp) | 804 | if (floaterp) |
819 | { | 805 | { |
820 | floaterp->setVisible(FALSE); | 806 | if (floaterp->isMinimizeable()) |
807 | { | ||
808 | floaterp->setMinimized(TRUE); | ||
809 | } | ||
810 | else if (!floaterp->isMinimized()) | ||
811 | { | ||
812 | floaterp->setVisible(FALSE); | ||
813 | } | ||
821 | } | 814 | } |
822 | ++dependent_it; | ||
823 | } | 815 | } |
824 | 816 | ||
825 | mMinimized = TRUE; | ||
826 | |||
827 | // Lose keyboard focus when minimized | 817 | // Lose keyboard focus when minimized |
828 | releaseFocus(); | 818 | releaseFocus(); |
819 | |||
820 | mMinimized = TRUE; | ||
829 | } | 821 | } |
830 | else | 822 | else |
831 | { | 823 | { |
832 | reshape( mPreviousRect.getWidth(), mPreviousRect.getHeight(), TRUE ); | 824 | reshape( mPreviousRect.getWidth(), mPreviousRect.getHeight(), TRUE ); |
833 | setOrigin( mPreviousRect.mLeft, mPreviousRect.mBottom ); | 825 | setOrigin( mPreviousRect.mLeft, mPreviousRect.mBottom ); |
834 | 826 | ||
835 | mMinimized = FALSE; | ||
836 | |||
837 | if (mButtonsEnabled[BUTTON_RESTORE]) | 827 | if (mButtonsEnabled[BUTTON_RESTORE]) |
838 | { | 828 | { |
839 | mButtonsEnabled[BUTTON_MINIMIZE] = TRUE; | 829 | mButtonsEnabled[BUTTON_MINIMIZE] = TRUE; |
@@ -857,15 +847,18 @@ void LLFloater::setMinimized(BOOL minimize) | |||
857 | 847 | ||
858 | // show dependent floater | 848 | // show dependent floater |
859 | for(handle_set_iter_t dependent_it = mDependents.begin(); | 849 | for(handle_set_iter_t dependent_it = mDependents.begin(); |
860 | dependent_it != mDependents.end(); ) | 850 | dependent_it != mDependents.end(); |
851 | ++dependent_it) | ||
861 | { | 852 | { |
862 | LLFloater* floaterp = LLFloater::getFloaterByHandle(*dependent_it); | 853 | LLFloater* floaterp = LLFloater::getFloaterByHandle(*dependent_it); |
863 | if (floaterp) | 854 | if (floaterp) |
864 | { | 855 | { |
856 | floaterp->setMinimized(FALSE); | ||
865 | floaterp->setVisible(TRUE); | 857 | floaterp->setVisible(TRUE); |
866 | } | 858 | } |
867 | ++dependent_it; | ||
868 | } | 859 | } |
860 | |||
861 | mMinimized = FALSE; | ||
869 | } | 862 | } |
870 | make_ui_sound("UISndWindowClose"); | 863 | make_ui_sound("UISndWindowClose"); |
871 | updateButtons(); | 864 | updateButtons(); |
diff --git a/linden/indra/llui/llfloater.h b/linden/indra/llui/llfloater.h index e752d8b..cd45762 100644 --- a/linden/indra/llui/llfloater.h +++ b/linden/indra/llui/llfloater.h | |||
@@ -108,8 +108,7 @@ public: | |||
108 | static LLView* fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFactory *factory); | 108 | static LLView* fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFactory *factory); |
109 | void initFloaterXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFactory *factory, BOOL open = TRUE); | 109 | void initFloaterXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFactory *factory, BOOL open = TRUE); |
110 | 110 | ||
111 | /*virtual*/ void reshape(S32 width, S32 height, BOOL called_from_parent = 1); | 111 | /*virtual*/ void userSetShape(const LLRect& new_rect); |
112 | /*virtual*/ void translate(S32 x, S32 y); | ||
113 | /*virtual*/ BOOL canSnapTo(LLView* other_view); | 112 | /*virtual*/ BOOL canSnapTo(LLView* other_view); |
114 | /*virtual*/ void snappedTo(LLView* snap_view); | 113 | /*virtual*/ void snappedTo(LLView* snap_view); |
115 | /*virtual*/ void setFocus( BOOL b ); | 114 | /*virtual*/ void setFocus( BOOL b ); |
diff --git a/linden/indra/llwindow/llwindow_vc8.vcproj b/linden/indra/llwindow/llwindow_vc8.vcproj index 4d6bbcb..803f11c 100644 --- a/linden/indra/llwindow/llwindow_vc8.vcproj +++ b/linden/indra/llwindow/llwindow_vc8.vcproj | |||
@@ -42,11 +42,12 @@ | |||
42 | Name="VCCLCompilerTool" | 42 | Name="VCCLCompilerTool" |
43 | Optimization="0" | 43 | Optimization="0" |
44 | AdditionalIncludeDirectories="..\llcommon;..\llmath;..\llxml;..\llvfs;..\llmessage;..\llscene;..\llimage;"..\..\libraries\i686-win32\include";..\..\libraries\include\;Logitech_LCD;Logitech_LCD\LCDUI" | 44 | AdditionalIncludeDirectories="..\llcommon;..\llmath;..\llxml;..\llvfs;..\llmessage;..\llscene;..\llimage;"..\..\libraries\i686-win32\include";..\..\libraries\include\;Logitech_LCD;Logitech_LCD\LCDUI" |
45 | PreprocessorDefinitions="WIN32;_DEBUG;_LIB;LL_WINDOWS;LL_DEBUG" | 45 | PreprocessorDefinitions="WIN32;_DEBUG;_LIB;LL_WINDOWS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_USE_32BIT_TIME_T;LL_DEBUG" |
46 | MinimalRebuild="true" | 46 | MinimalRebuild="true" |
47 | BasicRuntimeChecks="3" | 47 | BasicRuntimeChecks="3" |
48 | RuntimeLibrary="1" | 48 | RuntimeLibrary="1" |
49 | StructMemberAlignment="4" | 49 | StructMemberAlignment="4" |
50 | TreatWChar_tAsBuiltInType="false" | ||
50 | ForceConformanceInForLoopScope="true" | 51 | ForceConformanceInForLoopScope="true" |
51 | UsePrecompiledHeader="0" | 52 | UsePrecompiledHeader="0" |
52 | WarningLevel="3" | 53 | WarningLevel="3" |
@@ -171,11 +172,12 @@ | |||
171 | Name="VCCLCompilerTool" | 172 | Name="VCCLCompilerTool" |
172 | Optimization="0" | 173 | Optimization="0" |
173 | AdditionalIncludeDirectories="..\llcommon;..\llmath;..\llxml;..\llvfs;..\llmessage;..\llscene;..\llimage;"..\..\libraries\i686-win32\include";..\..\libraries\include\GLMESA;..\..\libraries\include\;Logitech_LCD;Logitech_LCD\LCDUI" | 174 | AdditionalIncludeDirectories="..\llcommon;..\llmath;..\llxml;..\llvfs;..\llmessage;..\llscene;..\llimage;"..\..\libraries\i686-win32\include";..\..\libraries\include\GLMESA;..\..\libraries\include\;Logitech_LCD;Logitech_LCD\LCDUI" |
174 | PreprocessorDefinitions="WIN32;_DEBUG;_LIB;LL_WINDOWS;LL_DEBUG;LL_MESA;LL_MESA_HEADLESS" | 175 | PreprocessorDefinitions="WIN32;_DEBUG;_LIB;LL_WINDOWS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_USE_32BIT_TIME_T;LL_DEBUG;LL_MESA;LL_MESA_HEADLESS" |
175 | MinimalRebuild="true" | 176 | MinimalRebuild="true" |
176 | BasicRuntimeChecks="3" | 177 | BasicRuntimeChecks="3" |
177 | RuntimeLibrary="1" | 178 | RuntimeLibrary="1" |
178 | StructMemberAlignment="4" | 179 | StructMemberAlignment="4" |
180 | TreatWChar_tAsBuiltInType="false" | ||
179 | ForceConformanceInForLoopScope="true" | 181 | ForceConformanceInForLoopScope="true" |
180 | UsePrecompiledHeader="0" | 182 | UsePrecompiledHeader="0" |
181 | WarningLevel="3" | 183 | WarningLevel="3" |
@@ -238,9 +240,10 @@ | |||
238 | Name="VCCLCompilerTool" | 240 | Name="VCCLCompilerTool" |
239 | Optimization="0" | 241 | Optimization="0" |
240 | AdditionalIncludeDirectories="..\llcommon;..\llmath;..\llxml;..\llvfs;..\llmessage;..\llscene;..\llimage;"..\..\libraries\i686-win32\include";..\..\libraries\include\;Logitech_LCD;Logitech_LCD\LCDUI" | 242 | AdditionalIncludeDirectories="..\llcommon;..\llmath;..\llxml;..\llvfs;..\llmessage;..\llscene;..\llimage;"..\..\libraries\i686-win32\include";..\..\libraries\include\;Logitech_LCD;Logitech_LCD\LCDUI" |
241 | PreprocessorDefinitions="WIN32;NDEBUG;_LIB;LL_WINDOWS;LL_RELEASE" | 243 | PreprocessorDefinitions="WIN32;NDEBUG;_LIB;LL_WINDOWS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_USE_32BIT_TIME_T;LL_RELEASE" |
242 | RuntimeLibrary="0" | 244 | RuntimeLibrary="0" |
243 | StructMemberAlignment="0" | 245 | StructMemberAlignment="0" |
246 | TreatWChar_tAsBuiltInType="false" | ||
244 | ForceConformanceInForLoopScope="true" | 247 | ForceConformanceInForLoopScope="true" |
245 | UsePrecompiledHeader="0" | 248 | UsePrecompiledHeader="0" |
246 | WarningLevel="3" | 249 | WarningLevel="3" |
@@ -378,222 +381,6 @@ | |||
378 | UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" | 381 | UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" |
379 | > | 382 | > |
380 | </Filter> | 383 | </Filter> |
381 | <Filter | ||
382 | Name="Logitech LCD" | ||
383 | > | ||
384 | <Filter | ||
385 | Name="Header Files" | ||
386 | > | ||
387 | <File | ||
388 | RelativePath=".\Logitech_LCD\EZ_LCD.h" | ||
389 | > | ||
390 | </File> | ||
391 | <File | ||
392 | RelativePath=".\Logitech_LCD\EZ_LCD_Defines.h" | ||
393 | > | ||
394 | </File> | ||
395 | <File | ||
396 | RelativePath=".\Logitech_LCD\EZ_LCD_Page.h" | ||
397 | > | ||
398 | </File> | ||
399 | <File | ||
400 | RelativePath=".\Logitech_LCD\LCD.h" | ||
401 | > | ||
402 | </File> | ||
403 | <File | ||
404 | RelativePath=".\Logitech_LCD\lglcd.h" | ||
405 | > | ||
406 | </File> | ||
407 | </Filter> | ||
408 | <Filter | ||
409 | Name="Source Files" | ||
410 | > | ||
411 | <File | ||
412 | RelativePath=".\Logitech_LCD\EZ_LCD.cpp" | ||
413 | > | ||
414 | </File> | ||
415 | <File | ||
416 | RelativePath=".\Logitech_LCD\EZ_LCD_Page.cpp" | ||
417 | > | ||
418 | </File> | ||
419 | <File | ||
420 | RelativePath=".\Logitech_LCD\LCD.cpp" | ||
421 | > | ||
422 | </File> | ||
423 | </Filter> | ||
424 | <Filter | ||
425 | Name="SDK" | ||
426 | > | ||
427 | <Filter | ||
428 | Name="Header Files" | ||
429 | > | ||
430 | <File | ||
431 | RelativePath=".\Logitech_LCD\LCDUI\LCDAnimatedBitmap.h" | ||
432 | > | ||
433 | </File> | ||
434 | <File | ||
435 | RelativePath=".\Logitech_LCD\LCDUI\LCDBase.h" | ||
436 | > | ||
437 | </File> | ||
438 | <File | ||
439 | RelativePath=".\Logitech_LCD\LCDUI\LCDBitmap.h" | ||
440 | > | ||
441 | </File> | ||
442 | <File | ||
443 | RelativePath=".\Logitech_LCD\LCDUI\LCDCollection.h" | ||
444 | > | ||
445 | </File> | ||
446 | <File | ||
447 | RelativePath=".\Logitech_LCD\LCDUI\LCDGfx.h" | ||
448 | > | ||
449 | </File> | ||
450 | <File | ||
451 | RelativePath=".\Logitech_LCD\LCDUI\LCDIcon.h" | ||
452 | > | ||
453 | </File> | ||
454 | <File | ||
455 | RelativePath=".\Logitech_LCD\LCDUI\LCDManager.h" | ||
456 | > | ||
457 | </File> | ||
458 | <File | ||
459 | RelativePath=".\Logitech_LCD\LCDUI\LCDOutput.h" | ||
460 | > | ||
461 | </File> | ||
462 | <File | ||
463 | RelativePath=".\Logitech_LCD\LCDUI\LCDProgressBar.h" | ||
464 | > | ||
465 | </File> | ||
466 | <File | ||
467 | RelativePath=".\Logitech_LCD\LCDUI\LCDScrollingText.h" | ||
468 | > | ||
469 | </File> | ||
470 | <File | ||
471 | RelativePath=".\Logitech_LCD\LCDUI\LCDStreamingText.h" | ||
472 | > | ||
473 | </File> | ||
474 | <File | ||
475 | RelativePath=".\Logitech_LCD\LCDUI\LCDText.h" | ||
476 | > | ||
477 | </File> | ||
478 | </Filter> | ||
479 | <Filter | ||
480 | Name="Source Files" | ||
481 | > | ||
482 | <File | ||
483 | RelativePath=".\Logitech_LCD\LCDUI\LCDAnimatedBitmap.cpp" | ||
484 | > | ||
485 | </File> | ||
486 | <File | ||
487 | RelativePath=".\Logitech_LCD\LCDUI\LCDBase.cpp" | ||
488 | > | ||
489 | </File> | ||
490 | <File | ||
491 | RelativePath=".\Logitech_LCD\LCDUI\LCDBitmap.cpp" | ||
492 | > | ||
493 | </File> | ||
494 | <File | ||
495 | RelativePath=".\Logitech_LCD\LCDUI\LCDCollection.cpp" | ||
496 | > | ||
497 | </File> | ||
498 | <File | ||
499 | RelativePath=".\Logitech_LCD\LCDUI\LCDGfx.cpp" | ||
500 | > | ||
501 | </File> | ||
502 | <File | ||
503 | RelativePath=".\Logitech_LCD\LCDUI\LCDIcon.cpp" | ||
504 | > | ||
505 | </File> | ||
506 | <File | ||
507 | RelativePath=".\Logitech_LCD\LCDUI\LCDManager.cpp" | ||
508 | > | ||
509 | </File> | ||
510 | <File | ||
511 | RelativePath=".\Logitech_LCD\LCDUI\LCDOutput.cpp" | ||
512 | > | ||
513 | </File> | ||
514 | <File | ||
515 | RelativePath=".\Logitech_LCD\LCDUI\LCDProgressBar.cpp" | ||
516 | > | ||
517 | </File> | ||
518 | <File | ||
519 | RelativePath=".\Logitech_LCD\LCDUI\LCDScrollingText.cpp" | ||
520 | > | ||
521 | </File> | ||
522 | <File | ||
523 | RelativePath=".\Logitech_LCD\LCDUI\LCDStreamingText.cpp" | ||
524 | > | ||
525 | <FileConfiguration | ||
526 | Name="Debug|Win32" | ||
527 | > | ||
528 | <Tool | ||
529 | Name="VCCLCompilerTool" | ||
530 | WarningLevel="0" | ||
531 | /> | ||
532 | </FileConfiguration> | ||
533 | <FileConfiguration | ||
534 | Name="Release|Win32" | ||
535 | > | ||
536 | <Tool | ||
537 | Name="VCCLCompilerTool" | ||
538 | WarningLevel="0" | ||
539 | /> | ||
540 | </FileConfiguration> | ||
541 | <FileConfiguration | ||
542 | Name="DebugMesaHeadless|Win32" | ||
543 | > | ||
544 | <Tool | ||
545 | Name="VCCLCompilerTool" | ||
546 | WarningLevel="0" | ||
547 | /> | ||
548 | </FileConfiguration> | ||
549 | <FileConfiguration | ||
550 | Name="ReleaseNoOpt|Win32" | ||
551 | > | ||
552 | <Tool | ||
553 | Name="VCCLCompilerTool" | ||
554 | WarningLevel="0" | ||
555 | /> | ||
556 | </FileConfiguration> | ||
557 | </File> | ||
558 | <File | ||
559 | RelativePath=".\Logitech_LCD\LCDUI\LCDText.cpp" | ||
560 | > | ||
561 | <FileConfiguration | ||
562 | Name="Debug|Win32" | ||
563 | > | ||
564 | <Tool | ||
565 | Name="VCCLCompilerTool" | ||
566 | WarningLevel="0" | ||
567 | /> | ||
568 | </FileConfiguration> | ||
569 | <FileConfiguration | ||
570 | Name="Release|Win32" | ||
571 | > | ||
572 | <Tool | ||
573 | Name="VCCLCompilerTool" | ||
574 | WarningLevel="0" | ||
575 | /> | ||
576 | </FileConfiguration> | ||
577 | <FileConfiguration | ||
578 | Name="DebugMesaHeadless|Win32" | ||
579 | > | ||
580 | <Tool | ||
581 | Name="VCCLCompilerTool" | ||
582 | WarningLevel="0" | ||
583 | /> | ||
584 | </FileConfiguration> | ||
585 | <FileConfiguration | ||
586 | Name="ReleaseNoOpt|Win32" | ||
587 | > | ||
588 | <Tool | ||
589 | Name="VCCLCompilerTool" | ||
590 | WarningLevel="0" | ||
591 | /> | ||
592 | </FileConfiguration> | ||
593 | </File> | ||
594 | </Filter> | ||
595 | </Filter> | ||
596 | </Filter> | ||
597 | </Files> | 384 | </Files> |
598 | <Globals> | 385 | <Globals> |
599 | </Globals> | 386 | </Globals> |
diff --git a/linden/indra/lscript/lscript_compile/indra.l b/linden/indra/lscript/lscript_compile/indra.l index f4199df..7c9b3aa 100644 --- a/linden/indra/lscript/lscript_compile/indra.l +++ b/linden/indra/lscript/lscript_compile/indra.l | |||
@@ -4,7 +4,7 @@ L [a-zA-Z_] | |||
4 | H [a-fA-F0-9] | 4 | H [a-fA-F0-9] |
5 | E [Ee][+-]?{D}+ | 5 | E [Ee][+-]?{D}+ |
6 | FS (f|F) | 6 | FS (f|F) |
7 | %e 9000 | 7 | %e 10000 |
8 | %n 4000 | 8 | %n 4000 |
9 | %p 5000 | 9 | %p 5000 |
10 | 10 | ||
@@ -434,6 +434,7 @@ extern "C" { int yyerror(const char *fmt, ...); } | |||
434 | "PRIM_TYPE_TORUS" { count(); yylval.ival = LSL_PRIM_TYPE_TORUS; return(INTEGER_CONSTANT); } | 434 | "PRIM_TYPE_TORUS" { count(); yylval.ival = LSL_PRIM_TYPE_TORUS; return(INTEGER_CONSTANT); } |
435 | "PRIM_TYPE_TUBE" { count(); yylval.ival = LSL_PRIM_TYPE_TUBE; return(INTEGER_CONSTANT); } | 435 | "PRIM_TYPE_TUBE" { count(); yylval.ival = LSL_PRIM_TYPE_TUBE; return(INTEGER_CONSTANT); } |
436 | "PRIM_TYPE_RING" { count(); yylval.ival = LSL_PRIM_TYPE_RING; return(INTEGER_CONSTANT); } | 436 | "PRIM_TYPE_RING" { count(); yylval.ival = LSL_PRIM_TYPE_RING; return(INTEGER_CONSTANT); } |
437 | "PRIM_TYPE_SCULPT" { count(); yylval.ival = LSL_PRIM_TYPE_SCULPT; return(INTEGER_CONSTANT); } | ||
437 | 438 | ||
438 | "PRIM_HOLE_DEFAULT" { count(); yylval.ival = LSL_PRIM_HOLE_DEFAULT; return(INTEGER_CONSTANT); } | 439 | "PRIM_HOLE_DEFAULT" { count(); yylval.ival = LSL_PRIM_HOLE_DEFAULT; return(INTEGER_CONSTANT); } |
439 | "PRIM_HOLE_CIRCLE" { count(); yylval.ival = LSL_PRIM_HOLE_CIRCLE; return(INTEGER_CONSTANT); } | 440 | "PRIM_HOLE_CIRCLE" { count(); yylval.ival = LSL_PRIM_HOLE_CIRCLE; return(INTEGER_CONSTANT); } |
@@ -476,6 +477,11 @@ extern "C" { int yyerror(const char *fmt, ...); } | |||
476 | "PRIM_TEXGEN_DEFAULT" { count(); yylval.ival = LSL_PRIM_TEXGEN_DEFAULT; return(INTEGER_CONSTANT); } | 477 | "PRIM_TEXGEN_DEFAULT" { count(); yylval.ival = LSL_PRIM_TEXGEN_DEFAULT; return(INTEGER_CONSTANT); } |
477 | "PRIM_TEXGEN_PLANAR" { count(); yylval.ival = LSL_PRIM_TEXGEN_PLANAR; return(INTEGER_CONSTANT); } | 478 | "PRIM_TEXGEN_PLANAR" { count(); yylval.ival = LSL_PRIM_TEXGEN_PLANAR; return(INTEGER_CONSTANT); } |
478 | 479 | ||
480 | "PRIM_SCULPT_TYPE_SPHERE" { count(); yylval.ival = LSL_PRIM_SCULPT_TYPE_SPHERE; return(INTEGER_CONSTANT); } | ||
481 | "PRIM_SCULPT_TYPE_TORUS" { count(); yylval.ival = LSL_PRIM_SCULPT_TYPE_TORUS; return(INTEGER_CONSTANT); } | ||
482 | "PRIM_SCULPT_TYPE_PLANE" { count(); yylval.ival = LSL_PRIM_SCULPT_TYPE_PLANE; return(INTEGER_CONSTANT); } | ||
483 | "PRIM_SCULPT_TYPE_CYLINDER" { count(); yylval.ival = LSL_PRIM_SCULPT_TYPE_CYLINDER; return(INTEGER_CONSTANT); } | ||
484 | |||
479 | "MASK_BASE" { count(); yylval.ival = 0; return(INTEGER_CONSTANT); } | 485 | "MASK_BASE" { count(); yylval.ival = 0; return(INTEGER_CONSTANT); } |
480 | "MASK_OWNER" { count(); yylval.ival = 1; return(INTEGER_CONSTANT); } | 486 | "MASK_OWNER" { count(); yylval.ival = 1; return(INTEGER_CONSTANT); } |
481 | "MASK_GROUP" { count(); yylval.ival = 2; return(INTEGER_CONSTANT); } | 487 | "MASK_GROUP" { count(); yylval.ival = 2; return(INTEGER_CONSTANT); } |
diff --git a/linden/indra/lscript/lscript_library/lscript_library.cpp b/linden/indra/lscript/lscript_library/lscript_library.cpp index 7d38621..c44e1c0 100644 --- a/linden/indra/lscript/lscript_library/lscript_library.cpp +++ b/linden/indra/lscript/lscript_library/lscript_library.cpp | |||
@@ -424,6 +424,7 @@ void LLScriptLibrary::init() | |||
424 | 424 | ||
425 | 425 | ||
426 | addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llStringTrim", "s", "si", "string llStringTrim(string src, integer trim_type)\nTrim leading and/or trailing spaces from a string.\nUses trim_type of STRING_TRIM, STRING_TRIM_HEAD or STRING_TRIM_TAIL.")); | 426 | addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llStringTrim", "s", "si", "string llStringTrim(string src, integer trim_type)\nTrim leading and/or trailing spaces from a string.\nUses trim_type of STRING_TRIM, STRING_TRIM_HEAD or STRING_TRIM_TAIL.")); |
427 | addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llRegionSay", NULL, "is", "llRegionSay(integer channel, string msg)\nbroadcasts msg to entire region on channel (not 0.)")); | ||
427 | 428 | ||
428 | // energy, sleep, dummy_func, name, return type, parameters, help text, gods-only | 429 | // energy, sleep, dummy_func, name, return type, parameters, help text, gods-only |
429 | 430 | ||
diff --git a/linden/indra/newview/English.lproj/InfoPlist.strings b/linden/indra/newview/English.lproj/InfoPlist.strings index e9cd858..8fae01f 100644 --- a/linden/indra/newview/English.lproj/InfoPlist.strings +++ b/linden/indra/newview/English.lproj/InfoPlist.strings | |||
@@ -1,5 +1,5 @@ | |||
1 | /* Localized versions of Info.plist keys */ | 1 | /* Localized versions of Info.plist keys */ |
2 | 2 | ||
3 | CFBundleName = "Second Life"; | 3 | CFBundleName = "Second Life"; |
4 | CFBundleShortVersionString = "Second Life version 1.15.1.3"; | 4 | CFBundleShortVersionString = "Second Life version 1.16.0.5"; |
5 | CFBundleGetInfoString = "Second Life version 1.15.1.3, Copyright 2004-2007 Linden Research, Inc."; | 5 | CFBundleGetInfoString = "Second Life version 1.16.0.5, Copyright 2004-2007 Linden Research, Inc."; |
diff --git a/linden/indra/newview/Info-SecondLife.plist b/linden/indra/newview/Info-SecondLife.plist index 108f716..764b152 100644 --- a/linden/indra/newview/Info-SecondLife.plist +++ b/linden/indra/newview/Info-SecondLife.plist | |||
@@ -32,7 +32,7 @@ | |||
32 | </dict> | 32 | </dict> |
33 | </array> | 33 | </array> |
34 | <key>CFBundleVersion</key> | 34 | <key>CFBundleVersion</key> |
35 | <string>1.15.1.3</string> | 35 | <string>1.16.0.5</string> |
36 | <key>CSResourcesFileMapped</key> | 36 | <key>CSResourcesFileMapped</key> |
37 | <true/> | 37 | <true/> |
38 | </dict> | 38 | </dict> |
diff --git a/linden/indra/newview/app_settings/keywords.ini b/linden/indra/newview/app_settings/keywords.ini index f53a384..c7f8426 100644 --- a/linden/indra/newview/app_settings/keywords.ini +++ b/linden/indra/newview/app_settings/keywords.ini | |||
@@ -37,7 +37,7 @@ at_target at_target(integer tnum, vector targetpos, vector ourpos):Result of ll | |||
37 | not_at_target not_at_target():Result of llTarget library function call | 37 | not_at_target not_at_target():Result of llTarget library function call |
38 | at_rot_target at_rot_target(integer tnum, rotation targetrot, rotation ourrot):Result of LLRotTarget library function call | 38 | at_rot_target at_rot_target(integer tnum, rotation targetrot, rotation ourrot):Result of LLRotTarget library function call |
39 | not_at_rot_target not_at_rot_target():Result of LLRotTarget library function call | 39 | not_at_rot_target not_at_rot_target():Result of LLRotTarget library function call |
40 | money money(key id, integer amount):Triggered when money is given to task | 40 | money money(key id, integer amount):Triggered when L$ is given to task |
41 | email email(string time, string address, string subj, string message, integer num_left):Triggered when task receives email | 41 | email email(string time, string address, string subj, string message, integer num_left):Triggered when task receives email |
42 | run_time_permissions run_time_permissions(integer perm):Triggered when an agent grants run time permissions to task | 42 | run_time_permissions run_time_permissions(integer perm):Triggered when an agent grants run time permissions to task |
43 | attach attach(key id):Triggered when an agent attaches or detaches from agent | 43 | attach attach(key id):Triggered when an agent attaches or detaches from agent |
@@ -79,7 +79,7 @@ CONTROL_UP Passed to llTakeControls library function and used control event | |||
79 | CONTROL_DOWN Passed to llTakeControls library function and used control event handler to test for agent down control | 79 | CONTROL_DOWN Passed to llTakeControls library function and used control event handler to test for agent down control |
80 | CONTROL_LBUTTON Passed to llTakeControls library function and used control event handler to test for agent left button control | 80 | CONTROL_LBUTTON Passed to llTakeControls library function and used control event handler to test for agent left button control |
81 | CONTROL_ML_LBUTTON Passed to llTakeControls library function and used control event handler to test for agent left button control with the agent in mouse look | 81 | CONTROL_ML_LBUTTON Passed to llTakeControls library function and used control event handler to test for agent left button control with the agent in mouse look |
82 | PERMISSION_DEBIT Passed to llRequestPermissions library function to request permission to take money from agent's account | 82 | PERMISSION_DEBIT Passed to llRequestPermissions library function to request permission to take L$ from agent's account |
83 | PERMISSION_TAKE_CONTROLS Passed to llRequestPermissions library function to request permission to take agent's controls | 83 | PERMISSION_TAKE_CONTROLS Passed to llRequestPermissions library function to request permission to take agent's controls |
84 | # PERMISSION_REMAP_CONTROLS Passed to llRequestPermissions library function to request permission to remap agent's controls (not implemented yet) | 84 | # PERMISSION_REMAP_CONTROLS Passed to llRequestPermissions library function to request permission to remap agent's controls (not implemented yet) |
85 | PERMISSION_TRIGGER_ANIMATION Passed to llRequestPermissions library function to request permission to trigger animation on agent | 85 | PERMISSION_TRIGGER_ANIMATION Passed to llRequestPermissions library function to request permission to trigger animation on agent |
@@ -346,6 +346,7 @@ PRIM_TYPE_SPHERE Followed by integer hole shape, vector cut, float hollow, vecto | |||
346 | PRIM_TYPE_TORUS Followed by integer hole shape, vector cut, float hollow, vector twist,:vector hole size, vector top shear, vector advanced cut, vector taper,:float revolutions, float radius offset, and float skew | 346 | PRIM_TYPE_TORUS Followed by integer hole shape, vector cut, float hollow, vector twist,:vector hole size, vector top shear, vector advanced cut, vector taper,:float revolutions, float radius offset, and float skew |
347 | PRIM_TYPE_TUBE Followed by integer hole shape, vector cut, float hollow, vector twist,:vector hole size, vector top shear, vector advanced cut, vector taper,:float revolutions, float radius offset, and float skew | 347 | PRIM_TYPE_TUBE Followed by integer hole shape, vector cut, float hollow, vector twist,:vector hole size, vector top shear, vector advanced cut, vector taper,:float revolutions, float radius offset, and float skew |
348 | PRIM_TYPE_RING Followed by integer hole shape, vector cut, float hollow, vector twist,:vector hole size, vector top shear, vector advanced cut, vector taper,:float revolutions, float radius offset, and float skew | 348 | PRIM_TYPE_RING Followed by integer hole shape, vector cut, float hollow, vector twist,:vector hole size, vector top shear, vector advanced cut, vector taper,:float revolutions, float radius offset, and float skew |
349 | PRIM_TYPE_SCULPT Followed by a key or string texture uuid. | ||
349 | 350 | ||
350 | PRIM_HOLE_DEFAULT Sets hole type to match the prim type. | 351 | PRIM_HOLE_DEFAULT Sets hole type to match the prim type. |
351 | PRIM_HOLE_SQUARE Sets hole type to square. | 352 | PRIM_HOLE_SQUARE Sets hole type to square. |
@@ -388,6 +389,11 @@ PRIM_BUMP_WEAVE Weave bump map | |||
388 | PRIM_TEXGEN_DEFAULT Default texture mapping | 389 | PRIM_TEXGEN_DEFAULT Default texture mapping |
389 | PRIM_TEXGEN_PLANAR Planar texture mapping | 390 | PRIM_TEXGEN_PLANAR Planar texture mapping |
390 | 391 | ||
392 | PRIM_SCULPT_TYPE_SPHERE Stitch edges in a sphere-like way | ||
393 | PRIM_SCULPT_TYPE_TORUS Stitch edges in a torus-like way | ||
394 | PRIM_SCULPT_TYPE_PLANE Do not stitch edges | ||
395 | PRIM_SCULPT_TYPE_CYLINDER Stitch edges in a cylinder-like way | ||
396 | |||
391 | MASK_BASE Base permissions | 397 | MASK_BASE Base permissions |
392 | MASK_OWNER Owner permissions | 398 | MASK_OWNER Owner permissions |
393 | MASK_GROUP Group permissions | 399 | MASK_GROUP Group permissions |
diff --git a/linden/indra/newview/llagent.cpp b/linden/indra/newview/llagent.cpp index 85c268b..ab51120 100644 --- a/linden/indra/newview/llagent.cpp +++ b/linden/indra/newview/llagent.cpp | |||
@@ -4937,6 +4937,8 @@ void LLAgent::sendAnimationRequests(LLDynamicArray<LLUUID> &anim_ids, EAnimReque | |||
4937 | num_valid_anims++; | 4937 | num_valid_anims++; |
4938 | } | 4938 | } |
4939 | 4939 | ||
4940 | msg->nextBlockFast(_PREHASH_PhysicalAvatarEventList); | ||
4941 | msg->addBinaryDataFast(_PREHASH_TypeData, NULL, 0); | ||
4940 | if (num_valid_anims) | 4942 | if (num_valid_anims) |
4941 | { | 4943 | { |
4942 | sendReliableMessage(); | 4944 | sendReliableMessage(); |
@@ -4960,6 +4962,8 @@ void LLAgent::sendAnimationRequest(const LLUUID &anim_id, EAnimRequest request) | |||
4960 | msg->addUUIDFast(_PREHASH_AnimID, (anim_id) ); | 4962 | msg->addUUIDFast(_PREHASH_AnimID, (anim_id) ); |
4961 | msg->addBOOLFast(_PREHASH_StartAnim, (request == ANIM_REQUEST_START) ? TRUE : FALSE); | 4963 | msg->addBOOLFast(_PREHASH_StartAnim, (request == ANIM_REQUEST_START) ? TRUE : FALSE); |
4962 | 4964 | ||
4965 | msg->nextBlockFast(_PREHASH_PhysicalAvatarEventList); | ||
4966 | msg->addBinaryDataFast(_PREHASH_TypeData, NULL, 0); | ||
4963 | sendReliableMessage(); | 4967 | sendReliableMessage(); |
4964 | } | 4968 | } |
4965 | 4969 | ||
@@ -6773,7 +6777,7 @@ void LLAgent::removeWearable( EWearableType type ) | |||
6773 | if( old_wearable->isDirty() ) | 6777 | if( old_wearable->isDirty() ) |
6774 | { | 6778 | { |
6775 | // Bring up view-modal dialog: Save changes? Yes, No, Cancel | 6779 | // Bring up view-modal dialog: Save changes? Yes, No, Cancel |
6776 | gViewerWindow->alertXml("RemoveWearableSave", LLAgent::onRemoveWearableDialog, (void*)(S32)type ); | 6780 | gViewerWindow->alertXml("WearableSave", LLAgent::onRemoveWearableDialog, (void*)(S32)type ); |
6777 | return; | 6781 | return; |
6778 | } | 6782 | } |
6779 | else | 6783 | else |
@@ -7003,7 +7007,7 @@ void LLAgent::setWearable( LLInventoryItem* new_item, LLWearable* new_wearable ) | |||
7003 | if( old_wearable->isDirty() ) | 7007 | if( old_wearable->isDirty() ) |
7004 | { | 7008 | { |
7005 | // Bring up modal dialog: Save changes? Yes, No, Cancel | 7009 | // Bring up modal dialog: Save changes? Yes, No, Cancel |
7006 | gViewerWindow->alertXml( "SetWearableSave", LLAgent::onSetWearableDialog, | 7010 | gViewerWindow->alertXml( "WearableSave", LLAgent::onSetWearableDialog, |
7007 | new LLSetWearableData( new_item->getUUID(), new_wearable )); | 7011 | new LLSetWearableData( new_item->getUUID(), new_wearable )); |
7008 | return; | 7012 | return; |
7009 | } | 7013 | } |
diff --git a/linden/indra/newview/llassetuploadresponders.cpp b/linden/indra/newview/llassetuploadresponders.cpp index 26c606f..789beaa 100644 --- a/linden/indra/newview/llassetuploadresponders.cpp +++ b/linden/indra/newview/llassetuploadresponders.cpp | |||
@@ -128,7 +128,7 @@ void LLAssetUploadResponder::uploadUpload(const LLSD& content) | |||
128 | void LLAssetUploadResponder::uploadFailure(const LLSD& content) | 128 | void LLAssetUploadResponder::uploadFailure(const LLSD& content) |
129 | { | 129 | { |
130 | std::string reason = content["state"]; | 130 | std::string reason = content["state"]; |
131 | // deal with money errors | 131 | // deal with L$ errors |
132 | if (reason == "insufficient funds") | 132 | if (reason == "insufficient funds") |
133 | { | 133 | { |
134 | LLFloaterBuyCurrency::buyCurrency("Uploading costs", gGlobalEconomy->getPriceUpload()); | 134 | LLFloaterBuyCurrency::buyCurrency("Uploading costs", gGlobalEconomy->getPriceUpload()); |
@@ -166,7 +166,7 @@ void LLNewAgentInventoryResponder::uploadComplete(const LLSD& content) | |||
166 | LLAssetType::EType asset_type = LLAssetType::lookup(mPostData["asset_type"].asString().c_str()); | 166 | LLAssetType::EType asset_type = LLAssetType::lookup(mPostData["asset_type"].asString().c_str()); |
167 | LLInventoryType::EType inventory_type = LLInventoryType::lookup(mPostData["inventory_type"].asString().c_str()); | 167 | LLInventoryType::EType inventory_type = LLInventoryType::lookup(mPostData["inventory_type"].asString().c_str()); |
168 | 168 | ||
169 | // Update money and ownership credit information | 169 | // Update L$ and ownership credit information |
170 | // since it probably changed on the server | 170 | // since it probably changed on the server |
171 | if (asset_type == LLAssetType::AT_TEXTURE || | 171 | if (asset_type == LLAssetType::AT_TEXTURE || |
172 | asset_type == LLAssetType::AT_SOUND || | 172 | asset_type == LLAssetType::AT_SOUND || |
diff --git a/linden/indra/newview/llcontroldef.cpp b/linden/indra/newview/llcontroldef.cpp index 11b97b4..01d7edf 100644 --- a/linden/indra/newview/llcontroldef.cpp +++ b/linden/indra/newview/llcontroldef.cpp | |||
@@ -865,7 +865,7 @@ void declare_settings() | |||
865 | // recompile everything dialog | 865 | // recompile everything dialog |
866 | gSavedSettings.declareRect("CompileOutputRect", LLRect(0, 400, 300, 0), "Rectangle for script Recompile Everything output window"); | 866 | gSavedSettings.declareRect("CompileOutputRect", LLRect(0, 400, 300, 0), "Rectangle for script Recompile Everything output window"); |
867 | 867 | ||
868 | // money | 868 | // L$ |
869 | gSavedSettings.declareRect("FloaterPayRectB", LLRect(0, 150, 400, 0), "Rectangle for pay window"); | 869 | gSavedSettings.declareRect("FloaterPayRectB", LLRect(0, 150, 400, 0), "Rectangle for pay window"); |
870 | 870 | ||
871 | // Buy | 871 | // Buy |
@@ -1015,7 +1015,7 @@ void declare_settings() | |||
1015 | gSavedSettings.declareBOOL("UISndDebugSpamToggle", FALSE, "Log UI sound effects as they are played"); | 1015 | gSavedSettings.declareBOOL("UISndDebugSpamToggle", FALSE, "Log UI sound effects as they are played"); |
1016 | 1016 | ||
1017 | gSavedSettings.declareF32("UISndHealthReductionThreshold", 10.f, "Amount of health reduction required to trigger \"pain\" sound"); | 1017 | gSavedSettings.declareF32("UISndHealthReductionThreshold", 10.f, "Amount of health reduction required to trigger \"pain\" sound"); |
1018 | gSavedSettings.declareF32("UISndMoneyChangeThreshold", 50.f, "Amount of change in bank balance required to trigger \"money\" sound"); | 1018 | gSavedSettings.declareF32("UISndMoneyChangeThreshold", 50.f, "Amount of change in L$ balance required to trigger \"money\" sound"); |
1019 | 1019 | ||
1020 | gSavedSettings.declareString("UISndAlert", "ed124764-705d-d497-167a-182cd9fa2e6c", "Sound file for alerts (uuid for sound asset)"); | 1020 | gSavedSettings.declareString("UISndAlert", "ed124764-705d-d497-167a-182cd9fa2e6c", "Sound file for alerts (uuid for sound asset)"); |
1021 | //gSavedSettings.declareString("UISndAppearanceAnimate", "6cf2be26-90cb-2669-a599-f5ab7698225f", "[NOT USED]"); | 1021 | //gSavedSettings.declareString("UISndAppearanceAnimate", "6cf2be26-90cb-2669-a599-f5ab7698225f", "[NOT USED]"); |
@@ -1031,8 +1031,8 @@ void declare_settings() | |||
1031 | //gSavedSettings.declareString("UISndInvApplyToObject", "00000000-0000-0000-0000-000000000000", "[NOT USED]"); | 1031 | //gSavedSettings.declareString("UISndInvApplyToObject", "00000000-0000-0000-0000-000000000000", "[NOT USED]"); |
1032 | gSavedSettings.declareString("UISndInvalidOp", "4174f859-0d3d-c517-c424-72923dc21f65", "Sound file for invalid operations (uuid for sound asset)"); | 1032 | gSavedSettings.declareString("UISndInvalidOp", "4174f859-0d3d-c517-c424-72923dc21f65", "Sound file for invalid operations (uuid for sound asset)"); |
1033 | //gSavedSettings.declareString("UISndInventoryCopyToInv", "00000000-0000-0000-0000-000000000000", "[NOT USED]"); | 1033 | //gSavedSettings.declareString("UISndInventoryCopyToInv", "00000000-0000-0000-0000-000000000000", "[NOT USED]"); |
1034 | gSavedSettings.declareString("UISndMoneyChangeDown", "104974e3-dfda-428b-99ee-b0d4e748d3a3", "Sound file for bank balance increase (uuid for sound asset)"); | 1034 | gSavedSettings.declareString("UISndMoneyChangeDown", "104974e3-dfda-428b-99ee-b0d4e748d3a3", "Sound file for L$ balance increase (uuid for sound asset)"); |
1035 | gSavedSettings.declareString("UISndMoneyChangeUp", "77a018af-098e-c037-51a6-178f05877c6f", "Sound file for bank balance decrease(uuid for sound asset)"); | 1035 | gSavedSettings.declareString("UISndMoneyChangeUp", "77a018af-098e-c037-51a6-178f05877c6f", "Sound file for L$ balance decrease(uuid for sound asset)"); |
1036 | gSavedSettings.declareString("UISndNewIncomingIMSession", "67cc2844-00f3-2b3c-b991-6418d01e1bb7", "Sound file for new instant message session(uuid for sound asset)"); | 1036 | gSavedSettings.declareString("UISndNewIncomingIMSession", "67cc2844-00f3-2b3c-b991-6418d01e1bb7", "Sound file for new instant message session(uuid for sound asset)"); |
1037 | //gSavedSettings.declareString("UISndObjectCopyToInv", "00000000-0000-0000-0000-000000000000", "[NOT USED]"); | 1037 | //gSavedSettings.declareString("UISndObjectCopyToInv", "00000000-0000-0000-0000-000000000000", "[NOT USED]"); |
1038 | gSavedSettings.declareString("UISndObjectCreate", "f4a0660f-5446-dea2-80b7-6482a082803c", "Sound file for object creation (uuid for sound asset)"); | 1038 | gSavedSettings.declareString("UISndObjectCreate", "f4a0660f-5446-dea2-80b7-6482a082803c", "Sound file for object creation (uuid for sound asset)"); |
@@ -1144,7 +1144,7 @@ void declare_settings() | |||
1144 | gSavedSettings.declareF32("NotifyTipDuration", 4.f, "Length of time that notification tips stay on screen (seconds)"); | 1144 | gSavedSettings.declareF32("NotifyTipDuration", 4.f, "Length of time that notification tips stay on screen (seconds)"); |
1145 | 1145 | ||
1146 | 1146 | ||
1147 | gSavedSettings.declareBOOL("NotifyMoneyChange", TRUE, "Pop up notifications for all financial transactions"); | 1147 | gSavedSettings.declareBOOL("NotifyMoneyChange", TRUE, "Pop up notifications for all L$ transactions"); |
1148 | gSavedSettings.declareBOOL("ShowNewInventory", TRUE, | 1148 | gSavedSettings.declareBOOL("ShowNewInventory", TRUE, |
1149 | "Automatic Previews of new notecards/textures/landmarks"); | 1149 | "Automatic Previews of new notecards/textures/landmarks"); |
1150 | 1150 | ||
diff --git a/linden/indra/newview/llface.cpp b/linden/indra/newview/llface.cpp index 3b47e21..342c76e 100644 --- a/linden/indra/newview/llface.cpp +++ b/linden/indra/newview/llface.cpp | |||
@@ -726,8 +726,6 @@ BOOL LLFace::genVolumeBBoxes(const LLVolume &volume, S32 f, | |||
726 | { | 726 | { |
727 | LLMemType mt1(LLMemType::MTYPE_DRAWABLE); | 727 | LLMemType mt1(LLMemType::MTYPE_DRAWABLE); |
728 | 728 | ||
729 | const LLVolumeFace &face = volume.getVolumeFace(f); | ||
730 | |||
731 | //get bounding box | 729 | //get bounding box |
732 | if (mDrawablep->isState(LLDrawable::REBUILD_VOLUME | LLDrawable::REBUILD_POSITION)) | 730 | if (mDrawablep->isState(LLDrawable::REBUILD_VOLUME | LLDrawable::REBUILD_POSITION)) |
733 | { | 731 | { |
@@ -738,9 +736,18 @@ BOOL LLFace::genVolumeBBoxes(const LLVolume &volume, S32 f, | |||
738 | } | 736 | } |
739 | 737 | ||
740 | LLVector3 min,max; | 738 | LLVector3 min,max; |
741 | 739 | ||
742 | min = face.mExtents[0]; | 740 | if (f >= volume.getNumVolumeFaces()) |
743 | max = face.mExtents[1]; | 741 | { |
742 | min = LLVector3(-1,-1,-1); | ||
743 | max = LLVector3(1,1,1); | ||
744 | } | ||
745 | else | ||
746 | { | ||
747 | const LLVolumeFace &face = volume.getVolumeFace(f); | ||
748 | min = face.mExtents[0]; | ||
749 | max = face.mExtents[1]; | ||
750 | } | ||
744 | 751 | ||
745 | //min, max are in volume space, convert to drawable render space | 752 | //min, max are in volume space, convert to drawable render space |
746 | LLVector3 center = ((min + max) * 0.5f)*mat_vert; | 753 | LLVector3 center = ((min + max) * 0.5f)*mat_vert; |
@@ -904,6 +911,10 @@ BOOL LLFace::getGeometryVolume(const LLVolume& volume, | |||
904 | full_rebuild = TRUE; | 911 | full_rebuild = TRUE; |
905 | } | 912 | } |
906 | } | 913 | } |
914 | else | ||
915 | { | ||
916 | full_rebuild = TRUE; | ||
917 | } | ||
907 | } | 918 | } |
908 | else | 919 | else |
909 | { | 920 | { |
diff --git a/linden/indra/newview/llfirstuse.h b/linden/indra/newview/llfirstuse.h index 89a58be..4d0e754 100644 --- a/linden/indra/newview/llfirstuse.h +++ b/linden/indra/newview/llfirstuse.h | |||
@@ -49,8 +49,8 @@ reduced range, how to leave conversation, arrow keys to orbit. | |||
49 | 6. First lft-click that does nothing (land,object): Explain that rgt-click | 49 | 6. First lft-click that does nothing (land,object): Explain that rgt-click |
50 | gives menu, lft-click interacts or moves if physical | 50 | gives menu, lft-click interacts or moves if physical |
51 | 51 | ||
52 | 7. On first receipt of money (not rez/derez) explain that objects or people may | 52 | 7. On first receipt of L$ (not rez/derez) explain that objects or people may |
53 | give you money, and how to give someone or something money ('Pay...'). | 53 | give you L$, and how to give someone or something money ('Pay...'). |
54 | 54 | ||
55 | 8. After first teleporting and being sent to nearest hub, a dialog explaining | 55 | 8. After first teleporting and being sent to nearest hub, a dialog explaining |
56 | how to find and move toward the beacon. | 56 | how to find and move toward the beacon. |
diff --git a/linden/indra/newview/llfloaterimagepreview.cpp b/linden/indra/newview/llfloaterimagepreview.cpp index 9237380..9dfaa49 100644 --- a/linden/indra/newview/llfloaterimagepreview.cpp +++ b/linden/indra/newview/llfloaterimagepreview.cpp | |||
@@ -102,10 +102,14 @@ BOOL LLFloaterImagePreview::postBuild() | |||
102 | { | 102 | { |
103 | mAvatarPreview = new LLImagePreviewAvatar(256, 256); | 103 | mAvatarPreview = new LLImagePreviewAvatar(256, 256); |
104 | mAvatarPreview->setPreviewTarget("mPelvis", "mUpperBodyMesh0", mRawImagep, 2.f, FALSE); | 104 | mAvatarPreview->setPreviewTarget("mPelvis", "mUpperBodyMesh0", mRawImagep, 2.f, FALSE); |
105 | |||
106 | mSculptedPreview = new LLImagePreviewSculpted(256, 256); | ||
107 | mSculptedPreview->setPreviewTarget(mRawImagep, 2.0f); | ||
105 | } | 108 | } |
106 | else | 109 | else |
107 | { | 110 | { |
108 | mAvatarPreview = NULL; | 111 | mAvatarPreview = NULL; |
112 | mSculptedPreview = NULL; | ||
109 | childShow("bad_image_text"); | 113 | childShow("bad_image_text"); |
110 | childDisable("clothing_type_combo"); | 114 | childDisable("clothing_type_combo"); |
111 | childDisable("ok_btn"); | 115 | childDisable("ok_btn"); |
@@ -121,6 +125,8 @@ LLFloaterImagePreview::~LLFloaterImagePreview() | |||
121 | { | 125 | { |
122 | mRawImagep = NULL; | 126 | mRawImagep = NULL; |
123 | delete mAvatarPreview; | 127 | delete mAvatarPreview; |
128 | delete mSculptedPreview; | ||
129 | |||
124 | if (mGLName) | 130 | if (mGLName) |
125 | { | 131 | { |
126 | glDeleteTextures(1, &mGLName ); | 132 | glDeleteTextures(1, &mGLName ); |
@@ -135,7 +141,7 @@ void LLFloaterImagePreview::onPreviewTypeCommit(LLUICtrl* ctrl, void* userdata) | |||
135 | { | 141 | { |
136 | LLFloaterImagePreview *fp =(LLFloaterImagePreview *)userdata; | 142 | LLFloaterImagePreview *fp =(LLFloaterImagePreview *)userdata; |
137 | 143 | ||
138 | if (!fp->mAvatarPreview) | 144 | if (!fp->mAvatarPreview || !fp->mSculptedPreview) |
139 | { | 145 | { |
140 | return; | 146 | return; |
141 | } | 147 | } |
@@ -176,10 +182,15 @@ void LLFloaterImagePreview::onPreviewTypeCommit(LLUICtrl* ctrl, void* userdata) | |||
176 | case 8: | 182 | case 8: |
177 | fp->mAvatarPreview->setPreviewTarget("mKneeLeft", "mSkirtMesh0", fp->mRawImagep, 1.3f, FALSE); | 183 | fp->mAvatarPreview->setPreviewTarget("mKneeLeft", "mSkirtMesh0", fp->mRawImagep, 1.3f, FALSE); |
178 | break; | 184 | break; |
185 | case 9: | ||
186 | fp->mSculptedPreview->setPreviewTarget(fp->mRawImagep, 2.0f); | ||
187 | break; | ||
179 | default: | 188 | default: |
180 | break; | 189 | break; |
181 | } | 190 | } |
191 | |||
182 | fp->mAvatarPreview->refresh(); | 192 | fp->mAvatarPreview->refresh(); |
193 | fp->mSculptedPreview->refresh(); | ||
183 | } | 194 | } |
184 | 195 | ||
185 | //----------------------------------------------------------------------------- | 196 | //----------------------------------------------------------------------------- |
@@ -193,7 +204,11 @@ void LLFloaterImagePreview::draw() | |||
193 | if (mRawImagep.notNull()) | 204 | if (mRawImagep.notNull()) |
194 | { | 205 | { |
195 | LLCtrlSelectionInterface* iface = childGetSelectionInterface("clothing_type_combo"); | 206 | LLCtrlSelectionInterface* iface = childGetSelectionInterface("clothing_type_combo"); |
196 | if (iface && iface->getFirstSelectedIndex() <= 0) | 207 | U32 selected = 0; |
208 | if (iface) | ||
209 | selected = iface->getFirstSelectedIndex(); | ||
210 | |||
211 | if (selected <= 0) | ||
197 | { | 212 | { |
198 | gl_rect_2d_checkerboard(mPreviewRect); | 213 | gl_rect_2d_checkerboard(mPreviewRect); |
199 | LLGLDisable gls_alpha(GL_ALPHA_TEST); | 214 | LLGLDisable gls_alpha(GL_ALPHA_TEST); |
@@ -230,6 +245,7 @@ void LLFloaterImagePreview::draw() | |||
230 | if (mAvatarPreview) | 245 | if (mAvatarPreview) |
231 | { | 246 | { |
232 | mAvatarPreview->setTexture(mGLName); | 247 | mAvatarPreview->setTexture(mGLName); |
248 | mSculptedPreview->setTexture(mGLName); | ||
233 | } | 249 | } |
234 | } | 250 | } |
235 | 251 | ||
@@ -253,10 +269,14 @@ void LLFloaterImagePreview::draw() | |||
253 | } | 269 | } |
254 | else | 270 | else |
255 | { | 271 | { |
256 | if (mAvatarPreview) | 272 | if ((mAvatarPreview) && (mSculptedPreview)) |
257 | { | 273 | { |
258 | glColor3f(1.f, 1.f, 1.f); | 274 | glColor3f(1.f, 1.f, 1.f); |
259 | mAvatarPreview->bindTexture(); | 275 | |
276 | if (selected == 9) | ||
277 | mSculptedPreview->bindTexture(); | ||
278 | else | ||
279 | mAvatarPreview->bindTexture(); | ||
260 | 280 | ||
261 | glBegin( GL_QUADS ); | 281 | glBegin( GL_QUADS ); |
262 | { | 282 | { |
@@ -271,12 +291,16 @@ void LLFloaterImagePreview::draw() | |||
271 | } | 291 | } |
272 | glEnd(); | 292 | glEnd(); |
273 | 293 | ||
274 | mAvatarPreview->unbindTexture(); | 294 | if (selected == 9) |
295 | mSculptedPreview->unbindTexture(); | ||
296 | else | ||
297 | mAvatarPreview->unbindTexture(); | ||
275 | } | 298 | } |
276 | } | 299 | } |
277 | } | 300 | } |
278 | } | 301 | } |
279 | 302 | ||
303 | |||
280 | //----------------------------------------------------------------------------- | 304 | //----------------------------------------------------------------------------- |
281 | // loadImage() | 305 | // loadImage() |
282 | //----------------------------------------------------------------------------- | 306 | //----------------------------------------------------------------------------- |
@@ -417,6 +441,7 @@ BOOL LLFloaterImagePreview::handleHover(S32 x, S32 y, MASK mask) | |||
417 | else | 441 | else |
418 | { | 442 | { |
419 | mAvatarPreview->pan((F32)(x - mLastMouseX) * -0.005f, (F32)(y - mLastMouseY) * -0.005f); | 443 | mAvatarPreview->pan((F32)(x - mLastMouseX) * -0.005f, (F32)(y - mLastMouseY) * -0.005f); |
444 | mSculptedPreview->pan((F32)(x - mLastMouseX) * -0.005f, (F32)(y - mLastMouseY) * -0.005f); | ||
420 | } | 445 | } |
421 | } | 446 | } |
422 | else if (local_mask == MASK_ORBIT) | 447 | else if (local_mask == MASK_ORBIT) |
@@ -425,6 +450,7 @@ BOOL LLFloaterImagePreview::handleHover(S32 x, S32 y, MASK mask) | |||
425 | F32 pitch_radians = (F32)(y - mLastMouseY) * 0.02f; | 450 | F32 pitch_radians = (F32)(y - mLastMouseY) * 0.02f; |
426 | 451 | ||
427 | mAvatarPreview->rotate(yaw_radians, pitch_radians); | 452 | mAvatarPreview->rotate(yaw_radians, pitch_radians); |
453 | mSculptedPreview->rotate(yaw_radians, pitch_radians); | ||
428 | } | 454 | } |
429 | else | 455 | else |
430 | { | 456 | { |
@@ -441,6 +467,8 @@ BOOL LLFloaterImagePreview::handleHover(S32 x, S32 y, MASK mask) | |||
441 | 467 | ||
442 | mAvatarPreview->rotate(yaw_radians, 0.f); | 468 | mAvatarPreview->rotate(yaw_radians, 0.f); |
443 | mAvatarPreview->zoom(zoom_amt); | 469 | mAvatarPreview->zoom(zoom_amt); |
470 | mSculptedPreview->rotate(yaw_radians, 0.f); | ||
471 | mSculptedPreview->zoom(zoom_amt); | ||
444 | } | 472 | } |
445 | } | 473 | } |
446 | 474 | ||
@@ -486,12 +514,13 @@ BOOL LLFloaterImagePreview::handleHover(S32 x, S32 y, MASK mask) | |||
486 | else | 514 | else |
487 | { | 515 | { |
488 | mAvatarPreview->refresh(); | 516 | mAvatarPreview->refresh(); |
517 | mSculptedPreview->refresh(); | ||
489 | } | 518 | } |
490 | 519 | ||
491 | LLUI::setCursorPositionLocal(this, mLastMouseX, mLastMouseY); | 520 | LLUI::setCursorPositionLocal(this, mLastMouseX, mLastMouseY); |
492 | } | 521 | } |
493 | 522 | ||
494 | if (!mPreviewRect.pointInRect(x, y) || !mAvatarPreview) | 523 | if (!mPreviewRect.pointInRect(x, y) || !mAvatarPreview || !mSculptedPreview) |
495 | { | 524 | { |
496 | return LLFloater::handleHover(x, y, mask); | 525 | return LLFloater::handleHover(x, y, mask); |
497 | } | 526 | } |
@@ -520,6 +549,9 @@ BOOL LLFloaterImagePreview::handleScrollWheel(S32 x, S32 y, S32 clicks) | |||
520 | { | 549 | { |
521 | mAvatarPreview->zoom((F32)clicks * -0.2f); | 550 | mAvatarPreview->zoom((F32)clicks * -0.2f); |
522 | mAvatarPreview->refresh(); | 551 | mAvatarPreview->refresh(); |
552 | |||
553 | mSculptedPreview->zoom((F32)clicks * -0.2f); | ||
554 | mSculptedPreview->refresh(); | ||
523 | } | 555 | } |
524 | 556 | ||
525 | return TRUE; | 557 | return TRUE; |
@@ -560,6 +592,7 @@ LLImagePreviewAvatar::LLImagePreviewAvatar(S32 width, S32 height) : LLDynamicTex | |||
560 | mTextureName = 0; | 592 | mTextureName = 0; |
561 | } | 593 | } |
562 | 594 | ||
595 | |||
563 | LLImagePreviewAvatar::~LLImagePreviewAvatar() | 596 | LLImagePreviewAvatar::~LLImagePreviewAvatar() |
564 | { | 597 | { |
565 | mDummyAvatar->markDead(); | 598 | mDummyAvatar->markDead(); |
@@ -602,7 +635,7 @@ void LLImagePreviewAvatar::setPreviewTarget(const char* joint_name, const char* | |||
602 | //----------------------------------------------------------------------------- | 635 | //----------------------------------------------------------------------------- |
603 | // update() | 636 | // update() |
604 | //----------------------------------------------------------------------------- | 637 | //----------------------------------------------------------------------------- |
605 | BOOL LLImagePreviewAvatar::render() | 638 | BOOL LLImagePreviewAvatar::render() |
606 | { | 639 | { |
607 | mNeedsUpdate = FALSE; | 640 | mNeedsUpdate = FALSE; |
608 | LLVOAvatar* avatarp = mDummyAvatar; | 641 | LLVOAvatar* avatarp = mDummyAvatar; |
@@ -640,6 +673,7 @@ BOOL LLImagePreviewAvatar::render() | |||
640 | 673 | ||
641 | stop_glerror(); | 674 | stop_glerror(); |
642 | 675 | ||
676 | gCamera->setAspect((F32)mWidth / mHeight); | ||
643 | gCamera->setView(gCamera->getDefaultFOV() / mCameraZoom); | 677 | gCamera->setView(gCamera->getDefaultFOV() / mCameraZoom); |
644 | gCamera->setPerspective(FALSE, mOrigin.mX, mOrigin.mY, mWidth, mHeight, FALSE); | 678 | gCamera->setPerspective(FALSE, mOrigin.mX, mOrigin.mY, mWidth, mHeight, FALSE); |
645 | 679 | ||
@@ -692,3 +726,170 @@ void LLImagePreviewAvatar::pan(F32 right, F32 up) | |||
692 | mCameraOffset.mV[VY] = llclamp(mCameraOffset.mV[VY] + right * mCameraDistance / mCameraZoom, -1.f, 1.f); | 726 | mCameraOffset.mV[VY] = llclamp(mCameraOffset.mV[VY] + right * mCameraDistance / mCameraZoom, -1.f, 1.f); |
693 | mCameraOffset.mV[VZ] = llclamp(mCameraOffset.mV[VZ] + up * mCameraDistance / mCameraZoom, -1.f, 1.f); | 727 | mCameraOffset.mV[VZ] = llclamp(mCameraOffset.mV[VZ] + up * mCameraDistance / mCameraZoom, -1.f, 1.f); |
694 | } | 728 | } |
729 | |||
730 | |||
731 | //----------------------------------------------------------------------------- | ||
732 | // LLImagePreviewSculpted | ||
733 | //----------------------------------------------------------------------------- | ||
734 | |||
735 | LLImagePreviewSculpted::LLImagePreviewSculpted(S32 width, S32 height) : LLDynamicTexture(width, height, 3, ORDER_MIDDLE, FALSE) | ||
736 | { | ||
737 | mNeedsUpdate = TRUE; | ||
738 | mCameraDistance = 0.f; | ||
739 | mCameraYaw = 0.f; | ||
740 | mCameraPitch = 0.f; | ||
741 | mCameraZoom = 1.f; | ||
742 | mTextureName = 0; | ||
743 | |||
744 | LLVolumeParams volume_params; | ||
745 | volume_params.setType(LL_PCODE_PROFILE_CIRCLE, LL_PCODE_PATH_CIRCLE); | ||
746 | mVolume = new LLVolume(volume_params, (F32) MAX_LOD); | ||
747 | |||
748 | /* | ||
749 | mDummyAvatar = new LLVOAvatar(LLUUID::null, LL_PCODE_LEGACY_AVATAR, gAgent.getRegion()); | ||
750 | mDummyAvatar->createDrawable(&gPipeline); | ||
751 | mDummyAvatar->mIsDummy = TRUE; | ||
752 | mDummyAvatar->mSpecialRenderMode = 2; | ||
753 | mDummyAvatar->setPositionAgent(LLVector3::zero); | ||
754 | mDummyAvatar->slamPosition(); | ||
755 | mDummyAvatar->updateJointLODs(); | ||
756 | mDummyAvatar->updateGeometry(mDummyAvatar->mDrawable); | ||
757 | gPipeline.markVisible(mDummyAvatar->mDrawable, *gCamera); | ||
758 | mTextureName = 0; | ||
759 | */ | ||
760 | } | ||
761 | |||
762 | |||
763 | LLImagePreviewSculpted::~LLImagePreviewSculpted() | ||
764 | { | ||
765 | /* | ||
766 | mDummyAvatar->markDead(); | ||
767 | */ | ||
768 | } | ||
769 | |||
770 | |||
771 | void LLImagePreviewSculpted::setPreviewTarget(LLImageRaw* imagep, F32 distance) | ||
772 | { | ||
773 | mCameraDistance = distance; | ||
774 | mCameraZoom = 1.f; | ||
775 | mCameraPitch = 0.f; | ||
776 | mCameraYaw = 0.f; | ||
777 | mCameraOffset.clearVec(); | ||
778 | |||
779 | if (imagep) | ||
780 | { | ||
781 | mVolume->sculpt(imagep->getWidth(), imagep->getHeight(), imagep->getComponents(), imagep->getData(), 0); | ||
782 | } | ||
783 | |||
784 | } | ||
785 | |||
786 | |||
787 | //----------------------------------------------------------------------------- | ||
788 | // render() | ||
789 | //----------------------------------------------------------------------------- | ||
790 | BOOL LLImagePreviewSculpted::render() | ||
791 | { | ||
792 | mNeedsUpdate = FALSE; | ||
793 | |||
794 | LLGLSUIDefault def; | ||
795 | LLGLDisable no_blend(GL_BLEND); | ||
796 | LLGLEnable cull(GL_CULL_FACE); | ||
797 | LLGLDepthTest depth(GL_TRUE); | ||
798 | |||
799 | glMatrixMode(GL_PROJECTION); | ||
800 | glPushMatrix(); | ||
801 | glLoadIdentity(); | ||
802 | glOrtho(0.0f, mWidth, 0.0f, mHeight, -1.0f, 1.0f); | ||
803 | |||
804 | glMatrixMode(GL_MODELVIEW); | ||
805 | glPushMatrix(); | ||
806 | glLoadIdentity(); | ||
807 | |||
808 | glColor4f(0.15f, 0.2f, 0.3f, 1.f); | ||
809 | |||
810 | gl_rect_2d_simple( mWidth, mHeight ); | ||
811 | |||
812 | glMatrixMode(GL_PROJECTION); | ||
813 | glPopMatrix(); | ||
814 | |||
815 | glMatrixMode(GL_MODELVIEW); | ||
816 | glPopMatrix(); | ||
817 | |||
818 | glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); | ||
819 | |||
820 | LLVector3 target_pos(0, 0, 0); | ||
821 | |||
822 | LLQuaternion camera_rot = LLQuaternion(mCameraPitch, LLVector3::y_axis) * | ||
823 | LLQuaternion(mCameraYaw, LLVector3::z_axis); | ||
824 | |||
825 | LLQuaternion av_rot = camera_rot; | ||
826 | gCamera->setOriginAndLookAt( | ||
827 | target_pos + ((LLVector3(mCameraDistance, 0.f, 0.f) + mCameraOffset) * av_rot), // camera | ||
828 | LLVector3::z_axis, // up | ||
829 | target_pos + (mCameraOffset * av_rot) ); // point of interest | ||
830 | |||
831 | stop_glerror(); | ||
832 | |||
833 | gCamera->setAspect((F32) mWidth / mHeight); | ||
834 | gCamera->setView(gCamera->getDefaultFOV() / mCameraZoom); | ||
835 | gCamera->setPerspective(FALSE, mOrigin.mX, mOrigin.mY, mWidth, mHeight, FALSE); | ||
836 | |||
837 | gPipeline.enableLightsAvatar(0.0); | ||
838 | |||
839 | |||
840 | glPushMatrix(); | ||
841 | glScalef(0.5, 0.5, 0.5); | ||
842 | |||
843 | glBegin(GL_TRIANGLES); | ||
844 | glColor3f(0.8f, 0.8f, 0.8f); | ||
845 | |||
846 | const LLVolumeFace &vf = mVolume->getVolumeFace(0); | ||
847 | S32 num_indices = (S32)vf.mIndices.size(); | ||
848 | for (U32 i = 0; (S32)i < num_indices; i++) | ||
849 | { | ||
850 | LLVector3 normal = vf.mVertices[vf.mIndices[i]].mNormal; | ||
851 | normal.normVec(); | ||
852 | glNormal3f(normal.mV[VX], normal.mV[VY], normal.mV[VZ]); | ||
853 | |||
854 | LLVector3 position = vf.mVertices[vf.mIndices[i]].mPosition; | ||
855 | glVertex3f(position.mV[VX], position.mV[VY], position.mV[VZ]); | ||
856 | } | ||
857 | |||
858 | glEnd(); | ||
859 | |||
860 | glPopMatrix(); | ||
861 | |||
862 | return TRUE; | ||
863 | } | ||
864 | |||
865 | //----------------------------------------------------------------------------- | ||
866 | // refresh() | ||
867 | //----------------------------------------------------------------------------- | ||
868 | void LLImagePreviewSculpted::refresh() | ||
869 | { | ||
870 | mNeedsUpdate = TRUE; | ||
871 | } | ||
872 | |||
873 | //----------------------------------------------------------------------------- | ||
874 | // rotate() | ||
875 | //----------------------------------------------------------------------------- | ||
876 | void LLImagePreviewSculpted::rotate(F32 yaw_radians, F32 pitch_radians) | ||
877 | { | ||
878 | mCameraYaw = mCameraYaw + yaw_radians; | ||
879 | |||
880 | mCameraPitch = llclamp(mCameraPitch + pitch_radians, F_PI_BY_TWO * -0.8f, F_PI_BY_TWO * 0.8f); | ||
881 | } | ||
882 | |||
883 | //----------------------------------------------------------------------------- | ||
884 | // zoom() | ||
885 | //----------------------------------------------------------------------------- | ||
886 | void LLImagePreviewSculpted::zoom(F32 zoom_amt) | ||
887 | { | ||
888 | mCameraZoom = llclamp(mCameraZoom + zoom_amt, 1.f, 10.f); | ||
889 | } | ||
890 | |||
891 | void LLImagePreviewSculpted::pan(F32 right, F32 up) | ||
892 | { | ||
893 | mCameraOffset.mV[VY] = llclamp(mCameraOffset.mV[VY] + right * mCameraDistance / mCameraZoom, -1.f, 1.f); | ||
894 | mCameraOffset.mV[VZ] = llclamp(mCameraOffset.mV[VZ] + up * mCameraDistance / mCameraZoom, -1.f, 1.f); | ||
895 | } | ||
diff --git a/linden/indra/newview/llfloaterimagepreview.h b/linden/indra/newview/llfloaterimagepreview.h index 57874f1..1d212be 100644 --- a/linden/indra/newview/llfloaterimagepreview.h +++ b/linden/indra/newview/llfloaterimagepreview.h | |||
@@ -39,6 +39,34 @@ class LLViewerJointMesh; | |||
39 | class LLVOAvatar; | 39 | class LLVOAvatar; |
40 | class LLTextBox; | 40 | class LLTextBox; |
41 | 41 | ||
42 | class LLImagePreviewSculpted : public LLDynamicTexture | ||
43 | { | ||
44 | public: | ||
45 | LLImagePreviewSculpted(S32 width, S32 height); | ||
46 | virtual ~LLImagePreviewSculpted(); | ||
47 | |||
48 | void setPreviewTarget(LLImageRaw *imagep, F32 distance); | ||
49 | void setTexture(U32 name) { mTextureName = name; } | ||
50 | |||
51 | BOOL render(); | ||
52 | void refresh(); | ||
53 | void rotate(F32 yaw_radians, F32 pitch_radians); | ||
54 | void zoom(F32 zoom_amt); | ||
55 | void pan(F32 right, F32 up); | ||
56 | virtual BOOL needsRender() { return mNeedsUpdate; } | ||
57 | |||
58 | protected: | ||
59 | BOOL mNeedsUpdate; | ||
60 | U32 mTextureName; | ||
61 | F32 mCameraDistance; | ||
62 | F32 mCameraYaw; | ||
63 | F32 mCameraPitch; | ||
64 | F32 mCameraZoom; | ||
65 | LLVector3 mCameraOffset; | ||
66 | LLPointer<LLVolume> mVolume; | ||
67 | }; | ||
68 | |||
69 | |||
42 | class LLImagePreviewAvatar : public LLDynamicTexture | 70 | class LLImagePreviewAvatar : public LLDynamicTexture |
43 | { | 71 | { |
44 | public: | 72 | public: |
@@ -91,6 +119,7 @@ protected: | |||
91 | 119 | ||
92 | LLPointer<LLImageRaw> mRawImagep; | 120 | LLPointer<LLImageRaw> mRawImagep; |
93 | LLImagePreviewAvatar* mAvatarPreview; | 121 | LLImagePreviewAvatar* mAvatarPreview; |
122 | LLImagePreviewSculpted* mSculptedPreview; | ||
94 | S32 mLastMouseX; | 123 | S32 mLastMouseX; |
95 | S32 mLastMouseY; | 124 | S32 mLastMouseY; |
96 | LLRect mPreviewRect; | 125 | LLRect mPreviewRect; |
diff --git a/linden/indra/newview/llfloaterlandholdings.cpp b/linden/indra/newview/llfloaterlandholdings.cpp index 3bdfdd9..9ebd18c 100644 --- a/linden/indra/newview/llfloaterlandholdings.cpp +++ b/linden/indra/newview/llfloaterlandholdings.cpp | |||
@@ -72,7 +72,7 @@ void LLFloaterLandHoldings::show(void*) | |||
72 | LLParcel::C_ANY, | 72 | LLParcel::C_ANY, |
73 | ""); | 73 | ""); |
74 | 74 | ||
75 | // TODO: request updated money balance? | 75 | // TODO: request updated L$ balance? |
76 | floater->open(); /* Flawfinder: ignore */ | 76 | floater->open(); /* Flawfinder: ignore */ |
77 | } | 77 | } |
78 | 78 | ||
diff --git a/linden/indra/newview/llfloaterregioninfo.cpp b/linden/indra/newview/llfloaterregioninfo.cpp index 682fda8..85fbfe1 100644 --- a/linden/indra/newview/llfloaterregioninfo.cpp +++ b/linden/indra/newview/llfloaterregioninfo.cpp | |||
@@ -2791,7 +2791,7 @@ bool LLDispatchEstateUpdateInfo::operator()( | |||
2791 | // UI, as anyone can teleport there. | 2791 | // UI, as anyone can teleport there. |
2792 | // However, gods need to be able to edit the access list for | 2792 | // However, gods need to be able to edit the access list for |
2793 | // linden estates, regardless of visibility, to allow object | 2793 | // linden estates, regardless of visibility, to allow object |
2794 | // and money transfers. | 2794 | // and L$ transfers. |
2795 | bool enable_agent = (!visible_from_mainland || (god && linden_estate)); | 2795 | bool enable_agent = (!visible_from_mainland || (god && linden_estate)); |
2796 | bool enable_group = enable_agent; | 2796 | bool enable_group = enable_agent; |
2797 | bool enable_ban = !linden_estate; | 2797 | bool enable_ban = !linden_estate; |
diff --git a/linden/indra/newview/llgivemoney.cpp b/linden/indra/newview/llgivemoney.cpp index e89ab3d..9ae6c67 100644 --- a/linden/indra/newview/llgivemoney.cpp +++ b/linden/indra/newview/llgivemoney.cpp | |||
@@ -319,7 +319,7 @@ void LLFloaterPay::payViaObject(money_callback callback, const LLUUID& object_id | |||
319 | LLViewerObject* object = gObjectList.findObject(object_id); | 319 | LLViewerObject* object = gObjectList.findObject(object_id); |
320 | if (!object) return; | 320 | if (!object) return; |
321 | 321 | ||
322 | LLFloaterPay *floater = new LLFloaterPay("Give Money", callback, object_id, TRUE); | 322 | LLFloaterPay *floater = new LLFloaterPay("Give L$", callback, object_id, TRUE); |
323 | if (!floater) return; | 323 | if (!floater) return; |
324 | 324 | ||
325 | LLSelectNode* node = floater->mObjectSelection->getFirstRootNode(); | 325 | LLSelectNode* node = floater->mObjectSelection->getFirstRootNode(); |
@@ -352,7 +352,7 @@ void LLFloaterPay::payDirectly(money_callback callback, | |||
352 | const LLUUID& target_id, | 352 | const LLUUID& target_id, |
353 | BOOL is_group) | 353 | BOOL is_group) |
354 | { | 354 | { |
355 | LLFloaterPay *floater = new LLFloaterPay("Give Money", callback, target_id, FALSE); | 355 | LLFloaterPay *floater = new LLFloaterPay("Give L$", callback, target_id, FALSE); |
356 | if (!floater) return; | 356 | if (!floater) return; |
357 | 357 | ||
358 | floater->childSetVisible("amount", TRUE); | 358 | floater->childSetVisible("amount", TRUE); |
@@ -476,7 +476,7 @@ void LLFloaterPay::give(S32 amount) | |||
476 | } | 476 | } |
477 | else | 477 | else |
478 | { | 478 | { |
479 | // just transfer the money | 479 | // just transfer the L$ |
480 | mCallback(mTargetUUID, gAgent.getRegion(), amount, mTargetIsGroup, TRANS_GIFT, LLString::null); | 480 | mCallback(mTargetUUID, gAgent.getRegion(), amount, mTargetIsGroup, TRANS_GIFT, LLString::null); |
481 | } | 481 | } |
482 | } | 482 | } |
diff --git a/linden/indra/newview/llgivemoney.h b/linden/indra/newview/llgivemoney.h index 664d1c8..f2b5a9a 100644 --- a/linden/indra/newview/llgivemoney.h +++ b/linden/indra/newview/llgivemoney.h | |||
@@ -56,13 +56,13 @@ public: | |||
56 | virtual ~LLFloaterPay(); | 56 | virtual ~LLFloaterPay(); |
57 | 57 | ||
58 | // Pay into an in-world object, which will trigger scripts and eventually | 58 | // Pay into an in-world object, which will trigger scripts and eventually |
59 | // transfer the money to the resident or group that owns the object. | 59 | // transfer the L$ to the resident or group that owns the object. |
60 | // Object must be selected. Must pass object id, because it may be | 60 | // Object must be selected. Must pass object id, because it may be |
61 | // a child of the selected object. | 61 | // a child of the selected object. |
62 | static void payViaObject(money_callback callback, const LLUUID& object_id); | 62 | static void payViaObject(money_callback callback, const LLUUID& object_id); |
63 | 63 | ||
64 | // Pay an avatar or group directly, not via an object in the world. | 64 | // Pay an avatar or group directly, not via an object in the world. |
65 | // Scripts are not notified, money can be direcly transferred. | 65 | // Scripts are not notified, L$ can be direcly transferred. |
66 | static void payDirectly(money_callback callback, | 66 | static void payDirectly(money_callback callback, |
67 | const LLUUID& target_id, | 67 | const LLUUID& target_id, |
68 | BOOL is_group); | 68 | BOOL is_group); |
diff --git a/linden/indra/newview/llhoverview.cpp b/linden/indra/newview/llhoverview.cpp index 8296e14..d00b062 100644 --- a/linden/indra/newview/llhoverview.cpp +++ b/linden/indra/newview/llhoverview.cpp | |||
@@ -378,7 +378,7 @@ void LLHoverView::updateText() | |||
378 | 378 | ||
379 | if (object->flagTakesMoney() || (parent && parent->flagTakesMoney()) ) | 379 | if (object->flagTakesMoney() || (parent && parent->flagTakesMoney()) ) |
380 | { | 380 | { |
381 | temp_str->append("Money "); | 381 | temp_str->append("L$ "); |
382 | suppressObjectHoverDisplay = FALSE; // Show tip | 382 | suppressObjectHoverDisplay = FALSE; // Show tip |
383 | } | 383 | } |
384 | 384 | ||
diff --git a/linden/indra/newview/llmanipscale.cpp b/linden/indra/newview/llmanipscale.cpp index c153339..648be34 100644 --- a/linden/indra/newview/llmanipscale.cpp +++ b/linden/indra/newview/llmanipscale.cpp | |||
@@ -604,6 +604,7 @@ void LLManipScale::renderFaces( const LLBBox& bbox ) | |||
604 | if (mManipPart == LL_NO_PART) | 604 | if (mManipPart == LL_NO_PART) |
605 | { | 605 | { |
606 | glColor4fv( default_normal_color.mV ); | 606 | glColor4fv( default_normal_color.mV ); |
607 | LLGLDepthTest gls_depth(GL_FALSE); | ||
607 | glBegin(GL_QUADS); | 608 | glBegin(GL_QUADS); |
608 | { | 609 | { |
609 | // Face 0 | 610 | // Face 0 |
@@ -766,7 +767,8 @@ void LLManipScale::renderCorners( const LLBBox& bbox ) | |||
766 | void LLManipScale::renderBoxHandle( F32 x, F32 y, F32 z ) | 767 | void LLManipScale::renderBoxHandle( F32 x, F32 y, F32 z ) |
767 | { | 768 | { |
768 | LLGLDisable gls_tex(GL_TEXTURE_2D); | 769 | LLGLDisable gls_tex(GL_TEXTURE_2D); |
769 | 770 | LLGLDepthTest gls_depth(GL_FALSE); | |
771 | |||
770 | glPushMatrix(); | 772 | glPushMatrix(); |
771 | { | 773 | { |
772 | glTranslatef( x, y, z ); | 774 | glTranslatef( x, y, z ); |
diff --git a/linden/indra/newview/llpanelgrouplandmoney.cpp b/linden/indra/newview/llpanelgrouplandmoney.cpp index 02aaec4..b7a74b1 100644 --- a/linden/indra/newview/llpanelgrouplandmoney.cpp +++ b/linden/indra/newview/llpanelgrouplandmoney.cpp | |||
@@ -1,6 +1,6 @@ | |||
1 | /** | 1 | /** |
2 | * @file llpanelgrouplandmoney.cpp | 2 | * @file llpanelgrouplandmoney.cpp |
3 | * @brief Panel for group land and money. | 3 | * @brief Panel for group land and L$. |
4 | * | 4 | * |
5 | * Copyright (c) 2006-2007, Linden Research, Inc. | 5 | * Copyright (c) 2006-2007, Linden Research, Inc. |
6 | * | 6 | * |
@@ -481,7 +481,7 @@ void LLPanelGroupLandMoney::update(LLGroupChange gc) | |||
481 | 481 | ||
482 | panelp = tabp->getCurrentPanel(); | 482 | panelp = tabp->getCurrentPanel(); |
483 | 483 | ||
484 | //now pull the event handler associated with that money tab | 484 | //now pull the event handler associated with that L$ tab |
485 | if ( panelp ) | 485 | if ( panelp ) |
486 | { | 486 | { |
487 | eh = get_if_there(LLGroupMoneyTabEventHandler::sTabsToHandlers, | 487 | eh = get_if_there(LLGroupMoneyTabEventHandler::sTabsToHandlers, |
@@ -634,7 +634,7 @@ BOOL LLPanelGroupLandMoney::postBuild() | |||
634 | } | 634 | } |
635 | 635 | ||
636 | 636 | ||
637 | //pull out the widgets for the money details tab | 637 | //pull out the widgets for the L$ details tab |
638 | earlierp = (LLButton*) getChildByName("earlier_details_button", true); | 638 | earlierp = (LLButton*) getChildByName("earlier_details_button", true); |
639 | laterp = (LLButton*) getChildByName("later_details_button", true); | 639 | laterp = (LLButton*) getChildByName("later_details_button", true); |
640 | textp = (LLTextEditor*) getChildByName("group_money_details_text", true); | 640 | textp = (LLTextEditor*) getChildByName("group_money_details_text", true); |
@@ -671,7 +671,7 @@ BOOL LLPanelGroupLandMoney::postBuild() | |||
671 | mGroupID); | 671 | mGroupID); |
672 | } | 672 | } |
673 | 673 | ||
674 | //pull out the widgets for the money sales tab | 674 | //pull out the widgets for the L$ sales tab |
675 | earlierp = (LLButton*) getChildByName("earlier_sales_button", true); | 675 | earlierp = (LLButton*) getChildByName("earlier_sales_button", true); |
676 | laterp = (LLButton*) getChildByName("later_sales_button", true); | 676 | laterp = (LLButton*) getChildByName("later_sales_button", true); |
677 | textp = (LLTextEditor*) getChildByName("group_money_sales_text", true); | 677 | textp = (LLTextEditor*) getChildByName("group_money_sales_text", true); |
@@ -708,7 +708,7 @@ void LLPanelGroupLandMoney::processPlacesReply(LLMessageSystem* msg, void**) | |||
708 | LLPanelGroupLandMoney* selfp = sGroupIDs.getIfThere(group_id); | 708 | LLPanelGroupLandMoney* selfp = sGroupIDs.getIfThere(group_id); |
709 | if(!selfp) | 709 | if(!selfp) |
710 | { | 710 | { |
711 | llinfos << "Group Panel Land Money " << group_id << " no longer in existence." | 711 | llinfos << "Group Panel Land L$ " << group_id << " no longer in existence." |
712 | << llendl; | 712 | << llendl; |
713 | return; | 713 | return; |
714 | } | 714 | } |
@@ -1042,7 +1042,7 @@ void LLGroupMoneyDetailsTabEventHandler::processGroupAccountDetailsReply(LLMessa | |||
1042 | msg->getUUIDFast(_PREHASH_AgentData, _PREHASH_AgentID, agent_id ); | 1042 | msg->getUUIDFast(_PREHASH_AgentData, _PREHASH_AgentID, agent_id ); |
1043 | if (gAgent.getID() != agent_id) | 1043 | if (gAgent.getID() != agent_id) |
1044 | { | 1044 | { |
1045 | llwarns << "Got group money history reply for another agent!" | 1045 | llwarns << "Got group L$ history reply for another agent!" |
1046 | << " Probably a userserver bug!" << llendl; | 1046 | << " Probably a userserver bug!" << llendl; |
1047 | return; | 1047 | return; |
1048 | } | 1048 | } |
@@ -1217,7 +1217,7 @@ void LLGroupMoneySalesTabEventHandler::processGroupAccountTransactionsReply(LLMe | |||
1217 | msg->getUUIDFast(_PREHASH_AgentData, _PREHASH_AgentID, agent_id ); | 1217 | msg->getUUIDFast(_PREHASH_AgentData, _PREHASH_AgentID, agent_id ); |
1218 | if (gAgent.getID() != agent_id) | 1218 | if (gAgent.getID() != agent_id) |
1219 | { | 1219 | { |
1220 | llwarns << "Got group money history reply for another agent!" | 1220 | llwarns << "Got group L$ history reply for another agent!" |
1221 | << " Probably a userserver bug!" << llendl; | 1221 | << " Probably a userserver bug!" << llendl; |
1222 | return; | 1222 | return; |
1223 | } | 1223 | } |
@@ -1386,7 +1386,7 @@ void LLGroupMoneyPlanningTabEventHandler::processGroupAccountSummaryReply(LLMess | |||
1386 | msg->getUUIDFast(_PREHASH_AgentData, _PREHASH_AgentID, agent_id ); | 1386 | msg->getUUIDFast(_PREHASH_AgentData, _PREHASH_AgentID, agent_id ); |
1387 | if (gAgent.getID() != agent_id) | 1387 | if (gAgent.getID() != agent_id) |
1388 | { | 1388 | { |
1389 | llwarns << "Got group money history reply for another agent!" | 1389 | llwarns << "Got group L$ history reply for another agent!" |
1390 | << " Probably a userserver bug!" << llendl; | 1390 | << " Probably a userserver bug!" << llendl; |
1391 | return; | 1391 | return; |
1392 | } | 1392 | } |
@@ -1399,7 +1399,7 @@ void LLGroupMoneyPlanningTabEventHandler::processGroupAccountSummaryReply(LLMess | |||
1399 | self = LLGroupMoneyTabEventHandler::sInstanceIDs.getIfThere(request_id); | 1399 | self = LLGroupMoneyTabEventHandler::sInstanceIDs.getIfThere(request_id); |
1400 | if (!self) | 1400 | if (!self) |
1401 | { | 1401 | { |
1402 | llwarns << "GroupAccountSummary recieved for non-existent group money planning tab." << llendl; | 1402 | llwarns << "GroupAccountSummary recieved for non-existent group L$ planning tab." << llendl; |
1403 | return; | 1403 | return; |
1404 | } | 1404 | } |
1405 | 1405 | ||
diff --git a/linden/indra/newview/llpanelgrouplandmoney.h b/linden/indra/newview/llpanelgrouplandmoney.h index 6cd4753..8ac8bc7 100644 --- a/linden/indra/newview/llpanelgrouplandmoney.h +++ b/linden/indra/newview/llpanelgrouplandmoney.h | |||
@@ -1,6 +1,6 @@ | |||
1 | /** | 1 | /** |
2 | * @file llpanelgrouplandmoney.h | 2 | * @file llpanelgrouplandmoney.h |
3 | * @brief Panel for group land and money. | 3 | * @brief Panel for group land and L$. |
4 | * | 4 | * |
5 | * Copyright (c) 2006-2007, Linden Research, Inc. | 5 | * Copyright (c) 2006-2007, Linden Research, Inc. |
6 | * | 6 | * |
diff --git a/linden/indra/newview/llpanelobject.cpp b/linden/indra/newview/llpanelobject.cpp index fb740a4..9fe94f9 100644 --- a/linden/indra/newview/llpanelobject.cpp +++ b/linden/indra/newview/llpanelobject.cpp | |||
@@ -53,6 +53,7 @@ | |||
53 | #include "llresmgr.h" | 53 | #include "llresmgr.h" |
54 | #include "llselectmgr.h" | 54 | #include "llselectmgr.h" |
55 | #include "llspinctrl.h" | 55 | #include "llspinctrl.h" |
56 | #include "lltexturectrl.h" | ||
56 | #include "lltextbox.h" | 57 | #include "lltextbox.h" |
57 | #include "lltool.h" | 58 | #include "lltool.h" |
58 | #include "lltoolcomp.h" | 59 | #include "lltoolcomp.h" |
@@ -80,6 +81,7 @@ enum { | |||
80 | MI_TORUS, | 81 | MI_TORUS, |
81 | MI_TUBE, | 82 | MI_TUBE, |
82 | MI_RING, | 83 | MI_RING, |
84 | MI_SCULPT, | ||
83 | MI_NONE, | 85 | MI_NONE, |
84 | MI_VOLUME_COUNT | 86 | MI_VOLUME_COUNT |
85 | }; | 87 | }; |
@@ -252,6 +254,34 @@ BOOL LLPanelObject::postBuild() | |||
252 | childSetCommitCallback("Revolutions",onCommitParametric,this); | 254 | childSetCommitCallback("Revolutions",onCommitParametric,this); |
253 | mSpinRevolutions->setValidateBeforeCommit( &precommitValidate ); | 255 | mSpinRevolutions->setValidateBeforeCommit( &precommitValidate ); |
254 | 256 | ||
257 | // Sculpt | ||
258 | mCtrlSculptTexture = LLUICtrlFactory::getTexturePickerByName(this,"sculpt texture control"); | ||
259 | mCtrlSculptTexture->setDefaultImageAssetID(LLUUID(SCULPT_DEFAULT_TEXTURE)); | ||
260 | mCtrlSculptTexture->setCommitCallback( LLPanelObject::onCommitSculpt ); | ||
261 | mCtrlSculptTexture->setOnCancelCallback( LLPanelObject::onCancelSculpt ); | ||
262 | mCtrlSculptTexture->setOnSelectCallback( LLPanelObject::onSelectSculpt ); | ||
263 | mCtrlSculptTexture->setDropCallback(LLPanelObject::onDropSculpt); | ||
264 | mCtrlSculptTexture->setCallbackUserData( this ); | ||
265 | // Don't allow (no copy) or (no transfer) textures to be selected during immediate mode | ||
266 | mCtrlSculptTexture->setImmediateFilterPermMask(PERM_COPY | PERM_TRANSFER); | ||
267 | // Allow any texture to be used during non-immediate mode. | ||
268 | mCtrlSculptTexture->setNonImmediateFilterPermMask(PERM_NONE); | ||
269 | LLAggregatePermissions texture_perms; | ||
270 | if (gSelectMgr->selectGetAggregateTexturePermissions(texture_perms)) | ||
271 | { | ||
272 | BOOL can_copy = | ||
273 | texture_perms.getValue(PERM_COPY) == LLAggregatePermissions::AP_EMPTY || | ||
274 | texture_perms.getValue(PERM_COPY) == LLAggregatePermissions::AP_ALL; | ||
275 | BOOL can_transfer = | ||
276 | texture_perms.getValue(PERM_TRANSFER) == LLAggregatePermissions::AP_EMPTY || | ||
277 | texture_perms.getValue(PERM_TRANSFER) == LLAggregatePermissions::AP_ALL; | ||
278 | mCtrlSculptTexture->setCanApplyImmediately(can_copy && can_transfer); | ||
279 | } | ||
280 | else | ||
281 | { | ||
282 | mCtrlSculptTexture->setCanApplyImmediately(FALSE); | ||
283 | } | ||
284 | |||
255 | // Start with everyone disabled | 285 | // Start with everyone disabled |
256 | clearCtrls(); | 286 | clearCtrls(); |
257 | 287 | ||
@@ -603,6 +633,14 @@ void LLPanelObject::getState( ) | |||
603 | llinfos << "Unknown path " << (S32) path << " profile " << (S32) profile << " in getState" << llendl; | 633 | llinfos << "Unknown path " << (S32) path << " profile " << (S32) profile << " in getState" << llendl; |
604 | selected_item = MI_BOX; | 634 | selected_item = MI_BOX; |
605 | } | 635 | } |
636 | |||
637 | |||
638 | if (objectp->getParameterEntryInUse(LLNetworkData::PARAMS_SCULPT)) | ||
639 | { | ||
640 | selected_item = MI_SCULPT; | ||
641 | } | ||
642 | |||
643 | |||
606 | mComboBaseType ->setCurrentByIndex( selected_item ); | 644 | mComboBaseType ->setCurrentByIndex( selected_item ); |
607 | mSelectedType = selected_item; | 645 | mSelectedType = selected_item; |
608 | 646 | ||
@@ -760,6 +798,8 @@ void LLPanelObject::getState( ) | |||
760 | 798 | ||
761 | // Compute control visibility, label names, and twist range. | 799 | // Compute control visibility, label names, and twist range. |
762 | // Start with defaults. | 800 | // Start with defaults. |
801 | BOOL cut_visible = TRUE; | ||
802 | BOOL hollow_visible = TRUE; | ||
763 | BOOL top_size_x_visible = TRUE; | 803 | BOOL top_size_x_visible = TRUE; |
764 | BOOL top_size_y_visible = TRUE; | 804 | BOOL top_size_y_visible = TRUE; |
765 | BOOL top_shear_x_visible = TRUE; | 805 | BOOL top_shear_x_visible = TRUE; |
@@ -770,6 +810,7 @@ void LLPanelObject::getState( ) | |||
770 | BOOL skew_visible = FALSE; | 810 | BOOL skew_visible = FALSE; |
771 | BOOL radius_offset_visible = FALSE; | 811 | BOOL radius_offset_visible = FALSE; |
772 | BOOL revolutions_visible = FALSE; | 812 | BOOL revolutions_visible = FALSE; |
813 | BOOL sculpt_texture_visible = FALSE; | ||
773 | F32 twist_min = OBJECT_TWIST_LINEAR_MIN; | 814 | F32 twist_min = OBJECT_TWIST_LINEAR_MIN; |
774 | F32 twist_max = OBJECT_TWIST_LINEAR_MAX; | 815 | F32 twist_max = OBJECT_TWIST_LINEAR_MAX; |
775 | F32 twist_inc = OBJECT_TWIST_LINEAR_INC; | 816 | F32 twist_inc = OBJECT_TWIST_LINEAR_INC; |
@@ -809,6 +850,23 @@ void LLPanelObject::getState( ) | |||
809 | twist_inc = OBJECT_TWIST_INC; | 850 | twist_inc = OBJECT_TWIST_INC; |
810 | 851 | ||
811 | break; | 852 | break; |
853 | |||
854 | case MI_SCULPT: | ||
855 | cut_visible = FALSE; | ||
856 | hollow_visible = FALSE; | ||
857 | twist_visible = FALSE; | ||
858 | top_size_x_visible = FALSE; | ||
859 | top_size_y_visible = FALSE; | ||
860 | top_shear_x_visible = FALSE; | ||
861 | top_shear_y_visible = FALSE; | ||
862 | skew_visible = FALSE; | ||
863 | advanced_cut_visible = FALSE; | ||
864 | taper_visible = FALSE; | ||
865 | radius_offset_visible = FALSE; | ||
866 | revolutions_visible = FALSE; | ||
867 | sculpt_texture_visible = TRUE; | ||
868 | |||
869 | break; | ||
812 | 870 | ||
813 | case MI_BOX: | 871 | case MI_BOX: |
814 | case MI_CYLINDER: | 872 | case MI_CYLINDER: |
@@ -929,6 +987,15 @@ void LLPanelObject::getState( ) | |||
929 | mSpinRevolutions ->setEnabled( enabled ); | 987 | mSpinRevolutions ->setEnabled( enabled ); |
930 | 988 | ||
931 | // Update field visibility | 989 | // Update field visibility |
990 | mLabelCut ->setVisible( cut_visible ); | ||
991 | mSpinCutBegin ->setVisible( cut_visible ); | ||
992 | mSpinCutEnd ->setVisible( cut_visible ); | ||
993 | |||
994 | mLabelHollow ->setVisible( hollow_visible ); | ||
995 | mSpinHollow ->setVisible( hollow_visible ); | ||
996 | mLabelHoleType ->setVisible( hollow_visible ); | ||
997 | mComboHoleType ->setVisible( hollow_visible ); | ||
998 | |||
932 | mLabelTwist ->setVisible( twist_visible ); | 999 | mLabelTwist ->setVisible( twist_visible ); |
933 | mSpinTwist ->setVisible( twist_visible ); | 1000 | mSpinTwist ->setVisible( twist_visible ); |
934 | mSpinTwistBegin ->setVisible( twist_visible ); | 1001 | mSpinTwistBegin ->setVisible( twist_visible ); |
@@ -962,6 +1029,30 @@ void LLPanelObject::getState( ) | |||
962 | mLabelRevolutions->setVisible( revolutions_visible ); | 1029 | mLabelRevolutions->setVisible( revolutions_visible ); |
963 | mSpinRevolutions ->setVisible( revolutions_visible ); | 1030 | mSpinRevolutions ->setVisible( revolutions_visible ); |
964 | 1031 | ||
1032 | mCtrlSculptTexture->setVisible( sculpt_texture_visible ); | ||
1033 | |||
1034 | |||
1035 | // sculpt texture | ||
1036 | |||
1037 | if (selected_item == MI_SCULPT) | ||
1038 | { | ||
1039 | LLUUID id; | ||
1040 | LLSculptParams *sculpt_params = (LLSculptParams *)objectp->getParameterEntry(LLNetworkData::PARAMS_SCULPT); | ||
1041 | |||
1042 | LLTextureCtrl* mTextureCtrl = LLViewerUICtrlFactory::getTexturePickerByName(this,"sculpt texture control"); | ||
1043 | if((mTextureCtrl) && (sculpt_params)) | ||
1044 | { | ||
1045 | mTextureCtrl->setTentative(FALSE); | ||
1046 | mTextureCtrl->setEnabled(editable); | ||
1047 | mTextureCtrl->setImageAssetID(sculpt_params->getSculptTexture()); | ||
1048 | |||
1049 | if (mObject != objectp) // we've just selected a new object, so save for undo | ||
1050 | mSculptTextureRevert = sculpt_params->getSculptTexture(); | ||
1051 | } | ||
1052 | |||
1053 | } | ||
1054 | |||
1055 | |||
965 | //---------------------------------------------------------------------------- | 1056 | //---------------------------------------------------------------------------- |
966 | 1057 | ||
967 | mObject = objectp; | 1058 | mObject = objectp; |
@@ -1083,9 +1174,26 @@ void LLPanelObject::onCommitParametric( LLUICtrl* ctrl, void* userdata ) | |||
1083 | LLVolumeParams volume_params; | 1174 | LLVolumeParams volume_params; |
1084 | self->getVolumeParams(volume_params); | 1175 | self->getVolumeParams(volume_params); |
1085 | 1176 | ||
1177 | |||
1178 | |||
1179 | // set sculpting | ||
1180 | S32 selected_type = self->mComboBaseType->getCurrentIndex(); | ||
1181 | |||
1182 | if (selected_type == MI_SCULPT) | ||
1183 | { | ||
1184 | self->mObject->setParameterEntryInUse(LLNetworkData::PARAMS_SCULPT, TRUE, TRUE); | ||
1185 | } | ||
1186 | else | ||
1187 | { | ||
1188 | LLSculptParams *sculpt_params = (LLSculptParams *)self->mObject->getParameterEntry(LLNetworkData::PARAMS_SCULPT); | ||
1189 | if (sculpt_params) | ||
1190 | self->mObject->setParameterEntryInUse(LLNetworkData::PARAMS_SCULPT, FALSE, TRUE); | ||
1191 | } | ||
1192 | |||
1086 | // Update the volume, if necessary. | 1193 | // Update the volume, if necessary. |
1087 | self->mObject->updateVolume(volume_params); | 1194 | self->mObject->updateVolume(volume_params); |
1088 | 1195 | ||
1196 | |||
1089 | // This was added to make sure thate when changes are made, the UI | 1197 | // This was added to make sure thate when changes are made, the UI |
1090 | // adjusts to present valid options. | 1198 | // adjusts to present valid options. |
1091 | // *FIX: only some changes, ie, hollow or primitive type changes, | 1199 | // *FIX: only some changes, ie, hollow or primitive type changes, |
@@ -1138,6 +1246,11 @@ void LLPanelObject::getVolumeParams(LLVolumeParams& volume_params) | |||
1138 | path = LL_PCODE_PATH_CIRCLE; | 1246 | path = LL_PCODE_PATH_CIRCLE; |
1139 | break; | 1247 | break; |
1140 | 1248 | ||
1249 | case MI_SCULPT: | ||
1250 | profile = LL_PCODE_PROFILE_CIRCLE; | ||
1251 | path = LL_PCODE_PATH_CIRCLE; | ||
1252 | break; | ||
1253 | |||
1141 | default: | 1254 | default: |
1142 | llwarns << "Unknown base type " << selected_type | 1255 | llwarns << "Unknown base type " << selected_type |
1143 | << " in getVolumeParams()" << llendl; | 1256 | << " in getVolumeParams()" << llendl; |
@@ -1148,6 +1261,7 @@ void LLPanelObject::getVolumeParams(LLVolumeParams& volume_params) | |||
1148 | break; | 1261 | break; |
1149 | } | 1262 | } |
1150 | 1263 | ||
1264 | |||
1151 | if (path == LL_PCODE_PATH_LINE) | 1265 | if (path == LL_PCODE_PATH_LINE) |
1152 | { | 1266 | { |
1153 | LLVOVolume *volobjp = (LLVOVolume *)(LLViewerObject*)(mObject); | 1267 | LLVOVolume *volobjp = (LLVOVolume *)(LLViewerObject*)(mObject); |
@@ -1358,6 +1472,23 @@ void LLPanelObject::getVolumeParams(LLVolumeParams& volume_params) | |||
1358 | F32 shear_x = mSpinShearX->get(); | 1472 | F32 shear_x = mSpinShearX->get(); |
1359 | F32 shear_y = mSpinShearY->get(); | 1473 | F32 shear_y = mSpinShearY->get(); |
1360 | volume_params.setShear( shear_x, shear_y ); | 1474 | volume_params.setShear( shear_x, shear_y ); |
1475 | |||
1476 | if (selected_type == MI_SCULPT) | ||
1477 | { | ||
1478 | volume_params.setSculptID(LLUUID::null, 0); | ||
1479 | volume_params.setBeginAndEndT (0, 1); | ||
1480 | volume_params.setBeginAndEndS (0, 1); | ||
1481 | volume_params.setHollow (0); | ||
1482 | volume_params.setTwistBegin (0); | ||
1483 | volume_params.setTwistEnd (0); | ||
1484 | volume_params.setRatio (1, 0.5); | ||
1485 | volume_params.setShear (0, 0); | ||
1486 | volume_params.setTaper (0, 0); | ||
1487 | volume_params.setRevolutions (1); | ||
1488 | volume_params.setRadiusOffset (0); | ||
1489 | volume_params.setSkew (0); | ||
1490 | } | ||
1491 | |||
1361 | } | 1492 | } |
1362 | 1493 | ||
1363 | // BUG: Make work with multiple objects | 1494 | // BUG: Make work with multiple objects |
@@ -1502,6 +1633,18 @@ void LLPanelObject::sendPosition() | |||
1502 | } | 1633 | } |
1503 | } | 1634 | } |
1504 | 1635 | ||
1636 | void LLPanelObject::sendSculpt() | ||
1637 | { | ||
1638 | LLTextureCtrl* mTextureCtrl = gUICtrlFactory->getTexturePickerByName(this,"sculpt texture control"); | ||
1639 | if(!mTextureCtrl) | ||
1640 | return; | ||
1641 | |||
1642 | LLSculptParams sculpt_params; | ||
1643 | sculpt_params.setSculptTexture(mTextureCtrl->getImageAssetID()); | ||
1644 | sculpt_params.setSculptType(LL_SCULPT_TYPE_SPHERE); | ||
1645 | |||
1646 | mObject->setParameterEntry(LLNetworkData::PARAMS_SCULPT, sculpt_params, TRUE); | ||
1647 | } | ||
1505 | 1648 | ||
1506 | void LLPanelObject::refresh() | 1649 | void LLPanelObject::refresh() |
1507 | { | 1650 | { |
@@ -1697,3 +1840,59 @@ void LLPanelObject::onCommitCastShadows( LLUICtrl* ctrl, void* userdata ) | |||
1697 | LLPanelObject* self = (LLPanelObject*) userdata; | 1840 | LLPanelObject* self = (LLPanelObject*) userdata; |
1698 | self->sendCastShadows(); | 1841 | self->sendCastShadows(); |
1699 | } | 1842 | } |
1843 | |||
1844 | |||
1845 | // static | ||
1846 | void LLPanelObject::onSelectSculpt(LLUICtrl* ctrl, void* userdata) | ||
1847 | { | ||
1848 | LLPanelObject* self = (LLPanelObject*) userdata; | ||
1849 | |||
1850 | LLTextureCtrl* mTextureCtrl = gUICtrlFactory->getTexturePickerByName(self, "sculpt texture control"); | ||
1851 | |||
1852 | if (mTextureCtrl) | ||
1853 | self->mSculptTextureRevert = mTextureCtrl->getImageAssetID(); | ||
1854 | |||
1855 | self->sendSculpt(); | ||
1856 | } | ||
1857 | |||
1858 | |||
1859 | void LLPanelObject::onCommitSculpt( LLUICtrl* ctrl, void* userdata ) | ||
1860 | { | ||
1861 | LLPanelObject* self = (LLPanelObject*) userdata; | ||
1862 | |||
1863 | self->sendSculpt(); | ||
1864 | } | ||
1865 | |||
1866 | // static | ||
1867 | BOOL LLPanelObject::onDropSculpt(LLUICtrl*, LLInventoryItem* item, void* userdata) | ||
1868 | { | ||
1869 | LLPanelObject* self = (LLPanelObject*) userdata; | ||
1870 | |||
1871 | LLTextureCtrl* mTextureCtrl = gUICtrlFactory->getTexturePickerByName(self, "sculpt texture control"); | ||
1872 | |||
1873 | if (mTextureCtrl) | ||
1874 | { | ||
1875 | LLUUID asset = item->getAssetUUID(); | ||
1876 | |||
1877 | mTextureCtrl->setImageAssetID(asset); | ||
1878 | self->mSculptTextureRevert = asset; | ||
1879 | } | ||
1880 | |||
1881 | |||
1882 | return TRUE; | ||
1883 | } | ||
1884 | |||
1885 | |||
1886 | // static | ||
1887 | void LLPanelObject::onCancelSculpt(LLUICtrl* ctrl, void* userdata) | ||
1888 | { | ||
1889 | LLPanelObject* self = (LLPanelObject*) userdata; | ||
1890 | |||
1891 | LLTextureCtrl* mTextureCtrl = gUICtrlFactory->getTexturePickerByName(self,"sculpt texture control"); | ||
1892 | if(!mTextureCtrl) | ||
1893 | return; | ||
1894 | |||
1895 | mTextureCtrl->setImageAssetID(self->mSculptTextureRevert); | ||
1896 | |||
1897 | self->sendSculpt(); | ||
1898 | } | ||
diff --git a/linden/indra/newview/llpanelobject.h b/linden/indra/newview/llpanelobject.h index 76b0dab..c734b38 100644 --- a/linden/indra/newview/llpanelobject.h +++ b/linden/indra/newview/llpanelobject.h | |||
@@ -43,6 +43,9 @@ class LLViewerObject; | |||
43 | class LLComboBox; | 43 | class LLComboBox; |
44 | class LLPanelInventory; | 44 | class LLPanelInventory; |
45 | class LLColorSwatchCtrl; | 45 | class LLColorSwatchCtrl; |
46 | class LLTextureCtrl; | ||
47 | class LLInventoryItem; | ||
48 | class LLUUID; | ||
46 | 49 | ||
47 | class LLPanelObject : public LLPanel | 50 | class LLPanelObject : public LLPanel |
48 | { | 51 | { |
@@ -70,6 +73,11 @@ public: | |||
70 | static void onCommitParametric(LLUICtrl* ctrl, void* userdata); | 73 | static void onCommitParametric(LLUICtrl* ctrl, void* userdata); |
71 | 74 | ||
72 | static void onCommitMaterial( LLUICtrl* ctrl, void* userdata); | 75 | static void onCommitMaterial( LLUICtrl* ctrl, void* userdata); |
76 | |||
77 | static void onCommitSculpt( LLUICtrl* ctrl, void* userdata); | ||
78 | static void onCancelSculpt( LLUICtrl* ctrl, void* userdata); | ||
79 | static void onSelectSculpt( LLUICtrl* ctrl, void* userdata); | ||
80 | static BOOL onDropSculpt(LLUICtrl* ctrl, LLInventoryItem* item, void* ud); | ||
73 | 81 | ||
74 | protected: | 82 | protected: |
75 | void getState(); | 83 | void getState(); |
@@ -81,7 +89,8 @@ protected: | |||
81 | void sendIsTemporary(); | 89 | void sendIsTemporary(); |
82 | void sendIsPhantom(); | 90 | void sendIsPhantom(); |
83 | void sendCastShadows(); | 91 | void sendCastShadows(); |
84 | 92 | void sendSculpt(); | |
93 | |||
85 | void getVolumeParams(LLVolumeParams& volume_params); | 94 | void getVolumeParams(LLVolumeParams& volume_params); |
86 | 95 | ||
87 | protected: | 96 | protected: |
@@ -153,12 +162,16 @@ protected: | |||
153 | LLCheckBoxCtrl *mCheckPhantom; | 162 | LLCheckBoxCtrl *mCheckPhantom; |
154 | LLCheckBoxCtrl *mCheckCastShadows; | 163 | LLCheckBoxCtrl *mCheckCastShadows; |
155 | 164 | ||
165 | LLTextureCtrl *mCtrlSculptTexture; | ||
166 | |||
156 | LLVector3 mCurEulerDegrees; // to avoid sending rotation when not changed | 167 | LLVector3 mCurEulerDegrees; // to avoid sending rotation when not changed |
157 | BOOL mIsPhysical; // to avoid sending "physical" when not changed | 168 | BOOL mIsPhysical; // to avoid sending "physical" when not changed |
158 | BOOL mIsTemporary; // to avoid sending "temporary" when not changed | 169 | BOOL mIsTemporary; // to avoid sending "temporary" when not changed |
159 | BOOL mIsPhantom; // to avoid sending "phantom" when not changed | 170 | BOOL mIsPhantom; // to avoid sending "phantom" when not changed |
160 | BOOL mCastShadows; // to avoid sending "cast shadows" when not changed | 171 | BOOL mCastShadows; // to avoid sending "cast shadows" when not changed |
161 | S32 mSelectedType; // So we know what selected type we last were | 172 | S32 mSelectedType; // So we know what selected type we last were |
173 | |||
174 | LLUUID mSculptTextureRevert; // so we can revert the sculpt texture on cancel | ||
162 | 175 | ||
163 | LLPointer<LLViewerObject> mObject; | 176 | LLPointer<LLViewerObject> mObject; |
164 | LLPointer<LLViewerObject> mRootObject; | 177 | LLPointer<LLViewerObject> mRootObject; |
diff --git a/linden/indra/newview/llpreview.cpp b/linden/indra/newview/llpreview.cpp index 23f31aa..7137f85 100644 --- a/linden/indra/newview/llpreview.cpp +++ b/linden/indra/newview/llpreview.cpp | |||
@@ -484,8 +484,11 @@ LLPreview* LLPreview::getFirstPreviewForSource(const LLUUID& source_id) | |||
484 | 484 | ||
485 | void LLPreview::userSetShape(const LLRect& new_rect) | 485 | void LLPreview::userSetShape(const LLRect& new_rect) |
486 | { | 486 | { |
487 | userResized(); | 487 | if(new_rect.getWidth() != mRect.getWidth() || new_rect.getHeight() != mRect.getHeight()) |
488 | LLView::userSetShape(new_rect); | 488 | { |
489 | userResized(); | ||
490 | } | ||
491 | LLFloater::userSetShape(new_rect); | ||
489 | } | 492 | } |
490 | 493 | ||
491 | // | 494 | // |
@@ -510,9 +513,12 @@ void LLMultiPreview::open() /*Flawfinder: ignore*/ | |||
510 | 513 | ||
511 | void LLMultiPreview::userSetShape(const LLRect& new_rect) | 514 | void LLMultiPreview::userSetShape(const LLRect& new_rect) |
512 | { | 515 | { |
513 | LLPreview* frontmost_preview = (LLPreview*)mTabContainer->getCurrentPanel(); | 516 | if(new_rect.getWidth() != mRect.getWidth() || new_rect.getHeight() != mRect.getHeight()) |
514 | if (frontmost_preview) frontmost_preview->userResized(); | 517 | { |
515 | LLView::userSetShape(new_rect); | 518 | LLPreview* frontmost_preview = (LLPreview*)mTabContainer->getCurrentPanel(); |
519 | if (frontmost_preview) frontmost_preview->userResized(); | ||
520 | } | ||
521 | LLFloater::userSetShape(new_rect); | ||
516 | } | 522 | } |
517 | 523 | ||
518 | 524 | ||
diff --git a/linden/indra/newview/llstartup.cpp b/linden/indra/newview/llstartup.cpp index e83aa0d..54161c0 100644 --- a/linden/indra/newview/llstartup.cpp +++ b/linden/indra/newview/llstartup.cpp | |||
@@ -2124,7 +2124,7 @@ BOOL idle_startup() | |||
2124 | // request mute list | 2124 | // request mute list |
2125 | gMuteListp->requestFromServer(gAgent.getID()); | 2125 | gMuteListp->requestFromServer(gAgent.getID()); |
2126 | 2126 | ||
2127 | // Get money and ownership credit information | 2127 | // Get L$ and ownership credit information |
2128 | msg->newMessageFast(_PREHASH_MoneyBalanceRequest); | 2128 | msg->newMessageFast(_PREHASH_MoneyBalanceRequest); |
2129 | msg->nextBlockFast(_PREHASH_AgentData); | 2129 | msg->nextBlockFast(_PREHASH_AgentData); |
2130 | msg->addUUIDFast(_PREHASH_AgentID, gAgent.getID()); | 2130 | msg->addUUIDFast(_PREHASH_AgentID, gAgent.getID()); |
@@ -2320,7 +2320,7 @@ BOOL idle_startup() | |||
2320 | gViewerWindow->sendShapeToSim(); | 2320 | gViewerWindow->sendShapeToSim(); |
2321 | 2321 | ||
2322 | // Ignore stipend information for now. Money history is on the web site. | 2322 | // Ignore stipend information for now. Money history is on the web site. |
2323 | // if needed, show the money history window | 2323 | // if needed, show the L$ history window |
2324 | //if (stipend_since_login && !gNoRender) | 2324 | //if (stipend_since_login && !gNoRender) |
2325 | //{ | 2325 | //{ |
2326 | //} | 2326 | //} |
diff --git a/linden/indra/newview/llviewercamera.cpp b/linden/indra/newview/llviewercamera.cpp index 3a21ddf..c52b51c 100644 --- a/linden/indra/newview/llviewercamera.cpp +++ b/linden/indra/newview/llviewercamera.cpp | |||
@@ -622,7 +622,7 @@ BOOL LLViewerCamera::areVertsVisible(LLViewerObject* volumep, BOOL all_verts) | |||
622 | 622 | ||
623 | LLMatrix4 render_mat(vo_volume->getRenderRotation(), LLVector4(vo_volume->getRenderPosition())); | 623 | LLMatrix4 render_mat(vo_volume->getRenderRotation(), LLVector4(vo_volume->getRenderPosition())); |
624 | 624 | ||
625 | num_faces = volume->getNumFaces(); | 625 | num_faces = volume->getNumVolumeFaces(); |
626 | for (i = 0; i < num_faces; i++) | 626 | for (i = 0; i < num_faces; i++) |
627 | { | 627 | { |
628 | const LLVolumeFace& face = volume->getVolumeFace(i); | 628 | const LLVolumeFace& face = volume->getVolumeFace(i); |
diff --git a/linden/indra/newview/llviewerinventory.cpp b/linden/indra/newview/llviewerinventory.cpp index d271af5..0a65b8b 100644 --- a/linden/indra/newview/llviewerinventory.cpp +++ b/linden/indra/newview/llviewerinventory.cpp | |||
@@ -184,6 +184,7 @@ void LLViewerInventoryItem::updateServer(BOOL is_new) const | |||
184 | msg->nextBlockFast(_PREHASH_AgentData); | 184 | msg->nextBlockFast(_PREHASH_AgentData); |
185 | msg->addUUIDFast(_PREHASH_AgentID, gAgent.getID()); | 185 | msg->addUUIDFast(_PREHASH_AgentID, gAgent.getID()); |
186 | msg->addUUIDFast(_PREHASH_SessionID, gAgent.getSessionID()); | 186 | msg->addUUIDFast(_PREHASH_SessionID, gAgent.getSessionID()); |
187 | msg->addUUIDFast(_PREHASH_TransactionID, mTransactionID); | ||
187 | msg->nextBlockFast(_PREHASH_InventoryData); | 188 | msg->nextBlockFast(_PREHASH_InventoryData); |
188 | msg->addU32Fast(_PREHASH_CallbackID, 0); | 189 | msg->addU32Fast(_PREHASH_CallbackID, 0); |
189 | packMessage(msg); | 190 | packMessage(msg); |
diff --git a/linden/indra/newview/llviewermessage.cpp b/linden/indra/newview/llviewermessage.cpp index 5eafd9d..4973989 100644 --- a/linden/indra/newview/llviewermessage.cpp +++ b/linden/indra/newview/llviewermessage.cpp | |||
@@ -4000,7 +4000,7 @@ void process_money_balance_reply( LLMessageSystem* msg, void** ) | |||
4000 | msg->getS32("MoneyData", "SquareMetersCredit", credit); | 4000 | msg->getS32("MoneyData", "SquareMetersCredit", credit); |
4001 | msg->getS32("MoneyData", "SquareMetersCommitted", committed); | 4001 | msg->getS32("MoneyData", "SquareMetersCommitted", committed); |
4002 | msg->getStringFast(_PREHASH_MoneyData, _PREHASH_Description, STD_STRING_BUF_SIZE, desc); | 4002 | msg->getStringFast(_PREHASH_MoneyData, _PREHASH_Description, STD_STRING_BUF_SIZE, desc); |
4003 | llinfos << "money, credit, committed: " << balance << " " << credit << " " | 4003 | llinfos << "L$, credit, committed: " << balance << " " << credit << " " |
4004 | << committed << llendl; | 4004 | << committed << llendl; |
4005 | 4005 | ||
4006 | if (gStatusBar) | 4006 | if (gStatusBar) |
diff --git a/linden/indra/newview/llviewerobject.cpp b/linden/indra/newview/llviewerobject.cpp index 58d57b5..88ac978 100644 --- a/linden/indra/newview/llviewerobject.cpp +++ b/linden/indra/newview/llviewerobject.cpp | |||
@@ -1328,9 +1328,8 @@ U32 LLViewerObject::processUpdateMessage(LLMessageSystem *mesgsys, | |||
1328 | 1328 | ||
1329 | U32 value; | 1329 | U32 value; |
1330 | dp->unpackU32(value, "SpecialCode"); | 1330 | dp->unpackU32(value, "SpecialCode"); |
1331 | |||
1332 | dp->setPassFlags(value); | 1331 | dp->setPassFlags(value); |
1333 | 1332 | dp->unpackUUID(owner_id, "Owner"); | |
1334 | 1333 | ||
1335 | if (value & 0x80) | 1334 | if (value & 0x80) |
1336 | { | 1335 | { |
@@ -1469,7 +1468,6 @@ U32 LLViewerObject::processUpdateMessage(LLMessageSystem *mesgsys, | |||
1469 | if (value & 0x10) | 1468 | if (value & 0x10) |
1470 | { | 1469 | { |
1471 | dp->unpackUUID(sound_uuid, "SoundUUID"); | 1470 | dp->unpackUUID(sound_uuid, "SoundUUID"); |
1472 | dp->unpackUUID(owner_id, "OwnerID"); | ||
1473 | dp->unpackF32(gain, "SoundGain"); | 1471 | dp->unpackF32(gain, "SoundGain"); |
1474 | dp->unpackU8(sound_flags, "SoundFlags"); | 1472 | dp->unpackU8(sound_flags, "SoundFlags"); |
1475 | dp->unpackF32(cutoff, "SoundRadius"); | 1473 | dp->unpackF32(cutoff, "SoundRadius"); |
@@ -4016,9 +4014,9 @@ void LLViewerObject::unpackParticleSource(const S32 block_num, const LLUUID& own | |||
4016 | } | 4014 | } |
4017 | else | 4015 | else |
4018 | { | 4016 | { |
4017 | LLViewerPartSourceScript *pss = LLViewerPartSourceScript::unpackPSS(this, NULL, block_num); | ||
4019 | //If the owner is muted, don't create the system | 4018 | //If the owner is muted, don't create the system |
4020 | if(gMuteListp->isMuted(owner_id)) return; | 4019 | if(gMuteListp->isMuted(owner_id)) return; |
4021 | LLViewerPartSourceScript *pss = LLViewerPartSourceScript::unpackPSS(this, NULL, block_num); | ||
4022 | 4020 | ||
4023 | // We need to be able to deal with a particle source that hasn't changed, but still got an update! | 4021 | // We need to be able to deal with a particle source that hasn't changed, but still got an update! |
4024 | if (pss) | 4022 | if (pss) |
@@ -4065,10 +4063,9 @@ void LLViewerObject::unpackParticleSource(LLDataPacker &dp, const LLUUID& owner_ | |||
4065 | } | 4063 | } |
4066 | else | 4064 | else |
4067 | { | 4065 | { |
4066 | LLViewerPartSourceScript *pss = LLViewerPartSourceScript::unpackPSS(this, NULL, dp); | ||
4068 | //If the owner is muted, don't create the system | 4067 | //If the owner is muted, don't create the system |
4069 | if(gMuteListp->isMuted(owner_id)) return; | 4068 | if(gMuteListp->isMuted(owner_id)) return; |
4070 | LLViewerPartSourceScript *pss = LLViewerPartSourceScript::unpackPSS(this, NULL, dp); | ||
4071 | |||
4072 | // We need to be able to deal with a particle source that hasn't changed, but still got an update! | 4069 | // We need to be able to deal with a particle source that hasn't changed, but still got an update! |
4073 | if (pss) | 4070 | if (pss) |
4074 | { | 4071 | { |
@@ -4260,6 +4257,12 @@ LLViewerObject::ExtraParameter* LLViewerObject::createNewParameterEntry(U16 para | |||
4260 | new_block = new LLLightParams(); | 4257 | new_block = new LLLightParams(); |
4261 | break; | 4258 | break; |
4262 | } | 4259 | } |
4260 | case LLNetworkData::PARAMS_SCULPT: | ||
4261 | { | ||
4262 | new_block = new LLSculptParams(); | ||
4263 | break; | ||
4264 | } | ||
4265 | |||
4263 | default: | 4266 | default: |
4264 | { | 4267 | { |
4265 | llinfos << "Unknown param type." << llendl; | 4268 | llinfos << "Unknown param type." << llendl; |
diff --git a/linden/indra/newview/llviewerregion.cpp b/linden/indra/newview/llviewerregion.cpp index 51b1ebe..4409f8b 100644 --- a/linden/indra/newview/llviewerregion.cpp +++ b/linden/indra/newview/llviewerregion.cpp | |||
@@ -62,7 +62,7 @@ | |||
62 | 62 | ||
63 | // Viewer object cache version, change if object update | 63 | // Viewer object cache version, change if object update |
64 | // format changes. JC | 64 | // format changes. JC |
65 | const U32 INDRA_OBJECT_CACHE_VERSION = 12; | 65 | const U32 INDRA_OBJECT_CACHE_VERSION = 14; |
66 | 66 | ||
67 | 67 | ||
68 | extern BOOL gNoRender; | 68 | extern BOOL gNoRender; |
diff --git a/linden/indra/newview/llvovolume.cpp b/linden/indra/newview/llvovolume.cpp index 0a778e4..b9bdddc 100644 --- a/linden/indra/newview/llvovolume.cpp +++ b/linden/indra/newview/llvovolume.cpp | |||
@@ -89,6 +89,8 @@ LLVOVolume::LLVOVolume(const LLUUID &id, const LLPCode pcode, LLViewerRegion *re | |||
89 | mGlobalVolume = FALSE; | 89 | mGlobalVolume = FALSE; |
90 | mVObjRadius = LLVector3(1,1,0.5f).magVec(); | 90 | mVObjRadius = LLVector3(1,1,0.5f).magVec(); |
91 | mNumFaces = 0; | 91 | mNumFaces = 0; |
92 | mLODChanged = FALSE; | ||
93 | mSculptChanged = FALSE; | ||
92 | } | 94 | } |
93 | 95 | ||
94 | LLVOVolume::~LLVOVolume() | 96 | LLVOVolume::~LLVOVolume() |
@@ -116,6 +118,15 @@ U32 LLVOVolume::processUpdateMessage(LLMessageSystem *mesgsys, | |||
116 | // Do base class updates... | 118 | // Do base class updates... |
117 | U32 retval = LLViewerObject::processUpdateMessage(mesgsys, user_data, block_num, update_type, dp); | 119 | U32 retval = LLViewerObject::processUpdateMessage(mesgsys, user_data, block_num, update_type, dp); |
118 | 120 | ||
121 | LLUUID sculpt_id; | ||
122 | U8 sculpt_type = 0; | ||
123 | if (isSculpted()) | ||
124 | { | ||
125 | LLSculptParams *sculpt_params = (LLSculptParams *)getParameterEntry(LLNetworkData::PARAMS_SCULPT); | ||
126 | sculpt_id = sculpt_params->getSculptTexture(); | ||
127 | sculpt_type = sculpt_params->getSculptType(); | ||
128 | } | ||
129 | |||
119 | if (!dp) | 130 | if (!dp) |
120 | { | 131 | { |
121 | if (update_type == OUT_FULL) | 132 | if (update_type == OUT_FULL) |
@@ -157,6 +168,7 @@ U32 LLVOVolume::processUpdateMessage(LLMessageSystem *mesgsys, | |||
157 | // Unpack volume data | 168 | // Unpack volume data |
158 | LLVolumeParams volume_params; | 169 | LLVolumeParams volume_params; |
159 | LLVolumeMessage::unpackVolumeParams(&volume_params, mesgsys, _PREHASH_ObjectData, block_num); | 170 | LLVolumeMessage::unpackVolumeParams(&volume_params, mesgsys, _PREHASH_ObjectData, block_num); |
171 | volume_params.setSculptID(sculpt_id, sculpt_type); | ||
160 | 172 | ||
161 | if (setVolume(volume_params, 0)) | 173 | if (setVolume(volume_params, 0)) |
162 | { | 174 | { |
@@ -186,7 +198,9 @@ U32 LLVOVolume::processUpdateMessage(LLMessageSystem *mesgsys, | |||
186 | llwarns << "Bogus volume parameters in object " << getID() << llendl; | 198 | llwarns << "Bogus volume parameters in object " << getID() << llendl; |
187 | llwarns << getRegion()->getOriginGlobal() << llendl; | 199 | llwarns << getRegion()->getOriginGlobal() << llendl; |
188 | } | 200 | } |
189 | 201 | ||
202 | volume_params.setSculptID(sculpt_id, sculpt_type); | ||
203 | |||
190 | if (setVolume(volume_params, 0)) | 204 | if (setVolume(volume_params, 0)) |
191 | { | 205 | { |
192 | markForUpdate(TRUE); | 206 | markForUpdate(TRUE); |
@@ -462,6 +476,28 @@ void LLVOVolume::updateTextures() | |||
462 | if (pri > max_vsize) max_vsize = pri; | 476 | if (pri > max_vsize) max_vsize = pri; |
463 | } | 477 | } |
464 | } | 478 | } |
479 | |||
480 | if (isSculpted()) | ||
481 | { | ||
482 | LLSculptParams *sculpt_params = (LLSculptParams *)getParameterEntry(LLNetworkData::PARAMS_SCULPT); | ||
483 | LLUUID id = sculpt_params->getSculptTexture(); | ||
484 | mSculptTexture = gImageList.getImage(id); | ||
485 | if (mSculptTexture.notNull()) | ||
486 | { | ||
487 | mSculptTexture->addTextureStats(mPixelArea); | ||
488 | } | ||
489 | |||
490 | S32 desired_discard = MAX_LOD - mLOD; | ||
491 | S32 current_discard = getVolume()->getSculptLevel(); | ||
492 | |||
493 | if (desired_discard != current_discard) | ||
494 | { | ||
495 | gPipeline.markRebuild(mDrawable, LLDrawable::REBUILD_VOLUME, FALSE); | ||
496 | mSculptChanged = TRUE; | ||
497 | } | ||
498 | |||
499 | } | ||
500 | |||
465 | 501 | ||
466 | if (gPipeline.hasRenderDebugMask(LLPipeline::RENDER_DEBUG_TEXTURE_AREA)) | 502 | if (gPipeline.hasRenderDebugMask(LLPipeline::RENDER_DEBUG_TEXTURE_AREA)) |
467 | { | 503 | { |
@@ -624,22 +660,79 @@ BOOL LLVOVolume::setVolume(const LLVolumeParams &volume_params, const S32 detail | |||
624 | } | 660 | } |
625 | } | 661 | } |
626 | } | 662 | } |
663 | |||
627 | mGlobalVolume = (mVolumeImpl && mVolumeImpl->isVolumeGlobal()); | 664 | mGlobalVolume = (mVolumeImpl && mVolumeImpl->isVolumeGlobal()); |
628 | 665 | ||
629 | if (LLPrimitive::setVolume(volume_params, mLOD, (mVolumeImpl && mVolumeImpl->isVolumeUnique()))) | 666 | if ((LLPrimitive::setVolume(volume_params, mLOD, (mVolumeImpl && mVolumeImpl->isVolumeUnique()))) || mSculptChanged) |
630 | { | 667 | { |
631 | mFaceMappingChanged = TRUE; | 668 | mFaceMappingChanged = TRUE; |
632 | 669 | ||
633 | if (mVolumeImpl) | 670 | if (mVolumeImpl) |
634 | { | 671 | { |
635 | mVolumeImpl->onSetVolume(volume_params, detail); | 672 | mVolumeImpl->onSetVolume(volume_params, detail); |
636 | } | 673 | } |
674 | |||
675 | if (isSculpted()) | ||
676 | { | ||
677 | mSculptTexture = gImageList.getImage(volume_params.getSculptID()); | ||
678 | if (mSculptTexture.notNull()) | ||
679 | { | ||
680 | sculpt(); | ||
681 | } | ||
682 | } | ||
683 | else | ||
684 | { | ||
685 | mSculptTexture = NULL; | ||
686 | } | ||
637 | 687 | ||
638 | return TRUE; | 688 | return TRUE; |
639 | } | 689 | } |
640 | return FALSE; | 690 | return FALSE; |
641 | } | 691 | } |
642 | 692 | ||
693 | // sculpt replaces generate() for sculpted surfaces | ||
694 | void LLVOVolume::sculpt() | ||
695 | { | ||
696 | U16 sculpt_height = 0; | ||
697 | U16 sculpt_width = 0; | ||
698 | S8 sculpt_components = 0; | ||
699 | const U8* sculpt_data = NULL; | ||
700 | |||
701 | if (mSculptTexture.notNull()) | ||
702 | { | ||
703 | S32 discard_level; | ||
704 | S32 desired_discard = MAX_LOD - mLOD; // desired | ||
705 | |||
706 | discard_level = desired_discard; | ||
707 | |||
708 | S32 max_discard = mSculptTexture->getMaxDiscardLevel(); | ||
709 | if (discard_level > max_discard) | ||
710 | discard_level = max_discard; // clamp to the best we can do | ||
711 | |||
712 | S32 best_discard = mSculptTexture->getDiscardLevel(); | ||
713 | if (discard_level < best_discard) | ||
714 | discard_level = best_discard; // clamp to what we have | ||
715 | |||
716 | if (best_discard == -1) | ||
717 | discard_level = -1; // and if we have nothing, set to nothing | ||
718 | |||
719 | |||
720 | S32 current_discard = getVolume()->getSculptLevel(); | ||
721 | if (current_discard == discard_level) // no work to do here | ||
722 | return; | ||
723 | |||
724 | LLPointer<LLImageRaw> raw_image = new LLImageRaw(); | ||
725 | mSculptTexture->readBackRaw(discard_level, raw_image, TRUE); | ||
726 | |||
727 | sculpt_height = raw_image->getHeight(); | ||
728 | sculpt_width = raw_image->getWidth(); | ||
729 | |||
730 | sculpt_components = raw_image->getComponents(); | ||
731 | sculpt_data = raw_image->getData(); | ||
732 | getVolume()->sculpt(sculpt_width, sculpt_height, sculpt_components, sculpt_data, discard_level); | ||
733 | } | ||
734 | } | ||
735 | |||
643 | S32 LLVOVolume::computeLODDetail(F32 distance, F32 radius) | 736 | S32 LLVOVolume::computeLODDetail(F32 distance, F32 radius) |
644 | { | 737 | { |
645 | S32 cur_detail; | 738 | S32 cur_detail; |
@@ -978,7 +1071,7 @@ BOOL LLVOVolume::updateGeometry(LLDrawable *drawable) | |||
978 | genBBoxes(FALSE); | 1071 | genBBoxes(FALSE); |
979 | } | 1072 | } |
980 | } | 1073 | } |
981 | else if (mLODChanged) | 1074 | else if ((mLODChanged) || (mSculptChanged)) |
982 | { | 1075 | { |
983 | LLPointer<LLVolume> old_volumep, new_volumep; | 1076 | LLPointer<LLVolume> old_volumep, new_volumep; |
984 | F32 old_lod, new_lod; | 1077 | F32 old_lod, new_lod; |
@@ -994,7 +1087,7 @@ BOOL LLVOVolume::updateGeometry(LLDrawable *drawable) | |||
994 | new_volumep = getVolume(); | 1087 | new_volumep = getVolume(); |
995 | new_lod = new_volumep->getDetail(); | 1088 | new_lod = new_volumep->getDetail(); |
996 | 1089 | ||
997 | if (new_lod != old_lod) | 1090 | if ((new_lod != old_lod) || mSculptChanged) |
998 | { | 1091 | { |
999 | compiled = TRUE; | 1092 | compiled = TRUE; |
1000 | sNumLODChanges += getVolume()->getNumFaces(); | 1093 | sNumLODChanges += getVolume()->getNumFaces(); |
@@ -1030,6 +1123,7 @@ BOOL LLVOVolume::updateGeometry(LLDrawable *drawable) | |||
1030 | 1123 | ||
1031 | mVolumeChanged = FALSE; | 1124 | mVolumeChanged = FALSE; |
1032 | mLODChanged = FALSE; | 1125 | mLODChanged = FALSE; |
1126 | mSculptChanged = FALSE; | ||
1033 | mFaceMappingChanged = FALSE; | 1127 | mFaceMappingChanged = FALSE; |
1034 | 1128 | ||
1035 | return TRUE; | 1129 | return TRUE; |
@@ -1037,9 +1131,16 @@ BOOL LLVOVolume::updateGeometry(LLDrawable *drawable) | |||
1037 | 1131 | ||
1038 | void LLVOVolume::updateFaceSize(S32 idx) | 1132 | void LLVOVolume::updateFaceSize(S32 idx) |
1039 | { | 1133 | { |
1040 | const LLVolumeFace& vol_face = getVolume()->getVolumeFace(idx); | ||
1041 | LLFace* facep = mDrawable->getFace(idx); | 1134 | LLFace* facep = mDrawable->getFace(idx); |
1042 | facep->setSize(vol_face.mVertices.size(), vol_face.mIndices.size()); | 1135 | if (idx >= getVolume()->getNumVolumeFaces()) |
1136 | { | ||
1137 | facep->setSize(0,0); | ||
1138 | } | ||
1139 | else | ||
1140 | { | ||
1141 | const LLVolumeFace& vol_face = getVolume()->getVolumeFace(idx); | ||
1142 | facep->setSize(vol_face.mVertices.size(), vol_face.mIndices.size()); | ||
1143 | } | ||
1043 | } | 1144 | } |
1044 | 1145 | ||
1045 | BOOL LLVOVolume::isRootEdit() const | 1146 | BOOL LLVOVolume::isRootEdit() const |
@@ -1469,7 +1570,6 @@ BOOL LLVOVolume::isFlexible() const | |||
1469 | { | 1570 | { |
1470 | if (getVolume()->getParams().getPathParams().getCurveType() != LL_PCODE_PATH_FLEXIBLE) | 1571 | if (getVolume()->getParams().getPathParams().getCurveType() != LL_PCODE_PATH_FLEXIBLE) |
1471 | { | 1572 | { |
1472 | llwarns << "wtf" << llendl; | ||
1473 | LLVolumeParams volume_params = getVolume()->getParams(); | 1573 | LLVolumeParams volume_params = getVolume()->getParams(); |
1474 | U8 profile_and_hole = volume_params.getProfileParams().getCurveType(); | 1574 | U8 profile_and_hole = volume_params.getProfileParams().getCurveType(); |
1475 | volume_params.setType(profile_and_hole, LL_PCODE_PATH_FLEXIBLE); | 1575 | volume_params.setType(profile_and_hole, LL_PCODE_PATH_FLEXIBLE); |
@@ -1482,6 +1582,16 @@ BOOL LLVOVolume::isFlexible() const | |||
1482 | } | 1582 | } |
1483 | } | 1583 | } |
1484 | 1584 | ||
1585 | BOOL LLVOVolume::isSculpted() const | ||
1586 | { | ||
1587 | if (getParameterEntryInUse(LLNetworkData::PARAMS_SCULPT)) | ||
1588 | { | ||
1589 | return TRUE; | ||
1590 | } | ||
1591 | |||
1592 | return FALSE; | ||
1593 | } | ||
1594 | |||
1485 | BOOL LLVOVolume::isVolumeGlobal() const | 1595 | BOOL LLVOVolume::isVolumeGlobal() const |
1486 | { | 1596 | { |
1487 | if (mVolumeImpl) | 1597 | if (mVolumeImpl) |
diff --git a/linden/indra/newview/llvovolume.h b/linden/indra/newview/llvovolume.h index 80e4e8a..14c640f 100644 --- a/linden/indra/newview/llvovolume.h +++ b/linden/indra/newview/llvovolume.h | |||
@@ -152,6 +152,7 @@ public: | |||
152 | void setTexture(const S32 face); | 152 | void setTexture(const S32 face); |
153 | 153 | ||
154 | /*virtual*/ BOOL setVolume(const LLVolumeParams &volume_params, const S32 detail, bool unique_volume = false); | 154 | /*virtual*/ BOOL setVolume(const LLVolumeParams &volume_params, const S32 detail, bool unique_volume = false); |
155 | void sculpt(); | ||
155 | void updateRelativeXform(); | 156 | void updateRelativeXform(); |
156 | /*virtual*/ BOOL updateGeometry(LLDrawable *drawable); | 157 | /*virtual*/ BOOL updateGeometry(LLDrawable *drawable); |
157 | /*virtual*/ void updateFaceSize(S32 idx); | 158 | /*virtual*/ void updateFaceSize(S32 idx); |
@@ -197,6 +198,7 @@ public: | |||
197 | // Flexible Objects | 198 | // Flexible Objects |
198 | U32 getVolumeInterfaceID() const; | 199 | U32 getVolumeInterfaceID() const; |
199 | virtual BOOL isFlexible() const; | 200 | virtual BOOL isFlexible() const; |
201 | virtual BOOL isSculpted() const; | ||
200 | BOOL isVolumeGlobal() const; | 202 | BOOL isVolumeGlobal() const; |
201 | BOOL canBeFlexible() const; | 203 | BOOL canBeFlexible() const; |
202 | BOOL setIsFlexible(BOOL is_flexible); | 204 | BOOL setIsFlexible(BOOL is_flexible); |
@@ -223,12 +225,14 @@ protected: | |||
223 | LLFrameTimer mTextureUpdateTimer; | 225 | LLFrameTimer mTextureUpdateTimer; |
224 | S32 mLOD; | 226 | S32 mLOD; |
225 | BOOL mLODChanged; | 227 | BOOL mLODChanged; |
228 | BOOL mSculptChanged; | ||
226 | F32 mRadius; | 229 | F32 mRadius; |
227 | LLMatrix4 mRelativeXform; | 230 | LLMatrix4 mRelativeXform; |
228 | LLMatrix3 mRelativeXformInvTrans; | 231 | LLMatrix3 mRelativeXformInvTrans; |
229 | BOOL mVolumeChanged; | 232 | BOOL mVolumeChanged; |
230 | F32 mVObjRadius; | 233 | F32 mVObjRadius; |
231 | LLVolumeInterface *mVolumeImpl; | 234 | LLVolumeInterface *mVolumeImpl; |
235 | LLPointer<LLViewerImage> mSculptTexture; | ||
232 | 236 | ||
233 | // statics | 237 | // statics |
234 | public: | 238 | public: |
diff --git a/linden/indra/newview/newview_vc8.vcproj b/linden/indra/newview/newview_vc8.vcproj index 4cb359b..8b55869 100644 --- a/linden/indra/newview/newview_vc8.vcproj +++ b/linden/indra/newview/newview_vc8.vcproj | |||
@@ -42,11 +42,12 @@ | |||
42 | Name="VCCLCompilerTool" | 42 | Name="VCCLCompilerTool" |
43 | Optimization="0" | 43 | Optimization="0" |
44 | AdditionalIncludeDirectories="..\llcommon;..\llmath;..\llvfs;..\llaudio;..\llmedia;..\llimage;..\llscene;..\llxml;..\llmessage;..\llprimitive;..\llrender;..\llwindow;..\llcharacter;..\llinventory;..\llui;..\lscript;"..\..\libraries\i686-win32\include";..\..\libraries\include\;"..\..\libraries\i686-win32\include\quicktime";..\llwindow\Logitech_LCD;..\llwindow\Logitech_LCD\LCDUI" | 44 | AdditionalIncludeDirectories="..\llcommon;..\llmath;..\llvfs;..\llaudio;..\llmedia;..\llimage;..\llscene;..\llxml;..\llmessage;..\llprimitive;..\llrender;..\llwindow;..\llcharacter;..\llinventory;..\llui;..\lscript;"..\..\libraries\i686-win32\include";..\..\libraries\include\;"..\..\libraries\i686-win32\include\quicktime";..\llwindow\Logitech_LCD;..\llwindow\Logitech_LCD\LCDUI" |
45 | PreprocessorDefinitions="WIN32;_DEBUG;LL_WINDOWS;LL_DEBUG;XP_WIN;XP_WIN32;MOZILLA_INTERNAL_API" | 45 | PreprocessorDefinitions="WIN32;_DEBUG;LL_WINDOWS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_USE_32BIT_TIME_T;LL_DEBUG;XP_WIN;XP_WIN32;MOZILLA_INTERNAL_API" |
46 | MinimalRebuild="false" | 46 | MinimalRebuild="false" |
47 | BasicRuntimeChecks="3" | 47 | BasicRuntimeChecks="3" |
48 | RuntimeLibrary="1" | 48 | RuntimeLibrary="1" |
49 | StructMemberAlignment="4" | 49 | StructMemberAlignment="4" |
50 | TreatWChar_tAsBuiltInType="false" | ||
50 | ForceConformanceInForLoopScope="true" | 51 | ForceConformanceInForLoopScope="true" |
51 | UsePrecompiledHeader="0" | 52 | UsePrecompiledHeader="0" |
52 | PrecompiledHeaderThrough="llviewerprecompiledheaders.h" | 53 | PrecompiledHeaderThrough="llviewerprecompiledheaders.h" |
@@ -66,11 +67,11 @@ | |||
66 | /> | 67 | /> |
67 | <Tool | 68 | <Tool |
68 | Name="VCLinkerTool" | 69 | Name="VCLinkerTool" |
69 | AdditionalDependencies="advapi32.lib apr-1.lib aprutil-1.lib comdlg32.lib dinput8.lib dsound.lib dxerr8.lib dxguid.lib fmodvc.lib freetype.lib gdi32.lib glu32.lib jpeglib_6b.lib kernel32.lib libboost_regex-vc71-mt-s.lib libcurl.lib libeay32.lib libexpatMT.lib LibOpenJPEG.lib llmozlib.lib mswsock.lib netapi32.lib odbc32.lib odbccp32.lib ogg_static_mt.lib ole32.lib oleaut32.lib opengl32.lib qtmlclient.lib shell32.lib ssleay32.lib user32.lib Vfw32.lib vorbis_static_mt.lib vorbisenc_static_mt.lib vorbisfile_static_mt.lib winmm.lib winspool.lib ws2_32.lib xmlrpcepi.lib zlib.lib lglcd.lib" | 70 | AdditionalDependencies="advapi32.lib apr-1.lib aprutil-1.lib comdlg32.lib dinput8.lib dsound.lib dxerr8.lib dxguid.lib fmodvc.lib freetype.lib gdi32.lib glu32.lib jpeglib_6b.lib kernel32.lib libboost_regex-vc80-mt-s.lib libcurl.lib libeay32.lib libexpatMT.lib LibOpenJPEG.lib llmozlib-vc80.lib mswsock.lib netapi32.lib odbc32.lib odbccp32.lib ogg_static_mt.lib ole32.lib oleaut32.lib opengl32.lib qtmlclient.lib shell32.lib ssleay32.lib user32.lib Vfw32.lib vorbis_static_mt.lib vorbisenc_static_mt.lib vorbisfile_static_mt.lib winmm.lib winspool.lib ws2_32.lib xmlrpcepi.lib zlib.lib" |
70 | OutputFile="$(ConfigurationName)/debugview.exe" | 71 | OutputFile="$(ConfigurationName)/debugview.exe" |
71 | LinkIncremental="2" | 72 | LinkIncremental="2" |
72 | AdditionalLibraryDirectories=""../lib_$(ConfigurationName)/i686-win32";"../../libraries/i686-win32/lib_debug"" | 73 | AdditionalLibraryDirectories=""../lib_$(ConfigurationName)/i686-win32";"../../libraries/i686-win32/lib_debug"" |
73 | IgnoreDefaultLibraryNames="msvcrtd;libcd.lib" | 74 | IgnoreDefaultLibraryNames="msvcrtd;libcd;libcmt" |
74 | GenerateDebugInformation="true" | 75 | GenerateDebugInformation="true" |
75 | ProgramDatabaseFile="$(TargetName).pdb" | 76 | ProgramDatabaseFile="$(TargetName).pdb" |
76 | SubSystem="2" | 77 | SubSystem="2" |
@@ -157,7 +158,7 @@ | |||
157 | /> | 158 | /> |
158 | <Tool | 159 | <Tool |
159 | Name="VCLinkerTool" | 160 | Name="VCLinkerTool" |
160 | AdditionalDependencies="advapi32.lib apr-1.lib aprutil-1.lib comdlg32.lib dinput8.lib dsound.lib dxerr8.lib dxguid.lib fmodvc.lib freetype.lib gdi32.lib glu32.lib jpeglib_6b.lib kernel32.lib libboost_regex-vc80-mt-s.lib libcurl.lib libeay32.lib libexpatMT.lib LibOpenJPEG.lib llaudio.lib llmedia.lib llcharacter.lib llcommon.lib llimage.lib llimagej2coj.lib llinventory.lib llmath.lib llmessage.lib llmozlib-vc80.lib llprimitive.lib llrender.lib llui.lib llvfs.lib llwindow.lib llxml.lib lscript_library.lib mswsock.lib netapi32.lib odbc32.lib odbccp32.lib ogg_static_mt.lib ole32.lib oleaut32.lib opengl32.lib qtmlclient.lib shell32.lib ssleay32.lib user32.lib Vfw32.lib vorbis_static_mt.lib vorbisenc_static_mt.lib vorbisfile_static_mt.lib winmm.lib winspool.lib ws2_32.lib xmlrpcepi.lib zlib.lib lglcd.lib" | 161 | AdditionalDependencies="advapi32.lib apr-1.lib aprutil-1.lib comdlg32.lib dinput8.lib dsound.lib dxerr8.lib dxguid.lib fmodvc.lib freetype.lib gdi32.lib glu32.lib jpeglib_6b.lib kernel32.lib libboost_regex-vc80-mt-s.lib libcurl.lib libeay32.lib libexpatMT.lib LibOpenJPEG.lib llaudio.lib llmedia.lib llcharacter.lib llcommon.lib llimage.lib llimagej2coj.lib llinventory.lib llmath.lib llmessage.lib llmozlib-vc80.lib llprimitive.lib llrender.lib llui.lib llvfs.lib llwindow.lib llxml.lib lscript_library.lib mswsock.lib netapi32.lib odbc32.lib odbccp32.lib ogg_static_mt.lib ole32.lib oleaut32.lib opengl32.lib qtmlclient.lib shell32.lib ssleay32.lib user32.lib Vfw32.lib vorbis_static_mt.lib vorbisenc_static_mt.lib vorbisfile_static_mt.lib winmm.lib winspool.lib ws2_32.lib xmlrpcepi.lib zlib.lib" |
161 | OutputFile="$(ConfigurationName)/newview.exe" | 162 | OutputFile="$(ConfigurationName)/newview.exe" |
162 | LinkIncremental="2" | 163 | LinkIncremental="2" |
163 | AdditionalLibraryDirectories=""../lib_$(ConfigurationName)/i686-win32";"../../libraries/i686-win32/lib_release"" | 164 | AdditionalLibraryDirectories=""../lib_$(ConfigurationName)/i686-win32";"../../libraries/i686-win32/lib_release"" |
@@ -225,9 +226,10 @@ | |||
225 | <Tool | 226 | <Tool |
226 | Name="VCCLCompilerTool" | 227 | Name="VCCLCompilerTool" |
227 | AdditionalIncludeDirectories="..\llcommon;..\llmath;..\llvfs;..\llaudio;..\llmedia;..\llimage;..\llscene;..\llxml;..\llmessage;..\llprimitive;..\llrender;..\llwindow;..\llcharacter;..\llinventory;..\llui;..\lscript;"..\..\libraries\i686-win32\include";..\..\libraries\include\;"..\..\libraries\i686-win32\include\quicktime";..\llwindow\Logitech_LCD;..\llwindow\Logitech_LCD\LCDUI" | 228 | AdditionalIncludeDirectories="..\llcommon;..\llmath;..\llvfs;..\llaudio;..\llmedia;..\llimage;..\llscene;..\llxml;..\llmessage;..\llprimitive;..\llrender;..\llwindow;..\llcharacter;..\llinventory;..\llui;..\lscript;"..\..\libraries\i686-win32\include";..\..\libraries\include\;"..\..\libraries\i686-win32\include\quicktime";..\llwindow\Logitech_LCD;..\llwindow\Logitech_LCD\LCDUI" |
228 | PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;LL_WINDOWS;LL_RELEASE;LL_RELEASE_FOR_DOWNLOAD;XP_WIN;XP_WIN32;MOZILLA_INTERNAL_API" | 229 | PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;LL_WINDOWS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_USE_32BIT_TIME_T;LL_RELEASE;LL_RELEASE_FOR_DOWNLOAD;XP_WIN;XP_WIN32;MOZILLA_INTERNAL_API" |
229 | RuntimeLibrary="0" | 230 | RuntimeLibrary="0" |
230 | StructMemberAlignment="0" | 231 | StructMemberAlignment="0" |
232 | TreatWChar_tAsBuiltInType="false" | ||
231 | UsePrecompiledHeader="2" | 233 | UsePrecompiledHeader="2" |
232 | PrecompiledHeaderThrough="llviewerprecompiledheaders.h" | 234 | PrecompiledHeaderThrough="llviewerprecompiledheaders.h" |
233 | WarningLevel="3" | 235 | WarningLevel="3" |
@@ -246,7 +248,7 @@ | |||
246 | /> | 248 | /> |
247 | <Tool | 249 | <Tool |
248 | Name="VCLinkerTool" | 250 | Name="VCLinkerTool" |
249 | AdditionalDependencies="advapi32.lib apr-1.lib aprutil-1.lib comdlg32.lib dinput8.lib dsound.lib dxerr8.lib dxguid.lib fmodvc.lib freetype.lib gdi32.lib glu32.lib jpeglib_6b.lib kernel32.lib libboost_regex-vc71-mt-s.lib libcurl.lib libeay32.lib libexpatMT.lib LibOpenJPEG.lib llaudio.lib llmedia.lib llcharacter.lib llcommon.lib llimage.lib llimagej2coj.lib llinventory.lib llmath.lib llmessage.lib llmozlib.lib llprimitive.lib llrender.lib llui.lib llvfs.lib llwindow.lib llxml.lib lscript_library.lib mswsock.lib netapi32.lib odbc32.lib odbccp32.lib ogg_static_mt.lib ole32.lib oleaut32.lib opengl32.lib qtmlclient.lib shell32.lib ssleay32.lib user32.lib Vfw32.lib vorbis_static_mt.lib vorbisenc_static_mt.lib vorbisfile_static_mt.lib winmm.lib winspool.lib ws2_32.lib xmlrpcepi.lib zlib.lib lglcd.lib" | 251 | AdditionalDependencies="advapi32.lib apr-1.lib aprutil-1.lib comdlg32.lib dinput8.lib dsound.lib dxerr8.lib dxguid.lib fmodvc.lib freetype.lib gdi32.lib glu32.lib jpeglib_6b.lib kernel32.lib libboost_regex-vc80-mt-s.lib libcurl.lib libeay32.lib libexpatMT.lib LibOpenJPEG.lib llaudio.lib llmedia.lib llcharacter.lib llcommon.lib llimage.lib llimagej2coj.lib llinventory.lib llmath.lib llmessage.lib llmozlib-vc80.lib llprimitive.lib llrender.lib llui.lib llvfs.lib llwindow.lib llxml.lib lscript_library.lib mswsock.lib netapi32.lib odbc32.lib odbccp32.lib ogg_static_mt.lib ole32.lib oleaut32.lib opengl32.lib qtmlclient.lib shell32.lib ssleay32.lib user32.lib Vfw32.lib vorbis_static_mt.lib vorbisenc_static_mt.lib vorbisfile_static_mt.lib winmm.lib winspool.lib ws2_32.lib xmlrpcepi.lib zlib.lib" |
250 | OutputFile="$(ConfigurationName)/SecondLife.exe" | 252 | OutputFile="$(ConfigurationName)/SecondLife.exe" |
251 | LinkIncremental="0" | 253 | LinkIncremental="0" |
252 | AdditionalLibraryDirectories=""../lib_release/i686-win32";"../../libraries/i686-win32/lib_release"" | 254 | AdditionalLibraryDirectories=""../lib_release/i686-win32";"../../libraries/i686-win32/lib_release"" |
@@ -312,9 +314,10 @@ | |||
312 | Name="VCCLCompilerTool" | 314 | Name="VCCLCompilerTool" |
313 | Optimization="0" | 315 | Optimization="0" |
314 | AdditionalIncludeDirectories="..\llcommon;..\llmath;..\llvfs;..\llaudio;..\llmedia;..\llimage;..\llscene;..\llxml;..\llmessage;..\llprimitive;..\llrender;..\llwindow;..\llcharacter;..\llinventory;..\llui;..\lscript;"..\..\libraries\i686-win32\include";..\..\libraries\include\;"..\..\libraries\i686-win32\include\quicktime";..\llwindow\Logitech_LCD;..\llwindow\Logitech_LCD\LCDUI" | 316 | AdditionalIncludeDirectories="..\llcommon;..\llmath;..\llvfs;..\llaudio;..\llmedia;..\llimage;..\llscene;..\llxml;..\llmessage;..\llprimitive;..\llrender;..\llwindow;..\llcharacter;..\llinventory;..\llui;..\lscript;"..\..\libraries\i686-win32\include";..\..\libraries\include\;"..\..\libraries\i686-win32\include\quicktime";..\llwindow\Logitech_LCD;..\llwindow\Logitech_LCD\LCDUI" |
315 | PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;LL_WINDOWS;LL_RELEASE;XP_WIN;XP_WIN32;MOZILLA_INTERNAL_API" | 317 | PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;LL_WINDOWS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_USE_32BIT_TIME_T;LL_RELEASE;XP_WIN;XP_WIN32;MOZILLA_INTERNAL_API" |
316 | RuntimeLibrary="0" | 318 | RuntimeLibrary="0" |
317 | StructMemberAlignment="0" | 319 | StructMemberAlignment="0" |
320 | TreatWChar_tAsBuiltInType="false" | ||
318 | ForceConformanceInForLoopScope="true" | 321 | ForceConformanceInForLoopScope="true" |
319 | UsePrecompiledHeader="2" | 322 | UsePrecompiledHeader="2" |
320 | PrecompiledHeaderThrough="llviewerprecompiledheaders.h" | 323 | PrecompiledHeaderThrough="llviewerprecompiledheaders.h" |
@@ -334,7 +337,7 @@ | |||
334 | /> | 337 | /> |
335 | <Tool | 338 | <Tool |
336 | Name="VCLinkerTool" | 339 | Name="VCLinkerTool" |
337 | AdditionalDependencies="advapi32.lib apr-1.lib aprutil-1.lib comdlg32.lib dinput8.lib dsound.lib dxerr8.lib dxguid.lib fmodvc.lib freetype.lib gdi32.lib glu32.lib jpeglib_6b.lib kernel32.lib libboost_regex-vc71-mt-s.lib libcurl.lib libeay32.lib libexpatMT.lib LibOpenJPEG.lib llmozlib.lib mswsock.lib netapi32.lib odbc32.lib odbccp32.lib ogg_static_mt.lib ole32.lib oleaut32.lib opengl32.lib qtmlclient.lib shell32.lib ssleay32.lib user32.lib Vfw32.lib vorbis_static_mt.lib vorbisenc_static_mt.lib vorbisfile_static_mt.lib winmm.lib winspool.lib ws2_32.lib xmlrpcepi.lib zlib.lib lglcd.lib" | 340 | AdditionalDependencies="advapi32.lib apr-1.lib aprutil-1.lib comdlg32.lib dinput8.lib dsound.lib dxerr8.lib dxguid.lib fmodvc.lib freetype.lib gdi32.lib glu32.lib jpeglib_6b.lib kernel32.lib libboost_regex-vc80-mt-s.lib libcurl.lib libeay32.lib libexpatMT.lib LibOpenJPEG.lib llaudio.lib llmedia.lib llcharacter.lib llcommon.lib llimage.lib llimagej2coj.lib llinventory.lib llmath.lib llmessage.lib llmozlib-vc80.lib llprimitive.lib llrender.lib llui.lib llvfs.lib llwindow.lib llxml.lib lscript_library.lib mswsock.lib netapi32.lib odbc32.lib odbccp32.lib ogg_static_mt.lib ole32.lib oleaut32.lib opengl32.lib qtmlclient.lib shell32.lib ssleay32.lib user32.lib Vfw32.lib vorbis_static_mt.lib vorbisenc_static_mt.lib vorbisfile_static_mt.lib winmm.lib winspool.lib ws2_32.lib xmlrpcepi.lib zlib.lib" |
338 | OutputFile="$(ConfigurationName)/newview_noopt.exe" | 341 | OutputFile="$(ConfigurationName)/newview_noopt.exe" |
339 | LinkIncremental="2" | 342 | LinkIncremental="2" |
340 | AdditionalLibraryDirectories=""../lib_releasenoopt/i686-win32";"../../libraries/i686-win32/lib_release"" | 343 | AdditionalLibraryDirectories=""../lib_releasenoopt/i686-win32";"../../libraries/i686-win32/lib_release"" |
@@ -445,6 +448,10 @@ | |||
445 | > | 448 | > |
446 | </File> | 449 | </File> |
447 | <File | 450 | <File |
451 | RelativePath=".\llcaphttpsender.cpp" | ||
452 | > | ||
453 | </File> | ||
454 | <File | ||
448 | RelativePath=".\llchatbar.cpp" | 455 | RelativePath=".\llchatbar.cpp" |
449 | > | 456 | > |
450 | </File> | 457 | </File> |
@@ -785,10 +792,6 @@ | |||
785 | > | 792 | > |
786 | </File> | 793 | </File> |
787 | <File | 794 | <File |
788 | RelativePath=".\llfloaterrate.cpp" | ||
789 | > | ||
790 | </File> | ||
791 | <File | ||
792 | RelativePath=".\llfloaterregioninfo.cpp" | 795 | RelativePath=".\llfloaterregioninfo.cpp" |
793 | > | 796 | > |
794 | </File> | 797 | </File> |
@@ -973,10 +976,6 @@ | |||
973 | > | 976 | > |
974 | </File> | 977 | </File> |
975 | <File | 978 | <File |
976 | RelativePath=".\lllcd.cpp" | ||
977 | > | ||
978 | </File> | ||
979 | <File | ||
980 | RelativePath=".\lllocalanimationobject.cpp" | 979 | RelativePath=".\lllocalanimationobject.cpp" |
981 | > | 980 | > |
982 | </File> | 981 | </File> |
@@ -1173,10 +1172,6 @@ | |||
1173 | > | 1172 | > |
1174 | </File> | 1173 | </File> |
1175 | <File | 1174 | <File |
1176 | RelativePath=".\llpanelLCD.cpp" | ||
1177 | > | ||
1178 | </File> | ||
1179 | <File | ||
1180 | RelativePath=".\llpanellogin.cpp" | 1175 | RelativePath=".\llpanellogin.cpp" |
1181 | > | 1176 | > |
1182 | </File> | 1177 | </File> |
@@ -1485,6 +1480,10 @@ | |||
1485 | > | 1480 | > |
1486 | </File> | 1481 | </File> |
1487 | <File | 1482 | <File |
1483 | RelativePath=".\llviewergenericmessage.cpp" | ||
1484 | > | ||
1485 | </File> | ||
1486 | <File | ||
1488 | RelativePath=".\llviewergesture.cpp" | 1487 | RelativePath=".\llviewergesture.cpp" |
1489 | > | 1488 | > |
1490 | </File> | 1489 | </File> |
@@ -1533,6 +1532,10 @@ | |||
1533 | > | 1532 | > |
1534 | </File> | 1533 | </File> |
1535 | <File | 1534 | <File |
1535 | RelativePath=".\llviewermenufile.cpp" | ||
1536 | > | ||
1537 | </File> | ||
1538 | <File | ||
1536 | RelativePath=".\llviewermessage.cpp" | 1539 | RelativePath=".\llviewermessage.cpp" |
1537 | > | 1540 | > |
1538 | </File> | 1541 | </File> |
@@ -1569,10 +1572,6 @@ | |||
1569 | > | 1572 | > |
1570 | </File> | 1573 | </File> |
1571 | <File | 1574 | <File |
1572 | RelativePath=".\llviewerreputation.cpp" | ||
1573 | > | ||
1574 | </File> | ||
1575 | <File | ||
1576 | RelativePath=".\llviewerstats.cpp" | 1575 | RelativePath=".\llviewerstats.cpp" |
1577 | > | 1576 | > |
1578 | </File> | 1577 | </File> |
@@ -1803,6 +1802,10 @@ | |||
1803 | > | 1802 | > |
1804 | </File> | 1803 | </File> |
1805 | <File | 1804 | <File |
1805 | RelativePath=".\llcaphttpsender.h" | ||
1806 | > | ||
1807 | </File> | ||
1808 | <File | ||
1806 | RelativePath=".\llchatbar.h" | 1809 | RelativePath=".\llchatbar.h" |
1807 | > | 1810 | > |
1808 | </File> | 1811 | </File> |
@@ -2143,10 +2146,6 @@ | |||
2143 | > | 2146 | > |
2144 | </File> | 2147 | </File> |
2145 | <File | 2148 | <File |
2146 | RelativePath=".\llfloaterrate.h" | ||
2147 | > | ||
2148 | </File> | ||
2149 | <File | ||
2150 | RelativePath=".\llfloaterregioninfo.h" | 2149 | RelativePath=".\llfloaterregioninfo.h" |
2151 | > | 2150 | > |
2152 | </File> | 2151 | </File> |
@@ -2323,10 +2322,6 @@ | |||
2323 | > | 2322 | > |
2324 | </File> | 2323 | </File> |
2325 | <File | 2324 | <File |
2326 | RelativePath=".\lllcd.h" | ||
2327 | > | ||
2328 | </File> | ||
2329 | <File | ||
2330 | RelativePath=".\lllightconstants.h" | 2325 | RelativePath=".\lllightconstants.h" |
2331 | > | 2326 | > |
2332 | </File> | 2327 | </File> |
@@ -2527,10 +2522,6 @@ | |||
2527 | > | 2522 | > |
2528 | </File> | 2523 | </File> |
2529 | <File | 2524 | <File |
2530 | RelativePath=".\llpanelLCD.h" | ||
2531 | > | ||
2532 | </File> | ||
2533 | <File | ||
2534 | RelativePath=".\llpanellogin.h" | 2525 | RelativePath=".\llpanellogin.h" |
2535 | > | 2526 | > |
2536 | </File> | 2527 | </File> |
@@ -2859,6 +2850,10 @@ | |||
2859 | > | 2850 | > |
2860 | </File> | 2851 | </File> |
2861 | <File | 2852 | <File |
2853 | RelativePath=".\llviewergenericmessage.h" | ||
2854 | > | ||
2855 | </File> | ||
2856 | <File | ||
2862 | RelativePath=".\llviewergesture.h" | 2857 | RelativePath=".\llviewergesture.h" |
2863 | > | 2858 | > |
2864 | </File> | 2859 | </File> |
@@ -2907,6 +2902,10 @@ | |||
2907 | > | 2902 | > |
2908 | </File> | 2903 | </File> |
2909 | <File | 2904 | <File |
2905 | RelativePath=".\llviewermenufile.h" | ||
2906 | > | ||
2907 | </File> | ||
2908 | <File | ||
2910 | RelativePath=".\llviewermessage.h" | 2909 | RelativePath=".\llviewermessage.h" |
2911 | > | 2910 | > |
2912 | </File> | 2911 | </File> |
@@ -2943,10 +2942,6 @@ | |||
2943 | > | 2942 | > |
2944 | </File> | 2943 | </File> |
2945 | <File | 2944 | <File |
2946 | RelativePath=".\llviewerreputation.h" | ||
2947 | > | ||
2948 | </File> | ||
2949 | <File | ||
2950 | RelativePath=".\llviewerstats.h" | 2945 | RelativePath=".\llviewerstats.h" |
2951 | > | 2946 | > |
2952 | </File> | 2947 | </File> |
diff --git a/linden/indra/newview/releasenotes.txt b/linden/indra/newview/releasenotes.txt index c6c57f0..a223e08 100644 --- a/linden/indra/newview/releasenotes.txt +++ b/linden/indra/newview/releasenotes.txt | |||
@@ -1,3 +1,55 @@ | |||
1 | Release Notes for Second Life 1.16.0(5) May 23, 2007 | ||
2 | ===================================== | ||
3 | New Features: | ||
4 | * Sculpted Prims | ||
5 | ** Sculpted Prims are a new primitive type that uses a texture to control its 3D shape | ||
6 | ** See http://wiki.secondlife.com/wiki/Sculpted_Prims for FAQ and detailed information | ||
7 | * Add "Mute" button to block unwanted notecards, landmarks, and textures | ||
8 | |||
9 | Changes: | ||
10 | * Improved muting of particle systems | ||
11 | |||
12 | LSL Changes: | ||
13 | * New function: llRegionSay() | ||
14 | ** Allows object to communicate region-wide | ||
15 | ** Does not allow communication on channel 0 | ||
16 | ** This is intended to reduce simulator load by eliminating the need for relay objects | ||
17 | |||
18 | Bug fixes: | ||
19 | * Text for several alert messages has been updated | ||
20 | * Fixed positioning of maximize button when minimizing both script and lsl window | ||
21 | * Fixed positioning of LSL help window after minimizing/maximizing main script window | ||
22 | * Fixed group chat IM showing sender as the only participant until someone responds | ||
23 | * Fixed group chat IM reopening with an error when sending a message after user closes group chat | ||
24 | * Fixed '... has left the session' when leaving group chat after talking | ||
25 | * Fixed failed email when no subject is included | ||
26 | * Fixed object loss occuring when taking an item | ||
27 | * VWR-657: Beta -> Linux -> Startup -> Crash | ||
28 | |||
29 | Release Notes for Second Life 1.15.3(0) May 22, 2007 (Server-Only Update) | ||
30 | ===================================== | ||
31 | Bug fixes: | ||
32 | * SVC-213: llGiveInventoryList not creating a folder to place items | ||
33 | |||
34 | |||
35 | Release Notes for Second Life 1.15.2(0) May 18, 2007 (Server-Only Update) | ||
36 | ===================================== | ||
37 | Changes: | ||
38 | * IMs and emails received when inventory is given now include the item name, owner, position and SLURL. | ||
39 | ** This is useful to track down spamming objects. | ||
40 | |||
41 | Bug fixes: | ||
42 | * SVC-85: Friends online in the grid does not reflect who is actually online | ||
43 | * SVC-138: Land sales search sorting doesn't work | ||
44 | * MISC-37: Continued breakdowns in group notice popup functionality | ||
45 | * Teleporting to Help Island no longer allows you to teleport back to Orientation Island | ||
46 | * No-copy objects that fail to rez now reappear in inventory (may take up to one minute) | ||
47 | * Scripted attachments work again correctly on group land | ||
48 | * Fixed a bug where email sent by script with an empty subject would fail (valid per RFC2822) | ||
49 | * Fixed several server-side memory leaks, and changed to new memory allocation library | ||
50 | * Fixed several server-side crashes | ||
51 | |||
52 | |||
1 | Release Notes for Second Life 1.15.1(3) May 14, 2007 | 53 | Release Notes for Second Life 1.15.1(3) May 14, 2007 |
2 | ===================================== | 54 | ===================================== |
3 | Changes: | 55 | Changes: |
diff --git a/linden/indra/newview/res/newViewRes.rc b/linden/indra/newview/res/newViewRes.rc index e9ac143..482f14e 100644 --- a/linden/indra/newview/res/newViewRes.rc +++ b/linden/indra/newview/res/newViewRes.rc | |||
@@ -227,8 +227,8 @@ TOOLPIPETTE CURSOR "toolpipette.cur" | |||
227 | // | 227 | // |
228 | 228 | ||
229 | VS_VERSION_INFO VERSIONINFO | 229 | VS_VERSION_INFO VERSIONINFO |
230 | FILEVERSION 1,15,1,3 | 230 | FILEVERSION 1,16,0,5 |
231 | PRODUCTVERSION 1,15,1,3 | 231 | PRODUCTVERSION 1,16,0,5 |
232 | FILEFLAGSMASK 0x3fL | 232 | FILEFLAGSMASK 0x3fL |
233 | #ifdef _DEBUG | 233 | #ifdef _DEBUG |
234 | FILEFLAGS 0x1L | 234 | FILEFLAGS 0x1L |
@@ -245,12 +245,12 @@ BEGIN | |||
245 | BEGIN | 245 | BEGIN |
246 | VALUE "CompanyName", "Linden Lab" | 246 | VALUE "CompanyName", "Linden Lab" |
247 | VALUE "FileDescription", "Second Life" | 247 | VALUE "FileDescription", "Second Life" |
248 | VALUE "FileVersion", "1.15.1.3" | 248 | VALUE "FileVersion", "1.16.0.5" |
249 | VALUE "InternalName", "Second Life" | 249 | VALUE "InternalName", "Second Life" |
250 | VALUE "LegalCopyright", "Copyright © 2001-2007, Linden Research, Inc." | 250 | VALUE "LegalCopyright", "Copyright © 2001-2007, Linden Research, Inc." |
251 | VALUE "OriginalFilename", "SecondLife.exe" | 251 | VALUE "OriginalFilename", "SecondLife.exe" |
252 | VALUE "ProductName", "Second Life" | 252 | VALUE "ProductName", "Second Life" |
253 | VALUE "ProductVersion", "1.15.1.3" | 253 | VALUE "ProductVersion", "1.16.0.5" |
254 | END | 254 | END |
255 | END | 255 | END |
256 | BLOCK "VarFileInfo" | 256 | BLOCK "VarFileInfo" |
diff --git a/linden/indra/newview/skins/xui/en-us/alerts.xml b/linden/indra/newview/skins/xui/en-us/alerts.xml index a783d00..cac8dc4 100644 --- a/linden/indra/newview/skins/xui/en-us/alerts.xml +++ b/linden/indra/newview/skins/xui/en-us/alerts.xml | |||
@@ -11,7 +11,7 @@ | |||
11 | <alert modal="true" name="FloaterNotFound"> | 11 | <alert modal="true" name="FloaterNotFound"> |
12 | <message name="message"> | 12 | <message name="message"> |
13 | Floater error: Could not find the following controls: | 13 | Floater error: Could not find the following controls: |
14 | 14 | ||
15 | [CONTROLS] | 15 | [CONTROLS] |
16 | </message> | 16 | </message> |
17 | <option name="OK"> | 17 | <option name="OK"> |
@@ -58,21 +58,7 @@ for advice and a link to the system status web page. | |||
58 | Help | 58 | Help |
59 | </option> | 59 | </option> |
60 | </alert> | 60 | </alert> |
61 | <alert modal="true" name="RemoveWearableSave"> | 61 | <alert modal="true" name="WearableSave"> |
62 | <message name="message"> | ||
63 | Save changes to current clothing/body part? | ||
64 | </message> | ||
65 | <option name="Save"> | ||
66 | Save | ||
67 | </option> | ||
68 | <option name="Don'tSave"> | ||
69 | Don't Save | ||
70 | </option> | ||
71 | <option name="Cancel"> | ||
72 | Cancel | ||
73 | </option> | ||
74 | </alert> | ||
75 | <alert modal="true" name="SetWearableSave"> | ||
76 | <message name="message"> | 62 | <message name="message"> |
77 | Save changes to current clothing/body part? | 63 | Save changes to current clothing/body part? |
78 | </message> | 64 | </message> |
@@ -98,7 +84,7 @@ for advice and a link to the system status web page. | |||
98 | </alert> | 84 | </alert> |
99 | <alert modal="true" name="WriteAnimationFail"> | 85 | <alert modal="true" name="WriteAnimationFail"> |
100 | <message name="message"> | 86 | <message name="message"> |
101 | Failure writing animation data. | 87 | There was a problem writing animation data. Please try again later. |
102 | </message> | 88 | </message> |
103 | </alert> | 89 | </alert> |
104 | <alert modal="true" name="UploadAuctionSnapshotFail"> | 90 | <alert modal="true" name="UploadAuctionSnapshotFail"> |
@@ -126,7 +112,7 @@ Enter a brief description of the group's purpose. | |||
126 | <alert modal="true" name="CharacterSnapshotSaved"> | 112 | <alert modal="true" name="CharacterSnapshotSaved"> |
127 | <message name="message"> | 113 | <message name="message"> |
128 | A snapshot of your character has been saved. | 114 | A snapshot of your character has been saved. |
129 | 115 | ||
130 | Visit the Webpage Studio exhibit to see it. | 116 | Visit the Webpage Studio exhibit to see it. |
131 | </message> | 117 | </message> |
132 | </alert> | 118 | </alert> |
@@ -146,8 +132,8 @@ Visit the Webpage Studio exhibit to see it. | |||
146 | </alert> | 132 | </alert> |
147 | <alert modal="true" name="GrantModifyRights"> | 133 | <alert modal="true" name="GrantModifyRights"> |
148 | <message name="message"> | 134 | <message name="message"> |
149 | Granting modify rights to another resident allows them to change | 135 | Granting modify rights to another resident allows them to change |
150 | ANY objects you may have in-world. Be VERY careful when handing | 136 | ANY objects you may have in-world. Be VERY careful when handing |
151 | out this permission. | 137 | out this permission. |
152 | Do you want to grant modify rights for [FIRST_NAME] [LAST_NAME]? | 138 | Do you want to grant modify rights for [FIRST_NAME] [LAST_NAME]? |
153 | </message> | 139 | </message> |
@@ -171,7 +157,7 @@ Do you want to grant modify rights for [FIRST_NAME] [LAST_NAME]? | |||
171 | </alert> | 157 | </alert> |
172 | <alert modal="true" name="RemoveFriend"> | 158 | <alert modal="true" name="RemoveFriend"> |
173 | <message name="message"> | 159 | <message name="message"> |
174 | Do you want to remove [FIRST] [LAST] from your friends? | 160 | Do you want to remove [FIRST] [LAST] from your list of friends? |
175 | </message> | 161 | </message> |
176 | <option name="Remove"> | 162 | <option name="Remove"> |
177 | Remove | 163 | Remove |
@@ -212,10 +198,10 @@ Do you want to grant modify rights for [FIRST_NAME] [LAST_NAME]? | |||
212 | <alert modal="true" name="CreateGroupCanAfford"> | 198 | <alert modal="true" name="CreateGroupCanAfford"> |
213 | <message name="message"> | 199 | <message name="message"> |
214 | Creating a group costs L$[COST]. | 200 | Creating a group costs L$[COST]. |
215 | 201 | ||
216 | To maintain the group for more than three days, | 202 | To maintain the group for more than three days, |
217 | you must reach a total of three or more members. | 203 | you must reach a total of two or more members. |
218 | 204 | ||
219 | Create group? | 205 | Create group? |
220 | </message> | 206 | </message> |
221 | <option name="Create"> | 207 | <option name="Create"> |
@@ -228,7 +214,7 @@ Create group? | |||
228 | <alert modal="true" name="CreateGroupCannotAfford"> | 214 | <alert modal="true" name="CreateGroupCannotAfford"> |
229 | <message name="message"> | 215 | <message name="message"> |
230 | Creating a group costs L$[COST]. | 216 | Creating a group costs L$[COST]. |
231 | You do not have enough money to create this group. | 217 | You do not have enough L$ to create this group. |
232 | </message> | 218 | </message> |
233 | </alert> | 219 | </alert> |
234 | <alert modal="true" name="GroupNameTooShort"> | 220 | <alert modal="true" name="GroupNameTooShort"> |
@@ -238,7 +224,7 @@ You do not have enough money to create this group. | |||
238 | </alert> | 224 | </alert> |
239 | <alert modal="true" name="GroupNameUsesReservedWord"> | 225 | <alert modal="true" name="GroupNameUsesReservedWord"> |
240 | <message name="message"> | 226 | <message name="message"> |
241 | The group name uses a reserved word. Please | 227 | The group name uses a censored word. Please |
242 | choose a different name. | 228 | choose a different name. |
243 | </message> | 229 | </message> |
244 | </alert> | 230 | </alert> |
@@ -275,16 +261,16 @@ Are you sure you want to continue? | |||
275 | </alert> | 261 | </alert> |
276 | <alert modal="true" name="AssignDangerousActionWarning"> | 262 | <alert modal="true" name="AssignDangerousActionWarning"> |
277 | <message name="message"> | 263 | <message name="message"> |
278 | You are about to add the Ability '[ACTION_NAME]' to the | 264 | You are about to add the Ability '[ACTION_NAME]' to the |
279 | Role '[ROLE_NAME]'. | 265 | Role '[ROLE_NAME]'. |
280 | 266 | ||
281 | *WARNING* | 267 | *WARNING* |
282 | Any Member in a Role with this Ability can assign themselves-- | 268 | Any Member in a Role with this Ability can assign themselves-- |
283 | and any other member--to Roles that have more powers than they | 269 | and any other member--to Roles that have more powers than they |
284 | currently have, potentially elevating themselves to | 270 | currently have, potentially elevating themselves to |
285 | near-Owner power. Be sure you know what you're doing before | 271 | near-Owner power. Be sure you know what you're doing before |
286 | assigning this Ability. | 272 | assigning this Ability. |
287 | 273 | ||
288 | Add this Ability to '[ROLE_NAME]'? | 274 | Add this Ability to '[ROLE_NAME]'? |
289 | </message> | 275 | </message> |
290 | <option name="Yes"> | 276 | <option name="Yes"> |
@@ -296,14 +282,14 @@ Add this Ability to '[ROLE_NAME]'? | |||
296 | </alert> | 282 | </alert> |
297 | <alert modal="true" name="AssignDangerousAbilityWarning"> | 283 | <alert modal="true" name="AssignDangerousAbilityWarning"> |
298 | <message name="message"> | 284 | <message name="message"> |
299 | You are about to add the Ability '[ACTION_NAME]' to the | 285 | You are about to add the Ability '[ACTION_NAME]' to the |
300 | Role '[ROLE_NAME]'. | 286 | Role '[ROLE_NAME]'. |
301 | 287 | ||
302 | *WARNING* | 288 | *WARNING* |
303 | Any Member in a Role with this Ability can assign themselves-- | 289 | Any Member in a Role with this Ability can assign themselves-- |
304 | and any other member--all Abilities, elevating themselves | 290 | and any other member--all Abilities, elevating themselves |
305 | to near-Owner power. | 291 | to near-Owner power. |
306 | 292 | ||
307 | Add this Ability to '[ROLE_NAME]'? | 293 | Add this Ability to '[ROLE_NAME]'? |
308 | </message> | 294 | </message> |
309 | <option name="Yes"> | 295 | <option name="Yes"> |
@@ -364,7 +350,7 @@ Go to the Second Life web site for more information on partnering? | |||
364 | If this resident has a web profile URL set then you can: | 350 | If this resident has a web profile URL set then you can: |
365 | * Click Load to load the page with the embedded web browser. | 351 | * Click Load to load the page with the embedded web browser. |
366 | * Click Open to view externally in your default web browser. | 352 | * Click Open to view externally in your default web browser. |
367 | 353 | ||
368 | When viewing your profile you can enter any URL as your Web Profile. | 354 | When viewing your profile you can enter any URL as your Web Profile. |
369 | Residents can visit the URL you specify when they view your profile. | 355 | Residents can visit the URL you specify when they view your profile. |
370 | </message> | 356 | </message> |
@@ -373,7 +359,7 @@ Residents can visit the URL you specify when they view your profile. | |||
373 | <message name="message"> | 359 | <message name="message"> |
374 | If this resident has a web profile URL set then you can: | 360 | If this resident has a web profile URL set then you can: |
375 | * Click Open to view externally in your default web browser. | 361 | * Click Open to view externally in your default web browser. |
376 | 362 | ||
377 | When viewing your profile you can enter any URL as your Web Profile. | 363 | When viewing your profile you can enter any URL as your Web Profile. |
378 | Residents can visit the URL you specify when they view your profile. | 364 | Residents can visit the URL you specify when they view your profile. |
379 | </message> | 365 | </message> |
@@ -470,19 +456,18 @@ are sure you want to start an auction. | |||
470 | </alert> | 456 | </alert> |
471 | <alert modal="true" name="SalePriceRestriction"> | 457 | <alert modal="true" name="SalePriceRestriction"> |
472 | <message name="message"> | 458 | <message name="message"> |
473 | Sale price must be set to > L$0 if selling to anybody. | 459 | Sale price must be set to more than L$0 if selling to anyone. |
474 | Please select an individual to sell to if selling for L$0. | 460 | Please select an individual to sell to if selling for L$0. |
475 | </message> | 461 | </message> |
476 | </alert> | 462 | </alert> |
477 | <alert modal="true" name="ConfirmLandSaleChange"> | 463 | <alert modal="true" name="ConfirmLandSaleChange"> |
478 | <message name="message"> | 464 | <message name="message"> |
479 | The selected [LAND_SIZE] sq. m. land is being set for sale. | 465 | The selected [LAND_SIZE] m2 land is being set for sale. |
480 | Your selling price will be L$[SALE_PRICE] and will be authorized for sale to [NAME]. | 466 | Your selling price will be L$[SALE_PRICE] and will be authorized for sale to [NAME]. |
481 | 467 | ||
482 | Would you like to continue making this change? | ||
483 | </message> | 468 | </message> |
484 | <option name="Continue"> | 469 | <option name="Continue"> |
485 | Continue | 470 | OK |
486 | </option> | 471 | </option> |
487 | <option default="true" name="Cancel"> | 472 | <option default="true" name="Cancel"> |
488 | Cancel | 473 | Cancel |
@@ -493,14 +478,14 @@ Would you like to continue making this change? | |||
493 | Are you sure you want to return all objects shared with | 478 | Are you sure you want to return all objects shared with |
494 | the group '[NAME]' on this parcel of land | 479 | the group '[NAME]' on this parcel of land |
495 | back to their previous owner's inventory? | 480 | back to their previous owner's inventory? |
496 | 481 | ||
497 | *WARNING* This will delete the non-transferable objects | 482 | *WARNING* This will delete the non-transferable objects |
498 | deeded to the group! | 483 | deeded to the group! |
499 | 484 | ||
500 | Objects: [N] | 485 | Objects: [N] |
501 | </message> | 486 | </message> |
502 | <option name="Return"> | 487 | <option name="Return"> |
503 | Return | 488 | OK |
504 | </option> | 489 | </option> |
505 | <option name="Cancel"> | 490 | <option name="Cancel"> |
506 | Cancel | 491 | Cancel |
@@ -509,13 +494,13 @@ Objects: [N] | |||
509 | <alert modal="true" name="ReturnObjectsOwnedByUser"> | 494 | <alert modal="true" name="ReturnObjectsOwnedByUser"> |
510 | <message name="message"> | 495 | <message name="message"> |
511 | Are you sure you want to return all objects owned by the | 496 | Are you sure you want to return all objects owned by the |
512 | resident '[NAME]' on this parcel of land | 497 | Resident '[NAME]' on this parcel of land |
513 | back to their inventory? | 498 | back to their inventory? |
514 | 499 | ||
515 | Objects: [N] | 500 | Objects: [N] |
516 | </message> | 501 | </message> |
517 | <option name="Return"> | 502 | <option name="Return"> |
518 | Return | 503 | OK |
519 | </option> | 504 | </option> |
520 | <option name="Cancel"> | 505 | <option name="Cancel"> |
521 | Cancel | 506 | Cancel |
@@ -526,11 +511,11 @@ Objects: [N] | |||
526 | Are you sure you want to return all objects | 511 | Are you sure you want to return all objects |
527 | owned by you on this parcel of land back to | 512 | owned by you on this parcel of land back to |
528 | your inventory? | 513 | your inventory? |
529 | 514 | ||
530 | Objects: [N] | 515 | Objects: [N] |
531 | </message> | 516 | </message> |
532 | <option name="Return"> | 517 | <option name="Return"> |
533 | Return | 518 | OK |
534 | </option> | 519 | </option> |
535 | <option name="Cancel"> | 520 | <option name="Cancel"> |
536 | Cancel | 521 | Cancel |
@@ -542,14 +527,14 @@ Objects: [N] | |||
542 | by you on this parcel of land back to their owner's inventory? | 527 | by you on this parcel of land back to their owner's inventory? |
543 | Transferable objects deeded to a group will be | 528 | Transferable objects deeded to a group will be |
544 | returned to their previous owners. | 529 | returned to their previous owners. |
545 | 530 | ||
546 | *WARNING* This will delete the non-transferable objects | 531 | *WARNING* This will delete the non-transferable objects |
547 | deeded to the group! | 532 | deeded to the group! |
548 | 533 | ||
549 | Objects: [N] | 534 | Objects: [N] |
550 | </message> | 535 | </message> |
551 | <option name="Return"> | 536 | <option name="Return"> |
552 | Return | 537 | OK |
553 | </option> | 538 | </option> |
554 | <option name="Cancel"> | 539 | <option name="Cancel"> |
555 | Cancel | 540 | Cancel |
@@ -561,14 +546,14 @@ Objects: [N] | |||
561 | by [NAME] on this parcel of land back to their owner's inventory? | 546 | by [NAME] on this parcel of land back to their owner's inventory? |
562 | Transferable objects deeded to a group will be | 547 | Transferable objects deeded to a group will be |
563 | returned to their previous owners. | 548 | returned to their previous owners. |
564 | 549 | ||
565 | *WARNING* This will delete the non-transferable objects | 550 | *WARNING* This will delete the non-transferable objects |
566 | deeded to the group! | 551 | deeded to the group! |
567 | 552 | ||
568 | Objects: [N] | 553 | Objects: [N] |
569 | </message> | 554 | </message> |
570 | <option name="Return"> | 555 | <option name="Return"> |
571 | Return | 556 | OK |
572 | </option> | 557 | </option> |
573 | <option name="Cancel"> | 558 | <option name="Cancel"> |
574 | Cancel | 559 | Cancel |
@@ -580,7 +565,7 @@ Objects: [N] | |||
580 | in this region back to their owner's inventory? | 565 | in this region back to their owner's inventory? |
581 | </message> | 566 | </message> |
582 | <option name="Return"> | 567 | <option name="Return"> |
583 | Return | 568 | OK |
584 | </option> | 569 | </option> |
585 | <option name="Cancel"> | 570 | <option name="Cancel"> |
586 | Cancel | 571 | Cancel |
@@ -591,7 +576,7 @@ in this region back to their owner's inventory? | |||
591 | Are you sure you want to disable all objects in this region? | 576 | Are you sure you want to disable all objects in this region? |
592 | </message> | 577 | </message> |
593 | <option name="Disable"> | 578 | <option name="Disable"> |
594 | Disable | 579 | OK |
595 | </option> | 580 | </option> |
596 | <option name="Cancel"> | 581 | <option name="Cancel"> |
597 | Cancel | 582 | Cancel |
@@ -602,11 +587,11 @@ in this region back to their owner's inventory? | |||
602 | Return the objects on this parcel of land | 587 | Return the objects on this parcel of land |
603 | that are NOT shared with the group [NAME] | 588 | that are NOT shared with the group [NAME] |
604 | back to their owners? | 589 | back to their owners? |
605 | 590 | ||
606 | Objects: [N] | 591 | Objects: [N] |
607 | </message> | 592 | </message> |
608 | <option name="Return"> | 593 | <option name="Return"> |
609 | Return | 594 | OK |
610 | </option> | 595 | </option> |
611 | <option name="Cancel"> | 596 | <option name="Cancel"> |
612 | Cancel | 597 | Cancel |
@@ -614,9 +599,9 @@ Objects: [N] | |||
614 | </alert> | 599 | </alert> |
615 | <alert modal="true" name="UnableToDisableOutsideScripts"> | 600 | <alert modal="true" name="UnableToDisableOutsideScripts"> |
616 | <message name="message"> | 601 | <message name="message"> |
617 | Unable to disable outside scripts. | 602 | Can not disable scripts. |
618 | This entire region is health enabled (not safe). | 603 | This entire region is damage enabled. |
619 | Scripts must be allowed to run for guns to work. | 604 | Scripts must be allowed to run for weapons to work. |
620 | </message> | 605 | </message> |
621 | </alert> | 606 | </alert> |
622 | <alert modal="true" name="MustBeInParcel"> | 607 | <alert modal="true" name="MustBeInParcel"> |
@@ -642,7 +627,7 @@ to set its Landing Point. | |||
642 | </alert> | 627 | </alert> |
643 | <alert modal="true" name="ErrorEncodingSnapshot"> | 628 | <alert modal="true" name="ErrorEncodingSnapshot"> |
644 | <message name="message"> | 629 | <message name="message"> |
645 | Error encoding snapshot! | 630 | Error encoding snapshot. |
646 | </message> | 631 | </message> |
647 | </alert> | 632 | </alert> |
648 | <alert modal="true" name="ErrorUploadingPostcard"> | 633 | <alert modal="true" name="ErrorUploadingPostcard"> |
@@ -668,12 +653,12 @@ The outfit folder contains no clothing, body parts, or attachments. | |||
668 | </alert> | 653 | </alert> |
669 | <alert modal="true" name="CannotWearTrash"> | 654 | <alert modal="true" name="CannotWearTrash"> |
670 | <message name="message"> | 655 | <message name="message"> |
671 | Cannot wear clothes or body parts that are in the trash | 656 | You can not wear clothes or body parts that are in the trash |
672 | </message> | 657 | </message> |
673 | </alert> | 658 | </alert> |
674 | <alert modal="true" name="CannotWearInfoNotComplete"> | 659 | <alert modal="true" name="CannotWearInfoNotComplete"> |
675 | <message name="message"> | 660 | <message name="message"> |
676 | Cannot wear that item since the complete information set it not yet available. Please try again in a minute. | 661 | You can not wear that item because it has not yet loaded. Please try again in a minute. |
677 | </message> | 662 | </message> |
678 | </alert> | 663 | </alert> |
679 | <alert modal="true" name="MustHaveAccountToLogInNoLinks"> | 664 | <alert modal="true" name="MustHaveAccountToLogInNoLinks"> |
@@ -681,17 +666,14 @@ The outfit folder contains no clothing, body parts, or attachments. | |||
681 | You must have an account to connect to [SECOND_LIFE]. | 666 | You must have an account to connect to [SECOND_LIFE]. |
682 | </message> | 667 | </message> |
683 | <option name="OK"> | 668 | <option name="OK"> |
684 | OK | 669 | Close |
685 | </option> | ||
686 | <option name="Cancel"> | ||
687 | Cancel | ||
688 | </option> | 670 | </option> |
689 | </alert> | 671 | </alert> |
690 | <alert modal="true" name="MustHaveAccountToLogIn"> | 672 | <alert modal="true" name="MustHaveAccountToLogIn"> |
691 | <message name="message"> | 673 | <message name="message"> |
692 | You must have an account to connect to [SECOND_LIFE]. | 674 | You must have an account to connect to [SECOND_LIFE]. |
693 | 675 | ||
694 | Go to www.secondlife.com to create a new account? | 676 | Go to www.secondlife.com to create an account? |
695 | </message> | 677 | </message> |
696 | <option name="OK"> | 678 | <option name="OK"> |
697 | OK | 679 | OK |
@@ -703,11 +685,11 @@ Go to www.secondlife.com to create a new account? | |||
703 | <alert modal="true" name="AddClassified"> | 685 | <alert modal="true" name="AddClassified"> |
704 | <message name="message"> | 686 | <message name="message"> |
705 | Classified ads appear in the 'Classified' section of the | 687 | Classified ads appear in the 'Classified' section of the |
706 | Search directory for one week. | 688 | Search directory and on www.secondlife.com for one week. |
707 | 689 | ||
708 | Fill out your ad, then click 'Publish...' to add it to the | 690 | Fill out your ad, then click 'Publish...' to add it to the |
709 | directory. | 691 | directory. |
710 | 692 | ||
711 | You'll be asked for a price to pay when clicking Publish. | 693 | You'll be asked for a price to pay when clicking Publish. |
712 | Paying more makes your ad appear higher in the list, and | 694 | Paying more makes your ad appear higher in the list, and |
713 | also appear higher when people search for keywords. | 695 | also appear higher when people search for keywords. |
@@ -728,7 +710,7 @@ also appear higher when people search for keywords. | |||
728 | There is no reimbursement for fees paid. | 710 | There is no reimbursement for fees paid. |
729 | </message> | 711 | </message> |
730 | <option name="Delete"> | 712 | <option name="Delete"> |
731 | Delete | 713 | OK |
732 | </option> | 714 | </option> |
733 | <option name="Cancel"> | 715 | <option name="Cancel"> |
734 | Cancel | 716 | Cancel |
@@ -739,7 +721,7 @@ There is no reimbursement for fees paid. | |||
739 | Delete pick [PICK]? | 721 | Delete pick [PICK]? |
740 | </message> | 722 | </message> |
741 | <option name="Delete"> | 723 | <option name="Delete"> |
742 | Delete | 724 | OK |
743 | </option> | 725 | </option> |
744 | <option name="Cancel"> | 726 | <option name="Cancel"> |
745 | Cancel | 727 | Cancel |
@@ -750,7 +732,7 @@ There is no reimbursement for fees paid. | |||
750 | Some of the display changes that you have made | 732 | Some of the display changes that you have made |
751 | require [SECOND_LIFE] to shut down immediately, | 733 | require [SECOND_LIFE] to shut down immediately, |
752 | which will cause you to lose any work in progress. | 734 | which will cause you to lose any work in progress. |
753 | 735 | ||
754 | Apply those changes and quit | 736 | Apply those changes and quit |
755 | </message> | 737 | </message> |
756 | <option name="ApplyandQuit"> | 738 | <option name="ApplyandQuit"> |
@@ -765,7 +747,7 @@ Apply those changes and quit | |||
765 | Go to the [SECOND_LIFE] events web page? | 747 | Go to the [SECOND_LIFE] events web page? |
766 | </message> | 748 | </message> |
767 | <option name="GotoPage"> | 749 | <option name="GotoPage"> |
768 | Go to Page | 750 | OK |
769 | </option> | 751 | </option> |
770 | <option name="Cancel"> | 752 | <option name="Cancel"> |
771 | Cancel | 753 | Cancel |
@@ -778,7 +760,7 @@ Apply those changes and quit | |||
778 | </alert> | 760 | </alert> |
779 | <alert modal="true" name="SelectItemToView"> | 761 | <alert modal="true" name="SelectItemToView"> |
780 | <message name="message"> | 762 | <message name="message"> |
781 | Please select an item to view. | 763 | Please select a proposal to view. |
782 | </message> | 764 | </message> |
783 | </alert> | 765 | </alert> |
784 | <alert modal="true" name="SelectProposalToView"> | 766 | <alert modal="true" name="SelectProposalToView"> |
@@ -824,7 +806,7 @@ Note: This will clear the cache. | |||
824 | or make a bid? | 806 | or make a bid? |
825 | </message> | 807 | </message> |
826 | <option name="GotoPage"> | 808 | <option name="GotoPage"> |
827 | Go to Page | 809 | OK |
828 | </option> | 810 | </option> |
829 | <option name="Cancel"> | 811 | <option name="Cancel"> |
830 | Cancel | 812 | Cancel |
@@ -882,13 +864,13 @@ The object may be out of range or may have been deleted. | |||
882 | <message name="message"> | 864 | <message name="message"> |
883 | Could not undo all changes in your version of the script. | 865 | Could not undo all changes in your version of the script. |
884 | Would you like to load the server's last saved version? | 866 | Would you like to load the server's last saved version? |
885 | (Note: this operation cannot be undone.) | 867 | (**Warning** This operation cannot be undone.) |
886 | </message> | 868 | </message> |
887 | <option name="Yes"> | 869 | <option name="Yes"> |
888 | Yes | 870 | OK |
889 | </option> | 871 | </option> |
890 | <option name="No"> | 872 | <option name="No"> |
891 | No | 873 | Cancel |
892 | </option> | 874 | </option> |
893 | </alert> | 875 | </alert> |
894 | <alert modal="true" name="SaveScriptFailReason"> | 876 | <alert modal="true" name="SaveScriptFailReason"> |
@@ -898,7 +880,7 @@ Would you like to load the server's last saved version? | |||
898 | </alert> | 880 | </alert> |
899 | <alert modal="true" name="SaveScriptFailObjectNotFound"> | 881 | <alert modal="true" name="SaveScriptFailObjectNotFound"> |
900 | <message name="message"> | 882 | <message name="message"> |
901 | Could not save the script because the object it is on could not be found. | 883 | Could not save the script because the object it is in could not be found. |
902 | The object may be out of range or may have been deleted. | 884 | The object may be out of range or may have been deleted. |
903 | </message> | 885 | </message> |
904 | </alert> | 886 | </alert> |
@@ -930,7 +912,7 @@ The object may be out of range or may have been deleted. | |||
930 | </alert> | 912 | </alert> |
931 | <alert modal="true" name="CannotLoadWearable"> | 913 | <alert modal="true" name="CannotLoadWearable"> |
932 | <message name="message"> | 914 | <message name="message"> |
933 | Sorry, unable to load wearable. | 915 | Unable to load wearable. |
934 | </message> | 916 | </message> |
935 | </alert> | 917 | </alert> |
936 | <alert modal="true" name="ConfirmDeleteComplicated"> | 918 | <alert modal="true" name="ConfirmDeleteComplicated"> |
@@ -960,6 +942,15 @@ based on your system configuration. | |||
960 | OK | 942 | OK |
961 | </option> | 943 | </option> |
962 | </alert> | 944 | </alert> |
945 | <alert modal="true" name="DisplaySettingsNoShaders"> | ||
946 | <message name="message"> | ||
947 | [SECOND_LIFE] crashed while initializing graphics drivers. | ||
948 | Shaders will be disabled in order to avoid some common driver errors. | ||
949 | This will disable some graphics features. | ||
950 | We recommend updating your graphics card drivers. | ||
951 | Shaders can be re-enabled in Preferences > Graphics Detail. | ||
952 | </message> | ||
953 | </alert> | ||
963 | <alert modal="true" name="CannotRequestDomain"> | 954 | <alert modal="true" name="CannotRequestDomain"> |
964 | <message name="message"> | 955 | <message name="message"> |
965 | Unable to connect to server. | 956 | Unable to connect to server. |
@@ -971,7 +962,7 @@ Could not request domain name: [HOST] | |||
971 | Unable to find the server domain name. | 962 | Unable to find the server domain name. |
972 | This could be the result of a lost network connection | 963 | This could be the result of a lost network connection |
973 | or a server problem. | 964 | or a server problem. |
974 | 965 | ||
975 | Please try again in a few minutes, or click Help | 966 | Please try again in a few minutes, or click Help |
976 | for advice and a link to the system status web page. | 967 | for advice and a link to the system status web page. |
977 | </message> | 968 | </message> |
@@ -994,18 +985,17 @@ Unable to connect to [SERVER] | |||
994 | DNS could not resolve the host name. | 985 | DNS could not resolve the host name. |
995 | Please verify that you can connect to the www.secondlife.com | 986 | Please verify that you can connect to the www.secondlife.com |
996 | web site. If you can, but continue to receive this error, | 987 | web site. If you can, but continue to receive this error, |
997 | please go to the support section and report this problem. | 988 | please go to www.secondlife.com/support and report this problem. |
998 | </message> | 989 | </message> |
999 | </alert> | 990 | </alert> |
1000 | <alert modal="true" name="CannotConnectSecurityError"> | 991 | <alert modal="true" name="CannotConnectSecurityError"> |
1001 | <message name="message"> | 992 | <message name="message"> |
1002 | Unable to establish a secure connection to the login server. | 993 | Unable to establish a secure connection to the login server. |
1003 | Often this means that your computer's clock is set incorrectly. | 994 | Often this means that your computer's clock is set incorrectly. |
1004 | Please go to Control Panels and make sure the time and date | 995 | Please ensure the time and date are set correctly. |
1005 | are set correctly. | 996 | |
1006 | |||
1007 | If you continue to receive this error, please go | 997 | If you continue to receive this error, please go |
1008 | to the Support section of the SecondLife.com web site | 998 | to www.secondlife.com/support |
1009 | and report the problem. | 999 | and report the problem. |
1010 | </message> | 1000 | </message> |
1011 | </alert> | 1001 | </alert> |
@@ -1014,7 +1004,7 @@ and report the problem. | |||
1014 | Unable to connect to [SECOND_LIFE]. | 1004 | Unable to connect to [SECOND_LIFE]. |
1015 | The login server couldn't verify itself via SSL. | 1005 | The login server couldn't verify itself via SSL. |
1016 | If you continue to receive this error, please go | 1006 | If you continue to receive this error, please go |
1017 | to the Support section of the SecondLife.com web site | 1007 | to www.secondlife.com/support |
1018 | and report the problem. | 1008 | and report the problem. |
1019 | </message> | 1009 | </message> |
1020 | </alert> | 1010 | </alert> |
@@ -1022,7 +1012,7 @@ and report the problem. | |||
1022 | <message name="message"> | 1012 | <message name="message"> |
1023 | Unable to connect to [SECOND_LIFE]. | 1013 | Unable to connect to [SECOND_LIFE]. |
1024 | Despite our best efforts, something unexpected has gone wrong. | 1014 | Despite our best efforts, something unexpected has gone wrong. |
1025 | Please go to the Support section of the SecondLife.com web site | 1015 | Please go to www.secondlife.com/support |
1026 | and report the problem. If possible, include your SecondLife.log | 1016 | and report the problem. If possible, include your SecondLife.log |
1027 | file from: C:\Documents and Settings\(name)\Application Data\SecondLife\logs | 1017 | file from: C:\Documents and Settings\(name)\Application Data\SecondLife\logs |
1028 | Thank you. | 1018 | Thank you. |
@@ -1032,7 +1022,7 @@ Thank you. | |||
1032 | <message name="message"> | 1022 | <message name="message"> |
1033 | Unable to connect to [SECOND_LIFE]. | 1023 | Unable to connect to [SECOND_LIFE]. |
1034 | Despite our best efforts, something unexpected has gone wrong. | 1024 | Despite our best efforts, something unexpected has gone wrong. |
1035 | Please go to the Support section of the SecondLife.com web site | 1025 | Please go to www.secondlife.com/support |
1036 | and report the problem. If possible, include your SecondLife.log | 1026 | and report the problem. If possible, include your SecondLife.log |
1037 | file from: ~/Library/Application Support/SecondLife/logs | 1027 | file from: ~/Library/Application Support/SecondLife/logs |
1038 | Thank you. | 1028 | Thank you. |
@@ -1043,15 +1033,13 @@ Thank you. | |||
1043 | There was a problem resolving your login | 1033 | There was a problem resolving your login |
1044 | authentication token. Please try logging in | 1034 | authentication token. Please try logging in |
1045 | again. If you continue to receive this error, | 1035 | again. If you continue to receive this error, |
1046 | please goto the Support section of the | 1036 | please go to www.secondlife.com/support. |
1047 | SecondLife.com web site. | ||
1048 | </message> | 1037 | </message> |
1049 | </alert> | 1038 | </alert> |
1050 | <alert modal="true" name="CannotConnectNoMessage"> | 1039 | <alert modal="true" name="CannotConnectNoMessage"> |
1051 | <message name="message"> | 1040 | <message name="message"> |
1052 | Unknown problem trying to connect. | 1041 | Unknown problem trying to connect. |
1053 | (Blank error message from server.) | 1042 | |
1054 | |||
1055 | Please try again in a few minutes, or click Help | 1043 | Please try again in a few minutes, or click Help |
1056 | for advice and a link to the system status web page. | 1044 | for advice and a link to the system status web page. |
1057 | </message> | 1045 | </message> |
@@ -1065,7 +1053,7 @@ for advice and a link to the system status web page. | |||
1065 | <alert modal="true" name="CannotConnectNoReplyFromLogin"> | 1053 | <alert modal="true" name="CannotConnectNoReplyFromLogin"> |
1066 | <message name="message"> | 1054 | <message name="message"> |
1067 | Unable to connect. No reply from login database. | 1055 | Unable to connect. No reply from login database. |
1068 | 1056 | ||
1069 | Please try again in a few minutes, or click Help | 1057 | Please try again in a few minutes, or click Help |
1070 | for advice and a link to the system status web page. | 1058 | for advice and a link to the system status web page. |
1071 | </message> | 1059 | </message> |
@@ -1084,10 +1072,10 @@ for advice and a link to the system status web page. | |||
1084 | <alert modal="true" name="FirstRunDialog"> | 1072 | <alert modal="true" name="FirstRunDialog"> |
1085 | <message name="message"> | 1073 | <message name="message"> |
1086 | [SECOND_LIFE] installation is complete. | 1074 | [SECOND_LIFE] installation is complete. |
1087 | 1075 | ||
1088 | If this is your first time using [SECOND_LIFE], you will need to create | 1076 | If this is your first time using [SECOND_LIFE], you will need to create |
1089 | an account before you can log on. | 1077 | an account before you can log on. |
1090 | 1078 | ||
1091 | Return to www.secondlife.com to create a new account? | 1079 | Return to www.secondlife.com to create a new account? |
1092 | </message> | 1080 | </message> |
1093 | <option name="NewAccount..."> | 1081 | <option name="NewAccount..."> |
@@ -1099,8 +1087,8 @@ Return to www.secondlife.com to create a new account? | |||
1099 | </alert> | 1087 | </alert> |
1100 | <alert modal="true" name="ClothingStillDownloading"> | 1088 | <alert modal="true" name="ClothingStillDownloading"> |
1101 | <message name="message"> | 1089 | <message name="message"> |
1102 | Your clothing is still downloading. | 1090 | Your avatar is still downloading. |
1103 | You can use the world normally, and other users | 1091 | You can use [SECOND_LIFE] normally, and other Residents |
1104 | will see you correctly. | 1092 | will see you correctly. |
1105 | </message> | 1093 | </message> |
1106 | </alert> | 1094 | </alert> |
@@ -1115,7 +1103,7 @@ Please check your network connection. | |||
1115 | <message name="message"> | 1103 | <message name="message"> |
1116 | Unable to connect. Login packet never received by | 1104 | Unable to connect. Login packet never received by |
1117 | login server. | 1105 | login server. |
1118 | 1106 | ||
1119 | Please try again in a few minutes, or click Help | 1107 | Please try again in a few minutes, or click Help |
1120 | for advice and a link to the system status web page. | 1108 | for advice and a link to the system status web page. |
1121 | </message> | 1109 | </message> |
@@ -1128,11 +1116,11 @@ for advice and a link to the system status web page. | |||
1128 | </alert> | 1116 | </alert> |
1129 | <alert modal="true" name="WelcomeToSecondLife"> | 1117 | <alert modal="true" name="WelcomeToSecondLife"> |
1130 | <message name="message"> | 1118 | <message name="message"> |
1131 | Welcome to [SECOND_LIFE]! | 1119 | Welcome to [SECOND_LIFE]! |
1132 | 1120 | ||
1133 | Use arrow keys to walk. | 1121 | Use arrow keys to walk. |
1134 | 1122 | ||
1135 | Please choose the male or female character. | 1123 | Please choose the male or female avatar. |
1136 | You can change your mind later. | 1124 | You can change your mind later. |
1137 | </message> | 1125 | </message> |
1138 | <option name="Male"> | 1126 | <option name="Male"> |
@@ -1144,11 +1132,11 @@ You can change your mind later. | |||
1144 | </alert> | 1132 | </alert> |
1145 | <alert modal="true" name="WelcomeToSecondLifeSimple"> | 1133 | <alert modal="true" name="WelcomeToSecondLifeSimple"> |
1146 | <message name="message"> | 1134 | <message name="message"> |
1147 | Welcome to [SECOND_LIFE]! | 1135 | Welcome to [SECOND_LIFE]! |
1148 | 1136 | ||
1149 | Use arrow keys to walk. | 1137 | Use arrow keys to walk. |
1150 | 1138 | ||
1151 | Please choose the male or female character. | 1139 | Please choose the male or female avatar. |
1152 | </message> | 1140 | </message> |
1153 | <option name="Male"> | 1141 | <option name="Male"> |
1154 | Male | 1142 | Male |
@@ -1171,8 +1159,6 @@ Please choose the male or female character. | |||
1171 | <alert modal="true" name="RegionNoTerraforming"> | 1159 | <alert modal="true" name="RegionNoTerraforming"> |
1172 | <message name="message"> | 1160 | <message name="message"> |
1173 | The region [REGION] does not allow terraforming. | 1161 | The region [REGION] does not allow terraforming. |
1174 | You will need to buy land in another part of the world | ||
1175 | to terraform it. | ||
1176 | </message> | 1162 | </message> |
1177 | </alert> | 1163 | </alert> |
1178 | <alert modal="true" name="CannotCopyWarning"> | 1164 | <alert modal="true" name="CannotCopyWarning"> |
@@ -1201,12 +1187,13 @@ really want to offer this item? | |||
1201 | </alert> | 1187 | </alert> |
1202 | <alert modal="true" name="TooManyItems"> | 1188 | <alert modal="true" name="TooManyItems"> |
1203 | <message name="message"> | 1189 | <message name="message"> |
1204 | Cannot give that many items in a single inventory transfer. | 1190 | Cannot give more than 42 items in a single inventory transfer. |
1205 | </message> | 1191 | </message> |
1206 | </alert> | 1192 | </alert> |
1207 | <alert modal="true" name="NoItems"> | 1193 | <alert modal="true" name="NoItems"> |
1208 | <message name="message"> | 1194 | <message name="message"> |
1209 | No items you can give. | 1195 | You do not have permission to transfer |
1196 | the selected items. | ||
1210 | </message> | 1197 | </message> |
1211 | </alert> | 1198 | </alert> |
1212 | <alert modal="true" name="CannotCopyCountItems"> | 1199 | <alert modal="true" name="CannotCopyCountItems"> |
@@ -1225,7 +1212,8 @@ Do you really want to give these items? | |||
1225 | </alert> | 1212 | </alert> |
1226 | <alert modal="true" name="CannotGiveCategory"> | 1213 | <alert modal="true" name="CannotGiveCategory"> |
1227 | <message name="message"> | 1214 | <message name="message"> |
1228 | Unable to give inventory category. | 1215 | You do not have permission to transfer |
1216 | the selected folder. | ||
1229 | </message> | 1217 | </message> |
1230 | </alert> | 1218 | </alert> |
1231 | <alert modal="true" name="FreezeAvatar"> | 1219 | <alert modal="true" name="FreezeAvatar"> |
@@ -1260,7 +1248,7 @@ chat, or interact with the world. | |||
1260 | </alert> | 1248 | </alert> |
1261 | <alert modal="true" name="InvalidUUID"> | 1249 | <alert modal="true" name="InvalidUUID"> |
1262 | <message name="message"> | 1250 | <message name="message"> |
1263 | Not a valid uuid | 1251 | Not a valid UUID. |
1264 | </message> | 1252 | </message> |
1265 | </alert> | 1253 | </alert> |
1266 | <alert modal="true" name="AcquireErrorTooManyObjects"> | 1254 | <alert modal="true" name="AcquireErrorTooManyObjects"> |
@@ -1278,29 +1266,28 @@ same region. | |||
1278 | <alert modal="true" name="TakeLockedOrNotOwnedBy"> | 1266 | <alert modal="true" name="TakeLockedOrNotOwnedBy"> |
1279 | <message name="message"> | 1267 | <message name="message"> |
1280 | At least one object is locked or not owned by you. | 1268 | At least one object is locked or not owned by you. |
1281 | If an object is not owned by you and you take it, | 1269 | If an object is not owned by you and you take it, |
1282 | next owner permissions will be applied to it and | 1270 | next owner permissions will be applied to it and |
1283 | possibly restrict your ability to modify or copy it | 1271 | possibly restrict your ability to modify or copy it. |
1284 | in the future. | 1272 | |
1285 | However, you can still take the current selection. | ||
1286 | Are you sure you want to take these itmes? | 1273 | Are you sure you want to take these itmes? |
1287 | </message> | 1274 | </message> |
1288 | <option name="Yes"> | 1275 | <option name="Yes"> |
1289 | Yes | 1276 | OK |
1290 | </option> | 1277 | </option> |
1291 | <option default="true" name="No"> | 1278 | <option default="true" name="No"> |
1292 | No | 1279 | Cancel |
1293 | </option> | 1280 | </option> |
1294 | </alert> | 1281 | </alert> |
1295 | <alert modal="true" name="PromptGoToCurrencyPage"> | 1282 | <alert modal="true" name="PromptGoToCurrencyPage"> |
1296 | <message name="message"> | 1283 | <message name="message"> |
1297 | [EXTRA] | 1284 | [EXTRA] |
1298 | 1285 | ||
1299 | 1286 | ||
1300 | Go to [URL] for information on purchasing currency? | 1287 | Go to [URL] for information on purchasing currency? |
1301 | </message> | 1288 | </message> |
1302 | <option name="GotoPage"> | 1289 | <option name="GotoPage"> |
1303 | Go to Page | 1290 | OK |
1304 | </option> | 1291 | </option> |
1305 | <option name="Cancel"> | 1292 | <option name="Cancel"> |
1306 | Cancel | 1293 | Cancel |
@@ -1310,7 +1297,6 @@ Go to [URL] for information on purchasing currency? | |||
1310 | <message name="message"> | 1297 | <message name="message"> |
1311 | Unable to link these [COUNT] objects. | 1298 | Unable to link these [COUNT] objects. |
1312 | You can link a maximum of [MAX] objects. | 1299 | You can link a maximum of [MAX] objects. |
1313 | Try selecting fewer objects. | ||
1314 | </message> | 1300 | </message> |
1315 | </alert> | 1301 | </alert> |
1316 | <alert modal="true" name="CannotLinkIncompleteSet"> | 1302 | <alert modal="true" name="CannotLinkIncompleteSet"> |
@@ -1349,56 +1335,56 @@ Expected [VALIDS] | |||
1349 | </alert> | 1335 | </alert> |
1350 | <alert modal="true" name="CannotUploadSoundFile"> | 1336 | <alert modal="true" name="CannotUploadSoundFile"> |
1351 | <message name="message"> | 1337 | <message name="message"> |
1352 | Couldn't open upload sound file for reading: | 1338 | Couldn't open uploaded sound file for reading: |
1353 | [FILE] | 1339 | [FILE] |
1354 | </message> | 1340 | </message> |
1355 | </alert> | 1341 | </alert> |
1356 | <alert modal="true" name="SoundFileNotRIFF"> | 1342 | <alert modal="true" name="SoundFileNotRIFF"> |
1357 | <message name="message"> | 1343 | <message name="message"> |
1358 | File does not appear to be a RIFF WAVE file: | 1344 | File does not appear to be a RIFF WAVE file: |
1359 | [FILE] | 1345 | [FILE] |
1360 | </message> | 1346 | </message> |
1361 | </alert> | 1347 | </alert> |
1362 | <alert modal="true" name="SoundFileNotPCM"> | 1348 | <alert modal="true" name="SoundFileNotPCM"> |
1363 | <message name="message"> | 1349 | <message name="message"> |
1364 | File does not appear to be a PCM WAVE audio file: | 1350 | File does not appear to be a PCM WAVE audio file: |
1365 | [FILE] | 1351 | [FILE] |
1366 | </message> | 1352 | </message> |
1367 | </alert> | 1353 | </alert> |
1368 | <alert modal="true" name="SoundFileInvalidChannelCount"> | 1354 | <alert modal="true" name="SoundFileInvalidChannelCount"> |
1369 | <message name="message"> | 1355 | <message name="message"> |
1370 | File has invalid number of channels (must be mono or stereo): | 1356 | File has invalid number of channels (must be mono or stereo): |
1371 | [FILE] | 1357 | [FILE] |
1372 | </message> | 1358 | </message> |
1373 | </alert> | 1359 | </alert> |
1374 | <alert modal="true" name="SoundFileInvalidSampleRate"> | 1360 | <alert modal="true" name="SoundFileInvalidSampleRate"> |
1375 | <message name="message"> | 1361 | <message name="message"> |
1376 | File does not appear to be a supported sample rate (must be 44.1k): | 1362 | File does not appear to be a supported sample rate (must be 44.1k): |
1377 | [FILE] | 1363 | [FILE] |
1378 | </message> | 1364 | </message> |
1379 | </alert> | 1365 | </alert> |
1380 | <alert modal="true" name="SoundFileInvalidWordSize"> | 1366 | <alert modal="true" name="SoundFileInvalidWordSize"> |
1381 | <message name="message"> | 1367 | <message name="message"> |
1382 | File does not appear to be a supported word size (must be 8 or 16 bit): | 1368 | File does not appear to be a supported word size (must be 8 or 16 bit): |
1383 | [FILE] | 1369 | [FILE] |
1384 | </message> | 1370 | </message> |
1385 | </alert> | 1371 | </alert> |
1386 | <alert modal="true" name="SoundFileInvalidHeader"> | 1372 | <alert modal="true" name="SoundFileInvalidHeader"> |
1387 | <message name="message"> | 1373 | <message name="message"> |
1388 | Could not find 'data' chunk in WAV header: | 1374 | Could not find 'data' chunk in WAV header: |
1389 | [FILE] | 1375 | [FILE] |
1390 | </message> | 1376 | </message> |
1391 | </alert> | 1377 | </alert> |
1392 | <alert modal="true" name="SoundFileInvalidTooLong"> | 1378 | <alert modal="true" name="SoundFileInvalidTooLong"> |
1393 | <message name="message"> | 1379 | <message name="message"> |
1394 | Audio file is too long (10 second maximum): | 1380 | Audio file is too long (10 second maximum): |
1395 | [FILE] | 1381 | [FILE] |
1396 | </message> | 1382 | </message> |
1397 | </alert> | 1383 | </alert> |
1398 | <alert modal="true" name="ProblemWithFile"> | 1384 | <alert modal="true" name="ProblemWithFile"> |
1399 | <message name="message"> | 1385 | <message name="message"> |
1400 | Problem with file [FILE]: | 1386 | Problem with file [FILE]: |
1401 | 1387 | ||
1402 | [ERROR] | 1388 | [ERROR] |
1403 | </message> | 1389 | </message> |
1404 | </alert> | 1390 | </alert> |
@@ -1409,17 +1395,17 @@ Expected [VALIDS] | |||
1409 | </alert> | 1395 | </alert> |
1410 | <alert modal="true" name="UnknownVorbisEncodeFailure"> | 1396 | <alert modal="true" name="UnknownVorbisEncodeFailure"> |
1411 | <message name="message"> | 1397 | <message name="message"> |
1412 | Unknown vorbis encode failure on: [FILE] | 1398 | Unknown Vorbis encode failure on: [FILE] |
1413 | </message> | 1399 | </message> |
1414 | </alert> | 1400 | </alert> |
1415 | <alert modal="true" name="CorruptResourceFile"> | 1401 | <alert modal="true" name="CorruptResourceFile"> |
1416 | <message name="message"> | 1402 | <message name="message"> |
1417 | corrupt resource file: [FILE] | 1403 | Corrupt resource file: [FILE] |
1418 | </message> | 1404 | </message> |
1419 | </alert> | 1405 | </alert> |
1420 | <alert modal="true" name="UnknownResourceFileVersion"> | 1406 | <alert modal="true" name="UnknownResourceFileVersion"> |
1421 | <message name="message"> | 1407 | <message name="message"> |
1422 | unknown linden resource file version in file: [FILE] | 1408 | Unknown Linden resource file version in file: [FILE] |
1423 | </message> | 1409 | </message> |
1424 | </alert> | 1410 | </alert> |
1425 | <alert modal="true" name="UnableToCreateOutputFile"> | 1411 | <alert modal="true" name="UnableToCreateOutputFile"> |
@@ -1429,7 +1415,7 @@ Expected [VALIDS] | |||
1429 | </alert> | 1415 | </alert> |
1430 | <alert modal="true" name="DoNotSupportBulkAnimationUpload"> | 1416 | <alert modal="true" name="DoNotSupportBulkAnimationUpload"> |
1431 | <message name="message"> | 1417 | <message name="message"> |
1432 | We do not currently support bulk upload of animation files | 1418 | We do not currently support bulk upload of animation files. |
1433 | </message> | 1419 | </message> |
1434 | </alert> | 1420 | </alert> |
1435 | <alert modal="true" name="CannotAccessOutputFile"> | 1421 | <alert modal="true" name="CannotAccessOutputFile"> |
@@ -1439,12 +1425,12 @@ Expected [VALIDS] | |||
1439 | </alert> | 1425 | </alert> |
1440 | <alert modal="true" name="InsufficientFundsToUploadFile"> | 1426 | <alert modal="true" name="InsufficientFundsToUploadFile"> |
1441 | <message name="message"> | 1427 | <message name="message"> |
1442 | Insufficient funds to upload file: cost is L$[COST], balance is L$[BALANCE] | 1428 | Insufficient L$ to upload file: the price is L$[COST], your balance is L$[BALANCE] |
1443 | </message> | 1429 | </message> |
1444 | </alert> | 1430 | </alert> |
1445 | <alert modal="true" name="InsufficientFundsToFinishUpload"> | 1431 | <alert modal="true" name="InsufficientFundsToFinishUpload"> |
1446 | <message name="message"> | 1432 | <message name="message"> |
1447 | Insufficient funds to finish uploading [FILE]: cost is L$[COST], balance is L$[BALANCE] | 1433 | Insufficient L$ to finish uploading [FILE]: the price is L$[COST], your balance is L$[BALANCE] |
1448 | </message> | 1434 | </message> |
1449 | </alert> | 1435 | </alert> |
1450 | <alert modal="true" name="CannotUploadReason"> | 1436 | <alert modal="true" name="CannotUploadReason"> |
@@ -1457,68 +1443,63 @@ Please try again later. | |||
1457 | <message name="message"> | 1443 | <message name="message"> |
1458 | You cannot create a landmark here because | 1444 | You cannot create a landmark here because |
1459 | the owner of the land doesn't allow it. | 1445 | the owner of the land doesn't allow it. |
1460 | Try moving a few meters away first. | ||
1461 | </message> | 1446 | </message> |
1462 | </alert> | 1447 | </alert> |
1463 | <alert modal="true" name="CannotRecompileSelectObjectsNoScripts"> | 1448 | <alert modal="true" name="CannotRecompileSelectObjectsNoScripts"> |
1464 | <message name="message"> | 1449 | <message name="message"> |
1465 | Not able to perform recompilation. | 1450 | Not able to perform 'recompilation'. |
1466 | Select objects with scripts that | 1451 | Select an object with a script. |
1467 | are valid. | ||
1468 | </message> | 1452 | </message> |
1469 | </alert> | 1453 | </alert> |
1470 | <alert modal="true" name="CannotRecompileSelectObjectsNoPermission"> | 1454 | <alert modal="true" name="CannotRecompileSelectObjectsNoPermission"> |
1471 | <message name="message"> | 1455 | <message name="message"> |
1472 | Not able to perform recompilation. | 1456 | Not able to perform 'recompilation'. |
1473 | Select objects with scripts that you | 1457 | Select objects with scripts that you |
1474 | have permission to modify. | 1458 | have permission to modify. |
1475 | </message> | 1459 | </message> |
1476 | </alert> | 1460 | </alert> |
1477 | <alert modal="true" name="CannotResetSelectObjectsNoScripts"> | 1461 | <alert modal="true" name="CannotResetSelectObjectsNoScripts"> |
1478 | <message name="message"> | 1462 | <message name="message"> |
1479 | Not able to perform reset. | 1463 | Not able to perform 'reset'. |
1480 | Select objects with scripts that you | 1464 | Select objects with scripts. |
1481 | are valid. | ||
1482 | </message> | 1465 | </message> |
1483 | </alert> | 1466 | </alert> |
1484 | <alert modal="true" name="CannotResetSelectObjectsNoPermission"> | 1467 | <alert modal="true" name="CannotResetSelectObjectsNoPermission"> |
1485 | <message name="message"> | 1468 | <message name="message"> |
1486 | Not able to perform reset. | 1469 | Not able to perform 'reset'. |
1487 | Select objects with scripts that you | 1470 | Select objects with scripts that you |
1488 | have permission to modify. | 1471 | have permission to modify. |
1489 | </message> | 1472 | </message> |
1490 | </alert> | 1473 | </alert> |
1491 | <alert modal="true" name="CannotSetRunningSelectObjectsNoScripts"> | 1474 | <alert modal="true" name="CannotSetRunningSelectObjectsNoScripts"> |
1492 | <message name="message"> | 1475 | <message name="message"> |
1493 | Not able to set any scripts to running. | 1476 | Not able to set any scripts to 'running'. |
1494 | Select objects with scripts that | 1477 | Select objects with scripts. |
1495 | are valid. | ||
1496 | </message> | 1478 | </message> |
1497 | </alert> | 1479 | </alert> |
1498 | <alert modal="true" name="CannotSetRunningSelectObjectsNoPermission"> | 1480 | <alert modal="true" name="CannotSetRunningSelectObjectsNoPermission"> |
1499 | <message name="message"> | 1481 | <message name="message"> |
1500 | Not able to set any scripts to running. | 1482 | Not able to set any scripts to 'running'. |
1501 | Select objects with scripts that you | 1483 | Select objects with scripts that you |
1502 | have permission to modify. | 1484 | have permission to modify. |
1503 | </message> | 1485 | </message> |
1504 | </alert> | 1486 | </alert> |
1505 | <alert modal="true" name="CannotSetRunningNotSelectObjectsNoScripts"> | 1487 | <alert modal="true" name="CannotSetRunningNotSelectObjectsNoScripts"> |
1506 | <message name="message"> | 1488 | <message name="message"> |
1507 | Not able to set any scripts to not running. | 1489 | Unable to set any scripts to 'not running'. |
1508 | Select objects with scripts that | 1490 | Select objects with scripts. |
1509 | are valid. | ||
1510 | </message> | 1491 | </message> |
1511 | </alert> | 1492 | </alert> |
1512 | <alert modal="true" name="CannotSetRunningNotSelectObjectsNoPermission"> | 1493 | <alert modal="true" name="CannotSetRunningNotSelectObjectsNoPermission"> |
1513 | <message name="message"> | 1494 | <message name="message"> |
1514 | Not able to set any scripts to not running. | 1495 | Unable to set any scripts to 'not running'. |
1515 | Select objects with scripts that you | 1496 | Select objects with scripts that you |
1516 | have permission to modify. | 1497 | have permission to modify. |
1517 | </message> | 1498 | </message> |
1518 | </alert> | 1499 | </alert> |
1519 | <alert modal="true" name="NoFrontmostFloater"> | 1500 | <alert modal="true" name="NoFrontmostFloater"> |
1520 | <message name="message"> | 1501 | <message name="message"> |
1521 | No frontmost floater to save | 1502 | No frontmost floater to save. |
1522 | </message> | 1503 | </message> |
1523 | </alert> | 1504 | </alert> |
1524 | <alert modal="true" name="ColladaExportFailedUnknownServerError"> | 1505 | <alert modal="true" name="ColladaExportFailedUnknownServerError"> |
@@ -1560,7 +1541,7 @@ have permission to modify. | |||
1560 | <alert modal="true" name="CannotSetLandOwnerNothingSelected"> | 1541 | <alert modal="true" name="CannotSetLandOwnerNothingSelected"> |
1561 | <message name="message"> | 1542 | <message name="message"> |
1562 | Unable to set land owner: | 1543 | Unable to set land owner: |
1563 | Nothing selected. | 1544 | No parcel selected. |
1564 | </message> | 1545 | </message> |
1565 | </alert> | 1546 | </alert> |
1566 | <alert modal="true" name="CannotSetLandOwnerMultipleRegions"> | 1547 | <alert modal="true" name="CannotSetLandOwnerMultipleRegions"> |
@@ -1576,7 +1557,7 @@ cancel the auction and potentially make some residents | |||
1576 | unhappy if bidding has begun. Force ownership? | 1557 | unhappy if bidding has begun. Force ownership? |
1577 | </message> | 1558 | </message> |
1578 | <option name="Force"> | 1559 | <option name="Force"> |
1579 | Force | 1560 | OK |
1580 | </option> | 1561 | </option> |
1581 | <option name="Cancel"> | 1562 | <option name="Cancel"> |
1582 | Cancel | 1563 | Cancel |
@@ -1585,19 +1566,19 @@ unhappy if bidding has begun. Force ownership? | |||
1585 | <alert modal="true" name="CannotContentifyNothingSelected"> | 1566 | <alert modal="true" name="CannotContentifyNothingSelected"> |
1586 | <message name="message"> | 1567 | <message name="message"> |
1587 | Unable to contentify: | 1568 | Unable to contentify: |
1588 | Nothing selected. | 1569 | No parcel selected. |
1589 | </message> | 1570 | </message> |
1590 | </alert> | 1571 | </alert> |
1591 | <alert modal="true" name="CannotContentifyNoRegion"> | 1572 | <alert modal="true" name="CannotContentifyNoRegion"> |
1592 | <message name="message"> | 1573 | <message name="message"> |
1593 | Unable to contentify: | 1574 | Unable to contentify: |
1594 | No region. | 1575 | No region selected. |
1595 | </message> | 1576 | </message> |
1596 | </alert> | 1577 | </alert> |
1597 | <alert modal="true" name="CannotReleaseLandNothingSelected"> | 1578 | <alert modal="true" name="CannotReleaseLandNothingSelected"> |
1598 | <message name="message"> | 1579 | <message name="message"> |
1599 | Unable to abandon land: | 1580 | Unable to abandon land: |
1600 | Nothing selected. | 1581 | No parcel selected. |
1601 | </message> | 1582 | </message> |
1602 | </alert> | 1583 | </alert> |
1603 | <alert modal="true" name="CannotReleaseLandNoRegion"> | 1584 | <alert modal="true" name="CannotReleaseLandNoRegion"> |
@@ -1609,7 +1590,7 @@ Cannot find region. | |||
1609 | <alert modal="true" name="CannotBuyLandNothingSelected"> | 1590 | <alert modal="true" name="CannotBuyLandNothingSelected"> |
1610 | <message name="message"> | 1591 | <message name="message"> |
1611 | Unable to buy land: | 1592 | Unable to buy land: |
1612 | Nothing selected. | 1593 | No parcel selected. |
1613 | </message> | 1594 | </message> |
1614 | </alert> | 1595 | </alert> |
1615 | <alert modal="true" name="CannotBuyLandNoRegion"> | 1596 | <alert modal="true" name="CannotBuyLandNoRegion"> |
@@ -1621,13 +1602,13 @@ Cannot find the region this land is in. | |||
1621 | <alert modal="true" name="CannotDeedLandNothingSelected"> | 1602 | <alert modal="true" name="CannotDeedLandNothingSelected"> |
1622 | <message name="message"> | 1603 | <message name="message"> |
1623 | Unable to deed land: | 1604 | Unable to deed land: |
1624 | Nothing selected. | 1605 | No parcel selected. |
1625 | </message> | 1606 | </message> |
1626 | </alert> | 1607 | </alert> |
1627 | <alert modal="true" name="CannotDeedLandNoGroup"> | 1608 | <alert modal="true" name="CannotDeedLandNoGroup"> |
1628 | <message name="message"> | 1609 | <message name="message"> |
1629 | Unable to deed land: | 1610 | Unable to deed land: |
1630 | No Group. | 1611 | No Group selected. |
1631 | </message> | 1612 | </message> |
1632 | </alert> | 1613 | </alert> |
1633 | <alert modal="true" name="CannotDeedLandNoRegion"> | 1614 | <alert modal="true" name="CannotDeedLandNoRegion"> |
@@ -1640,7 +1621,7 @@ Please use Tools -> Report Bug to report this. | |||
1640 | <alert modal="true" name="CannotSetLandOwnerNothingSelected"> | 1621 | <alert modal="true" name="CannotSetLandOwnerNothingSelected"> |
1641 | <message name="message"> | 1622 | <message name="message"> |
1642 | Unable to set land owner: | 1623 | Unable to set land owner: |
1643 | Nothing selected. | 1624 | No parcel selected. |
1644 | </message> | 1625 | </message> |
1645 | </alert> | 1626 | </alert> |
1646 | <alert modal="true" name="CannotBuyLandMultipleRegions"> | 1627 | <alert modal="true" name="CannotBuyLandMultipleRegions"> |
@@ -1652,15 +1633,15 @@ Please select a smaller area and try again. | |||
1652 | <alert modal="true" name="CannotBuyLandMultipleSelected"> | 1633 | <alert modal="true" name="CannotBuyLandMultipleSelected"> |
1653 | <message name="message"> | 1634 | <message name="message"> |
1654 | Unable to buy land: | 1635 | Unable to buy land: |
1655 | Multiple different parcels selected. | 1636 | Multiple parcels selected. |
1656 | Try selecting a smaller area. | 1637 | Try selecting a single parcel. |
1657 | </message> | 1638 | </message> |
1658 | </alert> | 1639 | </alert> |
1659 | <alert modal="true" name="CannotDeedLandMultipleSelected"> | 1640 | <alert modal="true" name="CannotDeedLandMultipleSelected"> |
1660 | <message name="message"> | 1641 | <message name="message"> |
1661 | Unable to deed land: | 1642 | Unable to deed land: |
1662 | Multiple different parcels selected. | 1643 | Multiple parcels selected. |
1663 | Try selecting a smaller area. | 1644 | Try selecting a single parcel. |
1664 | </message> | 1645 | </message> |
1665 | </alert> | 1646 | </alert> |
1666 | <alert modal="true" name="RegionNotFound"> | 1647 | <alert modal="true" name="RegionNotFound"> |
@@ -1670,11 +1651,11 @@ Try selecting a smaller area. | |||
1670 | </alert> | 1651 | </alert> |
1671 | <alert modal="true" name="ParcelCanPlayMusic"> | 1652 | <alert modal="true" name="ParcelCanPlayMusic"> |
1672 | <message name="message"> | 1653 | <message name="message"> |
1673 | This location can play streaming music. | 1654 | This location can play streaming music. |
1674 | 1655 | ||
1675 | Music requires a 768 kbps or faster | 1656 | Music requires a 768 kbps or faster |
1676 | Internet connection. | 1657 | Internet connection. |
1677 | 1658 | ||
1678 | Play music when available? | 1659 | Play music when available? |
1679 | </message> | 1660 | </message> |
1680 | <option name="PlayMusic"> | 1661 | <option name="PlayMusic"> |
@@ -1686,14 +1667,14 @@ Play music when available? | |||
1686 | </alert> | 1667 | </alert> |
1687 | <alert modal="true" name="ParcelCanPlayMedia"> | 1668 | <alert modal="true" name="ParcelCanPlayMedia"> |
1688 | <message name="message"> | 1669 | <message name="message"> |
1689 | This location can play streaming video. | 1670 | This location can play streaming video. |
1690 | 1671 | ||
1691 | Streaming video requires a 768 kbps or | 1672 | Streaming video requires a 768 kbps or |
1692 | faster Internet connection. | 1673 | faster Internet connection. |
1693 | 1674 | ||
1694 | Play streaming video when available? | 1675 | Play streaming video when available? |
1695 | 1676 | ||
1696 | (You can change this option later under | 1677 | (You can change this option later under |
1697 | Preferences > Audio & Video.) | 1678 | Preferences > Audio & Video.) |
1698 | </message> | 1679 | </message> |
1699 | <option name="PlayMedia"> | 1680 | <option name="PlayMedia"> |
@@ -1707,14 +1688,14 @@ Preferences > Audio & Video.) | |||
1707 | <message name="message"> | 1688 | <message name="message"> |
1708 | Unable to buy land: | 1689 | Unable to buy land: |
1709 | Waiting for server to report cost. | 1690 | Waiting for server to report cost. |
1710 | Try again in a few seconds. | 1691 | Please try again. |
1711 | </message> | 1692 | </message> |
1712 | </alert> | 1693 | </alert> |
1713 | <alert modal="true" name="CannotDeedLandWaitingForServer"> | 1694 | <alert modal="true" name="CannotDeedLandWaitingForServer"> |
1714 | <message name="message"> | 1695 | <message name="message"> |
1715 | Unable to deed land: | 1696 | Unable to deed land: |
1716 | Waiting for server to report ownership. | 1697 | Waiting for server to report ownership. |
1717 | Try again in a few seconds. | 1698 | Please try again. |
1718 | </message> | 1699 | </message> |
1719 | </alert> | 1700 | </alert> |
1720 | <alert modal="true" name="CannotBuyLandNoPublic"> | 1701 | <alert modal="true" name="CannotBuyLandNoPublic"> |
@@ -1726,8 +1707,8 @@ The selection doesn't contain any public land. | |||
1726 | <alert modal="true" name="CannotBuyLandLandOwned"> | 1707 | <alert modal="true" name="CannotBuyLandLandOwned"> |
1727 | <message name="message"> | 1708 | <message name="message"> |
1728 | Unable to buy land: | 1709 | Unable to buy land: |
1729 | Land owned by another user is selected. | 1710 | You have selected a parcel owned |
1730 | Try selecting a smaller area. | 1711 | by another Resident. |
1731 | </message> | 1712 | </message> |
1732 | </alert> | 1713 | </alert> |
1733 | <alert modal="true" name="CannotButLandRegionNotFound"> | 1714 | <alert modal="true" name="CannotButLandRegionNotFound"> |
@@ -1758,28 +1739,28 @@ Please activate another group using Edit -> Groups... | |||
1758 | </alert> | 1739 | </alert> |
1759 | <alert modal="true" name="CannotBuyLandInsufficientFunds"> | 1740 | <alert modal="true" name="CannotBuyLandInsufficientFunds"> |
1760 | <message name="message"> | 1741 | <message name="message"> |
1761 | Buying this [AREA] sq. meters of land costs L$[PRICE]. | 1742 | Buying this [AREA] m2 of land costs L$[PRICE]. |
1762 | You only have L$[BALANCE]. | 1743 | You only have L$[BALANCE]. |
1763 | </message> | 1744 | </message> |
1764 | </alert> | 1745 | </alert> |
1765 | <alert modal="true" name="CannotReleaseLandNothingSelected"> | 1746 | <alert modal="true" name="CannotReleaseLandNothingSelected"> |
1766 | <message name="message"> | 1747 | <message name="message"> |
1767 | Unable to abandon land: | 1748 | Unable to abandon land: |
1768 | Nothing selected. | 1749 | No parcel selected. |
1769 | </message> | 1750 | </message> |
1770 | </alert> | 1751 | </alert> |
1771 | <alert modal="true" name="CannotReleaseLandWatingForServer"> | 1752 | <alert modal="true" name="CannotReleaseLandWatingForServer"> |
1772 | <message name="message"> | 1753 | <message name="message"> |
1773 | Unable to abandon land: | 1754 | Unable to abandon land: |
1774 | Waiting for server to report cost. | 1755 | Waiting for server to update parcel information. |
1775 | Try again in a few seconds. | 1756 | Try again in a few seconds. |
1776 | </message> | 1757 | </message> |
1777 | </alert> | 1758 | </alert> |
1778 | <alert modal="true" name="CannotReleaseLandSelected"> | 1759 | <alert modal="true" name="CannotReleaseLandSelected"> |
1779 | <message name="message"> | 1760 | <message name="message"> |
1780 | Unable to abandon land: | 1761 | Unable to abandon land: |
1781 | Multiple different parcels selected. | 1762 | You do not own all the parcels selected. |
1782 | Try selecting a smaller area. | 1763 | Please select a single parcel. |
1783 | </message> | 1764 | </message> |
1784 | </alert> | 1765 | </alert> |
1785 | <alert modal="true" name="CannotReleaseLandDontOwn"> | 1766 | <alert modal="true" name="CannotReleaseLandDontOwn"> |
@@ -1806,20 +1787,19 @@ The region [REGION] does not allow transfer of land. | |||
1806 | <message name="message"> | 1787 | <message name="message"> |
1807 | Unable to abandon land: | 1788 | Unable to abandon land: |
1808 | You must select an entire parcel to release it. | 1789 | You must select an entire parcel to release it. |
1809 | Try double-clicking to select an entire parcel, or | 1790 | Select an entire parcel, or divide your parcel first. |
1810 | first divide your parcel. | ||
1811 | </message> | 1791 | </message> |
1812 | </alert> | 1792 | </alert> |
1813 | <alert modal="true" name="ReleaseLandWarning"> | 1793 | <alert modal="true" name="ReleaseLandWarning"> |
1814 | <message name="message"> | 1794 | <message name="message"> |
1815 | You are about to release [AREA] sq. meters of land. | 1795 | You are about to release [AREA] m2 of land. |
1816 | Releasing this parcel will remove it from your land | 1796 | Releasing this parcel will remove it from your land |
1817 | holdings, but will not credit any L$. | 1797 | holdings, but will not grant any L$. |
1818 | 1798 | ||
1819 | Release this land? | 1799 | Release this land? |
1820 | </message> | 1800 | </message> |
1821 | <option name="Release"> | 1801 | <option name="Release"> |
1822 | Release | 1802 | OK |
1823 | </option> | 1803 | </option> |
1824 | <option default="true" name="Cancel"> | 1804 | <option default="true" name="Cancel"> |
1825 | Cancel | 1805 | Cancel |
@@ -1828,15 +1808,14 @@ Release this land? | |||
1828 | <alert modal="true" name="CannotDivideLandNothingSelected"> | 1808 | <alert modal="true" name="CannotDivideLandNothingSelected"> |
1829 | <message name="message"> | 1809 | <message name="message"> |
1830 | Unable to divide land: | 1810 | Unable to divide land: |
1831 | Nothing selected. | 1811 | No parcels selected. |
1832 | </message> | 1812 | </message> |
1833 | </alert> | 1813 | </alert> |
1834 | <alert modal="true" name="CannotDivideLandPartialSelection"> | 1814 | <alert modal="true" name="CannotDivideLandPartialSelection"> |
1835 | <message name="message"> | 1815 | <message name="message"> |
1836 | Unable to divide land: | 1816 | Unable to divide land: |
1837 | You have an entire parcel selected. | 1817 | You have an entire parcel selected. |
1838 | Try selecting a smaller area by clicking | 1818 | Try selecting a part of the parcel. |
1839 | and dragging. | ||
1840 | </message> | 1819 | </message> |
1841 | </alert> | 1820 | </alert> |
1842 | <alert modal="true" name="LandDivideWarning"> | 1821 | <alert modal="true" name="LandDivideWarning"> |
@@ -1844,11 +1823,11 @@ and dragging. | |||
1844 | Dividing this land will split this parcel into two | 1823 | Dividing this land will split this parcel into two |
1845 | and each parcel can have its own settings. Some settings | 1824 | and each parcel can have its own settings. Some settings |
1846 | will be reset to defaults after the operation. | 1825 | will be reset to defaults after the operation. |
1847 | 1826 | ||
1848 | Divide land? | 1827 | Divide land? |
1849 | </message> | 1828 | </message> |
1850 | <option name="Divide"> | 1829 | <option name="Divide"> |
1851 | Divide | 1830 | OK |
1852 | </option> | 1831 | </option> |
1853 | <option name="Cancel"> | 1832 | <option name="Cancel"> |
1854 | Cancel | 1833 | Cancel |
@@ -1871,37 +1850,35 @@ Please use Tools -> Report Bug to report this. | |||
1871 | <alert modal="true" name="CannotJoinLandNothingSelected"> | 1850 | <alert modal="true" name="CannotJoinLandNothingSelected"> |
1872 | <message name="message"> | 1851 | <message name="message"> |
1873 | Unable to join land: | 1852 | Unable to join land: |
1874 | Nothing selected. | 1853 | No parcels selected. |
1875 | </message> | 1854 | </message> |
1876 | </alert> | 1855 | </alert> |
1877 | <alert modal="true" name="CannotJoinLandEntireParcelSelected"> | 1856 | <alert modal="true" name="CannotJoinLandEntireParcelSelected"> |
1878 | <message name="message"> | 1857 | <message name="message"> |
1879 | Unable to join land: | 1858 | Unable to join land: |
1880 | You have an entire parcel selected. | 1859 | You only have one parcel selected. |
1881 | Try selecting a larger area by clicking | 1860 | Select land across both parcels. |
1882 | and dragging. | ||
1883 | </message> | 1861 | </message> |
1884 | </alert> | 1862 | </alert> |
1885 | <alert modal="true" name="CannotJoinLandSelection"> | 1863 | <alert modal="true" name="CannotJoinLandSelection"> |
1886 | <message name="message"> | 1864 | <message name="message"> |
1887 | Unable to join land: | 1865 | Unable to join land: |
1888 | You must select more than one parcel. | 1866 | You must select more than one parcel. |
1889 | Try selecting a larger area by clicking | 1867 | Select land across both parcels. |
1890 | and dragging. | ||
1891 | </message> | 1868 | </message> |
1892 | </alert> | 1869 | </alert> |
1893 | <alert modal="true" name="JoinLandWarning"> | 1870 | <alert modal="true" name="JoinLandWarning"> |
1894 | <message name="message"> | 1871 | <message name="message"> |
1895 | Joining this land will create one large parcel | 1872 | Joining this land will create one large parcel |
1896 | out of all parcels intersecting the selected rectangle. | 1873 | out of all parcels intersecting the selected rectangle. |
1897 | 1874 | ||
1898 | You will need to reset the name and options of the | 1875 | You will need to reset the name and options of the |
1899 | new parcel. | 1876 | new parcel. |
1900 | 1877 | ||
1901 | Join land? | 1878 | Join land? |
1902 | </message> | 1879 | </message> |
1903 | <option name="Join"> | 1880 | <option name="Join"> |
1904 | Join | 1881 | OK |
1905 | </option> | 1882 | </option> |
1906 | <option name="Cancel"> | 1883 | <option name="Cancel"> |
1907 | Cancel | 1884 | Cancel |
@@ -1912,7 +1889,7 @@ Join land? | |||
1912 | This notecard needs to be saved before the item can be copied or viewed. Save notecard? | 1889 | This notecard needs to be saved before the item can be copied or viewed. Save notecard? |
1913 | </message> | 1890 | </message> |
1914 | <option default="true" name="Save"> | 1891 | <option default="true" name="Save"> |
1915 | Save | 1892 | OK |
1916 | </option> | 1893 | </option> |
1917 | <option name="Cancel"> | 1894 | <option name="Cancel"> |
1918 | Cancel | 1895 | Cancel |
@@ -1920,10 +1897,10 @@ Join land? | |||
1920 | </alert> | 1897 | </alert> |
1921 | <alert modal="true" name="ConfirmLandmarkCopy"> | 1898 | <alert modal="true" name="ConfirmLandmarkCopy"> |
1922 | <message name="message"> | 1899 | <message name="message"> |
1923 | Copy this item to your inventory? | 1900 | Copy this landmark to your inventory? |
1924 | </message> | 1901 | </message> |
1925 | <option name="Copy"> | 1902 | <option name="Copy"> |
1926 | Copy | 1903 | OK |
1927 | </option> | 1904 | </option> |
1928 | <option name="Cancel"> | 1905 | <option name="Cancel"> |
1929 | Cancel | 1906 | Cancel |
@@ -1975,7 +1952,7 @@ and provide details about your network setup. | |||
1975 | <alert modal="true" name="AppEarlyExit"> | 1952 | <alert modal="true" name="AppEarlyExit"> |
1976 | <message name="message"> | 1953 | <message name="message"> |
1977 | [MESSAGE] | 1954 | [MESSAGE] |
1978 | 1955 | ||
1979 | We are unable to recover from this problem. Please | 1956 | We are unable to recover from this problem. Please |
1980 | uninstall and reinstall before trying again. If this | 1957 | uninstall and reinstall before trying again. If this |
1981 | problem persists, check the Tech Support FAQ at: | 1958 | problem persists, check the Tech Support FAQ at: |
@@ -1988,9 +1965,9 @@ www.secondlife.com/support. | |||
1988 | <alert modal="true" name="YouHaveBeenLoggedOut"> | 1965 | <alert modal="true" name="YouHaveBeenLoggedOut"> |
1989 | <message name="message"> | 1966 | <message name="message"> |
1990 | You have been logged out of [SECOND_LIFE]: | 1967 | You have been logged out of [SECOND_LIFE]: |
1991 | 1968 | ||
1992 | [MESSAGE] | 1969 | [MESSAGE] |
1993 | 1970 | ||
1994 | Click Continue to look at existing IM and chat. | 1971 | Click Continue to look at existing IM and chat. |
1995 | You will not be able to perform any other operations. | 1972 | You will not be able to perform any other operations. |
1996 | Click Quit to exit [SECOND_LIFE] immediately. | 1973 | Click Quit to exit [SECOND_LIFE] immediately. |
@@ -2006,19 +1983,18 @@ Click Quit to exit [SECOND_LIFE] immediately. | |||
2006 | <message name="message"> | 1983 | <message name="message"> |
2007 | Unable to buy land for the group: | 1984 | Unable to buy land for the group: |
2008 | You do not have permission to buy land for your active group. | 1985 | You do not have permission to buy land for your active group. |
2009 | Please activate another group using Edit -> Groups... | ||
2010 | </message> | 1986 | </message> |
2011 | </alert> | 1987 | </alert> |
2012 | <alert model="true" name="AddFriend" title="Add Friend"> | 1988 | <alert model="true" name="AddFriend" title="Add Friend"> |
2013 | <message name="message"> | 1989 | <message name="message"> |
2014 | Friends can give permissions to | 1990 | Friends can give permissions to |
2015 | track each other on the map and | 1991 | track each other on the map and |
2016 | receive online status updates. | 1992 | receive online status updates. |
2017 | 1993 | ||
2018 | Offer friendship to [NAME]? | 1994 | Offer friendship to [NAME]? |
2019 | </message> | 1995 | </message> |
2020 | <option name="Offer"> | 1996 | <option name="Offer"> |
2021 | Offer | 1997 | OK |
2022 | </option> | 1998 | </option> |
2023 | <option name="Cancel"> | 1999 | <option name="Cancel"> |
2024 | Cancel | 2000 | Cancel |
@@ -2026,10 +2002,10 @@ Offer friendship to [NAME]? | |||
2026 | </alert> | 2002 | </alert> |
2027 | <alert modal="true" name="RemoveFromFriends"> | 2003 | <alert modal="true" name="RemoveFromFriends"> |
2028 | <message name="message"> | 2004 | <message name="message"> |
2029 | Do you want to remove [FIRST_NAME] [LAST_NAME] from your friends? | 2005 | Do you want to remove [FIRST_NAME] [LAST_NAME] from your Friends List? |
2030 | </message> | 2006 | </message> |
2031 | <option name="Remove"> | 2007 | <option name="Remove"> |
2032 | Remove | 2008 | OK |
2033 | </option> | 2009 | </option> |
2034 | <option name="Cancel"> | 2010 | <option name="Cancel"> |
2035 | Cancel | 2011 | Cancel |
@@ -2037,10 +2013,10 @@ Offer friendship to [NAME]? | |||
2037 | </alert> | 2013 | </alert> |
2038 | <alert modal="true" name="RemoveMultipleFromFriends"> | 2014 | <alert modal="true" name="RemoveMultipleFromFriends"> |
2039 | <message name="message"> | 2015 | <message name="message"> |
2040 | Do you want to remove multiple friends from your friends list? | 2016 | Do you want to remove multiple friends from your Friends list? |
2041 | </message> | 2017 | </message> |
2042 | <option name="Remove"> | 2018 | <option name="Remove"> |
2043 | Remove | 2019 | OK |
2044 | </option> | 2020 | </option> |
2045 | <option name="Cancel"> | 2021 | <option name="Cancel"> |
2046 | Cancel | 2022 | Cancel |
@@ -2049,13 +2025,13 @@ Offer friendship to [NAME]? | |||
2049 | <alert modal="true" name="GodDeleteAllScriptedPublicObjectsByUser"> | 2025 | <alert modal="true" name="GodDeleteAllScriptedPublicObjectsByUser"> |
2050 | <message name="message"> | 2026 | <message name="message"> |
2051 | Are you sure you want to delete all scripted objects owned by | 2027 | Are you sure you want to delete all scripted objects owned by |
2052 | 2028 | ||
2053 | ** [AVATAR_NAME] ** | 2029 | ** [AVATAR_NAME] ** |
2054 | 2030 | ||
2055 | on all others land in this sim? | 2031 | on all others land in this sim? |
2056 | </message> | 2032 | </message> |
2057 | <option name="DELETE!!"> | 2033 | <option name="DELETE!!"> |
2058 | DELETE!! | 2034 | OK |
2059 | </option> | 2035 | </option> |
2060 | <option default="true" name="Cancel"> | 2036 | <option default="true" name="Cancel"> |
2061 | Cancel | 2037 | Cancel |
@@ -2064,13 +2040,13 @@ on all others land in this sim? | |||
2064 | <alert modal="true" name="GodDeleteAllScriptedObjectsByUser"> | 2040 | <alert modal="true" name="GodDeleteAllScriptedObjectsByUser"> |
2065 | <message name="message"> | 2041 | <message name="message"> |
2066 | Are you sure you want to DELETE ALL scripted objects owned by | 2042 | Are you sure you want to DELETE ALL scripted objects owned by |
2067 | 2043 | ||
2068 | ** [AVATAR_NAME] ** | 2044 | ** [AVATAR_NAME] ** |
2069 | 2045 | ||
2070 | on ALL LAND in this sim? | 2046 | on ALL LAND in this sim? |
2071 | </message> | 2047 | </message> |
2072 | <option name="!!DELETEALL!!"> | 2048 | <option name="!!DELETEALL!!"> |
2073 | !!DELETE ALL!! | 2049 | OK |
2074 | </option> | 2050 | </option> |
2075 | <option default="true" name="Cancel"> | 2051 | <option default="true" name="Cancel"> |
2076 | Cancel | 2052 | Cancel |
@@ -2080,13 +2056,13 @@ on ALL LAND in this sim? | |||
2080 | <message name="message"> | 2056 | <message name="message"> |
2081 | Are you sure you want to DELETE ALL objects (scripted or not) | 2057 | Are you sure you want to DELETE ALL objects (scripted or not) |
2082 | owned by | 2058 | owned by |
2083 | 2059 | ||
2084 | ** [AVATAR_NAME] ** | 2060 | ** [AVATAR_NAME] ** |
2085 | 2061 | ||
2086 | on ALL LAND in this sim? | 2062 | on ALL LAND in this sim? |
2087 | </message> | 2063 | </message> |
2088 | <option name="!!DELETEALL!!"> | 2064 | <option name="!!DELETEALL!!"> |
2089 | !!DELETE ALL!! | 2065 | OK |
2090 | </option> | 2066 | </option> |
2091 | <option default="true" name="Cancel"> | 2067 | <option default="true" name="Cancel"> |
2092 | Cancel | 2068 | Cancel |
@@ -2095,7 +2071,7 @@ on ALL LAND in this sim? | |||
2095 | <alert modal="true" name="PublishGroupInfoToWeb"> | 2071 | <alert modal="true" name="PublishGroupInfoToWeb"> |
2096 | <message name="message"> | 2072 | <message name="message"> |
2097 | Selecting the "Publish on the Web" option allows us to publish | 2073 | Selecting the "Publish on the Web" option allows us to publish |
2098 | the group name, insignia, charter, titles, and founder on the | 2074 | the group name, insignia, charter, titles, and founder on the |
2099 | [SECOND_LIFE] website. You are responsible for indicating if any | 2075 | [SECOND_LIFE] website. You are responsible for indicating if any |
2100 | of the above content is considered Mature according to the | 2076 | of the above content is considered Mature according to the |
2101 | Community Standards. | 2077 | Community Standards. |
@@ -2108,13 +2084,13 @@ Community Standards. | |||
2108 | </alert> | 2084 | </alert> |
2109 | <alert modal="true" name="BlankClassifiedName"> | 2085 | <alert modal="true" name="BlankClassifiedName"> |
2110 | <message name="message"> | 2086 | <message name="message"> |
2111 | You must specify a non-blank name for your classified. | 2087 | You must specify a name for your classified. |
2112 | </message> | 2088 | </message> |
2113 | </alert> | 2089 | </alert> |
2114 | <alert modal="true" name="MinClassifiedPrice"> | 2090 | <alert modal="true" name="MinClassifiedPrice"> |
2115 | <message name="message"> | 2091 | <message name="message"> |
2116 | Price to pay for listing must be at least L$[MIN_PRICE]. | 2092 | Price to pay for listing must be at least L$[MIN_PRICE]. |
2117 | 2093 | ||
2118 | Please enter a higher price. | 2094 | Please enter a higher price. |
2119 | </message> | 2095 | </message> |
2120 | </alert> | 2096 | </alert> |
@@ -2125,83 +2101,83 @@ Please enter a higher price. | |||
2125 | </alert> | 2101 | </alert> |
2126 | <alert modal="true" name="ConfirmObjectDeleteLock"> | 2102 | <alert modal="true" name="ConfirmObjectDeleteLock"> |
2127 | <message name="message"> | 2103 | <message name="message"> |
2128 | At least one object is locked. | 2104 | At least one of the items you have selected is locked. |
2129 | However, you can delete the current selection. | 2105 | |
2130 | Are you sure you want to delete these items? | 2106 | Are you sure you want to delete these items? |
2131 | </message> | 2107 | </message> |
2132 | <option name="Yes"> | 2108 | <option name="Yes"> |
2133 | Yes | 2109 | OK |
2134 | </option> | 2110 | </option> |
2135 | <option name="No"> | 2111 | <option name="No"> |
2136 | No | 2112 | Cancel |
2137 | </option> | 2113 | </option> |
2138 | </alert> | 2114 | </alert> |
2139 | <alert modal="true" name="ConfirmObjectDeleteNoCopy"> | 2115 | <alert modal="true" name="ConfirmObjectDeleteNoCopy"> |
2140 | <message name="message"> | 2116 | <message name="message"> |
2141 | At least one object is not copyable. | 2117 | At least one of the items you have selected is not copyable. |
2142 | However, you can delete the current selection. | 2118 | |
2143 | Are you sure you want to delete these items? | 2119 | Are you sure you want to delete these items? |
2144 | </message> | 2120 | </message> |
2145 | <option name="Yes"> | 2121 | <option name="Yes"> |
2146 | Yes | 2122 | OK |
2147 | </option> | 2123 | </option> |
2148 | <option name="No"> | 2124 | <option name="No"> |
2149 | No | 2125 | Cancel |
2150 | </option> | 2126 | </option> |
2151 | </alert> | 2127 | </alert> |
2152 | <alert modal="true" name="ConfirmObjectDeleteNoOwn"> | 2128 | <alert modal="true" name="ConfirmObjectDeleteNoOwn"> |
2153 | <message name="message"> | 2129 | <message name="message"> |
2154 | You do not own least one object. | 2130 | You do not own least one of the items you have selected . |
2155 | However, you can delete the current selection. | 2131 | |
2156 | Are you sure you want to delete these items? | 2132 | Are you sure you want to delete these items? |
2157 | </message> | 2133 | </message> |
2158 | <option name="Yes"> | 2134 | <option name="Yes"> |
2159 | Yes | 2135 | OK |
2160 | </option> | 2136 | </option> |
2161 | <option name="No"> | 2137 | <option name="No"> |
2162 | No | 2138 | Cancel |
2163 | </option> | 2139 | </option> |
2164 | </alert> | 2140 | </alert> |
2165 | <alert modal="true" name="ConfirmObjectDeleteLockNoCopy"> | 2141 | <alert modal="true" name="ConfirmObjectDeleteLockNoCopy"> |
2166 | <message name="message"> | 2142 | <message name="message"> |
2167 | At least one object is locked. | 2143 | At least one object is locked. |
2168 | At least one object is not copyable. | 2144 | At least one object is not copyable. |
2169 | However, you can delete the current selection. | 2145 | |
2170 | Are you sure you want to delete these items? | 2146 | Are you sure you want to delete these items? |
2171 | </message> | 2147 | </message> |
2172 | <option name="Yes"> | 2148 | <option name="Yes"> |
2173 | Yes | 2149 | OK |
2174 | </option> | 2150 | </option> |
2175 | <option name="No"> | 2151 | <option name="No"> |
2176 | No | 2152 | Cancel |
2177 | </option> | 2153 | </option> |
2178 | </alert> | 2154 | </alert> |
2179 | <alert modal="true" name="ConfirmObjectDeleteLockNoOwn"> | 2155 | <alert modal="true" name="ConfirmObjectDeleteLockNoOwn"> |
2180 | <message name="message"> | 2156 | <message name="message"> |
2181 | At least one object is locked. | 2157 | At least one object is locked. |
2182 | You do not own least one object. | 2158 | You do not own least one object. |
2183 | However, you can delete the current selection. | 2159 | |
2184 | Are you sure you want to delete these items? | 2160 | Are you sure you want to delete these items? |
2185 | </message> | 2161 | </message> |
2186 | <option name="Yes"> | 2162 | <option name="Yes"> |
2187 | Yes | 2163 | OK |
2188 | </option> | 2164 | </option> |
2189 | <option name="No"> | 2165 | <option name="No"> |
2190 | No | 2166 | Cancel |
2191 | </option> | 2167 | </option> |
2192 | </alert> | 2168 | </alert> |
2193 | <alert modal="true" name="ConfirmObjectDeleteNoCopyNoOwn"> | 2169 | <alert modal="true" name="ConfirmObjectDeleteNoCopyNoOwn"> |
2194 | <message name="message"> | 2170 | <message name="message"> |
2195 | At least one object is not copyable. | 2171 | At least one object is not copyable. |
2196 | You do not own least one object. | 2172 | You do not own least one object. |
2197 | However, you can delete the current selection. | 2173 | |
2198 | Are you sure you want to delete these items? | 2174 | Are you sure you want to delete these items? |
2199 | </message> | 2175 | </message> |
2200 | <option name="Yes"> | 2176 | <option name="Yes"> |
2201 | Yes | 2177 | OK |
2202 | </option> | 2178 | </option> |
2203 | <option name="No"> | 2179 | <option name="No"> |
2204 | No | 2180 | Cancel |
2205 | </option> | 2181 | </option> |
2206 | </alert> | 2182 | </alert> |
2207 | <alert modal="true" name="ConfirmObjectDeleteLockNoCopyNoOwn"> | 2183 | <alert modal="true" name="ConfirmObjectDeleteLockNoCopyNoOwn"> |
@@ -2209,43 +2185,43 @@ Are you sure you want to delete these items? | |||
2209 | At least one object is locked. | 2185 | At least one object is locked. |
2210 | At least one object is not copyable. | 2186 | At least one object is not copyable. |
2211 | You do not own least one object. | 2187 | You do not own least one object. |
2212 | However, you can delete the current selection. | 2188 | |
2213 | Are you sure you want to delete these items? | 2189 | Are you sure you want to delete these items? |
2214 | </message> | 2190 | </message> |
2215 | <option name="Yes"> | 2191 | <option name="Yes"> |
2216 | Yes | 2192 | OK |
2217 | </option> | 2193 | </option> |
2218 | <option name="No"> | 2194 | <option name="No"> |
2219 | No | 2195 | cancel |
2220 | </option> | 2196 | </option> |
2221 | </alert> | 2197 | </alert> |
2222 | <alert modal="true" name="ConfirmObjectTakeLock"> | 2198 | <alert modal="true" name="ConfirmObjectTakeLock"> |
2223 | <message name="message"> | 2199 | <message name="message"> |
2224 | At least one object is locked. | 2200 | At least one object is locked. |
2225 | However, you can take the current selection. | 2201 | |
2226 | Are you sure you want to take these items? | 2202 | Are you sure you want to take these items? |
2227 | </message> | 2203 | </message> |
2228 | <option name="Yes"> | 2204 | <option name="Yes"> |
2229 | Yes | 2205 | OK |
2230 | </option> | 2206 | </option> |
2231 | <option default="true" name="No"> | 2207 | <option default="true" name="No"> |
2232 | No | 2208 | Cancel |
2233 | </option> | 2209 | </option> |
2234 | </alert> | 2210 | </alert> |
2235 | <alert modal="true" name="ConfirmObjectTakeNoOwn"> | 2211 | <alert modal="true" name="ConfirmObjectTakeNoOwn"> |
2236 | <message name="message"> | 2212 | <message name="message"> |
2237 | You do not own all of the objects you are taking. | 2213 | You do not own all of the objects you are taking. |
2238 | If you continue, next owner permissions will be | 2214 | If you continue, next owner permissions will be |
2239 | applied to the objects and possibly restrict your | 2215 | applied and possibly restrict your |
2240 | ability to modify or copy them in the future. | 2216 | ability to modify or copy them. |
2241 | However, you can take the current selection. | 2217 | |
2242 | Are you sure you want to take these items? | 2218 | Are you sure you want to take these items? |
2243 | </message> | 2219 | </message> |
2244 | <option name="Yes"> | 2220 | <option name="Yes"> |
2245 | Yes | 2221 | OK |
2246 | </option> | 2222 | </option> |
2247 | <option default="true" name="No"> | 2223 | <option default="true" name="No"> |
2248 | No | 2224 | Cancel |
2249 | </option> | 2225 | </option> |
2250 | </alert> | 2226 | </alert> |
2251 | <alert modal="true" name="ConfirmObjectTakeLockNoOwn"> | 2227 | <alert modal="true" name="ConfirmObjectTakeLockNoOwn"> |
@@ -2253,16 +2229,16 @@ Are you sure you want to take these items? | |||
2253 | At least one object is locked. | 2229 | At least one object is locked. |
2254 | You do not own all of the objects you are taking. | 2230 | You do not own all of the objects you are taking. |
2255 | If you continue, next owner permissions will be | 2231 | If you continue, next owner permissions will be |
2256 | applied to the objects and possibly restrict your | 2232 | applied and possibly restrict your |
2257 | ability to modify or copy them in the future. | 2233 | ability to modify or copy them. |
2258 | However, you can take the current selection. | 2234 | However, you can take the current selection. |
2259 | Are you sure you want to take these items? | 2235 | Are you sure you want to take these items? |
2260 | </message> | 2236 | </message> |
2261 | <option name="Yes"> | 2237 | <option name="Yes"> |
2262 | Yes | 2238 | OK |
2263 | </option> | 2239 | </option> |
2264 | <option default="true" name="No"> | 2240 | <option default="true" name="No"> |
2265 | No | 2241 | Cancel |
2266 | </option> | 2242 | </option> |
2267 | </alert> | 2243 | </alert> |
2268 | <alert modal="true" name="CantBuyLandAcrossMultipleRegions"> | 2244 | <alert modal="true" name="CantBuyLandAcrossMultipleRegions"> |
@@ -2275,16 +2251,16 @@ Please select a smaller area and try again. | |||
2275 | <message name="message"> | 2251 | <message name="message"> |
2276 | By deeding this parcel, the group will be required | 2252 | By deeding this parcel, the group will be required |
2277 | to have and maintain sufficient land use credits. | 2253 | to have and maintain sufficient land use credits. |
2278 | 2254 | ||
2279 | The purchase price of the land is not refunded to | 2255 | The purchase price of the land is not refunded to |
2280 | the owner. If a deeded parcel is sold, the sale | 2256 | the owner. If a deeded parcel is sold, the sale |
2281 | price will be divided evenly among group members. | 2257 | price will be divided evenly among group members. |
2282 | 2258 | ||
2283 | Deed this [AREA] square meters of land to the group | 2259 | Deed this [AREA] m2 of land to the group |
2284 | '[GROUP_NAME]'? | 2260 | '[GROUP_NAME]'? |
2285 | </message> | 2261 | </message> |
2286 | <option name="Deed"> | 2262 | <option name="Deed"> |
2287 | Deed | 2263 | OK |
2288 | </option> | 2264 | </option> |
2289 | <option name="Cancel"> | 2265 | <option name="Cancel"> |
2290 | Cancel | 2266 | Cancel |
@@ -2294,19 +2270,19 @@ Deed this [AREA] square meters of land to the group | |||
2294 | <message name="message"> | 2270 | <message name="message"> |
2295 | By deeding this parcel, the group will be required | 2271 | By deeding this parcel, the group will be required |
2296 | to have and maintain sufficient land use credits. | 2272 | to have and maintain sufficient land use credits. |
2297 | 2273 | ||
2298 | The deed will include a simultaneous land | 2274 | The deed will include a simultaneous land |
2299 | contribution to the group from '[FIRST_NAME] [LAST_NAME]'. | 2275 | contribution to the group from '[FIRST_NAME] [LAST_NAME]'. |
2300 | 2276 | ||
2301 | The purchase price of the land is not refunded to | 2277 | The purchase price of the land is not refunded to |
2302 | the owner. If a deeded parcel is sold, the sale | 2278 | the owner. If a deeded parcel is sold, the sale |
2303 | price will be divided evenly among group members. | 2279 | price will be divided evenly among group members. |
2304 | 2280 | ||
2305 | Deed this [AREA] square meters of land to the group | 2281 | Deed this [AREA] m2 of land to the group |
2306 | '[GROUP_NAME]'? | 2282 | '[GROUP_NAME]'? |
2307 | </message> | 2283 | </message> |
2308 | <option name="Deed"> | 2284 | <option name="Deed"> |
2309 | Deed | 2285 | OK |
2310 | </option> | 2286 | </option> |
2311 | <option name="Cancel"> | 2287 | <option name="Cancel"> |
2312 | Cancel | 2288 | Cancel |
@@ -2335,7 +2311,7 @@ Could not request domain name: [HOST_NAME] | |||
2335 | Unable to find the server domain name. | 2311 | Unable to find the server domain name. |
2336 | This could be the result of a lost network connection | 2312 | This could be the result of a lost network connection |
2337 | or a server problem. | 2313 | or a server problem. |
2338 | 2314 | ||
2339 | Please try again in a few minutes, or click Help | 2315 | Please try again in a few minutes, or click Help |
2340 | for advice and a link to the system status web page. | 2316 | for advice and a link to the system status web page. |
2341 | </message> | 2317 | </message> |
@@ -2374,7 +2350,7 @@ for advice and a link to the system status web page. | |||
2374 | <alert modal="true" name="AvatarMoved"> | 2350 | <alert modal="true" name="AvatarMoved"> |
2375 | <message name="message"> | 2351 | <message name="message"> |
2376 | Your [TYPE] location is not currently available. | 2352 | Your [TYPE] location is not currently available. |
2377 | [HELP] | 2353 | [HELP] |
2378 | You have been moved into a nearby region. | 2354 | You have been moved into a nearby region. |
2379 | </message> | 2355 | </message> |
2380 | </alert> | 2356 | </alert> |
@@ -2388,10 +2364,10 @@ will see you correctly. | |||
2388 | <alert modal="true" name="FirstRun"> | 2364 | <alert modal="true" name="FirstRun"> |
2389 | <message name="message"> | 2365 | <message name="message"> |
2390 | [SECOND_LIFE] installation is complete. | 2366 | [SECOND_LIFE] installation is complete. |
2391 | 2367 | ||
2392 | If this is your first time using [SECOND_LIFE], you will need to create | 2368 | If this is your first time using [SECOND_LIFE], you will need to create |
2393 | an account before you can log on. | 2369 | an account before you can log on. |
2394 | 2370 | ||
2395 | Return to www.secondlife.com to create a new account? | 2371 | Return to www.secondlife.com to create a new account? |
2396 | </message> | 2372 | </message> |
2397 | <option name="NewAccount..."> | 2373 | <option name="NewAccount..."> |
@@ -2412,7 +2388,7 @@ Please check your network connection. | |||
2412 | <message name="message"> | 2388 | <message name="message"> |
2413 | Unable to connect. Login packet never received by | 2389 | Unable to connect. Login packet never received by |
2414 | login server. | 2390 | login server. |
2415 | 2391 | ||
2416 | Please try again in a few minutes, or click Help | 2392 | Please try again in a few minutes, or click Help |
2417 | for advice and a link to the system status web page. | 2393 | for advice and a link to the system status web page. |
2418 | </message> | 2394 | </message> |
@@ -2426,9 +2402,9 @@ for advice and a link to the system status web page. | |||
2426 | <alert modal="true" name="WelcomeNoClothes"> | 2402 | <alert modal="true" name="WelcomeNoClothes"> |
2427 | <message name="message"> | 2403 | <message name="message"> |
2428 | Your character will appear in a moment. | 2404 | Your character will appear in a moment. |
2429 | 2405 | ||
2430 | Use arrow keys to walk. | 2406 | Use arrow keys to walk. |
2431 | 2407 | ||
2432 | Press the F1 key at any time for help or | 2408 | Press the F1 key at any time for help or |
2433 | to learn more about [SECOND_LIFE]. | 2409 | to learn more about [SECOND_LIFE]. |
2434 | </message> | 2410 | </message> |
@@ -2436,13 +2412,13 @@ to learn more about [SECOND_LIFE]. | |||
2436 | <alert modal="true" name="WelcomeChooseSex" nodefault="true"> | 2412 | <alert modal="true" name="WelcomeChooseSex" nodefault="true"> |
2437 | <message name="message"> | 2413 | <message name="message"> |
2438 | Your character will appear in a moment. | 2414 | Your character will appear in a moment. |
2439 | 2415 | ||
2440 | Use arrow keys to walk. | 2416 | Use arrow keys to walk. |
2441 | 2417 | ||
2442 | Press the F1 key at any time for help or | 2418 | Press the F1 key at any time for help or |
2443 | to learn more about [SECOND_LIFE]. | 2419 | to learn more about [SECOND_LIFE]. |
2444 | 2420 | ||
2445 | Please choose the male or female character. | 2421 | Please choose the male or female avatar. |
2446 | You can change your mind later. | 2422 | You can change your mind later. |
2447 | </message> | 2423 | </message> |
2448 | <option name="Male"> | 2424 | <option name="Male"> |
@@ -2470,10 +2446,10 @@ You can change your mind later. | |||
2470 | <alert modal="true" name="FlushMapVisibilityCaches"> | 2446 | <alert modal="true" name="FlushMapVisibilityCaches"> |
2471 | <message name="message"> | 2447 | <message name="message"> |
2472 | This will flush the map caches on this region. | 2448 | This will flush the map caches on this region. |
2473 | 2449 | ||
2474 | This is really only useful for debugging. | 2450 | This is really only useful for debugging. |
2475 | 2451 | ||
2476 | (In production, wait 5 minutes, then everyone's map will | 2452 | (In production, wait 5 minutes, then everyone's map will |
2477 | update after they relog.) | 2453 | update after they relog.) |
2478 | </message> | 2454 | </message> |
2479 | <option name="OK"> | 2455 | <option name="OK"> |
@@ -2497,7 +2473,7 @@ Please select only one object and try again. | |||
2497 | </alert> | 2473 | </alert> |
2498 | <alert modal="true" name="KickUsersFromRegion"> | 2474 | <alert modal="true" name="KickUsersFromRegion"> |
2499 | <message name="message"> | 2475 | <message name="message"> |
2500 | Teleport home all users in this region? | 2476 | Teleport all Residents in this region home? |
2501 | </message> | 2477 | </message> |
2502 | <option name="OK"> | 2478 | <option name="OK"> |
2503 | OK | 2479 | OK |
@@ -2510,10 +2486,10 @@ Please select only one object and try again. | |||
2510 | <message name="message"> | 2486 | <message name="message"> |
2511 | Are you sure you want to return all scripted objects owned by | 2487 | Are you sure you want to return all scripted objects owned by |
2512 | ** [USER_NAME] ** | 2488 | ** [USER_NAME] ** |
2513 | non all land but his/her own? | 2489 | on all land in this region they do not own? |
2514 | </message> | 2490 | </message> |
2515 | <option name="Return"> | 2491 | <option name="Return"> |
2516 | Return | 2492 | OK |
2517 | </option> | 2493 | </option> |
2518 | <option default="true" name="Cancel"> | 2494 | <option default="true" name="Cancel"> |
2519 | Cancel | 2495 | Cancel |
@@ -2523,10 +2499,10 @@ non all land but his/her own? | |||
2523 | <message name="message"> | 2499 | <message name="message"> |
2524 | Are you sure you want to return ALL scripted objects owned by | 2500 | Are you sure you want to return ALL scripted objects owned by |
2525 | ** [USER_NAME] ** | 2501 | ** [USER_NAME] ** |
2526 | non ALL LAND in this region? | 2502 | on ALL LAND in this region? |
2527 | </message> | 2503 | </message> |
2528 | <option name="Return"> | 2504 | <option name="Return"> |
2529 | Return | 2505 | OK |
2530 | </option> | 2506 | </option> |
2531 | <option default="true" name="Cancel"> | 2507 | <option default="true" name="Cancel"> |
2532 | Cancel | 2508 | Cancel |
@@ -2534,38 +2510,38 @@ non ALL LAND in this region? | |||
2534 | </alert> | 2510 | </alert> |
2535 | <alert modal="true" name="InvalidTerrainBitDepth"> | 2511 | <alert modal="true" name="InvalidTerrainBitDepth"> |
2536 | <message name="message"> | 2512 | <message name="message"> |
2537 | Couldn't set region textures: | 2513 | Couldn't set region textures: |
2538 | 2514 | ||
2539 | Terrain texture [TEXTURE_NUM] has an invalid bit depth of [TEXTURE_BIT_DEPTH]. | 2515 | Terrain texture [TEXTURE_NUM] has an invalid bit depth of [TEXTURE_BIT_DEPTH]. |
2540 | 2516 | ||
2541 | Replace texture [TEXTURE_NUM] with a 24 bit 512x512 or smaller image | 2517 | Replace texture [TEXTURE_NUM] with a 24-bit 512x512 or smaller image |
2542 | then click "Set" again. | 2518 | then click "Apply" again. |
2543 | </message> | 2519 | </message> |
2544 | </alert> | 2520 | </alert> |
2545 | <alert modal="true" name="InvalidTerrainSize"> | 2521 | <alert modal="true" name="InvalidTerrainSize"> |
2546 | <message name="message"> | 2522 | <message name="message"> |
2547 | Couldn't set region textures: | 2523 | Couldn't set region textures: |
2548 | 2524 | ||
2549 | Terrain texture [TEXTURE_NUM] is too large at [TEXTURE_SIZE_X]x[TEXTURE_SIZE_Y]. | 2525 | Terrain texture [TEXTURE_NUM] is too large at [TEXTURE_SIZE_X]x[TEXTURE_SIZE_Y]. |
2550 | 2526 | ||
2551 | Replace texture [TEXTURE_NUM] with a 24 bit 512x512 or smaller image | 2527 | Replace texture [TEXTURE_NUM] with a 24-bit 512x512 or smaller image |
2552 | then click "Set" again. | 2528 | then click "Apply" again. |
2553 | </message> | 2529 | </message> |
2554 | </alert> | 2530 | </alert> |
2555 | <alert modal="true" name="RawUploadStarted"> | 2531 | <alert modal="true" name="RawUploadStarted"> |
2556 | <message name="message"> | 2532 | <message name="message"> |
2557 | Upload started. It may take up to two minutes, | 2533 | Upload started. It may take up to two minutes, |
2558 | depending on your connection speed. | 2534 | depending on your connection speed. |
2559 | </message> | 2535 | </message> |
2560 | </alert> | 2536 | </alert> |
2561 | <alert modal="true" name="ConfirmBakeTerrain"> | 2537 | <alert modal="true" name="ConfirmBakeTerrain"> |
2562 | <message name="message"> | 2538 | <message name="message"> |
2563 | Do you really want to bake the current terrain, | 2539 | Do you really want to bake the current terrain, |
2564 | make it the center for terrain raise/lower limits | 2540 | make it the center for terrain raise/lower limits |
2565 | and the default for the 'Revert' tool? | 2541 | and the default for the 'Revert' tool? |
2566 | </message> | 2542 | </message> |
2567 | <option name="Bake"> | 2543 | <option name="Bake"> |
2568 | Bake | 2544 | OK |
2569 | </option> | 2545 | </option> |
2570 | <option name="Cancel"> | 2546 | <option name="Cancel"> |
2571 | Cancel | 2547 | Cancel |
@@ -2573,12 +2549,12 @@ and the default for the 'Revert' tool? | |||
2573 | </alert> | 2549 | </alert> |
2574 | <alert modal="true" name="MaxAllowedAgentOnRegion"> | 2550 | <alert modal="true" name="MaxAllowedAgentOnRegion"> |
2575 | <message name="message"> | 2551 | <message name="message"> |
2576 | You can only have [MAX_AGENTS] allowed residents. | 2552 | You can only have [MAX_AGENTS] Allowed Residents. |
2577 | </message> | 2553 | </message> |
2578 | </alert> | 2554 | </alert> |
2579 | <alert modal="true" name="MaxAllowedGroupsOnRegion"> | 2555 | <alert modal="true" name="MaxAllowedGroupsOnRegion"> |
2580 | <message name="message"> | 2556 | <message name="message"> |
2581 | You can only have [MAX_GROUPS] allowed groups. | 2557 | You can only have [MAX_GROUPS] Allowed Groups. |
2582 | </message> | 2558 | </message> |
2583 | <option name="Bake"> | 2559 | <option name="Bake"> |
2584 | Bake | 2560 | Bake |
@@ -2589,17 +2565,17 @@ and the default for the 'Revert' tool? | |||
2589 | </alert> | 2565 | </alert> |
2590 | <alert modal="true" name="MaxBannedAgentsOnRegion"> | 2566 | <alert modal="true" name="MaxBannedAgentsOnRegion"> |
2591 | <message name="message"> | 2567 | <message name="message"> |
2592 | You can only have [MAX_BANNED] banned residents. | 2568 | You can only have [MAX_BANNED] Banned Residents. |
2593 | </message> | 2569 | </message> |
2594 | </alert> | 2570 | </alert> |
2595 | <alert modal="true" name="MaxManagersOnRegion"> | 2571 | <alert modal="true" name="MaxManagersOnRegion"> |
2596 | <message name="message"> | 2572 | <message name="message"> |
2597 | You can only have [MAX_MANAGER] banned residents. | 2573 | You can only have [MAX_MANAGER] Banned Residents. |
2598 | </message> | 2574 | </message> |
2599 | </alert> | 2575 | </alert> |
2600 | <alert modal="true" name="OwnerCanNotBeDenied"> | 2576 | <alert modal="true" name="OwnerCanNotBeDenied"> |
2601 | <message name="message"> | 2577 | <message name="message"> |
2602 | Can't add estate owner to estate 'Access denied' list. | 2578 | Can't add estate owner to estate 'Banned Resident' list. |
2603 | </message> | 2579 | </message> |
2604 | </alert> | 2580 | </alert> |
2605 | <alert modal="true" name="CanNotChangeAppearanceUntilLoaded"> | 2581 | <alert modal="true" name="CanNotChangeAppearanceUntilLoaded"> |
@@ -2609,28 +2585,28 @@ and the default for the 'Revert' tool? | |||
2609 | </alert> | 2585 | </alert> |
2610 | <alert modal="true" name="ClassifiedMustBeAlphanumeric"> | 2586 | <alert modal="true" name="ClassifiedMustBeAlphanumeric"> |
2611 | <message name="message"> | 2587 | <message name="message"> |
2612 | The name of your classified must start with a letter | 2588 | The name of your classified must start with a letter |
2613 | from A to Z or a number. No punctuation is allowed. | 2589 | from A to Z or a number. No punctuation is allowed. |
2614 | </message> | 2590 | </message> |
2615 | </alert> | 2591 | </alert> |
2616 | <alert modal="true" name="CantSetBuyObject"> | 2592 | <alert modal="true" name="CantSetBuyObject"> |
2617 | <message name="message"> | 2593 | <message name="message"> |
2618 | Can't set Buy Object, because the object is not for sale. | 2594 | Can't set Buy Object, because the object is not for sale. |
2619 | Please set the object for sale and try again. | 2595 | Please set the object for sale and try again. |
2620 | </message> | 2596 | </message> |
2621 | </alert> | 2597 | </alert> |
2622 | <alert modal="true" name="FinishedRawDownload"> | 2598 | <alert modal="true" name="FinishedRawDownload"> |
2623 | <message name="message"> | 2599 | <message name="message"> |
2624 | Finished download of raw terrain file to: | 2600 | Finished download of raw terrain file to: |
2625 | [DOWNLOAD_PATH] | 2601 | [DOWNLOAD_PATH]. |
2626 | </message> | 2602 | </message> |
2627 | </alert> | 2603 | </alert> |
2628 | <alert modal="true" name="DownloadWindowsMandatory"> | 2604 | <alert modal="true" name="DownloadWindowsMandatory"> |
2629 | <message name="message"> | 2605 | <message name="message"> |
2630 | A new version of [SECOND_LIFE] is available. | 2606 | A new version of [SECOND_LIFE] is available. |
2631 | [MESSAGE] | 2607 | [MESSAGE] |
2632 | 2608 | ||
2633 | You must download this update to use the system. | 2609 | You must download this update to use [SECOND_LIFE]. |
2634 | </message> | 2610 | </message> |
2635 | <option name="Download"> | 2611 | <option name="Download"> |
2636 | Download | 2612 | Download |
@@ -2643,7 +2619,7 @@ You must download this update to use the system. | |||
2643 | <message name="message"> | 2619 | <message name="message"> |
2644 | An updated version of [SECOND_LIFE] is available. | 2620 | An updated version of [SECOND_LIFE] is available. |
2645 | [MESSAGE] | 2621 | [MESSAGE] |
2646 | 2622 | ||
2647 | This update is not required, but we suggest you install it to improve performance and stability. | 2623 | This update is not required, but we suggest you install it to improve performance and stability. |
2648 | </message> | 2624 | </message> |
2649 | <option name="Download"> | 2625 | <option name="Download"> |
@@ -2657,7 +2633,7 @@ This update is not required, but we suggest you install it to improve performanc | |||
2657 | <message name="message"> | 2633 | <message name="message"> |
2658 | An updated version of [SECOND_LIFE] is available. | 2634 | An updated version of [SECOND_LIFE] is available. |
2659 | [MESSAGE] | 2635 | [MESSAGE] |
2660 | 2636 | ||
2661 | This update is not required, but we suggest you install it to improve performance and stability. | 2637 | This update is not required, but we suggest you install it to improve performance and stability. |
2662 | </message> | 2638 | </message> |
2663 | <option name="Download"> | 2639 | <option name="Download"> |
@@ -2672,8 +2648,8 @@ This update is not required, but we suggest you install it to improve performanc | |||
2672 | A new version of [SECOND_LIFE] is available. | 2648 | A new version of [SECOND_LIFE] is available. |
2673 | [MESSAGE] | 2649 | [MESSAGE] |
2674 | 2650 | ||
2675 | You must download this update to use the system. | 2651 | You must download this update to use [SECOND_LIFE]. |
2676 | 2652 | ||
2677 | Download to your Applications folder? | 2653 | Download to your Applications folder? |
2678 | </message> | 2654 | </message> |
2679 | <option name="Download"> | 2655 | <option name="Download"> |
@@ -2687,9 +2663,9 @@ Download to your Applications folder? | |||
2687 | <message name="message"> | 2663 | <message name="message"> |
2688 | An updated version of [SECOND_LIFE] is available. | 2664 | An updated version of [SECOND_LIFE] is available. |
2689 | [MESSAGE] | 2665 | [MESSAGE] |
2690 | 2666 | ||
2691 | This update is not required, but we suggest you install it to improve performance and stability. | 2667 | This update is not required, but we suggest you install it to improve performance and stability. |
2692 | 2668 | ||
2693 | Download to your Applications folder? | 2669 | Download to your Applications folder? |
2694 | </message> | 2670 | </message> |
2695 | <option name="Download"> | 2671 | <option name="Download"> |
@@ -2703,9 +2679,9 @@ Download to your Applications folder? | |||
2703 | <message name="message"> | 2679 | <message name="message"> |
2704 | An updated version of [SECOND_LIFE] is available. | 2680 | An updated version of [SECOND_LIFE] is available. |
2705 | [MESSAGE] | 2681 | [MESSAGE] |
2706 | 2682 | ||
2707 | This update is not required, but we suggest you install it to improve performance and stability. | 2683 | This update is not required, but we suggest you install it to improve performance and stability. |
2708 | 2684 | ||
2709 | Download to your Applications folder? | 2685 | Download to your Applications folder? |
2710 | </message> | 2686 | </message> |
2711 | <option name="Download"> | 2687 | <option name="Download"> |
@@ -2718,7 +2694,7 @@ Download to your Applications folder? | |||
2718 | <alert modal="true" name="DeedObjectToGroup"> | 2694 | <alert modal="true" name="DeedObjectToGroup"> |
2719 | <message name="message"> | 2695 | <message name="message"> |
2720 | Deeding this object will cause the group to: | 2696 | Deeding this object will cause the group to: |
2721 | * Receive money paid into the object | 2697 | * Receive L$ paid into the object |
2722 | </message> | 2698 | </message> |
2723 | <ignore> | 2699 | <ignore> |
2724 | When deeding objects to groups | 2700 | When deeding objects to groups |
@@ -2734,10 +2710,10 @@ Download to your Applications folder? | |||
2734 | <message name="message"> | 2710 | <message name="message"> |
2735 | Classified ads appear in the 'Classified' section of the | 2711 | Classified ads appear in the 'Classified' section of the |
2736 | Find directory for one week. | 2712 | Find directory for one week. |
2737 | 2713 | ||
2738 | Fill out your ad, then click 'Publish...' to add it to the | 2714 | Fill out your ad, then click 'Publish...' to add it to the |
2739 | directory. | 2715 | directory. |
2740 | 2716 | ||
2741 | You'll be asked for a price to pay when clicking Publish. | 2717 | You'll be asked for a price to pay when clicking Publish. |
2742 | Paying more makes your ad appear higher in the list, and | 2718 | Paying more makes your ad appear higher in the list, and |
2743 | also appear higher when people search for keywords. | 2719 | also appear higher when people search for keywords. |
@@ -2774,7 +2750,7 @@ also appear higher when people search for keywords. | |||
2774 | When launching web browser to view the Bug Reporting 101 Wiki | 2750 | When launching web browser to view the Bug Reporting 101 Wiki |
2775 | </ignore> | 2751 | </ignore> |
2776 | <option name="Gotopage"> | 2752 | <option name="Gotopage"> |
2777 | Go to page | 2753 | OK |
2778 | </option> | 2754 | </option> |
2779 | <option name="Cancel"> | 2755 | <option name="Cancel"> |
2780 | Cancel | 2756 | Cancel |
@@ -2788,7 +2764,7 @@ also appear higher when people search for keywords. | |||
2788 | When launching web browser to view Security Issues Wiki | 2764 | When launching web browser to view Security Issues Wiki |
2789 | </ignore> | 2765 | </ignore> |
2790 | <option name="Gotopage"> | 2766 | <option name="Gotopage"> |
2791 | Go to page | 2767 | OK |
2792 | </option> | 2768 | </option> |
2793 | <option name="Cancel"> | 2769 | <option name="Cancel"> |
2794 | Cancel | 2770 | Cancel |
@@ -2830,7 +2806,7 @@ also appear higher when people search for keywords. | |||
2830 | When launching web browser to view the knowledge base | 2806 | When launching web browser to view the knowledge base |
2831 | </ignore> | 2807 | </ignore> |
2832 | <option name="Gotopage"> | 2808 | <option name="Gotopage"> |
2833 | Go to page | 2809 | OK |
2834 | </option> | 2810 | </option> |
2835 | <option name="Cancel"> | 2811 | <option name="Cancel"> |
2836 | Cancel | 2812 | Cancel |
@@ -2844,7 +2820,7 @@ also appear higher when people search for keywords. | |||
2844 | When launching web browser to contact support | 2820 | When launching web browser to contact support |
2845 | </ignore> | 2821 | </ignore> |
2846 | <option name="Gotopage"> | 2822 | <option name="Gotopage"> |
2847 | Go to page | 2823 | OK |
2848 | </option> | 2824 | </option> |
2849 | <option name="Cancel"> | 2825 | <option name="Cancel"> |
2850 | Cancel | 2826 | Cancel |
@@ -2858,7 +2834,7 @@ also appear higher when people search for keywords. | |||
2858 | When launching web browser to view the blog | 2834 | When launching web browser to view the blog |
2859 | </ignore> | 2835 | </ignore> |
2860 | <option name="Gotopage"> | 2836 | <option name="Gotopage"> |
2861 | Go to page | 2837 | OK |
2862 | </option> | 2838 | </option> |
2863 | <option name="Cancel"> | 2839 | <option name="Cancel"> |
2864 | Cancel | 2840 | Cancel |
@@ -2866,13 +2842,13 @@ also appear higher when people search for keywords. | |||
2866 | </alert> | 2842 | </alert> |
2867 | <alert modal="true" name="WebLaunchLSLGuide"> | 2843 | <alert modal="true" name="WebLaunchLSLGuide"> |
2868 | <message name="message"> | 2844 | <message name="message"> |
2869 | Go to the LSL Guide for scripting help? | 2845 | Go to the Scripting Guide for scripting help? |
2870 | </message> | 2846 | </message> |
2871 | <ignore> | 2847 | <ignore> |
2872 | When launching web browser to view the LSL Guide | 2848 | When launching web browser to view the Scripting Guide |
2873 | </ignore> | 2849 | </ignore> |
2874 | <option name="Gotopage"> | 2850 | <option name="Gotopage"> |
2875 | Go to page | 2851 | OK |
2876 | </option> | 2852 | </option> |
2877 | <option name="Cancel"> | 2853 | <option name="Cancel"> |
2878 | Cancel | 2854 | Cancel |
@@ -2900,7 +2876,7 @@ also appear higher when people search for keywords. | |||
2900 | When launching web browser to view the Release Notes | 2876 | When launching web browser to view the Release Notes |
2901 | </ignore> | 2877 | </ignore> |
2902 | <option name="Gotopage"> | 2878 | <option name="Gotopage"> |
2903 | Go to page | 2879 | OK |
2904 | </option> | 2880 | </option> |
2905 | <option name="Cancel"> | 2881 | <option name="Cancel"> |
2906 | Cancel | 2882 | Cancel |
@@ -2911,15 +2887,14 @@ also appear higher when people search for keywords. | |||
2911 | Are you sure you want to return the selected | 2887 | Are you sure you want to return the selected |
2912 | objects to their owners? Transferable deeded | 2888 | objects to their owners? Transferable deeded |
2913 | objects will be returned to their previous owners. | 2889 | objects will be returned to their previous owners. |
2914 | (All objects returned will return to the folder they were last in.) | 2890 | |
2915 | |||
2916 | *WARNING* No-transfer deeded objects will be deleted! | 2891 | *WARNING* No-transfer deeded objects will be deleted! |
2917 | </message> | 2892 | </message> |
2918 | <ignore> | 2893 | <ignore> |
2919 | When returning objects to their owners | 2894 | When returning objects to their owners |
2920 | </ignore> | 2895 | </ignore> |
2921 | <option name="Return"> | 2896 | <option name="Return"> |
2922 | Return | 2897 | OK |
2923 | </option> | 2898 | </option> |
2924 | <option name="Cancel"> | 2899 | <option name="Cancel"> |
2925 | Cancel | 2900 | Cancel |
@@ -2933,7 +2908,7 @@ objects will be returned to their previous owners. | |||
2933 | When viewing the release notes | 2908 | When viewing the release notes |
2934 | </ignore> | 2909 | </ignore> |
2935 | <option name="Gotopage"> | 2910 | <option name="Gotopage"> |
2936 | Go to page | 2911 | OK |
2937 | </option> | 2912 | </option> |
2938 | <option name="Cancel"> | 2913 | <option name="Cancel"> |
2939 | Cancel | 2914 | Cancel |
@@ -2945,7 +2920,7 @@ objects will be returned to their previous owners. | |||
2945 | Leave Group? | 2920 | Leave Group? |
2946 | </message> | 2921 | </message> |
2947 | <option name="Leave"> | 2922 | <option name="Leave"> |
2948 | Leave | 2923 | OK |
2949 | </option> | 2924 | </option> |
2950 | <option name="Cancel"> | 2925 | <option name="Cancel"> |
2951 | Cancel | 2926 | Cancel |
@@ -2957,7 +2932,7 @@ Leave Group? | |||
2957 | Leave Group? | 2932 | Leave Group? |
2958 | </message> | 2933 | </message> |
2959 | <option name="Leave"> | 2934 | <option name="Leave"> |
2960 | Leave | 2935 | OK |
2961 | </option> | 2936 | </option> |
2962 | <option name="Cancel"> | 2937 | <option name="Cancel"> |
2963 | Cancel | 2938 | Cancel |
@@ -2978,7 +2953,7 @@ Leave Group? | |||
2978 | </alert> | 2953 | </alert> |
2979 | <alert modal="true" name="MuteByName" title="Mute object by name"> | 2954 | <alert modal="true" name="MuteByName" title="Mute object by name"> |
2980 | <message name="message"> | 2955 | <message name="message"> |
2981 | Mute by name only affects object chat and IM, not sounds. | 2956 | Mute by name only affects object chat and IM, not sounds. |
2982 | You must type the object's name exactly. | 2957 | You must type the object's name exactly. |
2983 | </message> | 2958 | </message> |
2984 | <editline> | 2959 | <editline> |
@@ -3001,14 +2976,14 @@ You must type the object's name exactly. | |||
3001 | </alert> | 2976 | </alert> |
3002 | <alert name="RemoveItemWarn"> | 2977 | <alert name="RemoveItemWarn"> |
3003 | <message name="message"> | 2978 | <message name="message"> |
3004 | Though permitted, deleting inventory may damage the | 2979 | Though permitted, deleting contents may damage the |
3005 | object. Do you want to delete that inventory item? | 2980 | object. Do you want to delete that item? |
3006 | </message> | 2981 | </message> |
3007 | <option name="Yes"> | 2982 | <option name="Yes"> |
3008 | Yes | 2983 | OK |
3009 | </option> | 2984 | </option> |
3010 | <option default="true" name="No"> | 2985 | <option default="true" name="No"> |
3011 | No | 2986 | Cancel |
3012 | </option> | 2987 | </option> |
3013 | </alert> | 2988 | </alert> |
3014 | <alert name="CantRateOwnedByGroup"> | 2989 | <alert name="CantRateOwnedByGroup"> |
@@ -3038,7 +3013,6 @@ object. Do you want to delete that inventory item? | |||
3038 | <alert name="CantSetHome"> | 3013 | <alert name="CantSetHome"> |
3039 | <message name="message"> | 3014 | <message name="message"> |
3040 | Can't set home to here. | 3015 | Can't set home to here. |
3041 | Your home must be on land you or your group owns. | ||
3042 | </message> | 3016 | </message> |
3043 | <option name="OK"> | 3017 | <option name="OK"> |
3044 | OK | 3018 | OK |
@@ -3048,7 +3022,7 @@ Your home must be on land you or your group owns. | |||
3048 | <message name="message"> | 3022 | <message name="message"> |
3049 | Busy mode set. | 3023 | Busy mode set. |
3050 | Chat and instant messages will be hidden. Instant | 3024 | Chat and instant messages will be hidden. Instant |
3051 | messages will get your busy reply. All teleportation | 3025 | messages will get your Busy mode response. All teleportation |
3052 | and inventory offers will be declined. | 3026 | and inventory offers will be declined. |
3053 | </message> | 3027 | </message> |
3054 | <ignore> | 3028 | <ignore> |
@@ -3220,17 +3194,17 @@ sent to everyone currently in your estate. | |||
3220 | </alert> | 3194 | </alert> |
3221 | <alert name="ChangeLindenEstate" title="Change Linden Estate"> | 3195 | <alert name="ChangeLindenEstate" title="Change Linden Estate"> |
3222 | <message name="message"> | 3196 | <message name="message"> |
3223 | You are about to change a Linden owned estate (mainland, | 3197 | You are about to change a Linden owned estate (mainland, |
3224 | teen grid, orientation, etc.). | 3198 | teen grid, orientation, etc.). |
3225 | 3199 | ||
3226 | This is EXTREMELY DANGEROUS because it can fundamentally | 3200 | This is EXTREMELY DANGEROUS because it can fundamentally |
3227 | affect the user experience. On the mainland, it will change | 3201 | affect the user experience. On the mainland, it will change |
3228 | thousands of regions and make the spaceserver hiccup. | 3202 | thousands of regions and make the spaceserver hiccup. |
3229 | 3203 | ||
3230 | Proceed? | 3204 | Proceed? |
3231 | </message> | 3205 | </message> |
3232 | <option name="ChangeEstate"> | 3206 | <option name="ChangeEstate"> |
3233 | Change Estate | 3207 | OK |
3234 | </option> | 3208 | </option> |
3235 | <option name="Cancel"> | 3209 | <option name="Cancel"> |
3236 | Cancel | 3210 | Cancel |
@@ -3238,20 +3212,18 @@ Proceed? | |||
3238 | </alert> | 3212 | </alert> |
3239 | <alert name="ChangeLindenAccess" title="Change Linden Estate Access"> | 3213 | <alert name="ChangeLindenAccess" title="Change Linden Estate Access"> |
3240 | <message name="message"> | 3214 | <message name="message"> |
3241 | You are about to change the access list for a Linden owned | 3215 | You are about to change the access list for a Linden owned |
3242 | estate (mainland, teen grid, orientation, etc.). | 3216 | estate (mainland, teen grid, orientation, etc.). |
3243 | 3217 | ||
3244 | This is DANGEROUS and should only be done to invoke the | 3218 | This is DANGEROUS and should only be done to invoke the |
3245 | hack allowing objects/money to be transfered in/out of | 3219 | hack allowing objects/L$ to be transfered in/out of |
3246 | a grid. | 3220 | a grid. |
3247 | 3221 | ||
3248 | It will change thousands of regions and make the | 3222 | It will change thousands of regions and make the |
3249 | spaceserver hiccup. | 3223 | spaceserver hiccup. |
3250 | |||
3251 | Proceed? | ||
3252 | </message> | 3224 | </message> |
3253 | <option name="ChangeEstate"> | 3225 | <option name="ChangeEstate"> |
3254 | Change Estate | 3226 | OK |
3255 | </option> | 3227 | </option> |
3256 | <option name="Cancel"> | 3228 | <option name="Cancel"> |
3257 | Cancel | 3229 | Cancel |
@@ -3329,7 +3301,7 @@ Proceed? | |||
3329 | </alert> | 3301 | </alert> |
3330 | <alert name="EstateBannedAgentRemove" title="Select estate"> | 3302 | <alert name="EstateBannedAgentRemove" title="Select estate"> |
3331 | <message name="message"> | 3303 | <message name="message"> |
3332 | Stop denying access for this estate only or for [ALL_ESTATES]? | 3304 | Remove this Resident from the ban list for access for this estate only or for [ALL_ESTATES]? |
3333 | </message> | 3305 | </message> |
3334 | <option name="ThisEstate"> | 3306 | <option name="ThisEstate"> |
3335 | This Estate | 3307 | This Estate |
@@ -3343,7 +3315,7 @@ Proceed? | |||
3343 | </alert> | 3315 | </alert> |
3344 | <alert name="EstateManagerAdd" title="Select estate"> | 3316 | <alert name="EstateManagerAdd" title="Select estate"> |
3345 | <message name="message"> | 3317 | <message name="message"> |
3346 | Add estate manager for this estate only or for all your estates? | 3318 | Add estate manager for this estate only or for [ALL_ESTATES]? |
3347 | </message> | 3319 | </message> |
3348 | <option name="ThisEstate"> | 3320 | <option name="ThisEstate"> |
3349 | This Estate | 3321 | This Estate |
@@ -3357,7 +3329,7 @@ Proceed? | |||
3357 | </alert> | 3329 | </alert> |
3358 | <alert name="EstateManagerRemove" title="Select estate"> | 3330 | <alert name="EstateManagerRemove" title="Select estate"> |
3359 | <message name="message"> | 3331 | <message name="message"> |
3360 | Remove estate manager for this estate only or for all your estates? | 3332 | Remove estate manager for this estate only or for [ALL_ESTATES]? |
3361 | </message> | 3333 | </message> |
3362 | <option name="ThisEstate"> | 3334 | <option name="ThisEstate"> |
3363 | This Estate | 3335 | This Estate |
@@ -3388,7 +3360,7 @@ Proceed? | |||
3388 | Kick [EVIL_USER] from this estate? | 3360 | Kick [EVIL_USER] from this estate? |
3389 | </message> | 3361 | </message> |
3390 | <option name="Kick"> | 3362 | <option name="Kick"> |
3391 | Kick | 3363 | OK |
3392 | </option> | 3364 | </option> |
3393 | <option name="Cancel"> | 3365 | <option name="Cancel"> |
3394 | Cancel | 3366 | Cancel |
@@ -3399,7 +3371,7 @@ Proceed? | |||
3399 | Are you sure you want to change the Estate Covenant? | 3371 | Are you sure you want to change the Estate Covenant? |
3400 | </message> | 3372 | </message> |
3401 | <option name="Change"> | 3373 | <option name="Change"> |
3402 | Change | 3374 | OK |
3403 | </option> | 3375 | </option> |
3404 | <option name="Cancel"> | 3376 | <option name="Cancel"> |
3405 | Cancel | 3377 | Cancel |
@@ -3440,11 +3412,11 @@ Proceed? | |||
3440 | <alert name="PublishClassified"> | 3412 | <alert name="PublishClassified"> |
3441 | <message name="message"> | 3413 | <message name="message"> |
3442 | Remember: Classified ad fees are non-refundable. | 3414 | Remember: Classified ad fees are non-refundable. |
3443 | 3415 | ||
3444 | Publish this classified now for L$[AMOUNT]? | 3416 | Publish this classified now for L$[AMOUNT]? |
3445 | </message> | 3417 | </message> |
3446 | <option name="Publish"> | 3418 | <option name="Publish"> |
3447 | Publish | 3419 | OK |
3448 | </option> | 3420 | </option> |
3449 | <option name="Cancel"> | 3421 | <option name="Cancel"> |
3450 | Cancel | 3422 | Cancel |
@@ -3455,7 +3427,7 @@ Publish this classified now for L$[AMOUNT]? | |||
3455 | Do you really want to restart this region in 2 minutes? | 3427 | Do you really want to restart this region in 2 minutes? |
3456 | </message> | 3428 | </message> |
3457 | <option name="Restart"> | 3429 | <option name="Restart"> |
3458 | Restart | 3430 | OK |
3459 | </option> | 3431 | </option> |
3460 | <option name="Cancel"> | 3432 | <option name="Cancel"> |
3461 | Cancel | 3433 | Cancel |
@@ -3478,7 +3450,7 @@ sent to everyone in this region. | |||
3478 | <message name="message"> | 3450 | <message name="message"> |
3479 | If this box is checked, land owners will not be able to terraform | 3451 | If this box is checked, land owners will not be able to terraform |
3480 | their land regardless of the per-parcel 'Edit Terrain' setting. | 3452 | their land regardless of the per-parcel 'Edit Terrain' setting. |
3481 | 3453 | ||
3482 | Default: off | 3454 | Default: off |
3483 | </message> | 3455 | </message> |
3484 | </alert> | 3456 | </alert> |
@@ -3486,106 +3458,103 @@ Default: off | |||
3486 | <message name="message"> | 3458 | <message name="message"> |
3487 | If this box is checked, people will not be able to fly in this region | 3459 | If this box is checked, people will not be able to fly in this region |
3488 | regardless of the per-parcel 'Fly' setting. | 3460 | regardless of the per-parcel 'Fly' setting. |
3489 | 3461 | ||
3490 | Default: off | 3462 | Default: off |
3491 | </message> | 3463 | </message> |
3492 | </alert> | 3464 | </alert> |
3493 | <alert modal="true" name="HelpRegionAllowDamage" title="Allow Damange"> | 3465 | <alert modal="true" name="HelpRegionAllowDamage" title="Allow Damange"> |
3494 | <message name="message"> | 3466 | <message name="message"> |
3495 | Checking this box enables the health system across all parcels | 3467 | If this box is checked, the health system across all parcels |
3496 | regardless of individual parcel settings. If this box is left | 3468 | regardless of individual parcel settings. If this box is left |
3497 | unchecked, individual parcel owners will still be able to | 3469 | unchecked, individual parcel owners will still be able to |
3498 | activate the health system on their parcels. | 3470 | activate the health system on their parcels. |
3499 | 3471 | ||
3500 | Default: off | 3472 | Default: off |
3501 | </message> | 3473 | </message> |
3502 | </alert> | 3474 | </alert> |
3503 | <alert modal="true" name="HelpRegionAgentLimit" title="Agent Limit"> | 3475 | <alert modal="true" name="HelpRegionAgentLimit" title="Agent Limit"> |
3504 | <message name="message"> | 3476 | <message name="message"> |
3505 | Sets the maximum number of avatars allowed in this region. | 3477 | Sets the maximum number of avatars allowed in this region. |
3506 | Note that the more avatars you have in one region, the worse | 3478 | Performance may vary depending on the |
3507 | the performance can be. | 3479 | number avatars present. |
3508 | 3480 | ||
3509 | Default: 30 | 3481 | Default: 40 |
3510 | </message> | 3482 | </message> |
3511 | </alert> | 3483 | </alert> |
3512 | <alert modal="true" name="HelpRegionObjectBonus" title="Object Bonus"> | 3484 | <alert modal="true" name="HelpRegionObjectBonus" title="Object Bonus"> |
3513 | <message name="message"> | 3485 | <message name="message"> |
3514 | The Object Bonus is a multiplier for primitives allowed on any given | 3486 | The Object Bonus is a multiplier for primitives allowed on any given |
3515 | parcel. The range allowed is 1 to 10. Set at '1' each 512m2 parcel | 3487 | parcel. The range allowed is 1 to 10. Set at '1', each 512m2 parcel |
3516 | would be allowed 117 objects. Set at '2' each 512m2 parcel would be | 3488 | is allowed 117 objects. Set at '2', each 512m2 parcel is |
3517 | allowed 234, or twice as many, and so on. The max number of objects | 3489 | allowed 234, or twice as many, and so on. The max number of objects |
3518 | allowed per region remains 15,000 no matter what the value set for | 3490 | allowed per region remains 15,000 no matter what the |
3519 | Object Bonus. Once this value is set, it should not be lowered until | 3491 | Object Bonus is. once set, be aware that lowering the Object Bonus may cause |
3520 | you are certain that changing it will not force return or deletion of | 3492 | objects to be returned or deleted. |
3521 | the objects currently on parcels. | 3493 | |
3522 | |||
3523 | Default: 1.0 | 3494 | Default: 1.0 |
3524 | </message> | 3495 | </message> |
3525 | </alert> | 3496 | </alert> |
3526 | <alert modal="true" name="HelpRegionMaturity" title="Maturity"> | 3497 | <alert modal="true" name="HelpRegionMaturity" title="Maturity"> |
3527 | <message name="message"> | 3498 | <message name="message"> |
3528 | Sets the maturity of the region, as shown in the upper right hand | 3499 | Sets the maturity of the region, as shown at the top |
3529 | corner of the screen and in pop-up tips on the map. Maturity | 3500 | of the screen and in pop-up tips on the map. This setting |
3530 | also affects search results - residents can choose not to find | 3501 | also affects search results - Residents can choose not to find |
3531 | content in Mature regions. | 3502 | content in Mature regions. |
3532 | 3503 | ||
3533 | The pop-up tips on the map will not change for 5 minutes, because | 3504 | It may take some time for this change to be reflected |
3534 | the system only updates map information periodically. | 3505 | on the map. |
3535 | 3506 | ||
3536 | Default: PG | 3507 | Default: PG |
3537 | </message> | 3508 | </message> |
3538 | </alert> | 3509 | </alert> |
3539 | <alert modal="true" name="HelpRegionRestrictPushObject" title="Restrict Pushing"> | 3510 | <alert modal="true" name="HelpRegionRestrictPushObject" title="Restrict Pushing"> |
3540 | <message name="message"> | 3511 | <message name="message"> |
3541 | Sets the full region to restricted push permissions. | 3512 | This checkbox sets the full region to restricted push permissions. |
3542 | Agents may only push themselves, or be pushed by scripts owned by | 3513 | When enabled, Residents may only be pushed by themselves |
3543 | the owner of a parcel, or that are set to the group of the parcel, | 3514 | or by the parcel's owner. |
3544 | assuming the parcel has a group set/deeded. | 3515 | (Push refers to the llPushObject() LSL function.) |
3545 | Push refers to the llPushObject() LSL function. | 3516 | |
3546 | |||
3547 | Default: Off | 3517 | Default: Off |
3548 | </message> | 3518 | </message> |
3549 | </alert> | 3519 | </alert> |
3550 | <alert modal="true" name="HelpParcelChanges" title="Parcel Join/Subdivide"> | 3520 | <alert modal="true" name="HelpParcelChanges" title="Parcel Join/Subdivide"> |
3551 | <message name="message"> | 3521 | <message name="message"> |
3552 | Sets whether or not parcels not owned by the estate owner | 3522 | This checkbox sets whether or not parcels not owned by the estate owner |
3553 | can be joined or subdivided. | 3523 | can be joined or subdivided. |
3554 | If this option is unchecked: | 3524 | If this option is unchecked: |
3555 | * Only estate owners or managers can join or subdivide parcels. | 3525 | * Only estate owners or managers can join or subdivide parcels. |
3556 | * They may only join or subdivide parcels belonging to the owner, | 3526 | * They may only join or subdivide parcels belonging to the owner, |
3557 | or to a group where they have the appropriate group powers. | 3527 | or to a group where they have the appropriate group powers. |
3558 | If this option is checked: | 3528 | If this option is checked: |
3559 | * All parcel owners can join or subdivide the parcels they own. | 3529 | * All parcel owners can join or subdivide the parcels they own. |
3560 | * For group owned parcels, those with appropriate group powers | 3530 | * For group owned parcels, those with appropriate group powers |
3561 | may join or subdivide parcels. | 3531 | may join or subdivide parcels. |
3562 | 3532 | ||
3563 | Default: Checked | 3533 | Default: Checked |
3564 | </message> | 3534 | </message> |
3565 | </alert> | 3535 | </alert> |
3566 | <alert modal="true" name="RegionMaturityChange" title="Changed Region Maturity"> | 3536 | <alert modal="true" name="RegionMaturityChange" title="Changed Region Maturity"> |
3567 | <message name="message"> | 3537 | <message name="message"> |
3568 | The maturity rating for this region has been updated. | 3538 | The maturity rating for this region has been updated. |
3569 | 3539 | ||
3570 | The world map, however, will take approximately 5 minutes | 3540 | It may take some time for the change to be |
3571 | to update, because the system only updates map information | 3541 | reflected on the map. |
3572 | periodically. | ||
3573 | </message> | 3542 | </message> |
3574 | </alert> | 3543 | </alert> |
3575 | <alert modal="true" name="HelpRegionLandResell" title="Land Resale"> | 3544 | <alert modal="true" name="HelpRegionLandResell" title="Land Resale"> |
3576 | <message name="message"> | 3545 | <message name="message"> |
3577 | Estate owners and managers can sell any land owned by the estate owner. | 3546 | Estate owners and managers can sell any land owned by the estate owner. |
3578 | If this option is left unchecked, buyers cannot resell their land in this region. | 3547 | If this option is left unchecked, buyers cannot resell their land in this region. |
3579 | If this option is checked, buyers can resell their land in this region. | 3548 | If this option is checked, buyers can resell their land in this region. |
3580 | 3549 | ||
3581 | Default: Disallow | 3550 | Default: Disallow |
3582 | </message> | 3551 | </message> |
3583 | </alert> | 3552 | </alert> |
3584 | <alert modal="true" name="HelpEstateCovenantID" title="Covenant Asset ID"> | 3553 | <alert modal="true" name="HelpEstateCovenantID" title="Covenant Asset ID"> |
3585 | <message name="message"> | 3554 | <message name="message"> |
3586 | Sets the notecard asset ID for the Estate Covenant belonging to this | 3555 | Sets the notecard asset ID for the Estate Covenant belonging to this |
3587 | estate. | 3556 | estate. |
3588 | 3557 | ||
3589 | Default: 00000000-0000-0000-0000-000000000000 or none | 3558 | Default: 00000000-0000-0000-0000-000000000000 or none |
3590 | </message> | 3559 | </message> |
3591 | </alert> | 3560 | </alert> |
@@ -3593,292 +3562,282 @@ Default: 00000000-0000-0000-0000-000000000000 or none | |||
3593 | <message name="message"> | 3562 | <message name="message"> |
3594 | When sim performance is poor, a script may be to blame. Open the | 3563 | When sim performance is poor, a script may be to blame. Open the |
3595 | Statistics Bar (Ctrl-Shift-1). Look at the Simulator Physics FPS. | 3564 | Statistics Bar (Ctrl-Shift-1). Look at the Simulator Physics FPS. |
3596 | If it is lower than 45 then open the 'Time' panel located at the | 3565 | If it is lower than 45, open the Time panel located at the |
3597 | bottom of the Stats Bar. If Script Time reads 25 ms or higher, click | 3566 | bottom of the Stats Bar. If Script Time reads 25 ms or higher, click |
3598 | the 'Get Top Scripts' button. You will be given the name and location | 3567 | the Get Top Scripts button. You will be given the name and location |
3599 | of scripts that may be causing poor performance. | 3568 | of scripts that may be causing poor performance. |
3600 | 3569 | ||
3601 | Checking the 'Disable Scripts' box and then pressing the 'Apply' | 3570 | Checking the Disable Scripts box and then pressing the Apply |
3602 | button will temporarily disable all scripts in this region. You may | 3571 | button will temporarily disable all scripts in this region. You may |
3603 | need to do this in order to travel to the location of a noted | 3572 | need to do this in order to travel to the location of a noted |
3604 | 'top script'. Once you have arrived at the location, investigate the | 3573 | 'top script'. Once you have arrived at the location, investigate the |
3605 | script to determine if it is causing the problem. You may want to | 3574 | script to determine if it is causing the problem. You may want to |
3606 | contact the owner of the script or delete or return the object. | 3575 | contact the owner of the script or delete or return the object. |
3607 | Uncheck the 'Disable Script' box and then 'Apply' to reactivate | 3576 | Uncheck the Disable Script box and then Apply to reactivate |
3608 | the scripts in the region. | 3577 | the scripts in the region. |
3609 | 3578 | ||
3610 | Default: off | 3579 | Default: off |
3611 | </message> | 3580 | </message> |
3612 | </alert> | 3581 | </alert> |
3613 | <alert modal="true" name="HelpRegionDisableCollisions" title="Disable Collisions"> | 3582 | <alert modal="true" name="HelpRegionDisableCollisions" title="Disable Collisions"> |
3614 | <message name="message"> | 3583 | <message name="message"> |
3615 | When sim performance is poor, physical objects may be to blame. | 3584 | When sim performance is poor, physical objects may be to blame. |
3616 | Open the Statistics Bar (Ctrl-Shift-1). Look at the Simulator | 3585 | Open the Statistics Bar (Ctrl-Shift-1). Look at the Simulator |
3617 | Physics FPS. If it is lower than 45 then open the 'Time' panel | 3586 | Physics FPS. If it is lower than 45, open the Time panel |
3618 | located at the bottom of the Stats Bar. If Sim Time (Physics) | 3587 | located at the bottom of the Stats Bar. If Sim Time (Physics) |
3619 | reads 20 ms or higher, click the 'Get Top Colliders' button. | 3588 | reads 20 ms or higher, click the Get Top Colliders button. |
3620 | You will be given the name and location of physical objects | 3589 | You will be given the name and location of physical objects |
3621 | that may be causing poor performance. | 3590 | that may be causing poor performance. |
3622 | 3591 | ||
3623 | Checking the 'Disable Collisions' box and then pressing the 'Apply' | 3592 | Checking the Disable Collisions box and then pressing the Apply |
3624 | button will temporarily disable object-object collisions. You may | 3593 | button will temporarily disable object-object collisions. You may |
3625 | need to do this in order to travel to the location of a noted | 3594 | need to do this in order to travel to the location of a noted |
3626 | 'top collider'. Once you have arrived at the location, investigate the | 3595 | 'top collider'. Once you have arrived at the location, investigate the |
3627 | object - is it constantly colliding with other objects? You may want to | 3596 | object - is it constantly colliding with other objects? You may want to |
3628 | contact the owner of the object or delete or return the object. | 3597 | contact the owner of the object or delete or return the object. |
3629 | Uncheck the 'Disable Collisions' box and then 'Apply' to reactivate | 3598 | Uncheck the Disable Collisions box and then Applyto reactivate |
3630 | collisions in the region. | 3599 | collisions in the region. |
3631 | 3600 | ||
3632 | Default: off | 3601 | Default: off |
3633 | </message> | 3602 | </message> |
3634 | </alert> | 3603 | </alert> |
3635 | <alert modal="true" name="HelpRegionDisablePhysics" title="Disable Physics"> | 3604 | <alert modal="true" name="HelpRegionDisablePhysics" title="Disable Physics"> |
3636 | <message name="message"> | 3605 | <message name="message"> |
3637 | Disable Physics is similar to Disable Collisions, except all | 3606 | Disable Physics is similar to Disable Collisions, except all |
3638 | physics simulation is disabled. This means that not only will | 3607 | physics simulation is disabled. This means that not only will |
3639 | objects stop colliding, but avatars will be unable to move. | 3608 | objects stop colliding, but avatars will be unable to move. |
3640 | 3609 | ||
3641 | This should only be used when Disable Collisions does not | 3610 | This should only be used when Disable Collisions does not |
3642 | give back enough performance to the region to investigate | 3611 | give back enough performance to the region to investigate |
3643 | a physics problem or 'Top Collider'. | 3612 | a physics problem or Top Collider. |
3644 | 3613 | ||
3645 | Be sure to re-enable physics when you are done, or avatars | 3614 | Be sure to re-enable physics when you are done, or avatars |
3646 | will continue to be unable to move. | 3615 | will continue to be unable to move. |
3647 | 3616 | ||
3648 | Default: off | 3617 | Default: off |
3649 | </message> | 3618 | </message> |
3650 | </alert> | 3619 | </alert> |
3651 | <alert modal="true" name="HelpRegionTopColliders" title="Top Colliders"> | 3620 | <alert modal="true" name="HelpRegionTopColliders" title="Top Colliders"> |
3652 | <message name="message"> | 3621 | <message name="message"> |
3653 | Show a list of objects experiencing the greatest number | 3622 | Show a list of objects experiencing the greatest number |
3654 | of potential object-object collisions. These objects can | 3623 | of potential object-object collisions. These objects can |
3655 | slow sim performance. Select View > Statistics Bar and | 3624 | slow performance. Select View > Statistics Bar and |
3656 | look under Simulator > Time > Sim Time (Physics) to see | 3625 | look under Simulator > Time > Sim Time (Physics) to see |
3657 | if more than 20 ms is being spent in physics. | 3626 | if more than 20 ms is being spent in physics. |
3658 | </message> | 3627 | </message> |
3659 | </alert> | 3628 | </alert> |
3660 | <alert modal="true" name="HelpRegionTopScripts" title="Top Scripts"> | 3629 | <alert modal="true" name="HelpRegionTopScripts" title="Top Scripts"> |
3661 | <message name="message"> | 3630 | <message name="message"> |
3662 | Show a list of objects spending the most time running | 3631 | Show a list of objects spending the most time running |
3663 | LSL scripts. These objects can slow sim performance. | 3632 | LSL scripts. These objects can slow performance. |
3664 | Select View > Statistics Bar and look under | 3633 | Select View > Statistics Bar and look under |
3665 | Simulator > Time > Script Time to see if more than | 3634 | Simulator > Time > Script Time to see if more than |
3666 | 25 ms is being spent in scripts. | 3635 | 25 ms is being spent in scripts. |
3667 | </message> | 3636 | </message> |
3668 | </alert> | 3637 | </alert> |
3669 | <alert modal="true" name="HelpRegionRestart" title="Restart Region"> | 3638 | <alert modal="true" name="HelpRegionRestart" title="Restart Region"> |
3670 | <message name="message"> | 3639 | <message name="message"> |
3671 | Restart the server process running this region after a | 3640 | Restart the server process running this region after a |
3672 | two minute warning. All residents in the region will be | 3641 | two minute warning. All Residents in the region will be |
3673 | disconnected. The region will save its data, and should | 3642 | disconnected. The region will save its data, and should |
3674 | come back up within 90 seconds. | 3643 | come back up within 90 seconds. |
3675 | 3644 | ||
3676 | Restarting the region will not fix most performance | 3645 | Restarting the region will not fix most performance |
3677 | problems, and should usually be used only when directed. | 3646 | problems, and should usually be used only when directed. |
3678 | </message> | 3647 | </message> |
3679 | </alert> | 3648 | </alert> |
3680 | <alert modal="true" name="HelpRegionWaterHeight" title="Water Height"> | 3649 | <alert modal="true" name="HelpRegionWaterHeight" title="Water Height"> |
3681 | <message name="message"> | 3650 | <message name="message"> |
3682 | This is the height in meters where water appears. If | 3651 | This is the height in meters where water appears. If |
3683 | this setting is anything other than 20 and you have | 3652 | this setting is anything other than 20 and you have |
3684 | water that is adjacent to the edge of world or 'void' | 3653 | water that is adjacent to the edge of world or 'void' |
3685 | water, there will be a visible gap. | 3654 | water, there will be a visible gap. |
3686 | 3655 | ||
3687 | Default: 20 | 3656 | Default: 20 |
3688 | </message> | 3657 | </message> |
3689 | </alert> | 3658 | </alert> |
3690 | <alert modal="true" name="HelpRegionTerrainRaise" title="Terrain Raise"> | 3659 | <alert modal="true" name="HelpRegionTerrainRaise" title="Terrain Raise"> |
3691 | <message name="message"> | 3660 | <message name="message"> |
3692 | This is the distance that parcel owners can raise | 3661 | This is the distance in meters that parcel owners can raise |
3693 | their terrain above the 'baked' terrain default | 3662 | their terrain above the 'baked' terrain default |
3694 | height. | 3663 | height. |
3695 | 3664 | ||
3696 | Default: 4 | 3665 | Default: 4 |
3697 | </message> | 3666 | </message> |
3698 | </alert> | 3667 | </alert> |
3699 | <alert modal="true" name="HelpRegionTerrainLower" title="Terrain Lower"> | 3668 | <alert modal="true" name="HelpRegionTerrainLower" title="Terrain Lower"> |
3700 | <message name="message"> | 3669 | <message name="message"> |
3701 | This is the distance that parcel owners can lower | 3670 | This is the distance in meters that parcel owners can lower |
3702 | their terrain below the 'baked' terrain default | 3671 | their terrain below the 'baked' terrain default |
3703 | height. | 3672 | height. |
3704 | 3673 | ||
3705 | Default: -4 | 3674 | Default: -4 |
3706 | </message> | 3675 | </message> |
3707 | </alert> | 3676 | </alert> |
3708 | <alert modal="true" name="HelpRegionUploadRaw" title="Upload RAW Terrain"> | 3677 | <alert modal="true" name="HelpRegionUploadRaw" title="Upload RAW Terrain"> |
3709 | <message name="message"> | 3678 | <message name="message"> |
3710 | This button uploads a .RAW file to the region you are in. | 3679 | This button uploads a .RAW file to the region you are in. |
3711 | The file must have the correct dimensions/number of channels: | 3680 | The file must have the correct dimensions (RGB, 256x256) |
3712 | RGB, 256x256 and 13 channels. The best way to create a | 3681 | and 13 channels. The best way to create a |
3713 | terrain file is to download the existing RAW file. A good | 3682 | terrain file is to download the existing RAW file. A good |
3714 | first step is to modify the first channel (land height), | 3683 | first step is to modify the red channel (land height), |
3715 | and upload it. | 3684 | and upload it. |
3716 | 3685 | ||
3717 | The upload can take up to 45 seconds. Note that uploading a | 3686 | The upload can take up to 45 seconds. Note that uploading a |
3718 | terrain file *will not* move the objects that are on the land, | 3687 | terrain file *will not* move the objects that are on the land, |
3719 | only the terrain itself and the permissions associated with the | 3688 | only the terrain itself and the permissions associated with the |
3720 | parcels. This can result in objects going underground. | 3689 | parcels. This can result in objects going underground. |
3721 | 3690 | ||
3722 | For more information on editing region height fields, go to: | 3691 | For more information on editing region height fields, consult F1 Help. |
3723 | http://secondlife.com/tiki/tiki-index.php?page=RawTerrainFile | ||
3724 | </message> | 3692 | </message> |
3725 | </alert> | 3693 | </alert> |
3726 | <alert modal="true" name="HelpRegionDownloadRaw" title="Download RAW Terrain"> | 3694 | <alert modal="true" name="HelpRegionDownloadRaw" title="Download RAW Terrain"> |
3727 | <message name="message"> | 3695 | <message name="message"> |
3728 | This button downloads a file containing the height field data, | 3696 | This button downloads a file containing the height field data, |
3729 | parcel dimensions, parcel for sale status and some parcel permissions | 3697 | parcel dimensions, parcel for sale status and some parcel permissions |
3730 | for this region. When opening the file in a program such as | 3698 | for this region. When opening the file in a program such as |
3731 | Photoshop you must specify the document's dimensions which | 3699 | Photoshop you must specify the document's dimensions which |
3732 | are: RGB, 256x256 with 13 channels. This terrain file cannot | 3700 | are: RGB, 256x256 with 13 channels. This terrain file cannot |
3733 | be opened in any other way. | 3701 | be opened in any other way. |
3734 | 3702 | ||
3735 | For more information on editing region height fields, go to: | 3703 | For more information on editing region height fields, consult F1 help. |
3736 | http://secondlife.com/tiki/tiki-index.php?page=RawTerrainFile | ||
3737 | </message> | 3704 | </message> |
3738 | </alert> | 3705 | </alert> |
3739 | <alert modal="true" name="HelpRegionUseEstateSun" title="Use Estate Sun"> | 3706 | <alert modal="true" name="HelpRegionUseEstateSun" title="Use Estate Sun"> |
3740 | <message name="message"> | 3707 | <message name="message"> |
3741 | This checkbox makes the sun position in this region the | 3708 | This checkbox makes the sun position in this region the |
3742 | same as the sun position in the rest of the estate. | 3709 | same as the sun position in the rest of the estate. |
3743 | 3710 | ||
3744 | Default: on | 3711 | Default: on |
3745 | </message> | 3712 | </message> |
3746 | </alert> | 3713 | </alert> |
3747 | <alert modal="true" name="HelpRegionFixedSun" title="Fixed Sun"> | 3714 | <alert modal="true" name="HelpRegionFixedSun" title="Fixed Sun"> |
3748 | <message name="message"> | 3715 | <message name="message"> |
3749 | This checkbox sets the sun position to the position | 3716 | This checkbox sets the sun position to the position |
3750 | in the Phase slider and stops the sun from moving. | 3717 | in the Phase slider and stops the sun from moving. |
3751 | 3718 | ||
3752 | Default: off | 3719 | Default: off |
3753 | </message> | 3720 | </message> |
3754 | </alert> | 3721 | </alert> |
3755 | <alert modal="true" name="HelpRegionBakeTerrain" title="Bake Terrain"> | 3722 | <alert modal="true" name="HelpRegionBakeTerrain" title="Bake Terrain"> |
3756 | <message name="message"> | 3723 | <message name="message"> |
3757 | This button saves the current shape of the terrain as the | 3724 | This button saves the current shape of the terrain as the |
3758 | new default for the region. Once baked, the land can revert | 3725 | new default for the region. Once baked, the land can revert |
3759 | to the saved shape whenever you or others use the Edit Terrain | 3726 | to the saved shape whenever you or others use the Edit Terrain |
3760 | 'Revert' option/tool. The baked terrain is also the middle | 3727 | 'Revert' option. The baked terrain is also the middle |
3761 | point for the terrain raise and lower limits. | 3728 | point for the terrain raise and lower limits. |
3762 | </message> | 3729 | </message> |
3763 | </alert> | 3730 | </alert> |
3764 | <alert modal="true" name="HelpEstateEstateManager" title="Estate Managers"> | 3731 | <alert modal="true" name="HelpEstateEstateManager" title="Estate Managers"> |
3765 | <message name="message"> | 3732 | <message name="message"> |
3766 | An estate manager is a resident to whom you have delegated | 3733 | An estate manager is a Resident to whom you have delegated |
3767 | control of region and estate settings. An estate manager | 3734 | control of region and estate settings. An estate manager |
3768 | can change any setting in these panels, except for uploading, | 3735 | can change any setting in these panels, except for uploading, |
3769 | downloading, and baking terrain. In particular, they can | 3736 | downloading, and baking terrain. In particular, they can |
3770 | allow or ban residents from your estate. | 3737 | allow or ban Residents from your estate. |
3771 | 3738 | ||
3772 | Estate managers can only be added or removed by the owner | 3739 | Estate managers can only be added or removed by the owner |
3773 | of the estate, not by each other. Please only choose | 3740 | of the estate, not by each other. Please only choose |
3774 | residents you trust as estate managers, as you will be | 3741 | Residents you trust as estate managers, as you will be |
3775 | ultimately responsible for their actions. | 3742 | ultimately responsible for their actions. |
3776 | </message> | 3743 | </message> |
3777 | </alert> | 3744 | </alert> |
3778 | <alert modal="true" name="HelpEstateUseGlobalTime" title="Use Global Time"> | 3745 | <alert modal="true" name="HelpEstateUseGlobalTime" title="Use Global Time"> |
3779 | <message name="message"> | 3746 | <message name="message"> |
3780 | This checkbox makes the sun in your estate follow | 3747 | This checkbox makes the sun in your estate follow |
3781 | the same position as on the Linden-owned 'mainland' | 3748 | the same position as on the Linden-owned 'mainland' |
3782 | estates. | 3749 | estates. |
3783 | 3750 | ||
3784 | Default: on | 3751 | Default: on |
3785 | </message> | 3752 | </message> |
3786 | </alert> | 3753 | </alert> |
3787 | <alert modal="true" name="HelpEstateFixedSun" title="Fixed Sun"> | 3754 | <alert modal="true" name="HelpEstateFixedSun" title="Fixed Sun"> |
3788 | <message name="message"> | 3755 | <message name="message"> |
3789 | This checkbox sets the sun position to the position | 3756 | This checkbox sets the sun position to the position |
3790 | in the Phase slider and stops the sun from moving. | 3757 | in the Phase slider and stops the sun from moving. |
3791 | </message> | 3758 | </message> |
3792 | </alert> | 3759 | </alert> |
3793 | <alert modal="true" name="HelpEstateExternallyVisible" title="Public Access"> | 3760 | <alert modal="true" name="HelpEstateExternallyVisible" title="Public Access"> |
3794 | <message name="message"> | 3761 | <message name="message"> |
3795 | Sets whether residents who are on other estates can enter this | 3762 | This checkbox sets whether Residents who are on other estates can enter this |
3796 | estate without being on an access list. | 3763 | estate without being on an access list. |
3797 | 3764 | ||
3798 | Default: on | 3765 | Default: on |
3799 | </message> | 3766 | </message> |
3800 | </alert> | 3767 | </alert> |
3801 | <alert modal="true" name="HelpEstateAllowDirectTeleport" title="Allow Direct Teleport"> | 3768 | <alert modal="true" name="HelpEstateAllowDirectTeleport" title="Allow Direct Teleport"> |
3802 | <message name="message"> | 3769 | <message name="message"> |
3803 | When checked, allows residents to directly teleport to any | 3770 | When checked, allows Residents to directly teleport to any |
3804 | point in your estate. When unchecked, residents teleport | 3771 | point in your estate. When unchecked, Residents teleport |
3805 | to the nearest telehub. | 3772 | to the nearest telehub. |
3806 | 3773 | ||
3807 | Default: off | 3774 | Default: off |
3808 | </message> | 3775 | </message> |
3809 | </alert> | 3776 | </alert> |
3810 | <alert modal="true" name="HelpEstateAllowResident" title="Allow Access"> | 3777 | <alert modal="true" name="HelpEstateAllowResident" title="Allow Access"> |
3811 | <message name="message"> | 3778 | <message name="message"> |
3812 | If any resident is listed here, access to the estate will be | 3779 | Access to this estate will be limited to Residents |
3813 | limited to residents on this list and groups listed below. | 3780 | listed here and any groups below. This setting is |
3814 | 3781 | only available when Visible from Mainland is | |
3815 | (If the estate is visible from the mainland, access cannot be | 3782 | unchecked. |
3816 | limited to a resident or group list, and these controls will be | ||
3817 | disabled. Only the 'access denied' list will be used.) | ||
3818 | </message> | 3783 | </message> |
3819 | </alert> | 3784 | </alert> |
3820 | <alert modal="true" name="HelpEstateAllowGroup" title="Allow Group Access"> | 3785 | <alert modal="true" name="HelpEstateAllowGroup" title="Allow Group Access"> |
3821 | <message name="message"> | 3786 | <message name="message"> |
3822 | If any group is listed here, access to the estate will be | 3787 | Access to this estate will be limited to groups |
3823 | limited to the groups on this list and residents specifically | 3788 | listed here and any Residents above. This setting is |
3824 | allowed above. | 3789 | only available when Visible from Mainland is |
3825 | 3790 | unchecked. | |
3826 | (If the estate is visible from the mainland, access cannot be | ||
3827 | limited to a resident or group list, and these controls will be | ||
3828 | disabled. Only the 'access denied' list will be used.) | ||
3829 | </message> | 3791 | </message> |
3830 | </alert> | 3792 | </alert> |
3831 | <alert modal="true" name="HelpEstateBanResident" title="Deny Access"> | 3793 | <alert modal="true" name="HelpEstateBanResident" title="Deny Access"> |
3832 | <message name="message"> | 3794 | <message name="message"> |
3833 | Residents on this list are denied access to your estate, | 3795 | Residents on this list are denied access to your estate, |
3834 | regardless of the allow and group settings above. | 3796 | regardless of any other settings. |
3835 | |||
3836 | Adding a resident to this list will remove them from | ||
3837 | the allow list. | ||
3838 | </message> | 3797 | </message> |
3839 | </alert> | 3798 | </alert> |
3840 | <alert modal="true" name="HelpEstateCovenant" title="Estate Covenant"> | 3799 | <alert modal="true" name="HelpEstateCovenant" title="Estate Covenant"> |
3841 | <message name="message"> | 3800 | <message name="message"> |
3842 | Setting an estate covenant enables you to sell parcels | 3801 | Setting an estate covenant enables you to sell parcels |
3843 | within that estate. If a covenant is not set, you cannot | 3802 | within that estate. If a covenant is not set, you cannot |
3844 | sell the land. The notecard for your covenant can be empty | 3803 | sell the land. The notecard for your covenant can be empty |
3845 | if you do not wish to apply any rules or advise buyers of | 3804 | if you do not wish to apply any rules or advise buyers of |
3846 | anything in relation to the land before they buy it. | 3805 | anything in relation to the land before they buy it. |
3847 | 3806 | ||
3848 | A covenant can be used to communicate rules, guidelines, | 3807 | A covenant can be used to communicate rules, guidelines, |
3849 | cultural information or simply your own expectations to the | 3808 | cultural information or simply your own expectations to the |
3850 | prospective buyer. This can include zoning, building regulations, | 3809 | prospective buyer. This can include zoning, building regulations, |
3851 | payment options or any other information you feel it is | 3810 | payment options or any other information you feel it is |
3852 | important for the new owner to have seen and to have agreed | 3811 | important for the new owner to have seen and to have agreed |
3853 | to before they purchase. | 3812 | to before they purchase. |
3854 | 3813 | ||
3855 | The buyer must agree to the covenant by ticking the check box | 3814 | The buyer must agree to the covenant by ticking the check box |
3856 | before they will be able to finish the purchase. Estate | 3815 | before they will be able to finish the purchase. Estate |
3857 | covenants are always visible in the About Land dialog for | 3816 | covenants are always visible in the About Land dialog for |
3858 | any parcels that have one set. | 3817 | any parcels that have one set. |
3859 | </message> | 3818 | </message> |
3860 | </alert> | 3819 | </alert> |
3861 | <alert modal="true" name="BuyObjectOneOnly" title="Can't Buy Objects"> | 3820 | <alert modal="true" name="BuyObjectOneOnly" title="Can't Buy Objects"> |
3862 | <message name="message"> | 3821 | <message name="message"> |
3863 | Unable to buy more than one object at a time. | 3822 | Unable to buy more than one object at a time. |
3864 | Please select only one object and try again. | 3823 | Please select only one object and try again. |
3865 | </message> | 3824 | </message> |
3866 | </alert> | 3825 | </alert> |
3867 | <alert modal="true" name="BuyObjectOneOwner" title="Can't Buy Objects"> | 3826 | <alert modal="true" name="BuyObjectOneOwner" title="Can't Buy Objects"> |
3868 | <message name="message"> | 3827 | <message name="message"> |
3869 | Cannot buy objects from different owners at the same time. | 3828 | Cannot buy objects from different owners at the same time. |
3870 | Please select only one object and try again. | 3829 | Please select only one object and try again. |
3871 | </message> | 3830 | </message> |
3872 | </alert> | 3831 | </alert> |
3873 | <alert modal="true" name="BuyContentsOneOnly" title="Can't Buy Contents"> | 3832 | <alert modal="true" name="BuyContentsOneOnly" title="Can't Buy Contents"> |
3874 | <message name="message"> | 3833 | <message name="message"> |
3875 | Unable to buy the contents of more than one object at a time. | 3834 | Unable to buy the contents of more than one object at a time. |
3876 | Please select only one object and try again. | 3835 | Please select only one object and try again. |
3877 | </message> | 3836 | </message> |
3878 | </alert> | 3837 | </alert> |
3879 | <alert modal="true" name="BuyContentsOneOwner" title="Can't Buy Contents"> | 3838 | <alert modal="true" name="BuyContentsOneOwner" title="Can't Buy Contents"> |
3880 | <message name="message"> | 3839 | <message name="message"> |
3881 | Cannot buy objects from different owners at the same time. | 3840 | Cannot buy objects from different owners at the same time. |
3882 | Please select only one object and try again. | 3841 | Please select only one object and try again. |
3883 | </message> | 3842 | </message> |
3884 | </alert> | 3843 | </alert> |
@@ -3902,7 +3861,7 @@ You will be able to: | |||
3902 | Resell or Give Away: [RESELLPERM] | 3861 | Resell or Give Away: [RESELLPERM] |
3903 | </message> | 3862 | </message> |
3904 | <option name="Buy"> | 3863 | <option name="Buy"> |
3905 | Buy | 3864 | OK |
3906 | </option> | 3865 | </option> |
3907 | <option name="Cancel"> | 3866 | <option name="Cancel"> |
3908 | Cancel | 3867 | Cancel |
@@ -3918,7 +3877,7 @@ You will be able to: | |||
3918 | Resell or Give Away: [RESELLPERM] | 3877 | Resell or Give Away: [RESELLPERM] |
3919 | </message> | 3878 | </message> |
3920 | <option name="Buy"> | 3879 | <option name="Buy"> |
3921 | Buy | 3880 | OK |
3922 | </option> | 3881 | </option> |
3923 | <option name="Cancel"> | 3882 | <option name="Cancel"> |
3924 | Cancel | 3883 | Cancel |
@@ -3934,7 +3893,7 @@ You will be able to: | |||
3934 | Resell or Give Away: [RESELLPERM] | 3893 | Resell or Give Away: [RESELLPERM] |
3935 | </message> | 3894 | </message> |
3936 | <option name="Buy"> | 3895 | <option name="Buy"> |
3937 | Buy | 3896 | OK |
3938 | </option> | 3897 | </option> |
3939 | <option name="Cancel"> | 3898 | <option name="Cancel"> |
3940 | Cancel | 3899 | Cancel |
@@ -3950,7 +3909,7 @@ You will be able to: | |||
3950 | Resell or Give Away: [RESELLPERM] | 3909 | Resell or Give Away: [RESELLPERM] |
3951 | </message> | 3910 | </message> |
3952 | <option name="Buy"> | 3911 | <option name="Buy"> |
3953 | Buy | 3912 | OK |
3954 | </option> | 3913 | </option> |
3955 | <option name="Cancel"> | 3914 | <option name="Cancel"> |
3956 | Cancel | 3915 | Cancel |
@@ -3962,7 +3921,7 @@ You will be able to: | |||
3962 | They will be copied to your inventory. | 3921 | They will be copied to your inventory. |
3963 | </message> | 3922 | </message> |
3964 | <option name="Buy"> | 3923 | <option name="Buy"> |
3965 | Buy | 3924 | OK |
3966 | </option> | 3925 | </option> |
3967 | <option name="Cancel"> | 3926 | <option name="Cancel"> |
3968 | Cancel | 3927 | Cancel |
@@ -3974,7 +3933,7 @@ They will be copied to your inventory. | |||
3974 | They will be copied to your inventory. | 3933 | They will be copied to your inventory. |
3975 | </message> | 3934 | </message> |
3976 | <option name="Buy"> | 3935 | <option name="Buy"> |
3977 | Buy | 3936 | OK |
3978 | </option> | 3937 | </option> |
3979 | <option name="Cancel"> | 3938 | <option name="Cancel"> |
3980 | Cancel | 3939 | Cancel |
@@ -3983,13 +3942,13 @@ They will be copied to your inventory. | |||
3983 | <alert modal="true" name="ConfirmPurchase" nodefault="true"> | 3942 | <alert modal="true" name="ConfirmPurchase" nodefault="true"> |
3984 | <message name="message"> | 3943 | <message name="message"> |
3985 | This transaction will: | 3944 | This transaction will: |
3986 | 3945 | ||
3987 | [ACTION] | 3946 | [ACTION] |
3988 | 3947 | ||
3989 | Are you sure you want to proceed with this purchase? | 3948 | Are you sure you want to proceed with this purchase? |
3990 | </message> | 3949 | </message> |
3991 | <option name="Confirm"> | 3950 | <option name="Confirm"> |
3992 | Confirm | 3951 | OK |
3993 | </option> | 3952 | </option> |
3994 | <option name="Cancel"> | 3953 | <option name="Cancel"> |
3995 | Cancel | 3954 | Cancel |
@@ -3998,15 +3957,15 @@ Are you sure you want to proceed with this purchase? | |||
3998 | <alert modal="true" name="ConfirmPurchasePassword" nodefault="true"> | 3957 | <alert modal="true" name="ConfirmPurchasePassword" nodefault="true"> |
3999 | <message name="message"> | 3958 | <message name="message"> |
4000 | This transaction will: | 3959 | This transaction will: |
4001 | 3960 | ||
4002 | [ACTION] | 3961 | [ACTION] |
4003 | 3962 | ||
4004 | Are you sure you want to proceed with this purchase? | 3963 | Are you sure you want to proceed with this purchase? |
4005 | Please re-enter your password and click Confirm. | 3964 | Please re-enter your password and click OK. |
4006 | </message> | 3965 | </message> |
4007 | <editline /> | 3966 | <editline /> |
4008 | <option name="ConfirmPurchase"> | 3967 | <option name="ConfirmPurchase"> |
4009 | Confirm Purchase | 3968 | OK |
4010 | </option> | 3969 | </option> |
4011 | <option name="Cancel"> | 3970 | <option name="Cancel"> |
4012 | Cancel | 3971 | Cancel |
@@ -4027,45 +3986,43 @@ will retain their original values. | |||
4027 | <message name="message"> | 3986 | <message name="message"> |
4028 | You have selected 'no copy' inventory items. | 3987 | You have selected 'no copy' inventory items. |
4029 | These items will be moved to your inventory, not copied. | 3988 | These items will be moved to your inventory, not copied. |
4030 | 3989 | ||
4031 | Move the inventory item(s)? | 3990 | Move the inventory item(s)? |
4032 | </message> | 3991 | </message> |
4033 | <ignore> | 3992 | <ignore> |
4034 | When moving no-copy inventory from objects | 3993 | When moving no-copy inventory from objects |
4035 | </ignore> | 3994 | </ignore> |
4036 | <option name="Move"> | 3995 | <option name="Move"> |
4037 | Move | 3996 | OK |
4038 | </option> | 3997 | </option> |
4039 | <option name="Don'tMove"> | 3998 | <option name="Don'tMove"> |
4040 | Don't Move | 3999 | Cancel |
4041 | </option> | 4000 | </option> |
4042 | </alert> | 4001 | </alert> |
4043 | <alert modal="true" name="MoveInventoryFromScriptedObject"> | 4002 | <alert modal="true" name="MoveInventoryFromScriptedObject"> |
4044 | <message name="message"> | 4003 | <message name="message"> |
4045 | You have selected 'no copy' inventory items. These items | 4004 | You have selected 'no copy' inventory items. These items |
4046 | will be moved to your inventory, not copied. | 4005 | will be moved to your inventory, not copied. |
4047 | 4006 | ||
4048 | Because this object is scripted, moving these items | 4007 | Because this object is scripted, moving these items |
4049 | to your inventory may cause the script to malfunction. | 4008 | to your inventory may cause the script to malfunction. |
4050 | 4009 | ||
4051 | Move the inventory item(s)? | 4010 | Move the inventory item(s)? |
4052 | </message> | 4011 | </message> |
4053 | <ignore> | 4012 | <ignore> |
4054 | When moving no-copy inventory from scripted objects | 4013 | When moving no-copy inventory from scripted objects |
4055 | </ignore> | 4014 | </ignore> |
4056 | <option name="Move"> | 4015 | <option name="Move"> |
4057 | Move | 4016 | OK |
4058 | </option> | 4017 | </option> |
4059 | <option name="Don'tMove"> | 4018 | <option name="Don'tMove"> |
4060 | Don't Move | 4019 | Cancel |
4061 | </option> | 4020 | </option> |
4062 | </alert> | 4021 | </alert> |
4063 | <alert name="ClickActionNotPayable"> | 4022 | <alert name="ClickActionNotPayable"> |
4064 | <message name="message"> | 4023 | <message name="message"> |
4065 | Warning: The Pay Object click action has been set, but it | 4024 | Warning: The Pay Object click action has been set, but it |
4066 | will only work if a script is added with a money() event. | 4025 | will only work if a script is added with a money() event. |
4067 | This is because residents generally expect that objects | ||
4068 | will react somehow when money is payed into them. | ||
4069 | </message> | 4026 | </message> |
4070 | <ignore> | 4027 | <ignore> |
4071 | When Setting 'Pay' on objects without money() events | 4028 | When Setting 'Pay' on objects without money() events |
@@ -4092,48 +4049,48 @@ will react somehow when money is payed into them. | |||
4092 | </alert> | 4049 | </alert> |
4093 | <alert modal="true" name="HelpReportAbuseEmailLL" > | 4050 | <alert modal="true" name="HelpReportAbuseEmailLL" > |
4094 | <message name="message"> | 4051 | <message name="message"> |
4095 | Use this tool to report violations of the Terms of Service | 4052 | Use this tool to report violations of the Terms of Service |
4096 | and Community Standards. See: | 4053 | and Community Standards. See: |
4097 | - | 4054 | - |
4098 | http://secondlife.com/corporate/tos.php | 4055 | http://secondlife.com/corporate/tos.php |
4099 | http://secondlife.com/corporate/cs.php | 4056 | http://secondlife.com/corporate/cs.php |
4100 | - | 4057 | - |
4101 | All reported abuses of the Terms of Service and Community Standards | 4058 | All reported abuses of the Terms of Service and Community Standards |
4102 | are investigated and resolved. You will receive an email informing you | 4059 | are investigated and resolved. You will receive an email informing you |
4103 | of the resolution when it occurs. You can also view the incident | 4060 | of the resolution when it occurs. You can also view the incident |
4104 | resolution on the Police Blotter at: | 4061 | resolution on the Police Blotter at: |
4105 | - | 4062 | - |
4106 | http://secondlife.com/community/blotter.php | 4063 | http://secondlife.com/community/blotter.php |
4107 | </message> | 4064 | </message> |
4108 | </alert> | 4065 | </alert> |
4109 | <alert modal="true" name="HelpReportAbuseEmailEO"> | 4066 | <alert modal="true" name="HelpReportAbuseEmailEO"> |
4110 | <message name="message"> | 4067 | <message name="message"> |
4111 | IMPORTANT: This report will go to the owner of the | 4068 | IMPORTANT: This report will go to the owner of the |
4112 | region you are currently in and not to Linden Lab. | 4069 | region you are currently in and not to Linden Lab. |
4113 | - | 4070 | - |
4114 | As a service to residents and visitors, the owner of | 4071 | As a service to residents and visitors, the owner of |
4115 | the region you are in has elected to receive and resolve | 4072 | the region you are in has elected to receive and resolve |
4116 | all reports originating in this region. Linden Lab will | 4073 | all reports originating in this region. Linden Lab will |
4117 | not investigate reports you file from this location. | 4074 | not investigate reports you file from this location. |
4118 | The region owner will resolve reports based on the local | 4075 | The region owner will resolve reports based on the local |
4119 | rules of this region as outlined in the estate Covenant. | 4076 | rules of this region as outlined in the estate Covenant. |
4120 | (View covenants by going to the World menu and selecting | 4077 | (View covenants by going to the World menu and selecting |
4121 | About Land.) | 4078 | About Land.) |
4122 | - | 4079 | - |
4123 | The resolution of this report applies only to this Region; | 4080 | The resolution of this report applies only to this Region; |
4124 | Residents access to other areas of Second Life will not be | 4081 | Residents access to other areas of Second Life will not be |
4125 | affected by the outcome of this report. Only Linden Lab can | 4082 | affected by the outcome of this report. Only Linden Lab can |
4126 | restrict access to the entirety of Second Life. | 4083 | restrict access to the entirety of Second Life. |
4127 | </message> | 4084 | </message> |
4128 | </alert> | 4085 | </alert> |
4129 | <alert modal="true" name="HelpReportBug"> | 4086 | <alert modal="true" name="HelpReportBug"> |
4130 | <message name="message"> | 4087 | <message name="message"> |
4131 | Use this tool to *only* report technical features that do not perform as | 4088 | Use this tool to *only* report technical features that do not perform as |
4132 | described or expected, please provide as much detail as possible, You | 4089 | described or expected, please provide as much detail as possible, You |
4133 | may reply to the auto-response email to add more details to your report. | 4090 | may reply to the auto-response email to add more details to your report. |
4134 | All bug reports are investigated and assessed. No email response will be sent. | 4091 | All bug reports are investigated and assessed. No email response will be sent. |
4135 | - | 4092 | - |
4136 | If you are having a technical difficulty, please contact Support at: | 4093 | If you are having a technical difficulty, please contact Support at: |
4137 | http://secondlife.com/community/support.php | 4094 | http://secondlife.com/community/support.php |
4138 | - | 4095 | - |
4139 | Note: Incomplete reports will not be investigated | 4096 | Note: Incomplete reports will not be investigated |
@@ -4142,42 +4099,42 @@ Note: Incomplete reports will not be investigated | |||
4142 | <alert modal="true" name="HelpReportAbuseSelectCategory"> | 4099 | <alert modal="true" name="HelpReportAbuseSelectCategory"> |
4143 | <message name="message"> | 4100 | <message name="message"> |
4144 | Please select a category for this abuse report. | 4101 | Please select a category for this abuse report. |
4145 | 4102 | ||
4146 | Selecting a category helps us file and process abuse reports. | 4103 | Selecting a category helps us file and process abuse reports. |
4147 | </message> | 4104 | </message> |
4148 | </alert> | 4105 | </alert> |
4149 | <alert modal="true" name="HelpReportBugSelectCategory"> | 4106 | <alert modal="true" name="HelpReportBugSelectCategory"> |
4150 | <message name="message"> | 4107 | <message name="message"> |
4151 | Please select a category for this bug. | 4108 | Please select a category for this bug. |
4152 | 4109 | ||
4153 | Selecting a category helps us file and process bug reports. | 4110 | Selecting a category helps us file and process bug reports. |
4154 | </message> | 4111 | </message> |
4155 | </alert> | 4112 | </alert> |
4156 | <alert modal="true" name="HelpReportAbuseAbuserNameEmpty"> | 4113 | <alert modal="true" name="HelpReportAbuseAbuserNameEmpty"> |
4157 | <message name="message"> | 4114 | <message name="message"> |
4158 | Please enter the name of the abuser. | 4115 | Please enter the name of the abuser. |
4159 | 4116 | ||
4160 | Entering an accurate value helps us file and process abuse reports. | 4117 | Entering an accurate value helps us file and process abuse reports. |
4161 | </message> | 4118 | </message> |
4162 | </alert> | 4119 | </alert> |
4163 | <alert modal="true" name="HelpReportAbuseAbuserLocationEmpty"> | 4120 | <alert modal="true" name="HelpReportAbuseAbuserLocationEmpty"> |
4164 | <message name="message"> | 4121 | <message name="message"> |
4165 | Please enter the location where the abuse took place. | 4122 | Please enter the location where the abuse took place. |
4166 | 4123 | ||
4167 | Entering an accurate value helps us file and process abuse reports. | 4124 | Entering an accurate value helps us file and process abuse reports. |
4168 | </message> | 4125 | </message> |
4169 | </alert> | 4126 | </alert> |
4170 | <alert modal="true" name="HelpReportAbuseSummaryEmpty"> | 4127 | <alert modal="true" name="HelpReportAbuseSummaryEmpty"> |
4171 | <message name="message"> | 4128 | <message name="message"> |
4172 | Please enter a summary of the abuse that took place. | 4129 | Please enter a summary of the abuse that took place. |
4173 | 4130 | ||
4174 | Entering an accurate summary helps us file and process abuse reports. | 4131 | Entering an accurate summary helps us file and process abuse reports. |
4175 | </message> | 4132 | </message> |
4176 | </alert> | 4133 | </alert> |
4177 | <alert modal="true" name="HelpReportBugSummaryEmpty"> | 4134 | <alert modal="true" name="HelpReportBugSummaryEmpty"> |
4178 | <message name="message"> | 4135 | <message name="message"> |
4179 | Please enter a summary of the bug. | 4136 | Please enter a summary of the bug. |
4180 | 4137 | ||
4181 | Entering an accurate summary helps us file and process bug reports. | 4138 | Entering an accurate summary helps us file and process bug reports. |
4182 | </message> | 4139 | </message> |
4183 | </alert> | 4140 | </alert> |
@@ -4186,7 +4143,7 @@ Entering an accurate summary helps us file and process bug reports. | |||
4186 | Please enter a detailed description of the abuse that took place. | 4143 | Please enter a detailed description of the abuse that took place. |
4187 | Be as specific as you can, including names and the details of the | 4144 | Be as specific as you can, including names and the details of the |
4188 | incident you are reporting. | 4145 | incident you are reporting. |
4189 | 4146 | ||
4190 | Entering an accurate description helps us file and process abuse reports. | 4147 | Entering an accurate description helps us file and process abuse reports. |
4191 | </message> | 4148 | </message> |
4192 | </alert> | 4149 | </alert> |
@@ -4195,24 +4152,24 @@ Entering an accurate description helps us file and process abuse reports. | |||
4195 | Please enter a detailed description of the bug. | 4152 | Please enter a detailed description of the bug. |
4196 | Be as specific as you can, including steps to reproduce the bug | 4153 | Be as specific as you can, including steps to reproduce the bug |
4197 | if possible. | 4154 | if possible. |
4198 | 4155 | ||
4199 | Entering an accurate description helps us file and process bug reports. | 4156 | Entering an accurate description helps us file and process bug reports. |
4200 | </message> | 4157 | </message> |
4201 | </alert> | 4158 | </alert> |
4202 | <alert modal="true" name="HelpReportAbuseContainsCopyright"> | 4159 | <alert modal="true" name="HelpReportAbuseContainsCopyright"> |
4203 | <message name="message"> | 4160 | <message name="message"> |
4204 | Dear Resident, | 4161 | Dear Resident, |
4205 | 4162 | ||
4206 | Reports about copyright infringement can only be submitted | 4163 | Reports about copyright infringement can only be submitted |
4207 | as described at http://secondlife.com/corporate/dmca.php. | 4164 | as described at http://secondlife.com/corporate/dmca.php. |
4208 | 4165 | ||
4209 | Reports concerning copyright infringement will automatically | 4166 | Reports concerning copyright infringement will automatically |
4210 | be discarded if they are submitted through the 'Abuse Report' | 4167 | be discarded if they are submitted through the 'Abuse Report' |
4211 | feature. If your report does not relate to copyright infringement, | 4168 | feature. If your report does not relate to copyright infringement, |
4212 | you may close this window and finish submitting your report. | 4169 | you may close this window and finish submitting your report. |
4213 | 4170 | ||
4214 | Thank you, | 4171 | Thank you, |
4215 | 4172 | ||
4216 | Linden Lab | 4173 | Linden Lab |
4217 | </message> | 4174 | </message> |
4218 | </alert> | 4175 | </alert> |
@@ -4231,10 +4188,10 @@ Do you want to replace it with the selected object? | |||
4231 | When replacing existing attachments | 4188 | When replacing existing attachments |
4232 | </ignore> | 4189 | </ignore> |
4233 | <option ignore="Replace Automatically" name="Yes"> | 4190 | <option ignore="Replace Automatically" name="Yes"> |
4234 | Yes | 4191 | OK |
4235 | </option> | 4192 | </option> |
4236 | <option ignore="Never Replace" name="No"> | 4193 | <option ignore="Never Replace" name="No"> |
4237 | No | 4194 | Cancel |
4238 | </option> | 4195 | </option> |
4239 | </alert> | 4196 | </alert> |
4240 | <alert name="BusyModePay" title="Busy Mode Warning"> | 4197 | <alert name="BusyModePay" title="Busy Mode Warning"> |
@@ -4242,7 +4199,7 @@ Do you want to replace it with the selected object? | |||
4242 | You are in Busy Mode, which means you will not | 4199 | You are in Busy Mode, which means you will not |
4243 | receive any items offered in exchange for | 4200 | receive any items offered in exchange for |
4244 | this payment. | 4201 | this payment. |
4245 | 4202 | ||
4246 | Would you like to leave Busy Mode before | 4203 | Would you like to leave Busy Mode before |
4247 | completing this transaction? | 4204 | completing this transaction? |
4248 | </message> | 4205 | </message> |
@@ -4250,10 +4207,10 @@ completing this transaction? | |||
4250 | When paying a person or object in busy mode | 4207 | When paying a person or object in busy mode |
4251 | </ignore> | 4208 | </ignore> |
4252 | <option ignore="Always leave Busy Mode" name="Yes"> | 4209 | <option ignore="Always leave Busy Mode" name="Yes"> |
4253 | Yes | 4210 | OK |
4254 | </option> | 4211 | </option> |
4255 | <option ignore="Never leave Busy Mode" name="No"> | 4212 | <option ignore="Never leave Busy Mode" name="No"> |
4256 | No | 4213 | Cancel |
4257 | </option> | 4214 | </option> |
4258 | </alert> | 4215 | </alert> |
4259 | <alert modal="true" name="ConfirmEmptyTrash"> | 4216 | <alert modal="true" name="ConfirmEmptyTrash"> |
@@ -4265,10 +4222,10 @@ the contents of your Trash folder? | |||
4265 | When emptying your inventory trash folder | 4222 | When emptying your inventory trash folder |
4266 | </ignore> | 4223 | </ignore> |
4267 | <option default="true" name="Yes"> | 4224 | <option default="true" name="Yes"> |
4268 | Yes | 4225 | OK |
4269 | </option> | 4226 | </option> |
4270 | <option name="No"> | 4227 | <option name="No"> |
4271 | No | 4228 | Cancel |
4272 | </option> | 4229 | </option> |
4273 | </alert> | 4230 | </alert> |
4274 | <alert modal="true" name="ConfirmEmptyLostAndFound"> | 4231 | <alert modal="true" name="ConfirmEmptyLostAndFound"> |
@@ -4289,9 +4246,9 @@ the contents of your Lost And Found folder? | |||
4289 | <alert modal="true" name="CopySLURL"> | 4246 | <alert modal="true" name="CopySLURL"> |
4290 | <message name="message"> | 4247 | <message name="message"> |
4291 | The following SLURL has been copied to your clipboard: | 4248 | The following SLURL has been copied to your clipboard: |
4292 | 4249 | ||
4293 | [SLURL] | 4250 | [SLURL] |
4294 | 4251 | ||
4295 | Put it in a web page to give others easy access to this location or | 4252 | Put it in a web page to give others easy access to this location or |
4296 | try it out yourself by pasting it into the address bar of your web browser. | 4253 | try it out yourself by pasting it into the address bar of your web browser. |
4297 | </message> | 4254 | </message> |
diff --git a/linden/indra/newview/skins/xui/en-us/floater_about.xml b/linden/indra/newview/skins/xui/en-us/floater_about.xml index 09eba16..ea855d9 100644 --- a/linden/indra/newview/skins/xui/en-us/floater_about.xml +++ b/linden/indra/newview/skins/xui/en-us/floater_about.xml | |||
@@ -7,9 +7,9 @@ | |||
7 | follows="left|top|right|bottom" font="SansSerifSmall" height="168" left="6" | 7 | follows="left|top|right|bottom" font="SansSerifSmall" height="168" left="6" |
8 | max_length="65536" mouse_opaque="true" name="credits_editor" | 8 | max_length="65536" mouse_opaque="true" name="credits_editor" |
9 | text_color="1, 1, 1, 1" text_readonly_color="1, 1, 1, 1" width="458" | 9 | text_color="1, 1, 1, 1" text_readonly_color="1, 1, 1, 1" width="458" |
10 | word_wrap="true">Second Life is brought to you by Philip, Andrew, Tessa, Cory, Frank, James, Doug, Hunter, Richard, John, Eric, Avi, AaronB, AaronY, Ian, Peter, Mark, Robin, Stephen, Tracy, Ryan, Alberto, Haney, Tanya, JimJ, Dan, Ben, Stephanie, Tim, Evan, Catherine, Colin, Chris, Reuben, Charity, Jeska, James, JonHenry, Kelly, Callum, Char, Daniel, DavidF, Don, Jeff, Lauren, Lee, Michael, Ramzi, Vektor, Steve, TomY, Tess, Kona, Brent, Clarissa, PeterP, Jesse, Annette, Cyn, Blue, Ginsu, Jonathan, Karen, Adam, Nova, Deana, Lizzie, Patsy, DavidK, Isaac, Pathfinder, Monroe, Jill, Benny, Altruima, Rheya, Jennifer, Jack, DaveP, Brad, Mick, Babbage, Elisabeth, Brian, Beth, Data, Ethan, Wendy, Nicole, Sky, Jeffrey, Zero, Coffee, Tesla, Kenny, Makiko, Nigel, Teeple, Lucy, Mia, Dee, Guy, Harry, Liana, Branka, Jimbo, Aura, Vasuda, SarahD, bethanye, Torley, Runitai, MikeS, PaulM, Milo, Hermia, JoeM, Melanie, Rejean, DSmith, SMiller, Susan, Jose, DongYun, Justin, Andrey, Syrah, Donovan, Henrik, Nora, Lexie, AC, Donna, ChrisC, Alex, Leyla, Kyle, Mathew, Devin, Joshua, DanC, Jessica, Harmony, Claudia, Tramel, Glenn, Betsy, Fritz, Jun, Adam, Cassandra, Ken, RyanW, Spike, Varas, Andy, Luke, RobLa, Chiyo, JohnZ, Dustin, George, Del, PeterP, Migyeong, Matthew, RMullane, CChampion, JTurbin, JamesC, Viola, Lightfoot, Jacqui, Sturm, Adrian, Buttercup, Alfred, Sunil, Alfred, Noel, Irfan, Jill, Yool, Jane, Yuki, Yoz, Matthew, Arthur, Jennifer, Karl, Brian, Ben, Janine, Christopher, Madhavi, Everett, Anthony, Joon, Jake, sean, Adreanne, Stephany, KellyJo, Jeremy, Pramod, Joshua, Sean, Christopher, Amy, Ceren, Katherine, jon, Sudheendra, James, Stephan, Kari, Kartic, Todd, Thomas, Joki, Rebecca, Belinda, Bert, Roger, Bridie, Kristi, Brian, Maria, John, Aric, Nathanel, Melinda, Darrell, Jennifer, Sandy and many others. | 10 | word_wrap="true">Second Life is brought to you by Philip, Andrew, Tessa, Cory, Frank, James, Doug, Hunter, Richard, John, Eric, Avi, AaronB, AaronY, Ian, Peter, Mark, Robin, Stephen, Tracy, Ryan, Alberto, Haney, Tanya, JimJ, Dan, Ben, Stephanie, Tim, Evan, Catherine, Colin, Chris, Reuben, Charity, Jeska, James, JonHenry, Kelly, Callum, Char, Daniel, DavidF, Don, Jeff, Lauren, Lee, Michael, Ramzi, Vektor, Steve, TomY, Tess, Kona, Brent, Clarissa, PeterP, Jesse, Annette, Cyn, Blue, Ginsu, Jonathan, Karen, Adam, Nova, Deana, Lizzie, Patsy, DavidK, Isaac, Pathfinder, Monroe, Jill, Benny, Altruima, Rheya, Jennifer, Jack, DaveP, Brad, Mick, Babbage, Elisabeth, Brian, Beth, Data, Ethan, Wendy, Nicole, Sky, Jeffrey, Zero, Coffee, Tesla, Kenny, Makiko, Nigel, Teeple, Lucy, Mia, Dee, Guy, Harry, Liana, Branka, Jimbo, Aura, Vasuda, SarahD, bethanye, Torley, Runitai, MikeS, PaulM, Milo, Hermia, JoeM, Melanie, Rejean, DSmith, SMiller, Susan, Jose, DongYun, Justin, Andrey, Syrah, Donovan, Henrik, Nora, Lexie, AC, Donna, ChrisC, Alex, Leyla, Kyle, Mathew, Devin, Joshua, DanC, Jessica, Harmony, Claudia, Tramel, Glenn, Betsy, Fritz, Jun, Adam, Cassandra, Ken, RyanW, Spike, Varas, Andy, Luke, RobLa, Chiyo, JohnZ, Dustin, George, Del, PeterP, Migyeong, Matthew, RMullane, CChampion, JTurbin, JamesC, Viola, Lightfoot, Jacqui, Sturm, Adrian, Buttercup, Alfred, Sunil, Alfred, Noel, Irfan, Jill, Yool, Jane, Yuki, Yoz, Matthew, Arthur, Jennifer, Karl, Brian, Ben, Janine, Christopher, Madhavi, Everett, Anthony, Joon, Jake, sean, Adreanne, Stephany, KellyJo, Jeremy, Pramod, Joshua, Sean, Christopher, Amy, Ceren, Katherine, jon, Sudheendra, James, Stephan, Kari, Kartic, Todd, Thomas, Joki, Rebecca, Belinda, Bert, Roger, Bridie, Kristi, Brian, Maria, John, Aric, Nathanel, Melinda, Darrell, Jennifer, Sandy, Greg, Rob, Brad, Chris, Eric, Palmer, Asi, Katja, Lisa, Minda, Jen, Aaron, Bryan, Mark, Jonathan, Jamie, Laurel, William, Matthew, Steve, David and many others. |
11 | 11 | ||
12 | Thank you to the following residents for helping to ensure that this is the best version yet: killerpatra2000 Allen, Dnali Anabuki, Daeph Balder, Hypatia Callisto, Twinsen Clift, Elly Crispien, Fremont Cunningham, DR Dahlgren, DBDigital Epsilon, Jay Evans, Garth FairChang, Brett Finsbury, Kitto Flora, Greg Giotto, Io Giugiaro, Gizmo Gorky, Onix Harbinger, Kal Hocken, Johanna Hyacinth, Dougal Jacobs, LampLighter Jacobus, Bounder Jimenez, Lao Jun, Benja Kepler, bamboolake Klaar, Cross Lament, Johnny Lerwick, Malcolm Lewellen, Lucy Linden, Frontier Linden, Guy Linden, Gwyneth Llewelyn, Kitten Lulu, Ali Maltz, Zoren Manray, Shirley Marquez, Fabio Medby, Peter130980 Miles, Feynt Mistral, Adonica Moy, Destiny Niles, Philippo Novi, Stumbelina Ophelia, Stumbelina Ophelia, Coyote Pace, Kar Parks, Xanshin Paz, Hensonian Pennyfeather, Funk Schnook, Funk Schnook, Derek Sienkiewicz, RopeMasterDom Skjellerup, Dominick Sneerwell, Packard Sonic, Oz Spade, Khashai Steinbeck, Argent Stonecutter, Argent Stonecutter, Linnian Sugar, Aphrodite Tagore, Dirk Talamasca, DRAZIC Torok, Lyr Tuppakaka, Shade Undertone, zechi Uram, Huns Valen, Winter Ventura, Gillian Waldman, Will Webb, XaMaD Welles, Sahara Westerburg, Beatfox Xevious, Questor Yifu | 12 | Thank you to the following residents for helping to ensure that this is the best version yet: shinmai Akebono, Evangeline Arcadia, Nargus Asturias, FireFox Bancroft, Verbuda Barragar, Logan Bauer, Freya Becquerel, phoenix Behemoth, Druida Biedermann, Bibi Book, Barney Boomslang, mckinnes1 Boyd, Ice Brodie, Darling Brody, seaone Bunyip, Hypatia Callisto, Upo Choche, Bell Clellon, pizzaguy Clutterbuck, Victor Cole, Patrice Cournoyer, Sherona DeGroot, Mecha Dinosaur, Shack Dougall, Drew Dwi, Bazzerbill Eccleston, Rosa Edelman, Gotobug Fairymeadow, Gianetti Ferlinghetti, Ante Flan, Mario Fonzarelli, Raudf Fox, Lor Gynoid, Moses Gyoza, Corax Homewood, Pietor Huygens, LampLighter Jacobus, Major Johnson, Itoku Kamachi, DaQbet Kish, Max Kleiber, Laurent Laborde, Lightfoot Lindman, Deira Llanfair, Domino Marama, Aminom Marvin, Liberty Mill, Walker Moore, Yumi Murakami, Usagi Musashi, Luciftias Neurocam, Destiny Niles, Alexandra Nino, Kinzo Nurmi, OmniCron Overlord, Julianna Pennyfeather, Coyote Pixie, Maya Remblai, Arenae Rosewood, Grey Ryder, Norm Schack, Funk Schnook, Singular Seoul, tickledgirl Shemesh, Rhyph Somme, Oz Spade, Argent Stonecutter, Eristic Strangelove, Samm Submariner, Seifert Surface, Dirk Talamasca, Ilyara Tardis, Mac Teazle, Winter Ventura, Amaranth Voss, Geri Watson, Will Webb, Patchouli Woollahra, TonyH Wrangler, malee Zhaoying. |
13 | 13 | ||
14 | APR Copyright (C) 2000-2004 The Apache Software Foundation | 14 | APR Copyright (C) 2000-2004 The Apache Software Foundation |
15 | Cg Copyright (C) 2002, NVIDIA Corporationa. | 15 | Cg Copyright (C) 2002, NVIDIA Corporationa. |
@@ -30,7 +30,7 @@ zlib Copyright (C) 1995-2002 Jean-loup Gailly and Mark Adler. | |||
30 | All rights reserved. See licenses.txt for details. | 30 | All rights reserved. See licenses.txt for details. |
31 | 31 | ||
32 | 32 | ||
33 | We're gonna need a bigger boat.</text_editor> | 33 | Kilroy 2.0 is here. Kilroy 2.0 is everywhere.</text_editor> |
34 | <text_editor bg_readonly_color="0, 0, 0, 0" bottom_delta="174" embedded_items="false" | 34 | <text_editor bg_readonly_color="0, 0, 0, 0" bottom_delta="174" embedded_items="false" |
35 | follows="left|top|right|bottom" font="SansSerif" height="238" left="6" | 35 | follows="left|top|right|bottom" font="SansSerif" height="238" left="6" |
36 | max_length="65536" mouse_opaque="true" name="support_editor" | 36 | max_length="65536" mouse_opaque="true" name="support_editor" |
diff --git a/linden/indra/newview/skins/xui/en-us/floater_image_preview.xml b/linden/indra/newview/skins/xui/en-us/floater_image_preview.xml index 1adf3a5..4b668c5 100644 --- a/linden/indra/newview/skins/xui/en-us/floater_image_preview.xml +++ b/linden/indra/newview/skins/xui/en-us/floater_image_preview.xml | |||
@@ -44,6 +44,9 @@ | |||
44 | <combo_item name="Skirt"> | 44 | <combo_item name="Skirt"> |
45 | Skirt | 45 | Skirt |
46 | </combo_item> | 46 | </combo_item> |
47 | <combo_item name="SculptedPrim"> | ||
48 | Sculpted Prim | ||
49 | </combo_item> | ||
47 | </combo_box> | 50 | </combo_box> |
48 | <text bottom="250" follows="top|left" left="10" name="bad_image_text"> | 51 | <text bottom="250" follows="top|left" left="10" name="bad_image_text"> |
49 | Unable to read image. | 52 | Unable to read image. |
diff --git a/linden/indra/newview/skins/xui/en-us/floater_tools.xml b/linden/indra/newview/skins/xui/en-us/floater_tools.xml index e1031b7..835edec 100644 --- a/linden/indra/newview/skins/xui/en-us/floater_tools.xml +++ b/linden/indra/newview/skins/xui/en-us/floater_tools.xml | |||
@@ -693,6 +693,9 @@ | |||
693 | <combo_item name="Ring" value="Ring"> | 693 | <combo_item name="Ring" value="Ring"> |
694 | Ring | 694 | Ring |
695 | </combo_item> | 695 | </combo_item> |
696 | <combo_item name="Sculpted" value="Sculpted"> | ||
697 | Sculpted | ||
698 | </combo_item> | ||
696 | </combo_box> | 699 | </combo_box> |
697 | <text bg_visible="false" border_drop_shadow_visible="false" border_visible="false" | 700 | <text bg_visible="false" border_drop_shadow_visible="false" border_visible="false" |
698 | bottom_delta="-12" drop_shadow_visible="true" follows="left|top" | 701 | bottom_delta="-12" drop_shadow_visible="true" follows="left|top" |
@@ -851,6 +854,10 @@ | |||
851 | <spinner bottom_delta="0" decimal_digits="2" follows="left|top" height="16" | 854 | <spinner bottom_delta="0" decimal_digits="2" follows="left|top" height="16" |
852 | hidden="false" increment="0.1" initial_val="1" left_delta="73" max_val="4" | 855 | hidden="false" increment="0.1" initial_val="1" left_delta="73" max_val="4" |
853 | min_val="1" mouse_opaque="true" name="Revolutions" width="68" /> | 856 | min_val="1" mouse_opaque="true" name="Revolutions" width="68" /> |
857 | <texture_picker allow_no_texture="false" bottom="-211" can_apply_immediately="true" | ||
858 | default_image_name="Default" follows="left|top" height="141" hidden="false" | ||
859 | label="Sculpt Texture" left="121" mouse_opaque="true" name="sculpt texture control" | ||
860 | tool_tip="Click to choose a picture" width="141" /> | ||
854 | </panel> | 861 | </panel> |
855 | <panel border="true" bottom="-383" follows="left|top|right|bottom" height="367" | 862 | <panel border="true" bottom="-383" follows="left|top|right|bottom" height="367" |
856 | hidden="false" label="Features" left="1" mouse_opaque="false" | 863 | hidden="false" label="Features" left="1" mouse_opaque="false" |
diff --git a/linden/indra/test/test_vc8.vcproj b/linden/indra/test/test_vc8.vcproj index 79af7f0..b491eea 100644 --- a/linden/indra/test/test_vc8.vcproj +++ b/linden/indra/test/test_vc8.vcproj | |||
@@ -41,7 +41,7 @@ | |||
41 | <Tool | 41 | <Tool |
42 | Name="VCCLCompilerTool" | 42 | Name="VCCLCompilerTool" |
43 | Optimization="0" | 43 | Optimization="0" |
44 | AdditionalIncludeDirectories="..\llcommon;..\llmessage;..\llmath;..\..\libraries\include;..\llinventory;"..\..\libraries\i686-win32\include";..\llxml;..\lldatabase" | 44 | AdditionalIncludeDirectories="..\llcommon;..\lldatabase;..\llmessage;..\llmath;..\llinventory;..\llvfs;..\llxml;..\..\libraries\include;"..\..\libraries\i686-win32\include"" |
45 | PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;LL_WINDOWS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_USE_32BIT_TIME_T;LL_DEBUG" | 45 | PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;LL_WINDOWS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_USE_32BIT_TIME_T;LL_DEBUG" |
46 | MinimalRebuild="false" | 46 | MinimalRebuild="false" |
47 | BasicRuntimeChecks="3" | 47 | BasicRuntimeChecks="3" |
@@ -125,17 +125,21 @@ | |||
125 | /> | 125 | /> |
126 | <Tool | 126 | <Tool |
127 | Name="VCCLCompilerTool" | 127 | Name="VCCLCompilerTool" |
128 | Optimization="0" | 128 | Optimization="2" |
129 | AdditionalIncludeDirectories="..\llcommon;..\llmessage;..\llmath;..\..\libraries\include;..\llinventory;"..\..\libraries\i686-win32\include";..\llxml;..\lldatabase" | 129 | InlineFunctionExpansion="2" |
130 | EnableIntrinsicFunctions="true" | ||
131 | AdditionalIncludeDirectories="..\llcommon;..\lldatabase;..\llmessage;..\llmath;..\llinventory;..\llvfs;..\llxml;..\..\libraries\include;"..\..\libraries\i686-win32\include"" | ||
130 | PreprocessorDefinitions="WIN32;__WIN32;NDEBUG;_WINDOWS;LL_WINDOWS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_USE_32BIT_TIME_T;LL_RELEASE;APR_DECLARE_STATIC;LL_HTTPD=1" | 132 | PreprocessorDefinitions="WIN32;__WIN32;NDEBUG;_WINDOWS;LL_WINDOWS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_USE_32BIT_TIME_T;LL_RELEASE;APR_DECLARE_STATIC;LL_HTTPD=1" |
133 | StringPooling="true" | ||
131 | MinimalRebuild="false" | 134 | MinimalRebuild="false" |
132 | BasicRuntimeChecks="3" | 135 | BasicRuntimeChecks="0" |
133 | RuntimeLibrary="1" | 136 | RuntimeLibrary="0" |
134 | TreatWChar_tAsBuiltInType="false" | 137 | TreatWChar_tAsBuiltInType="false" |
135 | ForceConformanceInForLoopScope="true" | 138 | ForceConformanceInForLoopScope="true" |
136 | RuntimeTypeInfo="true" | 139 | RuntimeTypeInfo="true" |
137 | UsePrecompiledHeader="0" | 140 | UsePrecompiledHeader="0" |
138 | WarningLevel="3" | 141 | WarningLevel="3" |
142 | WarnAsError="false" | ||
139 | Detect64BitPortabilityProblems="false" | 143 | Detect64BitPortabilityProblems="false" |
140 | DebugInformationFormat="3" | 144 | DebugInformationFormat="3" |
141 | /> | 145 | /> |
@@ -155,10 +159,12 @@ | |||
155 | OutputFile="$(OutDir)/test.exe" | 159 | OutputFile="$(OutDir)/test.exe" |
156 | LinkIncremental="2" | 160 | LinkIncremental="2" |
157 | AdditionalLibraryDirectories=""../lib_$(ConfigurationName)/i686-win32";"../../libraries/i686-win32/lib_release"" | 161 | AdditionalLibraryDirectories=""../lib_$(ConfigurationName)/i686-win32";"../../libraries/i686-win32/lib_release"" |
158 | IgnoreDefaultLibraryNames="libcmt.lib" | 162 | IgnoreDefaultLibraryNames="" |
159 | GenerateDebugInformation="true" | 163 | GenerateDebugInformation="true" |
160 | ProgramDatabaseFile="$(OutDir)/test.pdb" | 164 | ProgramDatabaseFile="$(OutDir)/test.pdb" |
161 | SubSystem="1" | 165 | SubSystem="1" |
166 | OptimizeReferences="1" | ||
167 | EnableCOMDATFolding="1" | ||
162 | TargetMachine="1" | 168 | TargetMachine="1" |
163 | /> | 169 | /> |
164 | <Tool | 170 | <Tool |
@@ -213,11 +219,11 @@ | |||
213 | <Tool | 219 | <Tool |
214 | Name="VCCLCompilerTool" | 220 | Name="VCCLCompilerTool" |
215 | Optimization="0" | 221 | Optimization="0" |
216 | AdditionalIncludeDirectories="..\llcommon;..\llmessage;..\llmath;..\..\libraries\include;..\llinventory;"..\..\libraries\i686-win32\include";..\llxml;..\lldatabase" | 222 | AdditionalIncludeDirectories="..\llcommon;..\lldatabase;..\llmessage;..\llmath;..\llinventory;..\llvfs;..\llxml;..\..\libraries\include;"..\..\libraries\i686-win32\include"" |
217 | PreprocessorDefinitions="WIN32;__WIN32;NDEBUG;_WINDOWS;LL_WINDOWS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_USE_32BIT_TIME_T;LL_RELEASE;APR_DECLARE_STATIC;LL_HTTPD=1" | 223 | PreprocessorDefinitions="WIN32;__WIN32;NDEBUG;_WINDOWS;LL_WINDOWS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_USE_32BIT_TIME_T;LL_RELEASE;APR_DECLARE_STATIC;LL_HTTPD=1" |
218 | MinimalRebuild="false" | 224 | MinimalRebuild="false" |
219 | BasicRuntimeChecks="3" | 225 | BasicRuntimeChecks="0" |
220 | RuntimeLibrary="1" | 226 | RuntimeLibrary="0" |
221 | TreatWChar_tAsBuiltInType="false" | 227 | TreatWChar_tAsBuiltInType="false" |
222 | ForceConformanceInForLoopScope="true" | 228 | ForceConformanceInForLoopScope="true" |
223 | RuntimeTypeInfo="true" | 229 | RuntimeTypeInfo="true" |
@@ -241,7 +247,7 @@ | |||
241 | OutputFile="$(OutDir)/test.exe" | 247 | OutputFile="$(OutDir)/test.exe" |
242 | LinkIncremental="2" | 248 | LinkIncremental="2" |
243 | AdditionalLibraryDirectories=""../lib_$(ConfigurationName)/i686-win32";"../../libraries/i686-win32/lib_release"" | 249 | AdditionalLibraryDirectories=""../lib_$(ConfigurationName)/i686-win32";"../../libraries/i686-win32/lib_release"" |
244 | IgnoreDefaultLibraryNames="libcmt.lib" | 250 | IgnoreDefaultLibraryNames="libcmtd" |
245 | GenerateDebugInformation="true" | 251 | GenerateDebugInformation="true" |
246 | ProgramDatabaseFile="$(OutDir)/test.pdb" | 252 | ProgramDatabaseFile="$(OutDir)/test.pdb" |
247 | SubSystem="1" | 253 | SubSystem="1" |
@@ -295,10 +301,30 @@ | |||
295 | > | 301 | > |
296 | </File> | 302 | </File> |
297 | <File | 303 | <File |
304 | RelativePath=".\llapp_tut.cpp" | ||
305 | > | ||
306 | </File> | ||
307 | <File | ||
308 | RelativePath=".\llbase64_tut.cpp" | ||
309 | > | ||
310 | </File> | ||
311 | <File | ||
312 | RelativePath=".\llbitpack_tut.cpp" | ||
313 | > | ||
314 | </File> | ||
315 | <File | ||
316 | RelativePath=".\llblowfish_tut.cpp" | ||
317 | > | ||
318 | </File> | ||
319 | <File | ||
298 | RelativePath=".\lldatabase_tut.cpp" | 320 | RelativePath=".\lldatabase_tut.cpp" |
299 | > | 321 | > |
300 | </File> | 322 | </File> |
301 | <File | 323 | <File |
324 | RelativePath=".\lldatapacker_tut.cpp" | ||
325 | > | ||
326 | </File> | ||
327 | <File | ||
302 | RelativePath=".\llerror_tut.cpp" | 328 | RelativePath=".\llerror_tut.cpp" |
303 | > | 329 | > |
304 | </File> | 330 | </File> |
@@ -307,10 +333,30 @@ | |||
307 | > | 333 | > |
308 | </File> | 334 | </File> |
309 | <File | 335 | <File |
336 | RelativePath=".\llhttpnode_tut.cpp" | ||
337 | > | ||
338 | </File> | ||
339 | <File | ||
340 | RelativePath=".\llinventoryparcel_tut.cpp" | ||
341 | > | ||
342 | </File> | ||
343 | <File | ||
344 | RelativePath=".\lliohttpserver_tut.cpp" | ||
345 | > | ||
346 | </File> | ||
347 | <File | ||
348 | RelativePath=".\llmessageconfig_tut.cpp" | ||
349 | > | ||
350 | </File> | ||
351 | <File | ||
310 | RelativePath=".\llmime_tut.cpp" | 352 | RelativePath=".\llmime_tut.cpp" |
311 | > | 353 | > |
312 | </File> | 354 | </File> |
313 | <File | 355 | <File |
356 | RelativePath=".\llpartdata_tut.cpp" | ||
357 | > | ||
358 | </File> | ||
359 | <File | ||
314 | RelativePath=".\llpipeutil.cpp" | 360 | RelativePath=".\llpipeutil.cpp" |
315 | > | 361 | > |
316 | </File> | 362 | </File> |
@@ -319,11 +365,15 @@ | |||
319 | > | 365 | > |
320 | </File> | 366 | </File> |
321 | <File | 367 | <File |
322 | RelativePath=".\llsd_message_system_tut.cpp" | 368 | RelativePath=".\llsd_new_tut.cpp" |
323 | > | 369 | > |
324 | </File> | 370 | </File> |
325 | <File | 371 | <File |
326 | RelativePath=".\llsd_new_tut.cpp" | 372 | RelativePath=".\llsdmessagebuilder_tut.cpp" |
373 | > | ||
374 | </File> | ||
375 | <File | ||
376 | RelativePath=".\llsdmessagereader_tut.cpp" | ||
327 | > | 377 | > |
328 | </File> | 378 | </File> |
329 | <File | 379 | <File |
@@ -331,6 +381,14 @@ | |||
331 | > | 381 | > |
332 | </File> | 382 | </File> |
333 | <File | 383 | <File |
384 | RelativePath=".\llservicebuilder_tut.cpp" | ||
385 | > | ||
386 | </File> | ||
387 | <File | ||
388 | RelativePath=".\llstring_tut.cpp" | ||
389 | > | ||
390 | </File> | ||
391 | <File | ||
334 | RelativePath=".\lltiming_tut.cpp" | 392 | RelativePath=".\lltiming_tut.cpp" |
335 | > | 393 | > |
336 | </File> | 394 | </File> |
@@ -347,6 +405,14 @@ | |||
347 | > | 405 | > |
348 | </File> | 406 | </File> |
349 | <File | 407 | <File |
408 | RelativePath=".\llxfer_tut.cpp" | ||
409 | > | ||
410 | </File> | ||
411 | <File | ||
412 | RelativePath=".\m3math_tut.cpp" | ||
413 | > | ||
414 | </File> | ||
415 | <File | ||
350 | RelativePath=".\math.cpp" | 416 | RelativePath=".\math.cpp" |
351 | > | 417 | > |
352 | </File> | 418 | </File> |
@@ -358,6 +424,22 @@ | |||
358 | RelativePath=".\test.cpp" | 424 | RelativePath=".\test.cpp" |
359 | > | 425 | > |
360 | </File> | 426 | </File> |
427 | <File | ||
428 | RelativePath=".\v2math_tut.cpp" | ||
429 | > | ||
430 | </File> | ||
431 | <File | ||
432 | RelativePath=".\v3dmath_tut.cpp" | ||
433 | > | ||
434 | </File> | ||
435 | <File | ||
436 | RelativePath=".\v3math_tut.cpp" | ||
437 | > | ||
438 | </File> | ||
439 | <File | ||
440 | RelativePath=".\xform_tut.cpp" | ||
441 | > | ||
442 | </File> | ||
361 | </Filter> | 443 | </Filter> |
362 | <Filter | 444 | <Filter |
363 | Name="Header Files" | 445 | Name="Header Files" |
@@ -369,6 +451,10 @@ | |||
369 | > | 451 | > |
370 | </File> | 452 | </File> |
371 | <File | 453 | <File |
454 | RelativePath=".\llsdtraits.h" | ||
455 | > | ||
456 | </File> | ||
457 | <File | ||
372 | RelativePath=".\lltut.h" | 458 | RelativePath=".\lltut.h" |
373 | > | 459 | > |
374 | </File> | 460 | </File> |
diff --git a/linden/scripts/messages/message_template.msg b/linden/scripts/messages/message_template.msg index 8213ed0..71bbb0e 100644 --- a/linden/scripts/messages/message_template.msg +++ b/linden/scripts/messages/message_template.msg | |||
@@ -2122,6 +2122,10 @@ sim -> dataserver | |||
2122 | { AnimID LLUUID } | 2122 | { AnimID LLUUID } |
2123 | { StartAnim BOOL } | 2123 | { StartAnim BOOL } |
2124 | } | 2124 | } |
2125 | { | ||
2126 | PhysicalAvatarEventList Variable | ||
2127 | { TypeData Variable 1 } | ||
2128 | } | ||
2125 | } | 2129 | } |
2126 | 2130 | ||
2127 | // AgentRequestSit - Try to sit on an object | 2131 | // AgentRequestSit - Try to sit on an object |
@@ -3957,6 +3961,11 @@ sim -> dataserver | |||
3957 | AnimationSourceList Variable | 3961 | AnimationSourceList Variable |
3958 | { ObjectID LLUUID } | 3962 | { ObjectID LLUUID } |
3959 | } | 3963 | } |
3964 | { | ||
3965 | PhysicalAvatarEventList Variable | ||
3966 | { TypeData Variable 1 } | ||
3967 | } | ||
3968 | |||
3960 | } | 3969 | } |
3961 | 3970 | ||
3962 | // AvatarAppearance - Update visual params | 3971 | // AvatarAppearance - Update visual params |
@@ -6360,6 +6369,7 @@ sim -> dataserver | |||
6360 | AgentData Single | 6369 | AgentData Single |
6361 | { AgentID LLUUID } | 6370 | { AgentID LLUUID } |
6362 | { SessionID LLUUID } | 6371 | { SessionID LLUUID } |
6372 | { TransactionID LLUUID } | ||
6363 | } | 6373 | } |
6364 | { | 6374 | { |
6365 | InventoryData Variable | 6375 | InventoryData Variable |
@@ -6400,6 +6410,7 @@ sim -> dataserver | |||
6400 | AgentData Single | 6410 | AgentData Single |
6401 | { AgentID LLUUID } | 6411 | { AgentID LLUUID } |
6402 | { SimApproved BOOL } | 6412 | { SimApproved BOOL } |
6413 | { TransactionID LLUUID } | ||
6403 | } | 6414 | } |
6404 | { | 6415 | { |
6405 | InventoryData Variable | 6416 | InventoryData Variable |
@@ -6928,6 +6939,11 @@ sim -> dataserver | |||
6928 | // saving into task inventory. | 6939 | // saving into task inventory. |
6929 | { | 6940 | { |
6930 | DeRezAck Low Trusted Unencoded | 6941 | DeRezAck Low Trusted Unencoded |
6942 | { | ||
6943 | TransactionData Single | ||
6944 | { TransactionID LLUUID } | ||
6945 | { Success BOOL } | ||
6946 | } | ||
6931 | } | 6947 | } |
6932 | 6948 | ||
6933 | // This message is sent from viewer -> simulator when the viewer wants | 6949 | // This message is sent from viewer -> simulator when the viewer wants |