aboutsummaryrefslogtreecommitdiff
path: root/source/tile.cpp
AgeCommit message (Collapse)Author
2014-10-28ugly fix to solve segfaults on 64-bit platforms.aliaspider
2013-02-07Stop inlining the regular tile drawing code. That was a micro-optimisation, ↵Nebuleon Fumika
and this revert brings the code a bit closer to mainline Snes9x.
2013-01-10Attempt to optimise the ADD background drawing mode so it's playable on ↵Nebuleon Fumika
automatic frameskip in games like Super Metroid. It doesn't work well. See the video for this bug at <http://www.youtube.com/watch?v=sUWjVxAD9Q8>.
2013-01-05Mess with Mode 5 some more. Secret of Mana's menu sprite is fixed; however, ↵Nebuleon Fumika
as of commit 3cd20e203f3b0af8c32921f86547a126d74b34eb (still not fixed in this commit!), Donkey Kong Country's Rareware icon is split by black columns.
2013-01-01Render double-width-res tiles from Background Mode 5 as half-width tiles. ↵Nebuleon Fumika
This makes the menu text in Secret of Mana readable. Sprites in Background Mode 5 are still messed up. At least they're at the right X coordinate, roughly...
2012-12-30Clean up some backslashes at the end of lines.Nebuleon Fumika
2012-12-30Rendering optimisations.Nebuleon Fumika
tile.cpp: Optimise the common case of drawing an unclipped but possibly flipped 8x8 tile. Instead of calling WRITE_4PIXELS16 16 times, each performing setup and teardown, move the loop into DrawTile16. tile.h, tile.cpp, gfx.h, gfx.cpp: End the use of global variable GFX.ScreenColors to pass around the current frame's palette. This saves on memory stores/loads.
2012-12-28Transform macros into loops to render tiles.Nebuleon Fumika
At -O3 these get unrolled; at -Os they become shorter code, fitting into the cache with other code.
2012-12-27Speed up rendering by an unknown amount.Nebuleon Fumika
gfx.cpp, others: Avoid always checking for Settings.SixteenBit if FOREVER_16_BIT is defined. port.h: Define FOREVER_16_BIT below PIXEL_FORMAT.
2012-12-18Un-inline a bunch of stuff.Nebuleon Fumika
With the MIPS instruction cache, this means that two consecutive SNES CPU instructions using e.g. the same addressing style or the same opcode have a chance that the second one will use the first one's code and that it will be cached.
2011-03-05first commitKitty Draper