Fix endian problem in xform_PLUT_step (bug #137)
git-svn-id: svn://svn.code.sf.net/p/sc2/code/trunk@965 8092fc87-c524-0410-9efc-e669fe64eaf9
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
Changes towards version 0.3:
|
||||
- Fix endian problem in colormap transform code (bug #137) -Mika
|
||||
- Fix minor glitch in planet coarse scan (bug #238), from chmmravatar
|
||||
- Wav loader is now endian safe (bug #165) -Mika
|
||||
- Dialogue patch for Melnorme, fixing bug #335
|
||||
|
||||
+4
-18
@@ -25,6 +25,7 @@
|
||||
#include "options.h"
|
||||
#include "comm.h"
|
||||
#include "libs/sound/sound.h"
|
||||
#include "endian.h"
|
||||
|
||||
void InitOscilloscope (int x, int y, int width, int height, FRAME_DESC *f);
|
||||
void SetSliderImage (void *f);
|
||||
@@ -572,18 +573,8 @@ xform_PLUT_step (SIZE TDelta)
|
||||
float f = (control->TOrig - control->TTotal) / (float)control->TOrig;
|
||||
COLORMAPPTR oldmap = (COLORMAPPTR) pOldCMap;
|
||||
|
||||
v0 = MAKE_DWORD
|
||||
(
|
||||
MAKE_WORD (oldmap[3], oldmap[2]),
|
||||
MAKE_WORD (oldmap[1], oldmap[0])
|
||||
);
|
||||
|
||||
|
||||
v1 = MAKE_DWORD
|
||||
(
|
||||
MAKE_WORD (ColorMapPtr[3], ColorMapPtr[2]),
|
||||
MAKE_WORD (ColorMapPtr[1], ColorMapPtr[0])
|
||||
);
|
||||
v0 = UQM_SwapBE32 (*(DWORD *)oldmap);
|
||||
v1 = UQM_SwapBE32 (*(DWORD *)ColorMapPtr);
|
||||
|
||||
ColorMapPtr += sizeof (DWORD);
|
||||
|
||||
@@ -618,12 +609,7 @@ xform_PLUT_step (SIZE TDelta)
|
||||
val = (val << 5) | (c0 & 0x1F);
|
||||
|
||||
*pOldCMap++;
|
||||
*pCurCMap++ = MAKE_DWORD
|
||||
(
|
||||
MAKE_WORD ((val >> 24 ) & 0xff, (val >> 16) & 0xff),
|
||||
MAKE_WORD ((val >> 8 ) & 0xff, (val >> 0 ) & 0xff)
|
||||
);
|
||||
|
||||
*pCurCMap++ = UQM_SwapBE32 (val);
|
||||
}
|
||||
ColorChange = TRUE;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user