Update for latest nazarautils
This commit is contained in:
@@ -31,35 +31,36 @@ namespace Nz
|
||||
MD2_Header header;
|
||||
if (stream.Read(&header, sizeof(MD2_Header)) != sizeof(MD2_Header))
|
||||
return Err(ResourceLoadingError::Unrecognized);
|
||||
|
||||
#ifdef NAZARA_BIG_ENDIAN
|
||||
SwapBytes(&header.indent, sizeof(UInt32));
|
||||
SwapBytes(&header.version, sizeof(UInt32));
|
||||
#endif
|
||||
|
||||
#ifdef NAZARA_BIG_ENDIAN
|
||||
header.ident = ByteSwap(header.ident);
|
||||
header.version = ByteSwap(header.version);
|
||||
#endif
|
||||
|
||||
if (header.ident != md2Ident)
|
||||
return Err(ResourceLoadingError::Unrecognized);
|
||||
|
||||
|
||||
if (header.version != 8)
|
||||
return Err(ResourceLoadingError::Unsupported);
|
||||
|
||||
#ifdef NAZARA_BIG_ENDIAN
|
||||
SwapBytes(&header.skinwidth, sizeof(UInt32));
|
||||
SwapBytes(&header.skinheight, sizeof(UInt32));
|
||||
SwapBytes(&header.framesize, sizeof(UInt32));
|
||||
SwapBytes(&header.num_skins, sizeof(UInt32));
|
||||
SwapBytes(&header.num_vertices, sizeof(UInt32));
|
||||
SwapBytes(&header.num_st, sizeof(UInt32));
|
||||
SwapBytes(&header.num_tris, sizeof(UInt32));
|
||||
SwapBytes(&header.num_glcmds, sizeof(UInt32));
|
||||
SwapBytes(&header.num_frames, sizeof(UInt32));
|
||||
SwapBytes(&header.offset_skins, sizeof(UInt32));
|
||||
SwapBytes(&header.offset_st, sizeof(UInt32));
|
||||
SwapBytes(&header.offset_tris, sizeof(UInt32));
|
||||
SwapBytes(&header.offset_frames, sizeof(UInt32));
|
||||
SwapBytes(&header.offset_glcmds, sizeof(UInt32));
|
||||
SwapBytes(&header.offset_end, sizeof(UInt32));
|
||||
#endif
|
||||
#ifdef NAZARA_BIG_ENDIAN
|
||||
header.skinwidth = ByteSwap(header.skinwidth);
|
||||
header.skinheight = ByteSwap(header.skinheight);
|
||||
header.framesize = ByteSwap(header.framesize);
|
||||
header.num_skins = ByteSwap(header.num_skins);
|
||||
header.num_vertices = ByteSwap(header.num_vertices);
|
||||
header.num_st = ByteSwap(header.num_st);
|
||||
header.num_tris = ByteSwap(header.num_tris);
|
||||
header.num_glcmds = ByteSwap(header.num_glcmds);
|
||||
header.num_frames = ByteSwap(header.num_frames);
|
||||
header.offset_skins = ByteSwap(header.offset_skins);
|
||||
header.offset_st = ByteSwap(header.offset_st);
|
||||
header.offset_tris = ByteSwap(header.offset_tris);
|
||||
header.offset_frames = ByteSwap(header.offset_frames);
|
||||
header.offset_glcmds = ByteSwap(header.offset_glcmds);
|
||||
header.offset_end = ByteSwap(header.offset_end);
|
||||
#endif
|
||||
|
||||
if (stream.GetSize() < header.offset_end)
|
||||
{
|
||||
@@ -109,16 +110,14 @@ namespace Nz
|
||||
|
||||
for (unsigned int i = 0; i < header.num_tris; ++i)
|
||||
{
|
||||
#ifdef NAZARA_BIG_ENDIAN
|
||||
SwapBytes(&triangles[i].vertices[0], sizeof(UInt16));
|
||||
SwapBytes(&triangles[i].texCoords[0], sizeof(UInt16));
|
||||
|
||||
SwapBytes(&triangles[i].vertices[1], sizeof(UInt16));
|
||||
SwapBytes(&triangles[i].texCoords[1], sizeof(UInt16));
|
||||
|
||||
SwapBytes(&triangles[i].vertices[2], sizeof(UInt16));
|
||||
SwapBytes(&triangles[i].texCoords[2], sizeof(UInt16));
|
||||
#endif
|
||||
#ifdef NAZARA_BIG_ENDIAN
|
||||
triangles[i].vertices[0] = ByteSwap(triangles[i].vertices[0]);
|
||||
triangles[i].texCoords[0] = ByteSwap(triangles[i].texCoords[0]);
|
||||
triangles[i].vertices[1] = ByteSwap(triangles[i].vertices[1]);
|
||||
triangles[i].texCoords[1] = ByteSwap(triangles[i].texCoords[1]);
|
||||
triangles[i].vertices[2] = ByteSwap(triangles[i].vertices[2]);
|
||||
triangles[i].texCoords[2] = ByteSwap(triangles[i].texCoords[2]);
|
||||
#endif
|
||||
|
||||
// Reverse winding order
|
||||
*index++ = triangles[i].vertices[0];
|
||||
@@ -138,13 +137,13 @@ namespace Nz
|
||||
stream.SetCursorPos(header.offset_st);
|
||||
stream.Read(&texCoords[0], header.num_st*sizeof(MD2_TexCoord));
|
||||
|
||||
#ifdef NAZARA_BIG_ENDIAN
|
||||
#ifdef NAZARA_BIG_ENDIAN
|
||||
for (unsigned int i = 0; i < header.num_st; ++i)
|
||||
{
|
||||
SwapBytes(&texCoords[i].u, sizeof(Int16));
|
||||
SwapBytes(&texCoords[i].v, sizeof(Int16));
|
||||
texCoords[i].u = ByteSwap(texCoords[i].u);
|
||||
texCoords[i].v = ByteSwap(texCoords[i].v);
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
||||
std::shared_ptr<VertexBuffer> vertexBuffer = std::make_shared<VertexBuffer>(parameters.vertexDeclaration, header.num_vertices, parameters.vertexBufferFlags, parameters.bufferFactory);
|
||||
std::shared_ptr<StaticMesh> subMesh = std::make_shared<StaticMesh>(vertexBuffer, indexBuffer);
|
||||
@@ -159,15 +158,15 @@ namespace Nz
|
||||
stream.Read(nullptr, 16*sizeof(char)); //< Frame name, unused
|
||||
stream.Read(vertices.data(), header.num_vertices*sizeof(MD2_Vertex));
|
||||
|
||||
#ifdef NAZARA_BIG_ENDIAN
|
||||
SwapBytes(&scale.x, sizeof(float));
|
||||
SwapBytes(&scale.y, sizeof(float));
|
||||
SwapBytes(&scale.z, sizeof(float));
|
||||
#ifdef NAZARA_BIG_ENDIAN
|
||||
scale.x = ByteSwap(scale.x);
|
||||
scale.y = ByteSwap(scale.y);
|
||||
scale.z = ByteSwap(scale.z);
|
||||
|
||||
SwapBytes(&translate.x, sizeof(float));
|
||||
SwapBytes(&translate.y, sizeof(float));
|
||||
SwapBytes(&translate.z, sizeof(float));
|
||||
#endif
|
||||
translate.x = ByteSwap(translate.x);
|
||||
translate.y = ByteSwap(translate.y);
|
||||
translate.z = ByteSwap(translate.z);
|
||||
#endif
|
||||
|
||||
constexpr float ScaleAdjust = 1.f / 27.8f; // Make a 50 Quake 2 units character a 1.8 unit long
|
||||
|
||||
|
||||
@@ -54,20 +54,20 @@ namespace Nz
|
||||
if (header.manufacturer != 0x0a)
|
||||
return Err(ResourceLoadingError::Unrecognized);
|
||||
|
||||
#ifdef NAZARA_BIG_ENDIAN
|
||||
// Les fichiers PCX sont en little endian
|
||||
SwapBytes(&header.xmin, sizeof(UInt16));
|
||||
SwapBytes(&header.ymin, sizeof(UInt16));
|
||||
SwapBytes(&header.xmax, sizeof(UInt16));
|
||||
SwapBytes(&header.ymax, sizeof(UInt16));
|
||||
SwapBytes(&header.horzRes, sizeof(UInt16));
|
||||
SwapBytes(&header.vertRes, sizeof(UInt16));
|
||||
#ifdef NAZARA_BIG_ENDIAN
|
||||
// PCX files are little-endian
|
||||
header.xmin = ByteSwap(header.xmin);
|
||||
header.ymin = ByteSwap(header.ymin);
|
||||
header.xmax = ByteSwap(header.xmax);
|
||||
header.ymax = ByteSwap(header.ymax);
|
||||
header.horzRes = ByteSwap(header.horzRes);
|
||||
header.vertRes = ByteSwap(header.vertRes);
|
||||
|
||||
SwapBytes(&header.bytesPerScanLine, sizeof(UInt16));
|
||||
SwapBytes(&header.paletteType, sizeof(UInt16));
|
||||
SwapBytes(&header.horzSize, sizeof(UInt16));
|
||||
SwapBytes(&header.vertSize, sizeof(UInt16));
|
||||
#endif
|
||||
header.bytesPerScanLine = ByteSwap(header.bytesPerScanLine);
|
||||
header.paletteType = ByteSwap(header.paletteType);
|
||||
header.horzSize = ByteSwap(header.horzSize);
|
||||
header.vertSize = ByteSwap(header.vertSize);
|
||||
#endif
|
||||
|
||||
unsigned int bitCount = header.bitsPerPixel * header.numColorPlanes;
|
||||
unsigned int width = header.xmax - header.xmin+1;
|
||||
|
||||
@@ -95,9 +95,9 @@ namespace Nz
|
||||
(static_cast<UInt16>(0x1F) << 1) |
|
||||
((*start > 0xF) ? 1 : 0); // > 128
|
||||
|
||||
#ifdef NAZARA_BIG_ENDIAN
|
||||
SwapBytes(ptr, sizeof(UInt16));
|
||||
#endif
|
||||
#ifdef NAZARA_BIG_ENDIAN
|
||||
*ptr = ByteSwap(*ptr);
|
||||
#endif
|
||||
|
||||
ptr++;
|
||||
start += 1;
|
||||
@@ -114,9 +114,9 @@ namespace Nz
|
||||
{
|
||||
*ptr = 0xFFF0 | c8to4(*start);
|
||||
|
||||
#ifdef NAZARA_BIG_ENDIAN
|
||||
SwapBytes(ptr, sizeof(UInt16));
|
||||
#endif
|
||||
#ifdef NAZARA_BIG_ENDIAN
|
||||
*ptr = ByteSwap(*ptr);
|
||||
#endif
|
||||
|
||||
ptr++;
|
||||
start += 1;
|
||||
@@ -205,9 +205,9 @@ namespace Nz
|
||||
(static_cast<UInt16>(c8to5(start[0])) << 1) |
|
||||
0x1;
|
||||
|
||||
#ifdef NAZARA_BIG_ENDIAN
|
||||
SwapBytes(ptr, sizeof(UInt16));
|
||||
#endif
|
||||
#ifdef NAZARA_BIG_ENDIAN
|
||||
*ptr = ByteSwap(*ptr);
|
||||
#endif
|
||||
|
||||
ptr++;
|
||||
start += 3;
|
||||
@@ -242,9 +242,9 @@ namespace Nz
|
||||
(static_cast<UInt16>(c8to4(start[0])) << 4) |
|
||||
0x0F;
|
||||
|
||||
#ifdef NAZARA_BIG_ENDIAN
|
||||
SwapBytes(ptr, sizeof(UInt16));
|
||||
#endif
|
||||
#ifdef NAZARA_BIG_ENDIAN
|
||||
*ptr = ByteSwap(*ptr);
|
||||
#endif
|
||||
|
||||
ptr++;
|
||||
start += 3;
|
||||
@@ -362,9 +362,9 @@ namespace Nz
|
||||
(static_cast<UInt16>(c8to4(start[0])) << 4) |
|
||||
(static_cast<UInt16>(c8to4(start[3])) << 0);
|
||||
|
||||
#ifdef NAZARA_BIG_ENDIAN
|
||||
SwapBytes(ptr, sizeof(UInt16));
|
||||
#endif
|
||||
#ifdef NAZARA_BIG_ENDIAN
|
||||
*ptr = ByteSwap(*ptr);
|
||||
#endif
|
||||
|
||||
ptr++;
|
||||
start += 4;
|
||||
@@ -384,9 +384,9 @@ namespace Nz
|
||||
(static_cast<UInt16>(c8to5(start[0])) << 1) |
|
||||
((start[3] > 0xF) ? 1 : 0); // > 128
|
||||
|
||||
#ifdef NAZARA_BIG_ENDIAN
|
||||
SwapBytes(ptr, sizeof(UInt16));
|
||||
#endif
|
||||
#ifdef NAZARA_BIG_ENDIAN
|
||||
*ptr = ByteSwap(*ptr);
|
||||
#endif
|
||||
|
||||
ptr++;
|
||||
start += 4;
|
||||
@@ -502,9 +502,9 @@ namespace Nz
|
||||
(l << 1) |
|
||||
1;
|
||||
|
||||
#ifdef NAZARA_BIG_ENDIAN
|
||||
SwapBytes(ptr, sizeof(UInt16));
|
||||
#endif
|
||||
#ifdef NAZARA_BIG_ENDIAN
|
||||
*ptr = ByteSwap(*ptr);
|
||||
#endif
|
||||
|
||||
ptr++;
|
||||
start += 1;
|
||||
@@ -541,9 +541,9 @@ namespace Nz
|
||||
(l << 4) |
|
||||
0x0F;
|
||||
|
||||
#ifdef NAZARA_BIG_ENDIAN
|
||||
SwapBytes(ptr, sizeof(UInt16));
|
||||
#endif
|
||||
#ifdef NAZARA_BIG_ENDIAN
|
||||
*ptr = ByteSwap(*ptr);
|
||||
#endif
|
||||
|
||||
ptr++;
|
||||
start += 1;
|
||||
@@ -653,9 +653,9 @@ namespace Nz
|
||||
|
||||
*ptr = (l << 11) | (l << 6) | (l << 1) | ((start[1] > 0xF) ? 1 : 0);
|
||||
|
||||
#ifdef NAZARA_BIG_ENDIAN
|
||||
SwapBytes(ptr, sizeof(UInt16));
|
||||
#endif
|
||||
#ifdef NAZARA_BIG_ENDIAN
|
||||
*ptr = ByteSwap(*ptr);
|
||||
#endif
|
||||
|
||||
ptr++;
|
||||
start += 2;
|
||||
@@ -689,9 +689,9 @@ namespace Nz
|
||||
|
||||
*ptr = (l << 12) | (l << 8) | (l << 4) | c8to4(SafeCast<UInt8>(start[1]));
|
||||
|
||||
#ifdef NAZARA_BIG_ENDIAN
|
||||
SwapBytes(ptr, sizeof(UInt16));
|
||||
#endif
|
||||
#ifdef NAZARA_BIG_ENDIAN
|
||||
*ptr = ByteSwap(*ptr);
|
||||
#endif
|
||||
|
||||
ptr++;
|
||||
start += 2;
|
||||
@@ -741,9 +741,9 @@ namespace Nz
|
||||
{
|
||||
UInt16 pixel = *reinterpret_cast<const UInt16*>(start);
|
||||
|
||||
#ifdef NAZARA_BIG_ENDIAN
|
||||
SwapBytes(&pixel, sizeof(UInt16));
|
||||
#endif
|
||||
#ifdef NAZARA_BIG_ENDIAN
|
||||
pixel = ByteSwap(pixel);
|
||||
#endif
|
||||
|
||||
*dst++ = c4to8(SafeCast<UInt8>(pixel & 0x000F));
|
||||
|
||||
@@ -760,9 +760,9 @@ namespace Nz
|
||||
{
|
||||
UInt16 pixel = *reinterpret_cast<const UInt16*>(start);
|
||||
|
||||
#ifdef NAZARA_BIG_ENDIAN
|
||||
SwapBytes(&pixel, sizeof(UInt16));
|
||||
#endif
|
||||
#ifdef NAZARA_BIG_ENDIAN
|
||||
pixel = ByteSwap(pixel);
|
||||
#endif
|
||||
|
||||
*dst++ = c4to8(SafeCast<UInt8>((pixel & 0x00F0) >> 4));
|
||||
*dst++ = c4to8(SafeCast<UInt8>((pixel & 0x0F00) >> 8));
|
||||
@@ -781,9 +781,9 @@ namespace Nz
|
||||
{
|
||||
UInt16 pixel = *reinterpret_cast<const UInt16*>(start);
|
||||
|
||||
#ifdef NAZARA_BIG_ENDIAN
|
||||
SwapBytes(&pixel, sizeof(UInt16));
|
||||
#endif
|
||||
#ifdef NAZARA_BIG_ENDIAN
|
||||
pixel = ByteSwap(pixel);
|
||||
#endif
|
||||
|
||||
*dst++ = c4to8(SafeCast<UInt8>((pixel & 0x00F0) >> 4));
|
||||
*dst++ = c4to8(SafeCast<UInt8>((pixel & 0x0F00) >> 8));
|
||||
@@ -803,9 +803,9 @@ namespace Nz
|
||||
{
|
||||
UInt16 pixel = *reinterpret_cast<const UInt16*>(start);
|
||||
|
||||
#ifdef NAZARA_BIG_ENDIAN
|
||||
SwapBytes(&pixel, sizeof(UInt16));
|
||||
#endif
|
||||
#ifdef NAZARA_BIG_ENDIAN
|
||||
pixel = ByteSwap(pixel);
|
||||
#endif
|
||||
|
||||
UInt16 r = c4to8(SafeCast<UInt8>((pixel & 0xF000) >> 12));
|
||||
UInt16 g = c4to8(SafeCast<UInt8>((pixel & 0x0F00) >> 8));
|
||||
@@ -826,9 +826,9 @@ namespace Nz
|
||||
{
|
||||
UInt16 pixel = *reinterpret_cast<const UInt16*>(start);
|
||||
|
||||
#ifdef NAZARA_BIG_ENDIAN
|
||||
SwapBytes(&pixel, sizeof(UInt16));
|
||||
#endif
|
||||
#ifdef NAZARA_BIG_ENDIAN
|
||||
pixel = ByteSwap(pixel);
|
||||
#endif
|
||||
|
||||
UInt16 r = c4to8(SafeCast<UInt8>((pixel & 0xF000) >> 12));
|
||||
UInt16 g = c4to8(SafeCast<UInt8>((pixel & 0x0F00) >> 8));
|
||||
@@ -851,9 +851,9 @@ namespace Nz
|
||||
{
|
||||
UInt16 pixel = *reinterpret_cast<const UInt16*>(start);
|
||||
|
||||
#ifdef NAZARA_BIG_ENDIAN
|
||||
SwapBytes(&pixel, sizeof(UInt16));
|
||||
#endif
|
||||
#ifdef NAZARA_BIG_ENDIAN
|
||||
pixel = ByteSwap(pixel);
|
||||
#endif
|
||||
|
||||
UInt16 r = c4to5(SafeCast<UInt8>((pixel & 0xF000) >> 12));
|
||||
UInt16 g = c4to5(SafeCast<UInt8>((pixel & 0x0F00) >> 8));
|
||||
@@ -862,9 +862,9 @@ namespace Nz
|
||||
|
||||
*ptr = (r << 11) | (g << 6) | (b << 1) | ((a > 0x3) ? 1 : 0);
|
||||
|
||||
#ifdef NAZARA_BIG_ENDIAN
|
||||
SwapBytes(ptr, sizeof(UInt16));
|
||||
#endif
|
||||
#ifdef NAZARA_BIG_ENDIAN
|
||||
*ptr = ByteSwap(*ptr);
|
||||
#endif
|
||||
|
||||
ptr++;
|
||||
start += 2;
|
||||
@@ -880,9 +880,9 @@ namespace Nz
|
||||
{
|
||||
UInt16 pixel = *reinterpret_cast<const UInt16*>(start);
|
||||
|
||||
#ifdef NAZARA_BIG_ENDIAN
|
||||
SwapBytes(&pixel, sizeof(UInt16));
|
||||
#endif
|
||||
#ifdef NAZARA_BIG_ENDIAN
|
||||
pixel = ByteSwap(pixel);
|
||||
#endif
|
||||
|
||||
*dst++ = c4to8(SafeCast<UInt8>((pixel & 0xF000) >> 12));
|
||||
*dst++ = c4to8(SafeCast<UInt8>((pixel & 0x0F00) >> 8));
|
||||
@@ -901,9 +901,9 @@ namespace Nz
|
||||
{
|
||||
UInt16 pixel = *reinterpret_cast<const UInt16*>(start);
|
||||
|
||||
#ifdef NAZARA_BIG_ENDIAN
|
||||
SwapBytes(&pixel, sizeof(UInt16));
|
||||
#endif
|
||||
#ifdef NAZARA_BIG_ENDIAN
|
||||
pixel = ByteSwap(pixel);
|
||||
#endif
|
||||
|
||||
*dst++ = c4to8(SafeCast<UInt8>((pixel & 0xF000) >> 12));
|
||||
*dst++ = c4to8(SafeCast<UInt8>((pixel & 0x0F00) >> 8));
|
||||
@@ -924,9 +924,9 @@ namespace Nz
|
||||
{
|
||||
UInt16 pixel = *reinterpret_cast<const UInt16*>(start);
|
||||
|
||||
#ifdef NAZARA_BIG_ENDIAN
|
||||
SwapBytes(&pixel, sizeof(UInt16));
|
||||
#endif
|
||||
#ifdef NAZARA_BIG_ENDIAN
|
||||
pixel = ByteSwap(pixel);
|
||||
#endif
|
||||
|
||||
*dst++ = SafeCast<UInt8>((pixel & 0x1) * 0xFF);
|
||||
|
||||
@@ -943,9 +943,9 @@ namespace Nz
|
||||
{
|
||||
UInt16 pixel = *reinterpret_cast<const UInt16*>(start);
|
||||
|
||||
#ifdef NAZARA_BIG_ENDIAN
|
||||
SwapBytes(&pixel, sizeof(UInt16));
|
||||
#endif
|
||||
#ifdef NAZARA_BIG_ENDIAN
|
||||
pixel = ByteSwap(pixel);
|
||||
#endif
|
||||
|
||||
*dst++ = c5to8(SafeCast<UInt8>((pixel & 0x003E) >> 1));
|
||||
*dst++ = c5to8(SafeCast<UInt8>((pixel & 0x07C0) >> 6));
|
||||
@@ -964,9 +964,9 @@ namespace Nz
|
||||
{
|
||||
UInt16 pixel = *reinterpret_cast<const UInt16*>(start);
|
||||
|
||||
#ifdef NAZARA_BIG_ENDIAN
|
||||
SwapBytes(&pixel, sizeof(UInt16));
|
||||
#endif
|
||||
#ifdef NAZARA_BIG_ENDIAN
|
||||
pixel = ByteSwap(pixel);
|
||||
#endif
|
||||
|
||||
*dst++ = c5to8(SafeCast<UInt8>((pixel & 0x003E) >> 1));
|
||||
*dst++ = c5to8(SafeCast<UInt8>((pixel & 0x07C0) >> 6));
|
||||
@@ -986,9 +986,9 @@ namespace Nz
|
||||
{
|
||||
UInt16 pixel = *reinterpret_cast<const UInt16*>(start);
|
||||
|
||||
#ifdef NAZARA_BIG_ENDIAN
|
||||
SwapBytes(&pixel, sizeof(UInt16));
|
||||
#endif
|
||||
#ifdef NAZARA_BIG_ENDIAN
|
||||
pixel = ByteSwap(pixel);
|
||||
#endif
|
||||
|
||||
UInt8 r = c5to8(SafeCast<UInt8>((pixel & 0xF800) >> 11));
|
||||
UInt8 g = c5to8(SafeCast<UInt8>((pixel & 0x07C0) >> 6));
|
||||
@@ -1009,9 +1009,9 @@ namespace Nz
|
||||
{
|
||||
UInt16 pixel = *reinterpret_cast<const UInt16*>(start);
|
||||
|
||||
#ifdef NAZARA_BIG_ENDIAN
|
||||
SwapBytes(&pixel, sizeof(UInt16));
|
||||
#endif
|
||||
#ifdef NAZARA_BIG_ENDIAN
|
||||
pixel = ByteSwap(pixel);
|
||||
#endif
|
||||
|
||||
UInt8 r = c5to8(SafeCast<UInt8>((pixel & 0xF800) >> 11));
|
||||
UInt8 g = c5to8(SafeCast<UInt8>((pixel & 0x07C0) >> 6));
|
||||
@@ -1033,9 +1033,9 @@ namespace Nz
|
||||
{
|
||||
UInt16 pixel = *reinterpret_cast<const UInt16*>(start);
|
||||
|
||||
#ifdef NAZARA_BIG_ENDIAN
|
||||
SwapBytes(&pixel, sizeof(UInt16));
|
||||
#endif
|
||||
#ifdef NAZARA_BIG_ENDIAN
|
||||
pixel = ByteSwap(pixel);
|
||||
#endif
|
||||
|
||||
*dst++ = c5to8(SafeCast<UInt8>((pixel & 0xF800) >> 11));
|
||||
*dst++ = c5to8(SafeCast<UInt8>((pixel & 0x07C0) >> 6));
|
||||
@@ -1055,9 +1055,9 @@ namespace Nz
|
||||
{
|
||||
UInt16 pixel = *reinterpret_cast<const UInt16*>(start);
|
||||
|
||||
#ifdef NAZARA_BIG_ENDIAN
|
||||
SwapBytes(&pixel, sizeof(UInt16));
|
||||
#endif
|
||||
#ifdef NAZARA_BIG_ENDIAN
|
||||
pixel = ByteSwap(pixel);
|
||||
#endif
|
||||
|
||||
UInt8 r = c5to4(SafeCast<UInt8>((pixel & 0xF800) >> 11));
|
||||
UInt8 g = c5to4(SafeCast<UInt8>((pixel & 0x07C0) >> 6));
|
||||
@@ -1065,9 +1065,9 @@ namespace Nz
|
||||
|
||||
*ptr = (r << 12) | (g << 8) | (b << 4) | ((pixel & 0x1)*0x0F);
|
||||
|
||||
#ifdef NAZARA_BIG_ENDIAN
|
||||
SwapBytes(ptr, sizeof(UInt16));
|
||||
#endif
|
||||
#ifdef NAZARA_BIG_ENDIAN
|
||||
*ptr = ByteSwap(*ptr);
|
||||
#endif
|
||||
|
||||
ptr++;
|
||||
start += 2;
|
||||
@@ -1083,9 +1083,9 @@ namespace Nz
|
||||
{
|
||||
UInt16 pixel = *reinterpret_cast<const UInt16*>(start);
|
||||
|
||||
#ifdef NAZARA_BIG_ENDIAN
|
||||
SwapBytes(&pixel, sizeof(UInt16));
|
||||
#endif
|
||||
#ifdef NAZARA_BIG_ENDIAN
|
||||
pixel = ByteSwap(pixel);
|
||||
#endif
|
||||
|
||||
*dst++ = c5to8(SafeCast<UInt8>((pixel & 0xF800) >> 11));
|
||||
*dst++ = c5to8(SafeCast<UInt8>((pixel & 0x07C0) >> 6));
|
||||
@@ -1168,9 +1168,9 @@ namespace Nz
|
||||
(static_cast<UInt16>(c8to5(start[2])) << 1) |
|
||||
0x1;
|
||||
|
||||
#ifdef NAZARA_BIG_ENDIAN
|
||||
SwapBytes(ptr, sizeof(UInt16));
|
||||
#endif
|
||||
#ifdef NAZARA_BIG_ENDIAN
|
||||
*ptr = ByteSwap(*ptr);
|
||||
#endif
|
||||
|
||||
ptr++;
|
||||
start += 3;
|
||||
@@ -1190,9 +1190,9 @@ namespace Nz
|
||||
(static_cast<UInt16>(c8to4(start[2])) << 4) |
|
||||
0x0F;
|
||||
|
||||
#ifdef NAZARA_BIG_ENDIAN
|
||||
SwapBytes(ptr, sizeof(UInt16));
|
||||
#endif
|
||||
#ifdef NAZARA_BIG_ENDIAN
|
||||
*ptr = ByteSwap(*ptr);
|
||||
#endif
|
||||
|
||||
ptr++;
|
||||
start += 3;
|
||||
@@ -1326,9 +1326,9 @@ namespace Nz
|
||||
(static_cast<UInt16>(c8to5(start[2])) << 1) |
|
||||
((start[3] > 0xF) ? 1 : 0); // > 128
|
||||
|
||||
#ifdef NAZARA_BIG_ENDIAN
|
||||
SwapBytes(ptr, sizeof(UInt16));
|
||||
#endif
|
||||
#ifdef NAZARA_BIG_ENDIAN
|
||||
*ptr = ByteSwap(*ptr);
|
||||
#endif
|
||||
|
||||
ptr++;
|
||||
start += 4;
|
||||
@@ -1363,9 +1363,9 @@ namespace Nz
|
||||
(static_cast<UInt16>(c8to4(start[2])) << 4) |
|
||||
(static_cast<UInt16>(c8to4(start[3])) << 0);
|
||||
|
||||
#ifdef NAZARA_BIG_ENDIAN
|
||||
SwapBytes(ptr, sizeof(UInt16));
|
||||
#endif
|
||||
#ifdef NAZARA_BIG_ENDIAN
|
||||
*ptr = ByteSwap(*ptr);
|
||||
#endif
|
||||
|
||||
ptr++;
|
||||
start += 4;
|
||||
|
||||
Reference in New Issue
Block a user