aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorUbitUmarov2018-11-20 18:12:18 +0000
committerUbitUmarov2018-11-20 18:12:18 +0000
commitcb1ebd1604315226e67012cc202c8845d05ddce4 (patch)
tree33357f246e1b804d5dd5c0df66f4c04464ffe3a3
parentmantis 8410: llwhisper, llSay and llShout emit from the source prim not root (diff)
downloadopensim-SC-cb1ebd1604315226e67012cc202c8845d05ddce4.zip
opensim-SC-cb1ebd1604315226e67012cc202c8845d05ddce4.tar.gz
opensim-SC-cb1ebd1604315226e67012cc202c8845d05ddce4.tar.bz2
opensim-SC-cb1ebd1604315226e67012cc202c8845d05ddce4.tar.xz
add osApproxEquals for float, vector and rotation, note that default margin is 1e-6 to match strings rounding
Diffstat (limited to '')
-rw-r--r--BUILDING.md32
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs98
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs7
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs30
-rw-r--r--README.md2
-rw-r--r--bin/ScriptSyntax.xml67
-rw-r--r--bin/config-include/osslEnable.ini3
7 files changed, 213 insertions, 26 deletions
diff --git a/BUILDING.md b/BUILDING.md
index 95c13b6..6bd04bc 100644
--- a/BUILDING.md
+++ b/BUILDING.md
@@ -1,11 +1,11 @@
1# Building on Windows 1# Building on Windows
2 2
3Steps: 3Steps:
4 * runprebuild.bat 4* runprebuild.bat
5 * Load OpenSim.sln into Visual Studio .NET and build the solution. 5* Load OpenSim.sln into Visual Studio .NET and build the solution.
6 * chdir bin 6* chdir bin
7 * copy OpenSim.ini.example to OpenSim.ini and other appropriate files in bin/config-include 7* copy OpenSim.ini.example to OpenSim.ini and other appropriate files in bin/config-include
8 * run OpenSim.exe 8* run OpenSim.exe
9 9
10# Building on Linux / Mac 10# Building on Linux / Mac
11 11
@@ -16,17 +16,17 @@ Prereqs:
16* See http://opensimulator.org/wiki/Dependencies for more information. 16* See http://opensimulator.org/wiki/Dependencies for more information.
17 17
18From the distribution type: 18From the distribution type:
19 * ./runprebuild.sh 19* ./runprebuild.sh
20 * type msbuild or xbuild 20* type msbuild or xbuild
21 * cd bin 21* cd bin
22 * copy OpenSim.ini.example to OpenSim.ini and other appropriate files in bin/config-include 22* copy OpenSim.ini.example to OpenSim.ini and other appropriate files in bin/config-include
23 * review and change those ini files according to your needs 23* review and change those ini files according to your needs
24 * windows: execute opensim.exe or opensim32.exe for small regions 24* windows: execute opensim.exe or opensim32.exe for small regions
25 * linux: run ./opensim.sh 25* linux: run ./opensim.sh
26 * msbuild (xbuild) option switches 26* msbuild (xbuild) option switches
27 * clean: msbuild /target:clean 27 * clean: msbuild /target:clean
28 * debug: (default) msbuild /property:Configuration=Debug 28 * debug: (default) msbuild /property:Configuration=Debug
29 * release: msbuild /property:Configuration=Release 29 * release: msbuild /property:Configuration=Release
30 30
31# References 31# References
32 32
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs
index f0177db..7b56b90 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs
@@ -5305,5 +5305,103 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
5305 5305
5306 return ((string)src).Replace(oldvalue, newvalue); 5306 return ((string)src).Replace(oldvalue, newvalue);
5307 } 5307 }
5308
5309 public LSL_Integer osApproxEquals(LSL_Float a, LSL_Float b)
5310 {
5311 if (a > b + 1.0e-6 || a < b - 1.0e-6)
5312 return 0;
5313 return 1;
5314 }
5315
5316 public LSL_Integer osApproxEquals(LSL_Float a, LSL_Float b, LSL_Float margin)
5317 {
5318 double e = Math.Abs(margin);
5319 if (a > b + e || a < b - e)
5320 return 0;
5321 return 1;
5322 }
5323
5324 public LSL_Integer osApproxEquals(LSL_Vector va, LSL_Vector vb)
5325 {
5326 double a = va.x;
5327 double b = vb.x;
5328 if (a > b + 1.0e-6 || a < b - 1.0e-6)
5329 return 0;
5330 a = va.y;
5331 b = vb.y;
5332 if (a > b + 1.0e-6 || a < b - 1.0e-6)
5333 return 0;
5334 a = va.z;
5335 b = vb.z;
5336 if (a > b + 1.0e-6 || a < b - 1.0e-6)
5337 return 0;
5338
5339 return 1;
5340 }
5341
5342 public LSL_Integer osApproxEquals(LSL_Vector va, LSL_Vector vb, LSL_Float margin)
5343 {
5344 double e = Math.Abs(margin);
5345 double a = va.x;
5346 double b = vb.x;
5347 if (a > b + e || a < b - e)
5348 return 0;
5349 a = va.y;
5350 b = vb.y;
5351 if (a > b + e || a < b - e)
5352 return 0;
5353 a = va.z;
5354 b = vb.z;
5355 if (a > b + e || a < b - e)
5356 return 0;
5357
5358 return 1;
5359 }
5360
5361 public LSL_Integer osApproxEquals(LSL_Rotation ra, LSL_Rotation rb)
5362 {
5363 double a = ra.x;
5364 double b = rb.x;
5365 if (a > b + 1.0e-6 || a < b - 1.0e-6)
5366 return 0;
5367 a = ra.y;
5368 b = rb.y;
5369 if (a > b + 1.0e-6 || a < b - 1.0e-6)
5370 return 0;
5371 a = ra.z;
5372 b = rb.z;
5373 if (a > b + 1.0e-6 || a < b - 1.0e-6)
5374 return 0;
5375 a = ra.s;
5376 b = rb.s;
5377 if (a > b + 1.0e-6 || a < b - 1.0e-6)
5378 return 0;
5379
5380 return 1;
5381 }
5382
5383 public LSL_Integer osApproxEquals(LSL_Rotation ra, LSL_Rotation rb, LSL_Float margin)
5384 {
5385 double e = Math.Abs(margin);
5386 double a = ra.x;
5387 double b = rb.x;
5388 if (a > b + e || a < b - e)
5389 return 0;
5390 a = ra.y;
5391 b = rb.y;
5392 if (a > b + e || a < b - e)
5393 return 0;
5394 a = ra.z;
5395 b = rb.z;
5396 if (a > b + e || a < b - e)
5397 return 0;
5398 a = ra.s;
5399 b = rb.s;
5400 if (a > b + e || a < b - e)
5401 return 0;
5402
5403 return 1;
5404 }
5405
5308 } 5406 }
5309} \ No newline at end of file 5407} \ No newline at end of file
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs
index 2ab1fff..5bb7670 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs
@@ -540,5 +540,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Interfaces
540 LSL_Integer osStringLastIndexOf(LSL_String src, LSL_String value, LSL_Integer start, LSL_Integer count, LSL_Integer ignorecase); 540 LSL_Integer osStringLastIndexOf(LSL_String src, LSL_String value, LSL_Integer start, LSL_Integer count, LSL_Integer ignorecase);
541 LSL_String osStringRemove(LSL_String src, LSL_Integer start, LSL_Integer count); 541 LSL_String osStringRemove(LSL_String src, LSL_Integer start, LSL_Integer count);
542 LSL_String osStringReplace(LSL_String src, LSL_String oldvalue, LSL_String newvalue); 542 LSL_String osStringReplace(LSL_String src, LSL_String oldvalue, LSL_String newvalue);
543
544 LSL_Integer osApproxEquals(LSL_Float a, LSL_Float b);
545 LSL_Integer osApproxEquals(LSL_Float a, LSL_Float b, LSL_Float margin);
546 LSL_Integer osApproxEquals(vector va, vector vb);
547 LSL_Integer osApproxEquals(vector va, vector vb, LSL_Float margin);
548 LSL_Integer osApproxEquals(rotation ra, rotation rb);
549 LSL_Integer osApproxEquals(rotation ra, rotation rb, LSL_Float margin);
543 } 550 }
544} 551}
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs
index 1c003a0..29ada83 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs
@@ -1337,5 +1337,35 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
1337 { 1337 {
1338 return m_OSSL_Functions.osStringReplace(src, oldvalue, newvalue); 1338 return m_OSSL_Functions.osStringReplace(src, oldvalue, newvalue);
1339 } 1339 }
1340
1341 public LSL_Integer osApproxEquals(LSL_Float a, LSL_Float b)
1342 {
1343 return m_OSSL_Functions.osApproxEquals(a, b);
1344 }
1345
1346 public LSL_Integer osApproxEquals(LSL_Float a, LSL_Float b, LSL_Float margin)
1347 {
1348 return m_OSSL_Functions.osApproxEquals(a, b, margin);
1349 }
1350
1351 public LSL_Integer osApproxEquals(vector va, vector vb)
1352 {
1353 return m_OSSL_Functions.osApproxEquals(va, vb);
1354 }
1355
1356 public LSL_Integer osApproxEquals(vector va, vector vb, LSL_Float margin)
1357 {
1358 return m_OSSL_Functions.osApproxEquals(va, vb, margin);
1359 }
1360
1361 public LSL_Integer osApproxEquals(rotation ra, rotation rb)
1362 {
1363 return m_OSSL_Functions.osApproxEquals(ra, rb);
1364 }
1365
1366 public LSL_Integer osApproxEquals(rotation ra, rotation rb, LSL_Float margin)
1367 {
1368 return m_OSSL_Functions.osApproxEquals(ra, rb, margin);
1369 }
1340 } 1370 }
1341} 1371}
diff --git a/README.md b/README.md
index f4a2f1b..5b16998 100644
--- a/README.md
+++ b/README.md
@@ -32,7 +32,7 @@ Now see the "Configuring OpenSim" section
32 32
33# Running OpenSim on Linux 33# Running OpenSim on Linux
34 34
35You will need Mono >= 2.10.8.1 upt to version 0.9.0.1 and mono > 5.0 on others. On some Linux distributions you 35You will need Mono >= 2.10.8.1 up to version 0.9.0.1 and mono > 5.0 on others. On some Linux distributions you
36may need to install additional packages. See http://opensimulator.org/wiki/Dependencies 36may need to install additional packages. See http://opensimulator.org/wiki/Dependencies
37for more information. 37for more information.
38 38
diff --git a/bin/ScriptSyntax.xml b/bin/ScriptSyntax.xml
index 77c49c2..b3e03c1 100644
--- a/bin/ScriptSyntax.xml
+++ b/bin/ScriptSyntax.xml
@@ -1,4 +1,4 @@
19e55237f-19be-984f-6bdc-a8fd07eb2447 10acc12d6-3dc9-9574-7bd6-d298c045f046
2<llsd><map><key>llsd-lsl-syntax-version</key><integer>2</integer> 2<llsd><map><key>llsd-lsl-syntax-version</key><integer>2</integer>
3<key>controls</key> 3<key>controls</key>
4<map> 4<map>
@@ -6058,6 +6058,57 @@
6058 <map><key>b</key><map><key>type</key><string>vector</string></map></map> 6058 <map><key>b</key><map><key>type</key><string>vector</string></map></map>
6059 </array> 6059 </array>
6060 </map> 6060 </map>
6061 <key>osApproxEquals</key>
6062 <map>
6063 <key>return</key><string>integer</string>
6064 <key>arguments</key><array>
6065 <map><key>va</key><map><key>type</key><string>vector</string></map></map>
6066 <map><key>vb</key><map><key>type</key><string>vector</string></map></map>
6067 <map><key>margin</key><map><key>type</key><string>float</string></map></map>
6068 </array>
6069 </map>
6070 <key>osApproxEquals</key>
6071 <map>
6072 <key>return</key><string>integer</string>
6073 <key>arguments</key><array>
6074 <map><key>va</key><map><key>type</key><string>vector</string></map></map>
6075 <map><key>vb</key><map><key>type</key><string>vector</string></map></map>
6076 </array>
6077 </map>
6078 <key>osApproxEquals</key>
6079 <map>
6080 <key>return</key><string>integer</string>
6081 <key>arguments</key><array>
6082 <map><key>a</key><map><key>type</key><string>float</string></map></map>
6083 <map><key>b</key><map><key>type</key><string>float</string></map></map>
6084 <map><key>margin</key><map><key>type</key><string>float</string></map></map>
6085 </array>
6086 </map>
6087 <key>osApproxEquals</key>
6088 <map>
6089 <key>return</key><string>integer</string>
6090 <key>arguments</key><array>
6091 <map><key>a</key><map><key>type</key><string>float</string></map></map>
6092 <map><key>b</key><map><key>type</key><string>float</string></map></map>
6093 </array>
6094 </map>
6095 <key>osApproxEquals</key>
6096 <map>
6097 <key>return</key><string>integer</string>
6098 <key>arguments</key><array>
6099 <map><key>ra</key><map><key>type</key><string>rotation</string></map></map>
6100 <map><key>rb</key><map><key>type</key><string>rotation</string></map></map>
6101 <map><key>margin</key><map><key>type</key><string>float</string></map></map>
6102 </array>
6103 </map>
6104 <key>osApproxEquals</key>
6105 <map>
6106 <key>return</key><string>integer</string>
6107 <key>arguments</key><array>
6108 <map><key>ra</key><map><key>type</key><string>rotation</string></map></map>
6109 <map><key>rb</key><map><key>type</key><string>rotation</string></map></map>
6110 </array>
6111 </map>
6061 <key>osAvatarName2Key</key> 6112 <key>osAvatarName2Key</key>
6062 <map> 6113 <map>
6063 <key>return</key><string>string</string> 6114 <key>return</key><string>string</string>
@@ -6795,13 +6846,13 @@
6795 <key>osRegionNotice</key> 6846 <key>osRegionNotice</key>
6796 <map> 6847 <map>
6797 <key>arguments</key><array> 6848 <key>arguments</key><array>
6849 <map><key>agentID</key><map><key>type</key><string>key</string></map></map>
6798 <map><key>msg</key><map><key>type</key><string>string</string></map></map> 6850 <map><key>msg</key><map><key>type</key><string>string</string></map></map>
6799 </array> 6851 </array>
6800 </map> 6852 </map>
6801 <key>osRegionNotice</key> 6853 <key>osRegionNotice</key>
6802 <map> 6854 <map>
6803 <key>arguments</key><array> 6855 <key>arguments</key><array>
6804 <map><key>agentID</key><map><key>type</key><string>key</string></map></map>
6805 <map><key>msg</key><map><key>type</key><string>string</string></map></map> 6856 <map><key>msg</key><map><key>type</key><string>string</string></map></map>
6806 </array> 6857 </array>
6807 </map> 6858 </map>
@@ -6810,6 +6861,7 @@
6810 <key>return</key><string>integer</string> 6861 <key>return</key><string>integer</string>
6811 <key>arguments</key><array> 6862 <key>arguments</key><array>
6812 <map><key>seconds</key><map><key>type</key><string>float</string></map></map> 6863 <map><key>seconds</key><map><key>type</key><string>float</string></map></map>
6864 <map><key>msg</key><map><key>type</key><string>string</string></map></map>
6813 </array> 6865 </array>
6814 </map> 6866 </map>
6815 <key>osRegionRestart</key> 6867 <key>osRegionRestart</key>
@@ -6817,7 +6869,6 @@
6817 <key>return</key><string>integer</string> 6869 <key>return</key><string>integer</string>
6818 <key>arguments</key><array> 6870 <key>arguments</key><array>
6819 <map><key>seconds</key><map><key>type</key><string>float</string></map></map> 6871 <map><key>seconds</key><map><key>type</key><string>float</string></map></map>
6820 <map><key>msg</key><map><key>type</key><string>string</string></map></map>
6821 </array> 6872 </array>
6822 </map> 6873 </map>
6823 <key>osReplaceString</key> 6874 <key>osReplaceString</key>
@@ -7153,6 +7204,8 @@
7153 <key>arguments</key><array> 7204 <key>arguments</key><array>
7154 <map><key>src</key><map><key>type</key><string>string</string></map></map> 7205 <map><key>src</key><map><key>type</key><string>string</string></map></map>
7155 <map><key>value</key><map><key>type</key><string>string</string></map></map> 7206 <map><key>value</key><map><key>type</key><string>string</string></map></map>
7207 <map><key>start</key><map><key>type</key><string>integer</string></map></map>
7208 <map><key>count</key><map><key>type</key><string>integer</string></map></map>
7156 <map><key>ignorecase</key><map><key>type</key><string>integer</string></map></map> 7209 <map><key>ignorecase</key><map><key>type</key><string>integer</string></map></map>
7157 </array> 7210 </array>
7158 </map> 7211 </map>
@@ -7162,8 +7215,6 @@
7162 <key>arguments</key><array> 7215 <key>arguments</key><array>
7163 <map><key>src</key><map><key>type</key><string>string</string></map></map> 7216 <map><key>src</key><map><key>type</key><string>string</string></map></map>
7164 <map><key>value</key><map><key>type</key><string>string</string></map></map> 7217 <map><key>value</key><map><key>type</key><string>string</string></map></map>
7165 <map><key>start</key><map><key>type</key><string>integer</string></map></map>
7166 <map><key>count</key><map><key>type</key><string>integer</string></map></map>
7167 <map><key>ignorecase</key><map><key>type</key><string>integer</string></map></map> 7218 <map><key>ignorecase</key><map><key>type</key><string>integer</string></map></map>
7168 </array> 7219 </array>
7169 </map> 7220 </map>
@@ -7173,6 +7224,8 @@
7173 <key>arguments</key><array> 7224 <key>arguments</key><array>
7174 <map><key>src</key><map><key>type</key><string>string</string></map></map> 7225 <map><key>src</key><map><key>type</key><string>string</string></map></map>
7175 <map><key>value</key><map><key>type</key><string>string</string></map></map> 7226 <map><key>value</key><map><key>type</key><string>string</string></map></map>
7227 <map><key>start</key><map><key>type</key><string>integer</string></map></map>
7228 <map><key>count</key><map><key>type</key><string>integer</string></map></map>
7176 <map><key>ignorecase</key><map><key>type</key><string>integer</string></map></map> 7229 <map><key>ignorecase</key><map><key>type</key><string>integer</string></map></map>
7177 </array> 7230 </array>
7178 </map> 7231 </map>
@@ -7182,8 +7235,6 @@
7182 <key>arguments</key><array> 7235 <key>arguments</key><array>
7183 <map><key>src</key><map><key>type</key><string>string</string></map></map> 7236 <map><key>src</key><map><key>type</key><string>string</string></map></map>
7184 <map><key>value</key><map><key>type</key><string>string</string></map></map> 7237 <map><key>value</key><map><key>type</key><string>string</string></map></map>
7185 <map><key>start</key><map><key>type</key><string>integer</string></map></map>
7186 <map><key>count</key><map><key>type</key><string>integer</string></map></map>
7187 <map><key>ignorecase</key><map><key>type</key><string>integer</string></map></map> 7238 <map><key>ignorecase</key><map><key>type</key><string>integer</string></map></map>
7188 </array> 7239 </array>
7189 </map> 7240 </map>
@@ -7249,7 +7300,6 @@
7249 <map> 7300 <map>
7250 <key>arguments</key><array> 7301 <key>arguments</key><array>
7251 <map><key>agent</key><map><key>type</key><string>string</string></map></map> 7302 <map><key>agent</key><map><key>type</key><string>string</string></map></map>
7252 <map><key>regionName</key><map><key>type</key><string>string</string></map></map>
7253 <map><key>position</key><map><key>type</key><string>vector</string></map></map> 7303 <map><key>position</key><map><key>type</key><string>vector</string></map></map>
7254 <map><key>lookat</key><map><key>type</key><string>vector</string></map></map> 7304 <map><key>lookat</key><map><key>type</key><string>vector</string></map></map>
7255 </array> 7305 </array>
@@ -7258,6 +7308,7 @@
7258 <map> 7308 <map>
7259 <key>arguments</key><array> 7309 <key>arguments</key><array>
7260 <map><key>agent</key><map><key>type</key><string>string</string></map></map> 7310 <map><key>agent</key><map><key>type</key><string>string</string></map></map>
7311 <map><key>regionName</key><map><key>type</key><string>string</string></map></map>
7261 <map><key>position</key><map><key>type</key><string>vector</string></map></map> 7312 <map><key>position</key><map><key>type</key><string>vector</string></map></map>
7262 <map><key>lookat</key><map><key>type</key><string>vector</string></map></map> 7313 <map><key>lookat</key><map><key>type</key><string>vector</string></map></map>
7263 </array> 7314 </array>
diff --git a/bin/config-include/osslEnable.ini b/bin/config-include/osslEnable.ini
index 4918d34..fa33880 100644
--- a/bin/config-include/osslEnable.ini
+++ b/bin/config-include/osslEnable.ini
@@ -127,8 +127,8 @@
127 Allow_osDie = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER 127 Allow_osDie = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
128 128
129 ; ThreatLevel Moderate 129 ; ThreatLevel Moderate
130 Allow_osDropAttachment = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
131 Allow_osDetectedCountry = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER 130 Allow_osDetectedCountry = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
131 Allow_osDropAttachment = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
132 Allow_osDropAttachmentAt = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER 132 Allow_osDropAttachmentAt = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
133 Allow_osGetAgentCountry = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER 133 Allow_osGetAgentCountry = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
134 Allow_osGetGridCustom = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER 134 Allow_osGetGridCustom = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
@@ -228,6 +228,7 @@
228; available functions out of Threat level control (for reference only) 228; available functions out of Threat level control (for reference only)
229; Allow_osAdjustSoundVolume = true 229; Allow_osAdjustSoundVolume = true
230; Allow_osAngleBetween = true 230; Allow_osAngleBetween = true
231; Allow_osApproxEquals = true
231; Allow_osCheckODE = true 232; Allow_osCheckODE = true
232; Allow_osClearInertia = true 233; Allow_osClearInertia = true
233; Allow_osCollisionSound = true 234; Allow_osCollisionSound = true