TITANIC: Fix deselecting stars in the photo view

This commit is contained in:
Paul Gilbert 2017-05-30 15:16:17 -04:00
parent c6f079b1ef
commit c5084ff5ba
3 changed files with 5 additions and 33 deletions

View File

@ -233,11 +233,11 @@ void CPhotoCrosshairs::drawAt(const FPoint &pt, CSurfaceArea *surfaceArea) {
uint savedPixel = surfaceArea->_pixel;
surfaceArea->_pixel = 255;
surfaceArea->setColorFromPixel();
SurfaceAreaMode savedMode = surfaceArea->setMode(SA_MODE3);
SurfaceAreaMode savedMode = surfaceArea->setMode(SA_XOR);
surfaceArea->fillRect(FRect(pt._x - 8.0, pt._y, pt._x - 4.0, pt._y));
surfaceArea->fillRect(FRect(pt._x - -4.0, pt._y, pt._x + 8.0, pt._y));
surfaceArea->fillRect(FRect(pt._x + 4.0, pt._y, pt._x + 8.0, pt._y));
surfaceArea->fillRect(FRect(pt._x, pt._y - 8.0, pt._x, pt._y - 4.0));
surfaceArea->fillRect(FRect(pt._x, pt._y + 4.0, pt._x, pt._y + 8.0));

View File

@ -60,7 +60,7 @@ void CSurfaceArea::setColor(uint rgb) {
_color = rgb;
_colorMask = ~rgb;
break;
case SA_MODE3:
case SA_XOR:
_color = rgb;
_colorMask = 0xFFFFFFFF;
break;
@ -76,7 +76,7 @@ void CSurfaceArea::setColor(uint rgb) {
SurfaceAreaMode CSurfaceArea::setMode(SurfaceAreaMode mode) {
SurfaceAreaMode oldMode = _mode;
_mode = mode;
setColor(_color);
setColor(_rgb);
return oldMode;
}
@ -199,35 +199,7 @@ double CSurfaceArea::fillRect(const FRect &rect) {
} else {
colorRect(s, rr, _colorMask, _color);
}
/*
int yInc = 1;
byte *lineStartP = (byte *)_pixelsPtr + rr.top * _pitch;
int width2 = rr.width() / 2;
int height2 = rr.height() / 2;
int xInc = _pitch;
if (xInc < 0) {
--xInc;
yInc = -1;
}
// rr: left=esi, edi=top, ebx=right, edx=bottom
// ecx=lineStartP; ebp=width2, edx=height2
if (_mode == SA_NONE) {
switch (_bpp) {
default:
break;
}
} else {
switch (_bpp) {
default:
break;
}
}
// Lots more functionality
*/
return r.top;
}

View File

@ -31,7 +31,7 @@
namespace Titanic {
enum SurfaceAreaMode {
SA_NONE = 0, SA_MODE1 = 1, SA_MODE2 = 2, SA_MODE3 = 3, SA_MODE4 = 4
SA_NONE = 0, SA_MODE1 = 1, SA_MODE2 = 2, SA_XOR = 3, SA_MODE4 = 4
};
class CSurfaceArea {