Sfoglia il codice sorgente

Fix more attribution; make loading scenes much faster

displayEntity() now only triggers a refresh of the world if asked, and
the scale is only redrawn if the world's size has changed
tags/v0.1.0
Fen Dweller 5 anni fa
parent
commit
eeba0bd961
3 ha cambiato i file con 30 aggiunte e 10 eliminazioni
  1. +11
    -5
      macrovision.js
  2. +19
    -3
      media/attribution.js
  3. +0
    -2
      presets/vehicles.js

+ 11
- 5
macrovision.js Vedi File

@@ -22,6 +22,8 @@ let dragScaleHandle = null;
let dragEntityScale = 1;
let dragEntityScaleHandle = null;

let worldSizeDirty = false;

math.createUnit("humans", {
definition: "5.75 feet"
})
@@ -150,7 +152,7 @@ function updateEntityElement(entity, element) {
}

function updateSizes(dirtyOnly = false) {
drawScale();
drawScale(dirtyOnly);

let ordered = Object.entries(entities);

@@ -178,7 +180,9 @@ function updateSizes(dirtyOnly = false) {

}

function drawScale() {
function drawScale(ifDirty=false) {
if (ifDirty && !worldSizeDirty)
return;
function drawTicks(/** @type {CanvasRenderingContext2D} */ ctx, pixelsPer, heightPer) {
let total = heightPer.clone();
total.value = 0;
@@ -913,7 +917,7 @@ function checkEntity(entity) {
});
}

function displayEntity(entity, view, x, y, selectEntity=false) {
function displayEntity(entity, view, x, y, selectEntity=false, refresh=false) {
checkEntity(entity);
const box = document.createElement("div");
@@ -1005,7 +1009,8 @@ function displayEntity(entity, view, x, y, selectEntity=false) {

entity.dirty = true;

updateSizes(true);
if (refresh)
updateSizes(true);
}


@@ -1648,7 +1653,7 @@ function prepareEntities() {
button.addEventListener("click", e => {
const newEntity = entityList[select.value].constructor()
displayEntity(newEntity, newEntity.defaultView, 0.5, 1, true);
displayEntity(newEntity, newEntity.defaultView, 0.5, 1, true, true);
});

const categoryOption = document.createElement("option");
@@ -1777,6 +1782,7 @@ function updateWorldHeight() {
}

function setWorldHeight(oldHeight, newHeight) {
worldSizeDirty = true;
config.height = newHeight.to(document.querySelector("#options-height-unit").value)

const unit = document.querySelector("#options-height-unit").value;


+ 19
- 3
media/attribution.js Vedi File

@@ -1110,7 +1110,8 @@ const attributionData = {
{
prefix: "./media/buildings/roads/",
files: [
{ name: "four-lane-highway.svg", source: null }
{ name: "four-lane-highway.svg", source: null },
{ name: "sidewalk.svg", source: null },
],
authors: [
"chemicalcrux"
@@ -8322,7 +8323,9 @@ const attributionData = {
{ name: "french-fry.svg", source: null },
{ name: "chicken-nugget.svg", source: null },
{ name: "onion-ring.svg", source: null },
{ name: "tater-tor.svg", source: null }
{ name: "tater-tot.svg", source: null },
{ name: "bagel.svg", source: null },
{ name: "donut.svg", source: null },
],
authors: [
"chemicalcrux"
@@ -8468,7 +8471,7 @@ const attributionData = {
]
},
{
prefix: "./media/objects/game-pieces/",
prefix: "./media/objects/chess-pieces/",
files: [
{ name: "chess_king.svg", source: "https://svgsilh.com/image/3413429.html" },
{ name: "chess_queen.svg", source: "https://svgsilh.com/image/3413429.html" },
@@ -8515,6 +8518,15 @@ const attributionData = {
},
{
prefix: "./media/objects/plants/",
files: [
{ name: "grass.svg", source: "https://www.freepik.com/free-vector/grass-border-silhouette-realistic-design_4904217.htm#page=1&query=grass%20silhouette&position=0" }
],
authors: [
"pikisuperstar"
]
},
{
prefix: "./media/objects/trees/",
files: [
{ name: "sycamore-tree.svg", source: "https://www.dimensions.guide/element/sycamore-tree" }
],
@@ -11393,6 +11405,10 @@ const attributionData = {
"name": "RulerOfTheRainforest",
"url": "https://www.furaffinity.net/user/ruleroftherainforest",
},
"pikisuperstar": {
"name": "pikisuperstar",
"url": "https://www.freepik.com/pikisuperstar",
},
}
}



+ 0
- 2
presets/vehicles.js Vedi File

@@ -280,8 +280,6 @@ function makeVehicleGroup(info, name, prefix) {
});
});

console.log(sides)

const entity = makeMultiVehicle(name, sides);

entity.sizes.push({


Loading…
Annulla
Salva