pull/1428/head
tobspr 2 years ago
parent 43430dcbf2
commit bbb418a1d8

@ -15,7 +15,7 @@
}, },
"dependencies": { "dependencies": {
"async-lock": "^1.2.8", "async-lock": "^1.2.8",
"electron": "16.0.7", "electron": "18.3.0",
"electron-window-state": "^5.0.3" "electron-window-state": "^5.0.3"
} }
} }

@ -30,10 +30,10 @@
dependencies: dependencies:
defer-to-connect "^1.0.1" defer-to-connect "^1.0.1"
"@types/node@^14.6.2": "@types/node@^16.11.26":
version "14.18.5" version "16.11.38"
resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.5.tgz#0dd636fe7b2c6055cbed0d4ca3b7fb540f130a96" resolved "https://registry.yarnpkg.com/@types/node/-/node-16.11.38.tgz#be0edd097b23eace6c471c525a74b3f98803017f"
integrity sha512-LMy+vDDcQR48EZdEx5wRX1q/sEl6NdGuHXPnfeL8ixkwCOSZ2qnIyIZmcCbdX0MeRqHhAcHmX+haCbrS8Run+A== integrity sha512-hjO/0K140An3GWDw2HJfq7gko3wWeznbjXgg+rzPdVzhe198hp4x2i1dgveAOEiFKd8sOilAxzoSJiVv5P/CUg==
async-lock@^1.2.8: async-lock@^1.2.8:
version "1.2.8" version "1.2.8"
@ -149,13 +149,13 @@ electron-window-state@^5.0.3:
jsonfile "^4.0.0" jsonfile "^4.0.0"
mkdirp "^0.5.1" mkdirp "^0.5.1"
electron@16.0.7: electron@18.3.0:
version "16.0.7" version "18.3.0"
resolved "https://registry.yarnpkg.com/electron/-/electron-16.0.7.tgz#87eaccd05ab61563d3c17dfbad2949bba7ead162" resolved "https://registry.yarnpkg.com/electron/-/electron-18.3.0.tgz#43de95979341e63f1b209c569a0ad148d98ae5b7"
integrity sha512-/IMwpBf2svhA1X/7Q58RV+Nn0fvUJsHniG4TizaO7q4iKFYSQ6hBvsLz+cylcZ8hRMKmVy5G1XaMNJID2ah23w== integrity sha512-2+pAUIViVvFOGE5mJKKi8F6ruyvQrcqdfsm/AUfz+6P05vbvR5ZsR6WBkr90mlyojHW5w/nAVX9ZSOtz3aHs4A==
dependencies: dependencies:
"@electron/get" "^1.13.0" "@electron/get" "^1.13.0"
"@types/node" "^14.6.2" "@types/node" "^16.11.26"
extract-zip "^1.0.3" extract-zip "^1.0.3"
encodeurl@^1.0.2: encodeurl@^1.0.2:

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

@ -196,11 +196,11 @@ button {
background: $colorBlueBright; background: $colorBlueBright;
color: #fff; color: #fff;
@include S(border-radius, $globalBorderRadius); @include S(border-radius, 0.8 * $globalBorderRadius);
// border: #{D(1px)} solid rgba(0, 10, 20, 0.2); // border: #{D(1px)} solid rgba(0, 10, 20, 0.2);
@include S(border-bottom-width, 2px); @include S(border-bottom-width, 2px);
// color: $accentColorDark; // color: $accentColorDark;
letter-spacing: 0.05em !important; letter-spacing: 0em !important;
// box-shadow: 0 #{D(1px)} #{D(2px)} 0 rgba(0, 10, 20, 0.2); // box-shadow: 0 #{D(1px)} #{D(2px)} 0 rgba(0, 10, 20, 0.2);
.keybinding { .keybinding {
@include S(bottom, -2.5px); @include S(bottom, -2.5px);

@ -1,6 +1,6 @@
.ingame_buildingsToolbar { .ingame_buildingsToolbar {
position: absolute; position: absolute;
@include S(bottom, 5px); @include S(bottom, 10px);
left: 50%; left: 50%;
transform: translateX(-50%); transform: translateX(-50%);
@ -22,10 +22,12 @@
grid-auto-flow: column; grid-auto-flow: column;
justify-items: center; justify-items: center;
align-self: center; align-self: center;
grid-gap: D(2px);
grid-row: 2 / 3; grid-row: 2 / 3;
background-color: rgba(240, 241, 243, 0.5);
@include S(border-radius, $globalBorderRadius); @include S(border-radius, $globalBorderRadius);
@include S(padding, 2px);
background-color: rgba($ingameHudBg, 0.07);
@include DarkThemeOverride { @include DarkThemeOverride {
background-color: rgba(darken($darkModeGameBackground, 15), 0.95); background-color: rgba(darken($darkModeGameBackground, 15), 0.95);
@ -51,6 +53,7 @@
display: flex; display: flex;
@include S(width, 40px); @include S(width, 40px);
position: relative; position: relative;
overflow: hidden;
@include S(height, 40px); @include S(height, 40px);
.icon { .icon {
color: $accentColorDark; color: $accentColorDark;
@ -63,7 +66,6 @@
height: 100%; height: 100%;
padding: 0; padding: 0;
margin: 0; margin: 0;
@include S(border-radius, $globalBorderRadius);
background: center center / 70% no-repeat; background: center center / 70% no-repeat;
} }
@ -90,14 +92,20 @@
} }
&.unlocked { &.unlocked {
@include S(border-radius, $globalBorderRadius * 0.9);
.icon { .icon {
pointer-events: all; pointer-events: all;
transition: all 50ms ease-in-out; transition: all 0.12s ease-in-out;
transition-property: background-color, transform; transition-property: background-color, transform;
cursor: pointer; cursor: pointer;
&:hover { &:hover {
background-color: rgba(30, 40, 90, 0.1); background-color: rgba(30, 40, 90, 0.1);
@include DarkThemeOverride {
background-color: rgba(255, 255, 255, 0.07);
}
} }
&.pressed { &.pressed {
@ -107,7 +115,7 @@
&.selected { &.selected {
// transform: scale(1.05); // transform: scale(1.05);
background-color: rgba(lighten($colorBlueBright, 9), 0.4); background-color: rgba(lighten($colorBlueBright, 9), 0.4);
@include S(border-radius, $globalBorderRadius); // @include S(border-radius, $globalBorderRadius);
.keybinding { .keybinding {
color: #111; color: #111;

@ -84,6 +84,8 @@
display: flex; display: flex;
flex-direction: column; flex-direction: column;
@include S(padding, 12px); @include S(padding, 12px);
box-shadow: 0 D(5px) D(15px) rgba(#000, 0.1);
pointer-events: all; pointer-events: all;
@include DarkThemeOverride { @include DarkThemeOverride {
@ -94,6 +96,7 @@
.optionParent { .optionParent {
display: grid; display: grid;
@include S(grid-gap, 5px); @include S(grid-gap, 5px);
@include S(padding-right, 5px);
grid-template-columns: 1fr 1fr; grid-template-columns: 1fr 1fr;
.option { .option {
@include S(border-radius, $globalBorderRadius); @include S(border-radius, $globalBorderRadius);

@ -131,7 +131,7 @@
@include DarkThemeInvert; @include DarkThemeInvert;
$disabledOpacity: 0.2; $disabledOpacity: 0.6;
$enabledOpacity: 0.6; $enabledOpacity: 0.6;
&:hover { &:hover {
@ -157,6 +157,12 @@
&.pinned { &.pinned {
opacity: $disabledOpacity; opacity: $disabledOpacity;
& {
/* @load-async */
background: uiResource("icons/unpin_shape.png") center center / 75% no-repeat !important;
}
@include InlineAnimation(0.3s ease-in-out) { @include InlineAnimation(0.3s ease-in-out) {
0% { 0% {
opacity: 1; opacity: 1;

@ -10,8 +10,9 @@
.hint { .hint {
display: block; display: block;
background: #eee; background: #eee;
@include S(padding, 4px); @include S(padding, 6px, 10px);
@include PlainText; @include PlainText;
@include S(border-radius, $globalBorderRadius);
} }
.category { .category {

@ -183,11 +183,14 @@
flex-direction: column; flex-direction: column;
@include S(padding-top, 20px); @include S(padding-top, 20px);
img { img {
@include S(width, 300px); @include S(width, 300px);
} }
position: relative; position: relative;
@include S(left, -22px);
.updateLabel { .updateLabel {
position: absolute; position: absolute;
transform: translateX(50%) rotate(-5deg); transform: translateX(50%) rotate(-5deg);
@ -311,11 +314,14 @@
@include S(padding, 15px); @include S(padding, 15px);
@include S(padding-bottom, 10px); @include S(padding-bottom, 10px);
@include S(border-radius, $globalBorderRadius); @include S(border-radius, $globalBorderRadius);
box-shadow: 0 D(5px) D(15px) rgba(#000, 0.2);
.header { .header {
display: flex; display: flex;
width: 100%; width: 100%;
align-items: center; align-items: center;
text-transform: uppercase;
@include S(margin-bottom, 10px); @include S(margin-bottom, 10px);
.editMods { .editMods {
@ -330,6 +336,9 @@
background-image: uiResource("icons/edit_key.png") !important; background-image: uiResource("icons/edit_key.png") !important;
} }
@include DarkThemeInvert; @include DarkThemeInvert;
&:hover {
opacity: 0.6;
}
} }
} }
@ -437,7 +446,7 @@
@include SuperHeading; @include SuperHeading;
@include S(min-width, 130px); @include S(min-width, 130px);
@include S(padding, 15px, 20px); @include S(padding, 15px, 20px);
letter-spacing: 0.3em !important; letter-spacing: 0.2em !important;
@include IncreasedClickArea(0px); @include IncreasedClickArea(0px);
font-weight: bold; font-weight: bold;
color: #fff; color: #fff;
@ -720,12 +729,9 @@
.author { .author {
margin-left: auto; margin-left: auto;
text-align: right;
@include PlainText;
color: #000;
a { a {
&:hover { &:hover img {
opacity: 0.8; opacity: 0.8;
} }
display: flex; display: flex;
@ -733,10 +739,10 @@
justify-content: center; justify-content: center;
img { img {
@include S(margin-left, 5px); transition: opacity 0.12s ease-in-out;
@include S(margin-top, 3px); @include S(width, 80px);
@include S(width, 50px);
filter: invert(100%); filter: invert(100%);
opacity: 0.6;
} }
} }
} }
@ -744,7 +750,7 @@
@include S(padding, 15px); @include S(padding, 15px);
$linkBg: rgba(#fdfdff, 0.5); $linkBg: rgba(#fdfdff, 0.5);
$linkBgHover: darken($linkBg, 2); $linkBgHover: darken($linkBg, 5);
$linkColor: #55586a; $linkColor: #55586a;
> .boxLink { > .boxLink {

@ -92,7 +92,7 @@
.mod { .mod {
@include S(border-radius, $globalBorderRadius); @include S(border-radius, $globalBorderRadius);
background: $accentColorBright; background: #eeeff4;
@include S(margin-bottom, 4px); @include S(margin-bottom, 4px);
@include S(padding, 7px, 10px); @include S(padding, 7px, 10px);
@include S(grid-gap, 15px); @include S(grid-gap, 15px);
@ -113,14 +113,14 @@
flex-direction: column; flex-direction: column;
.description { .description {
@include SuperSmallText; @include PlainText;
@include S(margin-top, 5px); @include S(margin-top, 5px);
color: $accentColorDark; color: $accentColorDark;
} }
.website { .website {
text-transform: uppercase; text-transform: uppercase;
align-self: start; align-self: start;
@include SuperSmallText; @include PlainText;
@include S(margin-top, 5px); @include S(margin-top, 5px);
} }
} }

@ -7,14 +7,15 @@
} }
.changelogDialogEntry { .changelogDialogEntry {
margin-top: 10px; @include S(margin-top, 10px);
width: 100%; width: 100%;
flex-direction: column; flex-direction: column;
text-align: left; text-align: left;
padding: 10px; padding: 10px;
box-sizing: border-box; box-sizing: border-box;
background: #eef1f4; background: #eef1f4;
@include S(border-radius, 3px); @include S(border-radius, $globalBorderRadius);
@include DarkThemeOverride { @include DarkThemeOverride {
background: #33343c; background: #33343c;
@ -34,6 +35,7 @@
.changes { .changes {
@include PlainText; @include PlainText;
@include S(padding-left, 15px); @include S(padding-left, 15px);
@include S(margin-top, 10px);
strong { strong {
background: $colorBlueBright; background: $colorBlueBright;
color: #fff; color: #fff;
@ -46,7 +48,7 @@
} }
li { li {
@include SuperSmallText; @include SuperSmallText;
@include S(margin-bottom, 10px); @include S(margin-bottom, 5px);
} }
} }
} }

@ -37,7 +37,7 @@ $colorBlueBright: rgb(74, 151, 223);
$colorRedBright: #ef5072; $colorRedBright: #ef5072;
$colorOrangeBright: #ef9d50; $colorOrangeBright: #ef9d50;
$themeColor: #393747; $themeColor: #393747;
$ingameHudBg: rgba(#333438, 0.9); $ingameHudBg: rgba(#33343b, 0.9);
$modsColor: rgb(214, 60, 228); $modsColor: rgb(214, 60, 228);
$text3dColor: #f4ffff; $text3dColor: #f4ffff;
@ -69,7 +69,7 @@ $numberFont: $mainFont;
$textFont: $mainFont; $textFont: $mainFont;
$mainFontWeight: 400; $mainFontWeight: 400;
$mainFontSpacing: 0.04em; $mainFontSpacing: 0.01em;
$mainFontScale: 1; $mainFontScale: 1;
@mixin DebugText($color) { @mixin DebugText($color) {

@ -1,4 +1,17 @@
export const CHANGELOG = [ export const CHANGELOG = [
{
version: "1.5.2",
date: "02.06.2022",
entries: [
"Attempted to fix the 'vram glitch', where the map background would not redraw anymore, especially in fullscreen. If the issue still persists, please let me know in the discord server!",
"The game has been renamed from 'shapez.io' to 'shapez', since it is not really an .io game",
"Various performance improvements",
"Upgrades should now show the full precision",
"UI Polishing & Cleanup",
"Updated translations",
"PS: We are already working on shapez 2, more information will follow in the <a href='https://discord.com/invite/HN7EVzV' target='_blank'>discord</a> soon!",
],
},
{ {
version: "1.5.1", version: "1.5.1",
date: "25.02.2022", date: "25.02.2022",

@ -98,8 +98,8 @@ export class HUDShop extends BaseHUDPart {
// Set description // Set description
handle.elemDescription.innerText = T.shopUpgrades[upgradeId].description handle.elemDescription.innerText = T.shopUpgrades[upgradeId].description
.replace("<currentMult>", formatBigNumber(currentTierMultiplier)) .replace("<currentMult>", currentTierMultiplier.toFixed(2))
.replace("<newMult>", formatBigNumber(currentTierMultiplier + tierHandle.improvement)); .replace("<newMult>", (currentTierMultiplier + tierHandle.improvement).toFixed(2));
tierHandle.required.forEach(({ shape, amount }) => { tierHandle.required.forEach(({ shape, amount }) => {
const container = makeDiv(handle.elemRequirements, null, ["requirement"]); const container = makeDiv(handle.elemRequirements, null, ["requirement"]);

@ -227,10 +227,9 @@ export class MainMenuState extends GameState {
${showExternalLinks ? `<a class="helpTranslate">${T.mainMenu.helpTranslate}</a>` : ""} ${showExternalLinks ? `<a class="helpTranslate">${T.mainMenu.helpTranslate}</a>` : ""}
</div> </div>
<div class="author"><a class="producerLink" target="_blank">${T.mainMenu.madeBy.replace( <div class="author"><a class="producerLink" target="_blank" title="tobspr Games" rel="follow">
"<author-link>", <img src="${cachebust("res/logo-tobspr-games.svg")}">
`<img src="${cachebust("res/logo-tobspr-games.svg")}">` </a></div>
)}</a></div>
</div> </div>
${ ${

@ -1110,7 +1110,7 @@ mods:
browseMods: Browse Mods browseMods: Browse Mods
modsInfo: >- modsInfo: >-
To install and manage mods, copy them to the mods folder within the game directory. You can also use the 'Open Mods Folder' button on the top right. To install and manage mods, copy them to the mods folder (use the 'Open Mods Folder' button). Be sure to restart the game afterwards, otherwise the mods will not show up.
noModSupport: You need the full version on Steam to install mods. noModSupport: You need the full version on Steam to install mods.
togglingComingSoon: togglingComingSoon:
@ -1229,7 +1229,7 @@ settings:
title: Tick Rate title: Tick Rate
description: >- description: >-
This determines how many game ticks happen per second. In general, a higher tick rate means better precision but also worse performance. On lower tickrates, the throughput may not be This determines how many game ticks happen per second. In general, a higher tick rate means better precision but also worse performance. On lower tickrates, the throughput may not be
exact. exact. Anything above 60 Hz is expected to be laggy!
alwaysMultiplace: alwaysMultiplace:
title: Multiplace title: Multiplace

@ -1 +1 @@
1.5.1 1.5.2
Loading…
Cancel
Save