smallmap_gui.c
changeset 2635 88b8b74c01ac
parent 2548 97ada3bd2702
child 2725 5c632bc5be28
equal deleted inserted replaced
2634:16334e1a4862 2635:88b8b74c01ac
   195 
   195 
   196 #if defined(TTD_ALIGNMENT_4)
   196 #if defined(TTD_ALIGNMENT_4)
   197 	static inline void WRITE_PIXELS(Pixel* d, uint32 val)
   197 	static inline void WRITE_PIXELS(Pixel* d, uint32 val)
   198 	{
   198 	{
   199 #	if defined(TTD_BIG_ENDIAN)
   199 #	if defined(TTD_BIG_ENDIAN)
   200 		d[0] = (byte)(val >> 24);
   200 		d[0] = GB(val, 24, 8);
   201 		d[1] = (byte)(val >> 16);
   201 		d[1] = GB(val, 16, 8);
   202 		d[2] = (byte)(val >> 8);
   202 		d[2] = GB(val,  8, 8);
   203 		d[3] = (byte)(val >> 0);
   203 		d[3] = GB(val,  0, 8);
   204 #	elif defined(TTD_LITTLE_ENDIAN)
   204 #	elif defined(TTD_LITTLE_ENDIAN)
   205 		d[0] = (byte)(val >> 0);
   205 		d[0] = GB(val,  0, 8);
   206 		d[1] = (byte)(val >> 8);
   206 		d[1] = GB(val,  8, 8);
   207 		d[2] = (byte)(val >> 16);
   207 		d[2] = GB(val, 16, 8);
   208 		d[3] = (byte)(val >> 24);
   208 		d[3] = GB(val, 24, 8);
   209 #	endif
   209 #	endif
   210 	}
   210 	}
   211 
   211 
   212 /* need to use OR, otherwise we will overwrite the wrong pixels at the edges :( */
   212 /* need to use OR, otherwise we will overwrite the wrong pixels at the edges :( */
   213 	static inline void WRITE_PIXELS_OR(Pixel* d, uint32 val)
   213 	static inline void WRITE_PIXELS_OR(Pixel* d, uint32 val)
   214 	{
   214 	{
   215 #	if defined(TTD_BIG_ENDIAN)
   215 #	if defined(TTD_BIG_ENDIAN)
   216 		d[0] |= (byte)(val >> 24);
   216 		d[0] |= GB(val, 24, 8);
   217 		d[1] |= (byte)(val >> 16);
   217 		d[1] |= GB(val, 16, 8);
   218 		d[2] |= (byte)(val >> 8);
   218 		d[2] |= GB(val,  8, 8);
   219 		d[3] |= (byte)(val >> 0);
   219 		d[3] |= GB(val,  0, 8);
   220 #	elif defined(TTD_LITTLE_ENDIAN)
   220 #	elif defined(TTD_LITTLE_ENDIAN)
   221 		d[0] |= (byte)(val >> 0);
   221 		d[0] |= GB(val,  0, 8);
   222 		d[1] |= (byte)(val >> 8);
   222 		d[1] |= GB(val,  8, 8);
   223 		d[2] |= (byte)(val >> 16);
   223 		d[2] |= GB(val, 16, 8);
   224 		d[3] |= (byte)(val >> 24);
   224 		d[3] |= GB(val, 24, 8);
   225 #	endif
   225 #	endif
   226 	}
   226 	}
   227 #else
   227 #else
   228 #	define WRITE_PIXELS(dst, val)		*(uint32*)(dst) = (val);
   228 #	define WRITE_PIXELS(dst, val)		*(uint32*)(dst) = (val);
   229 #	define WRITE_PIXELS_OR(dst,val)	*(uint32*)(dst) |= (val);
   229 #	define WRITE_PIXELS_OR(dst,val)	*(uint32*)(dst) |= (val);