diff --git a/src/emucore/tia/core_6502ts/Ball.cxx b/src/emucore/tia/core_6502ts/Ball.cxx index 02267909a..f058247ad 100644 --- a/src/emucore/tia/core_6502ts/Ball.cxx +++ b/src/emucore/tia/core_6502ts/Ball.cxx @@ -27,7 +27,7 @@ namespace TIA6502tsCore { // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Ball::Ball(uInt32 collisionMask) : myCollisionMaskDisabled(collisionMask), - myCollisionMaskEnabled(0x8000), + myCollisionMaskEnabled(0xFFFF), mySupressed(false) { reset(); @@ -92,7 +92,7 @@ void Ball::vdelbl(uInt8 value) // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - void Ball::toggleCollisions(bool enabled) { - myCollisionMaskEnabled = enabled ? 0x8000 : (0x8000 | myCollisionMaskDisabled); + myCollisionMaskEnabled = enabled ? 0xFFFF : (0x8000 | myCollisionMaskDisabled); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/emucore/tia/core_6502ts/Missile.cxx b/src/emucore/tia/core_6502ts/Missile.cxx index 6559648f2..658b32f17 100644 --- a/src/emucore/tia/core_6502ts/Missile.cxx +++ b/src/emucore/tia/core_6502ts/Missile.cxx @@ -29,7 +29,7 @@ namespace TIA6502tsCore { // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Missile::Missile(uInt32 collisionMask) : myCollisionMaskDisabled(collisionMask), - myCollisionMaskEnabled(0x8000), + myCollisionMaskEnabled(0xFFFF), mySupressed(false) { reset(); @@ -90,7 +90,7 @@ void Missile::resmp(uInt8 value, const Player& player) // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - void Missile::toggleCollisions(bool enabled) { - myCollisionMaskEnabled = enabled ? 0x8000 : (0x8000 | myCollisionMaskDisabled); + myCollisionMaskEnabled = enabled ? 0xFFFF : (0x8000 | myCollisionMaskDisabled); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/emucore/tia/core_6502ts/Player.cxx b/src/emucore/tia/core_6502ts/Player.cxx index 0fd6d199e..975e52ff6 100644 --- a/src/emucore/tia/core_6502ts/Player.cxx +++ b/src/emucore/tia/core_6502ts/Player.cxx @@ -29,7 +29,7 @@ namespace TIA6502tsCore { // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Player::Player(uInt32 collisionMask) : myCollisionMaskDisabled(collisionMask), - myCollisionMaskEnabled(0x8000), + myCollisionMaskEnabled(0xFFFF), mySupressed(false) { reset(); @@ -126,7 +126,7 @@ void Player::toggleEnabled(bool enabled) // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - void Player::toggleCollisions(bool enabled) { - myCollisionMaskEnabled = enabled ? 0x8000 : (0x8000 | myCollisionMaskDisabled); + myCollisionMaskEnabled = enabled ? 0xFFFF : (0x8000 | myCollisionMaskDisabled); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/emucore/tia/core_6502ts/Playfield.cxx b/src/emucore/tia/core_6502ts/Playfield.cxx index 9a8cb8d5a..e89dc589e 100644 --- a/src/emucore/tia/core_6502ts/Playfield.cxx +++ b/src/emucore/tia/core_6502ts/Playfield.cxx @@ -24,7 +24,7 @@ namespace TIA6502tsCore { // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Playfield::Playfield(uInt32 collisionMask) : myCollisionMaskDisabled(collisionMask), - myCollisionMaskEnabled(0x8000), + myCollisionMaskEnabled(0xFFFF), mySupressed(false) { reset(); @@ -103,7 +103,7 @@ void Playfield::toggleEnabled(bool enabled) // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - void Playfield::toggleCollisions(bool enabled) { - myCollisionMaskEnabled = enabled ? 0x8000 : (0x8000 | myCollisionMaskDisabled); + myCollisionMaskEnabled = enabled ? 0xFFFF : (0x8000 | myCollisionMaskDisabled); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/emucore/tia/core_6502ts/TIA.cxx b/src/emucore/tia/core_6502ts/TIA.cxx index 003baa042..14e88d715 100644 --- a/src/emucore/tia/core_6502ts/TIA.cxx +++ b/src/emucore/tia/core_6502ts/TIA.cxx @@ -58,12 +58,12 @@ TIA::TIA(Console& console, Sound& sound, Settings& settings) myDelayQueue(10, 20), mySpriteEnabledBits(0xFF), myCollisionsEnabledBits(0xFF), - myPlayfield(CollisionMask::playfield), - myMissile0(CollisionMask::missile0), - myMissile1(CollisionMask::missile1), - myPlayer0(CollisionMask::player0), - myPlayer1(CollisionMask::player1), - myBall(CollisionMask::ball) + myPlayfield(~CollisionMask::playfield & 0x7FFF), + myMissile0(~CollisionMask::missile0 & 0x7FFF), + myMissile1(~CollisionMask::missile1 & 0x7FFF), + myPlayer0(~CollisionMask::player0 & 0x7FFF), + myPlayer1(~CollisionMask::player1 & 0x7FFF), + myBall(~CollisionMask::ball & 0x7FFF) { myFrameManager.setHandlers( [this] () { @@ -900,12 +900,12 @@ void TIA::nextLine() void TIA::updateCollision() { myCollisionMask |= ( - ~myPlayer0.collision & - ~myPlayer1.collision & - ~myMissile0.collision & - ~myMissile1.collision & - ~myBall.collision & - ~myPlayfield.collision + myPlayer0.collision & + myPlayer1.collision & + myMissile0.collision & + myMissile1.collision & + myBall.collision & + myPlayfield.collision ); }