diff options
author | Jacek Antonelli | 2008-08-15 23:45:34 -0500 |
---|---|---|
committer | Jacek Antonelli | 2008-08-15 23:45:34 -0500 |
commit | cd17687f01420952712a500107e0f93e7ab8d5f8 (patch) | |
tree | ce48c2b706f2c1176290e39fb555fbdf6648ce01 /linden/indra/llinventory | |
parent | Second Life viewer sources 1.19.0.5 (diff) | |
download | meta-impy-cd17687f01420952712a500107e0f93e7ab8d5f8.zip meta-impy-cd17687f01420952712a500107e0f93e7ab8d5f8.tar.gz meta-impy-cd17687f01420952712a500107e0f93e7ab8d5f8.tar.bz2 meta-impy-cd17687f01420952712a500107e0f93e7ab8d5f8.tar.xz |
Second Life viewer sources 1.19.1.0
Diffstat (limited to 'linden/indra/llinventory')
-rw-r--r-- | linden/indra/llinventory/llinventory.cpp | 70 | ||||
-rw-r--r-- | linden/indra/llinventory/llinventory.h | 4 | ||||
-rw-r--r-- | linden/indra/llinventory/llinventory_vc8.vcproj | 694 | ||||
-rw-r--r-- | linden/indra/llinventory/llinventory_vc9.vcproj | 696 | ||||
-rw-r--r-- | linden/indra/llinventory/llparcel.cpp | 1409 | ||||
-rw-r--r-- | linden/indra/llinventory/llparcel.h | 22 | ||||
-rw-r--r-- | linden/indra/llinventory/llpermissions.cpp | 33 | ||||
-rw-r--r-- | linden/indra/llinventory/llpermissions.h | 3 | ||||
-rw-r--r-- | linden/indra/llinventory/llsaleinfo.cpp | 21 | ||||
-rw-r--r-- | linden/indra/llinventory/llsaleinfo.h | 3 |
10 files changed, 1616 insertions, 1339 deletions
diff --git a/linden/indra/llinventory/llinventory.cpp b/linden/indra/llinventory/llinventory.cpp index 3e3290c..e6c1175 100644 --- a/linden/indra/llinventory/llinventory.cpp +++ b/linden/indra/llinventory/llinventory.cpp | |||
@@ -54,6 +54,7 @@ static const std::string INV_INVENTORY_TYPE_LABEL("inv_type"); | |||
54 | static const std::string INV_NAME_LABEL("name"); | 54 | static const std::string INV_NAME_LABEL("name"); |
55 | static const std::string INV_DESC_LABEL("desc"); | 55 | static const std::string INV_DESC_LABEL("desc"); |
56 | static const std::string INV_PERMISSIONS_LABEL("permissions"); | 56 | static const std::string INV_PERMISSIONS_LABEL("permissions"); |
57 | static const std::string INV_SHADOW_ID_LABEL("shadow_id"); | ||
57 | static const std::string INV_ASSET_ID_LABEL("asset_id"); | 58 | static const std::string INV_ASSET_ID_LABEL("asset_id"); |
58 | static const std::string INV_SALE_INFO_LABEL("sale_info"); | 59 | static const std::string INV_SALE_INFO_LABEL("sale_info"); |
59 | static const std::string INV_FLAGS_LABEL("flags"); | 60 | static const std::string INV_FLAGS_LABEL("flags"); |
@@ -927,34 +928,34 @@ BOOL LLInventoryItem::exportLegacyStream(std::ostream& output_stream, BOOL inclu | |||
927 | LLSD LLInventoryItem::asLLSD() const | 928 | LLSD LLInventoryItem::asLLSD() const |
928 | { | 929 | { |
929 | LLSD sd = LLSD(); | 930 | LLSD sd = LLSD(); |
930 | sd["item_id"] = mUUID; | 931 | sd[INV_ITEM_ID_LABEL] = mUUID; |
931 | sd["parent_id"] = mParentUUID; | 932 | sd[INV_PARENT_ID_LABEL] = mParentUUID; |
932 | sd["permissions"] = ll_create_sd_from_permissions(mPermissions); | 933 | sd[INV_PERMISSIONS_LABEL] = ll_create_sd_from_permissions(mPermissions); |
933 | 934 | ||
934 | U32 mask = mPermissions.getMaskBase(); | 935 | U32 mask = mPermissions.getMaskBase(); |
935 | if(((mask & PERM_ITEM_UNRESTRICTED) == PERM_ITEM_UNRESTRICTED) | 936 | if(((mask & PERM_ITEM_UNRESTRICTED) == PERM_ITEM_UNRESTRICTED) |
936 | || (mAssetUUID.isNull())) | 937 | || (mAssetUUID.isNull())) |
937 | { | 938 | { |
938 | sd["asset_id"] = mAssetUUID; | 939 | sd[INV_ASSET_ID_LABEL] = mAssetUUID; |
939 | } | 940 | } |
940 | else | 941 | else |
941 | { | 942 | { |
942 | LLUUID shadow_id(mAssetUUID); | 943 | LLUUID shadow_id(mAssetUUID); |
943 | LLXORCipher cipher(MAGIC_ID.mData, UUID_BYTES); | 944 | LLXORCipher cipher(MAGIC_ID.mData, UUID_BYTES); |
944 | cipher.encrypt(shadow_id.mData, UUID_BYTES); | 945 | cipher.encrypt(shadow_id.mData, UUID_BYTES); |
945 | sd["shadow_id"] = shadow_id; | 946 | sd[INV_SHADOW_ID_LABEL] = shadow_id; |
946 | } | 947 | } |
947 | sd["type"] = LLAssetType::lookup(mType); | 948 | sd[INV_ASSET_TYPE_LABEL] = LLAssetType::lookup(mType); |
948 | const char* inv_type_str = LLInventoryType::lookup(mInventoryType); | 949 | const char* inv_type_str = LLInventoryType::lookup(mInventoryType); |
949 | if(inv_type_str) | 950 | if(inv_type_str) |
950 | { | 951 | { |
951 | sd["inv_type"] = inv_type_str; | 952 | sd[INV_INVENTORY_TYPE_LABEL] = inv_type_str; |
952 | } | 953 | } |
953 | sd["flags"] = ll_sd_from_U32(mFlags); | 954 | sd[INV_FLAGS_LABEL] = ll_sd_from_U32(mFlags); |
954 | sd["sale_info"] = mSaleInfo; | 955 | sd[INV_SALE_INFO_LABEL] = mSaleInfo; |
955 | sd["name"] = mName; | 956 | sd[INV_NAME_LABEL] = mName; |
956 | sd["desc"] = mDescription; | 957 | sd[INV_DESC_LABEL] = mDescription; |
957 | sd["creation_date"] = mCreationDate; | 958 | sd[INV_CREATION_DATE_LABEL] = mCreationDate; |
958 | 959 | ||
959 | return sd; | 960 | return sd; |
960 | } | 961 | } |
@@ -1007,7 +1008,7 @@ bool LLInventoryItem::fromLLSD(LLSD& sd) | |||
1007 | mPermissions.setMaskNext(perm_mask); | 1008 | mPermissions.setMaskNext(perm_mask); |
1008 | } | 1009 | } |
1009 | } | 1010 | } |
1010 | w = "shadow_id"; | 1011 | w = INV_SHADOW_ID_LABEL; |
1011 | if (sd.has(w)) | 1012 | if (sd.has(w)) |
1012 | { | 1013 | { |
1013 | mAssetUUID = sd[w]; | 1014 | mAssetUUID = sd[w]; |
@@ -1357,6 +1358,19 @@ void LLInventoryCategory::setPreferredType(LLAssetType::EType type) | |||
1357 | mPreferredType = type; | 1358 | mPreferredType = type; |
1358 | } | 1359 | } |
1359 | 1360 | ||
1361 | LLSD LLInventoryCategory::asLLSD() const | ||
1362 | { | ||
1363 | LLSD sd = LLSD(); | ||
1364 | sd["item_id"] = mUUID; | ||
1365 | sd["parent_id"] = mParentUUID; | ||
1366 | S8 type = static_cast<S8>(mPreferredType); | ||
1367 | sd["type"] = type; | ||
1368 | sd["name"] = mName; | ||
1369 | |||
1370 | return sd; | ||
1371 | } | ||
1372 | |||
1373 | |||
1360 | // virtual | 1374 | // virtual |
1361 | void LLInventoryCategory::packMessage(LLMessageSystem* msg) const | 1375 | void LLInventoryCategory::packMessage(LLMessageSystem* msg) const |
1362 | { | 1376 | { |
@@ -1367,6 +1381,36 @@ void LLInventoryCategory::packMessage(LLMessageSystem* msg) const | |||
1367 | msg->addStringFast(_PREHASH_Name, mName); | 1381 | msg->addStringFast(_PREHASH_Name, mName); |
1368 | } | 1382 | } |
1369 | 1383 | ||
1384 | bool LLInventoryCategory::fromLLSD(LLSD& sd) | ||
1385 | { | ||
1386 | std::string w; | ||
1387 | |||
1388 | w = INV_ITEM_ID_LABEL; | ||
1389 | if (sd.has(w)) | ||
1390 | { | ||
1391 | mUUID = sd[w]; | ||
1392 | } | ||
1393 | w = INV_PARENT_ID_LABEL; | ||
1394 | if (sd.has(w)) | ||
1395 | { | ||
1396 | mParentUUID = sd[w]; | ||
1397 | } | ||
1398 | w = INV_ASSET_TYPE_LABEL; | ||
1399 | if (sd.has(w)) | ||
1400 | { | ||
1401 | S8 type = (U8)sd[w].asInteger(); | ||
1402 | mPreferredType = static_cast<LLAssetType::EType>(type); | ||
1403 | } | ||
1404 | w = INV_NAME_LABEL; | ||
1405 | if (sd.has(w)) | ||
1406 | { | ||
1407 | mName = sd[w].asString(); | ||
1408 | LLString::replaceNonstandardASCII(mName, ' '); | ||
1409 | LLString::replaceChar(mName, '|', ' '); | ||
1410 | } | ||
1411 | return true; | ||
1412 | } | ||
1413 | |||
1370 | // virtual | 1414 | // virtual |
1371 | void LLInventoryCategory::unpackMessage(LLMessageSystem* msg, | 1415 | void LLInventoryCategory::unpackMessage(LLMessageSystem* msg, |
1372 | const char* block, | 1416 | const char* block, |
diff --git a/linden/indra/llinventory/llinventory.h b/linden/indra/llinventory/llinventory.h index 76d439b..3662d63 100644 --- a/linden/indra/llinventory/llinventory.h +++ b/linden/indra/llinventory/llinventory.h | |||
@@ -230,7 +230,6 @@ public: | |||
230 | // network ok. It uses a simple crc check which is defeatable, but | 230 | // network ok. It uses a simple crc check which is defeatable, but |
231 | // we want to detect network mangling somehow. | 231 | // we want to detect network mangling somehow. |
232 | virtual BOOL unpackMessage(LLMessageSystem* msg, const char* block, S32 block_num = 0); | 232 | virtual BOOL unpackMessage(LLMessageSystem* msg, const char* block, S32 block_num = 0); |
233 | |||
234 | // file support | 233 | // file support |
235 | virtual BOOL importFile(FILE* fp); | 234 | virtual BOOL importFile(FILE* fp); |
236 | virtual BOOL exportFile(FILE* fp, BOOL include_asset_key = TRUE) const; | 235 | virtual BOOL exportFile(FILE* fp, BOOL include_asset_key = TRUE) const; |
@@ -288,6 +287,9 @@ public: | |||
288 | virtual void packMessage(LLMessageSystem* msg) const; | 287 | virtual void packMessage(LLMessageSystem* msg) const; |
289 | virtual void unpackMessage(LLMessageSystem* msg, const char* block, S32 block_num = 0); | 288 | virtual void unpackMessage(LLMessageSystem* msg, const char* block, S32 block_num = 0); |
290 | 289 | ||
290 | LLSD asLLSD() const; | ||
291 | bool fromLLSD(LLSD& sd); | ||
292 | |||
291 | // file support | 293 | // file support |
292 | virtual BOOL importFile(FILE* fp); | 294 | virtual BOOL importFile(FILE* fp); |
293 | virtual BOOL exportFile(FILE* fp, BOOL include_asset_key = TRUE) const; | 295 | virtual BOOL exportFile(FILE* fp, BOOL include_asset_key = TRUE) const; |
diff --git a/linden/indra/llinventory/llinventory_vc8.vcproj b/linden/indra/llinventory/llinventory_vc8.vcproj index 306e6a5..34dadc9 100644 --- a/linden/indra/llinventory/llinventory_vc8.vcproj +++ b/linden/indra/llinventory/llinventory_vc8.vcproj | |||
@@ -1,347 +1,347 @@ | |||
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="llinventory" | 5 | Name="llinventory" |
6 | ProjectGUID="{328D1968-924F-4863-AAE8-5F9A95BA68E5}" | 6 | ProjectGUID="{328D1968-924F-4863-AAE8-5F9A95BA68E5}" |
7 | RootNamespace="llinventory" | 7 | RootNamespace="llinventory" |
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="Debug" | 21 | IntermediateDirectory="Debug" |
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="..\llcommon;..\llmath;..\llvfs;..\llmessage;..\llxml;..\..\libraries\i686-win32\include;..\..\libraries\include" | 44 | AdditionalIncludeDirectories="..\llcommon;..\llmath;..\llvfs;..\llmessage;..\llxml;..\..\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" | 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 | 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)/llinventory.lib" | 69 | OutputFile="$(OutDir)/llinventory.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="Release" | 90 | IntermediateDirectory="Release" |
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 | AdditionalOptions="/Oy-" | 112 | AdditionalOptions="/Oy-" |
113 | AdditionalIncludeDirectories="..\llcommon;..\llmath;..\llvfs;..\llmessage;..\llxml;..\..\libraries\i686-win32\include;..\..\libraries\include" | 113 | AdditionalIncludeDirectories="..\llcommon;..\llmath;..\llvfs;..\llmessage;..\llxml;..\..\libraries\i686-win32\include;..\..\libraries\include" |
114 | PreprocessorDefinitions="WIN32;NDEBUG;_LIB;LL_WINDOWS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_USE_32BIT_TIME_T;LL_RELEASE" | 114 | PreprocessorDefinitions="WIN32;NDEBUG;_LIB;LL_WINDOWS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_USE_32BIT_TIME_T;LL_RELEASE" |
115 | RuntimeLibrary="0" | 115 | RuntimeLibrary="0" |
116 | StructMemberAlignment="0" | 116 | StructMemberAlignment="0" |
117 | TreatWChar_tAsBuiltInType="false" | 117 | TreatWChar_tAsBuiltInType="false" |
118 | ForceConformanceInForLoopScope="true" | 118 | ForceConformanceInForLoopScope="true" |
119 | UsePrecompiledHeader="0" | 119 | UsePrecompiledHeader="0" |
120 | WarningLevel="3" | 120 | WarningLevel="3" |
121 | WarnAsError="true" | 121 | WarnAsError="true" |
122 | Detect64BitPortabilityProblems="false" | 122 | Detect64BitPortabilityProblems="false" |
123 | DebugInformationFormat="3" | 123 | DebugInformationFormat="3" |
124 | /> | 124 | /> |
125 | <Tool | 125 | <Tool |
126 | Name="VCManagedResourceCompilerTool" | 126 | Name="VCManagedResourceCompilerTool" |
127 | /> | 127 | /> |
128 | <Tool | 128 | <Tool |
129 | Name="VCResourceCompilerTool" | 129 | Name="VCResourceCompilerTool" |
130 | /> | 130 | /> |
131 | <Tool | 131 | <Tool |
132 | Name="VCPreLinkEventTool" | 132 | Name="VCPreLinkEventTool" |
133 | /> | 133 | /> |
134 | <Tool | 134 | <Tool |
135 | Name="VCLibrarianTool" | 135 | Name="VCLibrarianTool" |
136 | OutputFile="$(OutDir)/llinventory.lib" | 136 | OutputFile="$(OutDir)/llinventory.lib" |
137 | /> | 137 | /> |
138 | <Tool | 138 | <Tool |
139 | Name="VCALinkTool" | 139 | Name="VCALinkTool" |
140 | /> | 140 | /> |
141 | <Tool | 141 | <Tool |
142 | Name="VCXDCMakeTool" | 142 | Name="VCXDCMakeTool" |
143 | /> | 143 | /> |
144 | <Tool | 144 | <Tool |
145 | Name="VCBscMakeTool" | 145 | Name="VCBscMakeTool" |
146 | /> | 146 | /> |
147 | <Tool | 147 | <Tool |
148 | Name="VCFxCopTool" | 148 | Name="VCFxCopTool" |
149 | /> | 149 | /> |
150 | <Tool | 150 | <Tool |
151 | Name="VCPostBuildEventTool" | 151 | Name="VCPostBuildEventTool" |
152 | /> | 152 | /> |
153 | </Configuration> | 153 | </Configuration> |
154 | <Configuration | 154 | <Configuration |
155 | Name="ReleaseNoOpt|Win32" | 155 | Name="ReleaseNoOpt|Win32" |
156 | OutputDirectory="../lib_$(ConfigurationName)/i686-win32" | 156 | OutputDirectory="../lib_$(ConfigurationName)/i686-win32" |
157 | IntermediateDirectory="$(ConfigurationName)" | 157 | IntermediateDirectory="$(ConfigurationName)" |
158 | ConfigurationType="4" | 158 | ConfigurationType="4" |
159 | InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" | 159 | InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" |
160 | CharacterSet="1" | 160 | CharacterSet="1" |
161 | > | 161 | > |
162 | <Tool | 162 | <Tool |
163 | Name="VCPreBuildEventTool" | 163 | Name="VCPreBuildEventTool" |
164 | /> | 164 | /> |
165 | <Tool | 165 | <Tool |
166 | Name="VCCustomBuildTool" | 166 | Name="VCCustomBuildTool" |
167 | /> | 167 | /> |
168 | <Tool | 168 | <Tool |
169 | Name="VCXMLDataGeneratorTool" | 169 | Name="VCXMLDataGeneratorTool" |
170 | /> | 170 | /> |
171 | <Tool | 171 | <Tool |
172 | Name="VCWebServiceProxyGeneratorTool" | 172 | Name="VCWebServiceProxyGeneratorTool" |
173 | /> | 173 | /> |
174 | <Tool | 174 | <Tool |
175 | Name="VCMIDLTool" | 175 | Name="VCMIDLTool" |
176 | /> | 176 | /> |
177 | <Tool | 177 | <Tool |
178 | Name="VCCLCompilerTool" | 178 | Name="VCCLCompilerTool" |
179 | AdditionalOptions="/Oy-" | 179 | AdditionalOptions="/Oy-" |
180 | Optimization="0" | 180 | Optimization="0" |
181 | AdditionalIncludeDirectories="..\llcommon;..\llmath;..\llvfs;..\llmessage;..\llxml;..\..\libraries\i686-win32\include;..\..\libraries\include" | 181 | AdditionalIncludeDirectories="..\llcommon;..\llmath;..\llvfs;..\llmessage;..\llxml;..\..\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" | 182 | PreprocessorDefinitions="WIN32;NDEBUG;_LIB;LL_WINDOWS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_USE_32BIT_TIME_T;LL_RELEASE" |
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)/llinventory.lib" | 204 | OutputFile="$(OutDir)/llinventory.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=".\llcategory.cpp" | 232 | RelativePath=".\llcategory.cpp" |
233 | > | 233 | > |
234 | </File> | 234 | </File> |
235 | <File | 235 | <File |
236 | RelativePath=".\lleconomy.cpp" | 236 | RelativePath=".\lleconomy.cpp" |
237 | > | 237 | > |
238 | </File> | 238 | </File> |
239 | <File | 239 | <File |
240 | RelativePath=".\llinventory.cpp" | 240 | RelativePath=".\llinventory.cpp" |
241 | > | 241 | > |
242 | </File> | 242 | </File> |
243 | <File | 243 | <File |
244 | RelativePath=".\llinventorytype.cpp" | 244 | RelativePath=".\llinventorytype.cpp" |
245 | > | 245 | > |
246 | </File> | 246 | </File> |
247 | <File | 247 | <File |
248 | RelativePath=".\lllandmark.cpp" | 248 | RelativePath=".\lllandmark.cpp" |
249 | > | 249 | > |
250 | </File> | 250 | </File> |
251 | <File | 251 | <File |
252 | RelativePath=".\llnotecard.cpp" | 252 | RelativePath=".\llnotecard.cpp" |
253 | > | 253 | > |
254 | </File> | 254 | </File> |
255 | <File | 255 | <File |
256 | RelativePath=".\llparcel.cpp" | 256 | RelativePath=".\llparcel.cpp" |
257 | > | 257 | > |
258 | </File> | 258 | </File> |
259 | <File | 259 | <File |
260 | RelativePath=".\llpermissions.cpp" | 260 | RelativePath=".\llpermissions.cpp" |
261 | > | 261 | > |
262 | </File> | 262 | </File> |
263 | <File | 263 | <File |
264 | RelativePath=".\llsaleinfo.cpp" | 264 | RelativePath=".\llsaleinfo.cpp" |
265 | > | 265 | > |
266 | </File> | 266 | </File> |
267 | <File | 267 | <File |
268 | RelativePath=".\lltransactionflags.cpp" | 268 | RelativePath=".\lltransactionflags.cpp" |
269 | > | 269 | > |
270 | </File> | 270 | </File> |
271 | <File | 271 | <File |
272 | RelativePath=".\lluserrelations.cpp" | 272 | RelativePath=".\lluserrelations.cpp" |
273 | > | 273 | > |
274 | </File> | 274 | </File> |
275 | </Filter> | 275 | </Filter> |
276 | <Filter | 276 | <Filter |
277 | Name="Header Files" | 277 | Name="Header Files" |
278 | Filter="h;hpp;hxx;hm;inl;inc;xsd" | 278 | Filter="h;hpp;hxx;hm;inl;inc;xsd" |
279 | UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" | 279 | UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" |
280 | > | 280 | > |
281 | <File | 281 | <File |
282 | RelativePath=".\llcategory.h" | 282 | RelativePath=".\llcategory.h" |
283 | > | 283 | > |
284 | </File> | 284 | </File> |
285 | <File | 285 | <File |
286 | RelativePath=".\lleconomy.h" | 286 | RelativePath=".\lleconomy.h" |
287 | > | 287 | > |
288 | </File> | 288 | </File> |
289 | <File | 289 | <File |
290 | RelativePath=".\llinventory.h" | 290 | RelativePath=".\llinventory.h" |
291 | > | 291 | > |
292 | </File> | 292 | </File> |
293 | <File | 293 | <File |
294 | RelativePath=".\llinventorytype.h" | 294 | RelativePath=".\llinventorytype.h" |
295 | > | 295 | > |
296 | </File> | 296 | </File> |
297 | <File | 297 | <File |
298 | RelativePath=".\lllandmark.h" | 298 | RelativePath=".\lllandmark.h" |
299 | > | 299 | > |
300 | </File> | 300 | </File> |
301 | <File | 301 | <File |
302 | RelativePath=".\llnotecard.h" | 302 | RelativePath=".\llnotecard.h" |
303 | > | 303 | > |
304 | </File> | 304 | </File> |
305 | <File | 305 | <File |
306 | RelativePath=".\llparcel.h" | 306 | RelativePath=".\llparcel.h" |
307 | > | 307 | > |
308 | </File> | 308 | </File> |
309 | <File | 309 | <File |
310 | RelativePath=".\llparcelflags.h" | 310 | RelativePath=".\llparcelflags.h" |
311 | > | 311 | > |
312 | </File> | 312 | </File> |
313 | <File | 313 | <File |
314 | RelativePath=".\llpermissions.h" | 314 | RelativePath=".\llpermissions.h" |
315 | > | 315 | > |
316 | </File> | 316 | </File> |
317 | <File | 317 | <File |
318 | RelativePath=".\llpermissionsflags.h" | 318 | RelativePath=".\llpermissionsflags.h" |
319 | > | 319 | > |
320 | </File> | 320 | </File> |
321 | <File | 321 | <File |
322 | RelativePath=".\llsaleinfo.h" | 322 | RelativePath=".\llsaleinfo.h" |
323 | > | 323 | > |
324 | </File> | 324 | </File> |
325 | <File | 325 | <File |
326 | RelativePath=".\lltransactionflags.h" | 326 | RelativePath=".\lltransactionflags.h" |
327 | > | 327 | > |
328 | </File> | 328 | </File> |
329 | <File | 329 | <File |
330 | RelativePath=".\lltransactiontypes.h" | 330 | RelativePath=".\lltransactiontypes.h" |
331 | > | 331 | > |
332 | </File> | 332 | </File> |
333 | <File | 333 | <File |
334 | RelativePath=".\lluserrelations.h" | 334 | RelativePath=".\lluserrelations.h" |
335 | > | 335 | > |
336 | </File> | 336 | </File> |
337 | </Filter> | 337 | </Filter> |
338 | <Filter | 338 | <Filter |
339 | Name="Resource Files" | 339 | Name="Resource Files" |
340 | Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx" | 340 | Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx" |
341 | UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" | 341 | UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" |
342 | > | 342 | > |
343 | </Filter> | 343 | </Filter> |
344 | </Files> | 344 | </Files> |
345 | <Globals> | 345 | <Globals> |
346 | </Globals> | 346 | </Globals> |
347 | </VisualStudioProject> | 347 | </VisualStudioProject> |
diff --git a/linden/indra/llinventory/llinventory_vc9.vcproj b/linden/indra/llinventory/llinventory_vc9.vcproj index c48b962..cdc6c43 100644 --- a/linden/indra/llinventory/llinventory_vc9.vcproj +++ b/linden/indra/llinventory/llinventory_vc9.vcproj | |||
@@ -1,348 +1,348 @@ | |||
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="9.00" | 4 | Version="9.00" |
5 | Name="llinventory" | 5 | Name="llinventory" |
6 | ProjectGUID="{328D1968-924F-4863-AAE8-5F9A95BA68E5}" | 6 | ProjectGUID="{328D1968-924F-4863-AAE8-5F9A95BA68E5}" |
7 | RootNamespace="llinventory" | 7 | RootNamespace="llinventory" |
8 | Keyword="Win32Proj" | 8 | Keyword="Win32Proj" |
9 | TargetFrameworkVersion="131072" | 9 | TargetFrameworkVersion="131072" |
10 | > | 10 | > |
11 | <Platforms> | 11 | <Platforms> |
12 | <Platform | 12 | <Platform |
13 | Name="Win32" | 13 | Name="Win32" |
14 | /> | 14 | /> |
15 | </Platforms> | 15 | </Platforms> |
16 | <ToolFiles> | 16 | <ToolFiles> |
17 | </ToolFiles> | 17 | </ToolFiles> |
18 | <Configurations> | 18 | <Configurations> |
19 | <Configuration | 19 | <Configuration |
20 | Name="Debug|Win32" | 20 | Name="Debug|Win32" |
21 | OutputDirectory="../lib_$(ConfigurationName)/i686-win32" | 21 | OutputDirectory="../lib_$(ConfigurationName)/i686-win32" |
22 | IntermediateDirectory="Debug" | 22 | IntermediateDirectory="Debug" |
23 | ConfigurationType="4" | 23 | ConfigurationType="4" |
24 | InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" | 24 | InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" |
25 | CharacterSet="1" | 25 | CharacterSet="1" |
26 | > | 26 | > |
27 | <Tool | 27 | <Tool |
28 | Name="VCPreBuildEventTool" | 28 | Name="VCPreBuildEventTool" |
29 | /> | 29 | /> |
30 | <Tool | 30 | <Tool |
31 | Name="VCCustomBuildTool" | 31 | Name="VCCustomBuildTool" |
32 | /> | 32 | /> |
33 | <Tool | 33 | <Tool |
34 | Name="VCXMLDataGeneratorTool" | 34 | Name="VCXMLDataGeneratorTool" |
35 | /> | 35 | /> |
36 | <Tool | 36 | <Tool |
37 | Name="VCWebServiceProxyGeneratorTool" | 37 | Name="VCWebServiceProxyGeneratorTool" |
38 | /> | 38 | /> |
39 | <Tool | 39 | <Tool |
40 | Name="VCMIDLTool" | 40 | Name="VCMIDLTool" |
41 | /> | 41 | /> |
42 | <Tool | 42 | <Tool |
43 | Name="VCCLCompilerTool" | 43 | Name="VCCLCompilerTool" |
44 | Optimization="0" | 44 | Optimization="0" |
45 | AdditionalIncludeDirectories="..\llcommon;..\llmath;..\llvfs;..\llmessage;..\llxml;..\..\libraries\i686-win32\include;..\..\libraries\include" | 45 | AdditionalIncludeDirectories="..\llcommon;..\llmath;..\llvfs;..\llmessage;..\llxml;..\..\libraries\i686-win32\include;..\..\libraries\include" |
46 | PreprocessorDefinitions="WIN32;_DEBUG;_LIB;LL_WINDOWS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_USE_32BIT_TIME_T;LL_DEBUG" | 46 | PreprocessorDefinitions="WIN32;_DEBUG;_LIB;LL_WINDOWS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_USE_32BIT_TIME_T;LL_DEBUG" |
47 | MinimalRebuild="true" | 47 | MinimalRebuild="true" |
48 | BasicRuntimeChecks="3" | 48 | BasicRuntimeChecks="3" |
49 | RuntimeLibrary="1" | 49 | RuntimeLibrary="1" |
50 | StructMemberAlignment="4" | 50 | StructMemberAlignment="4" |
51 | TreatWChar_tAsBuiltInType="false" | 51 | TreatWChar_tAsBuiltInType="false" |
52 | ForceConformanceInForLoopScope="true" | 52 | ForceConformanceInForLoopScope="true" |
53 | UsePrecompiledHeader="0" | 53 | UsePrecompiledHeader="0" |
54 | WarningLevel="3" | 54 | WarningLevel="3" |
55 | WarnAsError="true" | 55 | WarnAsError="true" |
56 | Detect64BitPortabilityProblems="false" | 56 | Detect64BitPortabilityProblems="false" |
57 | DebugInformationFormat="4" | 57 | DebugInformationFormat="4" |
58 | /> | 58 | /> |
59 | <Tool | 59 | <Tool |
60 | Name="VCManagedResourceCompilerTool" | 60 | Name="VCManagedResourceCompilerTool" |
61 | /> | 61 | /> |
62 | <Tool | 62 | <Tool |
63 | Name="VCResourceCompilerTool" | 63 | Name="VCResourceCompilerTool" |
64 | /> | 64 | /> |
65 | <Tool | 65 | <Tool |
66 | Name="VCPreLinkEventTool" | 66 | Name="VCPreLinkEventTool" |
67 | /> | 67 | /> |
68 | <Tool | 68 | <Tool |
69 | Name="VCLibrarianTool" | 69 | Name="VCLibrarianTool" |
70 | OutputFile="$(OutDir)/llinventory.lib" | 70 | OutputFile="$(OutDir)/llinventory.lib" |
71 | /> | 71 | /> |
72 | <Tool | 72 | <Tool |
73 | Name="VCALinkTool" | 73 | Name="VCALinkTool" |
74 | /> | 74 | /> |
75 | <Tool | 75 | <Tool |
76 | Name="VCXDCMakeTool" | 76 | Name="VCXDCMakeTool" |
77 | /> | 77 | /> |
78 | <Tool | 78 | <Tool |
79 | Name="VCBscMakeTool" | 79 | Name="VCBscMakeTool" |
80 | /> | 80 | /> |
81 | <Tool | 81 | <Tool |
82 | Name="VCFxCopTool" | 82 | Name="VCFxCopTool" |
83 | /> | 83 | /> |
84 | <Tool | 84 | <Tool |
85 | Name="VCPostBuildEventTool" | 85 | Name="VCPostBuildEventTool" |
86 | /> | 86 | /> |
87 | </Configuration> | 87 | </Configuration> |
88 | <Configuration | 88 | <Configuration |
89 | Name="Release|Win32" | 89 | Name="Release|Win32" |
90 | OutputDirectory="../lib_$(ConfigurationName)/i686-win32" | 90 | OutputDirectory="../lib_$(ConfigurationName)/i686-win32" |
91 | IntermediateDirectory="Release" | 91 | IntermediateDirectory="Release" |
92 | ConfigurationType="4" | 92 | ConfigurationType="4" |
93 | InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" | 93 | InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" |
94 | CharacterSet="1" | 94 | CharacterSet="1" |
95 | > | 95 | > |
96 | <Tool | 96 | <Tool |
97 | Name="VCPreBuildEventTool" | 97 | Name="VCPreBuildEventTool" |
98 | /> | 98 | /> |
99 | <Tool | 99 | <Tool |
100 | Name="VCCustomBuildTool" | 100 | Name="VCCustomBuildTool" |
101 | /> | 101 | /> |
102 | <Tool | 102 | <Tool |
103 | Name="VCXMLDataGeneratorTool" | 103 | Name="VCXMLDataGeneratorTool" |
104 | /> | 104 | /> |
105 | <Tool | 105 | <Tool |
106 | Name="VCWebServiceProxyGeneratorTool" | 106 | Name="VCWebServiceProxyGeneratorTool" |
107 | /> | 107 | /> |
108 | <Tool | 108 | <Tool |
109 | Name="VCMIDLTool" | 109 | Name="VCMIDLTool" |
110 | /> | 110 | /> |
111 | <Tool | 111 | <Tool |
112 | Name="VCCLCompilerTool" | 112 | Name="VCCLCompilerTool" |
113 | AdditionalOptions="/Oy-" | 113 | AdditionalOptions="/Oy-" |
114 | AdditionalIncludeDirectories="..\llcommon;..\llmath;..\llvfs;..\llmessage;..\llxml;..\..\libraries\i686-win32\include;..\..\libraries\include" | 114 | AdditionalIncludeDirectories="..\llcommon;..\llmath;..\llvfs;..\llmessage;..\llxml;..\..\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" | 115 | PreprocessorDefinitions="WIN32;NDEBUG;_LIB;LL_WINDOWS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_USE_32BIT_TIME_T;LL_RELEASE" |
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)/llinventory.lib" | 137 | OutputFile="$(OutDir)/llinventory.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 | AdditionalOptions="/Oy-" | 180 | AdditionalOptions="/Oy-" |
181 | Optimization="0" | 181 | Optimization="0" |
182 | AdditionalIncludeDirectories="..\llcommon;..\llmath;..\llvfs;..\llmessage;..\llxml;..\..\libraries\i686-win32\include;..\..\libraries\include" | 182 | AdditionalIncludeDirectories="..\llcommon;..\llmath;..\llvfs;..\llmessage;..\llxml;..\..\libraries\i686-win32\include;..\..\libraries\include" |
183 | PreprocessorDefinitions="WIN32;NDEBUG;_LIB;LL_WINDOWS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_USE_32BIT_TIME_T;LL_RELEASE" | 183 | PreprocessorDefinitions="WIN32;NDEBUG;_LIB;LL_WINDOWS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_USE_32BIT_TIME_T;LL_RELEASE" |
184 | RuntimeLibrary="0" | 184 | RuntimeLibrary="0" |
185 | StructMemberAlignment="0" | 185 | StructMemberAlignment="0" |
186 | TreatWChar_tAsBuiltInType="false" | 186 | TreatWChar_tAsBuiltInType="false" |
187 | ForceConformanceInForLoopScope="true" | 187 | ForceConformanceInForLoopScope="true" |
188 | UsePrecompiledHeader="0" | 188 | UsePrecompiledHeader="0" |
189 | WarningLevel="3" | 189 | WarningLevel="3" |
190 | WarnAsError="true" | 190 | WarnAsError="true" |
191 | Detect64BitPortabilityProblems="false" | 191 | Detect64BitPortabilityProblems="false" |
192 | DebugInformationFormat="3" | 192 | DebugInformationFormat="3" |
193 | /> | 193 | /> |
194 | <Tool | 194 | <Tool |
195 | Name="VCManagedResourceCompilerTool" | 195 | Name="VCManagedResourceCompilerTool" |
196 | /> | 196 | /> |
197 | <Tool | 197 | <Tool |
198 | Name="VCResourceCompilerTool" | 198 | Name="VCResourceCompilerTool" |
199 | /> | 199 | /> |
200 | <Tool | 200 | <Tool |
201 | Name="VCPreLinkEventTool" | 201 | Name="VCPreLinkEventTool" |
202 | /> | 202 | /> |
203 | <Tool | 203 | <Tool |
204 | Name="VCLibrarianTool" | 204 | Name="VCLibrarianTool" |
205 | OutputFile="$(OutDir)/llinventory.lib" | 205 | OutputFile="$(OutDir)/llinventory.lib" |
206 | /> | 206 | /> |
207 | <Tool | 207 | <Tool |
208 | Name="VCALinkTool" | 208 | Name="VCALinkTool" |
209 | /> | 209 | /> |
210 | <Tool | 210 | <Tool |
211 | Name="VCXDCMakeTool" | 211 | Name="VCXDCMakeTool" |
212 | /> | 212 | /> |
213 | <Tool | 213 | <Tool |
214 | Name="VCBscMakeTool" | 214 | Name="VCBscMakeTool" |
215 | /> | 215 | /> |
216 | <Tool | 216 | <Tool |
217 | Name="VCFxCopTool" | 217 | Name="VCFxCopTool" |
218 | /> | 218 | /> |
219 | <Tool | 219 | <Tool |
220 | Name="VCPostBuildEventTool" | 220 | Name="VCPostBuildEventTool" |
221 | /> | 221 | /> |
222 | </Configuration> | 222 | </Configuration> |
223 | </Configurations> | 223 | </Configurations> |
224 | <References> | 224 | <References> |
225 | </References> | 225 | </References> |
226 | <Files> | 226 | <Files> |
227 | <Filter | 227 | <Filter |
228 | Name="Source Files" | 228 | Name="Source Files" |
229 | Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx" | 229 | Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx" |
230 | UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" | 230 | UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" |
231 | > | 231 | > |
232 | <File | 232 | <File |
233 | RelativePath=".\llcategory.cpp" | 233 | RelativePath=".\llcategory.cpp" |
234 | > | 234 | > |
235 | </File> | 235 | </File> |
236 | <File | 236 | <File |
237 | RelativePath=".\lleconomy.cpp" | 237 | RelativePath=".\lleconomy.cpp" |
238 | > | 238 | > |
239 | </File> | 239 | </File> |
240 | <File | 240 | <File |
241 | RelativePath=".\llinventory.cpp" | 241 | RelativePath=".\llinventory.cpp" |
242 | > | 242 | > |
243 | </File> | 243 | </File> |
244 | <File | 244 | <File |
245 | RelativePath=".\llinventorytype.cpp" | 245 | RelativePath=".\llinventorytype.cpp" |
246 | > | 246 | > |
247 | </File> | 247 | </File> |
248 | <File | 248 | <File |
249 | RelativePath=".\lllandmark.cpp" | 249 | RelativePath=".\lllandmark.cpp" |
250 | > | 250 | > |
251 | </File> | 251 | </File> |
252 | <File | 252 | <File |
253 | RelativePath=".\llnotecard.cpp" | 253 | RelativePath=".\llnotecard.cpp" |
254 | > | 254 | > |
255 | </File> | 255 | </File> |
256 | <File | 256 | <File |
257 | RelativePath=".\llparcel.cpp" | 257 | RelativePath=".\llparcel.cpp" |
258 | > | 258 | > |
259 | </File> | 259 | </File> |
260 | <File | 260 | <File |
261 | RelativePath=".\llpermissions.cpp" | 261 | RelativePath=".\llpermissions.cpp" |
262 | > | 262 | > |
263 | </File> | 263 | </File> |
264 | <File | 264 | <File |
265 | RelativePath=".\llsaleinfo.cpp" | 265 | RelativePath=".\llsaleinfo.cpp" |
266 | > | 266 | > |
267 | </File> | 267 | </File> |
268 | <File | 268 | <File |
269 | RelativePath=".\lltransactionflags.cpp" | 269 | RelativePath=".\lltransactionflags.cpp" |
270 | > | 270 | > |
271 | </File> | 271 | </File> |
272 | <File | 272 | <File |
273 | RelativePath=".\lluserrelations.cpp" | 273 | RelativePath=".\lluserrelations.cpp" |
274 | > | 274 | > |
275 | </File> | 275 | </File> |
276 | </Filter> | 276 | </Filter> |
277 | <Filter | 277 | <Filter |
278 | Name="Header Files" | 278 | Name="Header Files" |
279 | Filter="h;hpp;hxx;hm;inl;inc;xsd" | 279 | Filter="h;hpp;hxx;hm;inl;inc;xsd" |
280 | UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" | 280 | UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" |
281 | > | 281 | > |
282 | <File | 282 | <File |
283 | RelativePath=".\llcategory.h" | 283 | RelativePath=".\llcategory.h" |
284 | > | 284 | > |
285 | </File> | 285 | </File> |
286 | <File | 286 | <File |
287 | RelativePath=".\lleconomy.h" | 287 | RelativePath=".\lleconomy.h" |
288 | > | 288 | > |
289 | </File> | 289 | </File> |
290 | <File | 290 | <File |
291 | RelativePath=".\llinventory.h" | 291 | RelativePath=".\llinventory.h" |
292 | > | 292 | > |
293 | </File> | 293 | </File> |
294 | <File | 294 | <File |
295 | RelativePath=".\llinventorytype.h" | 295 | RelativePath=".\llinventorytype.h" |
296 | > | 296 | > |
297 | </File> | 297 | </File> |
298 | <File | 298 | <File |
299 | RelativePath=".\lllandmark.h" | 299 | RelativePath=".\lllandmark.h" |
300 | > | 300 | > |
301 | </File> | 301 | </File> |
302 | <File | 302 | <File |
303 | RelativePath=".\llnotecard.h" | 303 | RelativePath=".\llnotecard.h" |
304 | > | 304 | > |
305 | </File> | 305 | </File> |
306 | <File | 306 | <File |
307 | RelativePath=".\llparcel.h" | 307 | RelativePath=".\llparcel.h" |
308 | > | 308 | > |
309 | </File> | 309 | </File> |
310 | <File | 310 | <File |
311 | RelativePath=".\llparcelflags.h" | 311 | RelativePath=".\llparcelflags.h" |
312 | > | 312 | > |
313 | </File> | 313 | </File> |
314 | <File | 314 | <File |
315 | RelativePath=".\llpermissions.h" | 315 | RelativePath=".\llpermissions.h" |
316 | > | 316 | > |
317 | </File> | 317 | </File> |
318 | <File | 318 | <File |
319 | RelativePath=".\llpermissionsflags.h" | 319 | RelativePath=".\llpermissionsflags.h" |
320 | > | 320 | > |
321 | </File> | 321 | </File> |
322 | <File | 322 | <File |
323 | RelativePath=".\llsaleinfo.h" | 323 | RelativePath=".\llsaleinfo.h" |
324 | > | 324 | > |
325 | </File> | 325 | </File> |
326 | <File | 326 | <File |
327 | RelativePath=".\lltransactionflags.h" | 327 | RelativePath=".\lltransactionflags.h" |
328 | > | 328 | > |
329 | </File> | 329 | </File> |
330 | <File | 330 | <File |
331 | RelativePath=".\lltransactiontypes.h" | 331 | RelativePath=".\lltransactiontypes.h" |
332 | > | 332 | > |
333 | </File> | 333 | </File> |
334 | <File | 334 | <File |
335 | RelativePath=".\lluserrelations.h" | 335 | RelativePath=".\lluserrelations.h" |
336 | > | 336 | > |
337 | </File> | 337 | </File> |
338 | </Filter> | 338 | </Filter> |
339 | <Filter | 339 | <Filter |
340 | Name="Resource Files" | 340 | Name="Resource Files" |
341 | Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx" | 341 | Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx" |
342 | UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" | 342 | UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" |
343 | > | 343 | > |
344 | </Filter> | 344 | </Filter> |
345 | </Files> | 345 | </Files> |
346 | <Globals> | 346 | <Globals> |
347 | </Globals> | 347 | </Globals> |
348 | </VisualStudioProject> | 348 | </VisualStudioProject> |
diff --git a/linden/indra/llinventory/llparcel.cpp b/linden/indra/llinventory/llparcel.cpp index f8fb4d5..5f8a000 100644 --- a/linden/indra/llinventory/llparcel.cpp +++ b/linden/indra/llinventory/llparcel.cpp | |||
@@ -42,6 +42,7 @@ | |||
42 | #include "llsdutil.h" | 42 | #include "llsdutil.h" |
43 | #include "lltransactiontypes.h" | 43 | #include "lltransactiontypes.h" |
44 | #include "lltransactionflags.h" | 44 | #include "lltransactionflags.h" |
45 | #include "llsdutil.h" | ||
45 | #include "message.h" | 46 | #include "message.h" |
46 | #include "u64.h" | 47 | #include "u64.h" |
47 | 48 | ||
@@ -170,73 +171,80 @@ void LLParcel::init(const LLUUID &owner_id, | |||
170 | S32 rent_price_per_meter, S32 area, S32 sim_object_limit, F32 parcel_object_bonus, | 171 | S32 rent_price_per_meter, S32 area, S32 sim_object_limit, F32 parcel_object_bonus, |
171 | BOOL is_group_owned) | 172 | BOOL is_group_owned) |
172 | { | 173 | { |
173 | mID.setNull(); | 174 | mID.setNull(); |
174 | mOwnerID = owner_id; | 175 | mOwnerID = owner_id; |
175 | mGroupOwned = is_group_owned; | 176 | mGroupOwned = is_group_owned; |
176 | mClaimDate = claim_date; | 177 | mClaimDate = claim_date; |
177 | mClaimPricePerMeter = claim_price_per_meter; | 178 | mClaimPricePerMeter = claim_price_per_meter; |
178 | mRentPricePerMeter = rent_price_per_meter; | 179 | mRentPricePerMeter = rent_price_per_meter; |
179 | mArea = area; | 180 | mArea = area; |
180 | mDiscountRate = 1.0f; | 181 | mDiscountRate = 1.0f; |
181 | mDrawDistance = 512.f; | 182 | mDrawDistance = 512.f; |
182 | 183 | ||
183 | mUserLookAt.setVec(0.0f, 0.f, 0.f); | 184 | mUserLookAt.setVec(0.0f, 0.f, 0.f); |
184 | // Default to using the parcel's landing point, if any. | 185 | // Default to using the parcel's landing point, if any. |
185 | mLandingType = L_LANDING_POINT; | 186 | mLandingType = L_LANDING_POINT; |
186 | 187 | ||
187 | // *FIX: if owner_id != null, should be owned or sale pending, | 188 | // *FIX: if owner_id != null, should be owned or sale pending, |
188 | // investigate init callers. | 189 | // investigate init callers. |
189 | mStatus = OS_NONE; | 190 | mStatus = OS_NONE; |
190 | mCategory = C_NONE; | 191 | mCategory = C_NONE; |
191 | mAuthBuyerID.setNull(); | 192 | mAuthBuyerID.setNull(); |
192 | //mBuyerID.setNull(); | 193 | //mBuyerID.setNull(); |
193 | //mJoinNeighbors = 0x0; | 194 | //mJoinNeighbors = 0x0; |
194 | mSaleTimerExpires.setTimerExpirySec(0); | 195 | mSaleTimerExpires.setTimerExpirySec(0); |
195 | mSaleTimerExpires.stop(); | 196 | mSaleTimerExpires.stop(); |
196 | mGraceExtension = 0; | 197 | mGraceExtension = 0; |
197 | //mExpireAction = STEA_REVERT; | 198 | //mExpireAction = STEA_REVERT; |
198 | mRecordTransaction = FALSE; | 199 | mRecordTransaction = FALSE; |
199 | 200 | ||
200 | mAuctionID = 0; | 201 | mAuctionID = 0; |
201 | mInEscrow = false; | 202 | mInEscrow = false; |
202 | 203 | ||
203 | mParcelFlags = PF_DEFAULT; | 204 | mParcelFlags = PF_DEFAULT; |
204 | setParcelFlag(PF_CREATE_OBJECTS, modify); | 205 | setParcelFlag(PF_CREATE_OBJECTS, modify); |
205 | setParcelFlag(PF_ALLOW_TERRAFORM, terraform); | 206 | setParcelFlag(PF_ALLOW_TERRAFORM, terraform); |
206 | setParcelFlag(PF_ALLOW_DAMAGE, damage); | 207 | setParcelFlag(PF_ALLOW_DAMAGE, damage); |
207 | 208 | ||
208 | mSalePrice = 10000; | 209 | mSalePrice = 10000; |
209 | setName(NULL); | 210 | setName(NULL); |
210 | setDesc(NULL); | 211 | setDesc(NULL); |
211 | setMusicURL(NULL); | 212 | setMusicURL(NULL); |
212 | setMediaURL(NULL); | 213 | setMediaURL(NULL); |
213 | mMediaID.setNull(); | 214 | setMediaDesc(NULL); |
214 | mMediaAutoScale = 0; | 215 | setMediaType(NULL); |
215 | 216 | mMediaID.setNull(); | |
216 | mGroupID.setNull(); | 217 | mMediaAutoScale = 0; |
217 | 218 | mMediaLoop = TRUE; | |
218 | mPassPrice = PARCEL_PASS_PRICE_DEFAULT; | 219 | mObscureMedia = 0; |
219 | mPassHours = PARCEL_PASS_HOURS_DEFAULT; | 220 | mObscureMusic = 0; |
220 | 221 | mMediaWidth = 0; | |
221 | mAABBMin.setVec(SOME_BIG_NUMBER, SOME_BIG_NUMBER, SOME_BIG_NUMBER); | 222 | mMediaHeight = 0; |
222 | mAABBMax.setVec(SOME_BIG_NEG_NUMBER, SOME_BIG_NEG_NUMBER, SOME_BIG_NEG_NUMBER); | 223 | |
223 | 224 | mGroupID.setNull(); | |
224 | mLocalID = 0; | 225 | |
225 | 226 | mPassPrice = PARCEL_PASS_PRICE_DEFAULT; | |
226 | //mSimWidePrimCorrection = 0; | 227 | mPassHours = PARCEL_PASS_HOURS_DEFAULT; |
227 | setMaxPrimCapacity((S32)(sim_object_limit * area / (F32)(REGION_WIDTH_METERS * REGION_WIDTH_METERS))); | 228 | |
228 | setSimWideMaxPrimCapacity(0); | 229 | mAABBMin.setVec(SOME_BIG_NUMBER, SOME_BIG_NUMBER, SOME_BIG_NUMBER); |
229 | setSimWidePrimCount(0); | 230 | mAABBMax.setVec(SOME_BIG_NEG_NUMBER, SOME_BIG_NEG_NUMBER, SOME_BIG_NEG_NUMBER); |
230 | setOwnerPrimCount(0); | 231 | |
231 | setGroupPrimCount(0); | 232 | mLocalID = 0; |
232 | setOtherPrimCount(0); | 233 | |
233 | setSelectedPrimCount(0); | 234 | //mSimWidePrimCorrection = 0; |
234 | setTempPrimCount(0); | 235 | setMaxPrimCapacity((S32)(sim_object_limit * area / (F32)(REGION_WIDTH_METERS * REGION_WIDTH_METERS))); |
235 | setCleanOtherTime(0); | 236 | setSimWideMaxPrimCapacity(0); |
236 | setParcelPrimBonus(parcel_object_bonus); | 237 | setSimWidePrimCount(0); |
237 | 238 | setOwnerPrimCount(0); | |
238 | setPreviousOwnerID(LLUUID::null); | 239 | setGroupPrimCount(0); |
239 | setPreviouslyGroupOwned(FALSE); | 240 | setOtherPrimCount(0); |
241 | setSelectedPrimCount(0); | ||
242 | setTempPrimCount(0); | ||
243 | setCleanOtherTime(0); | ||
244 | setParcelPrimBonus(parcel_object_bonus); | ||
245 | |||
246 | setPreviousOwnerID(LLUUID::null); | ||
247 | setPreviouslyGroupOwned(FALSE); | ||
240 | } | 248 | } |
241 | 249 | ||
242 | void LLParcel::overrideOwner(const LLUUID& owner_id, BOOL is_group_owned) | 250 | void LLParcel::overrideOwner(const LLUUID& owner_id, BOOL is_group_owned) |
@@ -260,7 +268,21 @@ void LLParcel::overrideParcelFlags(U32 flags) | |||
260 | { | 268 | { |
261 | mParcelFlags = flags; | 269 | mParcelFlags = flags; |
262 | } | 270 | } |
263 | 271 | void set_std_string(const char* src, std::string& dest) | |
272 | { | ||
273 | if(src) | ||
274 | { | ||
275 | dest.assign(src); | ||
276 | } | ||
277 | else | ||
278 | { | ||
279 | #if (LL_LINUX && __GNUC__ < 3) | ||
280 | dest.assign(std::string("")); | ||
281 | #else | ||
282 | dest.clear(); | ||
283 | #endif | ||
284 | } | ||
285 | } | ||
264 | void LLParcel::setName(const LLString& name) | 286 | void LLParcel::setName(const LLString& name) |
265 | { | 287 | { |
266 | // The escaping here must match the escaping in the database | 288 | // The escaping here must match the escaping in the database |
@@ -297,6 +319,34 @@ void LLParcel::setMediaURL(const LLString& url) | |||
297 | LLStringFn::replace_nonprintable(mMediaURL, LL_UNKNOWN_CHAR); | 319 | LLStringFn::replace_nonprintable(mMediaURL, LL_UNKNOWN_CHAR); |
298 | } | 320 | } |
299 | 321 | ||
322 | void LLParcel::setMediaDesc(const char* desc) | ||
323 | { | ||
324 | // The escaping here must match the escaping in the database | ||
325 | // abstraction layer. | ||
326 | set_std_string(desc, mMediaDesc); | ||
327 | mMediaDesc = rawstr_to_utf8(mMediaDesc); | ||
328 | } | ||
329 | void LLParcel::setMediaType(const char* type) | ||
330 | { | ||
331 | // The escaping here must match the escaping in the database | ||
332 | // abstraction layer. | ||
333 | set_std_string(type, mMediaType); | ||
334 | mMediaType = rawstr_to_utf8(mMediaType); | ||
335 | |||
336 | // This code attempts to preserve legacy movie functioning | ||
337 | if(mMediaType.empty() && ! mMediaURL.empty()) | ||
338 | { | ||
339 | setMediaType("video/vnd.secondlife.qt.legacy"); | ||
340 | } | ||
341 | } | ||
342 | void LLParcel::setMediaWidth(S32 width) | ||
343 | { | ||
344 | mMediaWidth = width; | ||
345 | } | ||
346 | void LLParcel::setMediaHeight(S32 height) | ||
347 | { | ||
348 | mMediaHeight = height; | ||
349 | } | ||
300 | // virtual | 350 | // virtual |
301 | void LLParcel::setLocalID(S32 local_id) | 351 | void LLParcel::setLocalID(S32 local_id) |
302 | { | 352 | { |
@@ -512,338 +562,367 @@ void LLParcel::setDiscountRate(F32 rate) | |||
512 | // WARNING: Area will be wrong until you calculate it. | 562 | // WARNING: Area will be wrong until you calculate it. |
513 | BOOL LLParcel::importStream(std::istream& input_stream) | 563 | BOOL LLParcel::importStream(std::istream& input_stream) |
514 | { | 564 | { |
515 | U32 setting; | 565 | U32 setting; |
516 | S32 secs_until_revert = 0; | 566 | S32 secs_until_revert = 0; |
517 | 567 | ||
518 | skip_to_end_of_next_keyword("{", input_stream); | 568 | skip_to_end_of_next_keyword("{", input_stream); |
519 | if (!input_stream.good()) | 569 | if (!input_stream.good()) |
520 | { | 570 | { |
521 | llwarns << "LLParcel::importStream() - bad input_stream" << llendl; | 571 | llwarns << "LLParcel::importStream() - bad input_stream" << llendl; |
522 | return FALSE; | 572 | return FALSE; |
523 | } | 573 | } |
524 | 574 | ||
525 | while (input_stream.good()) | 575 | while (input_stream.good()) |
526 | { | 576 | { |
527 | skip_comments_and_emptyspace(input_stream); | 577 | skip_comments_and_emptyspace(input_stream); |
528 | LLString line, keyword, value; | 578 | LLString line, keyword, value; |
529 | get_line(line, input_stream, MAX_STRING); | 579 | get_line(line, input_stream, MAX_STRING); |
530 | get_keyword_and_value(keyword, value, line); | 580 | get_keyword_and_value(keyword, value, line); |
531 | 581 | ||
532 | if ("}" == keyword) | 582 | if ("}" == keyword) |
533 | { | 583 | { |
534 | break; | 584 | break; |
535 | } | 585 | } |
536 | else if ("parcel_id" == keyword) | 586 | else if ("parcel_id" == keyword) |
537 | { | 587 | { |
538 | mID.set(value.c_str()); | 588 | mID.set(value.c_str()); |
539 | } | 589 | } |
540 | else if ("status" == keyword) | 590 | else if ("status" == keyword) |
541 | { | 591 | { |
542 | mStatus = ownership_string_to_status(value.c_str()); | 592 | mStatus = ownership_string_to_status(value.c_str()); |
543 | } | 593 | } |
544 | else if ("category" == keyword) | 594 | else if ("category" == keyword) |
545 | { | 595 | { |
546 | mCategory = category_string_to_category(value.c_str()); | 596 | mCategory = category_string_to_category(value.c_str()); |
547 | } | 597 | } |
548 | else if ("local_id" == keyword) | 598 | else if ("local_id" == keyword) |
549 | { | 599 | { |
550 | LLString::convertToS32(value, mLocalID); | 600 | LLString::convertToS32(value, mLocalID); |
551 | } | 601 | } |
552 | else if ("name" == keyword) | 602 | else if ("name" == keyword) |
553 | { | 603 | { |
554 | setName( value ); | 604 | setName( value ); |
555 | } | 605 | } |
556 | else if ("desc" == keyword) | 606 | else if ("desc" == keyword) |
557 | { | 607 | { |
558 | setDesc( value ); | 608 | setDesc( value ); |
559 | } | 609 | } |
560 | else if ("music_url" == keyword) | 610 | else if ("music_url" == keyword) |
561 | { | 611 | { |
562 | setMusicURL( value ); | 612 | setMusicURL( value ); |
563 | } | 613 | } |
564 | else if ("media_url" == keyword) | 614 | else if ("media_url" == keyword) |
565 | { | 615 | { |
566 | setMediaURL( value ); | 616 | setMediaURL( value ); |
567 | } | 617 | } |
568 | else if ("media_id" == keyword) | 618 | else if ("media_desc" == keyword) |
569 | { | 619 | { |
570 | mMediaID.set( value.c_str() ); | 620 | setMediaDesc( value.c_str() ); |
571 | } | 621 | } |
572 | else if ("media_auto_scale" == keyword) | 622 | else if ("media_type" == keyword) |
573 | { | 623 | { |
574 | LLString::convertToU8(value, mMediaAutoScale); | 624 | setMediaType( value.c_str() ); |
575 | } | 625 | } |
576 | else if ("owner_id" == keyword) | 626 | else if ("media_width" == keyword) |
577 | { | 627 | { |
578 | mOwnerID.set( value.c_str() ); | 628 | S32 width; |
579 | } | 629 | LLString::convertToS32(value, width); |
580 | else if ("group_owned" == keyword) | 630 | setMediaWidth( width ); |
581 | { | 631 | } |
582 | LLString::convertToBOOL(value, mGroupOwned); | 632 | else if ("media_height" == keyword) |
583 | } | 633 | { |
584 | else if ("clean_other_time" == keyword) | 634 | S32 height; |
585 | { | 635 | LLString::convertToS32(value, height); |
586 | S32 time; | 636 | setMediaHeight( height ); |
587 | LLString::convertToS32(value, time); | 637 | } |
588 | setCleanOtherTime(time); | 638 | else if ("media_id" == keyword) |
589 | } | 639 | { |
590 | else if ("auth_buyer_id" == keyword) | 640 | mMediaID.set( value.c_str() ); |
591 | { | 641 | } |
592 | mAuthBuyerID.set(value.c_str()); | 642 | else if ("media_auto_scale" == keyword) |
593 | } | 643 | { |
594 | else if ("snapshot_id" == keyword) | 644 | LLString::convertToU8(value, mMediaAutoScale); |
595 | { | 645 | } |
596 | mSnapshotID.set(value.c_str()); | 646 | else if ("media_loop" == keyword) |
597 | } | 647 | { |
598 | else if ("user_location" == keyword) | 648 | LLString::convertToU8(value, mMediaLoop); |
599 | { | 649 | } |
600 | sscanf(value.c_str(), "%f %f %f", | 650 | else if ("obscure_media" == keyword) |
601 | &mUserLocation.mV[VX], | 651 | { |
602 | &mUserLocation.mV[VY], | 652 | LLString::convertToU8(value, mObscureMedia); |
603 | &mUserLocation.mV[VZ]); | 653 | } |
604 | } | 654 | else if ("obscure_music" == keyword) |
605 | else if ("user_look_at" == keyword) | 655 | { |
606 | { | 656 | LLString::convertToU8(value, mObscureMusic); |
607 | sscanf(value.c_str(), "%f %f %f", | 657 | } |
608 | &mUserLookAt.mV[VX], | 658 | else if ("owner_id" == keyword) |
609 | &mUserLookAt.mV[VY], | 659 | { |
610 | &mUserLookAt.mV[VZ]); | 660 | mOwnerID.set( value.c_str() ); |
611 | } | 661 | } |
612 | else if ("landing_type" == keyword) | 662 | else if ("group_owned" == keyword) |
613 | { | 663 | { |
614 | S32 landing_type = 0; | 664 | LLString::convertToBOOL(value, mGroupOwned); |
615 | LLString::convertToS32(value, landing_type); | 665 | } |
616 | mLandingType = (ELandingType) landing_type; | 666 | else if ("clean_other_time" == keyword) |
617 | } | 667 | { |
618 | else if ("join_neighbors" == keyword) | 668 | S32 time; |
619 | { | 669 | LLString::convertToS32(value, time); |
620 | llinfos << "found deprecated keyword join_neighbors" << llendl; | 670 | setCleanOtherTime(time); |
621 | } | 671 | } |
622 | else if ("revert_sale" == keyword) | 672 | else if ("auth_buyer_id" == keyword) |
623 | { | 673 | { |
624 | LLString::convertToS32(value, secs_until_revert); | 674 | mAuthBuyerID.set(value.c_str()); |
625 | if (secs_until_revert > 0) | 675 | } |
626 | { | 676 | else if ("snapshot_id" == keyword) |
627 | mSaleTimerExpires.start(); | 677 | { |
628 | mSaleTimerExpires.setTimerExpirySec((F32)secs_until_revert); | 678 | mSnapshotID.set(value.c_str()); |
629 | } | 679 | } |
630 | } | 680 | else if ("user_location" == keyword) |
631 | else if("extended_grace" == keyword) | 681 | { |
632 | { | 682 | sscanf(value.c_str(), "%f %f %f", |
633 | LLString::convertToS32(value, mGraceExtension); | 683 | &mUserLocation.mV[VX], |
634 | } | 684 | &mUserLocation.mV[VY], |
635 | else if ("user_list_type" == keyword) | 685 | &mUserLocation.mV[VZ]); |
636 | { | 686 | } |
637 | // deprecated | 687 | else if ("user_look_at" == keyword) |
638 | } | 688 | { |
639 | else if("auction_id" == keyword) | 689 | sscanf(value.c_str(), "%f %f %f", |
640 | { | 690 | &mUserLookAt.mV[VX], |
641 | LLString::convertToU32(value, mAuctionID); | 691 | &mUserLookAt.mV[VY], |
642 | } | 692 | &mUserLookAt.mV[VZ]); |
643 | else if ("allow_modify" == keyword) | 693 | } |
644 | { | 694 | else if ("landing_type" == keyword) |
645 | LLString::convertToU32(value, setting); | 695 | { |
646 | setParcelFlag(PF_CREATE_OBJECTS, setting); | 696 | S32 landing_type = 0; |
647 | } | 697 | LLString::convertToS32(value, landing_type); |
648 | else if ("allow_group_modify" == keyword) | 698 | mLandingType = (ELandingType) landing_type; |
649 | { | 699 | } |
650 | LLString::convertToU32(value, setting); | 700 | else if ("join_neighbors" == keyword) |
651 | setParcelFlag(PF_CREATE_GROUP_OBJECTS, setting); | 701 | { |
652 | } | 702 | llinfos << "found deprecated keyword join_neighbors" << llendl; |
653 | else if ("allow_all_object_entry" == keyword) | 703 | } |
654 | { | 704 | else if ("revert_sale" == keyword) |
655 | LLString::convertToU32(value, setting); | 705 | { |
656 | setParcelFlag(PF_ALLOW_ALL_OBJECT_ENTRY, setting); | 706 | LLString::convertToS32(value, secs_until_revert); |
657 | } | 707 | if (secs_until_revert > 0) |
658 | else if ("allow_group_object_entry" == keyword) | 708 | { |
659 | { | 709 | mSaleTimerExpires.start(); |
660 | LLString::convertToU32(value, setting); | 710 | mSaleTimerExpires.setTimerExpirySec((F32)secs_until_revert); |
661 | setParcelFlag(PF_ALLOW_GROUP_OBJECT_ENTRY, setting); | 711 | } |
662 | } | 712 | } |
663 | else if ("allow_deed_to_group" == keyword) | 713 | else if("extended_grace" == keyword) |
664 | { | 714 | { |
665 | LLString::convertToU32(value, setting); | 715 | LLString::convertToS32(value, mGraceExtension); |
666 | setParcelFlag(PF_ALLOW_DEED_TO_GROUP, setting); | 716 | } |
667 | } | 717 | else if ("user_list_type" == keyword) |
668 | else if("contribute_with_deed" == keyword) | 718 | { |
669 | { | 719 | // deprecated |
670 | LLString::convertToU32(value, setting); | 720 | } |
671 | setParcelFlag(PF_CONTRIBUTE_WITH_DEED, setting); | 721 | else if("auction_id" == keyword) |
672 | } | 722 | { |
673 | else if ("allow_terraform" == keyword) | 723 | LLString::convertToU32(value, mAuctionID); |
674 | { | 724 | } |
675 | LLString::convertToU32(value, setting); | 725 | else if ("allow_modify" == keyword) |
676 | setParcelFlag(PF_ALLOW_TERRAFORM, setting); | 726 | { |
677 | } | 727 | LLString::convertToU32(value, setting); |
678 | else if ("allow_damage" == keyword) | 728 | setParcelFlag(PF_CREATE_OBJECTS, setting); |
679 | { | 729 | } |
680 | LLString::convertToU32(value, setting); | 730 | else if ("allow_group_modify" == keyword) |
681 | setParcelFlag(PF_ALLOW_DAMAGE, setting); | 731 | { |
682 | } | 732 | LLString::convertToU32(value, setting); |
683 | else if ("allow_fly" == keyword) | 733 | setParcelFlag(PF_CREATE_GROUP_OBJECTS, setting); |
684 | { | 734 | } |
685 | LLString::convertToU32(value, setting); | 735 | else if ("allow_all_object_entry" == keyword) |
686 | setParcelFlag(PF_ALLOW_FLY, setting); | 736 | { |
687 | } | 737 | LLString::convertToU32(value, setting); |
688 | else if ("allow_landmark" == keyword) | 738 | setParcelFlag(PF_ALLOW_ALL_OBJECT_ENTRY, setting); |
689 | { | 739 | } |
690 | LLString::convertToU32(value, setting); | 740 | else if ("allow_group_object_entry" == keyword) |
691 | setParcelFlag(PF_ALLOW_LANDMARK, setting); | 741 | { |
692 | } | 742 | LLString::convertToU32(value, setting); |
693 | else if ("sound_local" == keyword) | 743 | setParcelFlag(PF_ALLOW_GROUP_OBJECT_ENTRY, setting); |
694 | { | 744 | } |
695 | LLString::convertToU32(value, setting); | 745 | else if ("allow_deed_to_group" == keyword) |
696 | setParcelFlag(PF_SOUND_LOCAL, setting); | 746 | { |
697 | } | 747 | LLString::convertToU32(value, setting); |
698 | else if ("allow_group_scripts" == keyword) | 748 | setParcelFlag(PF_ALLOW_DEED_TO_GROUP, setting); |
699 | { | 749 | } |
700 | LLString::convertToU32(value, setting); | 750 | else if("contribute_with_deed" == keyword) |
701 | setParcelFlag(PF_ALLOW_GROUP_SCRIPTS, setting); | 751 | { |
702 | } | 752 | LLString::convertToU32(value, setting); |
703 | else if ("allow_voice_chat" == keyword) | 753 | setParcelFlag(PF_CONTRIBUTE_WITH_DEED, setting); |
704 | { | 754 | } |
705 | LLString::convertToU32(value, setting); | 755 | else if ("allow_terraform" == keyword) |
706 | setParcelFlag(PF_ALLOW_VOICE_CHAT, setting); | 756 | { |
707 | } | 757 | LLString::convertToU32(value, setting); |
708 | else if ("use_estate_voice_chan" == keyword) | 758 | setParcelFlag(PF_ALLOW_TERRAFORM, setting); |
709 | { | 759 | } |
710 | LLString::convertToU32(value, setting); | 760 | else if ("allow_damage" == keyword) |
711 | setParcelFlag(PF_USE_ESTATE_VOICE_CHAN, setting); | 761 | { |
712 | } | 762 | LLString::convertToU32(value, setting); |
713 | else if ("allow_scripts" == keyword) | 763 | setParcelFlag(PF_ALLOW_DAMAGE, setting); |
714 | { | 764 | } |
715 | LLString::convertToU32(value, setting); | 765 | else if ("allow_fly" == keyword) |
716 | setParcelFlag(PF_ALLOW_OTHER_SCRIPTS, setting); | 766 | { |
717 | } | 767 | LLString::convertToU32(value, setting); |
718 | else if ("for_sale" == keyword) | 768 | setParcelFlag(PF_ALLOW_FLY, setting); |
719 | { | 769 | } |
720 | LLString::convertToU32(value, setting); | 770 | else if ("allow_landmark" == keyword) |
721 | setParcelFlag(PF_FOR_SALE, setting); | 771 | { |
722 | } | 772 | LLString::convertToU32(value, setting); |
723 | else if ("sell_w_objects" == keyword) | 773 | setParcelFlag(PF_ALLOW_LANDMARK, setting); |
724 | { | 774 | } |
725 | LLString::convertToU32(value, setting); | 775 | else if ("sound_local" == keyword) |
726 | setParcelFlag(PF_SELL_PARCEL_OBJECTS, setting); | 776 | { |
727 | } | 777 | LLString::convertToU32(value, setting); |
728 | else if ("use_pass_list" == keyword) | 778 | setParcelFlag(PF_SOUND_LOCAL, setting); |
729 | { | 779 | } |
730 | LLString::convertToU32(value, setting); | 780 | else if ("allow_group_scripts" == keyword) |
731 | setParcelFlag(PF_USE_PASS_LIST, setting); | 781 | { |
732 | } | 782 | LLString::convertToU32(value, setting); |
733 | else if ("show_directory" == keyword) | 783 | setParcelFlag(PF_ALLOW_GROUP_SCRIPTS, setting); |
734 | { | 784 | } |
735 | LLString::convertToU32(value, setting); | 785 | else if ("allow_voice_chat" == keyword) |
736 | setParcelFlag(PF_SHOW_DIRECTORY, setting); | 786 | { |
737 | } | 787 | LLString::convertToU32(value, setting); |
738 | else if ("allow_publish" == keyword) | 788 | setParcelFlag(PF_ALLOW_VOICE_CHAT, setting); |
739 | { | 789 | } |
740 | LLString::convertToU32(value, setting); | 790 | else if ("use_estate_voice_chan" == keyword) |
741 | setParcelFlag(PF_ALLOW_PUBLISH, setting); | 791 | { |
742 | } | 792 | LLString::convertToU32(value, setting); |
743 | else if ("mature_publish" == keyword) | 793 | setParcelFlag(PF_USE_ESTATE_VOICE_CHAN, setting); |
744 | { | 794 | } |
745 | LLString::convertToU32(value, setting); | 795 | else if ("allow_scripts" == keyword) |
746 | setParcelFlag(PF_MATURE_PUBLISH, setting); | 796 | { |
747 | } | 797 | LLString::convertToU32(value, setting); |
748 | else if ("claim_date" == keyword) | 798 | setParcelFlag(PF_ALLOW_OTHER_SCRIPTS, setting); |
749 | { | 799 | } |
750 | // BUG: This will fail when time rolls over in 2038. | 800 | else if ("for_sale" == keyword) |
751 | S32 time; | 801 | { |
752 | LLString::convertToS32(value, time); | 802 | LLString::convertToU32(value, setting); |
753 | mClaimDate = time; | 803 | setParcelFlag(PF_FOR_SALE, setting); |
754 | } | 804 | } |
755 | else if ("claim_price" == keyword) | 805 | else if ("sell_w_objects" == keyword) |
756 | { | 806 | { |
757 | LLString::convertToS32(value, mClaimPricePerMeter); | 807 | LLString::convertToU32(value, setting); |
758 | } | 808 | setParcelFlag(PF_SELL_PARCEL_OBJECTS, setting); |
759 | else if ("rent_price" == keyword) | 809 | } |
760 | { | 810 | else if ("use_pass_list" == keyword) |
761 | LLString::convertToS32(value, mRentPricePerMeter); | 811 | { |
762 | } | 812 | LLString::convertToU32(value, setting); |
763 | else if ("discount_rate" == keyword) | 813 | setParcelFlag(PF_USE_PASS_LIST, setting); |
764 | { | 814 | } |
765 | LLString::convertToF32(value, mDiscountRate); | 815 | else if ("show_directory" == keyword) |
766 | } | 816 | { |
767 | else if ("draw_distance" == keyword) | 817 | LLString::convertToU32(value, setting); |
768 | { | 818 | setParcelFlag(PF_SHOW_DIRECTORY, setting); |
769 | LLString::convertToF32(value, mDrawDistance); | 819 | } |
770 | } | 820 | else if ("allow_publish" == keyword) |
771 | else if ("sale_price" == keyword) | 821 | { |
772 | { | 822 | LLString::convertToU32(value, setting); |
773 | LLString::convertToS32(value, mSalePrice); | 823 | setParcelFlag(PF_ALLOW_PUBLISH, setting); |
774 | } | 824 | } |
775 | else if ("pass_price" == keyword) | 825 | else if ("mature_publish" == keyword) |
776 | { | 826 | { |
777 | LLString::convertToS32(value, mPassPrice); | 827 | LLString::convertToU32(value, setting); |
778 | } | 828 | setParcelFlag(PF_MATURE_PUBLISH, setting); |
779 | else if ("pass_hours" == keyword) | 829 | } |
780 | { | 830 | else if ("claim_date" == keyword) |
781 | LLString::convertToF32(value, mPassHours); | 831 | { |
782 | } | 832 | // BUG: This will fail when time rolls over in 2038. |
783 | else if ("box" == keyword) | 833 | S32 time; |
784 | { | 834 | LLString::convertToS32(value, time); |
785 | // deprecated | 835 | mClaimDate = time; |
786 | } | 836 | } |
787 | else if ("aabb_min" == keyword) | 837 | else if ("claim_price" == keyword) |
788 | { | 838 | { |
789 | sscanf(value.c_str(), "%f %f %f", | 839 | LLString::convertToS32(value, mClaimPricePerMeter); |
790 | &mAABBMin.mV[VX], &mAABBMin.mV[VY], &mAABBMin.mV[VZ]); | 840 | } |
791 | } | 841 | else if ("rent_price" == keyword) |
792 | else if ("use_access_group" == keyword) | 842 | { |
793 | { | 843 | LLString::convertToS32(value, mRentPricePerMeter); |
794 | LLString::convertToU32(value, setting); | 844 | } |
795 | setParcelFlag(PF_USE_ACCESS_GROUP, setting); | 845 | else if ("discount_rate" == keyword) |
796 | } | 846 | { |
797 | else if ("use_access_list" == keyword) | 847 | LLString::convertToF32(value, mDiscountRate); |
798 | { | 848 | } |
799 | LLString::convertToU32(value, setting); | 849 | else if ("draw_distance" == keyword) |
800 | setParcelFlag(PF_USE_ACCESS_LIST, setting); | 850 | { |
801 | } | 851 | LLString::convertToF32(value, mDrawDistance); |
802 | else if ("use_ban_list" == keyword) | 852 | } |
803 | { | 853 | else if ("sale_price" == keyword) |
804 | LLString::convertToU32(value, setting); | 854 | { |
805 | setParcelFlag(PF_USE_BAN_LIST, setting); | 855 | LLString::convertToS32(value, mSalePrice); |
806 | } | 856 | } |
807 | else if ("group_name" == keyword) | 857 | else if ("pass_price" == keyword) |
808 | { | 858 | { |
809 | llinfos << "found deprecated keyword group_name" << llendl; | 859 | LLString::convertToS32(value, mPassPrice); |
810 | } | 860 | } |
811 | else if ("group_id" == keyword) | 861 | else if ("pass_hours" == keyword) |
812 | { | 862 | { |
813 | mGroupID.set( value.c_str() ); | 863 | LLString::convertToF32(value, mPassHours); |
814 | } | 864 | } |
815 | // TODO: DEPRECATED FLAG | 865 | else if ("box" == keyword) |
816 | // Flag removed from simstate files in 1.11.1 | 866 | { |
817 | // Keep if statement until we have guarenteed this flag | 867 | // deprecated |
818 | // no longer exists anywhere in simstate files. | 868 | } |
819 | else if ("require_identified" == keyword) | 869 | else if ("aabb_min" == keyword) |
820 | { | 870 | { |
821 | // LLString::convertToU32(value, setting); | 871 | sscanf(value.c_str(), "%f %f %f", |
822 | // setParcelFlag(PF_DENY_ANONYMOUS, setting); | 872 | &mAABBMin.mV[VX], &mAABBMin.mV[VY], &mAABBMin.mV[VZ]); |
823 | } | 873 | } |
824 | // TODO: DEPRECATED FLAG | 874 | else if ("use_access_group" == keyword) |
825 | // Flag removed from simstate files in 1.11.1 | 875 | { |
826 | // Keep if statement until we have guarenteed this flag | 876 | LLString::convertToU32(value, setting); |
827 | // no longer exists anywhere in simstate files. | 877 | setParcelFlag(PF_USE_ACCESS_GROUP, setting); |
828 | else if ("require_transacted" == keyword) | 878 | } |
829 | { | 879 | else if ("use_access_list" == keyword) |
830 | // LLString::convertToU32(value, setting); | 880 | { |
831 | // setParcelFlag(PF_DENY_ANONYMOUS, setting); | 881 | LLString::convertToU32(value, setting); |
832 | // setParcelFlag(PF_DENY_IDENTIFIED, setting); | 882 | setParcelFlag(PF_USE_ACCESS_LIST, setting); |
833 | } | 883 | } |
834 | else if ("restrict_pushobject" == keyword) | 884 | else if ("use_ban_list" == keyword) |
835 | { | 885 | { |
836 | LLString::convertToU32(value, setting); | 886 | LLString::convertToU32(value, setting); |
837 | setParcelFlag(PF_RESTRICT_PUSHOBJECT, setting); | 887 | setParcelFlag(PF_USE_BAN_LIST, setting); |
838 | } | 888 | } |
839 | else if ("deny_anonymous" == keyword) | 889 | else if ("group_name" == keyword) |
840 | { | 890 | { |
841 | LLString::convertToU32(value, setting); | 891 | llinfos << "found deprecated keyword group_name" << llendl; |
842 | setParcelFlag(PF_DENY_ANONYMOUS, setting); | 892 | } |
843 | } | 893 | else if ("group_id" == keyword) |
844 | // TODO: DEPRECATED FLAG | 894 | { |
845 | // Keep if statement until we have guarenteed this flag | 895 | mGroupID.set( value.c_str() ); |
846 | // no longer exists anywhere in simstate files. | 896 | } |
897 | // TODO: DEPRECATED FLAG | ||
898 | // Flag removed from simstate files in 1.11.1 | ||
899 | // Remove at some point where we have guarenteed this flag | ||
900 | // no longer exists anywhere in simstate files. | ||
901 | else if ("require_identified" == keyword) | ||
902 | { | ||
903 | // LLString::convertToU32(value, setting); | ||
904 | // setParcelFlag(PF_DENY_ANONYMOUS, setting); | ||
905 | } | ||
906 | // TODO: DEPRECATED FLAG | ||
907 | // Flag removed from simstate files in 1.11.1 | ||
908 | // Remove at some point where we have guarenteed this flag | ||
909 | // no longer exists anywhere in simstate files. | ||
910 | else if ("require_transacted" == keyword) | ||
911 | { | ||
912 | // LLString::convertToU32(value, setting); | ||
913 | // setParcelFlag(PF_DENY_ANONYMOUS, setting); | ||
914 | // setParcelFlag(PF_DENY_IDENTIFIED, setting); | ||
915 | } | ||
916 | else if ("restrict_pushobject" == keyword) | ||
917 | { | ||
918 | LLString::convertToU32(value, setting); | ||
919 | setParcelFlag(PF_RESTRICT_PUSHOBJECT, setting); | ||
920 | } | ||
921 | else if ("deny_anonymous" == keyword) | ||
922 | { | ||
923 | LLString::convertToU32(value, setting); | ||
924 | setParcelFlag(PF_DENY_ANONYMOUS, setting); | ||
925 | } | ||
847 | else if ("deny_identified" == keyword) | 926 | else if ("deny_identified" == keyword) |
848 | { | 927 | { |
849 | // LLString::convertToU32(value, setting); | 928 | // LLString::convertToU32(value, setting); |
@@ -1018,211 +1097,223 @@ BOOL LLParcel::importAccessEntry(std::istream& input_stream, LLAccessEntry* entr | |||
1018 | 1097 | ||
1019 | BOOL LLParcel::exportStream(std::ostream& output_stream) | 1098 | BOOL LLParcel::exportStream(std::ostream& output_stream) |
1020 | { | 1099 | { |
1021 | S32 setting; | 1100 | S32 setting; |
1022 | char id_string[MAX_STRING]; /* Flawfinder: ignore */ | 1101 | char id_string[MAX_STRING]; /* Flawfinder: ignore */ |
1023 | 1102 | ||
1024 | std::ios::fmtflags old_flags = output_stream.flags(); | 1103 | std::ios::fmtflags old_flags = output_stream.flags(); |
1025 | output_stream.setf(std::ios::showpoint); | 1104 | output_stream.setf(std::ios::showpoint); |
1026 | output_stream << "\t{\n"; | 1105 | output_stream << "\t{\n"; |
1027 | 1106 | ||
1028 | mID.toString(id_string); | 1107 | mID.toString(id_string); |
1029 | output_stream << "\t\t parcel_id " << id_string << "\n"; | 1108 | output_stream << "\t\t parcel_id " << id_string << "\n"; |
1030 | output_stream << "\t\t status " << ownership_status_to_string(mStatus) << "\n"; | 1109 | output_stream << "\t\t status " << ownership_status_to_string(mStatus) << "\n"; |
1031 | output_stream << "\t\t category " << category_to_string(mCategory) << "\n"; | 1110 | output_stream << "\t\t category " << category_to_string(mCategory) << "\n"; |
1032 | 1111 | ||
1033 | output_stream << "\t\t local_id " << mLocalID << "\n"; | 1112 | output_stream << "\t\t local_id " << mLocalID << "\n"; |
1034 | 1113 | ||
1035 | const char* name = (mName.empty() ? "" : mName.c_str() ); | 1114 | const char* name = (mName.empty() ? "" : mName.c_str() ); |
1036 | output_stream << "\t\t name " << name << "\n"; | 1115 | output_stream << "\t\t name " << name << "\n"; |
1037 | 1116 | ||
1038 | const char* desc = (mDesc.empty() ? "" : mDesc.c_str() ); | 1117 | const char* desc = (mDesc.empty() ? "" : mDesc.c_str() ); |
1039 | output_stream << "\t\t desc " << desc << "\n"; | 1118 | output_stream << "\t\t desc " << desc << "\n"; |
1040 | 1119 | ||
1041 | const char* music_url = (mMusicURL.empty() ? "" : mMusicURL.c_str() ); | 1120 | const char* music_url = (mMusicURL.empty() ? "" : mMusicURL.c_str() ); |
1042 | output_stream << "\t\t music_url " << music_url << "\n"; | 1121 | output_stream << "\t\t music_url " << music_url << "\n"; |
1043 | 1122 | ||
1044 | const char* media_url = (mMediaURL.empty() ? "" : mMediaURL.c_str() ); | 1123 | const char* media_url = (mMediaURL.empty() ? "" : mMediaURL.c_str() ); |
1045 | output_stream << "\t\t media_url " << media_url << "\n"; | 1124 | output_stream << "\t\t media_url " << media_url << "\n"; |
1046 | 1125 | ||
1047 | output_stream << "\t\t media_auto_scale " << (mMediaAutoScale ? 1 : 0) << "\n"; | 1126 | const char* media_type = (mMediaType.empty() ? "" : mMediaType.c_str() ); |
1048 | 1127 | output_stream << "\t\t media_type " << media_type << "\n"; | |
1049 | mMediaID.toString(id_string); | 1128 | |
1050 | output_stream << "\t\t media_id " << id_string << "\n"; | 1129 | const char* media_desc = (mMediaDesc.empty() ? "" : mMediaDesc.c_str() ); |
1051 | 1130 | output_stream << "\t\t media_desc " << media_desc << "\n"; | |
1052 | mOwnerID.toString(id_string); | 1131 | |
1053 | output_stream << "\t\t owner_id " << id_string << "\n"; | 1132 | output_stream << "\t\t media_auto_scale " << (mMediaAutoScale ? 1 : 0) << "\n"; |
1054 | output_stream << "\t\t group_owned " << (mGroupOwned ? 1 : 0) << "\n"; | 1133 | output_stream << "\t\t media_loop " << (mMediaLoop ? 1 : 0) << "\n"; |
1055 | output_stream << "\t\t clean_other_time " << getCleanOtherTime() << "\n"; | 1134 | output_stream << "\t\t obscure_media " << (mObscureMedia ? 1 : 0) << "\n"; |
1056 | 1135 | output_stream << "\t\t obscure_music " << (mObscureMusic ? 1 : 0) << "\n"; | |
1057 | if(!mAuthBuyerID.isNull()) | 1136 | |
1058 | { | 1137 | mMediaID.toString(id_string); |
1059 | mAuthBuyerID.toString(id_string); | 1138 | output_stream << "\t\t media_id " << id_string << "\n"; |
1060 | output_stream << "\t\t auth_buyer_id " << id_string << "\n"; | 1139 | |
1061 | } | 1140 | output_stream << "\t\t media_width " << mMediaWidth << "\n"; |
1062 | if (!mSnapshotID.isNull()) | 1141 | output_stream << "\t\t media_height " << mMediaHeight << "\n"; |
1063 | { | 1142 | |
1064 | mSnapshotID.toString(id_string); | 1143 | mOwnerID.toString(id_string); |
1065 | output_stream << "\t\t snapshot_id " << id_string << "\n"; | 1144 | output_stream << "\t\t owner_id " << id_string << "\n"; |
1066 | } | 1145 | output_stream << "\t\t group_owned " << (mGroupOwned ? 1 : 0) << "\n"; |
1067 | if (!mUserLocation.isExactlyZero()) | 1146 | output_stream << "\t\t clean_other_time " << getCleanOtherTime() << "\n"; |
1068 | { | 1147 | |
1069 | output_stream << "\t\t user_location " | 1148 | if(!mAuthBuyerID.isNull()) |
1070 | << (F64)mUserLocation.mV[VX] | 1149 | { |
1071 | << " " << (F64)mUserLocation.mV[VY] | 1150 | mAuthBuyerID.toString(id_string); |
1072 | << " " << (F64)mUserLocation.mV[VZ] << "\n"; | 1151 | output_stream << "\t\t auth_buyer_id " << id_string << "\n"; |
1073 | output_stream << "\t\t user_look_at " | 1152 | } |
1074 | << (F64)mUserLookAt.mV[VX] | 1153 | if (!mSnapshotID.isNull()) |
1075 | << " " << (F64)mUserLookAt.mV[VY] | 1154 | { |
1076 | << " " << (F64)mUserLookAt.mV[VZ] << "\n"; | 1155 | mSnapshotID.toString(id_string); |
1077 | } | 1156 | output_stream << "\t\t snapshot_id " << id_string << "\n"; |
1078 | output_stream << "\t\t landing_type " << mLandingType << "\n"; | 1157 | } |
1079 | //if(mJoinNeighbors) | 1158 | if (!mUserLocation.isExactlyZero()) |
1080 | //{ | 1159 | { |
1081 | // output_stream << "\t\t join_neighbors " << mJoinNeighbors << "\n"; | 1160 | output_stream << "\t\t user_location " |
1082 | //} | 1161 | << (F64)mUserLocation.mV[VX] |
1083 | if(mSaleTimerExpires.getStarted()) | 1162 | << " " << (F64)mUserLocation.mV[VY] |
1084 | { | 1163 | << " " << (F64)mUserLocation.mV[VZ] << "\n"; |
1085 | S32 dt_sec = (S32) mSaleTimerExpires.getRemainingTimeF32()+60; // Add a minute to prevent race conditions | 1164 | output_stream << "\t\t user_look_at " |
1086 | output_stream << "\t\t revert_sale " << dt_sec << "\n"; | 1165 | << (F64)mUserLookAt.mV[VX] |
1087 | //output_stream << "\t\t revert_action " << revert_action_to_string(mExpireAction) << "\n"; | 1166 | << " " << (F64)mUserLookAt.mV[VY] |
1088 | output_stream << "\t\t extended_grace " << mGraceExtension << "\n"; | 1167 | << " " << (F64)mUserLookAt.mV[VZ] << "\n"; |
1089 | } | 1168 | } |
1090 | 1169 | output_stream << "\t\t landing_type " << mLandingType << "\n"; | |
1091 | if(0 != mAuctionID) | 1170 | //if(mJoinNeighbors) |
1092 | { | 1171 | //{ |
1093 | output_stream << "\t\t auction_id " << mAuctionID << "\n"; | 1172 | // output_stream << "\t\t join_neighbors " << mJoinNeighbors << "\n"; |
1094 | } | 1173 | //} |
1095 | 1174 | if(mSaleTimerExpires.getStarted()) | |
1096 | output_stream << "\t\t allow_modify " << getAllowModify() << "\n"; | 1175 | { |
1097 | output_stream << "\t\t allow_group_modify " << getAllowGroupModify() << "\n"; | 1176 | S32 dt_sec = (S32) mSaleTimerExpires.getRemainingTimeF32()+60; // Add a minute to prevent race conditions |
1098 | output_stream << "\t\t allow_all_object_entry " << getAllowAllObjectEntry() << "\n"; | 1177 | output_stream << "\t\t revert_sale " << dt_sec << "\n"; |
1099 | output_stream << "\t\t allow_group_object_entry " << getAllowGroupObjectEntry() << "\n"; | 1178 | //output_stream << "\t\t revert_action " << revert_action_to_string(mExpireAction) << "\n"; |
1100 | output_stream << "\t\t allow_terraform " << getAllowTerraform() << "\n"; | 1179 | output_stream << "\t\t extended_grace " << mGraceExtension << "\n"; |
1101 | output_stream << "\t\t allow_deed_to_group " << getAllowDeedToGroup() << "\n"; | 1180 | } |
1102 | output_stream << "\t\t contribute_with_deed " << getContributeWithDeed() << "\n"; | 1181 | |
1103 | output_stream << "\t\t allow_damage " << getAllowDamage() << "\n"; | 1182 | if(0 != mAuctionID) |
1104 | output_stream << "\t\t claim_date " << (S32)mClaimDate << "\n"; | 1183 | { |
1105 | output_stream << "\t\t claim_price " << mClaimPricePerMeter << "\n"; | 1184 | output_stream << "\t\t auction_id " << mAuctionID << "\n"; |
1106 | output_stream << "\t\t rent_price " << mRentPricePerMeter << "\n"; | 1185 | } |
1107 | output_stream << "\t\t discount_rate " << mDiscountRate << "\n"; | 1186 | |
1108 | output_stream << "\t\t allow_fly " << (getAllowFly() ? 1 : 0) << "\n"; | 1187 | output_stream << "\t\t allow_modify " << getAllowModify() << "\n"; |
1109 | output_stream << "\t\t allow_landmark " << (getAllowLandmark() ? 1 : 0) << "\n"; | 1188 | output_stream << "\t\t allow_group_modify " << getAllowGroupModify() << "\n"; |
1110 | output_stream << "\t\t sound_local " << (getSoundLocal() ? 1 : 0) << "\n"; | 1189 | output_stream << "\t\t allow_all_object_entry " << getAllowAllObjectEntry() << "\n"; |
1111 | output_stream << "\t\t allow_scripts " << (getAllowOtherScripts() ? 1 : 0) << "\n"; | 1190 | output_stream << "\t\t allow_group_object_entry " << getAllowGroupObjectEntry() << "\n"; |
1112 | output_stream << "\t\t allow_group_scripts " << (getAllowGroupScripts() ? 1 : 0) << "\n"; | 1191 | output_stream << "\t\t allow_terraform " << getAllowTerraform() << "\n"; |
1113 | output_stream << "\t\t allow_voice_chat " << (getVoiceEnabled() ? 1 : 0) << "\n"; | 1192 | output_stream << "\t\t allow_deed_to_group " << getAllowDeedToGroup() << "\n"; |
1114 | output_stream << "\t\t use_estate_voice_chan " << (getVoiceUseEstateChannel() ? 1 : 0) << "\n"; | 1193 | output_stream << "\t\t contribute_with_deed " << getContributeWithDeed() << "\n"; |
1115 | output_stream << "\t\t for_sale " << (getForSale() ? 1 : 0) << "\n"; | 1194 | output_stream << "\t\t allow_damage " << getAllowDamage() << "\n"; |
1116 | output_stream << "\t\t sell_w_objects " << (getSellWithObjects() ? 1 : 0) << "\n"; | 1195 | output_stream << "\t\t claim_date " << (S32)mClaimDate << "\n"; |
1117 | output_stream << "\t\t draw_distance " << mDrawDistance << "\n"; | 1196 | output_stream << "\t\t claim_price " << mClaimPricePerMeter << "\n"; |
1118 | output_stream << "\t\t sale_price " << mSalePrice << "\n"; | 1197 | output_stream << "\t\t rent_price " << mRentPricePerMeter << "\n"; |
1119 | 1198 | output_stream << "\t\t discount_rate " << mDiscountRate << "\n"; | |
1120 | setting = (getParcelFlag(PF_USE_ACCESS_GROUP) ? 1 : 0); | 1199 | output_stream << "\t\t allow_fly " << (getAllowFly() ? 1 : 0) << "\n"; |
1121 | output_stream << "\t\t use_access_group " << setting << "\n"; | 1200 | output_stream << "\t\t allow_landmark " << (getAllowLandmark() ? 1 : 0) << "\n"; |
1122 | 1201 | output_stream << "\t\t sound_local " << (getSoundLocal() ? 1 : 0) << "\n"; | |
1123 | setting = (getParcelFlag(PF_USE_ACCESS_LIST) ? 1 : 0); | 1202 | output_stream << "\t\t allow_scripts " << (getAllowOtherScripts() ? 1 : 0) << "\n"; |
1124 | output_stream << "\t\t use_access_list " << setting << "\n"; | 1203 | output_stream << "\t\t allow_group_scripts " << (getAllowGroupScripts() ? 1 : 0) << "\n"; |
1125 | 1204 | output_stream << "\t\t allow_voice_chat " << (getVoiceEnabled() ? 1 : 0) << "\n"; | |
1126 | setting = (getParcelFlag(PF_USE_BAN_LIST) ? 1 : 0); | 1205 | output_stream << "\t\t use_estate_voice_chan " << (getVoiceUseEstateChannel() ? 1 : 0) << "\n"; |
1127 | output_stream << "\t\t use_ban_list " << setting << "\n"; | 1206 | output_stream << "\t\t for_sale " << (getForSale() ? 1 : 0) << "\n"; |
1128 | 1207 | output_stream << "\t\t sell_w_objects " << (getSellWithObjects() ? 1 : 0) << "\n"; | |
1129 | mGroupID.toString(id_string); | 1208 | output_stream << "\t\t draw_distance " << mDrawDistance << "\n"; |
1130 | output_stream << "\t\t group_id " << id_string << "\n"; | 1209 | output_stream << "\t\t sale_price " << mSalePrice << "\n"; |
1131 | 1210 | ||
1132 | //const char* group_name | 1211 | setting = (getParcelFlag(PF_USE_ACCESS_GROUP) ? 1 : 0); |
1133 | // = (mGroupName.isEmpty() ? "" : mGroupName.c_str() ); | 1212 | output_stream << "\t\t use_access_group " << setting << "\n"; |
1134 | //output_stream << "\t\t group_name " << group_name << "\n"; | 1213 | |
1135 | 1214 | setting = (getParcelFlag(PF_USE_ACCESS_LIST) ? 1 : 0); | |
1136 | setting = (getParcelFlag(PF_USE_PASS_LIST) ? 1 : 0); | 1215 | output_stream << "\t\t use_access_list " << setting << "\n"; |
1137 | output_stream << "\t\t use_pass_list " << setting << "\n"; | 1216 | |
1138 | 1217 | setting = (getParcelFlag(PF_USE_BAN_LIST) ? 1 : 0); | |
1139 | output_stream << "\t\t pass_price " << mPassPrice << "\n"; | 1218 | output_stream << "\t\t use_ban_list " << setting << "\n"; |
1140 | output_stream << "\t\t pass_hours " << mPassHours << "\n"; | 1219 | |
1141 | 1220 | mGroupID.toString(id_string); | |
1142 | setting = (getParcelFlag(PF_SHOW_DIRECTORY) ? 1 : 0); | 1221 | output_stream << "\t\t group_id " << id_string << "\n"; |
1143 | output_stream << "\t\t show_directory " << setting << "\n"; | 1222 | |
1144 | 1223 | //const char* group_name | |
1145 | setting = (getParcelFlag(PF_ALLOW_PUBLISH) ? 1 : 0); | 1224 | // = (mGroupName.isEmpty() ? "" : mGroupName.c_str() ); |
1146 | output_stream << "\t\t allow_publish " << setting << "\n"; | 1225 | //output_stream << "\t\t group_name " << group_name << "\n"; |
1147 | 1226 | ||
1148 | setting = (getParcelFlag(PF_MATURE_PUBLISH) ? 1 : 0); | 1227 | setting = (getParcelFlag(PF_USE_PASS_LIST) ? 1 : 0); |
1149 | output_stream << "\t\t mature_publish " << setting << "\n"; | 1228 | output_stream << "\t\t use_pass_list " << setting << "\n"; |
1150 | 1229 | ||
1151 | setting = (getParcelFlag(PF_DENY_ANONYMOUS) ? 1 : 0); | 1230 | output_stream << "\t\t pass_price " << mPassPrice << "\n"; |
1152 | output_stream << "\t\t deny_anonymous " << setting << "\n"; | 1231 | output_stream << "\t\t pass_hours " << mPassHours << "\n"; |
1153 | 1232 | ||
1154 | // setting = (getParcelFlag(PF_DENY_IDENTIFIED) ? 1 : 0); | 1233 | setting = (getParcelFlag(PF_SHOW_DIRECTORY) ? 1 : 0); |
1155 | // output_stream << "\t\t deny_identified " << setting << "\n"; | 1234 | output_stream << "\t\t show_directory " << setting << "\n"; |
1156 | 1235 | ||
1157 | // setting = (getParcelFlag(PF_DENY_TRANSACTED) ? 1 : 0); | 1236 | setting = (getParcelFlag(PF_ALLOW_PUBLISH) ? 1 : 0); |
1158 | // output_stream << "\t\t deny_transacted " << setting << "\n"; | 1237 | output_stream << "\t\t allow_publish " << setting << "\n"; |
1159 | 1238 | ||
1160 | setting = (getParcelFlag(PF_DENY_AGEUNVERIFIED) ? 1 : 0); | 1239 | setting = (getParcelFlag(PF_MATURE_PUBLISH) ? 1 : 0); |
1161 | output_stream << "\t\t deny_age_unverified " << setting << "\n"; | 1240 | output_stream << "\t\t mature_publish " << setting << "\n"; |
1162 | 1241 | ||
1163 | setting = (getParcelFlag(PF_RESTRICT_PUSHOBJECT) ? 1 : 0); | 1242 | setting = (getParcelFlag(PF_DENY_ANONYMOUS) ? 1 : 0); |
1164 | output_stream << "\t\t restrict_pushobject " << setting << "\n"; | 1243 | output_stream << "\t\t deny_anonymous " << setting << "\n"; |
1165 | 1244 | ||
1166 | output_stream << "\t\t aabb_min " | 1245 | // setting = (getParcelFlag(PF_DENY_IDENTIFIED) ? 1 : 0); |
1167 | << mAABBMin.mV[VX] | 1246 | // output_stream << "\t\t deny_identified " << setting << "\n"; |
1168 | << " " << mAABBMin.mV[VY] | 1247 | |
1169 | << " " << mAABBMin.mV[VZ] << "\n"; | 1248 | // setting = (getParcelFlag(PF_DENY_TRANSACTED) ? 1 : 0); |
1170 | 1249 | // output_stream << "\t\t deny_transacted " << setting << "\n"; | |
1171 | if (!mAccessList.empty()) | 1250 | |
1172 | { | 1251 | setting = (getParcelFlag(PF_DENY_AGEUNVERIFIED) ? 1 : 0); |
1173 | output_stream << "\t\t access_list " << mAccessList.size() << "\n"; | 1252 | output_stream << "\t\t deny_age_unverified " << setting << "\n"; |
1174 | access_map_const_iterator cit = mAccessList.begin(); | 1253 | |
1175 | access_map_const_iterator end = mAccessList.end(); | 1254 | setting = (getParcelFlag(PF_RESTRICT_PUSHOBJECT) ? 1 : 0); |
1176 | 1255 | output_stream << "\t\t restrict_pushobject " << setting << "\n"; | |
1177 | for ( ; cit != end; ++cit) | 1256 | |
1178 | { | 1257 | output_stream << "\t\t aabb_min " |
1179 | output_stream << "\t\t{\n"; | 1258 | << mAABBMin.mV[VX] |
1180 | const LLAccessEntry& entry = (*cit).second; | 1259 | << " " << mAABBMin.mV[VY] |
1181 | entry.mID.toString(id_string); | 1260 | << " " << mAABBMin.mV[VZ] << "\n"; |
1182 | output_stream << "\t\t\tid " << id_string << "\n"; | 1261 | |
1183 | output_stream << "\t\t\ttime " << entry.mTime << "\n"; | 1262 | if (!mAccessList.empty()) |
1184 | output_stream << "\t\t\tflags " << entry.mFlags << "\n"; | 1263 | { |
1185 | output_stream << "\t\t}\n"; | 1264 | output_stream << "\t\t access_list " << mAccessList.size() << "\n"; |
1186 | } | 1265 | access_map_const_iterator cit = mAccessList.begin(); |
1187 | } | 1266 | access_map_const_iterator end = mAccessList.end(); |
1188 | 1267 | ||
1189 | if (!mBanList.empty()) | 1268 | for ( ; cit != end; ++cit) |
1190 | { | 1269 | { |
1191 | output_stream << "\t\t ban_list " << mBanList.size() << "\n"; | 1270 | output_stream << "\t\t{\n"; |
1192 | access_map_const_iterator cit = mBanList.begin(); | 1271 | const LLAccessEntry& entry = (*cit).second; |
1193 | access_map_const_iterator end = mBanList.end(); | 1272 | entry.mID.toString(id_string); |
1194 | 1273 | output_stream << "\t\t\tid " << id_string << "\n"; | |
1195 | for ( ; cit != end; ++cit) | 1274 | output_stream << "\t\t\ttime " << entry.mTime << "\n"; |
1196 | { | 1275 | output_stream << "\t\t\tflags " << entry.mFlags << "\n"; |
1197 | output_stream << "\t\t{\n"; | 1276 | output_stream << "\t\t}\n"; |
1198 | const LLAccessEntry& entry = (*cit).second; | 1277 | } |
1199 | entry.mID.toString(id_string); | 1278 | } |
1200 | output_stream << "\t\t\tid " << id_string << "\n"; | 1279 | |
1201 | output_stream << "\t\t\ttime " << entry.mTime << "\n"; | 1280 | if (!mBanList.empty()) |
1202 | output_stream << "\t\t\tflags " << entry.mFlags << "\n"; | 1281 | { |
1203 | output_stream << "\t\t}\n"; | 1282 | output_stream << "\t\t ban_list " << mBanList.size() << "\n"; |
1204 | } | 1283 | access_map_const_iterator cit = mBanList.begin(); |
1205 | } | 1284 | access_map_const_iterator end = mBanList.end(); |
1206 | 1285 | ||
1207 | /*if (mRenterList.count() > 0) | 1286 | for ( ; cit != end; ++cit) |
1208 | { | 1287 | { |
1209 | output_stream << "\t\t renter_list " << mRenterList.count() << "\n"; | 1288 | output_stream << "\t\t{\n"; |
1210 | for (i = 0; i < mRenterList.count(); i++) | 1289 | const LLAccessEntry& entry = (*cit).second; |
1211 | { | 1290 | entry.mID.toString(id_string); |
1212 | output_stream << "\t\t{\n"; | 1291 | output_stream << "\t\t\tid " << id_string << "\n"; |
1213 | const LLAccessEntry& entry = mRenterList.get(i); | 1292 | output_stream << "\t\t\ttime " << entry.mTime << "\n"; |
1214 | entry.mID.toString(id_string); | 1293 | output_stream << "\t\t\tflags " << entry.mFlags << "\n"; |
1215 | output_stream << "\t\t\tid " << id_string << "\n"; | 1294 | output_stream << "\t\t}\n"; |
1216 | output_stream << "\t\t\ttime " << entry.mTime << "\n"; | 1295 | } |
1217 | output_stream << "\t\t\tflags " << entry.mFlags << "\n"; | 1296 | } |
1218 | output_stream << "\t\t}\n"; | 1297 | |
1219 | } | 1298 | /*if (mRenterList.count() > 0) |
1220 | }*/ | 1299 | { |
1221 | 1300 | output_stream << "\t\t renter_list " << mRenterList.count() << "\n"; | |
1222 | output_stream << "\t}\n"; | 1301 | for (i = 0; i < mRenterList.count(); i++) |
1223 | output_stream.flags(old_flags); | 1302 | { |
1224 | 1303 | output_stream << "\t\t{\n"; | |
1225 | return TRUE; | 1304 | const LLAccessEntry& entry = mRenterList.get(i); |
1305 | entry.mID.toString(id_string); | ||
1306 | output_stream << "\t\t\tid " << id_string << "\n"; | ||
1307 | output_stream << "\t\t\ttime " << entry.mTime << "\n"; | ||
1308 | output_stream << "\t\t\tflags " << entry.mFlags << "\n"; | ||
1309 | output_stream << "\t\t}\n"; | ||
1310 | } | ||
1311 | }*/ | ||
1312 | |||
1313 | output_stream << "\t}\n"; | ||
1314 | output_stream.flags(old_flags); | ||
1315 | |||
1316 | return TRUE; | ||
1226 | } | 1317 | } |
1227 | 1318 | ||
1228 | 1319 | ||
@@ -1248,6 +1339,38 @@ void LLParcel::packMessage(LLMessageSystem* msg) | |||
1248 | msg->addU8Fast( _PREHASH_LandingType, (U8)mLandingType); | 1339 | msg->addU8Fast( _PREHASH_LandingType, (U8)mLandingType); |
1249 | } | 1340 | } |
1250 | 1341 | ||
1342 | // Assumes we are in a block "ParcelData" | ||
1343 | void LLParcel::packMessage(LLSD& msg) | ||
1344 | { | ||
1345 | msg["local_id"] = getLocalID(); | ||
1346 | msg["parcel_flags"] = ll_sd_from_U32(getParcelFlags()); | ||
1347 | msg["sale_price"] = getSalePrice(); | ||
1348 | msg["name"] = getName(); | ||
1349 | msg["description"] = getDesc(); | ||
1350 | msg["music_url"] = getMusicURL(); | ||
1351 | msg["media_url"] = getMediaURL(); | ||
1352 | msg["media_desc"] = getMediaDesc(); | ||
1353 | msg["media_type"] = getMediaType(); | ||
1354 | msg["media_width"] = getMediaWidth(); | ||
1355 | msg["media_height"] = getMediaHeight(); | ||
1356 | msg["auto_scale"] = getMediaAutoScale(); | ||
1357 | msg["media_loop"] = getMediaLoop(); | ||
1358 | msg["obscure_media"] = getObscureMedia(); | ||
1359 | msg["obscure_music"] = getObscureMusic(); | ||
1360 | msg["media_id"] = getMediaID(); | ||
1361 | msg["group_id"] = getGroupID(); | ||
1362 | msg["pass_price"] = mPassPrice; | ||
1363 | msg["pass_hours"] = mPassHours; | ||
1364 | msg["category"] = (U8)mCategory; | ||
1365 | msg["auth_buyer_id"] = mAuthBuyerID; | ||
1366 | msg["snapshot_id"] = mSnapshotID; | ||
1367 | msg["snapshot_id"] = mSnapshotID; | ||
1368 | msg["user_location"] = ll_sd_from_vector3(mUserLocation); | ||
1369 | msg["user_look_at"] = ll_sd_from_vector3(mUserLookAt); | ||
1370 | msg["landing_type"] = (U8)mLandingType; | ||
1371 | |||
1372 | } | ||
1373 | |||
1251 | 1374 | ||
1252 | void LLParcel::unpackMessage(LLMessageSystem* msg) | 1375 | void LLParcel::unpackMessage(LLMessageSystem* msg) |
1253 | { | 1376 | { |
@@ -1281,8 +1404,30 @@ void LLParcel::unpackMessage(LLMessageSystem* msg) | |||
1281 | U8 landing_type; | 1404 | U8 landing_type; |
1282 | msg->getU8Fast( _PREHASH_ParcelData,_PREHASH_LandingType, landing_type); | 1405 | msg->getU8Fast( _PREHASH_ParcelData,_PREHASH_LandingType, landing_type); |
1283 | mLandingType = (ELandingType)landing_type; | 1406 | mLandingType = (ELandingType)landing_type; |
1284 | } | ||
1285 | 1407 | ||
1408 | // New Media Data | ||
1409 | // Note: the message has been converted to TCP | ||
1410 | if(msg->getNumberOfBlocks("MediaData") > 0) | ||
1411 | { | ||
1412 | msg->getString("MediaData", "MediaDesc", 256, buffer); | ||
1413 | setMediaDesc(buffer); | ||
1414 | msg->getString("MediaData", "MediaType", 256, buffer); | ||
1415 | setMediaType(buffer); | ||
1416 | msg->getS32("MediaData", "MediaWidth", mMediaWidth); | ||
1417 | msg->getS32("MediaData", "MediaHeight", mMediaHeight); | ||
1418 | msg->getU8 ( "MediaData", "MediaLoop", mMediaLoop ); | ||
1419 | msg->getU8 ( "MediaData", "ObscureMedia", mObscureMedia ); | ||
1420 | msg->getU8 ( "MediaData", "ObscureMusic", mObscureMusic ); | ||
1421 | } | ||
1422 | else | ||
1423 | { | ||
1424 | setMediaType("video/vnd.secondlife.qt.legacy"); | ||
1425 | setMediaDesc("No Description available without Server Upgrade"); | ||
1426 | mMediaLoop = true; | ||
1427 | mObscureMedia = true; | ||
1428 | mObscureMusic = true; | ||
1429 | } | ||
1430 | } | ||
1286 | 1431 | ||
1287 | void LLParcel::packAccessEntries(LLMessageSystem* msg, | 1432 | void LLParcel::packAccessEntries(LLMessageSystem* msg, |
1288 | const std::map<LLUUID,LLAccessEntry>& list) | 1433 | const std::map<LLUUID,LLAccessEntry>& list) |
@@ -1702,27 +1847,34 @@ BOOL LLParcel::isBuyerAuthorized(const LLUUID& buyer_id) const | |||
1702 | 1847 | ||
1703 | void LLParcel::clearParcel() | 1848 | void LLParcel::clearParcel() |
1704 | { | 1849 | { |
1705 | overrideParcelFlags(PF_DEFAULT); | 1850 | overrideParcelFlags(PF_DEFAULT); |
1706 | setName(NULL); | 1851 | setName(NULL); |
1707 | setDesc(NULL); | 1852 | setDesc(NULL); |
1708 | setMusicURL(NULL); | 1853 | setMediaURL(NULL); |
1709 | setMediaURL(NULL); | 1854 | setMediaType(NULL); |
1710 | setMediaID(LLUUID::null); | 1855 | setMediaID(LLUUID::null); |
1711 | setMediaAutoScale(0); | 1856 | setMediaDesc(NULL); |
1712 | setInEscrow(FALSE); | 1857 | setMediaAutoScale(0); |
1713 | setAuthorizedBuyerID(LLUUID::null); | 1858 | setMediaLoop(TRUE); |
1714 | setCategory(C_NONE); | 1859 | mObscureMedia = 0; |
1715 | setSnapshotID(LLUUID::null); | 1860 | mObscureMusic = 0; |
1716 | setUserLocation(LLVector3::zero); | 1861 | mMediaWidth = 0; |
1717 | setUserLookAt(LLVector3::x_axis); | 1862 | mMediaHeight = 0; |
1718 | setLandingType(L_LANDING_POINT); | 1863 | setMusicURL(NULL); |
1719 | setAuctionID(0); | 1864 | setInEscrow(FALSE); |
1720 | setGroupID(LLUUID::null); | 1865 | setAuthorizedBuyerID(LLUUID::null); |
1721 | setPassPrice(0); | 1866 | setCategory(C_NONE); |
1722 | setPassHours(0.f); | 1867 | setSnapshotID(LLUUID::null); |
1723 | mAccessList.clear(); | 1868 | setUserLocation(LLVector3::zero); |
1724 | mBanList.clear(); | 1869 | setUserLookAt(LLVector3::x_axis); |
1725 | //mRenterList.reset(); | 1870 | setLandingType(L_LANDING_POINT); |
1871 | setAuctionID(0); | ||
1872 | setGroupID(LLUUID::null); | ||
1873 | setPassPrice(0); | ||
1874 | setPassHours(0.f); | ||
1875 | mAccessList.clear(); | ||
1876 | mBanList.clear(); | ||
1877 | //mRenterList.reset(); | ||
1726 | } | 1878 | } |
1727 | 1879 | ||
1728 | void LLParcel::dump() | 1880 | void LLParcel::dump() |
@@ -1826,6 +1978,3 @@ LLParcel::ECategory category_ui_string_to_category(const char* s) | |||
1826 | // is a distinct option from "None" and "Other" | 1978 | // is a distinct option from "None" and "Other" |
1827 | return LLParcel::C_ANY; | 1979 | return LLParcel::C_ANY; |
1828 | } | 1980 | } |
1829 | |||
1830 | |||
1831 | |||
diff --git a/linden/indra/llinventory/llparcel.h b/linden/indra/llinventory/llparcel.h index 10fe6dc..9c91d94 100644 --- a/linden/indra/llinventory/llparcel.h +++ b/linden/indra/llinventory/llparcel.h | |||
@@ -211,8 +211,15 @@ public: | |||
211 | void setDesc(const LLString& desc); | 211 | void setDesc(const LLString& desc); |
212 | void setMusicURL(const LLString& url); | 212 | void setMusicURL(const LLString& url); |
213 | void setMediaURL(const LLString& url); | 213 | void setMediaURL(const LLString& url); |
214 | void setMediaType(const char* type); | ||
215 | void setMediaDesc(const char* desc); | ||
214 | void setMediaID(const LLUUID& id) { mMediaID = id; } | 216 | void setMediaID(const LLUUID& id) { mMediaID = id; } |
215 | void setMediaAutoScale ( U8 flagIn ) { mMediaAutoScale = flagIn; } | 217 | void setMediaAutoScale ( U8 flagIn ) { mMediaAutoScale = flagIn; } |
218 | void setMediaLoop (U8 loop) { mMediaLoop = loop; } | ||
219 | void setObscureMedia( U8 flagIn ) { mObscureMedia = flagIn; } | ||
220 | void setObscureMusic( U8 flagIn ) { mObscureMusic = flagIn; } | ||
221 | void setMediaWidth(S32 width); | ||
222 | void setMediaHeight(S32 height); | ||
216 | virtual void setLocalID(S32 local_id); | 223 | virtual void setLocalID(S32 local_id); |
217 | 224 | ||
218 | // blow away all the extra crap lurking in parcels, including urls, access lists, etc | 225 | // blow away all the extra crap lurking in parcels, including urls, access lists, etc |
@@ -268,6 +275,7 @@ public: | |||
268 | BOOL exportStream(std::ostream& output_stream); | 275 | BOOL exportStream(std::ostream& output_stream); |
269 | 276 | ||
270 | void packMessage(LLMessageSystem* msg); | 277 | void packMessage(LLMessageSystem* msg); |
278 | void packMessage(LLSD& msg); | ||
271 | void unpackMessage(LLMessageSystem* msg); | 279 | void unpackMessage(LLMessageSystem* msg); |
272 | 280 | ||
273 | void packAccessEntries(LLMessageSystem* msg, | 281 | void packAccessEntries(LLMessageSystem* msg, |
@@ -299,8 +307,15 @@ public: | |||
299 | const LLString& getDesc() const { return mDesc; } | 307 | const LLString& getDesc() const { return mDesc; } |
300 | const LLString& getMusicURL() const { return mMusicURL; } | 308 | const LLString& getMusicURL() const { return mMusicURL; } |
301 | const LLString& getMediaURL() const { return mMediaURL; } | 309 | const LLString& getMediaURL() const { return mMediaURL; } |
310 | const char* getMediaDesc() const { return mMediaDesc.c_str(); } | ||
311 | const char* getMediaType() const { return mMediaType.c_str(); } | ||
302 | const LLUUID& getMediaID() const { return mMediaID; } | 312 | const LLUUID& getMediaID() const { return mMediaID; } |
313 | S32 getMediaWidth() const { return mMediaWidth; } | ||
314 | S32 getMediaHeight() const { return mMediaHeight; } | ||
303 | U8 getMediaAutoScale() const { return mMediaAutoScale; } | 315 | U8 getMediaAutoScale() const { return mMediaAutoScale; } |
316 | U8 getMediaLoop() const { return mMediaLoop; } | ||
317 | U8 getObscureMedia() const { return mObscureMedia; } | ||
318 | U8 getObscureMusic() const { return mObscureMusic; } | ||
304 | S32 getLocalID() const { return mLocalID; } | 319 | S32 getLocalID() const { return mLocalID; } |
305 | const LLUUID& getOwnerID() const { return mOwnerID; } | 320 | const LLUUID& getOwnerID() const { return mOwnerID; } |
306 | const LLUUID& getGroupID() const { return mGroupID; } | 321 | const LLUUID& getGroupID() const { return mGroupID; } |
@@ -576,7 +591,14 @@ protected: | |||
576 | LLString mDesc; | 591 | LLString mDesc; |
577 | LLString mMusicURL; | 592 | LLString mMusicURL; |
578 | LLString mMediaURL; | 593 | LLString mMediaURL; |
594 | std::string mMediaDesc; | ||
595 | std::string mMediaType; | ||
596 | S32 mMediaWidth; | ||
597 | S32 mMediaHeight; | ||
579 | U8 mMediaAutoScale; | 598 | U8 mMediaAutoScale; |
599 | U8 mMediaLoop; | ||
600 | U8 mObscureMedia; | ||
601 | U8 mObscureMusic; | ||
580 | LLUUID mMediaID; | 602 | LLUUID mMediaID; |
581 | S32 mPassPrice; | 603 | S32 mPassPrice; |
582 | F32 mPassHours; | 604 | F32 mPassHours; |
diff --git a/linden/indra/llinventory/llpermissions.cpp b/linden/indra/llinventory/llpermissions.cpp index 0fec5b8..8d800aa 100644 --- a/linden/indra/llinventory/llpermissions.cpp +++ b/linden/indra/llinventory/llpermissions.cpp | |||
@@ -37,6 +37,7 @@ | |||
37 | // library includes | 37 | // library includes |
38 | #include "message.h" | 38 | #include "message.h" |
39 | #include "metapropertyt.h" | 39 | #include "metapropertyt.h" |
40 | #include "llsd.h" | ||
40 | 41 | ||
41 | ///---------------------------------------------------------------------------- | 42 | ///---------------------------------------------------------------------------- |
42 | /// Class LLPermissions | 43 | /// Class LLPermissions |
@@ -473,6 +474,25 @@ BOOL LLPermissions::allowOperationBy(PermissionBit op, const LLUUID& requester, | |||
473 | } | 474 | } |
474 | 475 | ||
475 | // | 476 | // |
477 | // LLSD support for HTTP messages. | ||
478 | // | ||
479 | LLSD LLPermissions::packMessage() const | ||
480 | { | ||
481 | LLSD result; | ||
482 | result["creator-id"] = mCreator; | ||
483 | result["owner-id"] = mOwner; | ||
484 | result["group-id"] = mGroup; | ||
485 | |||
486 | result["base-mask"] = (S32)mMaskBase; | ||
487 | result["owner-mask"] = (S32)mMaskOwner; | ||
488 | result["group-mask"] = (S32)mMaskGroup; | ||
489 | result["everyone-mask"] = (S32)mMaskEveryone; | ||
490 | result["next-owner-mask"]= (S32)mMaskNextOwner; | ||
491 | result["group-owned"] = (BOOL)mIsGroupOwned; | ||
492 | return result; | ||
493 | } | ||
494 | |||
495 | // | ||
476 | // Messaging support | 496 | // Messaging support |
477 | // | 497 | // |
478 | void LLPermissions::packMessage(LLMessageSystem* msg) const | 498 | void LLPermissions::packMessage(LLMessageSystem* msg) const |
@@ -489,6 +509,19 @@ void LLPermissions::packMessage(LLMessageSystem* msg) const | |||
489 | msg->addBOOLFast(_PREHASH_GroupOwned, (BOOL)mIsGroupOwned); | 509 | msg->addBOOLFast(_PREHASH_GroupOwned, (BOOL)mIsGroupOwned); |
490 | } | 510 | } |
491 | 511 | ||
512 | void LLPermissions::unpackMessage(LLSD perms) | ||
513 | { | ||
514 | mCreator = perms["creator-id"]; | ||
515 | mOwner = perms["owner-id"]; | ||
516 | mGroup = perms["group-id"]; | ||
517 | |||
518 | mMaskBase = (U32)perms["base-mask"].asInteger(); | ||
519 | mMaskOwner = (U32)perms["owner-mask"].asInteger(); | ||
520 | mMaskGroup = (U32)perms["group-mask"].asInteger(); | ||
521 | mMaskEveryone = (U32)perms["everyone-mask"].asInteger(); | ||
522 | mMaskNextOwner = (U32)perms["next-owner-mask"].asInteger(); | ||
523 | mIsGroupOwned = perms["group-owned"].asBoolean(); | ||
524 | } | ||
492 | 525 | ||
493 | void LLPermissions::unpackMessage(LLMessageSystem* msg, const char* block, S32 block_num) | 526 | void LLPermissions::unpackMessage(LLMessageSystem* msg, const char* block, S32 block_num) |
494 | { | 527 | { |
diff --git a/linden/indra/llinventory/llpermissions.h b/linden/indra/llinventory/llpermissions.h index cb4f4b5..05a30f6 100644 --- a/linden/indra/llinventory/llpermissions.h +++ b/linden/indra/llinventory/llpermissions.h | |||
@@ -294,6 +294,9 @@ public: | |||
294 | // MISC METHODS and OPERATORS | 294 | // MISC METHODS and OPERATORS |
295 | // | 295 | // |
296 | 296 | ||
297 | LLSD packMessage() const; | ||
298 | void unpackMessage(LLSD perms); | ||
299 | |||
297 | // For messaging system support | 300 | // For messaging system support |
298 | void packMessage(LLMessageSystem* msg) const; | 301 | void packMessage(LLMessageSystem* msg) const; |
299 | void unpackMessage(LLMessageSystem* msg, const char* block, S32 block_num = 0); | 302 | void unpackMessage(LLMessageSystem* msg, const char* block, S32 block_num = 0); |
diff --git a/linden/indra/llinventory/llsaleinfo.cpp b/linden/indra/llinventory/llsaleinfo.cpp index e7c429b..bff075b 100644 --- a/linden/indra/llinventory/llsaleinfo.cpp +++ b/linden/indra/llinventory/llsaleinfo.cpp | |||
@@ -280,6 +280,17 @@ void LLSaleInfo::setSalePrice(S32 price) | |||
280 | mSalePrice = llclamp(mSalePrice, 0, S32_MAX); | 280 | mSalePrice = llclamp(mSalePrice, 0, S32_MAX); |
281 | } | 281 | } |
282 | 282 | ||
283 | LLSD LLSaleInfo::packMessage() const | ||
284 | { | ||
285 | LLSD result; | ||
286 | |||
287 | U8 sale_type = static_cast<U8>(mSaleType); | ||
288 | result["sale-type"] = (U8)sale_type; | ||
289 | result["sale-price"] = (S32)mSalePrice; | ||
290 | //result[_PREHASH_NextOwnerMask] = mNextOwnerPermMask; | ||
291 | return result; | ||
292 | } | ||
293 | |||
283 | void LLSaleInfo::packMessage(LLMessageSystem* msg) const | 294 | void LLSaleInfo::packMessage(LLMessageSystem* msg) const |
284 | { | 295 | { |
285 | U8 sale_type = static_cast<U8>(mSaleType); | 296 | U8 sale_type = static_cast<U8>(mSaleType); |
@@ -288,6 +299,16 @@ void LLSaleInfo::packMessage(LLMessageSystem* msg) const | |||
288 | //msg->addU32Fast(_PREHASH_NextOwnerMask, mNextOwnerPermMask); | 299 | //msg->addU32Fast(_PREHASH_NextOwnerMask, mNextOwnerPermMask); |
289 | } | 300 | } |
290 | 301 | ||
302 | void LLSaleInfo::unpackMessage(LLSD sales) | ||
303 | { | ||
304 | U8 sale_type = (U8)sales["sale-type"].asInteger(); | ||
305 | mSaleType = static_cast<EForSale>(sale_type); | ||
306 | |||
307 | mSalePrice = (S32)sales["sale-price"].asInteger(); | ||
308 | mSalePrice = llclamp(mSalePrice, 0, S32_MAX); | ||
309 | //msg->getU32Fast(block, _PREHASH_NextOwnerMask, mNextOwnerPermMask); | ||
310 | } | ||
311 | |||
291 | void LLSaleInfo::unpackMessage(LLMessageSystem* msg, const char* block) | 312 | void LLSaleInfo::unpackMessage(LLMessageSystem* msg, const char* block) |
292 | { | 313 | { |
293 | U8 sale_type; | 314 | U8 sale_type; |
diff --git a/linden/indra/llinventory/llsaleinfo.h b/linden/indra/llinventory/llsaleinfo.h index 2fc2fd0..0af8d89 100644 --- a/linden/indra/llinventory/llsaleinfo.h +++ b/linden/indra/llinventory/llsaleinfo.h | |||
@@ -103,6 +103,9 @@ public: | |||
103 | LLXMLNode *exportFileXML() const; | 103 | LLXMLNode *exportFileXML() const; |
104 | BOOL importXML(LLXMLNode* node); | 104 | BOOL importXML(LLXMLNode* node); |
105 | 105 | ||
106 | LLSD packMessage() const; | ||
107 | void unpackMessage(LLSD sales); | ||
108 | |||
106 | // message serialization | 109 | // message serialization |
107 | void packMessage(LLMessageSystem* msg) const; | 110 | void packMessage(LLMessageSystem* msg) const; |
108 | void unpackMessage(LLMessageSystem* msg, const char* block); | 111 | void unpackMessage(LLMessageSystem* msg, const char* block); |