From aefdd2061dc8bd0ab0f1219e9ce2d7b59224f6d2 Mon Sep 17 00:00:00 2001 From: William Wilgus Date: Tue, 24 Jul 2018 07:09:01 +0200 Subject: Lua Fix image saving for 32 bit targets -- update make file Hopefully this will fix the build faliures for a few targets Change-Id: I68f6c85513ef589e5f6a50a8efc7bfae9fd62acd --- apps/plugins/lua/include_lua/image.lua | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) (limited to 'apps/plugins/lua/include_lua/image.lua') diff --git a/apps/plugins/lua/include_lua/image.lua b/apps/plugins/lua/include_lua/image.lua index c30e8ab..71c6c46 100644 --- a/apps/plugins/lua/include_lua/image.lua +++ b/apps/plugins/lua/include_lua/image.lua @@ -235,9 +235,12 @@ local _img = {} do elseif depth <= 16 then bpp = 16 bypl = (w * 2 + 3) - else + elseif depth <= 24 then bpp = 24 bypl = (w * 3 + 3) + else + bpp = 32 + bypl = (w * 4 + 3) end local linebytes = bit.band(bypl, bit.bnot(3)) @@ -294,12 +297,21 @@ local _img = {} do bmpheader[#bmpheader + 1] = bmp_color_mix(0xFFFFFF, 0, 2, 3) bmpheader[#bmpheader + 1] = bmp_color(0x0) elseif depth == 16 then - -- red bitfield mask - bmpheader[#bmpheader + 1] = s_bytesLE(32, 0x0000F800) - -- green bitfield mask - bmpheader[#bmpheader + 1] = s_bytesLE(32, 0x000007E0) - -- blue bitfield mask - bmpheader[#bmpheader + 1] = s_bytesLE(32, 0x0000001F) + if format == 565 then + -- red bitfield mask + bmpheader[#bmpheader + 1] = s_bytesLE(32, 0x0000F800) + -- green bitfield mask + bmpheader[#bmpheader + 1] = s_bytesLE(32, 0x000007E0) + -- blue bitfield mask + bmpheader[#bmpheader + 1] = s_bytesLE(32, 0x0000001F) + else -- 555 + -- red bitfield mask + bmpheader[#bmpheader + 1] = s_bytesLE(32, 0x00007C00) + -- green bitfield mask + bmpheader[#bmpheader + 1] = s_bytesLE(32, 0x000003E0) + -- blue bitfield mask + bmpheader[#bmpheader + 1] = s_bytesLE(32, 0x0000001F) + end end dump_fbuffer(0) -- write the header to the file now -- cgit v1.1