mirror of https://github.com/stella-emu/stella.git
Adapt missile starfield to match my own hardware.
This commit is contained in:
parent
0c7b9aa079
commit
41e2f77333
|
@ -176,18 +176,20 @@ void Missile::render()
|
|||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
void Missile::tick(bool isReceivingMclock)
|
||||
{
|
||||
bool starfieldEffect = myIsMoving && isReceivingMclock;
|
||||
|
||||
if (myDecodes[myCounter]) {
|
||||
myIsRendering = true;
|
||||
myRenderCounter = Count::renderCounterOffset;
|
||||
|
||||
uInt8 starfieldDelta = (myCounter + 160 - myLastMovementTick) % 4;
|
||||
if (starfieldEffect && starfieldDelta == 3 && myWidth < 4) myRenderCounter++;
|
||||
} else if (myIsRendering) {
|
||||
bool starfieldEffect = myIsMoving && isReceivingMclock;
|
||||
uInt8 starfieldDelta = (myCounter + 160 - myLastMovementTick + 2) % 4;
|
||||
|
||||
if (myRenderCounter == -2 && starfieldEffect) {
|
||||
|
||||
switch (starfieldDelta) {
|
||||
case 3:
|
||||
myEffectiveWidth = myWidth == 1 ? 2 : myWidth;
|
||||
if (myWidth < 4) myRenderCounter++;
|
||||
break;
|
||||
|
||||
case 2:
|
||||
|
@ -199,10 +201,10 @@ void Missile::tick(bool isReceivingMclock)
|
|||
break;
|
||||
}
|
||||
|
||||
} else if (
|
||||
myIsRendering && ++myRenderCounter >= (starfieldEffect ? myEffectiveWidth : myWidth)
|
||||
)
|
||||
myIsRendering = false;
|
||||
}
|
||||
|
||||
if (++myRenderCounter >= (starfieldEffect ? myEffectiveWidth : myWidth)) myIsRendering = false;
|
||||
}
|
||||
|
||||
if (++myCounter >= 160) myCounter = 0;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue