# HG changeset patch # User Matti Hamalainen # Date 1529798510 -10800 # Node ID 37cac290ce8b39fd35d081028256a76259b5862f # Parent 5e33f367bafea4f68dac0b38d38bfeda2e9f2b85 Allow override of block size in DEF_SCREEN_RAMS_8() and DEF_SCREEN_RAM() macros. diff -r 5e33f367bafe -r 37cac290ce8b tools/lib64fmts.c --- a/tools/lib64fmts.c Sat Jun 23 03:10:24 2018 +0300 +++ b/tools/lib64fmts.c Sun Jun 24 03:01:50 2018 +0300 @@ -959,16 +959,16 @@ // Helper macros for defining screen memory layouts // common for several FLI type image formats // -#define DEF_SCREEN_RAM(start, oindex, bindex, osize) { DO_COPY, DS_SCREEN_RAM, (start) + ((osize) * (oindex)), (bindex), 0, 0, NULL, NULL } -#define DEF_SCREEN_RAMS_8(start, sindex, osize) \ - DEF_SCREEN_RAM((start), 0, (sindex + 0), (osize)), \ - DEF_SCREEN_RAM((start), 1, (sindex + 1), (osize)), \ - DEF_SCREEN_RAM((start), 2, (sindex + 2), (osize)), \ - DEF_SCREEN_RAM((start), 3, (sindex + 3), (osize)), \ - DEF_SCREEN_RAM((start), 4, (sindex + 4), (osize)), \ - DEF_SCREEN_RAM((start), 5, (sindex + 5), (osize)), \ - DEF_SCREEN_RAM((start), 6, (sindex + 6), (osize)), \ - DEF_SCREEN_RAM((start), 7, (sindex + 7), (osize)) +#define DEF_SCREEN_RAM(start, oindex, bindex, osize, bsize) { DO_COPY, DS_SCREEN_RAM, (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)) @@ -1003,7 +1003,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), + DEF_SCREEN_RAMS_8(0x0500, 0, 0x400, 0), { DO_COPY , DS_BITMAP_RAM , 0x2500, 0, 0, 0, NULL, NULL }, { DO_LAST , 0 , 0 , 0, 0, 0, NULL, NULL }, } @@ -1029,11 +1029,11 @@ NULL, NULL, fmtGetPixelFunPaint2, { - DEF_SCREEN_RAMS_8(0x0000, 0, 0x400), + DEF_SCREEN_RAMS_8(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), + DEF_SCREEN_RAMS_8(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_DEC_FUNC , 0 , 0 , 0, 1 , 0, fmtTruePaintGetLaceType, NULL }, @@ -1100,9 +1100,9 @@ fmtGetPixelECI, { { DO_COPY , DS_BITMAP_RAM , 0x0000, 0, 0, 0, NULL, NULL }, - DEF_SCREEN_RAMS_8(0x2000, 0, 0x400), + DEF_SCREEN_RAMS_8(0x2000, 0, 0x400, 0), { DO_COPY , DS_BITMAP_RAM , 0x4000, 1, 0, 0, NULL, NULL }, - DEF_SCREEN_RAMS_8(0x6000, 8, 0x400), + DEF_SCREEN_RAMS_8(0x6000, 8, 0x400, 0), { DO_DEC_FUNC , 0 , 0 , 0, 0, 0, fmtECIGetLaceType, NULL }, { DO_LAST , 0 , 0 , 0, 0, 0, NULL, NULL }, } @@ -1116,7 +1116,7 @@ fmtGetPixelCrestHIFLIorCDHM, { { DO_COPY , DS_BITMAP_RAM , 0x0000, 0, 0, 0, NULL, NULL }, - DEF_SCREEN_RAMS_8(0x2000, 0, 0x400), + DEF_SCREEN_RAMS_8(0x2000, 0, 0x400, 0), { DO_LAST , 0 , 0 , 0, 0, 0, NULL, NULL }, } }, @@ -1129,7 +1129,7 @@ fmtGetPixelFLIDesigner, { { DO_COPY , DS_COLOR_RAM , 0x0000, 0, 0, 0, NULL, NULL }, - DEF_SCREEN_RAMS_8(0x0400, 0, 0x400), + DEF_SCREEN_RAMS_8(0x0400, 0, 0x400, 0), { DO_COPY , DS_BITMAP_RAM , 0x2400, 0, 0, 0, NULL, NULL }, { DO_LAST , 0 , 0 , 0, 0, 0, NULL, NULL }, } @@ -1557,9 +1557,9 @@ fmtGetPixelBFLI, { { DO_COPY , DS_COLOR_RAM , 0x0001, 0, 0, 0, NULL, NULL }, - DEF_SCREEN_RAMS_8(0x0401, 0, 0x400), + DEF_SCREEN_RAMS_8(0x0401, 0, 0x400, 0), { DO_COPY , DS_BITMAP_RAM , 0x2401, 0, 0x1fff, 0, NULL, NULL }, - DEF_SCREEN_RAMS_8(0x4401, 8, 0x400), + DEF_SCREEN_RAMS_8(0x4401, 8, 0x400, 0), { DO_COPY , DS_BITMAP_RAM , 0x6401, 1, 0, 0, NULL, NULL }, { DO_LAST , 0 , 0 , 0, 0, 0, NULL, NULL }, } @@ -1676,11 +1676,11 @@ NULL, NULL, fmtGetPixelFunPaint2, // The format is essentially same as FP2 { - DEF_SCREEN_RAMS_8(0x0000, 0, 0x400), + DEF_SCREEN_RAMS_8(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), + DEF_SCREEN_RAMS_8(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 .. @@ -1725,7 +1725,7 @@ fmtGetPixelCrestHIFLIorCDHM, { { DO_COPY , DS_BITMAP_RAM , 0x0000, 0, 0, 0, NULL, NULL }, - DEF_SCREEN_RAMS_8(0x2000, 0, 0x400), + DEF_SCREEN_RAMS_8(0x2000, 0, 0x400, 0), { DO_LAST , 0 , 0 , 0, 0, 0, NULL, NULL }, } },