Commit graph

9 commits

Author SHA1 Message Date
Nebuleon Fumika
736484548e Attempt to optimise the ADD background drawing mode so it's playable on 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-10 18:01:32 -05:00
Nebuleon Fumika
6df0031bdb Mess with Mode 5 some more. Secret of Mana's menu sprite is fixed; however, as of commit 3cd20e203f (still not fixed in this commit!), Donkey Kong Country's Rareware icon is split by black columns. 2013-01-05 02:19:00 -05:00
Nebuleon Fumika
3cd20e203f Render double-width-res tiles from Background Mode 5 as half-width tiles. 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...
2013-01-01 03:53:45 -05:00
Nebuleon Fumika
8956d5cff2 Clean up some backslashes at the end of lines. 2012-12-30 15:30:14 -05:00
Nebuleon Fumika
d1d0c81af8 Rendering optimisations.
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-30 00:20:45 -05:00
Nebuleon Fumika
e5a0c9146a Transform macros into loops to render tiles.
At -O3 these get unrolled; at -Os they become shorter code, fitting into the cache with other code.
2012-12-28 22:19:23 -05:00
Nebuleon Fumika
6b36e79013 Speed up rendering by an unknown amount.
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-27 18:02:03 -05:00
Nebuleon Fumika
e708c127fa Un-inline a bunch of stuff.
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.
2012-12-18 22:53:49 -05:00
Kitty Draper
d40ae99422 first commit 2011-03-05 21:39:25 -05:00