diff options
author | UbitUmarov | 2019-03-07 18:20:17 +0000 |
---|---|---|
committer | UbitUmarov | 2019-03-07 18:20:17 +0000 |
commit | 95c4de614427ca9d6b376408b0b56b6167bb41ce (patch) | |
tree | 7e4cd3df923a3a35362f9d6a63a779d4adc2c0dc /OpenSim/Region/ClientStack | |
parent | vegetation is special (diff) | |
download | opensim-SC-95c4de614427ca9d6b376408b0b56b6167bb41ce.zip opensim-SC-95c4de614427ca9d6b376408b0b56b6167bb41ce.tar.gz opensim-SC-95c4de614427ca9d6b376408b0b56b6167bb41ce.tar.bz2 opensim-SC-95c4de614427ca9d6b376408b0b56b6167bb41ce.tar.xz |
grass even more
Diffstat (limited to 'OpenSim/Region/ClientStack')
-rw-r--r-- | OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | 45 |
1 files changed, 38 insertions, 7 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs index f984009..4d62bbe 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | |||
@@ -6266,7 +6266,10 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
6266 | if(pcode == PCode.Grass || pcode == PCode.Tree || pcode == PCode.NewTree) | 6266 | if(pcode == PCode.Grass || pcode == PCode.Tree || pcode == PCode.NewTree) |
6267 | { | 6267 | { |
6268 | zc.AddUInt(part.LocalId); | 6268 | zc.AddUInt(part.LocalId); |
6269 | zc.AddByte(state); // state | 6269 | if(pcode == PCode.Grass) |
6270 | zc.AddByte(state); // state | ||
6271 | else | ||
6272 | zc.AddZeros(1); | ||
6270 | zc.AddUUID(part.UUID); | 6273 | zc.AddUUID(part.UUID); |
6271 | zc.AddZeros(4); // crc unused | 6274 | zc.AddZeros(4); // crc unused |
6272 | zc.AddByte((byte)pcode); | 6275 | zc.AddByte((byte)pcode); |
@@ -6278,22 +6281,50 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
6278 | // objectdata block | 6281 | // objectdata block |
6279 | zc.AddByte(60); // fixed object block size | 6282 | zc.AddByte(60); // fixed object block size |
6280 | zc.AddVector3(part.RelativePosition); | 6283 | zc.AddVector3(part.RelativePosition); |
6281 | zc.AddZeros(24); | 6284 | if (pcode == PCode.Grass) |
6282 | Quaternion rot = part.RotationOffset; | 6285 | zc.AddZeros(48); |
6283 | rot.Normalize(); | 6286 | else |
6284 | zc.AddNormQuat(rot); | 6287 | { |
6285 | zc.AddZeros(12); | 6288 | zc.AddZeros(24); |
6289 | Quaternion rot = part.RotationOffset; | ||
6290 | rot.Normalize(); | ||
6291 | zc.AddNormQuat(rot); | ||
6292 | zc.AddZeros(12); | ||
6293 | } | ||
6286 | 6294 | ||
6287 | zc.AddUInt(part.ParentID); | 6295 | zc.AddUInt(part.ParentID); |
6288 | zc.AddUInt((uint)primflags); //update flags | 6296 | zc.AddUInt((uint)primflags); //update flags |
6289 | 6297 | ||
6298 | if (pcode == PCode.Grass) | ||
6299 | { | ||
6300 | //pbs volume data 23 | ||
6301 | //texture entry 2 | ||
6302 | //texture anim 1 | ||
6303 | //name value 2 | ||
6304 | // data 1 | ||
6305 | // text 5 | ||
6306 | // media url 1 | ||
6307 | // particle system 1 | ||
6308 | // Extraparams 1 | ||
6309 | // sound id 16 | ||
6310 | // ownwer 16 | ||
6311 | // sound gain 4 | ||
6312 | // sound flags 1 | ||
6313 | // sound radius 4 | ||
6314 | // jointtype 1 | ||
6315 | // joint pivot 12 | ||
6316 | // joint offset 12 | ||
6317 | zc.AddZeros(23 + 2 + 1 + 2 + 1 + 5 + 1 + 1 + 1 + 16 + 16 + 4 + 1 + 4 + 1 + 12 + 12); | ||
6318 | return; | ||
6319 | } | ||
6320 | |||
6290 | //pbs volume data 23 | 6321 | //pbs volume data 23 |
6291 | //texture entry 2 | 6322 | //texture entry 2 |
6292 | //texture anim 1 | 6323 | //texture anim 1 |
6293 | //name value 2 | 6324 | //name value 2 |
6294 | zc.AddZeros(23 + 2 + 1 + 2); | 6325 | zc.AddZeros(23 + 2 + 1 + 2); |
6295 | 6326 | ||
6296 | //data | 6327 | //data: the tree type |
6297 | zc.AddByte(1); | 6328 | zc.AddByte(1); |
6298 | zc.AddZeros(1); | 6329 | zc.AddZeros(1); |
6299 | zc.AddByte(state); | 6330 | zc.AddByte(state); |