aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/llmessage
diff options
context:
space:
mode:
Diffstat (limited to 'linden/indra/llmessage')
-rw-r--r--linden/indra/llmessage/message_prehash.cpp2
-rw-r--r--linden/indra/llmessage/message_prehash.h2
-rw-r--r--linden/indra/llmessage/patch_code.cpp11
-rw-r--r--linden/indra/llmessage/patch_code.h2
-rw-r--r--linden/indra/llmessage/patch_dct.h2
5 files changed, 13 insertions, 6 deletions
diff --git a/linden/indra/llmessage/message_prehash.cpp b/linden/indra/llmessage/message_prehash.cpp
index ecb45bf..78b9d07 100644
--- a/linden/indra/llmessage/message_prehash.cpp
+++ b/linden/indra/llmessage/message_prehash.cpp
@@ -587,6 +587,8 @@ char* _PREHASH_LastName = LLMessageStringTable::getInstance()->getString("LastNa
587char* _PREHASH_From = LLMessageStringTable::getInstance()->getString("From"); 587char* _PREHASH_From = LLMessageStringTable::getInstance()->getString("From");
588char* _PREHASH_RoleChange = LLMessageStringTable::getInstance()->getString("RoleChange"); 588char* _PREHASH_RoleChange = LLMessageStringTable::getInstance()->getString("RoleChange");
589char* _PREHASH_Port = LLMessageStringTable::getInstance()->getString("Port"); 589char* _PREHASH_Port = LLMessageStringTable::getInstance()->getString("Port");
590char* _PREHASH_RegionSizeX = LLMessageStringTable::getInstance()->getString("RegionSizeX");
591char* _PREHASH_RegionSizeY = LLMessageStringTable::getInstance()->getString("RegionSizeY");
590char* _PREHASH_MemberTitle = LLMessageStringTable::getInstance()->getString("MemberTitle"); 592char* _PREHASH_MemberTitle = LLMessageStringTable::getInstance()->getString("MemberTitle");
591char* _PREHASH_LogParcelChanges = LLMessageStringTable::getInstance()->getString("LogParcelChanges"); 593char* _PREHASH_LogParcelChanges = LLMessageStringTable::getInstance()->getString("LogParcelChanges");
592char* _PREHASH_AgentCachedTextureResponse = LLMessageStringTable::getInstance()->getString("AgentCachedTextureResponse"); 594char* _PREHASH_AgentCachedTextureResponse = LLMessageStringTable::getInstance()->getString("AgentCachedTextureResponse");
diff --git a/linden/indra/llmessage/message_prehash.h b/linden/indra/llmessage/message_prehash.h
index 8516483..64544dd 100644
--- a/linden/indra/llmessage/message_prehash.h
+++ b/linden/indra/llmessage/message_prehash.h
@@ -587,6 +587,8 @@ extern char * _PREHASH_LastName;
587extern char * _PREHASH_From; 587extern char * _PREHASH_From;
588extern char * _PREHASH_RoleChange; 588extern char * _PREHASH_RoleChange;
589extern char * _PREHASH_Port; 589extern char * _PREHASH_Port;
590extern char * _PREHASH_RegionSizeX;
591extern char * _PREHASH_RegionSizeY;
590extern char * _PREHASH_MemberTitle; 592extern char * _PREHASH_MemberTitle;
591extern char * _PREHASH_LogParcelChanges; 593extern char * _PREHASH_LogParcelChanges;
592extern char * _PREHASH_AgentCachedTextureResponse; 594extern char * _PREHASH_AgentCachedTextureResponse;
diff --git a/linden/indra/llmessage/patch_code.cpp b/linden/indra/llmessage/patch_code.cpp
index 90fb236..0cf8d2e 100644
--- a/linden/indra/llmessage/patch_code.cpp
+++ b/linden/indra/llmessage/patch_code.cpp
@@ -235,7 +235,7 @@ void decode_patch_group_header(LLBitPack &bitpack, LLGroupHeader *gopp)
235 gPatchSize = gopp->patch_size; 235 gPatchSize = gopp->patch_size;
236} 236}
237 237
238void decode_patch_header(LLBitPack &bitpack, LLPatchHeader *ph) 238void decode_patch_header(LLBitPack &bitpack, LLPatchHeader *ph, BOOL b_large_patch)
239{ 239{
240 U8 retvalu8; 240 U8 retvalu8;
241 241
@@ -274,15 +274,18 @@ void decode_patch_header(LLBitPack &bitpack, LLPatchHeader *ph)
274#endif 274#endif
275 ph->range = retvalu16; 275 ph->range = retvalu16;
276 276
277 retvalu16 = 0; 277 retvalu32 = 0;
278#ifdef LL_BIG_ENDIAN 278#ifdef LL_BIG_ENDIAN
279 ret = (U8 *)&retvalu16; 279 ret = (U8 *)&retvalu16;
280 bitpack.bitUnpack(&(ret[1]), 8); 280 bitpack.bitUnpack(&(ret[1]), 8);
281 bitpack.bitUnpack(&(ret[0]), 2); 281 bitpack.bitUnpack(&(ret[0]), 2);
282#else 282#else
283 bitpack.bitUnpack((U8 *)&retvalu16, 10); 283 if (b_large_patch)
284 bitpack.bitUnpack((U8 *)&retvalu32, 32);
285 else
286 bitpack.bitUnpack((U8 *)&retvalu32, 10);
284#endif 287#endif
285 ph->patchids = retvalu16; 288 ph->patchids = retvalu32;
286 289
287 gWordBits = (ph->quant_wbits & 0xf) + 2; 290 gWordBits = (ph->quant_wbits & 0xf) + 2;
288} 291}
diff --git a/linden/indra/llmessage/patch_code.h b/linden/indra/llmessage/patch_code.h
index 82fa6bb..dbfdf70 100644
--- a/linden/indra/llmessage/patch_code.h
+++ b/linden/indra/llmessage/patch_code.h
@@ -46,7 +46,7 @@ void end_patch_coding(LLBitPack &bitpack);
46 46
47void init_patch_decoding(LLBitPack &bitpack); 47void init_patch_decoding(LLBitPack &bitpack);
48void decode_patch_group_header(LLBitPack &bitpack, LLGroupHeader *gopp); 48void decode_patch_group_header(LLBitPack &bitpack, LLGroupHeader *gopp);
49void decode_patch_header(LLBitPack &bitpack, LLPatchHeader *ph); 49void decode_patch_header(LLBitPack &bitpack, LLPatchHeader *ph, BOOL b_large_patch);
50void decode_patch(LLBitPack &bitpack, S32 *patches); 50void decode_patch(LLBitPack &bitpack, S32 *patches);
51 51
52#endif 52#endif
diff --git a/linden/indra/llmessage/patch_dct.h b/linden/indra/llmessage/patch_dct.h
index 663e146..ba21be7 100644
--- a/linden/indra/llmessage/patch_dct.h
+++ b/linden/indra/llmessage/patch_dct.h
@@ -79,7 +79,7 @@ public:
79 F32 dc_offset; // 4 bytes 79 F32 dc_offset; // 4 bytes
80 U16 range; // 2 = 7 ((S16) FP range (breaks if we need > 32K meters in 1 patch) 80 U16 range; // 2 = 7 ((S16) FP range (breaks if we need > 32K meters in 1 patch)
81 U8 quant_wbits; // 1 = 8 (upper 4 bits is quant - 2, lower 4 bits is word bits - 2) 81 U8 quant_wbits; // 1 = 8 (upper 4 bits is quant - 2, lower 4 bits is word bits - 2)
82 U16 patchids; // 2 = 10 (actually only uses 10 bits, 5 for each) 82 U32 patchids; // 2 = 10 (actually only uses 10 bits, 5 for each)
83}; 83};
84 84
85// Compression routines 85// Compression routines