From b9fac0643a7f348da1a13a4917741627c8e01fd0 Mon Sep 17 00:00:00 2001 From: goyuken Date: Sat, 24 Nov 2012 18:33:15 +0000 Subject: [PATCH] gba: fix H-mosaic in text mode BGs --- BizHawk.MultiClient/output/dll/libmeteor.dll | Bin 129024 -> 129024 bytes libmeteor/source/graphics/bglayer.cpp | 43 +++++++++---------- 2 files changed, 21 insertions(+), 22 deletions(-) diff --git a/BizHawk.MultiClient/output/dll/libmeteor.dll b/BizHawk.MultiClient/output/dll/libmeteor.dll index 22b48154ef3c9c95b71d9ed8afcd8908808f7b8a..a45555a0b70aeb0987e20553b11bf2fc8e28970d 100644 GIT binary patch delta 5850 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

f`@UCEoV=%=h^%0BlZQW z?7RZT^ki-^x0K7^vbY>>HJ8toa+mP3)^MSG5xAx@!q-B%@U3t`xF*yJPlYb&VlUAs_7@Yxcf};E^+jT;xC(2151#K~@q~Cm)JR&X zmDC9jmX`)dW27YMLn&2SDQ&|8EtaaK@1>jAMV?B84v3|AtX;@nq>&te2RfDffLuVP zl9^;axq_P+>d3{-l5Y7{k@`hd!z3aQVje^G}#Cwz?xqFd5! z=+1OcnxRE{2t5va#!PxH{UM!9FQ%8$8FUt%L$9Wb= zVM>2&YBKqoTbbj`W^+IDH1kYz8Wz+J^Ir2&^J(*SbEElpvxaTK#^U|%%_g$r+4=0J z>`JVtf3RQS}D%dCNafp@>XrK81Q>1`Qg8E2VdnQi$9OKqhk z&r)dFfkk%7QfCPeS_*LjC0K-bp`S2bn1qFvEG)(@nlG#uHVS)${n$q@3fF~Sgh#?3 zLZGM>TZu7Z50Mikaj-Z}oFdK;2hA53i&^4Yaf7%`+%4`G%f*w}RDKkH5g&`sM1Lt* w3YTJ}Zjw?=vqJnSnOQkIk>ZI+6p?NX_9L@F<7c^w|KEg;qZ3z;o>i~s-t delta 5846 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 4; + else + if (tileX % 2) + { + colorInd = *tpChar >> 4; + ++tpChar; + } + else + colorInd = *tpChar & 0xF; + if (mosH && i % mosH) *ptr = ptr[-1]; else { - if (flipH) - if (tileX % 2) - { - colorInd = *tpChar & 0xF; - --tpChar; - } - else - colorInd = *tpChar >> 4; - else - if (tileX % 2) - { - colorInd = *tpChar >> 4; - ++tpChar; - } - else - colorInd = *tpChar & 0xF; - if (colorInd) *ptr = pPalette[colorInd] | 0x8000; else