# HG changeset patch # User Matti Hamalainen # Date 1560209258 -10800 # Node ID ed079e869d64449114bc68490dbcb0c051d4556c # Parent 1e7d80bfc8f18c7139b0203f08d8ffdb702a2421 Rename DEF_SCREEN_RAMS* macros to DEF_REPEAT_BLOCK and add argument to set block type. diff -r 1e7d80bfc8f1 -r ed079e869d64 tools/lib64fmts.c --- a/tools/lib64fmts.c Tue Jun 11 01:08:55 2019 +0300 +++ b/tools/lib64fmts.c Tue Jun 11 02:27:38 2019 +0300 @@ -1399,19 +1399,18 @@ // Helper macros for defining screen memory layouts // common for several FLI type image formats // -#define DEF_SCREEN_RAM(start, oindex, bindex, osize, bsize) \ - { DO_COPY, DS_SCREEN_RAM, (start) + ((osize) * (oindex)), (bindex), (bsize), 0, NULL, NULL } +#define DEF_REPEAT_BLOCK(dtype, start, oindex, bindex, osize, bsize) \ + { DO_COPY, (dtype), (start) + ((osize) * (oindex)), (bindex), (bsize), 0, NULL, NULL } -#define DEF_SCREEN_RAMS_8(start, sindex, osize, bsize) \ - DEF_SCREEN_RAM((start), 0, (sindex + 0), (osize), (bsize)), \ - DEF_SCREEN_RAM((start), 1, (sindex + 1), (osize), (bsize)), \ - DEF_SCREEN_RAM((start), 2, (sindex + 2), (osize), (bsize)), \ - DEF_SCREEN_RAM((start), 3, (sindex + 3), (osize), (bsize)), \ - DEF_SCREEN_RAM((start), 4, (sindex + 4), (osize), (bsize)), \ - DEF_SCREEN_RAM((start), 5, (sindex + 5), (osize), (bsize)), \ - DEF_SCREEN_RAM((start), 6, (sindex + 6), (osize), (bsize)), \ - DEF_SCREEN_RAM((start), 7, (sindex + 7), (osize), (bsize)) - +#define DEF_REPEAT_BLOCK_8(dtype, start, sindex, osize, bsize) \ + DEF_REPEAT_BLOCK((dtype), (start), 0, (sindex + 0), (osize), (bsize)), \ + DEF_REPEAT_BLOCK((dtype), (start), 1, (sindex + 1), (osize), (bsize)), \ + DEF_REPEAT_BLOCK((dtype), (start), 2, (sindex + 2), (osize), (bsize)), \ + DEF_REPEAT_BLOCK((dtype), (start), 3, (sindex + 3), (osize), (bsize)), \ + DEF_REPEAT_BLOCK((dtype), (start), 4, (sindex + 4), (osize), (bsize)), \ + DEF_REPEAT_BLOCK((dtype), (start), 5, (sindex + 5), (osize), (bsize)), \ + DEF_REPEAT_BLOCK((dtype), (start), 6, (sindex + 6), (osize), (bsize)), \ + DEF_REPEAT_BLOCK((dtype), (start), 7, (sindex + 7), (osize), (bsize)) // @@ -1447,7 +1446,7 @@ { { DO_COPY , DS_EXTRA_DATA , 0x0000, 0, 200, 0, NULL, NULL }, { DO_COPY , DS_COLOR_RAM , 0x0100, 0, 0, 0, NULL, NULL }, - DEF_SCREEN_RAMS_8(0x0500, 0, 0x400, 0), + DEF_REPEAT_BLOCK_8(DS_SCREEN_RAM, 0x0500, 0, 0x400, 0), { DO_COPY , DS_BITMAP_RAM , 0x2500, 0, 0, 0, NULL, NULL }, { DO_LAST , 0 , 0 , 0, 0, 0, NULL, NULL }, } @@ -1475,11 +1474,11 @@ NULL, NULL, fmtGetPixelFunPaint2, { - DEF_SCREEN_RAMS_8(0x0000, 0, 0x400, 0), + DEF_REPEAT_BLOCK_8(DS_SCREEN_RAM, 0x0000, 0, 0x400, 0), { DO_COPY , DS_BITMAP_RAM , 0x2000, 0, 0 , 0, NULL, NULL }, { DO_COPY , DS_EXTRA_DATA , 0x3f48, 0, 100, 0, NULL, NULL }, { DO_COPY , DS_COLOR_RAM , 0x4000, 0, 0 , 0, NULL, NULL }, - DEF_SCREEN_RAMS_8(0x43e8, 8, 0x400, 0), + DEF_REPEAT_BLOCK_8(DS_SCREEN_RAM, 0x43e8, 8, 0x400, 0), { DO_COPY , DS_BITMAP_RAM , 0x63e8, 1, 0 , 0, NULL, NULL }, { DO_COPY , DS_EXTRA_DATA , 0x8328, 0, 100, 100, NULL, NULL }, { DO_FUNC , 0 , 0 , 0, 1 , 0, fmtTruePaintGetLaceType, NULL }, @@ -1549,9 +1548,9 @@ fmtGetPixelECI, { { DO_COPY , DS_BITMAP_RAM , 0x0000, 0, 0, 0, NULL, NULL }, - DEF_SCREEN_RAMS_8(0x2000, 0, 0x400, 0), + DEF_REPEAT_BLOCK_8(DS_SCREEN_RAM, 0x2000, 0, 0x400, 0), { DO_COPY , DS_BITMAP_RAM , 0x4000, 1, 0, 0, NULL, NULL }, - DEF_SCREEN_RAMS_8(0x6000, 8, 0x400, 0), + DEF_REPEAT_BLOCK_8(DS_SCREEN_RAM, 0x6000, 8, 0x400, 0), { DO_FUNC , 0 , 0 , 0, 0, 0, fmtECIGetLaceType, NULL }, { DO_LAST , 0 , 0 , 0, 0, 0, NULL, NULL }, } @@ -1566,7 +1565,7 @@ fmtGetPixelCrestHIFLIorCDHM, { { DO_COPY , DS_BITMAP_RAM , 0x0000, 0, 0, 0, NULL, NULL }, - DEF_SCREEN_RAMS_8(0x2000, 0, 0x400, 0), + DEF_REPEAT_BLOCK_8(DS_SCREEN_RAM, 0x2000, 0, 0x400, 0), { DO_LAST , 0 , 0 , 0, 0, 0, NULL, NULL }, } }, @@ -1580,7 +1579,7 @@ fmtGetPixelFLIDesigner, { { DO_COPY , DS_COLOR_RAM , 0x0000, 0, 0, 0, NULL, NULL }, - DEF_SCREEN_RAMS_8(0x0400, 0, 0x400, 0), + DEF_REPEAT_BLOCK_8(DS_SCREEN_RAM, 0x0400, 0, 0x400, 0), { DO_COPY , DS_BITMAP_RAM , 0x2400, 0, 0, 0, NULL, NULL }, { DO_LAST , 0 , 0 , 0, 0, 0, NULL, NULL }, } @@ -2043,9 +2042,9 @@ fmtGetPixelBFLI, { { DO_COPY , DS_COLOR_RAM , 0x0001, 0, 0x400 , 0, NULL, NULL }, - DEF_SCREEN_RAMS_8(0x0401, 0, 0x400, 0), + DEF_REPEAT_BLOCK_8(DS_SCREEN_RAM, 0x0401, 0, 0x400, 0), { DO_COPY , DS_BITMAP_RAM , 0x2401, 0, 0x2000, 0, NULL, NULL }, - DEF_SCREEN_RAMS_8(0x4401, 8, 0x400, 0x400), + DEF_REPEAT_BLOCK_8(DS_SCREEN_RAM, 0x4401, 8, 0x400, 0x400), { DO_COPY , DS_BITMAP_RAM , 0x6401, 1, 0x2000, 0, NULL, NULL }, { DO_LAST , 0 , 0 , 0, 0 , 0, NULL, NULL }, } @@ -2188,11 +2187,11 @@ NULL, NULL, fmtGetPixelFunPaint2, // The format is essentially same as FP2 { - DEF_SCREEN_RAMS_8(0x0000, 0, 0x400, 0), + DEF_REPEAT_BLOCK_8(DS_SCREEN_RAM, 0x0000, 0, 0x400, 0), { DO_COPY , DS_BITMAP_RAM , 0x2000, 0, 0 , 0, NULL, NULL }, { DO_COPY , DS_EXTRA_DATA , 0x3f4f, 0, 177, 0, NULL, NULL }, { DO_COPY , DS_COLOR_RAM , 0x4000, 0, 0 , 0, NULL, NULL }, - DEF_SCREEN_RAMS_8(0x4400, 8, 0x400, 0), + DEF_REPEAT_BLOCK_8(DS_SCREEN_RAM, 0x4400, 8, 0x400, 0), { DO_COPY , DS_BITMAP_RAM , 0x6400, 1, 0 , 0, NULL, NULL }, // GunPaint does not store the last 3 d021 values .. so set them to black // XXX TODO: According to some, the last 4 should be same .. @@ -2266,7 +2265,7 @@ fmtGetPixelCrestHIFLIorCDHM, { { DO_COPY , DS_BITMAP_RAM , 0x0000, 0, 0, 0, NULL, NULL }, - DEF_SCREEN_RAMS_8(0x2000, 0, 0x400, 0), + DEF_REPEAT_BLOCK_8(DS_SCREEN_RAM, 0x2000, 0, 0x400, 0), { DO_LAST , 0 , 0 , 0, 0, 0, NULL, NULL }, } },