From 9f0435b51de2c6d09d1656ddcb3ccdf6394126a6 Mon Sep 17 00:00:00 2001 From: tobspr Date: Sat, 16 May 2020 11:49:45 +0200 Subject: [PATCH] Minor fixes, improve rendering performance --- src/js/core/config.js | 2 +- src/js/game/hud/parts/buildings_toolbar.js | 5 ++++- src/js/game/systems/static_map_entity.js | 10 ++++++---- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/src/js/core/config.js b/src/js/core/config.js index 7b09443e..2af8972f 100644 --- a/src/js/core/config.js +++ b/src/js/core/config.js @@ -32,7 +32,7 @@ export const globalConfig = { // Map mapChunkSize: 32, - mapChunkPrerenderMinZoom: 0.7, + mapChunkPrerenderMinZoom: 1.5, mapChunkOverviewMinZoom: 0.7, // Belt speeds diff --git a/src/js/game/hud/parts/buildings_toolbar.js b/src/js/game/hud/parts/buildings_toolbar.js index 564d95e6..02590005 100644 --- a/src/js/game/hud/parts/buildings_toolbar.js +++ b/src/js/game/hud/parts/buildings_toolbar.js @@ -77,7 +77,9 @@ export class HUDBuildingsToolbar extends BaseHUDPart { spriteWrapper.innerHTML = sprite.getAsHTML(iconSize * dimensions.x, iconSize * dimensions.y); binding.add(() => this.selectBuildingForPlacement(metaBuilding)); - this.trackClicks(itemContainer, () => this.selectBuildingForPlacement(metaBuilding), {}); + this.trackClicks(itemContainer, () => this.selectBuildingForPlacement(metaBuilding), { + clickSound: null, + }); this.buildingHandles[metaBuilding.id] = { metaBuilding, @@ -131,6 +133,7 @@ export class HUDBuildingsToolbar extends BaseHUDPart { return; } + this.root.soundProxy.playUiClick(); this.sigBuildingSelected.dispatch(metaBuilding); this.onSelectedPlacementBuildingChanged(metaBuilding); } diff --git a/src/js/game/systems/static_map_entity.js b/src/js/game/systems/static_map_entity.js index 5c57b492..751315e6 100644 --- a/src/js/game/systems/static_map_entity.js +++ b/src/js/game/systems/static_map_entity.js @@ -26,6 +26,7 @@ export class StaticMapEntitySystem extends GameSystem { return; } + const drawEntitiesOutside = parameters.zoomLevel < globalConfig.mapChunkPrerenderMinZoom; const drawOutlinesOnly = parameters.zoomLevel < globalConfig.mapChunkOverviewMinZoom; const contents = chunk.contents; @@ -55,10 +56,11 @@ export class StaticMapEntitySystem extends GameSystem { if (spriteKey) { // Check if origin is contained to avoid drawing entities multiple times if ( - staticComp.origin.x >= chunk.tileX && - staticComp.origin.x < chunk.tileX + globalConfig.mapChunkSize && - staticComp.origin.y >= chunk.tileY && - staticComp.origin.y < chunk.tileY + globalConfig.mapChunkSize + drawEntitiesOutside || + (staticComp.origin.x >= chunk.tileX && + staticComp.origin.x < chunk.tileX + globalConfig.mapChunkSize && + staticComp.origin.y >= chunk.tileY && + staticComp.origin.y < chunk.tileY + globalConfig.mapChunkSize) ) { const sprite = Loader.getSprite(spriteKey); staticComp.drawSpriteOnFullEntityBounds(parameters, sprite, 2, false);