mirror of
https://github.com/TomHarte/CLK.git
synced 2024-11-03 08:05:40 +00:00
Fixed missile sizes, played about with ball placement.
This commit is contained in:
parent
cf5b8ab92e
commit
a952813036
@ -80,6 +80,10 @@ Machine::~Machine()
|
|||||||
void Machine::update_upcoming_events()
|
void Machine::update_upcoming_events()
|
||||||
{
|
{
|
||||||
unsigned int upcomingEventsPointerPlus4 = (_upcomingEventsPointer + 4)%number_of_upcoming_events;
|
unsigned int upcomingEventsPointerPlus4 = (_upcomingEventsPointer + 4)%number_of_upcoming_events;
|
||||||
|
unsigned int upcomingEventsPointerPlus5 = (_upcomingEventsPointer + 5)%number_of_upcoming_events;
|
||||||
|
unsigned int upcomingEventsPointerPlus6 = (_upcomingEventsPointer + 6)%number_of_upcoming_events;
|
||||||
|
unsigned int upcomingEventsPointerPlus7 = (_upcomingEventsPointer + 7)%number_of_upcoming_events;
|
||||||
|
unsigned int upcomingEventsPointerPlus8 = (_upcomingEventsPointer + 8)%number_of_upcoming_events;
|
||||||
|
|
||||||
// grab the background now, for display in four clocks
|
// grab the background now, for display in four clocks
|
||||||
if(!(_horizontalTimer&3))
|
if(!(_horizontalTimer&3))
|
||||||
@ -93,14 +97,12 @@ void Machine::update_upcoming_events()
|
|||||||
// is the result of a counter rollover or a programmatic reset
|
// is the result of a counter rollover or a programmatic reset
|
||||||
if(!_objectCounter[4])
|
if(!_objectCounter[4])
|
||||||
{
|
{
|
||||||
_upcomingEvents[upcomingEventsPointerPlus4].updates |= Event::Action::ResetPixelCounter;
|
_upcomingEvents[upcomingEventsPointerPlus6].updates |= Event::Action::ResetPixelCounter;
|
||||||
_upcomingEvents[upcomingEventsPointerPlus4].pixelCounterMask |= (1 << 4);
|
_upcomingEvents[upcomingEventsPointerPlus6].pixelCounterMask |= (1 << 4);
|
||||||
}
|
}
|
||||||
_objectCounter[4] = (_objectCounter[4] + 1)%160;
|
_objectCounter[4] = (_objectCounter[4] + 1)%160;
|
||||||
|
|
||||||
// check for player and missle triggers
|
// check for player and missle triggers
|
||||||
unsigned int upcomingEventsPointerPlus5 = (_upcomingEventsPointer + 5)%number_of_upcoming_events;
|
|
||||||
unsigned int upcomingEventsPointerPlus6 = (_upcomingEventsPointer + 6)%number_of_upcoming_events;
|
|
||||||
for(int c = 0; c < 4; c++)
|
for(int c = 0; c < 4; c++)
|
||||||
{
|
{
|
||||||
// the players and missles become visible only upon overflow to zero, so schedule for
|
// the players and missles become visible only upon overflow to zero, so schedule for
|
||||||
@ -160,7 +162,7 @@ uint8_t Machine::get_output_pixel()
|
|||||||
|
|
||||||
if((_missileGraphicsEnable[c]&2) && !(_missileGraphicsReset[c]&2)) {
|
if((_missileGraphicsEnable[c]&2) && !(_missileGraphicsReset[c]&2)) {
|
||||||
int missileSize = 1 << ((_playerAndMissileSize[c] >> 4)&3);
|
int missileSize = 1 << ((_playerAndMissileSize[c] >> 4)&3);
|
||||||
missilePixels[c] = ((_pixelCounter[c+2] >> 2) < missileSize) ? 1 : 0;
|
missilePixels[c] = (_pixelCounter[c+2] < missileSize) ? 1 : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint8_t repeatMask = _playerAndMissileSize[c] & 7;
|
uint8_t repeatMask = _playerAndMissileSize[c] & 7;
|
||||||
@ -168,17 +170,15 @@ uint8_t Machine::get_output_pixel()
|
|||||||
{
|
{
|
||||||
default:
|
default:
|
||||||
_pixelCounter[c] += 4;
|
_pixelCounter[c] += 4;
|
||||||
_pixelCounter[c+2] += 4;
|
|
||||||
break;
|
break;
|
||||||
case 5:
|
case 5:
|
||||||
_pixelCounter[c] += 2;
|
_pixelCounter[c] += 2;
|
||||||
_pixelCounter[c+2] += 2;
|
|
||||||
break;
|
break;
|
||||||
case 7:
|
case 7:
|
||||||
_pixelCounter[c] += 1;
|
_pixelCounter[c] += 1;
|
||||||
_pixelCounter[c+2] += 1;
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
_pixelCounter[c+2] ++;
|
||||||
}
|
}
|
||||||
|
|
||||||
// accumulate collisions
|
// accumulate collisions
|
||||||
|
Loading…
Reference in New Issue
Block a user