all repos — mgba @ bd8fe4d87845186f84b667fc5ab1d8293c0df86c

mGBA Game Boy Advance Emulator

GBA Video: Fix up last commit, add cinema tests
Vicki Pfau vi@endrift.com
Sun, 20 Jan 2019 01:00:49 -0800
commit

bd8fe4d87845186f84b667fc5ab1d8293c0df86c

parent

88ba6ee0b0e9872a1598a815d06c35529ee5d12f

M src/gba/renderers/software-obj.csrc/gba/renderers/software-obj.c

@@ -151,9 +151,6 @@ unsigned charBase = (GBAObjAttributesCGetTile(sprite->c) & ~align) * 0x20;

if (GBARegisterDISPCNTGetMode(renderer->dispcnt) >= 3 && GBAObjAttributesCGetTile(sprite->c) < 512) { return 0; } - if (renderer->spriteCyclesRemaining <= 0) { - return 0; - } int objwinSlowPath = GBARegisterDISPCNTIsObjwinEnable(renderer->dispcnt) && GBAWindowControlGetBlendEnable(renderer->objwin.packed) != GBAWindowControlIsBlendEnable(renderer->currentWindow.packed); int variant = renderer->target1Obj &&
M src/gba/renderers/video-software.csrc/gba/renderers/video-software.c

@@ -833,14 +833,13 @@ if (renderer->spriteCyclesRemaining <= 0) {

break; } renderer->currentWindow = renderer->windows[w].control; + renderer->start = renderer->end; + renderer->end = renderer->windows[w].endX; if (!GBAWindowControlIsObjEnable(renderer->currentWindow.packed) && !GBARegisterDISPCNTIsObjwinEnable(renderer->dispcnt)) { continue; } - int drawn; - renderer->start = renderer->end; - renderer->end = renderer->windows[w].endX; - drawn = GBAVideoSoftwareRendererPreprocessSprite(renderer, &sprite->obj, localY); + int drawn = GBAVideoSoftwareRendererPreprocessSprite(renderer, &sprite->obj, localY); spriteLayers |= drawn << GBAObjAttributesCGetPriority(sprite->obj.c); } if (renderer->spriteCyclesRemaining <= 0) {