* Load a Palette from a buffer (BIG ENDIAN) */
| 91 | * Load a Palette from a buffer (BIG ENDIAN) |
| 92 | */ |
| 93 | void LoadPalette_Amiga( const uint8 *pFrom, const size_t pCount, const size_t pStartColorID = 0 ) { |
| 94 | |
| 95 | uint16 color; |
| 96 | |
| 97 | for (size_t ColorID = pStartColorID; ColorID < pStartColorID + pCount; ColorID++) { |
| 98 | |
| 99 | // Get the next color codes |
| 100 | color = readBEWord(pFrom); |
| 101 | pFrom += 2; |
| 102 | |
| 103 | // Extract each color from the word |
| 104 | // X X X X R3 R2 R1 R0 G3 G2 G1 G0 B3 B2 B1 B0 |
| 105 | |
| 106 | mPalette[ColorID].mRed = ((color >> 8) & 0xF) << 2; |
| 107 | mPalette[ColorID].mGreen = ((color >> 4) & 0xF) << 2; |
| 108 | mPalette[ColorID].mBlue = ((color >> 0) & 0xF) << 2; |
| 109 | } |
| 110 | } |
| 111 | |
| 112 | void CopyPalette( cPalette* pDestination, const size_t pCount, const size_t pStartColorID = 0) { |
| 113 |
no test coverage detected