mirror of
https://github.com/OMGeeky/andors-trail.git
synced 2026-02-23 15:38:29 +01:00
Always use "High Quality Filters" when filter is B&W or Inverted....
This commit is contained in:
@@ -20,7 +20,7 @@ import android.view.WindowManager;
|
||||
|
||||
public final class AndorsTrailApplication extends Application {
|
||||
|
||||
public static final boolean DEVELOPMENT_DEBUGRESOURCES = true;
|
||||
public static final boolean DEVELOPMENT_DEBUGRESOURCES = false;
|
||||
public static final boolean DEVELOPMENT_FORCE_STARTNEWGAME = false;
|
||||
public static final boolean DEVELOPMENT_FORCE_CONTINUEGAME = false;
|
||||
public static final boolean DEVELOPMENT_DEBUGBUTTONS = true;
|
||||
|
||||
@@ -88,9 +88,19 @@ public final class LayeredTileMap {
|
||||
return false;
|
||||
}
|
||||
|
||||
public void setColorFilter(Paint mPaint, Paint alternateColorFilterPaint, boolean highQuality) {
|
||||
if (highQuality) mPaint.setColorFilter(getColorFilter());
|
||||
else setColor(alternateColorFilterPaint);
|
||||
public boolean setColorFilter(Paint mPaint, Paint alternateColorFilterPaint, boolean highQuality) {
|
||||
if (highQuality) {
|
||||
mPaint.setColorFilter(getColorFilter());
|
||||
return false;
|
||||
}
|
||||
else {
|
||||
if (setColor(alternateColorFilterPaint)) {
|
||||
return true;
|
||||
} else {
|
||||
mPaint.setColorFilter(getColorFilter());
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public ColorFilter getColorFilter() {
|
||||
@@ -122,28 +132,31 @@ public final class LayeredTileMap {
|
||||
}
|
||||
|
||||
|
||||
public void setColor(Paint p) {
|
||||
public boolean setColor(Paint p) {
|
||||
if (colorFilter == null) {
|
||||
p.setARGB(0, 0, 0, 0);
|
||||
return;
|
||||
return true;
|
||||
}
|
||||
switch (colorFilter) {
|
||||
case black20:
|
||||
p.setARGB(51, 0, 0, 0); return;
|
||||
p.setARGB(51, 0, 0, 0); return true;
|
||||
case black40:
|
||||
p.setARGB(102, 0, 0, 0); return;
|
||||
p.setARGB(102, 0, 0, 0); return true;
|
||||
case black60:
|
||||
p.setARGB(153, 0, 0, 0); return;
|
||||
p.setARGB(153, 0, 0, 0); return true;
|
||||
case black80:
|
||||
p.setARGB(204, 0, 0, 0); return;
|
||||
p.setARGB(204, 0, 0, 0); return true;
|
||||
case redtint:
|
||||
p.setARGB(50, 200, 0, 0); return;
|
||||
p.setARGB(50, 200, 0, 0); return true;
|
||||
case greentint:
|
||||
p.setARGB(50, 0, 200, 0); return;
|
||||
p.setARGB(50, 0, 200, 0); return true;
|
||||
case bluetint:
|
||||
p.setARGB(50, 0, 0, 200); return;
|
||||
p.setARGB(50, 0, 0, 200); return true;
|
||||
case bw:
|
||||
case invert:
|
||||
return false;
|
||||
default:
|
||||
p.setARGB(0, 0, 0, 0); return;
|
||||
p.setARGB(0, 0, 0, 0); return true;
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -105,6 +105,7 @@ public final class MainView extends SurfaceView
|
||||
private int movingSprites = 0;
|
||||
private SpriteMoveAnimationHandler movingSpritesRedrawTick = new SpriteMoveAnimationHandler(this);
|
||||
private Paint alternateColorFilterPaint = new Paint();
|
||||
private boolean useAlternateColorFilterPaint = false;
|
||||
|
||||
public MainView(Context context, AttributeSet attr) {
|
||||
super(context, attr);
|
||||
@@ -386,7 +387,7 @@ public final class MainView extends SurfaceView
|
||||
doDrawRect_Ground(canvas, area);
|
||||
doDrawRect_Objects(canvas, area);
|
||||
doDrawRect_Above(canvas, area);
|
||||
if (!preferences.highQualityFilters) {
|
||||
if (!useAlternateColorFilterPaint) {
|
||||
applyAlternateFilter(canvas, area);
|
||||
}
|
||||
}
|
||||
@@ -526,7 +527,7 @@ public final class MainView extends SurfaceView
|
||||
,(surfaceSize.height - tileSize * visibleNumberOfTiles.height) / 2
|
||||
);
|
||||
|
||||
currentTileMap.setColorFilter(this.mPaint, this.alternateColorFilterPaint, preferences.highQualityFilters);
|
||||
useAlternateColorFilterPaint = currentTileMap.setColorFilter(this.mPaint, this.alternateColorFilterPaint, preferences.highQualityFilters);
|
||||
}
|
||||
|
||||
// touchedTile = null;
|
||||
@@ -770,7 +771,7 @@ public final class MainView extends SurfaceView
|
||||
@Override
|
||||
public void onMapTilesChanged(PredefinedMap map, LayeredTileMap tileMap) {
|
||||
if (map != currentMap) return;
|
||||
currentTileMap.setColorFilter(this.mPaint, this.alternateColorFilterPaint, preferences.highQualityFilters);
|
||||
useAlternateColorFilterPaint = currentTileMap.setColorFilter(this.mPaint, this.alternateColorFilterPaint, preferences.highQualityFilters);
|
||||
redrawAll(RedrawAllDebugReason.MapChanged);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user