mirror of
https://gitlab.com/lecarore/breakout71.git
synced 2025-04-20 12:15:06 -04:00
Build 29067292
This commit is contained in:
parent
eb846327e5
commit
8eb2e049c8
9 changed files with 35 additions and 17 deletions
|
@ -37,8 +37,12 @@ Some upgrades currently are not really useful
|
||||||
|
|
||||||
## Done
|
## Done
|
||||||
|
|
||||||
|
- reduce resolution of lights even more (1/16)
|
||||||
|
|
||||||
|
## 29067205
|
||||||
|
|
||||||
- tooltip isn't readable at bottom of screen
|
- tooltip isn't readable at bottom of screen
|
||||||
- added levels as tributes to game players : Hemiola's red light, Obigre's accordeon
|
- added levels as tributes to game players
|
||||||
- display closest unlock with current perks in score and gameover screens
|
- display closest unlock with current perks in score and gameover screens
|
||||||
- initial perk icon = first level
|
- initial perk icon = first level
|
||||||
- fix starting perk option not working
|
- fix starting perk option not working
|
||||||
|
|
|
@ -29,8 +29,8 @@ android {
|
||||||
applicationId = "me.lecaro.breakout"
|
applicationId = "me.lecaro.breakout"
|
||||||
minSdk = 21
|
minSdk = 21
|
||||||
targetSdk = 34
|
targetSdk = 34
|
||||||
versionCode = 29067205
|
versionCode = 29067292
|
||||||
versionName = "29067205"
|
versionName = "29067292"
|
||||||
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
||||||
vectorDrawables {
|
vectorDrawables {
|
||||||
useSupportLibrary = true
|
useSupportLibrary = true
|
||||||
|
|
File diff suppressed because one or more lines are too long
17
dist/index.html
vendored
17
dist/index.html
vendored
File diff suppressed because one or more lines are too long
|
@ -1,5 +1,5 @@
|
||||||
// The version of the cache.
|
// The version of the cache.
|
||||||
const VERSION = "29067205";
|
const VERSION = "29067292";
|
||||||
|
|
||||||
// The name of the cache
|
// The name of the cache
|
||||||
const CACHE_NAME = `breakout-71-${VERSION}`;
|
const CACHE_NAME = `breakout-71-${VERSION}`;
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
"29067205"
|
"29067292"
|
||||||
|
|
|
@ -291,5 +291,5 @@ export function getHistograms(gameState: GameState) {
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.warn(e);
|
console.warn(e);
|
||||||
}
|
}
|
||||||
return runStats + unlockedLevels;
|
return unlockedLevels + runStats;
|
||||||
}
|
}
|
||||||
|
|
|
@ -37,7 +37,7 @@ const haloCanvasCtx = haloCanvas.getContext("2d", {
|
||||||
alpha: false,
|
alpha: false,
|
||||||
}) as CanvasRenderingContext2D;
|
}) as CanvasRenderingContext2D;
|
||||||
|
|
||||||
export const haloScale = 8;
|
export const haloScale = 16;
|
||||||
|
|
||||||
export function render(gameState: GameState) {
|
export function render(gameState: GameState) {
|
||||||
const level = currentLevelInfo(gameState);
|
const level = currentLevelInfo(gameState);
|
||||||
|
@ -129,18 +129,19 @@ export function render(gameState: GameState) {
|
||||||
drawFuzzyBall(
|
drawFuzzyBall(
|
||||||
haloCanvasCtx,
|
haloCanvasCtx,
|
||||||
color == "black" ? "#666666" : color,
|
color == "black" ? "#666666" : color,
|
||||||
(gameState.brickWidth * 2 * brightness) / haloScale,
|
// Perf could really go down there because of the size of the halo
|
||||||
|
Math.min(200, gameState.brickWidth * 1.5 * brightness) / haloScale,
|
||||||
x / haloScale,
|
x / haloScale,
|
||||||
y / haloScale,
|
y / haloScale,
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
haloCanvasCtx.globalCompositeOperation = "screen";
|
haloCanvasCtx.globalCompositeOperation = "screen";
|
||||||
haloCanvasCtx.globalAlpha = 0.3;
|
|
||||||
forEachLiveOne(gameState.particles, (flash) => {
|
forEachLiveOne(gameState.particles, (flash) => {
|
||||||
const { x, y, time, color, size, duration } = flash;
|
const { x, y, time, color, size, duration } = flash;
|
||||||
const elapsed = gameState.levelTime - time;
|
const elapsed = gameState.levelTime - time;
|
||||||
// haloCanvasCtx.globalAlpha = Math.min(1, 2 - (elapsed / duration) * 2);
|
haloCanvasCtx.globalAlpha =
|
||||||
|
0.1 * Math.min(1, 2 - (elapsed / duration) * 2);
|
||||||
drawFuzzyBall(
|
drawFuzzyBall(
|
||||||
haloCanvasCtx,
|
haloCanvasCtx,
|
||||||
color,
|
color,
|
||||||
|
@ -152,7 +153,11 @@ export function render(gameState: GameState) {
|
||||||
|
|
||||||
ctx.globalAlpha = 1;
|
ctx.globalAlpha = 1;
|
||||||
ctx.globalCompositeOperation = "source-over";
|
ctx.globalCompositeOperation = "source-over";
|
||||||
|
|
||||||
|
ctx.imageSmoothingEnabled = true;
|
||||||
|
ctx.imageSmoothingQuality = "high";
|
||||||
ctx.drawImage(haloCanvas, 0, 0, width, height);
|
ctx.drawImage(haloCanvas, 0, 0, width, height);
|
||||||
|
ctx.imageSmoothingEnabled = false;
|
||||||
|
|
||||||
ctx.globalAlpha = 1;
|
ctx.globalAlpha = 1;
|
||||||
ctx.globalCompositeOperation = "multiply";
|
ctx.globalCompositeOperation = "multiply";
|
||||||
|
@ -516,6 +521,7 @@ export function render(gameState: GameState) {
|
||||||
level.svg &&
|
level.svg &&
|
||||||
level.color === "#000000"
|
level.color === "#000000"
|
||||||
) {
|
) {
|
||||||
|
ctx.imageSmoothingEnabled = true;
|
||||||
// haloCanvasCtx.globalCompositeOperation = 'multiply';
|
// haloCanvasCtx.globalCompositeOperation = 'multiply';
|
||||||
// haloCanvasCtx.fillRect(0,0,haloCanvas.width,haloCanvas.height)
|
// haloCanvasCtx.fillRect(0,0,haloCanvas.width,haloCanvas.height)
|
||||||
haloCanvasCtx.fillStyle = "#FFFFFF";
|
haloCanvasCtx.fillStyle = "#FFFFFF";
|
||||||
|
@ -525,6 +531,8 @@ export function render(gameState: GameState) {
|
||||||
ctx.globalAlpha = 1;
|
ctx.globalAlpha = 1;
|
||||||
ctx.globalCompositeOperation = "overlay";
|
ctx.globalCompositeOperation = "overlay";
|
||||||
ctx.drawImage(haloCanvas, 0, 0, width, height);
|
ctx.drawImage(haloCanvas, 0, 0, width, height);
|
||||||
|
|
||||||
|
ctx.imageSmoothingEnabled = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
ctx.globalCompositeOperation = "source-over";
|
ctx.globalCompositeOperation = "source-over";
|
||||||
|
|
1
src/types.d.ts
vendored
1
src/types.d.ts
vendored
|
@ -285,6 +285,7 @@ export type GameState = {
|
||||||
export type RunParams = {
|
export type RunParams = {
|
||||||
level?: string;
|
level?: string;
|
||||||
levelToAvoid?: string;
|
levelToAvoid?: string;
|
||||||
|
perkToAvoid?: PerkId;
|
||||||
perks?: Partial<PerksMap>;
|
perks?: Partial<PerksMap>;
|
||||||
};
|
};
|
||||||
export type OptionDef = {
|
export type OptionDef = {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue