From 2e1e9453ef7016daba7f53c68a4c80fb0a29ad37 Mon Sep 17 00:00:00 2001 From: b Date: Wed, 30 Nov 2022 23:07:09 +0000 Subject: [PATCH] fixed pallette mixing --- core.c | 2 +- pal_mix.c | 7 +++++++ testimg/bsta-000367.png | Bin 0 -> 7039 bytes 3 files changed, 8 insertions(+), 1 deletion(-) create mode 100644 testimg/bsta-000367.png diff --git a/core.c b/core.c index 20118c1..31e5063 100644 --- a/core.c +++ b/core.c @@ -1556,7 +1556,7 @@ int palette_mix_index (ILuint n, struct PixelInfo *p, void *data) if (n < 3) return EIO; - p[2].index = p[0].index * p[0].info.palette_num_cols + p[1].index; + p[2].index = p[0].index * p[1].info.palette_num_cols + p[1].index; return 0; } diff --git a/pal_mix.c b/pal_mix.c index 973982c..2ced874 100644 --- a/pal_mix.c +++ b/pal_mix.c @@ -78,6 +78,13 @@ int subtool_pal_mix (int argc, char **argv, int argi, char **err) } data.p = data.p0 + data.p1; + r = reserve_pictures(3); + if (r) + { + *err = CREATE_FAILED; + return r; + } + r = load_picture(0, argv[argi], &(info[0]), &(flags[0])); if (r) { diff --git a/testimg/bsta-000367.png b/testimg/bsta-000367.png new file mode 100644 index 0000000000000000000000000000000000000000..a9955c8d23fc3e53b83a9951de6e025d6bd3b506 GIT binary patch literal 7039 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 z zBmT)a!^?BZC)-jJ?EEEm(C_jSU~(ROk5mgUn_wVK05Gxy3@hyAErxLn8<-cZ;!3{f zutlWo@2;!TF>n#bp;3Nsw$)<`DM)09-IhPc9@i;}iSfXI>M2wl9I{7@(|PTzr-C0Y z76EerBodGTx8f5;^zck<-trsJ=gPA7EjuYNGb)kL!v0u<5)b#d6ez=a2~)#2qz&w4T*9=JMggewBf&LHHMYmB}5*S4{uQ78!30Ps})-8xZHw@VI;MQqdHc~Di z;GLDBy7R~1C!*S*vJ&cyhf@r!h`K}6LJ~SaBV1b|adslDY!JJ{C?lIdycX3F4PSbM zE1-bp3MH@B~L)SdJA`bPGq;OXX^of7~^z1KV zi6YoHSh{!gst4ZTha{D%$*ErY*h%{hkI}XzWvT*qCv-ew2zTd} z$BywRH~40<0Z&Bq0NL~cTL^mhY!J>3hlsjbZxVL&pxU#P4>n)TJRrTx`qYQC8)(;` zrkd**$^!)30_;9KeHvKDoG>}}lX1SJssyRA(SDFBr)Uz>j#vm%iH2vkUvW_4Nhg$Z zb=wrhM6{scLrn#N*&Eqbk95<$YCa-HRk=+3HxkkOz;U5J0B9m0zh3$;cO9ZHEdz*` z`D|itYvpb$FM-|^iS7e1U4bp4P4UyCm%4s`l<5`R_*o~9UD!k0cS56+zq9z*KI@-FEmKBhadb$hcnbmWsz zB6_B+)1d~;4dD}gaa7aP9=RD|W9V{!^6IZ(4_$1T%m77pdRwJU?#D1RsqFauS3RKc z>)F_?@k!6~xu=B1HM?L>1FTwhYl|2~h2SpwdL(ZxN$F1Xsdt-vcH&-gIj0bD=iDPF zDs@1@6$t)*nf2)9eSVg&ldsI`-Cuo44R~O(pJxIZH!xG1eVA+Gq|wG%{0TBxv#nOO zBX4P;!RH56x}0xaihFyeSgT`9}2MUJ%3M<)@Pb^=RP<{sz`lr%f{vd~QzNkSu!Y)R8A2og{jg z|ArGxb7L2u%AIi7=!M0FV=l2TEM3HGaS zO^-#I>c`)-(11U@EBpihK>nx?rC?y)Y1<@s{kD!X;3AkS`8fs#W@;sR1MH+I>#9vK z^-jfO6T9EZE8@$XP)P1z1cLsZ@|!6w86I*Xe7|{4z~F;C$d7OHyESeM$*|E}fqHlu z)fLpoQeY%n-8=QLL;m;jOg%i$4FoM9ahrvU(>@G^Zf=VP^4koMpAZm;DD?8UIfAiX zOZ=(k_5PZ@kv>C9?3rGXpwjCD;gIyq*h1VX!B@&+C4PPvGSCKx?HYLr`xbCE6X5U==28u!DZ_D3pt%Ba zJeqPB61g=Z*S2~3yD5>Krmi6kGaLAOvdZP&V}2r_ERlB-CMr_?mLe47Ku%p~^bA-; zF-p|sq-22OT!4ooG{Q8b264+W$rubD@`8%Ewo+K9UAcaq8Q0KJtRU+=}R8BD?4zc z2CdrV-Vnj)w0-ctx#-U3uJ|ZL){3y<3uiAuIZ;Mz=Tm#pdPhH=${Tei9%~(T`0V&_ zpcW&<&~WM>e3g!14B5+3qT%0f?nlbi_AH8g+$Rbw$2P#?Zk$00RBn)H)(L0Fbj*$| z7m+R_aF@@kzI({*Pe0Dq^G&@z^e6UriJox51ymgXDF6G6C_G}!|1yzT@;qJnuWW2f z6!m77n!WDj4|DrQj(Z@uR@z^t$GzGQm8dZcEy!n4eR>(nB`P(=ka3P@y zKDAIKmjrXD#Jy1=48HY;J|sZ96zlL3deBEM#n8jJ!5WoXG{a{q7~{c`mM%5!52XT9 z-}&<|D5Dl@hlJ*aq{U)PQF8T;SiWC=xshMmQ=f)uUjB!l3;v3{G3WRHn`um(uZI6A z2|Pvt&>T{AJiYprJ|@?+zXjMud?@>>4`^s;f%5PzNsz*YHg2+;O(O2s(f7wPJH7gi zpTl7fj(Jgo1URm~(**g$zJ-3p%N|=Dgmcg>#}G`{{rU4c{?PxukED5g$niw!z;;ai d0W0N*zBX@z`I?Mo;{TmABiv=^xt??M{{TpQ=L`S< literal 0 HcmV?d00001 -- 2.30.2