Aurora var region support
Firestorm patch by Cinders Adopted from Angstrom viewer with assistance of nhede Core and Revolution Smythe.
This commit is contained in:
@@ -37,8 +37,6 @@ F32 const gPrehashVersionNumber = 2.000f;
|
||||
char const* const _PREHASH_X = LLMessageStringTable::getInstance()->getString("X");
|
||||
char const* const _PREHASH_Y = LLMessageStringTable::getInstance()->getString("Y");
|
||||
char const* const _PREHASH_Z = LLMessageStringTable::getInstance()->getString("Z");
|
||||
char const* const _PREHASH_SizeX = LLMessageStringTable::getInstance()->getString("SizeX");
|
||||
char const* const _PREHASH_SizeY = LLMessageStringTable::getInstance()->getString("SizeY");
|
||||
char const* const _PREHASH_AddFlags = LLMessageStringTable::getInstance()->getString("AddFlags");
|
||||
char const* const _PREHASH_FailureInfo = LLMessageStringTable::getInstance()->getString("FailureInfo");
|
||||
char const* const _PREHASH_MapData = LLMessageStringTable::getInstance()->getString("MapData");
|
||||
@@ -1386,3 +1384,10 @@ char const* const _PREHASH_GroupAVSounds = LLMessageStringTable::getInstance()->
|
||||
char const* const _PREHASH_AppearanceData = LLMessageStringTable::getInstance()->getString("AppearanceData");
|
||||
char const* const _PREHASH_AppearanceVersion = LLMessageStringTable::getInstance()->getString("AppearanceVersion");
|
||||
char const* const _PREHASH_CofVersion = LLMessageStringTable::getInstance()->getString("CofVersion");
|
||||
|
||||
// <FS:CR> Aurora Sim
|
||||
char const* const _PREHASH_RegionSizeX = LLMessageStringTable::getInstance()->getString("RegionSizeX");
|
||||
char const* const _PREHASH_RegionSizeY = LLMessageStringTable::getInstance()->getString("RegionSizeY");
|
||||
char const* const _PREHASH_SizeX = LLMessageStringTable::getInstance()->getString("SizeX");
|
||||
char const* const _PREHASH_SizeY = LLMessageStringTable::getInstance()->getString("SizeY");
|
||||
// </FS:CR> Aurora Sim
|
||||
|
||||
@@ -1386,4 +1386,11 @@ extern char const* const _PREHASH_GroupAVSounds;
|
||||
extern char const* const _PREHASH_AppearanceData;
|
||||
extern char const* const _PREHASH_AppearanceVersion;
|
||||
extern char const* const _PREHASH_CofVersion;
|
||||
|
||||
// <FS:CR> Aurora Sim
|
||||
extern char const* const _PREHASH_RegionSizeX;
|
||||
extern char const* const _PREHASH_RegionSizeY;
|
||||
extern char const* const _PREHASH_SizeX;
|
||||
extern char const* const _PREHASH_SizeY;
|
||||
// <FS:CR> Aurora Sim
|
||||
#endif
|
||||
|
||||
@@ -229,7 +229,10 @@ void decode_patch_group_header(LLBitPack &bitpack, LLGroupHeader *gopp)
|
||||
gPatchSize = gopp->patch_size;
|
||||
}
|
||||
|
||||
void decode_patch_header(LLBitPack &bitpack, LLPatchHeader *ph)
|
||||
// <FS:CR> Aurora Sim
|
||||
//void decode_patch_header(LLBitPack &bitpack, LLPatchHeader *ph)
|
||||
void decode_patch_header(LLBitPack &bitpack, LLPatchHeader *ph, BOOL b_large_patch)
|
||||
// </FS:CR> Aurora Sim
|
||||
{
|
||||
U8 retvalu8;
|
||||
|
||||
@@ -268,15 +271,41 @@ void decode_patch_header(LLBitPack &bitpack, LLPatchHeader *ph)
|
||||
#endif
|
||||
ph->range = retvalu16;
|
||||
|
||||
retvalu16 = 0;
|
||||
// <FS:CR> Aurora Sim
|
||||
//retvalu16 = 0;
|
||||
retvalu32 = 0;
|
||||
#ifdef LL_BIG_ENDIAN
|
||||
ret = (U8 *)&retvalu16;
|
||||
bitpack.bitUnpack(&(ret[1]), 8);
|
||||
bitpack.bitUnpack(&(ret[0]), 2);
|
||||
// <FS:CR> Aurora Sim
|
||||
//ret = (U8 *)&retvalu16;
|
||||
if(b_large_patch)
|
||||
{
|
||||
//todo test
|
||||
ret = (U8 *)&retvalu32;
|
||||
bitpack.bitUnpack(&(ret[3]), 8);
|
||||
bitpack.bitUnpack(&(ret[2]), 8);
|
||||
bitpack.bitUnpack(&(ret[1]), 8);
|
||||
bitpack.bitUnpack(&(ret[0]), 8);
|
||||
}
|
||||
else
|
||||
{
|
||||
ret = (U8 *)&retvalu32;
|
||||
bitpack.bitUnpack(&(ret[1]), 8);
|
||||
bitpack.bitUnpack(&(ret[0]), 2);
|
||||
}
|
||||
// </FS:CR> Aurora Sim
|
||||
#else
|
||||
bitpack.bitUnpack((U8 *)&retvalu16, 10);
|
||||
// <FS:CR> Aurora Sim
|
||||
//bitpack.bitUnpack((U8 *)&retvalu16, 10);
|
||||
if(b_large_patch)
|
||||
bitpack.bitUnpack((U8 *)&retvalu32, 32);
|
||||
else
|
||||
bitpack.bitUnpack((U8 *)&retvalu32, 10);
|
||||
// </FS:CR> Aurora Sim
|
||||
#endif
|
||||
ph->patchids = retvalu16;
|
||||
// <FS:CR> Aurora Sim
|
||||
//ph->patchids = retvalu16;
|
||||
ph->patchids = retvalu32;
|
||||
// </FS:CR> Aurora Sim
|
||||
|
||||
gWordBits = (ph->quant_wbits & 0xf) + 2;
|
||||
}
|
||||
|
||||
@@ -40,7 +40,10 @@ void end_patch_coding(LLBitPack &bitpack);
|
||||
|
||||
void init_patch_decoding(LLBitPack &bitpack);
|
||||
void decode_patch_group_header(LLBitPack &bitpack, LLGroupHeader *gopp);
|
||||
void decode_patch_header(LLBitPack &bitpack, LLPatchHeader *ph);
|
||||
// <FS:CR> Aurora Sim
|
||||
//void decode_patch_header(LLBitPack &bitpack, LLPatchHeader *ph);
|
||||
void decode_patch_header(LLBitPack &bitpack, LLPatchHeader *ph, BOOL b_large_patch);
|
||||
// </FS:CR> Aurora Sim
|
||||
void decode_patch(LLBitPack &bitpack, S32 *patches);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -73,7 +73,10 @@ public:
|
||||
F32 dc_offset; // 4 bytes
|
||||
U16 range; // 2 = 7 ((S16) FP range (breaks if we need > 32K meters in 1 patch)
|
||||
U8 quant_wbits; // 1 = 8 (upper 4 bits is quant - 2, lower 4 bits is word bits - 2)
|
||||
U16 patchids; // 2 = 10 (actually only uses 10 bits, 5 for each)
|
||||
// <FS:CR> Aurora Sim
|
||||
//U16 patchids; // 2 = 10 (actually only uses 10 bits, 5 for each)
|
||||
U32 patchids;
|
||||
// </FS:CR> Aurora Sim
|
||||
};
|
||||
|
||||
// Compression routines
|
||||
|
||||
Reference in New Issue
Block a user